[ferret-vis] 01/01: New upstream 7.2

Alastair McKinstry mckinstry at moszumanska.debian.org
Sat Dec 9 08:52:00 UTC 2017


This is an automated email from the git hooks/post-receive script.

mckinstry pushed a commit to tag upstream/7.2
in repository ferret-vis.

commit fac31aff550d7336fec52826c1752afbd65fac6f
Author: Alastair McKinstry <mckinstry at debian.org>
Date:   Thu Oct 5 17:29:35 2017 +0100

    New upstream 7.2
---
 bench/Makefile                                     |    26 +-
 bench/RUN_TESTS.sh                                 |    90 +-
 bench/TEST_SCRIPTS                                 |    13 +
 bench/TRASH_FILES                                  |     9 +-
 bench/ansley_official.rhel5_32_err                 |  1902 +-
 bench/ansley_official.rhel5_32_log                 | 14091 ++++++++++-----
 bench/ansley_official.rhel6-64_err                 |  1800 +-
 bench/ansley_official.rhel6-64_log                 | 17209 +++++++++++++------
 bench/bn710_bug_fixes.jnl                          |     5 +-
 bench/bn720_bug_fixes.jnl                          |    68 +
 bench/bn_1d_gather.jnl                             |     8 +
 bench/bn_DQ.jnl                                    |     3 +
 bench/bn_agg_member_syntax.jnl                     |     9 +
 bench/bn_aggregate_t.jnl                           |     4 +-
 bench/bn_aggregate_tef.jnl                         |    13 +-
 bench/bn_all.jnl                                   |   587 +-
 bench/bn_auto_tprec.jnl                            |     6 +-
 bench/bn_cache_management.jnl                      |   131 +
 bench/bn_cancel_axes.jnl                           |    11 +
 bench/bn_cdf_errmsg.jnl                            |     7 +-
 bench/bn_compressed_gather.jnl                     |   217 +
 bench/bn_compressed_gather.sub                     |    42 +
 bench/bn_dods_strides.jnl                          |    59 +-
 bench/bn_dot_product.jnl                           |   114 +
 bench/bn_dynamic_gather.jnl                        |    99 +
 bench/bn_dynamic_gather.sub                        |   198 +
 bench/bn_encode_url.jnl                            |    14 +-
 bench/bn_ez.jnl                                    |     4 +
 bench/bn_gather_4d_ave.jnl                         |    50 +
 bench/bn_gather_4d_din.jnl                         |    32 +
 bench/bn_gather_4d_var.jnl                         |    73 +
 bench/bn_gif.jnl                                   |    12 +
 bench/bn_hovmuller_overlays.jnl                    |    27 +-
 bench/bn_iin_regrid.jnl                            |   291 +
 bench/bn_let_remote.jnl                            |    26 +-
 bench/bn_output.jnl                                |     8 +-
 bench/bn_plot_vs_with_time.jnl                     |    67 +
 bench/bn_reset.jnl                                 |    12 +
 bench/bn_stat_precision.jnl                        |    27 +
 bench/bn_strings.jnl                               |     2 +-
 bench/bn_test_opendap.jnl                          |     2 +-
 bench/bn_transp_choose.jnl                         |    22 +
 bench/bn_transpose.jnl                             |    68 +-
 bench/bn_true_monthly.jnl                          |     5 +
 bench/bn_unquoted_args.jnl                         |     8 +-
 bench/bn_vtree_regrid.jnl                          |     1 +
 bench/co_emac.nc                                   |   Bin 0 -> 1260 bytes
 bench/err540_strides_rev.jnl                       |     6 +-
 bench/err570_dods_url_label.jnl                    |    10 +-
 bench/err682_xact_high_prec.jnl                    |     9 +-
 bench/err684_FillValue_xml.jnl                     |     2 +-
 bench/err696_mem_err_report.jnl                    |    15 +-
 bench/err696_multiple_slashes.jnl                  |     4 +-
 bench/err71_2d_ave_miss0.jnl                       |    16 +
 bench/err71_colorlevs.jnl                          |    15 +
 bench/err71_err_attrib_overrun.jnl                 |    41 +
 bench/err71_expr_w_const.jnl                       |    23 +
 bench/err71_isready_unknown.jnl                    |    17 +
 bench/err71_plotvs_mode_label.jnl                  |    78 +
 bench/err71_point_average.jnl                      |    54 +
 bench/err71_ppl_sho_empty.jnl                      |    26 +
 bench/err71_prec_return.jnl                        |    15 +
 bench/err71_read_delim.jnl                         |    31 +
 bench/err71_repeat_paren.jnl                       |    15 +
 bench/err71_save_bounds.jnl                        |     9 +
 bench/err71_save_rigid.jnl                         |    27 +
 bench/err71_set_redirect.jnl                       |    19 +
 bench/err71_string_and_if.jnl                      |    47 +
 bench/err71_user_var_attrib.jnl                    |    10 +
 bench/err71_uvar_strides.jnl                       |    14 +
 bench/err71_vs_constant.jnl                        |    36 +
 bench/err71_vs_lon_over.jnl                        |    11 +
 bench/metafile_masters_32bit/bn_axis_vs.gif        |   Bin 5540 -> 6645 bytes
 .../bn_hovmuller_overlays.gif                      |   Bin 51900 -> 51920 bytes
 bench/metafile_masters_32bit/bn_ribbon_vlog.gif    |   Bin 12803 -> 12569 bytes
 bench/metafile_masters_32bit/bnplot-3.plt          |     6 +-
 bench/metafile_masters_32bit/closed_lev.plt        |   586 +-
 bench/metafile_masters_32bit/degC_axlab.plt        |     2 +-
 bench/metafile_masters_32bit/dots.plt              |     2 +-
 bench/metafile_masters_64bit_rh6/bn_axis_vs.gif    |   Bin 5540 -> 6645 bytes
 .../bn_hovmuller_overlays.gif                      |   Bin 51900 -> 51920 bytes
 .../metafile_masters_64bit_rh6/bn_ribbon_vlog.gif  |   Bin 12803 -> 12702 bytes
 .../bn_vs_const_value.gif                          |   Bin 0 -> 10917 bytes
 .../lon_lat_label_controls.gif                     |   Bin 0 -> 8812 bytes
 bench/metafile_masters_64bit_rh6/vs_lon_over.gif   |   Bin 0 -> 11380 bytes
 bench/run_all                                      |     5 +
 bench/shorttest.dat                                |    11 +
 bench/test_results/bn_axis_vs.gif                  |   Bin 4559 -> 6645 bytes
 bench/test_results/bn_contour_conset.gif           |   Bin 17361 -> 17361 bytes
 bench/test_results/bn_hovmuller_overlays.gif       |   Bin 51900 -> 51920 bytes
 bench/test_results/bn_labels_on_taxis.gif          |   Bin 35123 -> 35123 bytes
 bench/test_results/bn_ribbon_vlog.gif              |   Bin 12580 -> 12468 bytes
 bench/test_results/bn_subspan_mod_strides.gif      |   Bin 24061 -> 24061 bytes
 bench/test_results/bn_vs_const_value.gif           |   Bin 0 -> 10917 bytes
 bench/test_results/bnplot_2.gif                    |   Bin 56113 -> 56113 bytes
 bench/test_results/bnplot_3.gif                    |   Bin 27755 -> 27755 bytes
 bench/test_results/err700_key.gif                  |   Bin 32596 -> 32596 bytes
 bench/test_results/ferret_run_tests_err            |  1628 +-
 bench/test_results/ferret_run_tests_log            | 17120 ++++++++++++------
 bench/test_results/ferret_run_tests_ncdump         |   201 +-
 bench/test_results/forecast_actual.gif             |   Bin 15839 -> 15839 bytes
 bench/test_results/forecast_diagview.gif           |   Bin 14385 -> 14385 bytes
 bench/test_results/forecast_leadview.gif           |   Bin 12293 -> 12293 bytes
 bench/test_results/gif_dashbug.gif                 |   Bin 1625 -> 1625 bytes
 bench/test_results/legend_1d_plots.gif             |   Bin 10422 -> 10422 bytes
 bench/test_results/levels_one_level.gif            |   Bin 17452 -> 17452 bytes
 bench/test_results/lon_lat_label_controls.gif      |   Bin 0 -> 10898 bytes
 bench/test_results/testbackground.gif              |   Bin 46738 -> 46738 bytes
 bench/test_results/vs_lon_over.gif                 |   Bin 0 -> 11380 bytes
 external_functions/ef_utility/site_specific.mk     |     4 +-
 external_functions/examples/dates.F                |    10 +-
 fer/Makefile                                       |    10 +-
 fer/ccr/EF_InternalUtil.c                          |  1137 +-
 fer/ccr/SOURCE_FILES                               |     8 +-
 fer/ccr/{add_c_pointer.c => dynmemUtil.c}          |   100 +-
 fer/ccr/fermain_c.c                                |   155 +-
 fer/ccr/ferret_dispatch_c.c                        |    16 +-
 fer/ccr/free_dyn_mem.c                             |    33 +
 fer/ccr/{add_c_pointer.c => get_c_pointer.c}       |    20 +-
 fer/ccr/get_mr_mem.c                               |    52 +
 fer/ccr/get_ws_mem.c                               |    42 +
 fer/ccr/nullify_mr.c                               |    39 +
 fer/ccr/nullify_ws.c                               |    39 +
 fer/common/EF_Util.h                               |     6 +-
 fer/common/errmsg.parm                             |    13 +-
 fer/common/ferret.parm                             |    11 +-
 fer/common/ferret_shared_buffer.h                  |     3 +-
 fer/common/grid_chg_fcns.parm                      |     9 +-
 fer/common/interp_stack.parm                       |    18 +-
 fer/common/slash.parm                              |     7 +
 fer/common/xgrid_chg_fcns.cmn                      |     9 +-
 fer/common/xprog_state.cmn                         |    14 +-
 fer/common/xvariables.cmn                          |   139 +-
 fer/ctx/SOURCE_FILES                               |     2 +
 .../exit_dependency_mode.F => ctx/cgrid_size8.F}   |    29 +-
 fer/{utl/itsa_gcvar.F => ctx/cgrid_uvar_size.F}    |    39 +-
 fer/ctx/merge_grid.F                               |    14 +-
 fer/ctx/pseudo_var_context.F                       |     8 +-
 fer/dat/xalgebra_data.F                            |    16 +-
 fer/dat/xcommand_data.F                            |    17 +-
 fer/dat/xgfdl_error_text_data.F                    |    10 +
 fer/dat/xgrid_chg_fcns_data.F                      |   174 +-
 fer/dat/xprog_state_data.F                         |    12 +-
 fer/dat/xrevision_data.F                           |     6 +-
 fer/dat/xvariables_data.F                          |    12 +-
 fer/doo/SOURCE_FILES                               |     9 +
 fer/doo/diag_op.F                                  |    41 +-
 fer/doo/do_4d_ave.F                                |    10 +-
 fer/doo/do_4d_int_def.F                            |    11 +-
 fer/doo/do_4d_std.F                                |    13 +-
 fer/doo/do_4d_sum.F                                |     8 +-
 fer/doo/do_4d_trans.F                              |   176 +-
 fer/doo/do_4d_var.F                                |    11 +-
 fer/doo/do_aux_var_regrid.F                        |     3 +-
 fer/doo/do_aux_var_regrid_1d.F                     |     3 +-
 fer/doo/do_aux_var_regrid_1d_t.F                   |     3 +-
 fer/doo/do_aux_var_regrid_2d_tf.F                  |     3 +-
 fer/doo/do_ave_int.F                               |   106 +-
 fer/doo/do_average.F                               |     9 +-
 fer/doo/do_external_gc_fcn.F                       |    38 +-
 .../release_work_spc.F => doo/do_iin_regrid.F}     |    30 +-
 fer/doo/do_integ_def.F                             |     9 +-
 fer/doo/do_internal_gc_fcn.F                       |    22 +-
 fer/doo/do_max.F                                   |   160 +-
 fer/doo/{do_max.F => do_max_sub.F}                 |   109 +-
 fer/doo/do_min.F                                   |   158 +-
 fer/doo/{do_min.F => do_min_sub.F}                 |   109 +-
 fer/doo/do_points.F                                |    27 +-
 fer/doo/do_stddev.F                                |     9 +-
 fer/doo/do_sum.F                                   |   163 +-
 fer/doo/{do_sum.F => do_sum_sub.F}                 |   102 +-
 fer/doo/do_var_sub.F                               |   424 +-
 fer/doo/do_variance.F                              |    10 +-
 fer/doo/do_xylin_regrid.F                          |     8 +
 fer/doo/{do_4d_sum.F => finalize_ave_int.F}        |    57 +-
 .../fill_memory.F => doo/finalize_sums_counts.F}   |    39 +-
 fer/doo/{do_4d_sum.F => finalize_variance.F}       |    57 +-
 fer/doo/iin_regrid.F                               |   327 +
 fer/{stk/is_constant.F => doo/trans_finalize.F}    |    99 +-
 fer/doo/xylin_regrid.F                             |    16 +-
 fer/ef_utility/ef_get_one_val.c                    |     7 +-
 fer/ef_utility/ef_get_one_val_sub.F                |     5 +-
 fer/efi/SOURCE_FILES                               |    33 +-
 fer/efi/bcompressi.F                               |   283 -
 fer/efi/bin_index_wt.F                             |     4 +-
 fer/efi/bxcat.F                                    |   326 -
 fer/efi/bxsequence.F                               |   241 -
 fer/efi/bxsequence_str.F                           |   245 -
 fer/efi/curv_to_rect.F                             |     2 +-
 fer/efi/dot_e.F                                    |   204 +
 fer/efi/dot_f.F                                    |   205 +
 fer/efi/dot_t.F                                    |   204 +
 fer/efi/dot_x.F                                    |   170 +
 fer/efi/dot_y.F                                    |   203 +
 fer/efi/dot_z.F                                    |   204 +
 fer/efi/expnd_by_len.F                             |     3 +
 fer/efi/expndi_by_m_counts.F                       |   116 +-
 ...pndi_by_m_counts.F => expndi_by_m_counts_str.F} |   140 +-
 fer/efi/expndi_by_z_counts.F                       |     4 +-
 fer/efi/expndi_id_by_z_counts.F                    |     6 +-
 fer/efi/gridding_subs.F                            |   277 +
 fer/efi/is_element_of.F                            |     4 +-
 fer/efi/is_element_of_str.F                        |     2 +-
 fer/efi/{minmax.F => minmax_fcn.F}                 |     2 +-
 fer/efi/sample_fast_i.F                            |     2 +-
 fer/efi/sample_fast_i_str.F                        |     2 +-
 fer/efi/samplem_multi.F                            |   255 +
 fer/efi/samplen_multi.F                            |   250 +
 fer/efi/samplexy_closest.F                         |     3 +-
 fer/efi/{samplexy_closest.F => samplexy_nrst.F}    |    10 +-
 fer/efi/scat2grid_minmax_xyt.F                     |   502 +
 fer/efi/scat2grid_std_xyt.F                        |   570 +
 fer/efi/test_opendap.F                             |    16 +-
 fer/efi/tracks2grid_mask_ave_xyt.F                 |   685 +
 fer/efi/tracks2grid_std_xyt.F                      |   787 +
 fer/efi/transpose_ef.F                             |   196 +
 fer/efi/transpose_te.F                             |   197 +
 fer/efi/transpose_tf.F                             |   197 +
 fer/efi/transpose_xe.F                             |   197 +
 fer/efi/transpose_xf.F                             |   198 +
 fer/efi/transpose_xt.F                             |   121 +-
 fer/efi/transpose_xy.F                             |   123 +-
 fer/efi/transpose_xz.F                             |   121 +-
 fer/efi/transpose_ye.F                             |   199 +
 fer/efi/transpose_yf.F                             |   197 +
 fer/efi/transpose_yt.F                             |   120 +-
 fer/efi/transpose_yz.F                             |   121 +-
 fer/efi/transpose_ze.F                             |   197 +
 fer/efi/transpose_zf.F                             |   200 +
 fer/efi/transpose_zt.F                             |   122 +-
 fer/efi/unique_str2int.F                           |     2 +-
 fer/efi/ycat.F                                     |     2 +-
 fer/efn/SOURCE_FILES                               |     2 +-
 fer/efn/efcn_get_workspace_addr.F                  |    29 -
 fer/efn/efcn_rqst_mr_ptrs.F                        |    37 +
 fer/fmt/SOURCE_FILES                               |     4 +-
 fer/fmt/full_uvar_name.F                           |    10 +-
 fer/fmt/full_uvar_name_xml.F                       |     9 +-
 .../fmt/geog_label_vs.F                            |    58 +-
 fer/{stk/exit_dependency_mode.F => fmt/lefint8.F}  |    34 +-
 fer/gnl/SOURCE_FILES                               |     3 +-
 fer/gnl/cdf_list.F                                 |    24 +-
 fer/gnl/cdf_list_global_atts.F                     |    12 +-
 fer/gnl/check_memory.F                             |    96 +-
 fer/gnl/define_ef_aggregate_grid.F                 |    15 +-
 fer/gnl/delete_one_line.F                          |    92 -
 fer/gnl/edit_attribute.F                           |    29 +-
 fer/gnl/get_fer_command.F                          |     5 +-
 fer/gnl/get_mode_arg.F                             |    14 +-
 fer/gnl/init_ef_aggregate_dset.F                   |     3 +-
 fer/gnl/init_memory.F                              |    63 +-
 fer/gnl/init_u_aggregate_dset.F                    |    11 +-
 fer/gnl/line_facts.F                               |     3 +-
 fer/gnl/list_multi.F                               |     8 +-
 fer/gnl/list_multi_sub.F                           |    31 +-
 fer/gnl/parse_command.F                            |    12 +-
 fer/gnl/redefine_ax_att.F                          |    10 +-
 fer/gnl/repl_exprns.F                              |    41 +-
 fer/gnl/reset_ax_att.F                             |    12 +-
 fer/gnl/sample.F                                   |   321 -
 fer/gnl/sample_sub.F                               |   346 -
 fer/gnl/sanity_check_memory.F                      |   253 +-
 fer/gnl/set_agg_var_atts.F                         |    15 +-
 fer/gnl/set_var.F                                  |    10 +-
 fer/gnl/show_1_mr.F                                |    39 +-
 fer/gnl/show_1_uvar_xml.F                          |    10 +-
 fer/gnl/show_data_files.F                          |     5 +-
 fer/gnl/show_data_set_vars.F                       |    15 +-
 fer/gnl/show_line_xml.F                            |    13 +-
 .../mr_available.F => gnl/show_mem_usage_line.F}   |    53 +-
 fer/gnl/special_symbol.F                           |    48 +-
 fer/gnl/var_stat.F                                 |    34 +-
 fer/ino/cdf_prep_cache.F                           |     5 +-
 fer/ino/read_binary.F                              |    31 +-
 fer/ino/read_delimited.F                           |    43 +-
 fer/ino/read_ez.F                                  |    65 +-
 fer/ino/read_perl.F                                |    30 +-
 fer/ino/read_remote.F                              |    15 +-
 fer/ino/read_tm.F                                  |    22 +-
 fer/mem/SOURCE_FILES                               |    21 +-
 fer/mem/assign_temp_var.F                          |    10 +-
 fer/mem/assign_variable.F                          |    27 +-
 fer/mem/{fill_memory.F => create_dyn_wrkspc.F}     |    42 +-
 fer/mem/create_mem_var.F                           |    73 +-
 ...{create_mem_var.F => create_mem_var_w_buffer.F} |    58 +-
 fer/mem/create_permutation.F                       |    20 +-
 fer/mem/create_temp_mem_var.F                      |    35 +-
 fer/mem/delete_mrs_in_progress.F                   |    20 +-
 fer/mem/delete_variable.F                          |    55 +-
 fer/mem/{fill_memory.F => dynmem_mrlist_c.F}       |    33 +-
 fer/mem/fill_memory.F                              |    16 +-
 fer/mem/find_mem_var_incl_c_cache.F                |     5 +-
 fer/mem/find_mr_slot.F                             |    30 +-
 fer/mem/free_memory.F                              |   144 -
 fer/mem/{release_work_spc.F => free_mr_dynmem.F}   |    31 +-
 fer/mem/{mr_available.F => free_ws_dynmem.F}       |    42 +-
 fer/mem/{mr_available.F => get_dyn_work_space.F}   |    50 +-
 fer/mem/get_memory.F                               |   158 -
 fer/mem/get_mr_dynmem.F                            |   122 +
 fer/mem/get_work_mr.F                              |    40 +-
 fer/mem/{find_mr_slot.F => get_ws_dynmem.F}        |    73 +-
 fer/mem/{find_mr_slot.F => hook_mr_slot.F}         |    28 +-
 fer/mem/{release_work_spc.F => mr2freelist.F}      |    29 +-
 fer/mem/mr_available.F                             |     9 +-
 fer/mem/mr_in_use.F                                |     8 +
 fer/mem/mr_not_in_use.F                            |     9 +-
 fer/mem/new_mr_w_edges.F                           |     7 +-
 ...{get_work_spc.F => purge_all_uvars_except_ex.F} |    64 +-
 fer/mem/re_assign_variable.F                       |    11 +-
 ...release_work_spc.F => release_dyn_work_space.F} |    23 +-
 fer/mem/show_aborted_mem_state.F                   |   120 +
 fer/mem/{release_work_spc.F => store_mr_ptr.F}     |    34 +-
 .../store_nul_mr_ptr.F}                            |    32 +-
 .../store_nul_ws_ptr.F}                            |    32 +-
 fer/mem/{release_work_spc.F => store_ws_ptr.F}     |    34 +-
 fer/plt/axis_ends.F                                |    20 +-
 fer/plt/disp_data_set_up.F                         |    39 +-
 fer/plt/disp_set_up.F                              |    58 +-
 fer/plt/line_plot_labels.F                         |    15 +-
 fer/plt/plot_set_up.F                              |   497 +-
 fer/plt/polygon_set_up.F                           |    42 +-
 fer/plt/put_annotation.F                           |     2 +-
 fer/rpn/alg_id.F                                   |     5 +-
 fer/rpn/init_uvar.F                                |     8 +-
 fer/rpn/not_rpn.F                                  |     2 +
 fer/rpn/ok_juxtapo.F                               |     4 +-
 fer/rpn/prcd.F                                     |     2 +
 fer/rpn/rpn.F                                      |     5 +-
 fer/special/ferret_dispatch.F                      |    44 +-
 fer/stk/SOURCE_FILES                               |     5 +-
 fer/stk/crawl_dependencies.F                       |     6 +-
 fer/stk/{is_dummy.F => define_next_chunk_cx.F}     |    57 +-
 fer/stk/diagnostic_out.F                           |     5 +-
 fer/stk/eval_expr.F                                |    12 +-
 fer/stk/exit_dependency_mode.F                     |     3 +-
 fer/stk/get_cmnd_data.F                            |     5 +-
 fer/stk/get_prot_cmnd_data.F                       |    22 +-
 fer/stk/init_dependencies.F                        |    10 +-
 fer/stk/interp_context.F                           |     6 +-
 fer/stk/interp_stack.F                             |   186 +-
 fer/stk/is_aggregate_gather.F                      |     7 +-
 fer/stk/is_aggregate_grid.F                        |   286 -
 fer/stk/is_algebra.F                               |    39 +-
 fer/stk/is_attrib_val.F                            |    59 +-
 fer/stk/is_auxvar_regrid.F                         |    25 +-
 fer/stk/is_const_var.F                             |     7 +-
 fer/stk/is_constant.F                              |     5 +-
 fer/stk/is_counter_var.F                           |     5 +-
 fer/stk/is_dependencies.F                          |    17 +-
 fer/stk/is_do_gc_fcn.F                             |   140 +-
 fer/stk/is_do_op.F                                 |    39 +-
 fer/stk/is_dummy.F                                 |     6 +-
 fer/stk/is_gather.F                                |    14 +-
 fer/stk/is_modulo.F                                |    18 +-
 fer/stk/is_pseudo.F                                |    22 +-
 fer/stk/is_read.F                                  |    13 +-
 fer/stk/is_read_remote.F                           |     5 +-
 fer/stk/is_reconcile.F                             |     3 +-
 fer/stk/is_regrid.F                                |   107 +-
 fer/stk/is_reverse.F                               |     9 +-
 fer/stk/is_sample.F                                |    21 +-
 fer/stk/is_string.F                                |     5 +-
 fer/stk/is_strip.F                                 |    88 +-
 fer/stk/is_subspan_fill.F                          |    12 +-
 fer/stk/is_trans.F                                 |   208 +-
 fer/stk/is_union_member.F                          |     7 +-
 fer/stk/is_uvar_grid.F                             |    49 +-
 fer/stk/pass_ambig_lims.F                          |    14 +-
 fer/stk/{is_dummy.F => potent_ax_lims.F}           |    60 +-
 fer/stk/rcvd_regrid.F                              |     4 +-
 fer/stk/rqst_regrid.F                              |     5 +-
 fer/stk/setup_gather.F                             |   518 +
 fer/stk/setup_sample.F                             |    17 +-
 fer/stk/trans_init_value.F                         |   126 +
 fer/utl/SOURCE_FILES                               |     9 +
 fer/utl/gcf_get_alt_fcn_dir_arg.F                  |    22 +
 fer/utl/gcf_impose_axes.F                          |     4 +-
 fer/utl/gcf_impose_result_lims.F                   |    17 +-
 .../gcf_set_abstract_axis.F}                       |    29 +-
 ...{save_uvar_grid.F => gcf_set_alt_fcn_for_dir.F} |    70 +-
 .../gcf_set_normal_axis.F}                         |    28 +-
 fer/utl/get_dependency_status.F                    |    10 +-
 fer/utl/inherit_attrs.F                            |    19 +-
 fer/utl/{itsa_gcvar.F => itsa_dcvar.F}             |    15 +-
 fer/utl/{itsa_gcvar.F => itsa_dirc_fcn.F}          |    27 +-
 fer/utl/itsa_gcvar.F                               |     9 +-
 fer/utl/itsa_pure_sum_var.F                        |     4 +-
 .../return_one_val.F}                              |    23 +-
 fer/utl/save_uvar_aux_info.F                       |     4 +-
 fer/utl/save_uvar_grid.F                           |    18 +-
 fer/utl/{save_uvar_grid.F => save_uvar_type.F}     |    20 +-
 fer/utl/short_mod_copy.F                           |    11 +-
 fer/utl/store_dependency.F                         |     8 +-
 fer/utl/store_sys_strings.F                        |    23 +-
 fer/utl/update_attributes.F                        |    17 +-
 fer/{gnl => utl}/warn_occasionally.F               |     0
 fer/xeq/xeq_annotate.F                             |     1 -
 fer/xeq/xeq_cancel.F                               |    33 +-
 fer/xeq/xeq_contour.F                              |    21 +-
 fer/xeq/xeq_define.F                               |    43 +-
 fer/xeq/xeq_list.F                                 |    54 +-
 fer/xeq/xeq_load.F                                 |    11 +-
 fer/xeq/xeq_plot.F                                 |    22 +-
 fer/xeq/xeq_polygon.F                              |    20 +-
 fer/xeq/xeq_set.F                                  |    74 +-
 fer/xeq/xeq_shade.F                                |    20 +-
 fer/xeq/xeq_show.F                                 |   119 +-
 fer/xeq/xeq_spawn.F                                |    43 +-
 fer/xeq/xeq_stat.F                                 |    24 +-
 fer/xeq/xeq_user_command.F                         |   103 -
 fer/xeq/xeq_vector.F                               |    20 +-
 fer/xeq/xeq_wire.F                                 |    33 +-
 fmt/cmn/ez_delimited_read.h                        |     4 +-
 fmt/cmn/netcdf_declareUnderscore.inc               |     2 +-
 fmt/src/NCF_Util.c                                 |    28 +-
 fmt/src/SOURCE_FILES                               |     8 +
 fmt/src/cd_get_1_axis.F                            |    84 +-
 fmt/src/cd_get_1_dep_var.F                         |     2 +-
 .../{cd_get_var_outflag.F => cd_get_id_varname.F}  |    49 +-
 fmt/src/cd_get_time_units.F                        |   100 +
 .../{cd_get_var_info.F => cd_get_var_dims_info.F}  |    36 +-
 fmt/src/cd_get_var_info.F                          |    25 +
 .../{cd_get_var_outflag.F => cd_get_var_natts.F}   |    52 +-
 fmt/src/cd_get_var_outflag.F                       |    48 +-
 .../{cd_get_var_outflag.F => cd_get_var_type.F}    |    37 +-
 .../{cd_get_var_outflag.F => cd_get_var_varname.F} |    51 +-
 fmt/src/{cd_get_var_info.F => cd_isit_coordvar.F}  |    62 +-
 fmt/src/cd_write_var.F                             |    42 +-
 fmt/src/ez_delimited_read.c                        |    49 +-
 fmt/src/ez_init_dset.F                             |    27 +-
 fmt/src/mc_init_dset.F                             |     2 +-
 fmt/src/string_array_clear.c                       |     2 +-
 fmt/src/tm_break_fmt_date.F                        |     6 +-
 fmt/src/tm_fmt.F                                   |    41 +-
 fmt/src/tm_fmt_user.F                              |    30 +-
 fmt/src/tm_fpeq_eps_sngl.F                         |     2 +-
 fmt/src/tm_friendly_read.F                         |     2 +-
 fmt/src/tm_its_subspan_modulo.F                    |     7 +-
 .../{tm_rm_tmp_line.F => tm_make_new_dyn_grid.F}   |    49 +-
 fmt/src/tm_rm_tmp_line.F                           |     2 +-
 .../contrib/eqn_of_state_from_theta_JMFWG_2006.jnl |   162 +
 jnls/examples/color_cover.jnl                      |   196 +
 jnls/examples/image_to_kml.jnl                     |    10 +-
 jnls/examples/my_ocean_stripmap_tn.jnl             |   141 +
 jnls/go/frequency_histogram2.jnl                   |     3 +
 jnls/go/plot_swath.jnl                             |     8 +-
 jnls/go/wv5d_append.jnl                            |    12 +-
 palettes/inverse_rainbow.spk                       |     6 +
 palettes/pale_green_blue_rev.spk                   |     9 +
 palettes/purple_blue_orange.spk                    |    14 +
 palettes/range_of_blues.spk                        |     2 +
 palettes/ten_reordered_levels.spk                  |    13 +
 palettes/woce2_test.spk                            |     7 +
 platform_specific.mk.i386-apple-darwin             |    14 +-
 platform_specific.mk.i386-linux                    |    14 +-
 platform_specific.mk.intel-mac                     |     2 -
 platform_specific.mk.x86_64-linux                  |    14 +-
 platform_specific.mk.x86_64-linux-gnu              |     9 +-
 ppl/complot/symbel.F                               |     3 +-
 ppl/plot/daxis2.F                                  |     2 +-
 ppl/plot/linfit.F                                  |    18 +-
 ppl/plot/pplcmd_f.F                                |     4 +-
 ppl/plot/pplldx.F                                  |    27 +-
 ppl/plot/ppllist.F                                 |    32 +-
 ppl/plot/spwn.F                                    |    10 +-
 ppl/plot/view.F                                    |    24 +-
 ppl/plotlib/contur.F                               |    17 -
 ppl/plotlib/xaxis1.F                               |     2 +-
 ppl/plotlib/yaxis1.F                               |     2 +-
 ppl/pplepic/epictrd.F                              |     2 +-
 ppl/pplepic/epicvar.F                              |    20 +-
 ppl/symlib/cmderr.F                                |    42 +-
 ppl/tmap_inc/axlwid_inc.decl                       |     4 +-
 ppl/tmap_inc/cmrd_inc.decl                         |     2 +-
 ppl/tmap_inc/dashzz_inc.decl                       |     6 +-
 ppl/tmap_inc/dsfcom_dat.decl                       |     8 +-
 ppl/tmap_inc/hd_inc.decl                           |    18 +-
 ppl/tmap_inc/labcom_inc.decl                       |     8 +-
 ppl/tmap_inc/miss_inc.decl                         |    18 +-
 ppl/tmap_inc/mplot_inc.decl                        |    12 +-
 ppl/tmap_inc/mplotx_inc.decl                       |     8 +-
 ppl/tmap_inc/taxis_inc.decl                        |    18 +-
 ppl/tmap_inc/tble_inc.decl                         |    14 +-
 ppl/tmap_inc/tics_inc.decl                         |     8 +-
 ppl/tmap_inc/view_inc.decl                         |    14 +-
 ppl/tmap_inc/xylabp_inc.decl                       |    12 +-
 ppl/tmap_inc/zgridd_inc.decl                       |     6 +-
 ppl/tmapadds/compute_mnstd.F                       |    16 +-
 ppl/tmapadds/fillpol.F                             |    19 +-
 ppl/tmapadds/key.F                                 |     7 +-
 ppl/tmapadds/set_levels_shade_fill.F               |     9 +-
 ppl/tmapadds/setlab_syms.F                         |    45 +-
 site_specific.mk                                   |    21 +-
 xgks/src/fortran/control.fc                        |     4 +-
 xgks/src/fortran/error.fc                          |     4 +-
 xgks/src/fortran/escapes.fc                        |     4 +-
 xgks/src/fortran/finqpixel.fc                      |     7 +-
 xgks/src/fortran/gerhnd.fc                         |     4 +-
 xgks/src/fortran/getlunname.fc                     |     4 +-
 xgks/src/fortran/inputevent.fc                     |     6 +-
 xgks/src/fortran/inputinit.fc                      |     6 +-
 xgks/src/fortran/inputmode.fc                      |     6 +-
 xgks/src/fortran/inputreq.fc                       |     6 +-
 xgks/src/fortran/inputsamp.fc                      |     6 +-
 xgks/src/fortran/inqerrlist.fc                     |     4 +-
 xgks/src/fortran/inqgksdesc.fc                     |     4 +-
 xgks/src/fortran/inqgkslist.fc                     |     4 +-
 xgks/src/fortran/inqseglist.fc                     |     4 +-
 xgks/src/fortran/inqstate.fc                       |     4 +-
 xgks/src/fortran/inqwsdesc.fc                      |     4 +-
 xgks/src/fortran/inqwslist.fc                      |     4 +-
 xgks/src/fortran/meta.fc                           |     4 +-
 xgks/src/fortran/output.fc                         |     4 +-
 xgks/src/fortran/rep.fc                            |     4 +-
 xgks/src/fortran/segattr.fc                        |     4 +-
 xgks/src/fortran/segment.fc                        |     4 +-
 xgks/src/fortran/transform.fc                      |     4 +-
 xgks/src/fortran/utils.fc                          |     4 +-
 xgks/src/fortran/wsioutattr.fc                     |     4 +-
 xgks/src/lib/cellarray.c                           |     4 +-
 xgks/src/lib/choice.c                              |     6 +-
 xgks/src/lib/colours.c                             |     4 +-
 xgks/src/lib/escape.c                              |     4 +-
 xgks/src/lib/event.c                               |     4 +-
 xgks/src/lib/fillarea.c                            |     4 +-
 xgks/src/lib/gks_defines.h                         |    21 +-
 xgks/src/lib/input.c                               |     6 +-
 xgks/src/lib/inqWDT.c                              |     4 +-
 xgks/src/lib/inqfillareas.c                        |     4 +-
 xgks/src/lib/inqpmarker.c                          |     4 +-
 xgks/src/lib/inqpolylines.c                        |     4 +-
 xgks/src/lib/inqtext.c                             |     4 +-
 xgks/src/lib/inqtransform.c                        |     4 +-
 xgks/src/lib/inquiries.c                           |     4 +-
 xgks/src/lib/locator.c                             |     4 +-
 xgks/src/lib/message.c                             |     6 +-
 xgks/src/lib/metafile.c                            |     4 +-
 xgks/src/lib/mkerrmsg.c                            |     4 +-
 xgks/src/lib/open_ws.c                             |     6 +-
 xgks/src/lib/pick.c                                |     4 +-
 xgks/src/lib/polylines.c                           |     4 +-
 xgks/src/lib/polymarkers.c                         |     4 +-
 xgks/src/lib/prmgr.c                               |     4 +-
 xgks/src/lib/segments.c                            |     4 +-
 xgks/src/lib/string.c                              |     6 +-
 xgks/src/lib/stroke.c                              |     4 +-
 xgks/src/lib/text.c                                |     4 +-
 xgks/src/lib/transforms.c                          |     4 +-
 xgks/src/lib/umalloc.c                             |     2 +-
 xgks/src/lib/update.c                              |     4 +-
 xgks/src/lib/valuator.c                            |     4 +-
 551 files changed, 55317 insertions(+), 25226 deletions(-)

diff --git a/bench/Makefile b/bench/Makefile
index 5b4befb..e5632df 100644
--- a/bench/Makefile
+++ b/bench/Makefile
@@ -1,5 +1,5 @@
 #
-# Makefile for the FERRET/bench directory
+# Makefile for the Ferret bench subdirectory
 #
 
 # include platform specific macro definitions for make_stream_file
@@ -13,21 +13,29 @@ run_tests:
 	    echo "*** Ferret must be installed and the ferret_paths script must have sourced for these tests ***" ; \
 	    exit 1 ; \
 	fi
-	./RUN_TESTS.sh `which ferret` "$(FER_EXTERNAL_FUNCTIONS)" "RUN_TESTS.sh test results for Ferret"
-	@echo 'Differences in the generated bench/*.gif files versus against those in bench/test_results'
+	./RUN_TESTS.sh `which ferret` "$(FER_EXTERNAL_FUNCTIONS)"
+	@echo 'Differences in the generated bench GIF files versus those in bench/test_results'
 	- at for img in *.gif ; \
 	do \
-	    diff -q $$img test_results/$$img ; \
+	    if diff -q $$img test_results/$$img ; then \
+	        echo "Files $$img and test_results/$$img are identical"; \
+	    else \
+	        compare $$img test_results/$$img "$$img"_diff.gif ; \
+	    fi \
 	done
+	-@( datetag=`date +'%d%h%yAT'|tr '[A-Z]' '[a-z]'` ; \
+	    diff all_$${datetag}*_ncdump test_results/ferret_run_tests_ncdump 1> ferret_run_tests_ncdump.diff 2>&1 ; \
+	    diff all_$${datetag}*_err test_results/ferret_run_tests_err 1> ferret_run_tests_err.diff 2>&1 ; \
+	    diff all_$${datetag}*_log test_results/ferret_run_tests_log 1> ferret_run_tests_log.diff 2>&1 \
+	  )
 	@echo ''
-	@echo 'Inspect the bench/all_*_ncdump, bench/all_*_err, and bench/all_*_log files just created '
-	@echo 'against bench/test_results/ferret_run_tests_ncdump, bench/test_results/ferret_run_test_err, '
-	@echo 'and bench/test_results/ferret_run_tests_log'
+	@echo 'Inspect the *_diff.gif files for actual differences in the images'
+	@echo 'Inspect the ferret_run_tests_*.diff files for actual differences in the output'
 
 .PHONY: clean
 clean:
-	rm -f all_*_ncdump all_*_err all_*_log
-	rm -f *.plt* *.gif* *.ps* *.png* *.pdf* ferret.jnl*
+	rm -f all_*_ncdump all_*_err all_*_log all_*_ncdump_orig all_*_err_orig all_*_log_orig cleanups.sed
+	rm -f *.plt* *.gif* *.diff* ferret.jnl*
 	rm -f `cat TRASH_FILES`
 	rm -f all_ncdump.out fort.41 make_stream_file
 	rm -fr subdir tmp
diff --git a/bench/RUN_TESTS.sh b/bench/RUN_TESTS.sh
index 5e2e4cc..2f2c70b 100755
--- a/bench/RUN_TESTS.sh
+++ b/bench/RUN_TESTS.sh
@@ -1,24 +1,19 @@
 #! /bin/sh -f
 # run individually each of the benchmark tests listed in TEST_SCRIPTS
 
-if [ $# -lt 2 ]; then
+if [ $# -ne 2 ]; then
    echo ""
-   echo "Usage:  $0  Ferret  ExtFuncsDir  [ ... ]"
+   echo "Usage:  $0  Ferret  ExtFuncsDir"
    echo "where:"
    echo "       Ferret is the ferret executable or pyferret script to use"
    echo "       ExtFuncsDir is the external functions directory to use"
    echo "           (if '.', bn_all_ef.jnl will not be run)"
-   echo "       Any remaining arguments are used as comments in the log files"
    echo ""
    exit 1
 fi
 
 fver="$1"
-shift
-efdir="$1"
-shift
-bmarker="$USER"
-bcomment="$*"
+efdir="$2"
 
 PS1='$ '
 export PS1
@@ -86,12 +81,6 @@ echo "Testing log output in $log_file"
 echo "Testing errors in $err_file" 
 echo "Testing ncdump output in $ncdump_file"
 
-echo "Using FERRET $fver" >> $log_file
-ls -l $fver >> $log_file
-echo "Using external functions from $efdir" >> $log_file
-echo "Benchmark run by $bmarker" >> $log_file
-echo "Note: $bcomment" >> $log_file
-
 if ! echo "$fver" | grep -q "pyferret"; then
    ispyferret=0
 #  command-line options for ferret
@@ -108,7 +97,7 @@ else
    export PYFER_EXTERNAL_FUNCTIONS
 fi
 
-#set up a generic data environment
+# set up a generic data environment
 echo "****** Restricting Ferret paths to bench directory ******" >> $log_file
 FER_DATA="."
 export FER_DATA
@@ -122,7 +111,6 @@ FER_GRIDS="."
 export FER_GRIDS
 FER_DIR="."
 export FER_DIR
-Fenv >> $log_file
 
 # always replace $HOME/.ferret with default.ferret so results are consistent
 rm -f keep.ferret
@@ -142,11 +130,6 @@ if [ "$ispyferret" -ne 0 ]; then
    done
 fi
 
-now=`date`
-echo "Beginning at $now" >> $log_file
-cp $log_file $err_file
-echo "Beginning at $now"
-
 # run each of the scripts in the list
 rm -f all_ncdump.out
 for script in $jnl_scripts; do
@@ -192,7 +175,7 @@ if [ "$ispyferret" -ne 0 ]; then
       echo "*** Running python script: $script" >> $log_file
       echo "*** Running python script: $script" >> $err_file
       echo "*** Running python script: $script" > all_ncdump.out
-      echo "Running python script : $script"
+      echo "Running python script: $script"
       $fver $feropts -python < $script 1>> $log_file 2>> $err_file
       if [ $? -ne 0 ]; then
          echo "****** PYFERRET error: $script failed ******" >> $log_file
@@ -212,12 +195,65 @@ if [ -f keep.ferret ]; then
    mv keep.ferret $HOME/.ferret
 fi
 
+# Replace insignificant differences with constant values
+cleanups="cleanups.sed"
+
+builddir=`dirname $PWD | sed -e 's/\\//\\\\\\//g'`
+echo "s/$builddir/....../g" > $cleanups
+
+exebindir=`dirname $fver`
+exeferdir=`dirname $exebindir | sed -e 's/\\//\\\\\\//g'`
+echo "s/$exeferdir/....../g" >> $cleanups
+
+timeregex=`date +%_d.%h.%Y`
+echo "s/$timeregex/DD-MON-YYYY/g" >> $cleanups
+# If date assigned to symbol and then symbol used elsewhere, any beginning space is dropped
+timeregex=`date +%-d.%h.%Y`
+echo "s/$timeregex/DD-MON-YYYY/g" >> $cleanups
+
+timeregex=`date +%_d.%h.%y`
+echo "s/${timeregex}.[0-9][0-9]:[0-9][0-9]/DD-MON-YY HH:MM/g" >> $cleanups
+echo "s/$timeregex/DD-MON-YY/g" >> $cleanups
+# If date assigned to symbol and then symbol used elsewhere, any beginning space is dropped
+timeregex=`date +%-d.%h.%y`
+echo "s/${timeregex}.[0-9][0-9]:[0-9][0-9]/DD-MON-YY HH:MM/g" >> $cleanups
+echo "s/$timeregex/DD-MON-YY/g" >> $cleanups
+
+timeregex=`date +%m.%d.%y`
+echo "s/$timeregex/MM-DD-YY/g" >> $cleanups
+
+timeregex=`date | sed -e 's/[0-9][0-9]:[0-9][0-9]:[0-9][0-9]/[0-9][0-9]:[0-9][0-9]:[0-9][0-9]/'`
+echo "s/$timeregex/WKD MON DD HH:MM:SS ZZZ YYYY/g" >> $cleanups
+
+timeregex=`date +%a.%h.%_d.%T.%Y | sed -e 's/[0-9][0-9]:[0-9][0-9]:[0-9][0-9]/[0-9][0-9]:[0-9][0-9]:[0-9][0-9]/'`
+echo "s/$timeregex/WKD MON DD HH:MM:SS YYYY/g" >> $cleanups
+
+echo 's/^randu2_randn2 [0-9 .-]+$/randu2_randn2      ....../' >> $cleanups
+echo 's/the_time = [0-9][0-9]:[0-9][0-9]/the_time = HH:MM/g' >> $cleanups
+echo 's/\(AX[0-9][0-9][0-9]\)/(AX###)/g' >> $cleanups
+echo 's/\(G[0-9][0-9][0-9]\)/(G###)/g' >> $cleanups
+echo 's/CURRENT_TIME = "[0-9][0-9]:[0-9][0-9]:[0-9][0-9]"/CURRENT_TIME = "HH:MM:SS"/g' >> $cleanups
+echo 's/SESSION_TIME = "[0-9][0-9]:[0-9][0-9]"/SESSION_TIME = "HH:MM"/g' >> $cleanups
+echo 's/SESSION_PID = "[0-9]+"/SESSION_PID = "#####"/g' >> $cleanups
+echo 's/DELTA_CPU = "[0-9]\.[0-9E-]+"/DELTA_CPU = "######"/g' >> $cleanups
+echo 's/CLOCK_SECS = "[0-9]\.[0-9E-]+"/CLOCK_SECS = "######"/g' >> $cleanups
+echo 's/^\[\?1034h//' >> $cleanups
+echo 's/Second 10K LET commands LET a = 0 takes  [0-4]\.[0-9]+  seconds/Second 10K LET commands LET a = 0 takes [0-5] seconds/' >> $cleanups
+echo 's/10K LET commands LET a = 0 takes  [0-2]\.[0-9]+  seconds/10K LET commands LET a = 0 takes [0-3] seconds/' >> $cleanups
+echo 's/5K LOAD with transform takes  [0-8]\.[0-9]+  seconds/5K LOAD with transform takes [0-9] seconds/' >> $cleanups
+echo 's/DEFINE VARIABLE ten_plots = 0\.[0-9]+/DEFINE VARIABLE ten_plots = 0.######/' >> $cleanups
+echo 's/DEFINE VARIABLE dt = 0\.[0-9]+/DEFINE VARIABLE dt = 0.######/' >> $cleanups
+echo 's/DEFINE VARIABLE sumcpu =[ ]?0\.[0-9]+/DEFINE VARIABLE sumcpu = 0.######/' >> $cleanups
+echo '/say `sumcpu`/,+1 s/^ !-> MESSAGE\/CONTINUE 0\.[0-9]+$/ !-> MESSAGE\/CONTINUE 0.######/' >> $cleanups
+echo '/say `sumcpu`/,+2 s/^0\.[0-9]+$/0.######/' >> $cleanups
+
+sed -r -i_orig -f $cleanups $log_file
+sed -r -i_orig -f $cleanups $err_file
+sed -r -i_orig -f $cleanups $ncdump_file
+
+rm -f $cleanups
+
 # Clean-up
 rm -f `cat TRASH_FILES`
 rm -fr subdir tmp
 
-now=`date`
-echo  "Ended at $now" >> $err_file
-echo  "Ended at $now" >> $log_file
-echo  "Ended at $now"
-
diff --git a/bench/TEST_SCRIPTS b/bench/TEST_SCRIPTS
index 9166389..d65a417 100644
--- a/bench/TEST_SCRIPTS
+++ b/bench/TEST_SCRIPTS
@@ -268,10 +268,23 @@ bn_spawn_fail.jnl
 bn_ave_of_ave.jnl
 bn_agg_member_syntax.jnl
 bn_true_monthly.jnl
+bn720_bug_fixes.jnl
+bn_compressed_gather.jnl
+bn_dynamic_gather.jnl
+bn_stat_precision.jnl
+bn_plot_vs_with_time.jnl
+bn_dot_product.jnl
+bn_cache_management.jnl
+bn_transp_choose.jnl
+bn_iin_regrid.jnl
+!
 ! bn_gif, bn_all_ef, and bn_startupfile at end
+!
 bn_gif.jnl
 bn_ps.jnl
 bn_all_ef.jnl
 bn_startupfile.jnl
+!
 ! Test SOCAT decimation script (not part of normal benchmark tests)
+!
 err700_decimate.jnl
diff --git a/bench/TRASH_FILES b/bench/TRASH_FILES
index e489abd..a88ad1c 100644
--- a/bench/TRASH_FILES
+++ b/bench/TRASH_FILES
@@ -10,9 +10,9 @@
 a1.nc
 a2.nc
 aa.nc
+abc.dat
 abcdefghijklmnopqrstuvwxyabcdefghijklmnopqrstuvwxyabcdefghijklmnopqrstuvwxyabcdefghijklmnopqrstuvwxyabcdefghijklmnopqrstuvwxyabcdefghijklmnopqrstuvwxyabcdefghijklmnopqrstuvwxy.gif
 abcdefghijklmnopqrstuvwxyabcdefghijklmnopqrstuvwxyabcdefghijklmnopqrstuvwxyabcdefghijklmnopqrstuvwxyabcdefghijklmnopqrstuvwxyabcdefghijklmnopqrstuvwxyabcdefghijklmnopqrstuvwxy.png
-abc.dat
 a.gif
 a.jnl
 a.nc
@@ -23,8 +23,13 @@ append_to_this.nc
 asc.nc
 a.txt
 b1566.jnl
+b1.nc
+b2.nc
 b.jnl
 b.nc
+bn_dynamic_gather_0.out
+bn_dynamic_gather_30.out
+bn_dynamic_gather_60.out
 bn_test_stream.jnl
 c1.nc
 c2.nc
@@ -84,6 +89,7 @@ justh.nc
 layerz_test_data.txt
 list_of_numbers.dat
 longax.dat
+longaxspace.dat
 longtitle.nc
 longvname.nc
 lonlat.dat
@@ -146,6 +152,7 @@ test0p.cdf
 test_100x100.nc
 test2.cdf
 test_abs.cdf
+test_auto_cache.out
 test.cdf
 test.dat
 test_fil0.cdf
diff --git a/bench/ansley_official.rhel5_32_err b/bench/ansley_official.rhel5_32_err
index 1dae955..a639cd8 100644
--- a/bench/ansley_official.rhel5_32_err
+++ b/bench/ansley_official.rhel5_32_err
@@ -1,10 +1,10 @@
 Procedure run_all to run all FERRET benchmarks
 Running FERRET version /home/users/ansley/build/linux/FERRET/fer/ferret_c
--rwxr-xr-x 1 ansley tmap 119374506 Feb 10 10:07 /home/users/ansley/build/linux/FERRET/fer/ferret_c
+-rwxr-xr-x 1 ansley tmap 120937210 May 11 10:23 /home/users/ansley/build/linux/FERRET/fer/ferret_c
 Using external functions from /home/users/ansley/build/linux/FERRET/external_functions/ext_func
 Running the tests of external functions y
 Benchmark run by ansley
-Note: Ferret v7.1 release
+Note: fix to dot-product axis merging 
 ncdump output will be in all_ncdump.out, and appended to this log file 
 ***** Restricting Ferret paths to bench directory *****
 FER_DAT=.
@@ -20,9 +20,11 @@ FER_LIBS=/home/users/tmap/ferret/linux/lib
 FER_PALETTE=. /home/users/tmap/ferret/linux/ppl
 PWD=/home/users/ansley/build/linux/FERRET/bench
 PYFER_EXTERNAL_FUNCTIONS=/home/users/tmap/ferret/linux/ext_func/pylibs
-Beginning at Fri Feb 10 10:08:34 PST 2017
+Beginning at Thu May 11 10:26:09 PDT 2017
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_syntax
            *** NOTE: /FILES is deprecated.  Use /MEMBERS
         SET EXPRESSION has not been given or implied
  **ERROR: unknown command qualifier: notaqualifier
@@ -33,6 +35,8 @@ that
 \! ignore (err cuz bang gets escaped)
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_dollar
  **ERROR: invalid command: Value needed for argument 3 in command
           GO bn_dollar hello
 message/cont $3
@@ -83,6 +87,8 @@ say ($100)
 say ($10)0
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_grave
  **ERROR: command syntax: unpaired grave accents: message/continue "2+2=`2+2"
 message/continue "2+2=`2+2"
  **ERROR: variable unknown or not in data set: GARBAGE
@@ -125,6 +131,8 @@ MESSAGE/CONTINUE `sst,return=Xsize`
 MESSAGE/CONTINUE `sst,return=trash`
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_letd
  **ERROR: unknown data set: NOEXIST
 DEFINE VARIABLE/d=noexist a = b
  **ERROR: variable unknown or not in data set: AIRT[D=GT4D011]
@@ -135,6 +143,8 @@ can var
  LISTing to file v1file.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_if
  **ERROR: invalid command: ENDIF can only be used in an IF clause
 ENDIF
  **ERROR: command syntax: ELIF cannot be used in single line IF
@@ -153,6 +163,8 @@ elif
            *** NOTE: Unclosed IF statement ... assuming ENDIF, in script ./bn_if.jnl
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_expressions
  **ERROR: command syntax: IF I GT 3 THEN ( IF I LT 5 THEN I ELSE -9 ) ELSE .333
           Cannot use multiple IFs in an expression
 LIST/ORDER=X  IF I GT 3 THEN ( IF I LT 5 THEN I ELSE -9 ) ELSE .333
@@ -164,6 +176,8 @@ DEFINE VARIABLE A = IF I LT 5 THEN I ELSE -9
 load a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16,a17,a18,a19,a20,a21
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_geometry
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
  PERMANENT data cleared from memory
@@ -175,6 +189,8 @@ load a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16,a17,a18,a19,a20,a21
 LIST X[I=1:5] - X[I=6:9]
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_output
  LISTing to file WV.J34K56L7
  LISTing to file test.dat
  LISTing to file test.dat
@@ -183,14 +199,22 @@ LIST X[I=1:5] - X[I=6:9]
 LIST/FILE=test.gt/FORMAT=TMAP/L=1:3 v,v^0.5
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_in_plane
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_compress
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_interpolate
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_regrid
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
 Replacing definition of axis XFINE
@@ -200,9 +224,13 @@ Replacing definition of axis YCOARSE
 Replacing definition of grid G24
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_ez
  LISTing to file test.unf
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_plot
  **ERROR: dimensions improperly specified: specified data is not a line
            - its a 2D region: "plot/i=1:10/j=1:20/nolabel i+j"
 plot/i=1:10/j=1:20/nolabel i+j
@@ -265,6 +293,8 @@ cont/over/i=1:10/thick=4 i
 cont/over/i=1:10/sigdig=-1 i
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_curv
 Replacing definition of axis LON_FIELD_I_AXIS
 Replacing definition of axis LON_FIELD_J_AXIS
 Replacing definition of axis LAT_FIELD_I_AXIS
@@ -282,6 +312,8 @@ shade/nolabel sst, x_page[j=1:12], y_page
 shade/nolabel sst, x_page[j=1:12], y_page
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_symbols
  **ERROR: command syntax: illegal name: TEST*
 define symbol test* = hello
  **ERROR: invalid command: Value needed for argument 5 in command
@@ -301,8 +333,12 @@ message/continue ($t2"|solong>really hello|bye|")
            *** NOTE: Valid symbol t2 choices are: solong>really hello|bye|
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_comma_delimited
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_dynamic_grids
  **ERROR: unknown defining grid: GX=NOEXIST
 list temp[gx=noexist]
  **ERROR: command syntax: P=NOEXIST
@@ -345,12 +381,8 @@ list tu
 list tu
  **ERROR: regridding: Axis orientation not matching request:GX=PSYU
 list tu
- Cached data cleared from memory
- **ERROR: request exceeds memory setting: 50 Mwords were requested.
+ **ERROR: request exceeds memory setting
 list temp[gz=z999999,z=5:15]
-           *** NOTE: You can use SET MEMORY/SIZE=xxx to increase memory.
-           *** NOTE: The "Memory use" section of the FERRET Users Guide has further tips.
- Cached data cleared from memory
            *** NOTE: Ambiguous coordinates on X axis: X[X=0.1:10:1.5] +  X[X=1.1:11:1.5]
            *** NOTE: Ambiguous coordinates on X axis: X[X=0.1:10:1.5] +  X[X=1.1:11:1.5]
            *** NOTE: Ambiguous coordinates on X axis: TEMP[I=101:120:4]+X[I=101:120:4]
@@ -373,6 +405,8 @@ list a
 list a
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_cdf
  LISTing to file test0a.cdf
  LISTing to file test0b.cdf
  LISTing to file test0c.cdf
@@ -486,12 +520,16 @@ list/format=cdf/l=13/append/file=test_abs.cdf l1
            *** NOTE: Axis coordinates are decreasing-ordered. Reversing ordering for axis Y1010_REV
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_regrid_transforms
  **ERROR: regridding: G=W - more than 1 target grid
 load temp[g=u,g=w]
  **ERROR: unknown defining grid: G=X --> g=user-or-pseudo-var not allowed
 load temp[g=x]
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_axis_limits
  **ERROR: command syntax: xlimits
 plot/xlimits i
  **ERROR: command syntax: xlimits= i
@@ -510,8 +548,12 @@ plot/xlimits=1:2: i
 plot/xlimits=5:5 i
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_movie
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_ez_order
  LISTing to file test_perm10.dat
  LISTing to file test_perm24.dat
  LISTing to file test_perm48.dat
@@ -524,10 +566,16 @@ Replacing definition of grid G24
  LISTing to file test_stream.unf
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_user
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_stream
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_mc
  **TMAP ERR: Attempt to access unsupported feature
              Descriptor requests delta of 0, please use 1
              Data set: ./coads_clim_bad_delta.des
@@ -540,72 +588,81 @@ set data coads_clim_step_order.des
 list sst
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_negative_t
 Replacing definition of axis TAX
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_xact_regrid
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_gc_functions
 Replacing definition of axis TIME
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn491_bug_fixes.jnl
  LISTing to file test.cdf
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis TAX
 Replacing definition of axis TAX
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
- Cached data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_odd_variable_name
  **ERROR: command syntax: v2-and-minus
           - before and is illegal
 list v2-and-minus
- **ERROR: dimensions improperly specified: 99999999 words were requested.
+ **ERROR: illegal limits: Limits must be provided for pseudo-variable.
 list x
-           *** NOTE: Check for unspecified limits on an ABSTRACT axis
-           *** NOTE: Use the SHOW GRID command to see the axes
- **ERROR: dimensions improperly specified: 99999999 words were requested.
+ **ERROR: illegal limits: Limits must be provided for pseudo-variable.
 list i
-           *** NOTE: Check for unspecified limits on an ABSTRACT axis
-           *** NOTE: Use the SHOW GRID command to see the axes
  **ERROR: command syntax: v2-and-minus[i=5:15 at ddc]
           - before and is illegal
 list v2-and-minus[i=5:15 at ddc]
- Cached data cleared from memory
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_test_stream
  LISTing to file permutedBinaryTest.dat
  LISTing to file junk.dat
 Replacing definition of axis XAX
 Replacing definition of axis YAX
 Replacing definition of axis ZAX
 Replacing definition of axis TAX
- **ERROR: request exceeds memory setting: 48000 Mwords were requested.
+ **ERROR: request exceeds memory setting
 load num
-           *** NOTE: You can use SET MEMORY/SIZE=xxx to increase memory.
-           *** NOTE: The "Memory use" section of the FERRET Users Guide has further tips.
 Replacing definition of axis YAX
 Replacing definition of axis ZAX
 Replacing definition of axis TAX
- **ERROR: request exceeds memory setting: 2000 Mwords were requested.
+ **ERROR: request exceeds memory setting
 load num
-           *** NOTE: You can use SET MEMORY/SIZE=xxx to increase memory.
-           *** NOTE: The "Memory use" section of the FERRET Users Guide has further tips.
 Replacing definition of axis XAX
 Replacing definition of axis YAX
 Replacing definition of axis ZAX
@@ -622,6 +679,8 @@ SET DATA/EZ/var=num/order=vxyzt/grid=mygrid junk.dat
 SET DATA/EZ/var=num/type=i3/grid=mygrid/form=stream junk.dat
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_define_axes
 Replacing definition of axis XAX
 Replacing definition of axis XAX
 Replacing definition of axis XAX
@@ -677,47 +736,68 @@ Replacing definition of axis XAX2
 Replacing definition of axis XAX2
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_pattern
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_polygon
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn500_bug_fixes
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis TCAL
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file out.cdf
  LISTing to file out.cdf
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
            *** NOTE: /UNIT=MONTHS is ambiguous ... using 1/12 of 365.2425 days
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  **ERROR: command syntax: noname(i)
           unknown function "noname"
 stat i, noname(i)
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_sample
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
  PERMANENT data cleared from memory
@@ -756,6 +836,8 @@ stat i, noname(i)
  TEMPORARY data cleared from memory
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_strides_revs_perms
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
  PERMANENT data cleared from memory
@@ -776,6 +858,8 @@ LIST/i=2:4:2 VAR
            *** NOTE: Stride value not a factor of axis length
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_non_COARDS_netCDF
            *** NOTE: Coordinates out of order or missing on axis UNORDERED_AXIS at subscript 4
            *** NOTE: A dummy axis of subscripts will be used
            *** NOTE: Coordinates out of order or missing on axis GAPPY_AXIS at subscript 3
@@ -783,9 +867,13 @@ LIST/i=2:4:2 VAR
            *** NOTE: Axis coordinates are decreasing-ordered. Reversing ordering for axis BACKWARDS_AXIS
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_cache_hits
 Replacing definition of grid GX
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_regrid_to_user
 Replacing definition of axis YAX
 Replacing definition of grid GG2
  **ERROR: unknown defining grid: G=NO_EXIST
@@ -797,6 +885,8 @@ Replacing definition of axis Y2
 Replacing definition of grid MYGRID
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_calendar
 Replacing definition of axis TDAYS
 Replacing definition of axis TDAYS
 Replacing definition of axis TDAYS
@@ -805,6 +895,18 @@ Replacing definition of axis TWEEKS
 Replacing definition of axis TWEEKS
 Replacing definition of axis TWEEKS
  LISTing to file calsst.cdf
+
+Bailing out of external function "ffta":
+	 Time axis must be a regular axis
+
+Bailing out of external function "eof_space":
+	 Function EOF_SPACE not available in this version of Ferret. Use EOFSVD_SPACE
+
+Bailing out of external function "eof_stat":
+	 Function EOF_STAT not available in this version of Ferret. Use EOFSVD_STAT
+
+Bailing out of external function "eof_tfunc":
+	 Function EOF_TFUNC not available in this version of Ferret. Use EOFSVD_TFUNC
            *** NOTE: /UNIT=MONTHS  ... using 1/12 of 360.00 days
 Replacing definition of grid TGRID
 Replacing definition of axis TDAYS
@@ -812,6 +914,8 @@ Replacing definition of grid TGRID
            *** NOTE: /UNIT=MONTHS  ... using 1/12 of 365.25 days
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_dash_dot
  **ERROR: command syntax: dash=(1., 2.)
           DASH[=(dn1,up1,dn2,up2)] takes 4 arguments or no argument
 plot/dash=(1., 2.)/color=red/thick/i=1:1000 sin(62.8*(i+10) )
@@ -820,36 +924,33 @@ plot/dash=(1., 2.)/color=red/thick/i=1:1000 sin(62.8*(i+10) )
 plot/dash=(-1., 2., 3., 4.)/i=1:1000 sin(62.8*(i+20) )
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
-
-Bailing out of external function "ffta":
-	 Time axis must be a regular axis
-
-Bailing out of external function "eof_space":
-	 Function EOF_SPACE not available in this version of Ferret. Use EOFSVD_SPACE
-
-Bailing out of external function "eof_stat":
-	 Function EOF_STAT not available in this version of Ferret. Use EOFSVD_STAT
-
-Bailing out of external function "eof_tfunc":
-	 Function EOF_TFUNC not available in this version of Ferret. Use EOFSVD_TFUNC
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_flowlines
  Using every   2th vector in the Y direction
  Using every   2th vector in the Y direction
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  Using every   2th vector in the X direction
  Using every   2th vector in the Y direction
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_logaxes
 Replacing definition of axis DLOG
 Replacing definition of axis DLOG
  **ERROR: value out of legal range: Limits for log axis negative or too small: -9.00 : 0.00
 plot/hlog fcn
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_internal_external_functions
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis DAYT
 Replacing definition of grid TGRID
  **ERROR: error in external function
@@ -857,6 +958,7 @@ LIST vw_fft
 Replacing definition of grid TGRID
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis X10
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
@@ -866,33 +968,47 @@ Replacing definition of axis X10
            *** NOTE: Axis is in use by grid G10X5
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Replacing definition of axis XAXS
+Replacing definition of axis YAXS
+Replacing definition of axis ZAXS
+Replacing definition of axis TAXS
+Replacing definition of grid MYGRD
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  **ERROR: illegal limits: VWND does not contain L=102:150
           Data are available in L =    1:60
 list tsorted_indices, tsorted_wnd
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  **ERROR: error in external function
 list/l=1:2 eofxyfcn
  **ERROR: error in external function
@@ -901,10 +1017,13 @@ list/i=1:3/j=1:3 eofstat
 list/i=1:2 eoftime
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  **ERROR: command syntax: strindex("Ferret is fun for the whole family - real family fun")
           The strindex function has an incorrect number of arguments
 list strindex("Ferret is fun for the whole family - real family fun")
@@ -922,16 +1041,23 @@ list substring("Have you fed your ferret today")
 list strcat ("All work and no play")
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_modulo_strides
  LISTing to file test_modulo.cdf
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
@@ -941,6 +1067,8 @@ list strcat ("All work and no play")
            *** NOTE: Stride value not a factor of axis length
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_axis_viewports
 Re-defining viewport MID
 Re-defining viewport MID2
 Re-defining viewport LLAX
@@ -949,6 +1077,8 @@ Re-defining viewport ULAX
 Re-defining viewport URAX
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_strings
  **ERROR: command syntax: "string2"}
 list e
  **ERROR: command syntax: 5, "string2"}
@@ -992,10 +1122,16 @@ list/nohead SIN({"a","b","c"})
 list/nohead MAX("a",{"a","b","c"})
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_axcontrol
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_vec_curv
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_delimited_read
 Replacing definition of axis X1
 Replacing definition of grid G1
 Replacing definition of axis TAX
@@ -1016,21 +1152,29 @@ SET DATA/FORM=delimited/type="da,da, date2"  bn_delimited_read_date_time.dat
 SET DATA/EZ/form=delim/delim="/,,,:" bn_delimited_read_date_time.dat
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn541_bug_fixes
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file test_good_order.cdf
  LISTing to file test_bad_order.cdf
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis T2
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Re-defining viewport LL6
 Re-defining viewport UL6
 Re-defining viewport LM6
@@ -1039,41 +1183,52 @@ Re-defining viewport LR6
 Re-defining viewport UR6
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis XAX
 Replacing definition of axis YAX
 Replacing definition of axis ZAX
 Replacing definition of axis TAX
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file profiles.nc
  LISTing to file profiles.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file test_100x100.nc
- Cached data cleared from memory
- Cached data cleared from memory
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis XAX
 Replacing definition of axis YAX
 Replacing definition of grid MYGRID
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_cancel_axes
  LISTing to file longax.dat
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
            *** NOTE: Axis has repeated values -- micro-adjusting ...
            *** NOTE: Axis has repeated values -- micro-adjusting ...
            *** NOTE: Axis has repeated values -- micro-adjusting ...
@@ -1086,25 +1241,33 @@ Replacing definition of grid MYGRID
            *** NOTE: Axis has repeated values -- micro-adjusting ...
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
            *** NOTE: regarding ./test_axes.nc ...
            *** NOTE: Climatological axes test_irreg, test_seas defined
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn542_bug_fixes
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
            *** NOTE: /UNIT=MONTHS is ambiguous ... using 1/12 of 365.2425 days
            *** NOTE: /UNIT=MONTHS  ... using 1/12 of 365.25 days
 Replacing definition of axis TAX2
            *** NOTE: /UNIT=MONTHS  ... using 1/12 of 365.25 days
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file string4d.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
            *** NOTE: regarding ./test_axes.nc ...
            *** NOTE: Climatological axes test_irreg, test_seas defined
            *** NOTE: Not deleted: TEST_IRREG
@@ -1369,30 +1532,23 @@ Replacing definition of axis TAX2
            *** NOTE: Axis is in use by grid GG2
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_subspan_modulo
  LISTing to file test_mod.cdf
-           *** NOTE: Shell command returned failure flag: ncdump -h test_nomod.cdf | grep modulo
  LISTing to file test_mod.cdf
-           *** NOTE: Shell command returned failure flag: ncdump -h test_nomod.cdf | grep modulo
  LISTing to file test_mod.cdf
-           *** NOTE: Shell command returned failure flag: ncdump -h test_nomod.cdf | grep modulo
  **ERROR: improper grid or axis definition: Axis length exceeds modulo length
 define axis/x=130e:500:10/modulo=360 xsub
  LISTing to file test_mod.cdf
-           *** NOTE: Shell command returned failure flag: ncdump -h test_nomod.cdf | grep modulo
  LISTing to file test_mod.cdf
-           *** NOTE: Shell command returned failure flag: ncdump -h test_nomod.cdf | grep modulo
  LISTing to file test_mod.cdf
-           *** NOTE: Shell command returned failure flag: ncdump -h test_nomod.cdf | grep modulo
  LISTing to file test_mod.cdf
-           *** NOTE: Shell command returned failure flag: ncdump -h test_nomod.cdf | grep modulo
  LISTing to file test_mod.cdf
-           *** NOTE: Shell command returned failure flag: ncdump -h test_nomod.cdf | grep modulo
  LISTing to file test_mod.cdf
-           *** NOTE: Shell command returned failure flag: ncdump -h test_nomod.cdf | grep modulo
  LISTing to file test_mod.cdf
-           *** NOTE: Shell command returned failure flag: ncdump -h test_nomod.cdf | grep modulo
  LISTing to file test_subspan_modulo.nc
  LISTing to file test_subspan_modulo.nc
  LISTing to file test_subspan_modulo.nc
@@ -1406,52 +1562,74 @@ define axis/x=130e:500:10/modulo=360 xsub
            *** NOTE: Stride value not a factor of axis length
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_dots
            *** NOTE: /THICKNESS ignored  on /SYMBOL=DOT
            *** NOTE: /SIZE= ignored  on /SYMBOL=DOT
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_lev_symbols
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_mode_logo_lab
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
- PERMANENT data cleared from memory
- TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_modulo_attribute
            *** NOTE: Undecipherable value of netCDF attribute modulo on variable lon_moderr
            *** NOTE: modulo = "j"
            *** NOTE: Undecipherable value of netCDF attribute modulo on variable time_moderr
            *** NOTE: modulo = "j"
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn550_bug_fixes
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn551_bug_fixes
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Re-defining viewport MID
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Re-defining viewport MID1
 Re-defining viewport MID2
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis TAX
 Replacing definition of axis TAX
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis XAX
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn552_bug_fixes
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  **ERROR: value out of legal range: # of contour levels > 500  (3283)
 CONTOUR/L=1/LEV=0.01d sst
  **ERROR: value out of legal range: # of contour levels > 500  (3283)
@@ -1462,20 +1640,23 @@ SHADE/L=1/LEV=0.01d sst
 POLYGON/KEY/LEV=0.01d/coord_ax=Z  PLMxpoly+PLMxpolymark, PLMypoly+PLMypolymark, PLMpolydata
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
            *** NOTE: Valid calendars are GREGORIAN NOLEAP    JULIAN    360_DAY   ALL_LEAP
            *** NOTE: calendar attribute on axis "TIME" is not recognized: BADNAME
            *** NOTE: A dummy axis of subscripts will be used
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 rm: cannot remove `input.txt': No such file or directory
 ls: input.txt: No such file or directory
-           *** NOTE: Shell command returned failure flag: rm input.txt
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis XAX
 Replacing definition of axis YAX
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  **ERROR: invalid command:  use RETURN= shape,size,grid,title,bad,t0,f0,units,dset,
             dsetnum,dsetpath,dsettitle,*size,*start,*end,
             *units,*axis,nc_scale,nc_offset,user_scale,user_offset,
@@ -1484,22 +1665,28 @@ Replacing definition of axis YAX
 MESSAGE/CONTINUE `axy, return=xx`
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis XAX
  LISTing to file a.dat
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis YAX
 Replacing definition of axis Z1
            *** NOTE: /UNIT=MONTHS is ambiguous ... using 1/12 of 365.2425 days
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file clim.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
            *** NOTE: Coordinates missing on axis LONGITUDE at subscript -2033
            *** NOTE: A dummy axis of subscripts will be used
            *** NOTE: Coordinates missing on axis LATITUDE at subscript -2033
@@ -1510,31 +1697,45 @@ Replacing definition of axis Z1
 list/t=1-jan-1990 dummy
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_set_var_scale_off.jnl
  **ERROR: invalid command: Can SET VARIABLE/OFFSET= only with NetCDF datasets
 SET VAR/OFFSET=1 x1
  **ERROR: invalid command: Can SET VARIABLE/SCALEFAC= only with NetCDF datasets
 SET VAR/SCALE=10 x2
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_longvarnames.jnl
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file longvname.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file longvname.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_shakey.jnl
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_eof_4d.jnl
  LISTing to file eofsp.cdf
  LISTing to file eofti.cdf
  LISTing to file eofst.cdf
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_abstract_axis_names.jnl
  LISTing to file confuse_xz.nc
  LISTing to file confuse_yz.nc
  LISTing to file confuse_yt.nc
@@ -1545,19 +1746,24 @@ SET VAR/SCALE=10 x2
  LISTing to file confuse_yzt.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_many_polygons.jnl
 Replacing definition of axis YQ
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
- PERMANENT data cleared from memory
- TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_fill_irregular.jnl
 Replacing definition of axis TAX
 Replacing definition of axis XAX
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_xml_output.jnl
  LISTing to file a.nc
  LISTing to file b.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 SHO VAR/XML
 SHO VAR/XML
 SHO VAR/XML
@@ -1569,16 +1775,25 @@ SHOW VAR/XML
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_test_nan.jnl
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn553_bug_fixes.jnl
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_graticules.jnl
  Using every   5th vector in the X direction
  Using every   3th vector in the Y direction
  Using every   2th vector in the X direction
@@ -1590,6 +1805,8 @@ Replacing definition of axis TAX
 Replacing definition of axis TAX
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_repeat_range.jnl
  TEMPORARY data cleared from memory
  **ERROR: invalid command: REPEAT/NAME requires /RANGE
 rep/name=a say `a`
@@ -1621,25 +1838,34 @@ repeat/range=3:1:-1/name=a list a
 repeat/range=3:1:-1/name=a list a
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn554_bug_fixes.jnl
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  **ERROR: illegal limits: "TEMP" does not exist at T=AUG-1980:JAN-1982
           Axis extremes are T=AUG-1982:JAN-1983
 list/t=1-aug-1980:1-jan-1982/i=92/j=35 temp
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis XAX
 Replacing definition of axis YAX
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis TAX1
 Replacing definition of axis TAX2
 Replacing definition of axis TAX1
@@ -1648,6 +1874,7 @@ Replacing definition of axis TAX1
 Replacing definition of axis TAX2
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
  PERMANENT data cleared from memory
@@ -1663,29 +1890,39 @@ Replacing definition of grid AGRID
  TEMPORARY data cleared from memory
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis X_AX
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis TAX
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  TEMPORARY data cleared from memory
  TEMPORARY data cleared from memory
  TEMPORARY data cleared from memory
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis XAX
 Replacing definition of axis YAX
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_bounds.jnl
  LISTing to file a.nc
  LISTing to file a.nc
  LISTing to file a.nc
@@ -1715,7 +1952,6 @@ def axis/t/bounds tax= {12, 12.2, 36, 36.2, 60, 60.2, 84, 84.2, 108} , {0,24, 0,
            *** NOTE: Axis is in use by grid GFORMAT
  LISTing to file a.nc
  LISTing to file a.nc
-           *** NOTE: Cannot have both /BOUNDS and /RIGID Ignoring /RIGID
  LISTing to file a.nc
            *** NOTE: Cannot have both /BOUNDS and /EDGES Ignoring /EDGES
  LISTing to file a.nc
@@ -1741,11 +1977,15 @@ Replacing definition of axis tax
            *** NOTE: Substituting coordinate midpoints
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_all_leap.jnl
 Replacing definition of grid TGRID
  **ERROR: command syntax: Invalid calendar name. Names are, GREGORIAN, NOLEAP, JULIAN, 360_DAY, ALL_LEAP
 def axis/t/cal=nogood/t=1-jan-2000:1-jan-2010:1/units=months tax
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_reset_attributes.jnl
            *** NOTE: Units  not recognized: something
            *** NOTE: They will not be convertible:
            *** NOTE: Units  not recognized: something
@@ -1760,89 +2000,122 @@ Replacing definition of axis TAX
 Replacing definition of axis XAX
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn570_bug_fixes.jnl
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
            *** NOTE: /UNIT=MONTHS  ... using 1/12 of 365.00 days
 Replacing definition of axis TAX
 Replacing definition of axis ZAX
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis XAX
  LISTing to file xlong.nc
  LISTing to file xlongshift.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis TAX
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_modstats.jnl
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_mc_vary_scale.jnl
  TEMPORARY data cleared from memory
  TEMPORARY data cleared from memory
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_plot_nokey.jnl
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn580_bug_fixes.jnl
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis XAX
 Replacing definition of axis YAX
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Re-defining viewport VP_1
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis XAX
 Replacing definition of axis YAX
 Replacing definition of axis ZAX
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis XAX
 Replacing definition of axis YAX
 Replacing definition of axis XAX
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis XFINE
 Replacing definition of axis YFINE
  LISTing to file fine.dat
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  **ERROR: illegal limits: One-point independent axis: Requires a /HLIMIT or /VLIMIT specification
 plot/sym/siz=0.3 0*t[gt=vwnd]
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
            *** NOTE: /UNIT=MONTHS  ... using 1/12 of 365.00 days
 Replacing definition of axis TAX
  LISTing to file aa.nc
  LISTing to file cc.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  **ERROR: First argument is a letter of the alphabet
 query/ignore $1%q|a|b|c|d|<First argument is a letter of the alphabet%
  **ERROR: invalid command: Valid value needed for argument $2
@@ -1875,31 +2148,46 @@ message/continue ($t2"|solong>really hello|bye|")
            *** NOTE: Valid symbol t2 choices are: solong>really hello|bye|
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  **ERROR: invalid command: delta non-positive on X axis of EX#1
 list/l=1/j=40/i=0:300:0 sst
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file 10a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_inf_levels.jnl
 Replacing definition of axis XQ
 Replacing definition of axis YQ
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_regulart.jnl
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_labwid.jnl
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_redefine_taxis_mc.jnl
 Replacing definition of axis TIME1
            *** NOTE: grid GHB2 used by data set coads_clim
            *** NOTE: Redefinition may alter apparent contents of data set
@@ -1908,6 +2196,8 @@ Replacing definition of axis TIME1
            *** NOTE: Redefinition may alter apparent contents of data set
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_illegal_axisname.jnl
 Replacing definition of axis COADSX.ILLEGAL
            *** NOTE: grid GEX2 used by data set illeg_axname
            *** NOTE: Redefinition may alter apparent contents of data set
@@ -1920,38 +2210,57 @@ Replacing definition of axis COADSY.ILLEGAL
            *** NOTE: Redefinition may alter apparent contents of data set
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_exit_script.jnl
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_exit_cycle.jnl
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_curv_mod.jnl
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_shade_keycont.jnl
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn581_bug_fixes.jnl
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis TIME
  LISTing to file a.nc
  TEMPORARY data cleared from memory
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file longtitle.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file longtitle.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis TAX
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
            *** NOTE: /UNIT=MONTHS is ambiguous ... using 1/12 of 365.2425 days
  **ERROR: improper grid or axis definition: error in start,end,delta
 DEFINE AXIS/T0="1-JAN-1861"/UNITS=months/t myt
@@ -1960,39 +2269,58 @@ DEFINE AXIS/T0="1-JAN-1861"/UNITS=months/t myt
 DEFINE AXIS/T0="1-JAN-1861"/UNITS=months/T/CALENDAR=noleap myt
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file t0_cdc.nc
  LISTing to file my_cdc_timeaxis.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis TGREG
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_tab_comma_multivar.jnl
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_element_functions.jnl
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_long_revision_num.jnl
  LISTing to file revision.nc
 
 Bailing out of external function "ffta":
 	 Time axis must be a regular axis
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_window_title.jnl
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_last_error.jnl
  **ERROR: command syntax: IF I GT 3 THEN ( IF I LT 5 THEN I ELSE -9 ) ELSE .333
           Cannot use multiple IFs in an expression
 LIST/ORDER=X  IF I GT 3 THEN ( IF I LT 5 THEN I ELSE -9 ) ELSE .333
@@ -2013,11 +2341,17 @@ repeat/range=1:3/name=L (use coads_climatology; list/nohead [sst=I=1,j=1])
 LOAD vw_fft
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_deg_min.jnl
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_dp_readscale.jnl
  TEMPORARY data cleared from memory
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_bounds_defineax.jnl
 Replacing definition of axis TAX
 Replacing definition of axis XAX
 Replacing definition of axis ZAX
@@ -2027,6 +2361,8 @@ Replacing definition of axis ZAX
 Replacing definition of axis ZAX2
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_attributes.jnl
  **ERROR: invalid command: SHOW ATTRIBUTE given with no argument
 sho att/all
  **ERROR: unknown data set: d=2
@@ -2038,28 +2374,37 @@ sho att salt.nonsense
 sho att/all .
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
            *** NOTE: Axis coordinates are decreasing-ordered. Reversing ordering for axis l
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
            *** NOTE: Axis coordinates are decreasing-ordered. Reversing ordering for axis l
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
            *** NOTE: Changing the value of attribute temp.pp
            *** NOTE: Changing the length  of attribute temp.pp
            *** NOTE: Changing the value of attribute temp.some_text
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
            *** NOTE: Changing the value of attribute temp.long_name
            *** NOTE: Changing the value of attribute temp.units
            *** NOTE: Changing the value of attribute temp.missing_value
@@ -2078,8 +2423,10 @@ list coadsx.units
 set att (COADSX81_81).axis = "Z"
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
            *** NOTE: Changing the value of attribute temp.pp
            *** NOTE: Changing the length  of attribute temp.pp
            *** NOTE: Changing the value of attribute temp.some_text
@@ -2093,21 +2440,25 @@ set att (COADSX81_81).axis = "Z"
            *** NOTE: Changing the value of attribute temp.pp
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file a.nc
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file a.nc
  LISTing to file a.nc
  LISTing to file a.nc
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file a.nc
  LISTing to file a.nc
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file a.nc
  LISTing to file a.nc
 Replacing definition of axis XAX
@@ -2117,14 +2468,17 @@ Replacing definition of axis TAX
 Replacing definition of grid MYGRID
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file a.nc
  LISTing to file a.nc
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file a.nc
            *** NOTE: Converting data type of missing_value NC_FLOAT to match output type of variable NC_INT
  LISTing to file a.nc
@@ -2137,6 +2491,7 @@ Replacing definition of grid MYGRID
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file a.nc
            *** NOTE: Changing the value of attribute (COADSX).point_spacing
            *** NOTE: Changing the value of attribute (COADSY).point_spacing
@@ -2154,6 +2509,7 @@ set var/outtype=char broiled
 set var/outtype=garbage broiled
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
            *** NOTE: Changing the value of attribute (PSXT).units
  LISTing to file a.nc
  LISTing to file a.nc
@@ -2162,17 +2518,21 @@ set var/outtype=garbage broiled
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file a.nc
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis X2AX
            *** NOTE: Changing the value of attribute (z4ax).positive
  LISTing to file string4d.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
            *** NOTE: Changing the value of attribute (TIME7).units
            *** NOTE: Changing the value of attribute (TIME7).units
            *** NOTE: Changing the value of attribute (TIME7).time_origin
@@ -2185,26 +2545,34 @@ Replacing definition of axis TIME
  LISTing to file a.nc
 syntax error, unexpected WORD_STRING, expecting WORD_WORD
 context: Error { code = 404; message = "data/PMEL/COADS/coads_nothing.cdf"^;};
-curl error details: 
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_transforms.jnl
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_variance.jnl
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_linecolors.jnl
            *** NOTE: New # of line colors will take effect on next new window: SET WIN/NEW then define pen colors
  Using every   3th vector in the X direction
  Using every   4th vector in the Y direction
            *** NOTE: New number of line colors will take effect on next new window: SET WIN/NEW or SET WIN/CLEAR
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_cdf_errmsg.jnl
  **TMAP ERR: non-existent or not on line
              this_is_not_a_file.nc
 SET DAT/FORM=CDF this_is_not_a_file.nc
  **Internet Data error
+curl error details: 
              NetCDF: file not found (OPeNDAP/netCDF Error code -90)
-             Data set: http://ferret.pmel.noaa.gov/thredds/dodsC/data/PMEL/COADS/coads_nothing.cdf
-SET DAT/FORM=CDF "http://ferret.pmel.noaa.gov/thredds/dodsC/data/PMEL/COADS/coads_nothing.cdf"
+             Data set: http://ferret.pmel.noaa.gov/pmel/thredds/dodsC/data/PMEL/COADS/coads_nothing.cdf
+SET DAT/FORM=CDF "http://ferret.pmel.noaa.gov/pmel/thredds/dodsC/data/PMEL/COADS/coads_nothing.cdf"
  **Internet Data error
              NetCDF: I/O failure (OPeNDAP/netCDF Error code -68)
              Data set: http://noserver/a/nofile.cdf
@@ -2216,48 +2584,65 @@ SET DAT/FORM=CDF  "http://noserver/a/nofile.cdf"
 SET DAT/FORM=CDF asc.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn600_bug_fixes.jnl
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file err581_subspanx_fill_bug.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis XIR
  LISTing to file xyir.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  **ERROR: illegal use of transformation:  not all dimensions present on grid
 shade sst[x=@var,k=@var]
  **ERROR: illegal use of transformation:  not all dimensions present on grid
 shade sst[t=@AVE,Z=@ave]
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
            *** NOTE: /UNIT=MONTHS  ... using 1/12 of 360.00 days
  LISTing to file t3file.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file 0000_a.nc
  LISTing to file subdir/a.nc
  LISTing to file subdir/0000_a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
            *** NOTE: /UNIT=MONTHS is ambiguous ... using 1/12 of 365.2425 days
 Replacing definition of axis TAX
  LISTing to file a.nc
@@ -2266,8 +2651,10 @@ Replacing definition of axis TAX
            *** NOTE: cannot parse "units since date", date= "event"; leaving units string
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis tax
            *** NOTE: Invalid I axis limits ignored: TEMP
  **ERROR: dimensions improperly specified: specified data is not a line
@@ -2275,71 +2662,90 @@ Replacing definition of axis tax
 plot/i=100/k=1 temp[x=122.5W]
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis XAX
 Replacing definition of axis XAX
 Replacing definition of axis XAX
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
- Cached data cleared from memory
- Cached data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn601_bug_fixes.jnl
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file b.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file b.nc
  LISTing to file b.nc
-NetCDF: Variable not found (OPeNDAP/netCDF Error code -49)
- TAX3_bnds not found. Attempt to append irregular coordinates to NetCDF axis which has no bounds attribute. Write data originally with the /BOUNDS qualifier.
-LIST/FORMAT=CDF/CLOBBER/FILE=b.nc v
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
            *** NOTE: /UNIT=MONTHS is ambiguous ... using 1/12 of 365.2425 days
 Replacing definition of axis TIME9
            *** NOTE: grid GSQ1 used by data set coads_climatology
            *** NOTE: Redefinition may alter apparent contents of data set
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis TIME
  LISTing to file a.nc
  LISTing to file t2.nc
  LISTing to file t12.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file out.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_set_strides.jnl
  **ERROR: invalid command: it is a child axis already
 set axis/stride=2/offset=1 (AX052)
  **ERROR: invalid command: not a strided axis: COADSX
@@ -2355,31 +2761,46 @@ cancel axis/stride COADSX
 set axis/stride=2 NORMAL
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_lsl_lowpass.jnl
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_return_xmod_tmod.jnl
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn602_bug_fixes
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file noleap.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
            *** NOTE: Units on axis "ALTITUDE" are not recognized: Pa
            *** NOTE: They will not be convertible:
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file tripolar_missing_lon.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
 curl error details: 
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_modnbd.jnl
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_fifty_files.jnl
            *** NOTE: Coordinates missing on axis LONGITUDE at subscript -1187
            *** NOTE: A dummy axis of subscripts will be used
            *** NOTE: Coordinates missing on axis LATITUDE at subscript -1187
@@ -2410,133 +2831,184 @@ curl error details:
            *** NOTE: Axis coordinates are decreasing-ordered. Reversing ordering for axis Y1010_REV
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn603_bug_fixes
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_set_var_name.jnl
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_memory_symbol
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
- Cached data cleared from memory
- Cached data cleared from memory
- Cached data cleared from memory
- Cached data cleared from memory
- PERMANENT data cleared from memory
- TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn605_bug_fixes
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn608_bug_fixes
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file a.nc
  LISTing to file b.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis XAX
 Replacing definition of axis YAX
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  **ERROR: invalid command: "300": Number of contour levels must be between 1 and 250
 SHADE/LEV=300/I=1:100/J=1:100 i+j
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_shade_trim
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_mode_nlevels
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn61_bug_fixes
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_test_opendap
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn611_bug_fixes
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis XAX
  LISTing to file a.nc
  LISTing to file b.nc
  LISTing to file b.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file a.nc
  LISTing to file a.nc
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file z1.nc
  LISTing to file z2.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis TIME
 Replacing definition of axis TIME
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis TIME
  LISTing to file a.nc
  LISTing to file b.nc
  LISTing to file b.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_no_valid_on_plot
  Using every   5th vector in the X direction
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_median
 Replacing definition of axis ZAX
  **ERROR: value out of legal range: Median smoother length must be odd
 plot/trans var, var[z=@med:4]
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn614_bug_fixes
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis TIME
 Replacing definition of axis TIME
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis TIME
  LISTing to file a.nc
  LISTing to file b.nc
  LISTing to file b.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
            *** NOTE: Units on axis "ENS" are not recognized: count
            *** NOTE: They will not be convertible:
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file 1a.dat
  LISTing to file 3a.dat
  LISTing to file 5a.dat
@@ -2545,51 +3017,70 @@ Replacing definition of axis TIME
  LISTing to file 11a.dat
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  **ERROR: variable unknown or not in data set: A_REGRID[D=1,GT=B[D=2]@MOD]
 LIST a_regrid[D=1,GT=b[D=2]@MOD]
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file dat.dat
  LISTing to file a.nc
  LISTing to file unf.dat
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file lonlat.dat
  LISTing to file lonlat.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file a.nc
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis TAX
 Replacing definition of grid GG
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file a.nc
  LISTing to file b.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_mode_nodata_lab
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_proleptic_gregorian_calendar
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_string_ngd_nbd
            *** NOTE: @NGD of string variable, counting null strings as missing
            *** NOTE: @NBD of string variable, counting null strings as missing
 Replacing definition of axis XAX
@@ -2617,21 +3108,33 @@ Replacing definition of axis TAX
            *** NOTE: @NGD of string variable, counting null strings as missing
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_cat_string
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_sort_strings
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_samplexyt
 Replacing definition of axis X1
 Replacing definition of axis Y1
 Replacing definition of grid G1
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_last_go_file.jnl
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_cancel_upcase_uservar.jnl
  LISTing to file a.nc
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_cdf_keepax.jnl
  LISTing to file test0a.cdf
  LISTing to file test0b.cdf
  LISTing to file test0c.cdf
@@ -2828,69 +3331,102 @@ show grid ijkl
            *** NOTE: Axis coordinates are decreasing-ordered. Reversing ordering for axis Y1010_REV
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_keep_axisnames.jnl
  LISTing to file a.nc
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_key_label_minmax.jnl
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn62_bug_fixes.jnl
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis TAX
 Replacing definition of grid TGRID
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_convolve.jnl
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_tax_tstep.jnl
  LISTing to file a.nc
 Replacing definition of axis TSEC
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_grads_z.jnl
 Replacing definition of axis CAXIS
            *** NOTE: grid GMY1 used by data set grads_bug_file
            *** NOTE: Redefinition may alter apparent contents of data set
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_clock_syms
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn63_bug_fixes.jnl
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file a.nc
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
            *** NOTE: /UNIT=MONTHS is ambiguous ... using 1/12 of 365.2425 days
 Replacing definition of axis TAX
            *** NOTE: New # of line colors will take effect on next new window: SET WIN/NEW then define pen colors
            *** NOTE: New number of line colors will take effect on next new window: SET WIN/NEW or SET WIN/CLEAR
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
            *** NOTE: Axis coordinates are decreasing-ordered. Reversing ordering for axis ZAXLEVITR
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file xz.nc
  TEMPORARY data cleared from memory
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file t_bug.nc
 Replacing definition of axis T_AXIS
  LISTing to file t_bug.nc
@@ -2899,48 +3435,72 @@ NetCDF: Variable not found (OPeNDAP/netCDF Error code -49)
 LIST/FORMAT=CDF/FILE=t_bug.nc/APPEND var
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  **ERROR: invalid command: offset must be greater than or equal to zero
 SET AXIS/STRIDE=12/OFFSET=-1 truemonth
  **ERROR: invalid command: stride must be greater than zero
 SET AXIS/STRIDE=-1/OFFSET=1 truemonth
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_axis_reversed_syms
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_isdepth
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_var_hist_levels.jnl
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn64_bug_fixes
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis TAX
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_long_grid_names
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis YAX
 Replacing definition of grid GG123456789012345678902
  **ERROR: unknown defining grid: G=NO_EXIST12345678901234567890
 load/x=160e/y=5s temp[d=2,k=1,g=no_exist12345678901234567890]
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_xml_repl
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn65_bug_fixes
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
            *** NOTE: Units on axis "ENS" are not recognized: count
            *** NOTE: They will not be convertible:
  LISTing to file mypack.nc
@@ -2952,25 +3512,37 @@ load/x=160e/y=5s temp[d=2,k=1,g=no_exist12345678901234567890]
            *** NOTE: They will not be convertible:
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis TAX
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis TAX
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_txtype_dmy
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_n_open_dsets_sym
  LISTing to file list_of_numbers.dat
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_multi_decade
 Re-defining viewport V1
 Re-defining viewport V1
 Re-defining viewport V2
@@ -2982,14 +3554,21 @@ Re-defining viewport V7
 Re-defining viewport V8
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_show_xml_file
  LISTing to file b.nc
  LISTing to file dummy.dat
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn66_bug_fixes
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_netcdf4
  Restoring default chunk cache settings
  Restoring default chunk cache settings
  PERMANENT data cleared from memory
@@ -3024,6 +3603,8 @@ LIST/FORMAT=CDF/file=nc4_deflate4_t1.nc/clobber/ncformat=4/deflate/shuffle/tchun
 LIST/FORMAT=CDF/file=nc4_deflate4chunktoobig.nc/clobber/ncformat=4/deflate=1/xchunk=6/ychunk=18/tchunk=15 sst
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_scat2grid_bin.jnl
  LISTing to file a.nc
  LISTing to file a.nc
  PERMANENT data cleared from memory
@@ -3032,22 +3613,33 @@ LIST/FORMAT=CDF/file=nc4_deflate4chunktoobig.nc/clobber/ncformat=4/deflate=1/xch
            *** NOTE: Axis is in use by grid G10X5
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_axis_dir_symbols
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn663_bug_fixes
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_set_axis_regular
 Replacing definition of grid MYGRID
            *** NOTE: Axis reset to be regular (evenly-spaced): MYX
            *** NOTE: Axis is already regular: MYX
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
            *** NOTE: Axis reset to be regular (evenly-spaced): MYX1
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_set_cancel_redirect
  Use the GO command to name a file of FERRET commands to be executed.
      e.g.   yes? GO filename
  
@@ -3103,22 +3695,35 @@ show grid garbage
  Use "GO/HELP filename" to read documentation in  the file to be executed.
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_min_max_smoothers
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_vector_symbols
  Using every   8th vector in the X direction
  Using every   7th vector in the Y direction
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_variance_large
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_labnum_calendar
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn665_bug_fixes
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file a.nc
 
 Bailing out of external function "tax_year":
@@ -3126,15 +3731,22 @@ Bailing out of external function "tax_year":
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis TAX
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_floatstr
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn67_bug_fixes
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis XAX
 Replacing definition of axis YAX
 Replacing definition of axis ZAX
@@ -3142,19 +3754,26 @@ Replacing definition of axis YAX
 Replacing definition of axis YAX
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file aa.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  **ERROR: value out of legal range: illegal mode argument. Negative or > 1.e+9,
-set mode desperate   9999999999.000000
+set mode desperate 9999999999.
  **ERROR: value out of legal range: illegal mode argument. Negative or > 1.e+9,
 set mode desperate 1234567890123456789
+           *** NOTE: MODE DESPERATE is deprecated. Use MODE FRUGAL
+           *** NOTE: MODE DESPERATE is deprecated. Use MODE FRUGAL
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file g.nc
 Replacing definition of axis YAX_DUP_AXNAMES
  LISTing to file h.nc
@@ -3163,33 +3782,45 @@ Replacing definition of axis YAX_DUP_AXNAMES
  LISTing to file justg.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file a.nc
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_NaN_note
            *** NOTE: Axis coordinates are decreasing-ordered. Reversing ordering for axis l
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
            *** NOTE: No missing_value or _FillValue attribute. Using NaN for variable: broiled
            *** NOTE: Axis coordinates are decreasing-ordered. Reversing ordering for axis l
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn671_bug_fixes
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  **ERROR: error in external function
 list/L=15:20 tax_year(t[gt=tvar],tvar)
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file a.nc
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file cc.nc
  LISTing to file c1.nc
  TEMPORARY data cleared from memory
@@ -3197,40 +3828,54 @@ list/L=15:20 tax_year(t[gt=tvar],tvar)
  TEMPORARY data cleared from memory
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
            *** NOTE: Axis coordinates are decreasing-ordered. Reversing ordering for axis lev
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis XAX
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn68_bug_fixes
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis TAXIS
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis XAX
            *** NOTE: Adjusting Y-axis label size from 0.100 to 0.089, to avoid running off page.
            *** NOTE: Adjusting Y-axis label size from 0.100 to 0.089, to avoid running off page.
            *** NOTE: Adjusting Y-axis label size from 0.100 to 0.030, to avoid running off page.
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
            *** NOTE: Axis coordinates are decreasing-ordered. Reversing ordering for axis RLATU79_961_9
            *** NOTE: Axis coordinates are decreasing-ordered. Reversing ordering for axis RLATU79_961_9
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
            *** NOTE: Adjusting Y-axis label size from 0.100 to 0.089, to avoid running off page.
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  **ERROR: command syntax: illegal name, matches an operator: AND
 DEFINE VARIABLE AND = 5
  **ERROR: command syntax: illegal name, matches an operator: OR
@@ -3253,10 +3898,13 @@ DEFINE VARIABLE IF  = 5
 DEFINE VARIABLE ELSE = 5
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file a1.nc
  LISTing to file a2.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_ifv
  **ERROR: command syntax: IFV I GT 3 THEN ( IFV I LT 5 THEN I ELSE -9 ) ELSE .333
           Cannot use multiple IFs in an expression
 LIST/ORDER=X  IFV I GT 3 THEN ( IFV I LT 5 THEN I ELSE -9 ) ELSE .333
@@ -3266,6 +3914,8 @@ LIST/ORDER=X  IFV I GT 3 THEN ( IFV I LT 5 THEN I ELSE -9 ) ELSE .333
 DEFINE VARIABLE A = ifv I LT 5 THEN I ELSE -9
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_randu2_randn2
  TEMPORARY data cleared from memory
  TEMPORARY data cleared from memory
  TEMPORARY data cleared from memory
@@ -3275,6 +3925,8 @@ DEFINE VARIABLE A = ifv I LT 5 THEN I ELSE -9
 Replacing definition of axis ZAX
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_axis_cf
 Replacing definition of axis XAX
  LISTing to file a.nc
 Replacing definition of axis YAX
@@ -3288,6 +3940,8 @@ Replacing definition of axis TAXIS
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_repeated_coords
            *** NOTE: Axis has repeated values -- micro-adjusting TMIN
            *** NOTE: Coordinates out of order or missing on axis TMIN at subscript 4
            *** NOTE: A dummy axis of subscripts will be used
@@ -3295,21 +3949,25 @@ Replacing definition of axis TAXIS
 Replacing definition of axis TNEW
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_xml_header
 
 Bailing out of external function "eofsvd_stat":
 	There are no spatial locations having complete time series.
- PERMANENT data cleared from memory
- TEMPORARY data cleared from memory
-Replacing definition of axis YAXIS
-Replacing definition of axis TAXIS
-Replacing definition of axis XAXIS
- **ERROR: error in external function
 
 Bailing out of external function "eofsvd_space":
 	There are no spatial locations having complete time series.
 
 Bailing out of external function "eofsvd_tfunc":
 	There are no spatial locations having complete time series.
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_eof_simple
+Replacing definition of axis YAXIS
+Replacing definition of axis TAXIS
+Replacing definition of axis XAXIS
+ **ERROR: error in external function
 list eofsvd_stat(spacegap)
  **ERROR: error in external function
 list eofsvd_space(spacegap)
@@ -3317,10 +3975,16 @@ list eofsvd_space(spacegap)
 list eofsvd_tfunc(spacegap)
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_eof_simple2
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_interpolate_6d
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_regrid_6d
 Replacing definition of grid EVEN
 Replacing definition of grid G1
 Replacing definition of grid G2
@@ -3349,8 +4013,12 @@ Replacing definition of grid G24
 Replacing definition of grid G48
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_syntax_6d
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_expressions_6d
  **ERROR: command syntax: IF _m GT 3 THEN ( IF _m LT 5 THEN _m ELSE -9 ) ELSE .333
           Cannot use multiple IFs in an expression
 LIST/order=e  IF _m GT 3 THEN ( IF _m LT 5 THEN _m ELSE -9 ) ELSE .333
@@ -3362,12 +4030,18 @@ DEFINE VARIABLE A = IF _m LT 5 THEN _m ELSE -9
 load a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16,a17,a18,a19,a20,a21
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_direction_fcns_6d
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_regrid_transforms_6d
 Replacing definition of grid G5DAY
 Replacing definition of axis FAX4DAY
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_aggregate_e
            *** NOTE: Variable "AIRT" excluded from aggregate: Not found in all member datasets
            *** NOTE: Variable "AIRT" excluded from aggregate: Not found in all member datasets
            *** NOTE: /FILES is deprecated.  Use /MEMBERS
@@ -3393,38 +4067,55 @@ DEFINE DATA/AGGREGAT/E windy = 1,2
            *** NOTE: Dataset used in aggregation.  Canceling aggregation, more
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_6d_lab_mode
            *** NOTE: MODE 6D_lab is deprecated. Leave the mode set; output automatically adjusts to 4D or 6D grids
            *** NOTE: MODE 6D_lab is deprecated. Leave the mode set; output automatically adjusts to 4D or 6D grids
            *** NOTE: MODE 6D_lab is deprecated. Leave the mode set; output automatically adjusts to 4D or 6D grids
            *** NOTE: MODE 6D_lab is deprecated. Leave the mode set; output automatically adjusts to 4D or 6D grids
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn682_bug_fixes
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn683_bug_fixes
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
            *** NOTE: Adjusting Y-axis label size from 0.100 to 0.001, to avoid running off page.
            *** NOTE: Adjusting Y-axis label size from 0.100 to 0.001, to avoid running off page.
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file a.nc
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_outtype
  LISTing to file mytype.nc
  LISTing to file mytype.nc
            *** NOTE: Converting data type of missing_value NC_FLOAT to match output type of variable NC_DOUBLE
@@ -3441,10 +4132,16 @@ DEFINE DATA/AGGREGAT/E windy = 1,2
  LISTing to file mytype.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_ribbon_plot
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_descr_4digit
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_axis_outtype
  LISTing to file mytype.nc
  LISTing to file mytype.nc
            *** NOTE: Converting data type of missing_value NC_FLOAT to match output type of variable NC_DOUBLE
@@ -3463,38 +4160,54 @@ LIST/FORMAT=CDF/clobber/file=mytype.nc my_data
  LISTing to file mytype.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_axis_nonmonotonic
  **ERROR: improper grid or axis definition: data for DEFINE AXIS/FROM_VARIABLE is not monotonically increasing at index 12
 define axis/t/units=days tax = tvar
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_vec_mod
  Using every   9th vector in the X direction
  Using every   9th vector in the X direction
  Using every   9th vector in the X direction
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn685_bug_fixes
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis TDAY
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file aa.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file aa.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file a.nc
  LISTing to file aa.nc
  LISTing to file aa.nc
@@ -3507,16 +4220,21 @@ NetCDF: Numeric conversion not representable (OPeNDAP/netCDF Error code -60)
  data in attribute _FillValue not representable in output type NC_INT
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file a.nc
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  **ERROR: command syntax: .HELLO
 list .hello
  **ERROR: variable unknown or not in data set: A.UNITS
@@ -3531,6 +4249,7 @@ list ..history
 list ..history
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis AXI
 Replacing definition of axis AXI_COARSE
 Replacing definition of axis AXI
@@ -3543,21 +4262,31 @@ Replacing definition of axis AXI
 Replacing definition of axis AXI_COARSE
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file sst_new.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis ZAX
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_dsg_e_x
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_nco_append
  LISTing to file append_to_this.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_nobounds
 Replacing definition of axis XIRREG
  LISTing to file a.nc
  LISTing to file a.nc
@@ -3568,11 +4297,17 @@ Replacing definition of axis XIRREG
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_write_integer_att
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_descriptor_mc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_plot_color_only
            *** NOTE: New # of line colors will take effect on next new window: SET WIN/NEW then define pen colors
            *** NOTE: New number of line colors will take effect on next new window: SET WIN/NEW or SET WIN/CLEAR
  **ERROR: command syntax: COLOR
@@ -3583,6 +4318,8 @@ plot/i=1:100/over/COLOR 0.6*sin(i/7)
 plot/i=1:100/ribbon/COLOR sin(i/6),0.6*sin(i/7)
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_vtree
 Replacing definition of axis ZAX
            *** NOTE: Variable "FVX" excluded from aggregate: Not found in all member datasets
            *** NOTE: Variable "FVZ" excluded from aggregate: Not found in all member datasets
@@ -3603,20 +4340,28 @@ Replacing definition of axis Y1
 Replacing definition of axis ZAX
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn686_bug_fixes
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
            *** NOTE: Changing the type of attribute a.ival
            *** NOTE: Changing the value of attribute a.ival
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  **TMAP ERR: non-existent or not on line
              nosuchfile.nc
 SET DAT/FORM=CDF nosuchfile.nc
@@ -3632,29 +4377,43 @@ SET DAT/FORM=CDF snoopy
 SET DAT/FORM=CDF snoopy.dat
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
            *** NOTE: regarding ./climatological_axes.cdf ...
            *** NOTE: Climatological axes SEASONAL_REG, MONTH_REG, and MONTH_IRREG defined
  TEMPORARY data cleared from memory
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_long_symnames
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_strdim
  LISTing to file a.nc
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_single_colorlev
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn69_bug_fixes
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file a.nc
 Replacing definition of axis XAXIS_TEST
  LISTing to file b.nc
@@ -3669,17 +4428,21 @@ Replacing definition of axis XAXIS_TEST
 LIST/FORMAT=CDF/clobber/keep/file=nc b,a[d=1]
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
            *** NOTE: Changing the value of attribute v1.long_name
            *** NOTE: Changing the value of attribute v1.units
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  **ERROR: attribute undefined or invalid attribute name: temp.noexist[d=levitus_climatology]
           attribute noexist not found for variable TEMP
 show att temp.noexist[d=levitus_climatology]
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  **ERROR: invalid command: illegal new name.  Variable b already defined
 set var/name=b a
  **ERROR: invalid command: illegal new name.  Variable b already defined
@@ -3692,18 +4455,24 @@ set var/name=psi myvar
 set var/name=diff w
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_bad_axis_bounds
            *** NOTE: Axis definition error on axis: MONTH_IRREG. Bounds describe cells that overlap one another
            *** NOTE: Error in bounds "MONTH_IRREG_bnds" or bounds do not enclose point on axis MONTH_IRREG
-syntax error, unexpected WORD_STRING, expecting WORD_WORD
-context: Error { code = 500; message = "Error processing XML header file /usr/local/src/nvods/tomcat/content/las/conf/server/temp/6790FDCBF64A0E6EFAA6A20D854071E0/header.xml (No such file or directory)"^;};
            *** NOTE: Substituting coordinate midpoints
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_enter_exit_GO
 Replacing definition of axis TAX
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_stddev
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_set_axis_name
  LISTing to file a.nc
  LISTing to file a.nc
  LISTing to file b.nc
@@ -3718,6 +4487,8 @@ set axis/name=45 x_in_meters
 set axis/name=.fr x_in_meters
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_let_remote
            *** NOTE: netCDF bounds variable definition error
            *** NOTE: Bounds definition "time_bnds" points to no existing axis
            *** NOTE: Ignoring BOUNDS attribute
@@ -3739,6 +4510,8 @@ set axis/name=.fr x_in_meters
            *** NOTE: netCDF bounds variable definition error
            *** NOTE: Bounds definition "lat_bnds" points to no existing axis
            *** NOTE: Ignoring BOUNDS attribute
+syntax error, unexpected WORD_STRING, expecting WORD_WORD
+context: Error { code = 500; message = "Error processing XML header file /usr/local/src/nvods/tomcat/content/las/conf/server/temp/B181CF84342A76391141817212F0F4D2/header.xml (No such file or directory)"^;};
            *** NOTE: netCDF bounds variable definition error
            *** NOTE: Bounds definition "lon_bnds" points to no existing axis
            *** NOTE: Ignoring BOUNDS attribute
@@ -3755,29 +4528,33 @@ set axis/name=.fr x_in_meters
            *** NOTE: Bounds definition "lon_bnds" points to no existing axis
            *** NOTE: Ignoring BOUNDS attribute
  **ERROR: command syntax: /REMOTE variable expression may not contain [d=
-DEFINE VARIABLE/D=1/remote rvar = t0112mn1[d=1,z=1:100 at ave]
+DEFINE VARIABLE/D=1/remote rvar = t00an1[d=1,z=1:100 at ave]
  **ERROR: command syntax: /REMOTE variable definition must also specify /D=
-DEFINE VARIABLE/remote rvar = t0112mn1[d=1,z=1:100 at ave]
+DEFINE VARIABLE/remote rvar = t00an1[d=1,z=1:100 at ave]
  **netCDF error
              Unable to open URL with REMOTE variable definitions:
-             Data set: http://ferret.pmel.noaa.gov/nvods/thredds/dodsC/las/woa05_monthly/data_ferret.pmel.noaa.gov_thredds_dodsC_data_PMEL_WOA05nc_monthly_t0112mn1.nc.jnl
+             Data set: http://ferret.pmel.noaa.gov/nvods/thredds/dodsC/las/woa05_annual/data_ferret.pmel.noaa.gov_pmel_thredds_dodsC_data_PMEL_WOA05nc_annual_t00an1.nc.jnl
  **TMAP ERR: attribute reading error
              Unable to get bad-value for LET/REMOTE variable: NetCDF: Attribute not found (OPeNDAP/netCDF Error code -43)
-             Data set: http://ferret.pmel.noaa.gov/nvods/thredds/dodsC/las/woa05_monthly/data_ferret.pmel.noaa.gov_thredds_dodsC_data_PMEL_WOA05nc_monthly_t0112mn1.nc.jnl
+             Data set: http://ferret.pmel.noaa.gov/nvods/thredds/dodsC/las/woa05_annual/data_ferret.pmel.noaa.gov_pmel_thredds_dodsC_data_PMEL_WOA05nc_annual_t00an1.nc.jnl
  **netCDF error
              NetCDF: Variable not found (OPeNDAP/netCDF Error code -49)
-             Data set: http://ferret.pmel.noaa.gov/nvods/thredds/dodsC/las/woa05_monthly/data_ferret.pmel.noaa.gov_thredds_dodsC_data_PMEL_WOA05nc_monthly_t0112mn1.nc.jnl
+             Data set: http://ferret.pmel.noaa.gov/nvods/thredds/dodsC/las/woa05_annual/data_ferret.pmel.noaa.gov_pmel_thredds_dodsC_data_PMEL_WOA05nc_annual_t00an1.nc.jnl
 list/x=300/y=15 avar
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn691_bug_fixes
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  **ERROR: invalid command: string/numeric data type mix-up. Argument 3 : TAX_DATESTRING
 list tax_datestring (tt[L=3], tt, 5)
  **ERROR: invalid command: string/numeric data type mix-up. Argument 2 : TAX_DATESTRING
 list tax_datestring (tt[L=3], "my_tax", "minutes")
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
            *** NOTE: Error in bounds "TAX_BB_PTSPAC_bnds" or bounds do not enclose point on axis TAX_BB_PTSPAC
            *** NOTE: Substituting coordinate midpoints
            *** NOTE: Error in bounds "TAX_BB_EVEN_NOENC_bnds" or bounds do not enclose point on axis TAX_BB_EVEN_NOENC
@@ -3786,6 +4563,7 @@ list tax_datestring (tt[L=3], "my_tax", "minutes")
            *** NOTE: Substituting coordinate midpoints
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  **ERROR: command syntax: must be a constant COS(1)
 list {cos(1), sin(0)}
  **ERROR: command syntax: must be a constant 0-180
@@ -3796,43 +4574,52 @@ list {0.1, 0.2, 1./5.}
 list {5*3+1, 2+3}
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis TAX
  LISTing to file tval.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file out.xml
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis XAXIS
- **ERROR: request exceeds memory setting: 4739 Mwords were requested.
+ **ERROR: request exceeds memory setting
 load bigvar
-           *** NOTE: You can use SET MEMORY/SIZE=xxx to increase memory.
-           *** NOTE: The "Memory use" section of the FERRET Users Guide has further tips.
 Replacing definition of axis LONGTIME
- **ERROR: request exceeds memory setting: 9472 Mwords were requested.
+ **ERROR: request exceeds memory setting
 load bigvar
-           *** NOTE: You can use SET MEMORY/SIZE=xxx to increase memory.
-           *** NOTE: The "Memory use" section of the FERRET Users Guide has further tips.
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
            *** NOTE: Ambiguous coordinates on X axis: TEMP[X=@AVE,Y=@AVE,L=1,D=1] + SST[X=@AVE,Y=@AVE,T=@AVE,D=2]
            *** NOTE: Ambiguous coordinates on Y axis: TEMP[X=@AVE,Y=@AVE,L=1,D=1] + SST[X=@AVE,Y=@AVE,T=@AVE,D=2]
  LISTing to file aa.nc
@@ -3842,6 +4629,7 @@ load bigvar
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  **ERROR: variable unknown or not in data set: A
 list a
  **ERROR: variable unknown or not in data set: A
@@ -3852,6 +4640,7 @@ list b
 shade a
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  **ERROR: variable unknown or not in data set: A
 list a
  **ERROR: variable unknown or not in data set: A
@@ -3862,41 +4651,59 @@ list b
 shade a
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  **ERROR: value out of legal range: Negative argument to function. Argument 3 : SUBSTRING
 list substring("hello",1,-2)
  **ERROR: value out of legal range: Negative argument to function. Argument 3 : SUBSTRING
 list substring("hello",1,-3)
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_append_dsg
 rm: cannot remove `test_save_dsg.nc': No such file or directory
-           *** NOTE: Shell command returned failure flag: rm test_save_dsg.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_global_atts
  LISTing to file anew_global.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_conventions_history
  LISTing to file conventions_history.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_center_key_labels
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_wgt_transform
 Replacing definition of axis X2
 Replacing definition of axis Y2
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_show_outfile
 Replacing definition of axis ZAX
            *** NOTE: Variable "FVX" excluded from aggregate: Not found in all member datasets
            *** NOTE: Variable "FVZ" excluded from aggregate: Not found in all member datasets
@@ -3914,8 +4721,12 @@ list e
 list f
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_date1900_array
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_spawn_size
  LISTing to file bn_spawn_size1.cdf
  LISTing to file bn_spawn_size2.cdf
  LISTing to file bn_spawn_size3.cdf
@@ -3930,65 +4741,90 @@ list f
  LISTing to file bn_spawn_size14.dat
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_polygon_log
  **ERROR: value out of legal range: X coordinates on log axis negative or too small : -0.850
 poly/i=1:100/vlog xbad+xsqr,ybad+ysqr,x*x/10
  **ERROR: value out of legal range: X coordinates on log axis negative or too small : -0.689E-02
 poly/i=1:100/hlog xbad+xsqr,ybad+ysqr,x*x/10
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn694_bug_fixes
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file aa.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis TIME
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  **ERROR: unknown data set: BAD_D
 stat/l=1/x=180/y=0 a
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  **ERROR: invalid command: REPEAT what ?
 repeat/range=1:2/name=row
  **ERROR: invalid command: REPEAT what ?
 repeat/range=1:2/name=row
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis XAX
 Replacing definition of axis YAX
  LISTing to file a.nc
@@ -4001,6 +4837,7 @@ Replacing definition of axis TREDEF
            *** NOTE: Redefinition may alter apparent contents of data set
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  **ERROR: invalid command: illegal format type - must be "GIF"
           frame/format=hdf/file=a.hdf
 frame/format=hdf/file=a.hdf
@@ -4009,80 +4846,118 @@ frame/format=hdf/file=a.hdf
 frame/file=a.png
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis FAXIS
 Replacing definition of axis EAXIS
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  TEMPORARY data cleared from memory
  TEMPORARY data cleared from memory
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_permute_ascii
 Replacing definition of grid GRID3D
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_lon_lat_time_string
 Replacing definition of axis TAXIS
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_save_justdim
  LISTing to file a.nc
            *** NOTE: Saving E or F axis with time axis uses /RIGID in time
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_time2d
            *** NOTE: /UNIT=MONTHS is ambiguous ... using 1/12 of 365.2425 days
 Replacing definition of axis TAXIS
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_legend_labels
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_DQ
            *** NOTE: Changing the value of attribute foobar.some_text
            *** NOTE: Changing the value of attribute foobar.some_text
 Replacing definition of grid GG
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn695_bug_fixes
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 rm: cannot remove `WestCoastCarbon_9d9c_f562_77b5_5.nc': No such file or directory
-           *** NOTE: Shell command returned failure flag: rm WestCoastCarbon_9d9c_f562_77b5_5.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_f_tax_fcns
  LISTing to file a.nc
 Replacing definition of axis FSEC
            *** NOTE: grid GSI1 used by data set a
            *** NOTE: Redefinition may alter apparent contents of data set
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_fmrc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_return_defined
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_can_var_noerr
  **ERROR: variable unknown or not in data set: B
 cancel var b,a
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_annotate
  **ERROR: command syntax: xpos=a2
 annotate/nouser/xpos=a2/ypos=0/halign=1/valign=0/angle=-45/siz=0.15 "My Lab"
  **ERROR: command syntax: ypos=b
@@ -4117,8 +4992,9 @@ def anno/nou/xpos=0/hal=1/val=0 "My Lab"
 def anno/nou/user/xpos=0/ypos=0 "My Lab"
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_auxiliary
 rm: cannot remove `layerz_test_data.txt': No such file or directory
-           *** NOTE: Shell command returned failure flag: rm layerz_test_data.txt
 Replacing definition of axis ZAX
  LISTing to file layerz_test_data.txt
  **ERROR: variable unknown or not in data set: (data set ok ?): noexist
@@ -4130,6 +5006,8 @@ Replacing definition of axis xax
 Replacing definition of axis ZAX
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_plot_ribbon_gaploc
  **ERROR: command syntax: PLOT/VS/RIBBON/GAPLOC plot needs 4 arguments
 plot/vs/thick/line/sym=21/siz=.3/ribbon/gap xpts, 10*ypts, color
  **ERROR: command syntax: PLOT/GAPLOC applies only to PLOT/VS/RIBBON
@@ -4138,16 +5016,24 @@ plot/vs/thick/line/sym=21/siz=0.3/gap xpts, 10*ypts, 10.1*ypts, 9.93*ypts, gvar
 plot/ov/nolab/vs/thick/line/sym=21/siz=.3/gapl xpts, color, gvar
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_time_short_axes
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_floatstr_extended
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn696_bug_fixes
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
            *** NOTE: Units on axis "pfull1_1" are not recognized: hpa
            *** NOTE: They will not be convertible:
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  **ERROR: unknown data set: noexist
 SHOW DATA noexist
  **ERROR: unknown data set: 2
@@ -4156,8 +5042,11 @@ SHOW DATA 2
 SHOW DATA/ATT noexist
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_bin_regrid
 Replacing definition of axis DCOARSE
 Replacing definition of axis IRR
 Replacing definition of axis DCOARSE
@@ -4170,54 +5059,64 @@ Replacing definition of axis DCOARSE
 Replacing definition of axis IRR
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn697_bug_fixes
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  **TMAP ERR: error in axis attributes
              Calendar definitions on T and F axes must match
              Data file: ./ft_cal_one.nc
 SET DAT/FORM=CDF ft_cal_mixed.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis tday
 Replacing definition of axis xax
  LISTing to file myfile.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
            *** NOTE: Variable "AIRT" excluded from aggregate: Not found in all member datasets
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
- Cached data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis LONGTIME
- **ERROR: request exceeds memory setting: 13 Mwords were requested.
+ **ERROR: request exceeds memory setting
 load/l=1:5 bigvar
-           *** NOTE: You can use SET MEMORY/SIZE=xxx to increase memory.
-           *** NOTE: The "Memory use" section of the FERRET Users Guide has further tips.
- Cached data cleared from memory
- Cached data cleared from memory
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis XAX
            *** NOTE: Not deleted: XAX
            *** NOTE: Axis is in use by grid GFORMAT
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis TAX1
 Replacing definition of axis TAX2
 Replacing definition of axis TAX2
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  Using every   4th vector in the Y direction
 Replacing definition of axis xax
 Replacing definition of axis yax
@@ -4225,25 +5124,33 @@ Replacing definition of axis yax
  Using every   4th vector in the Y direction
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis F_AX
 Replacing definition of axis AAX
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis T_AXIS
 Replacing definition of axis T_AXIS
 Replacing definition of axis F_AXIS
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis XAX
 Replacing definition of axis XAX
 Replacing definition of axis XAX
@@ -4252,38 +5159,49 @@ Replacing definition of axis XAX
 Replacing definition of axis XAX
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis XAX
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis XAXIS
  LISTing to file a.nc
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis TAX
  LISTing to file a.nc
            *** NOTE: Not deleted: TAX
            *** NOTE: Axis is in use by grid TGRID
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file a.nc
            *** NOTE: Changing the type of attribute sst.newch
            *** NOTE: Changing the value of attribute sst.newch
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_aggregate_t
 Replacing definition of axis TDAY
  LISTing to file tmp/tagg_reg_1.nc
  LISTing to file tmp/tagg_reg_2.nc
@@ -4390,6 +5308,8 @@ define data/agg/t MYsing_irreg_agg4 = tmp/tagg_single_1.nc, tmp/tagg_single_1.nc
 define data/agg/t MYsing_irreg_agg4 = tmp/tagg_single_1.nc, tmp/tagg_single_2.nc,tmp/tagg_single_4.nc, tmp/tagg_single_5.nc, tmp/tagg_single_5.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_unquoted_args
  LISTing to file tmp/test1.nc
  LISTing to file tmp/test2.nc
  LISTing to file tmp/test3.nc
@@ -4410,6 +5330,8 @@ go/garbage /home/users/ansley/build/linux/FERRET/bench/tmp/testMe.jnl
 go/garbage "/home/users/ansley/build/linux/FERRET/bench/tmp/testMe.jnl"
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_long_lists
  **ERROR: command syntax: command line too long -- exceeds 2048
 DEFINE VARIABLE a={1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7 [...]
  **ERROR: variable unknown or not in data set: A
@@ -4420,10 +5342,14 @@ load a
 "/archive/ccsp/ipcc_ar4/CM2.1U-D4_1860-2000-AllForc_H1/pp/atmos/ts/monthly/100yr/atmos.0020.t_surf.nc","/archive/ccsp/ipcc_ar4/CM2.1U-D4_1860-2000-AllForc_H1/pp/atmos/ts/monthly/100yr/atmos.0021.t_surf.nc","/archive/ccsp/ipcc_ar4/CM2.1U-D4_1860-2000-AllForc_H1/pp/atmos/ts/monthly/100yr/atmos.0022.t_surf.nc","/archive/ccsp/ipcc_ar4/CM2.1U-D4_1860-2000-AllForc_H1/pp/atmos/ts/monthly/100yr/atmos.0023.t_surf.nc","/archive/ccsp/ipcc_ar4/CM2.1U-D4_1860-2000-AllForc_H1/pp/atmos/ts/monthly/100yr [...]
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_show_uvar_grid
 Replacing definition of axis DAYT
 Replacing definition of axis ZAX
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_aggregate_f
 Replacing definition of axis XAX
 Replacing definition of axis YAX
  LISTing to file tmp/fcst_1.nc
@@ -4469,6 +5395,9 @@ DEFINE DATA/AGGREGAT/F my_fmrc = XCAT(files,"tmp/consecutive_month_fcst.nc")
 DEFINE DATA/AGGREGAT/F my_fmrc = XCAT(files,"tmp/irregular_start_time_fcst.nc")
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_aggregate_tef
+ls: tmp/f04_e3_t3_1v.nc: No such file or directory
 Replacing definition of axis YAX
 Replacing definition of axis ZAX
 Replacing definition of axis TRUEMONTH
@@ -4665,31 +5594,40 @@ DEFINE DATA/AGGREGAT/E bad_ens = te_f01, te_f03, te_f04
 DEFINE DATA/AGGREGAT/F bad_fmrc = tf_e1, tf_e3, tf_e4
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
- PERMANENT data cleared from memory
- TEMPORARY data cleared from memory
- PERMANENT data cleared from memory
- TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_dataset_qualifier
  LISTing to file a.nc
  LISTing to file a.nc
 Replacing definition of axis XAX10
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_speedtest
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_show_noupcase
 Replacing definition of axis tday
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 SHO VAR/XML
 SHO VAR/XML
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_letd_attributes
  LISTing to file a.nc
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_list_clim_axes
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_climatology_attr
 Replacing definition of axis tax
  LISTing to file a.nc
  LISTing to file a.nc
@@ -4701,100 +5639,130 @@ Replacing definition of axis TAX
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_plot_along
            *** NOTE: Decimating PLOT/ALONG lines to /KEY limit of 40
            *** NOTE: Decimating PLOT/ALONG lines to /NOKEY limit of 200
            *** NOTE: Decimating PLOT/ALONG lines to /KEY limit of 40
            *** NOTE: Decimating PLOT/ALONG lines to /NOKEY limit of 200
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_show_commands
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_plot_decimate
            *** NOTE: Decimating PLOT/ALONG lines to /KEY limit of 40
            *** NOTE: Decimating PLOT/ALONG lines to /NOKEY limit of 200
            *** NOTE: Decimating PLOT/ALONG lines to /KEY limit of 40
            *** NOTE: Decimating PLOT/ALONG lines to /NOKEY limit of 200
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_auto_tprec
 Replacing definition of axis TAX
 Replacing definition of axis TAX
 Replacing definition of axis TAX
 Replacing definition of axis TAX
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_coordvars_atts
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn710_bug_fixes
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
            *** NOTE: unrepairable repeated axis coords on axis xax at subscript -4161
            *** NOTE: A dummy axis of subscripts will be used
            *** NOTE: unrepairable repeated axis coords on axis yax at subscript -4161
            *** NOTE: A dummy axis of subscripts will be used
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
            *** NOTE: Unclosed IF statement ... assuming ENDIF, in script ./unclosed_if.sub
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis YAXIS
  LISTing to file a.nc
 Replacing definition of axis TAX
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis TAX
 Replacing definition of axis ZAX
 Replacing definition of axis TAX
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
- PERMANENT data cleared from memory
- TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis TAXIS
 Replacing definition of axis XAXIS
 Replacing definition of axis YAXIS
 Replacing definition of axis TAXIS
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis TAX
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis TAX
 Replacing definition of axis YAXIS
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis XLON
 Replacing definition of axis YLAT
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
            *** NOTE: Axis has repeated values -- micro-adjusting ...
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis TAX
  LISTing to file a.nc
            *** NOTE: Not deleted: TAX
            *** NOTE: Axis is in use by grid TGRID
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  **TMAP ERR: attribute already defined
              coordinates for variable ZETA
              Data set: testdata
@@ -4812,35 +5780,51 @@ Replacing definition of axis TAX
              Data set: testdata
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis XAX
 Replacing definition of axis XAX
 Replacing definition of axis TAX2
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis XLON
  LISTing to file a1.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file a.nc
            *** NOTE: Requested region on modulo axis XLONN7_141 is larger than modulo length. Modulo attribute not written.
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis TDAYS
 Replacing definition of axis YAX
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+ LISTing to file a1.nc
+ LISTing to file a2.nc
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_delim_datetime
 Replacing definition of axis TIMAX
 Replacing definition of axis TIMAX
 Replacing definition of axis TIMAX
@@ -4856,6 +5840,8 @@ list index,edtim,udtim,udate,edate
 list index,edtim,udtim,udate,edate
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_aggregate_u
 Replacing definition of axis tax
  LISTing to file tmp/uagg_1.nc
  LISTing to file tmp/uagg_2.nc
@@ -4893,23 +5879,26 @@ Replacing definition of axis ZAX
            *** NOTE: /FILES is deprecated.  Use /MEMBERS
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_ez_noupcase
  LISTing to file abc.dat
  LISTing to file a.nc
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_spawn_fail
 ls: notafile.nowhere: No such file or directory
-           *** NOTE: Shell command returned failure flag: ls notafile.nowhere
-           *** NOTE: Shell command returned failure flag: grep "this text is not in the file" bn_all.jnl
 rm: cannot remove `nothing.dat': No such file or directory
-           *** NOTE: Shell command returned failure flag: rm nothing.dat
-           *** NOTE: Shell command returned failure flag: grep modulus non_COARDS.cdl
 cp: cannot stat `nofile.dat': No such file or directory
-           *** NOTE: Shell command returned failure flag: cp nofile.dat not_either.dat
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_ave_of_ave
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_agg_member_syntax
  **ERROR: unknown data set: D=5.3
 stat/br fcst[d=5.3]
  **ERROR: unknown data set: D=12.30
@@ -4924,6 +5913,8 @@ stat/br sst[d=4.1]
 stat/br sst[d=5.30]
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_true_monthly
            *** NOTE: /UNIT=MONTHS is ambiguous ... using 1/12 of 365.2425 days
            *** NOTE: True monthly axis has an implicit /EDGES qualifier
 Replacing definition of axis TAXIS
@@ -4991,13 +5982,688 @@ def axis/t/t0=1-jan-2000/monthly/bounds tax={1.2, 2, 3.2, 5, 7, 8.4, 9}, {0.5,1.
 define axis/x=1:5:1/monthly aaxis
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn720_bug_fixes
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Replacing definition of axis TAX
+ LISTing to file a.nc
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Replacing definition of axis TIME
+ LISTing to file a.nc
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_compressed_gather
+Replacing definition of axis xax
+Replacing definition of axis yax
+Replacing definition of axis tax
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+Replacing definition of axis xax
+Replacing definition of axis yax
+Replacing definition of axis zax
+Replacing definition of axis tax
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+Replacing definition of axis xax
+Replacing definition of axis tax
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+Replacing definition of axis xax
+Replacing definition of axis zax
+Replacing definition of axis tax
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_dynamic_gather
+ls: tmp/test_dyn_mem.nc: No such file or directory
+Replacing definition of axis z2
+Replacing definition of grid GG
+ LISTing to file tmp/test_dyn_mem.nc
+Replacing definition of axis x10
+Replacing definition of axis z4
+ LISTing to file tmp/test_dyn_mem.nc
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ **ERROR: request exceeds memory setting: Requested result is larger than the available memory
+stat/brief v[i=101:200,j=101:200,k=1,l=1:10 at ave], v[i=101:200,j=101:200,k=2,l=1:10 at ave], v[l=1:10 at ave]
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ **ERROR: request exceeds memory setting: Requested result is larger than the available memory
+stat/brief a[l=1:10 at ave], b[l=1:10 at ave], c[l=1:10 at ave], d[l=1:10 at ave]
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+           *** NOTE: No active redirects to cancel
+ **ERROR: request exceeds memory setting: Requested result is larger than the available memory
+stat/brief v[i=101:200,j=101:200,k=1,l=1:10 at ave], v[i=101:200,j=101:200,k=2,l=1:10 at ave], v[l=1:10 at ave]
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ **ERROR: request exceeds memory setting: Requested result is larger than the available memory
+stat/brief a[l=1:10 at ave], b[l=1:10 at ave], c[l=1:10 at ave], d[l=1:10 at ave]
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ **ERROR: request exceeds memory setting: Requested result is larger than the available memory
+stat/brief v[i=101:200,j=101:200,k=1,l=1:10 at ave], v[i=101:200,j=101:200,k=2,l=1:10 at ave], v[l=1:10 at ave]
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ **ERROR: request exceeds memory setting: Requested result is larger than the available memory
+stat/brief a[l=1:10 at ave], b[l=1:10 at ave], c[l=1:10 at ave], d[l=1:10 at ave]
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ **ERROR: request exceeds memory setting: Requested result is larger than the available memory
+stat/brief v[i=101:200,j=101:200,k=1,l=1:10 at ave], v[i=101:200,j=101:200,k=2,l=1:10 at ave], v[l=1:10 at ave]
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ **ERROR: request exceeds memory setting: Requested result is larger than the available memory
+stat/brief a[l=1:10 at ave], b[l=1:10 at ave], c[l=1:10 at ave], d[l=1:10 at ave]
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+gsetmarkerrep()   66 Polymarker index is invalid
+gsetlinerep()   60 Polyline index is invalid
+ **ERROR: value out of legal range: illegal mode argument. Must be 0 to 90 percent 95
+SET MODE FRUGAL:95
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_stat_precision
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_plot_vs_with_time
+Replacing definition of axis tax
+Replacing definition of axis time
+Replacing definition of axis zaxis
+Replacing definition of axis time
+           *** NOTE: Graphics limits settings to 250 line/thickness combinations plus existing spectrum colors
+           *** NOTE: Cannot draw /THICK=3 lines with current number of color levels = 57; THICK=1 or 2 will be ok
+Replacing definition of axis time
+           *** NOTE: Graphics limits settings to 250 line/thickness combinations plus existing spectrum colors
+           *** NOTE: Cannot draw /THICK=2 lines with current number of color levels = 57; THICK=1 will be ok
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_dot_product
+ LISTing to file a.nc
+ LISTing to file a.nc
+ LISTing to file a.nc
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_cache_management
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ls: tmp/test_auto_cache_20.nc: No such file or directory
+Replacing definition of axis x10
+ LISTing to file tmp/test_auto_cache_1.nc
+ LISTing to file tmp/test_auto_cache_2.nc
+ LISTing to file tmp/test_auto_cache_3.nc
+ LISTing to file tmp/test_auto_cache_4.nc
+ LISTing to file tmp/test_auto_cache_5.nc
+ LISTing to file tmp/test_auto_cache_6.nc
+ LISTing to file tmp/test_auto_cache_7.nc
+ LISTing to file tmp/test_auto_cache_8.nc
+ LISTing to file tmp/test_auto_cache_9.nc
+ LISTing to file tmp/test_auto_cache_10.nc
+ LISTing to file tmp/test_auto_cache_11.nc
+ LISTing to file tmp/test_auto_cache_12.nc
+ LISTing to file tmp/test_auto_cache_13.nc
+ LISTing to file tmp/test_auto_cache_14.nc
+ LISTing to file tmp/test_auto_cache_15.nc
+ LISTing to file tmp/test_auto_cache_16.nc
+ LISTing to file tmp/test_auto_cache_17.nc
+ LISTing to file tmp/test_auto_cache_18.nc
+ LISTing to file tmp/test_auto_cache_19.nc
+ LISTing to file tmp/test_auto_cache_20.nc
+ LISTing to file test_auto_cache.out
+ LISTing to file test_auto_cache.out
+ LISTing to file test_auto_cache.out
+ LISTing to file test_auto_cache.out
+ LISTing to file test_auto_cache.out
+ LISTing to file test_auto_cache.out
+ LISTing to file test_auto_cache.out
+ LISTing to file test_auto_cache.out
+ LISTing to file test_auto_cache.out
+ LISTing to file test_auto_cache.out
+ LISTing to file test_auto_cache.out
+ LISTing to file test_auto_cache.out
+ LISTing to file test_auto_cache.out
+ LISTing to file test_auto_cache.out
+ LISTing to file test_auto_cache.out
+ LISTing to file test_auto_cache.out
+ LISTing to file test_auto_cache.out
+ LISTing to file test_auto_cache.out
+ LISTing to file test_auto_cache.out
+ LISTing to file test_auto_cache.out
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_transp_choose
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  **ERROR: command syntax: unknown region name: @w
 set region/@w
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
- Cached data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  **ERROR: dimensions improperly specified: specified data is not a line
            - its a 2D region: "plot/i=1:10/j=1:20/nolabel i+j"
 plot/i=1:10/j=1:20/nolabel i+j
@@ -5040,8 +6706,10 @@ Re-defining viewport UM6
  Using every   2th vector in the Y direction
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Re-defining viewport UL6
 Re-defining viewport UM6
 Re-defining viewport UR6
@@ -5051,12 +6719,30 @@ Replacing definition of axis TDAYS
  Using every   4th vector in the X direction
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis TAX
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis XAX
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Re-defining viewport LL6
+Re-defining viewport UL6
+Re-defining viewport LM6
+Re-defining viewport UM6
+Re-defining viewport LR6
+Re-defining viewport UR6
  **ERROR: dimensions improperly specified: specified data is not a line
            - its a 2D region: "plot/i=1:10/j=1:20/nolabel i+j"
 plot/i=1:10/j=1:20/nolabel i+j
@@ -5088,4 +6774,4 @@ vector/i=1:10/j=1:20/nolabel i/j,j/i,i+j
 Re-defining viewport LM6
 Re-defining viewport UM6
            *** NOTE: Cannot create new windows when batch mode set
-Ended at Fri Feb 10 10:13:50 PST 2017
+Ended at Thu May 11 10:36:34 PDT 2017
diff --git a/bench/ansley_official.rhel5_32_log b/bench/ansley_official.rhel5_32_log
index 439b5d8..5e762d0 100644
--- a/bench/ansley_official.rhel5_32_log
+++ b/bench/ansley_official.rhel5_32_log
@@ -1,10 +1,10 @@
 Procedure run_all to run all FERRET benchmarks
 Running FERRET version /home/users/ansley/build/linux/FERRET/fer/ferret_c
--rwxr-xr-x 1 ansley tmap 119374506 Feb 10 10:07 /home/users/ansley/build/linux/FERRET/fer/ferret_c
+-rwxr-xr-x 1 ansley tmap 120937210 May 11 10:23 /home/users/ansley/build/linux/FERRET/fer/ferret_c
 Using external functions from /home/users/ansley/build/linux/FERRET/external_functions/ext_func
 Running the tests of external functions y
 Benchmark run by ansley
-Note: Ferret v7.1 release
+Note: fix to dot-product axis merging 
 ncdump output will be in all_ncdump.out, and appended to this log file 
 ***** Restricting Ferret paths to bench directory *****
 FER_DAT=.
@@ -20,7 +20,7 @@ FER_LIBS=/home/users/tmap/ferret/linux/lib
 FER_PALETTE=. /home/users/tmap/ferret/linux/ppl
 PWD=/home/users/ansley/build/linux/FERRET/bench
 PYFER_EXTERNAL_FUNCTIONS=/home/users/tmap/ferret/linux/ext_func/pylibs
-Beginning at Fri Feb 10 10:08:34 PST 2017
+Beginning at Thu May 11 10:26:09 PDT 2017
 ! BN500_ALL.JNL
 ! - run all the benchmark tests
 ! - ordered (more or less) from least to most complex
@@ -146,9 +146,12 @@ Beginning at Fri Feb 10 10:08:34 PST 2017
 ! Include this statement to compare the outupt of 6D Ferret with
 ! previous 4D benchmark logs.
 ! cancel mode 6d_lab
+! V702 *sh* 3/17 - added dynamic memory benchmarks.  Tweaked a couple of others
  
-GO bn_reset
+GO bn_reset bn_syntax
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_syntax
 GO bn_syntax
 ! bn401_syntax.JNL
 ! - test syntax interpretation of Program FERRET
@@ -432,11 +435,11 @@ region W
 ! SET - SHOW - CANCEL  MODE
 SHOW MODES
       MODE            STATE        ARGUMENT
-      DIAGNOSTIC    CANCELLED           99
+      DIAGNOSTIC    CANCELED            99
       VERIFY           SET         DEFAULT
-      INTERPOLATE   CANCELLED
-      IGNORE_ERROR  CANCELLED
-      STUPID        CANCELLED
+      INTERPOLATE   CANCELED
+      IGNORE_ERROR  CANCELED
+      STUPID        CANCELED
       JOURNAL          SET         ferret.jnl
       LONG_LABEL       SET               1
       LATIT_LABEL      SET               1
@@ -446,32 +449,33 @@ SHOW MODES
       F_LABEL          SET         minutes
       ASCII_FONT       SET
       SEGMENT          SET
-      WAIT          CANCELLED
-      DESPERATE     CANCELLED      2560000
+      WAIT          CANCELED
+      DESPERATE     CANCELED       2560000
       GKS              SET
       REFRESH          SET
-      METAFILE      CANCELLED      metafile.plt
-      PPLLIST       CANCELLED      ppllist.out
-      GUI           CANCELLED
+      METAFILE      CANCELED       metafile.plt
+      PPLLIST       CANCELED       ppllist.out
+      GUI           CANCELED
       LOGO             SET
       LABELS           SET
-      GRATICULE     CANCELLED
+      GRATICULE     CANCELED
       LINECOLORS       SET               6
       UPCASE_OUTPU     SET
       NLEVELS          SET              30
       NODATA_LAB       SET
-      SHRINK_YLAB   CANCELLED
-      CURVILINEAR   CANCELLED
-      LAYERZ        CANCELLED
+      SHRINK_YLAB   CANCELED
+      CURVILINEAR   CANCELED
+      LAYERZ        CANCELED
       6D_LAB           SET
+      FRUGAL           SET              30
 SET MODE IGNORE_ERROR
 SHOW MODES
       MODE            STATE        ARGUMENT
-      DIAGNOSTIC    CANCELLED           99
+      DIAGNOSTIC    CANCELED            99
       VERIFY           SET         DEFAULT
-      INTERPOLATE   CANCELLED
+      INTERPOLATE   CANCELED
       IGNORE_ERROR     SET
-      STUPID        CANCELLED
+      STUPID        CANCELED
       JOURNAL          SET         ferret.jnl
       LONG_LABEL       SET               1
       LATIT_LABEL      SET               1
@@ -481,32 +485,33 @@ SHOW MODES
       F_LABEL          SET         minutes
       ASCII_FONT       SET
       SEGMENT          SET
-      WAIT          CANCELLED
-      DESPERATE     CANCELLED      2560000
+      WAIT          CANCELED
+      DESPERATE     CANCELED       2560000
       GKS              SET
       REFRESH          SET
-      METAFILE      CANCELLED      metafile.plt
-      PPLLIST       CANCELLED      ppllist.out
-      GUI           CANCELLED
+      METAFILE      CANCELED       metafile.plt
+      PPLLIST       CANCELED       ppllist.out
+      GUI           CANCELED
       LOGO             SET
       LABELS           SET
-      GRATICULE     CANCELLED
+      GRATICULE     CANCELED
       LINECOLORS       SET               6
       UPCASE_OUTPU     SET
       NLEVELS          SET              30
       NODATA_LAB       SET
-      SHRINK_YLAB   CANCELLED
-      CURVILINEAR   CANCELLED
-      LAYERZ        CANCELLED
+      SHRINK_YLAB   CANCELED
+      CURVILINEAR   CANCELED
+      LAYERZ        CANCELED
       6D_LAB           SET
+      FRUGAL           SET              30
 CANCEL MODE IGNORE_ERROR
 SHOW MODES
       MODE            STATE        ARGUMENT
-      DIAGNOSTIC    CANCELLED           99
+      DIAGNOSTIC    CANCELED            99
       VERIFY           SET         DEFAULT
-      INTERPOLATE   CANCELLED
-      IGNORE_ERROR  CANCELLED
-      STUPID        CANCELLED
+      INTERPOLATE   CANCELED
+      IGNORE_ERROR  CANCELED
+      STUPID        CANCELED
       JOURNAL          SET         ferret.jnl
       LONG_LABEL       SET               1
       LATIT_LABEL      SET               1
@@ -516,27 +521,28 @@ SHOW MODES
       F_LABEL          SET         minutes
       ASCII_FONT       SET
       SEGMENT          SET
-      WAIT          CANCELLED
-      DESPERATE     CANCELLED      2560000
+      WAIT          CANCELED
+      DESPERATE     CANCELED       2560000
       GKS              SET
       REFRESH          SET
-      METAFILE      CANCELLED      metafile.plt
-      PPLLIST       CANCELLED      ppllist.out
-      GUI           CANCELLED
+      METAFILE      CANCELED       metafile.plt
+      PPLLIST       CANCELED       ppllist.out
+      GUI           CANCELED
       LOGO             SET
       LABELS           SET
-      GRATICULE     CANCELLED
+      GRATICULE     CANCELED
       LINECOLORS       SET               6
       UPCASE_OUTPU     SET
       NLEVELS          SET              30
       NODATA_LAB       SET
-      SHRINK_YLAB   CANCELLED
-      CURVILINEAR   CANCELLED
-      LAYERZ        CANCELLED
+      SHRINK_YLAB   CANCELED
+      CURVILINEAR   CANCELED
+      LAYERZ        CANCELED
       6D_LAB           SET
+      FRUGAL           SET              30
 SHOW MODE STUPID
       MODE            STATE        ARGUMENT
-      STUPID        CANCELLED
+      STUPID        CANCELED
 SET MODE STUPID
 SHOW MODE STUPID
       MODE            STATE        ARGUMENT
@@ -544,7 +550,7 @@ SHOW MODE STUPID
 SET MODE/LAST STUPID
 SHOW MODE STUPID
       MODE            STATE        ARGUMENT
-      STUPID        CANCELLED
+      STUPID        CANCELED
  
 ! new modes 5/93
 set mode journal newjournal.jnl
@@ -572,12 +578,12 @@ ppl list plot
 cancel mode journal
 show mode journal
       MODE            STATE        ARGUMENT
-      JOURNAL       CANCELLED      ferret.jnl
+      JOURNAL       CANCELED       ferret.jnl
  
 ! new 1/94  (syntax check also applies to modes journal and ppllist)
 show mode metafile
       MODE            STATE        ARGUMENT
-      METAFILE      CANCELLED      metafile.plt
+      METAFILE      CANCELED       metafile.plt
 set mode metafile newmetafile1.plt
 show mode metafile
       MODE            STATE        ARGUMENT
@@ -737,56 +743,62 @@ SHOW VARIABLES
  
 ! SHOW MEMORY , LOAD
 SHOW MEMORY
- Current size of FERRET memory cache: 25.6 MegaWords  (1 word = 8 bytes)
+    SET MEMORY/SIZE: 25.6 megawords
+    Peak demand: 18 words
+    Current cache: 5 words
 SHOW MEMORY/TEMPORARY
- Current size of FERRET memory cache: 25.6 MegaWords  (1 word = 8 bytes)
+    SET MEMORY/SIZE: 25.6 megawords
+    Peak demand: 18 words
+    Current cache: 5 words
 data loaded without /PERMANENT:
- SALT[D=gt4d011]                   X     mr:3  blk1:1  nblk:1
-  101  /130W          50  /1.3N           1  /0              5  /07-SEP-1982
-  105  /125W          50  /1.7N           1  /10             5  /13-SEP-1982
+ SALT[D=gt4d011]                   X     mr:3 size:5
+       101/130W               50/1.3N                1/0                   5/07-SEP-1982
+       105/125W               50/1.7N                1/10                  5/13-SEP-1982
  
 SHOW MEMORY/PERMANENT
- Current size of FERRET memory cache: 25.6 MegaWords  (1 word = 8 bytes)
+    SET MEMORY/SIZE: 25.6 megawords
+    Peak demand: 18 words
+    Current cache: 5 words
 data loaded with /PERMANENT:
 SHOW MEMORY/ALL
- Current size of FERRET memory cache: 25.6 MegaWords  (1 word = 8 bytes)
+    SET MEMORY/SIZE: 25.6 megawords
+    Peak demand: 18 words
+    Current cache: 5 words
 all data in memory:
- SALT[D=gt4d011]                   X     mr:3  blk1:1  nblk:1
-  101  /130W          50  /1.3N           1  /0              5  /07-SEP-1982
-  105  /125W          50  /1.7N           1  /10             5  /13-SEP-1982
+ SALT[D=gt4d011]                   X     mr:3 size:5
+       101/130W               50/1.3N                1/0                   5/07-SEP-1982
+       105/125W               50/1.7N                1/10                  5/13-SEP-1982
  
  
 LET A=i
 LOAD/PERM/I=1:5 A
 SHOW MEMORY
- Current size of FERRET memory cache: 25.6 MegaWords  (1 word = 8 bytes)
+    SET MEMORY/SIZE: 25.6 megawords
+    Peak demand: 18 words
+    Current cache: 15 words
+    Permanent: 5 words
 SHOW MEMORY/FREE
- Current size of FERRET memory cache: 25.6 MegaWords  (1 word = 8 bytes)
-            total memory table slots: 500
-            total memory blocks: 2000
-            memory block size: 12800
- 
-            number of free memory blocks: 1997
-            largest free region: 1997
-            number of free regions: 1
-            free memory table slots: 497
-            number of UN-CACHED variables: 0
-            number of /PERMANENT variables: 1
-            number of blocks used /PERM: 1
+    SET MEMORY/SIZE: 25.6 megawords
+    Peak demand: 18 words
+    Current cache: 15 words
+    Permanent: 5 words
+    Total table slots: 500
+    Free table slots: 497
+    Un-cached variables: 0
+    number of /PERMANENT variables: 1
+    memory used for /PERM: 5
 LOAD/TEMPORARY/I=1:5 A
 SHOW MEMORY
- Current size of FERRET memory cache: 25.6 MegaWords  (1 word = 8 bytes)
+    SET MEMORY/SIZE: 25.6 megawords
+    Peak demand: 18 words
+    Current cache: 10 words
 SHOW MEMORY/FREE
- Current size of FERRET memory cache: 25.6 MegaWords  (1 word = 8 bytes)
-            total memory table slots: 500
-            total memory blocks: 2000
-            memory block size: 12800
- 
-            number of free memory blocks: 1998
-            largest free region: 1997
-            number of free regions: 2
-            free memory table slots: 498
-            number of UN-CACHED variables: 0
+    SET MEMORY/SIZE: 25.6 megawords
+    Peak demand: 18 words
+    Current cache: 10 words
+    Total table slots: 500
+    Free table slots: 498
+    Un-cached variables: 0
  
 ! REPEAT
 REPEAT/L=1:3 LIST/I=1:6/ORDER=X 1/(I+L)
@@ -1070,8 +1082,10 @@ J1111111112222222222333333333344444444445555555555666666666677777777778888888888
  
 cancel mode metafile      !9/97
  
-GO bn_reset
+GO bn_reset bn_dollar
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_dollar
 GO bn_dollar hello    ! test command arg
 ! test this with GO journal hello
  
@@ -1243,8 +1257,10 @@ set mode ignore
 set mode/last ignore
  
 ! added in bn400
-GO bn_reset
+GO bn_reset bn_grave
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_grave
 GO bn_grave
 ! bn420_grave
 ! benchmark to test evaluation of grave accent-enclosed expressions
@@ -1392,14 +1408,14 @@ set mode diagnostic
 let sst2 = sst[l=5:8]
 say `sst, return=size`    ! should only do a GETGRID
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME
  !-> MESSAGE/CONTINUE 48600
 48600
 say `sst2,return=lend`    ! should inherit L=5:8
  dealloc  dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid SST2     C:  7 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid SST2     C:  7 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME
  allocate dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME
  !-> MESSAGE/CONTINUE 8
@@ -1518,41 +1534,41 @@ let a = XSEQUENCE(J[j=1:5])
 set mode diagnostic
 say `a,return=isize`          ! full evaluation occurs
  dealloc  dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid A        C:  7 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid (C01,V08 C:  9 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid (C11,V08 C: 11 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid A        C:  7 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid (C01,V08 C:  9 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid (C11,V08 C: 11 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  dealloc  dynamic grid ABSTRACT        ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT
- pass #2 (C11,V08 C: 11 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- -DELETE X        M:  2 dset:   0 I:  160  160  J: -999 -999  K: -999 -999  L: -999 -999
+ pass #2 (C11,V08 C: 11 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ -DELETE X        M:  2 dset:   0 I:    160    160  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- eval    A        C:  6 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- eval    (C01,V08 C:  8 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- eval    (C11,V08 C: 10 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- pseudo  J        M:  2 dset:   0 I: -999 -999  J:    1    5  K: -999 -999  L: -999 -999
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
+ eval    A        C:  6 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
+ eval    (C01,V08 C:  8 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
+ eval    (C11,V08 C: 10 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
+ pseudo  J        M:  2 dset:   0 I:   -999   -999  J:    1    5  K: -999 -999  L:   -999   -999
  !-> MESSAGE/CONTINUE 5
 5
 say `a[i=2:3],return=isize`   ! full evaluation is bypassed
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- -DELETE J        M:  2 dset:   0 I: -999 -999  J:    1    5  K: -999 -999  L: -999 -999
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ -DELETE J        M:  2 dset:   0 I:   -999   -999  J:    1    5  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- found   A        M: 10 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
+ found   A        M: 10 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
  !-> MESSAGE/CONTINUE 2
 2
 say `a[i=100:200],return=isize`    ! correct starting with Ferret v694 (tkt 2213)
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- eval    A        C:  6 dset:   0 I:  100  200  J: -999 -999  K: -999 -999  L: -999 -999
- eval    (C01,V08 C:  8 dset:   0 I:  100  200  J: -999 -999  K: -999 -999  L: -999 -999
- found   (C11,V08 M:  5 dset:   0 I: -999 -999  J:    1    5  K: -999 -999  L: -999 -999
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
+ eval    A        C:  6 dset:   0 I:    100    200  J: -999 -999  K: -999 -999  L:   -999   -999
+ eval    (C01,V08 C:  8 dset:   0 I:    100    200  J: -999 -999  K: -999 -999  L:   -999   -999
+ found   (C11,V08 M:  5 dset:   0 I:   -999   -999  J:    1    5  K: -999 -999  L:   -999   -999
  !-> MESSAGE/CONTINUE 5
 5
 set mode/last diagnostic
@@ -1570,8 +1586,10 @@ set mode/last ignore_errors
  
  
 ! added in bn420
-GO bn_reset
+GO bn_reset bn_letd
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_letd
 GO bn_letd
 ! bn420_letd.jnl
 ! 9/1/95
@@ -1848,8 +1866,10 @@ list q[d=v12file]
  
  
 ! added in bn430
-GO bn_reset
+GO bn_reset bn_if
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_if
 GO bn_if
 ! bn430_if
 ! 5/6/96
@@ -1943,8 +1963,10 @@ IF yes THEN
   say ---->... now inside of IF clause
 ---->... now inside of IF clause
  
-GO bn_reset
+GO bn_reset bn_expressions
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_expressions
 GO bn_expressions
 ! bn450_expressions.JNL
 ! test all manner of expressions
@@ -2474,8 +2496,10 @@ LIST/L=5:7 TBOXLO, TBOXHI
 6   / 6:  5.500  6.500
 7   / 7:  6.500  7.500
  
-GO bn_reset
+GO bn_reset bn_geometry
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_geometry
 GO bn_geometry
 ! bn200_geometry.JNL
 ! benchmark various geometries for accessing FERRET data
@@ -3067,10 +3091,10 @@ DEFINE REGION/I=101:105/J=46:50/K=1:5/L=1:5 R4D
 SET REG R4D
 SET EXPRESSION temp
 LOAD		! load full 4-D region
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DT2          PSXT      PSYT      PSZT      TIME1
- eval    EX#1     C:  4 dset:   1 I:  101  105  J:   46   50  K:    1    5  L:    1    5
- reading TEMP     M: 31 dset:   1 I:  101  105  J:   46   50  K:    1    5  L:    1    5
+ eval    EX#1     C:  4 dset:   1 I:    101    105  J:   46   50  K:    1    5  L:      1      5
+ reading TEMP     M: 31 dset:   1 I:    101    105  J:   46   50  K:    1    5  L:      1      5
 GO bn_geometry.sub
 ! BN200_GEOMETRY.SUB
 ! list the variable vtest on variuos geometries
@@ -3080,8 +3104,8 @@ GO bn_geometry.sub
 ! lines of data
 LIST/@JPT/@KPT/@LPT/ORDER=X
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:  101  105  J:   46   46  K:    1    1  L:    1    1
- found   TEMP     M: 31 dset:   1 I:  101  105  J:   46   50  K:    1    5  L:    1    5
+ eval    EX#1     C:  5 dset:   1 I:    101    105  J:   46   46  K:    1    1  L:      1      1
+ found   TEMP     M: 31 dset:   1 I:    101    105  J:   46   50  K:    1    5  L:      1      5
              VARIABLE : TEMPERATURE (deg. C)
              FILENAME : gt4d011.cdf
              SUBSET   : 5 points (LONGITUDE)
@@ -3091,11 +3115,11 @@ LIST/@JPT/@KPT/@LPT/ORDER=X
           129.5W 128.5W 127.5W 126.5W 125.5W 
           101    102    103    104    105
           25.78  25.80  25.82  25.80  25.74
- -DELETE TEMP     M: 29 dset:   1 I:  101  105  J:   46   46  K:    1    1  L:    1    1
+ -DELETE TEMP     M: 29 dset:   1 I:    101    105  J:   46   46  K:    1    1  L:      1      1
 LIST/@IPT/@KPT/@LPT/ORDER=Y
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:  101  101  J:   46   50  K:    1    1  L:    1    1
- found   TEMP     M: 31 dset:   1 I:  101  105  J:   46   50  K:    1    5  L:    1    5
+ eval    EX#1     C:  5 dset:   1 I:    101    101  J:   46   50  K:    1    1  L:      1      1
+ found   TEMP     M: 31 dset:   1 I:    101    105  J:   46   50  K:    1    5  L:      1      5
              VARIABLE : TEMPERATURE (deg. C)
              FILENAME : gt4d011.cdf
              SUBSET   : 5 points (LATITUDE)
@@ -3105,11 +3129,11 @@ LIST/@IPT/@KPT/@LPT/ORDER=Y
            0.17N  0.5N   0.83N  1.17N  1.5N  
            46     47     48     49     50
           25.78  25.90  26.04  26.22  26.42
- -DELETE TEMP     M: 29 dset:   1 I:   46   50  J:  101  101  K:    1    1  L:    1    1
+ -DELETE TEMP     M: 29 dset:   1 I:     46     50  J:  101  101  K:    1    1  L:      1      1
 LIST/@IPT/@JPT/@LPT/ORDER=Z
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:  101  101  J:   46   46  K:    1    5  L:    1    1
- found   TEMP     M: 31 dset:   1 I:  101  105  J:   46   50  K:    1    5  L:    1    5
+ eval    EX#1     C:  5 dset:   1 I:    101    101  J:   46   46  K:    1    5  L:      1      1
+ found   TEMP     M: 31 dset:   1 I:    101    105  J:   46   50  K:    1    5  L:      1      5
              VARIABLE : TEMPERATURE (deg. C)
              FILENAME : gt4d011.cdf
              SUBSET   : 5 points (DEPTH (m))
@@ -3119,11 +3143,11 @@ LIST/@IPT/@JPT/@LPT/ORDER=Z
            5      15     25     35     45    
             1      2      3      4      5
           25.78  25.67  25.51  25.35  25.16
- -DELETE TEMP     M: 29 dset:   1 I:    1    5  J:  101  101  K:   46   46  L:    1    1
+ -DELETE TEMP     M: 29 dset:   1 I:      1      5  J:  101  101  K:   46   46  L:      1      1
 LIST/@IPT/@JPT/@KPT/ORDER=T
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:  101  101  J:   46   46  K:    1    1  L:    1    5
- found   TEMP     M: 31 dset:   1 I:  101  105  J:   46   50  K:    1    5  L:    1    5
+ eval    EX#1     C:  5 dset:   1 I:    101    101  J:   46   46  K:    1    1  L:      1      5
+ found   TEMP     M: 31 dset:   1 I:    101    105  J:   46   50  K:    1    5  L:      1      5
              VARIABLE : TEMPERATURE (deg. C)
              FILENAME : gt4d011.cdf
              SUBSET   : 5 points (TIME)
@@ -3133,13 +3157,13 @@ LIST/@IPT/@JPT/@KPT/ORDER=T
            1982   1982   1982   1982   1982  
             1      2      3      4      5
           25.78  25.98  26.18  26.39  26.62
- -DELETE TEMP     M: 29 dset:   1 I:    1    5  J:  101  101  K:   46   46  L:    1    1
+ -DELETE TEMP     M: 29 dset:   1 I:      1      5  J:  101  101  K:   46   46  L:      1      1
  
 ! planes of data
 LIST/@KPT/@LPT	!XY
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:  101  105  J:   46   50  K:    1    1  L:    1    1
- found   TEMP     M: 31 dset:   1 I:  101  105  J:   46   50  K:    1    5  L:    1    5
+ eval    EX#1     C:  5 dset:   1 I:    101    105  J:   46   50  K:    1    1  L:      1      1
+ found   TEMP     M: 31 dset:   1 I:    101    105  J:   46   50  K:    1    5  L:      1      5
              VARIABLE : TEMPERATURE (deg. C)
              FILENAME : gt4d011.cdf
              SUBSET   : 5 by 5 points (LONGITUDE-LATITUDE)
@@ -3152,11 +3176,11 @@ LIST/@KPT/@LPT	!XY
  0.83N / 48:  26.04  26.10  26.13  26.11  26.06
  0.5N  / 47:  25.90  25.94  25.96  25.94  25.89
  0.17N / 46:  25.78  25.80  25.82  25.80  25.74
- -DELETE TEMP     M: 29 dset:   1 I:  101  105  J:   46   50  K:    1    1  L:    1    1
+ -DELETE TEMP     M: 29 dset:   1 I:    101    105  J:   46   50  K:    1    1  L:      1      1
 LIST/@JPT/@LPT	!XZ
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:  101  105  J:   46   46  K:    1    5  L:    1    1
- found   TEMP     M: 31 dset:   1 I:  101  105  J:   46   50  K:    1    5  L:    1    5
+ eval    EX#1     C:  5 dset:   1 I:    101    105  J:   46   46  K:    1    5  L:      1      1
+ found   TEMP     M: 31 dset:   1 I:    101    105  J:   46   50  K:    1    5  L:      1      5
              VARIABLE : TEMPERATURE (deg. C)
              FILENAME : gt4d011.cdf
              SUBSET   : 5 by 5 points (LONGITUDE-DEPTH (m))
@@ -3169,11 +3193,11 @@ LIST/@JPT/@LPT	!XZ
  25    / 3:  25.51  25.53  25.54  25.53  25.48
  35    / 4:  25.35  25.36  25.36  25.34  25.29
  45    / 5:  25.16  25.15  25.12  25.07  25.02
- -DELETE TEMP     M: 29 dset:   1 I:  101  105  J:    1    5  K:   46   46  L:    1    1
+ -DELETE TEMP     M: 29 dset:   1 I:    101    105  J:    1    5  K:   46   46  L:      1      1
 LIST/@JPT/@KPT	!XT
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:  101  105  J:   46   46  K:    1    1  L:    1    5
- found   TEMP     M: 31 dset:   1 I:  101  105  J:   46   50  K:    1    5  L:    1    5
+ eval    EX#1     C:  5 dset:   1 I:    101    105  J:   46   46  K:    1    1  L:      1      5
+ found   TEMP     M: 31 dset:   1 I:    101    105  J:   46   50  K:    1    5  L:      1      5
              VARIABLE : TEMPERATURE (deg. C)
              FILENAME : gt4d011.cdf
              SUBSET   : 5 by 5 points (LONGITUDE-TIME)
@@ -3186,11 +3210,11 @@ LIST/@JPT/@KPT	!XT
  29-AUG-1982 16 / 3:  26.18  26.13  26.07  26.01  25.97
  04-SEP-1982 18 / 4:  26.39  26.31  26.24  26.18  26.15
  10-SEP-1982 20 / 5:  26.62  26.55  26.47  26.40  26.36
- -DELETE TEMP     M: 29 dset:   1 I:  101  105  J:    1    5  K:   46   46  L:    1    1
+ -DELETE TEMP     M: 29 dset:   1 I:    101    105  J:    1    5  K:   46   46  L:      1      1
 LIST/@IPT/@LPT	!YZ
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:  101  101  J:   46   50  K:    1    5  L:    1    1
- found   TEMP     M: 31 dset:   1 I:  101  105  J:   46   50  K:    1    5  L:    1    5
+ eval    EX#1     C:  5 dset:   1 I:    101    101  J:   46   50  K:    1    5  L:      1      1
+ found   TEMP     M: 31 dset:   1 I:    101    105  J:   46   50  K:    1    5  L:      1      5
              VARIABLE : TEMPERATURE (deg. C)
              FILENAME : gt4d011.cdf
              SUBSET   : 5 by 5 points (LATITUDE-DEPTH (m))
@@ -3203,11 +3227,11 @@ LIST/@IPT/@LPT	!YZ
  25    / 3:  25.51  25.68  25.90  26.12  26.35
  35    / 4:  25.35  25.58  25.86  26.11  26.35
  45    / 5:  25.16  25.41  25.77  26.10  26.35
- -DELETE TEMP     M: 29 dset:   1 I:   46   50  J:    1    5  K:  101  101  L:    1    1
+ -DELETE TEMP     M: 29 dset:   1 I:     46     50  J:    1    5  K:  101  101  L:      1      1
 LIST/@IPT/@KPT	!YT
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:  101  101  J:   46   50  K:    1    1  L:    1    5
- found   TEMP     M: 31 dset:   1 I:  101  105  J:   46   50  K:    1    5  L:    1    5
+ eval    EX#1     C:  5 dset:   1 I:    101    101  J:   46   50  K:    1    1  L:      1      5
+ found   TEMP     M: 31 dset:   1 I:    101    105  J:   46   50  K:    1    5  L:      1      5
              VARIABLE : TEMPERATURE (deg. C)
              FILENAME : gt4d011.cdf
              SUBSET   : 5 by 5 points (LATITUDE-TIME)
@@ -3220,11 +3244,11 @@ LIST/@IPT/@KPT	!YT
  29-AUG-1982 16 / 3:  26.18  26.30  26.46  26.65  26.86
  04-SEP-1982 18 / 4:  26.39  26.51  26.67  26.85  27.05
  10-SEP-1982 20 / 5:  26.62  26.72  26.87  27.03  27.17
- -DELETE TEMP     M: 29 dset:   1 I:   46   50  J:    1    5  K:  101  101  L:    1    1
+ -DELETE TEMP     M: 29 dset:   1 I:     46     50  J:    1    5  K:  101  101  L:      1      1
 LIST/@IPT/@JPT	!ZT
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:  101  101  J:   46   46  K:    1    5  L:    1    5
- found   TEMP     M: 31 dset:   1 I:  101  105  J:   46   50  K:    1    5  L:    1    5
+ eval    EX#1     C:  5 dset:   1 I:    101    101  J:   46   46  K:    1    5  L:      1      5
+ found   TEMP     M: 31 dset:   1 I:    101    105  J:   46   50  K:    1    5  L:      1      5
              VARIABLE : TEMPERATURE (deg. C)
              FILENAME : gt4d011.cdf
              SUBSET   : 5 by 5 points (DEPTH (m)-TIME)
@@ -3237,13 +3261,13 @@ LIST/@IPT/@JPT	!ZT
  29-AUG-1982 16 / 3:  26.18  26.08  25.93  25.79  25.60
  04-SEP-1982 18 / 4:  26.39  26.31  26.16  26.04  25.83
  10-SEP-1982 20 / 5:  26.62  26.53  26.36  26.25  26.04
- -DELETE TEMP     M: 29 dset:   1 I:    1    5  J:    1    5  K:  101  101  L:   46   46
+ -DELETE TEMP     M: 29 dset:   1 I:      1      5  J:    1    5  K:  101  101  L:     46     46
  
 ! cubes of data
 LIST/@LPT
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:  101  105  J:   46   50  K:    1    5  L:    1    1
- found   TEMP     M: 31 dset:   1 I:  101  105  J:   46   50  K:    1    5  L:    1    5
+ eval    EX#1     C:  5 dset:   1 I:    101    105  J:   46   50  K:    1    5  L:      1      1
+ found   TEMP     M: 31 dset:   1 I:    101    105  J:   46   50  K:    1    5  L:      1      5
              VARIABLE : TEMPERATURE (deg. C)
              FILENAME : gt4d011.cdf
              SUBSET   : 5 by 5 by 5 points (LONGITUDE-LATITUDE-DEPTH (m))
@@ -3280,11 +3304,11 @@ LIST/@LPT
  0.83N / 48:  25.77  25.81  25.82  25.81  25.76
  0.5N  / 47:  25.41  25.43  25.41  25.38  25.32
  0.17N / 46:  25.16  25.15  25.12  25.07  25.02
- -DELETE TEMP     M: 29 dset:   1 I:  101  105  J:   46   50  K:    1    5  L:    1    1
+ -DELETE TEMP     M: 29 dset:   1 I:    101    105  J:   46   50  K:    1    5  L:      1      1
 LIST/@KPT
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:  101  105  J:   46   50  K:    1    1  L:    1    5
- found   TEMP     M: 31 dset:   1 I:  101  105  J:   46   50  K:    1    5  L:    1    5
+ eval    EX#1     C:  5 dset:   1 I:    101    105  J:   46   50  K:    1    1  L:      1      5
+ found   TEMP     M: 31 dset:   1 I:    101    105  J:   46   50  K:    1    5  L:      1      5
              VARIABLE : TEMPERATURE (deg. C)
              FILENAME : gt4d011.cdf
              SUBSET   : 5 by 5 by 5 points (LONGITUDE-LATITUDE-TIME)
@@ -3321,11 +3345,11 @@ LIST/@KPT
  0.83N / 48:  26.87  26.75  26.62  26.54  26.52
  0.5N  / 47:  26.72  26.63  26.52  26.45  26.43
  0.17N / 46:  26.62  26.55  26.47  26.40  26.36
- -DELETE TEMP     M: 29 dset:   1 I:  101  105  J:   46   50  K:    1    5  L:    1    1
+ -DELETE TEMP     M: 29 dset:   1 I:    101    105  J:   46   50  K:    1    5  L:      1      1
 LIST/@JPT
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:  101  105  J:   46   46  K:    1    5  L:    1    5
- found   TEMP     M: 31 dset:   1 I:  101  105  J:   46   50  K:    1    5  L:    1    5
+ eval    EX#1     C:  5 dset:   1 I:    101    105  J:   46   46  K:    1    5  L:      1      5
+ found   TEMP     M: 31 dset:   1 I:    101    105  J:   46   50  K:    1    5  L:      1      5
              VARIABLE : TEMPERATURE (deg. C)
              FILENAME : gt4d011.cdf
              SUBSET   : 5 by 5 by 5 points (LONGITUDE-DEPTH (m)-TIME)
@@ -3362,11 +3386,11 @@ LIST/@JPT
  25    / 3:  26.36  26.31  26.19  26.08  26.03
  35    / 4:  26.25  26.21  26.09  25.98  25.92
  45    / 5:  26.04  26.01  25.93  25.84  25.77
- -DELETE TEMP     M: 29 dset:   1 I:  101  105  J:    1    5  K:    1    5  L:   46   46
+ -DELETE TEMP     M: 29 dset:   1 I:    101    105  J:    1    5  K:    1    5  L:     46     46
 LIST/@IPT
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:  101  101  J:   46   50  K:    1    5  L:    1    5
- found   TEMP     M: 31 dset:   1 I:  101  105  J:   46   50  K:    1    5  L:    1    5
+ eval    EX#1     C:  5 dset:   1 I:    101    101  J:   46   50  K:    1    5  L:      1      5
+ found   TEMP     M: 31 dset:   1 I:    101    105  J:   46   50  K:    1    5  L:      1      5
              VARIABLE : TEMPERATURE (deg. C)
              FILENAME : gt4d011.cdf
              SUBSET   : 5 by 5 by 5 points (LATITUDE-DEPTH (m)-TIME)
@@ -3403,12 +3427,12 @@ LIST/@IPT
  25    / 3:  26.36  26.59  26.78  26.95  27.09
  35    / 4:  26.25  26.53  26.78  26.95  27.09
  45    / 5:  26.04  26.32  26.68  26.95  27.09
- -DELETE TEMP     M: 29 dset:   1 I:   46   50  J:    1    5  K:    1    5  L:  101  101
+ -DELETE TEMP     M: 29 dset:   1 I:     46     50  J:    1    5  K:    1    5  L:    101    101
  
 ! 4D region
 LOAD
- eval    EX#1     C:  4 dset:   1 I:  101  105  J:   46   50  K:    1    5  L:    1    5
- found   TEMP     M: 31 dset:   1 I:  101  105  J:   46   50  K:    1    5  L:    1    5
+ eval    EX#1     C:  4 dset:   1 I:    101    105  J:   46   50  K:    1    5  L:      1      5
+ found   TEMP     M: 31 dset:   1 I:    101    105  J:   46   50  K:    1    5  L:      1      5
 SET MODE/LAST DIAGNOSTIC
  
 ! ******** disk-resident file variable ************
@@ -3431,11 +3455,11 @@ GO bn_geometry.sub
  
 ! lines of data
 LIST/@JPT/@KPT/@LPT/ORDER=X
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DT2          PSXT      PSYT      PSZT      TIME1
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:  101  105  J:   46   46  K:    1    1  L:    1    1
- reading TEMP     M: 31 dset:   1 I:  101  105  J:   46   46  K:    1    1  L:    1    1
+ eval    EX#1     C:  5 dset:   1 I:    101    105  J:   46   46  K:    1    1  L:      1      1
+ reading TEMP     M: 31 dset:   1 I:    101    105  J:   46   46  K:    1    1  L:      1      1
              VARIABLE : TEMPERATURE (deg. C)
              FILENAME : gt4d011.cdf
              SUBSET   : 5 points (LONGITUDE)
@@ -3447,8 +3471,8 @@ LIST/@JPT/@KPT/@LPT/ORDER=X
           25.78  25.80  25.82  25.80  25.74
 LIST/@IPT/@KPT/@LPT/ORDER=Y
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:  101  101  J:   46   50  K:    1    1  L:    1    1
- reading TEMP     M: 29 dset:   1 I:  101  101  J:   46   50  K:    1    1  L:    1    1
+ eval    EX#1     C:  5 dset:   1 I:    101    101  J:   46   50  K:    1    1  L:      1      1
+ reading TEMP     M: 29 dset:   1 I:    101    101  J:   46   50  K:    1    1  L:      1      1
              VARIABLE : TEMPERATURE (deg. C)
              FILENAME : gt4d011.cdf
              SUBSET   : 5 points (LATITUDE)
@@ -3460,8 +3484,8 @@ LIST/@IPT/@KPT/@LPT/ORDER=Y
           25.78  25.90  26.04  26.22  26.42
 LIST/@IPT/@JPT/@LPT/ORDER=Z
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:  101  101  J:   46   46  K:    1    5  L:    1    1
- reading TEMP     M: 28 dset:   1 I:  101  101  J:   46   46  K:    1    5  L:    1    1
+ eval    EX#1     C:  5 dset:   1 I:    101    101  J:   46   46  K:    1    5  L:      1      1
+ reading TEMP     M: 28 dset:   1 I:    101    101  J:   46   46  K:    1    5  L:      1      1
              VARIABLE : TEMPERATURE (deg. C)
              FILENAME : gt4d011.cdf
              SUBSET   : 5 points (DEPTH (m))
@@ -3473,8 +3497,8 @@ LIST/@IPT/@JPT/@LPT/ORDER=Z
           25.78  25.67  25.51  25.35  25.16
 LIST/@IPT/@JPT/@KPT/ORDER=T
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:  101  101  J:   46   46  K:    1    1  L:    1    5
- reading TEMP     M: 27 dset:   1 I:  101  101  J:   46   46  K:    1    1  L:    1    5
+ eval    EX#1     C:  5 dset:   1 I:    101    101  J:   46   46  K:    1    1  L:      1      5
+ reading TEMP     M: 27 dset:   1 I:    101    101  J:   46   46  K:    1    1  L:      1      5
              VARIABLE : TEMPERATURE (deg. C)
              FILENAME : gt4d011.cdf
              SUBSET   : 5 points (TIME)
@@ -3488,8 +3512,8 @@ LIST/@IPT/@JPT/@KPT/ORDER=T
 ! planes of data
 LIST/@KPT/@LPT	!XY
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:  101  105  J:   46   50  K:    1    1  L:    1    1
- reading TEMP     M: 26 dset:   1 I:  101  105  J:   46   50  K:    1    1  L:    1    1
+ eval    EX#1     C:  5 dset:   1 I:    101    105  J:   46   50  K:    1    1  L:      1      1
+ reading TEMP     M: 26 dset:   1 I:    101    105  J:   46   50  K:    1    1  L:      1      1
              VARIABLE : TEMPERATURE (deg. C)
              FILENAME : gt4d011.cdf
              SUBSET   : 5 by 5 points (LONGITUDE-LATITUDE)
@@ -3504,8 +3528,8 @@ LIST/@KPT/@LPT	!XY
  0.17N / 46:  25.78  25.80  25.82  25.80  25.74
 LIST/@JPT/@LPT	!XZ
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:  101  105  J:   46   46  K:    1    5  L:    1    1
- reading TEMP     M: 25 dset:   1 I:  101  105  J:   46   46  K:    1    5  L:    1    1
+ eval    EX#1     C:  5 dset:   1 I:    101    105  J:   46   46  K:    1    5  L:      1      1
+ reading TEMP     M: 25 dset:   1 I:    101    105  J:   46   46  K:    1    5  L:      1      1
              VARIABLE : TEMPERATURE (deg. C)
              FILENAME : gt4d011.cdf
              SUBSET   : 5 by 5 points (LONGITUDE-DEPTH (m))
@@ -3520,8 +3544,8 @@ LIST/@JPT/@LPT	!XZ
  45    / 5:  25.16  25.15  25.12  25.07  25.02
 LIST/@JPT/@KPT	!XT
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:  101  105  J:   46   46  K:    1    1  L:    1    5
- reading TEMP     M: 24 dset:   1 I:  101  105  J:   46   46  K:    1    1  L:    1    5
+ eval    EX#1     C:  5 dset:   1 I:    101    105  J:   46   46  K:    1    1  L:      1      5
+ reading TEMP     M: 24 dset:   1 I:    101    105  J:   46   46  K:    1    1  L:      1      5
              VARIABLE : TEMPERATURE (deg. C)
              FILENAME : gt4d011.cdf
              SUBSET   : 5 by 5 points (LONGITUDE-TIME)
@@ -3536,8 +3560,8 @@ LIST/@JPT/@KPT	!XT
  10-SEP-1982 20 / 5:  26.62  26.55  26.47  26.40  26.36
 LIST/@IPT/@LPT	!YZ
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:  101  101  J:   46   50  K:    1    5  L:    1    1
- reading TEMP     M: 23 dset:   1 I:  101  101  J:   46   50  K:    1    5  L:    1    1
+ eval    EX#1     C:  5 dset:   1 I:    101    101  J:   46   50  K:    1    5  L:      1      1
+ reading TEMP     M: 23 dset:   1 I:    101    101  J:   46   50  K:    1    5  L:      1      1
              VARIABLE : TEMPERATURE (deg. C)
              FILENAME : gt4d011.cdf
              SUBSET   : 5 by 5 points (LATITUDE-DEPTH (m))
@@ -3552,8 +3576,8 @@ LIST/@IPT/@LPT	!YZ
  45    / 5:  25.16  25.41  25.77  26.10  26.35
 LIST/@IPT/@KPT	!YT
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:  101  101  J:   46   50  K:    1    1  L:    1    5
- reading TEMP     M: 22 dset:   1 I:  101  101  J:   46   50  K:    1    1  L:    1    5
+ eval    EX#1     C:  5 dset:   1 I:    101    101  J:   46   50  K:    1    1  L:      1      5
+ reading TEMP     M: 22 dset:   1 I:    101    101  J:   46   50  K:    1    1  L:      1      5
              VARIABLE : TEMPERATURE (deg. C)
              FILENAME : gt4d011.cdf
              SUBSET   : 5 by 5 points (LATITUDE-TIME)
@@ -3568,8 +3592,8 @@ LIST/@IPT/@KPT	!YT
  10-SEP-1982 20 / 5:  26.62  26.72  26.87  27.03  27.17
 LIST/@IPT/@JPT	!ZT
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:  101  101  J:   46   46  K:    1    5  L:    1    5
- reading TEMP     M: 21 dset:   1 I:  101  101  J:   46   46  K:    1    5  L:    1    5
+ eval    EX#1     C:  5 dset:   1 I:    101    101  J:   46   46  K:    1    5  L:      1      5
+ reading TEMP     M: 21 dset:   1 I:    101    101  J:   46   46  K:    1    5  L:      1      5
              VARIABLE : TEMPERATURE (deg. C)
              FILENAME : gt4d011.cdf
              SUBSET   : 5 by 5 points (DEPTH (m)-TIME)
@@ -3586,8 +3610,8 @@ LIST/@IPT/@JPT	!ZT
 ! cubes of data
 LIST/@LPT
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:  101  105  J:   46   50  K:    1    5  L:    1    1
- reading TEMP     M: 20 dset:   1 I:  101  105  J:   46   50  K:    1    5  L:    1    1
+ eval    EX#1     C:  5 dset:   1 I:    101    105  J:   46   50  K:    1    5  L:      1      1
+ reading TEMP     M: 20 dset:   1 I:    101    105  J:   46   50  K:    1    5  L:      1      1
              VARIABLE : TEMPERATURE (deg. C)
              FILENAME : gt4d011.cdf
              SUBSET   : 5 by 5 by 5 points (LONGITUDE-LATITUDE-DEPTH (m))
@@ -3626,8 +3650,8 @@ LIST/@LPT
  0.17N / 46:  25.16  25.15  25.12  25.07  25.02
 LIST/@KPT
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:  101  105  J:   46   50  K:    1    1  L:    1    5
- reading TEMP     M: 19 dset:   1 I:  101  105  J:   46   50  K:    1    1  L:    1    5
+ eval    EX#1     C:  5 dset:   1 I:    101    105  J:   46   50  K:    1    1  L:      1      5
+ reading TEMP     M: 19 dset:   1 I:    101    105  J:   46   50  K:    1    1  L:      1      5
              VARIABLE : TEMPERATURE (deg. C)
              FILENAME : gt4d011.cdf
              SUBSET   : 5 by 5 by 5 points (LONGITUDE-LATITUDE-TIME)
@@ -3666,8 +3690,8 @@ LIST/@KPT
  0.17N / 46:  26.62  26.55  26.47  26.40  26.36
 LIST/@JPT
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:  101  105  J:   46   46  K:    1    5  L:    1    5
- reading TEMP     M: 18 dset:   1 I:  101  105  J:   46   46  K:    1    5  L:    1    5
+ eval    EX#1     C:  5 dset:   1 I:    101    105  J:   46   46  K:    1    5  L:      1      5
+ reading TEMP     M: 18 dset:   1 I:    101    105  J:   46   46  K:    1    5  L:      1      5
              VARIABLE : TEMPERATURE (deg. C)
              FILENAME : gt4d011.cdf
              SUBSET   : 5 by 5 by 5 points (LONGITUDE-DEPTH (m)-TIME)
@@ -3706,8 +3730,8 @@ LIST/@JPT
  45    / 5:  26.04  26.01  25.93  25.84  25.77
 LIST/@IPT
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:  101  101  J:   46   50  K:    1    5  L:    1    5
- reading TEMP     M: 17 dset:   1 I:  101  101  J:   46   50  K:    1    5  L:    1    5
+ eval    EX#1     C:  5 dset:   1 I:    101    101  J:   46   50  K:    1    5  L:      1      5
+ reading TEMP     M: 17 dset:   1 I:    101    101  J:   46   50  K:    1    5  L:      1      5
              VARIABLE : TEMPERATURE (deg. C)
              FILENAME : gt4d011.cdf
              SUBSET   : 5 by 5 by 5 points (LATITUDE-DEPTH (m)-TIME)
@@ -3747,8 +3771,8 @@ LIST/@IPT
  
 ! 4D region
 LOAD
- eval    EX#1     C:  4 dset:   1 I:  101  105  J:   46   50  K:    1    5  L:    1    5
- reading TEMP     M: 16 dset:   1 I:  101  105  J:   46   50  K:    1    5  L:    1    5
+ eval    EX#1     C:  4 dset:   1 I:    101    105  J:   46   50  K:    1    5  L:      1      5
+ reading TEMP     M: 16 dset:   1 I:    101    105  J:   46   50  K:    1    5  L:      1      5
 SET MODE/LAST DIAGNOSTIC
  
 ! ******** diagnostic variable ************
@@ -3770,13 +3794,16 @@ SET MODE/LAST IGNORE_ERRORS
  
  
  
-GO bn_reset
-cancel mode verify
 set mode ignore		! needed for AIX   11/94
+GO bn_reset   bn_output
+cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_output
 GO bn_output
 ! bn200_output.JNL
 ! - test various output methods in FERRET
 ! rev 0.0  4/27/90 *sh*
+! 4/17 *acm* LIST/CLOBBER files (these are removed by run_all too)
  
 LET v = 1000*i + 100*j + 10*k + l
 SET REGION/I=1:2/J=3:4/K=5:6/L=7:8
@@ -6749,20 +6776,23 @@ LIST
 2   / 2:  2467.  2.000  4.000  6.000  7.000
 CANCEL LIST/ALL
 SET LIST/FILE=AUTO-X
-LIST/FILE
-LIST/FILE=test.dat
+LIST/CLOBBER/FILE
+LIST/CLOBBER/FILE=test.dat
 LIST/FILE=test.dat/APPEND
-LIST/FILE=test.unf/FORMAT=UNFORMATTED
+LIST/CLOBBER/FILE=test.unf/FORMAT=UNFORMATTED
 ! V6.8 we no longer write this file type
 SET MODE IGNORE
 LIST/FILE=test.gt/FORMAT=TMAP/L=1:3 v,v^0.5
 SET MODE/LAST IGNORE
 CANCEL LIST
+ 
 cancel list/format
 can mode ignore		! needed for AIX
  
-GO bn_reset
+GO bn_reset bn_in_plane
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_in_plane
 GO bn_in_plane
 ! bn200_in_plane.JNL
 ! benchmark various geometries with in-plane transformation applied (@SBX)
@@ -7278,8 +7308,10 @@ LIST/ORDER=T v[t=@sbx,i=@ave,j=@ave,k=@ave]
             2      3      4
          -2.855 -1.567 -0.836
  
-GO bn_reset
+GO bn_reset bn_compress
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_compress
 GO bn_compress
 ! bn200_compress.JNL
 ! benchmark various geometries obtained by compressing FERRET data with @AVE
@@ -7787,8 +7819,10 @@ LIST/ORDER=X v[i=@ave,j=@ave,k=@ave,l=@ave]
 ! remove call to bn200_compress.sub_qady for portable benchmarks *kob* 5/99
 ! ****
  
-GO bn_reset
+GO bn_reset bn_interpolate
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_interpolate
 GO bn_interpolate
 ! bn200_interpolate.JNL
 ! benchmark interpolation along various axes
@@ -8185,8 +8219,10 @@ LIST v[@xpt, at ypt, at zpt, at tpt]
              T        : 1.0005 (interpolated)
           1113.00
  
-GO bn_reset
+GO bn_reset bn_regrid
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_regrid
 GO bn_regrid
 ! bn200_regrid.JNL
 ! test regridding
@@ -9565,8 +9601,10 @@ list a24[g=g48]-a48
  05-JAN-1980 00 / 3: -438312.
  07-JAN-1980 00 / 4: -438312.
  
-GO bn_reset
+GO bn_reset bn_ez
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_ez
 GO bn_ez		! changed from bn200_ez 8/10/95
 ! bn401_ez.JNL
 ! test all manner of accessing non-TMAP data files
@@ -9920,6 +9958,10 @@ SHOW DATA
  
  
 ! truncate reading by grid size limit
+! V702: *sh* note that with 3 columns of pairs and a request to read only
+! 8 values total, the final record is incomplete.  These final values
+! **do not get initialized**.  This has been reported in trac #2509
+! The presence of uninitialized values can throw off the formatting of the output
 DEFINE AXIS/X=1:8:1 xez3
 DEFINE GRID/X=XEZ3 GEZ3
 FILE/VAR="X1,X2"/COLUMNS=6/GRID=GEZ3 EZ.DAT
@@ -9948,8 +9990,8 @@ LIST X1
  4   / 4:  0.355000
  5   / 5:  0.379000
  6   / 6:  0.393000
- 7   / 7:  0.410000
- 8   / 8:  0.417000
+ 7   / 7:  0.000000
+ 8   / 8:  0.000000
 SHOW DATA
      currently SET data sets:
     1> ./EZ.DAT  (default)
@@ -9986,8 +10028,10 @@ PPL ECHO ON		! added 10/27/93
  
 ! 10/97 *kob* now set mode metafile
 set mode metafile bnplot.plt
-GO bn_reset
+GO bn_reset bn_plot
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_plot
 GO bn_plot		! upgraded from bn320_plot 10/1/97 *kob*
 ! bn450_plot.JNL - updated 9/97 from bn320_plot.jnl
 ! upgraded from bn320 to provide method for testing batch mode.  Also remove
@@ -10190,9 +10234,11 @@ set mode/last logo
  
 !added in bn450 10/97 *kob*
 ! moved to right after bn450_plot to capture metafiles *kob* 2/98
-GO bn_reset
-cancel mode verify
 ! 2/98 changed bn450_curv to bn491_curv - just some cosmetic changes *kob*
+GO bn_reset bn_curv
+cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_curv
 GO bn_curv
 cancel mode ignore
 !
@@ -10385,8 +10431,10 @@ SET WINDOW/CLEAR/SIZE=0.2 ! 8/25/92
 ! 10/97 *kob* now cancel mode metafile
 cancel mode metafile
  
-GO bn_reset
+GO bn_reset bn_symbols
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_symbols
 GO bn_symbols	! added 6/22/95
 ! bn420_symbols
 ! benchmark to test machinery of symbol definition and use
@@ -10409,20 +10457,22 @@ show symbols/all
 PPL$XPIXEL = "406"
 PPL$YPIXEL = "406"
 BYTEORDER = "LITTLE"
-FERRET_VERSION = "7.1"
-FERRET_PLATFORM = "Linux 2.6.18-417.el5PAE 32-bit"
+FERRET_VERSION = "7.11"
+FERRET_PLATFORM = "Linux 2.6.18-419.el5PAE 32-bit"
 FERRET_PRECISION = "double"
 NETCDF_VERSION = "4.3.2 of Dec 16 2014 12:21:13 $"
 FERRET_MEMORY = "25.6"
-SESSION_DATE = "10-Feb-17"
-SESSION_TIME = "10:08"
-SESSION_PID = "25546"
-DELTA_CPU = "9.99248"
-CLOCK_SECS = "12.902"
-CURRENT_DATE = "10-Feb-17"
-CURRENT_TIME = "10:08:47"
+SESSION_DATE = "11-May-17"
+SESSION_TIME = "10:26"
+SESSION_PID = "17872"
+DELTA_CPU = "9.90649"
+CLOCK_SECS = "15.65"
+CURRENT_DATE = "11-May-17"
+CURRENT_TIME = "10:26:24"
 N_OPEN_DSETS = "0"
 PROGRAM_NAME = "Ferret"
+PEAK_MEMORY = "0"
+SPAWN_STATUS = "1"
  
 ! define some symbols ... syntax variations
 define symbol s1 = hello
@@ -10438,20 +10488,22 @@ show symbol/all
 PPL$XPIXEL = "406"
 PPL$YPIXEL = "406"
 BYTEORDER = "LITTLE"
-FERRET_VERSION = "7.1"
-FERRET_PLATFORM = "Linux 2.6.18-417.el5PAE 32-bit"
+FERRET_VERSION = "7.11"
+FERRET_PLATFORM = "Linux 2.6.18-419.el5PAE 32-bit"
 FERRET_PRECISION = "double"
 NETCDF_VERSION = "4.3.2 of Dec 16 2014 12:21:13 $"
 FERRET_MEMORY = "25.6"
-SESSION_DATE = "10-Feb-17"
-SESSION_TIME = "10:08"
-SESSION_PID = "25546"
+SESSION_DATE = "11-May-17"
+SESSION_TIME = "10:26"
+SESSION_PID = "17872"
 DELTA_CPU = "0.013998"
-CLOCK_SECS = "12.917"
-CURRENT_DATE = "10-Feb-17"
-CURRENT_TIME = "10:08:47"
+CLOCK_SECS = "15.665"
+CURRENT_DATE = "11-May-17"
+CURRENT_TIME = "10:26:24"
 N_OPEN_DSETS = "0"
 PROGRAM_NAME = "Ferret"
+PEAK_MEMORY = "0"
+SPAWN_STATUS = "1"
 S1 = "hello"
 S2 = ""hello""
 S3 = "hello and goodbye"
@@ -10459,9 +10511,10 @@ NUM = "3"
 T$DOLLAR = "hi"
 T_HELLO = "hi"
 show symbol s*
-SESSION_DATE = "10-Feb-17"
-SESSION_TIME = "10:08"
-SESSION_PID = "25546"
+SESSION_DATE = "11-May-17"
+SESSION_TIME = "10:26"
+SESSION_PID = "17872"
+SPAWN_STATUS = "1"
 S1 = "hello"
 S2 = ""hello""
 S3 = "hello and goodbye"
@@ -10471,15 +10524,17 @@ S2 = ""hello""
 ! exercise CANCEL SYMBOL
 cancel symbol s2
 show symbol s*
-SESSION_DATE = "10-Feb-17"
-SESSION_TIME = "10:08"
-SESSION_PID = "25546"
+SESSION_DATE = "11-May-17"
+SESSION_TIME = "10:26"
+SESSION_PID = "17872"
+SPAWN_STATUS = "1"
 S1 = "hello"
 S3 = "hello and goodbye"
 show symbol S*
-SESSION_DATE = "10-Feb-17"
-SESSION_TIME = "10:08"
-SESSION_PID = "25546"
+SESSION_DATE = "11-May-17"
+SESSION_TIME = "10:26"
+SESSION_PID = "17872"
+SPAWN_STATUS = "1"
 S1 = "hello"
 S3 = "hello and goodbye"
 cancel symbol s2	! already deleted
@@ -10513,9 +10568,9 @@ Q23456789012345678901234567XXXAAAAA = "6"
 ! show the upper left coordinate limits labels as symbols
 plot/i=1:100/y=10/z=5/set_up SIN(I/6)+Y+Z
 show symbol lab*
-LAB1 = "FERRET (beta/debug) Ver.7.1"
+LAB1 = "FERRET (beta/debug) Ver.7.11"
 LAB2 = "NOAA/PMEL TMAP"
-LAB3 = "10-FEB-2017 10:08:47"
+LAB3 = "11-MAY-2017 10:26:24"
 LABX = "X"
 LAB4 = "Y : 10"
 LABNUM_Y = "4"
@@ -10610,24 +10665,28 @@ show symbols/all
 PPL$XPIXEL = "406"
 PPL$YPIXEL = "406"
 BYTEORDER = "LITTLE"
-FERRET_VERSION = "7.1"
-FERRET_PLATFORM = "Linux 2.6.18-417.el5PAE 32-bit"
+FERRET_VERSION = "7.11"
+FERRET_PLATFORM = "Linux 2.6.18-419.el5PAE 32-bit"
 FERRET_PRECISION = "double"
 NETCDF_VERSION = "4.3.2 of Dec 16 2014 12:21:13 $"
 FERRET_MEMORY = "25.6"
-SESSION_DATE = "10-Feb-17"
-SESSION_TIME = "10:08"
-SESSION_PID = "25546"
+SESSION_DATE = "11-May-17"
+SESSION_TIME = "10:26"
+SESSION_PID = "17872"
 DELTA_CPU = "0.029995"
-CLOCK_SECS = "12.946"
-CURRENT_DATE = "10-Feb-17"
-CURRENT_TIME = "10:08:47"
+CLOCK_SECS = "15.695"
+CURRENT_DATE = "11-May-17"
+CURRENT_TIME = "10:26:24"
 N_OPEN_DSETS = "0"
 PROGRAM_NAME = "Ferret"
+PEAK_MEMORY = "201"
+SPAWN_STATUS = "1"
  
  
-GO bn_reset
+GO bn_reset bn_comma_delimited
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_comma_delimited
 GO bn_comma_delimited	! added 10/2/95
 ! bn420_comma_delimited
  
@@ -12232,8 +12291,8 @@ LIST/FORMAT=comma/precision=9 randu(i)*temp*1e7
              DEPTH (m): 15
              TIME     : 10-SEP-1982 20:00
    135.5W   ,134.5W   
-1.5S,  166750845.,  202088412.
-1.167S,  166162833.,  201366579.
+1.5S,166750845.,202088412.
+1.167S,166162833.,201366579.
  
 ! small number formatting test
 set region/i=95:96/j=41:42/k=2/l=5
@@ -12287,8 +12346,10 @@ LIST/FORMAT=comma/precision=5 10*j+i
 2,21,22,23,24,25
 3,31,32,33,34,35
  
-GO bn_reset
+GO bn_reset bn_dynamic_grids
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_dynamic_grids
 GO bn_dynamic_grids	! added 9/27/95, V420 ->V491 4/98
 ! bn420_dynamic_grids
 ! 9/95-9/11/95 - test the creation, destruction, and use of dynamic grids
@@ -12473,6 +12534,11 @@ let save_mem = ($ferret_memory)
 set mem/siz = 10
  
 list temp[gz=z999999,z=5:15]	! err during regrid
+    To fulfill this request would exceed the current SET MEMORY/SIZE= limit of 10 megawords
+    At the moment that the memory limit was reached
+    memory was committed as follows:
+        - to objects used in computation: : 50 (5.E-04%)
+    The size of the requested object was: : 24999975 (250%)
 show grid/dynamic
 Dynamic grids:
     GRID (G004)                          use count:   1
@@ -12562,6 +12628,7 @@ Dynamic grids:
  
 list temp[gx=w]
              VARIABLE : TEMPERATURE (deg. C)
+                        regrid: TEMP
              FILENAME : gtsa056_1.cdf
              SUBSET   : 5 by 5 points (LONGITUDE-LATITUDE)
              DEPTH (m): 5
@@ -13002,7 +13069,7 @@ show grid/x
  Last successful data access was on grid (G004)
     GRID (G004)
  name       axis              # pts   start                end                 subset
- (AX009)   X                    5 i   1                    6561                4 pts
+ (AX009)   X                    5 i   1                    6561                5 pts
  normal    Y
  normal    Z
  normal    T
@@ -13955,8 +14022,10 @@ set axis/modulo psxt
  
 set mode/last diag
  
-GO bn_reset
+GO bn_reset bn_cdf
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_cdf
 GO bn_cdf
 ! bn320_cdf
 ! benchmark to test netCDF input and output
@@ -14848,8 +14917,10 @@ list/x=180 fcn_rev_sub
  0    / 11:  0.000000
  1S   / 10:  0.316573
  
-GO bn_reset
+GO bn_reset bn_regrid_transforms
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_regrid_transforms
 GO bn_regrid_transforms
 ! bn500_regrid_transforms
 ! benchmark to test regridding transformations and syntax
@@ -14880,14 +14951,14 @@ set mode diag
 define axis/t=15-jan-1982:15-mar-1984:120/unit=hour tax5day
 define axis/x=120e:60w:10/unit=degrees xax10
 define grid/like=u/t=tax5day g5day
- getgrid EX#1     C:  6 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  6 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU1          PSXU      PSYU      PSZT      TIME1
 define grid/like=u/x=xax10/z=w/t=tax5day g5_10
  dealloc  dynamic grid PS3DU1          PSXU      PSYU      PSZT      TIME1
- getgrid EX#1     C:  7 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  7 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU1          PSXU      PSYU      PSZT      TIME1
  dealloc  dynamic grid PS3DU1          PSXU      PSYU      PSZT      TIME1
- getgrid EX#1     C:  8 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  8 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DW11         PSXT1     PSYT      PSZW      TIME1
  
 set reg/x=130w:125w/y=0:1.5/z=0:15/t=21-JAN-1982:24-jan-1982
@@ -14899,109 +14970,95 @@ use gtsa056_1    	!kob 4/99
 set mode ignore
 load temp[g=@lin]    ! no target grid specified
  dealloc  dynamic grid PS3DW11         PSXT1     PSYT      PSZW      TIME1
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DT2          PSXT1     PSYT      PSZT      TIME2
- eval    EX#1     C:  4 dset:   1 I:  101  105  J:   45   50  K:    1    2  L:    3    4
- reading TEMP     M: 57 dset:   1 I:  101  105  J:   45   50  K:    1    2  L:    3    4
+ eval    EX#1     C:  4 dset:   1 I:    101    105  J:   45   50  K:    1    2  L:      3      4
+ reading TEMP     M:120 dset:   1 I:    101    105  J:   45   50  K:    1    2  L:      3      4
 load temp[gx=@ave]   ! no target grid specified
  dealloc  dynamic grid PS3DT2          PSXT1     PSYT      PSZT      TIME2
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DT2          PSXT1     PSYT      PSZT      TIME2
- eval    EX#1     C:  4 dset:   1 I:  101  105  J:   45   50  K:    1    2  L:    3    4
- reading TEMP     M: 55 dset:   1 I:  101  105  J:   45   50  K:    1    2  L:    3    4
+ eval    EX#1     C:  4 dset:   1 I:    101    105  J:   45   50  K:    1    2  L:      3      4
+ found   TEMP     M:120 dset:   1 I:    101    105  J:   45   50  K:    1    2  L:      3      4
 load temp[g=u,g=w]   ! more than 1 target grid
  dealloc  dynamic grid PS3DT2          PSXT1     PSYT      PSZT      TIME2
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
 load temp[g=x]       ! g=user-or-pseudo-var not allowed
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
 set mode/last ignore
  
 ! valid syntax tests
 load temp
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DT2          PSXT1     PSYT      PSZT      TIME2
- eval    EX#1     C:  4 dset:   1 I:  101  105  J:   45   50  K:    1    2  L:    3    4
- reading TEMP     M: 45 dset:   1 I:  101  105  J:   45   50  K:    1    2  L:    3    4
+ eval    EX#1     C:  4 dset:   1 I:    101    105  J:   45   50  K:    1    2  L:      3      4
+ found   TEMP     M:120 dset:   1 I:    101    105  J:   45   50  K:    1    2  L:      3      4
 load temp[g=u]
  dealloc  dynamic grid PS3DT2          PSXT1     PSYT      PSZT      TIME2
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- eval    EX#1     C:  4 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    3    4
+ eval    EX#1     C:  4 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      3      4
  strip regrid on X: TEMP --> PS3DU2           @LIN
- reading TEMP     M: 43 dset:   1 I:  100  106  J:   45   50  K:    1    2  L:    3    4
+ reading TEMP     M:116 dset:   1 I:    100    106  J:   45   50  K:    1    2  L:      3      4
  regrid XY
- regrid  TEMP     M: 40 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    3    4
+ regrid  TEMP     M:114 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      3      4
 load temp[g=u at lin]
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- eval    EX#1     C:  4 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    3    4
- strip regrid on X: TEMP --> PS3DU2           @LIN
- reading TEMP     M: 36 dset:   1 I:  100  106  J:   45   50  K:    1    2  L:    3    4
- regrid XY
- regrid  TEMP     M: 34 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    3    4
+ eval    EX#1     C:  4 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      3      4
+ found   TEMP     M:114 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      3      4
 load temp[g=u at ave,gy=@asn]
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- eval    EX#1     C:  4 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    3    4
+ eval    EX#1     C:  4 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      3      4
  strip regrid on X: TEMP --> PS3DU2           @AVE
  strip regrid on Y: TEMP --> XNTERMED         @ASN
- reading TEMP     M: 33 dset:   1 I:  100  106  J:   45   49  K:    1    2  L:    3    4
- regrid  TEMP     M: 31 dset:   1 I:  100  106  J:   45   49  K:    1    2  L:    3    4
- regrid  TEMP     M: 30 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    3    4
- -DELETE TEMP     M: 31 dset:   1 I:  100  106  J:   45   49  K:    1    2  L:    3    4  M: -999 -999  N: -999 -999
+ found   TEMP     M:116 dset:   1 I:    100    106  J:   45   50  K:    1    2  L:      3      4
+ regrid  TEMP     M:113 dset:   1 I:    100    106  J:   45   49  K:    1    2  L:      3      4
+ regrid  TEMP     M:112 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      3      4
+ -DELETE TEMP     M:113 dset:   1 I:    100    106  J:   45   49  K:    1    2  L:      3      4  M: -999 -999  N: -999 -999
 load temp[g=u at lin,gy=@asn]
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- eval    EX#1     C:  4 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    3    4
+ eval    EX#1     C:  4 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      3      4
  strip regrid on X: TEMP --> PS3DU2           @LIN
  strip regrid on Y: TEMP --> XNTERMED         @ASN
- reading TEMP     M: 31 dset:   1 I:  100  106  J:   45   49  K:    1    2  L:    3    4
- regrid  TEMP     M: 28 dset:   1 I:  100  106  J:   45   49  K:    1    2  L:    3    4
- regrid  TEMP     M: 25 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    3    4
- -DELETE TEMP     M: 28 dset:   1 I:  100  106  J:   45   49  K:    1    2  L:    3    4  M: -999 -999  N: -999 -999
+ found   TEMP     M:116 dset:   1 I:    100    106  J:   45   50  K:    1    2  L:      3      4
+ regrid  TEMP     M:113 dset:   1 I:    100    106  J:   45   49  K:    1    2  L:      3      4
+ regrid  TEMP     M:108 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      3      4
+ -DELETE TEMP     M:113 dset:   1 I:    100    106  J:   45   49  K:    1    2  L:      3      4  M: -999 -999  N: -999 -999
 load temp[g=u,gx=@ave,gy=@asn]
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- eval    EX#1     C:  4 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    3    4
- strip regrid on X: TEMP --> PS3DU2           @AVE
- strip regrid on Y: TEMP --> XNTERMED         @ASN
- reading TEMP     M: 28 dset:   1 I:  100  106  J:   45   49  K:    1    2  L:    3    4
- regrid  TEMP     M: 22 dset:   1 I:  100  106  J:   45   49  K:    1    2  L:    3    4
- regrid  TEMP     M: 21 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    3    4
- -DELETE TEMP     M: 22 dset:   1 I:  100  106  J:   45   49  K:    1    2  L:    3    4  M: -999 -999  N: -999 -999
+ eval    EX#1     C:  4 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      3      4
+ found   TEMP     M:112 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      3      4
 load temp[gx=u]  		! changed V4.20 --> implicit regrid
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G009)          PSXU      PSYT      PSZT      TIME2
  dealloc  dynamic grid (G009)          PSXU      PSYT      PSZT      TIME2
  allocate dynamic grid (G009)          PSXU      PSYT      PSZT      TIME2
- eval    EX#1     C:  4 dset:   1 I:  100  105  J:   45   50  K:    1    2  L:    3    4
+ eval    EX#1     C:  4 dset:   1 I:    100    105  J:   45   50  K:    1    2  L:      3      4
  allocate dynamic grid (G009)          PSXU      PSYT      PSZT      TIME2
  strip regrid on X: TEMP --> (G009)           @LIN
- reading TEMP     M: 22 dset:   1 I:  100  106  J:   45   50  K:    1    2  L:    3    4
- regrid  TEMP     M: 16 dset:   1 I:  100  105  J:   45   50  K:    1    2  L:    3    4
+ found   TEMP     M:116 dset:   1 I:    100    106  J:   45   50  K:    1    2  L:      3      4
+ regrid  TEMP     M:113 dset:   1 I:    100    105  J:   45   50  K:    1    2  L:      3      4
  dealloc  dynamic grid (G009)          PSXU      PSYT      PSZT      TIME2
 stat temp[g=u] - temp[g=u at ave,gx=u at lin,gy=u at lin,gz=u at lin,gt=u at lin]  ! == 0
  dealloc  dynamic grid (G009)          PSXU      PSYT      PSZT      TIME2
- -DELETE TEMP     M: 16 dset:   1 I:  100  105  J:   45   50  K:    1    2  L:    3    4
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ -DELETE TEMP     M:113 dset:   1 I:    100    105  J:   45   50  K:    1    2  L:      3      4
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- eval    EX#1     C:  4 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    3    4
- strip regrid on X: TEMP --> PS3DU2           @LIN
- reading TEMP     M: 16 dset:   1 I:  100  106  J:   45   50  K:    1    2  L:    3    4
- regrid XY
- regrid  TEMP     M: 14 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    3    4
+ eval    EX#1     C:  4 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      3      4
+ found   TEMP     M:114 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      3      4
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- strip regrid on X: TEMP --> PS3DU2           @LIN
- reading TEMP     M: 12 dset:   1 I:  100  106  J:   45   50  K:    1    2  L:    3    4
- regrid XY
- regrid  TEMP     M: 11 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    3    4
+ found   TEMP     M:114 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      3      4
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
  
              TEMP[G=U] - TEMP[G=U at AVE,GX=U at LIN,GY=U at LIN,GZ=U at LIN,GT=U at LIN]
@@ -15020,23 +15077,18 @@ stat temp[g=u] - temp[g=u at ave,gx=u at lin,gy=u at lin,gz=u at lin,gt=u at lin]  ! == 0
  Mean    value: 0 (unweighted average)
  Standard deviation: 0
 stat temp[g=u,gx=@ave] - temp[gx=@ave,g=u]    ! == 0
- -DELETE EX#1     M: 10 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    3    4
+ -DELETE EX#1     M:113 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      3      4
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- eval    EX#1     C:  4 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    3    4
- strip regrid on X: TEMP --> PS3DU2           @AVE
- strip regrid on Y: TEMP --> XNTERMED         @LIN
- reading TEMP     M: 10 dset:   1 I:  100  106  J:   45   50  K:    1    2  L:    3    4
- regrid  TEMP     M:  7 dset:   1 I:  100  106  J:   45   49  K:    1    2  L:    3    4
- regrid  TEMP     M: 53 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    3    4
- -DELETE TEMP     M:  7 dset:   1 I:  100  106  J:   45   49  K:    1    2  L:    3    4  M: -999 -999  N: -999 -999
+ eval    EX#1     C:  4 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      3      4
  strip regrid on X: TEMP --> PS3DU2           @AVE
  strip regrid on Y: TEMP --> XNTERMED         @LIN
- reading TEMP     M:  7 dset:   1 I:  100  106  J:   45   50  K:    1    2  L:    3    4
- regrid  TEMP     M: 27 dset:   1 I:  100  106  J:   45   49  K:    1    2  L:    3    4
- regrid  TEMP     M: 24 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    3    4
- -DELETE TEMP     M: 27 dset:   1 I:  100  106  J:   45   49  K:    1    2  L:    3    4  M: -999 -999  N: -999 -999
+ found   TEMP     M:116 dset:   1 I:    100    106  J:   45   50  K:    1    2  L:      3      4
+ regrid  TEMP     M:113 dset:   1 I:    100    106  J:   45   49  K:    1    2  L:      3      4
+ regrid  TEMP     M:107 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      3      4
+ -DELETE TEMP     M:113 dset:   1 I:    100    106  J:   45   49  K:    1    2  L:      3      4  M: -999 -999  N: -999 -999
+ found   TEMP     M:107 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      3      4
  
              TEMP[G=U,GX=@AVE] - TEMP[GX=@AVE,G=U]
              LONGITUDE: 130W to 125W
@@ -15056,15 +15108,15 @@ stat temp[g=u,gx=@ave] - temp[gx=@ave,g=u]    ! == 0
  
 ! basic regrid tests
 LIST temp[g=u at ave]
- -DELETE EX#1     M: 27 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    3    4
+ -DELETE EX#1     M:113 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      3      4
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- eval    EX#1     C:  4 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    3    4
+ eval    EX#1     C:  4 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      3      4
  strip regrid on X: TEMP --> PS3DU2           @AAV
- reading TEMP     M: 27 dset:   1 I:  100  106  J:   45   50  K:    1    2  L:    3    4
+ found   TEMP     M:116 dset:   1 I:    100    106  J:   45   50  K:    1    2  L:      3      4
  regrid XY
- regrid  TEMP     M: 49 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    3    4
+ regrid  TEMP     M:113 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      3      4
              VARIABLE : TEMPERATURE (deg. C)
                         regrid: U on X at AAV, on Y at AAV
              FILENAME : gtsa056_1.cdf
@@ -15099,18 +15151,13 @@ LIST temp[g=u at ave]
  0     / 45:  23.5391  23.4697  23.4454  23.5341  23.7437  23.9152
 LIST temp[g=u,gx=u at ave]	! V4.20 mod
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- eval    EX#1     C:  4 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    3    4
+ eval    EX#1     C:  4 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      3      4
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- strip regrid on X: TEMP --> PS3DU2           @AVE
- strip regrid on Y: TEMP --> XNTERMED         @LIN
- reading TEMP     M: 18 dset:   1 I:  100  106  J:   45   50  K:    1    2  L:    3    4
- regrid  TEMP     M: 48 dset:   1 I:  100  106  J:   45   49  K:    1    2  L:    3    4
- regrid  TEMP     M: 23 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    3    4
- -DELETE TEMP     M: 48 dset:   1 I:  100  106  J:   45   49  K:    1    2  L:    3    4  M: -999 -999  N: -999 -999
+ found   TEMP     M:107 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      3      4
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
              VARIABLE : TEMPERATURE (deg. C)
                         regrid: U on X at AVE, on Y at LIN
@@ -15146,18 +15193,18 @@ LIST temp[g=u,gx=u at ave]	! V4.20 mod
  0     / 45:  23.5391  23.4697  23.4454  23.5341  23.7437  23.9152
 LIST temp[g=u,gy=u at ave]	! V4.20 mod
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- eval    EX#1     C:  4 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    3    4
+ eval    EX#1     C:  4 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      3      4
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
  strip regrid on X: TEMP --> PS3DU2           @LIN
  strip regrid on Y: TEMP --> XNTERMED         @AVE
- reading TEMP     M: 48 dset:   1 I:  100  106  J:   45   50  K:    1    2  L:    3    4
- regrid  TEMP     M:  6 dset:   1 I:  100  106  J:   45   49  K:    1    2  L:    3    4
- regrid  TEMP     M: 39 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    3    4
- -DELETE TEMP     M:  6 dset:   1 I:  100  106  J:   45   49  K:    1    2  L:    3    4  M: -999 -999  N: -999 -999
+ found   TEMP     M:116 dset:   1 I:    100    106  J:   45   50  K:    1    2  L:      3      4
+ regrid  TEMP     M: 90 dset:   1 I:    100    106  J:   45   49  K:    1    2  L:      3      4
+ regrid  TEMP     M: 85 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      3      4
+ -DELETE TEMP     M: 90 dset:   1 I:    100    106  J:   45   49  K:    1    2  L:      3      4  M: -999 -999  N: -999 -999
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
              VARIABLE : TEMPERATURE (deg. C)
                         regrid: U on X at LIN, on Y at AVE
@@ -15193,16 +15240,13 @@ LIST temp[g=u,gy=u at ave]	! V4.20 mod
  0     / 45:  23.5391  23.4697  23.4454  23.5341  23.7437  23.9152
 LIST temp[g=u,gz=u at ave]	! V4.20 mod
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- eval    EX#1     C:  4 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    3    4
+ eval    EX#1     C:  4 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      3      4
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- strip regrid on X: TEMP --> PS3DU2           @LIN
- reading TEMP     M:  6 dset:   1 I:  100  106  J:   45   50  K:    1    2  L:    3    4
- regrid XY
- regrid  TEMP     M: 15 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    3    4
+ found   TEMP     M:114 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      3      4
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
              VARIABLE : TEMPERATURE (deg. C)
                         regrid: U
@@ -15238,16 +15282,13 @@ LIST temp[g=u,gz=u at ave]	! V4.20 mod
  0     / 45:  23.5391  23.4697  23.4454  23.5341  23.7437  23.9152
 LIST temp[g=u,gt=u at ave]	! V4.20 mod, etc --> many more similar syntax chgs
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- eval    EX#1     C:  4 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    3    4
+ eval    EX#1     C:  4 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      3      4
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- strip regrid on X: TEMP --> PS3DU2           @LIN
- reading TEMP     M: 37 dset:   1 I:  100  106  J:   45   50  K:    1    2  L:    3    4
- regrid XY
- regrid  TEMP     M: 32 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    3    4
+ found   TEMP     M:114 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      3      4
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
              VARIABLE : TEMPERATURE (deg. C)
                         regrid: U
@@ -15284,13 +15325,10 @@ LIST temp[g=u,gt=u at ave]	! V4.20 mod, etc --> many more similar syntax chgs
  
 LIST temp[g=u]
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- eval    EX#1     C:  4 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    3    4
- strip regrid on X: TEMP --> PS3DU2           @LIN
- reading TEMP     M: 19 dset:   1 I:  100  106  J:   45   50  K:    1    2  L:    3    4
- regrid XY
- regrid  TEMP     M: 13 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    3    4
+ eval    EX#1     C:  4 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      3      4
+ found   TEMP     M:114 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      3      4
              VARIABLE : TEMPERATURE (deg. C)
                         regrid: U
              FILENAME : gtsa056_1.cdf
@@ -15325,15 +15363,15 @@ LIST temp[g=u]
  0     / 45:  23.5391  23.4697  23.4454  23.5341  23.7437  23.9152
 LIST temp[g=u at asn]
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- eval    EX#1     C:  4 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    3    4
+ eval    EX#1     C:  4 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      3      4
  strip regrid on X: TEMP --> PS3DU2           @ASN
  strip regrid on Y: TEMP --> XNTERMED         @ASN
- reading TEMP     M:  3 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    3    4
- regrid  TEMP     M:  1 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    3    4
- regrid  TEMP     M: 26 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    3    4
- -DELETE TEMP     M:  1 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    3    4  M: -999 -999  N: -999 -999
+ found   TEMP     M:116 dset:   1 I:    100    106  J:   45   50  K:    1    2  L:      3      4
+ regrid  TEMP     M: 90 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      3      4
+ regrid  TEMP     M: 77 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      3      4
+ -DELETE TEMP     M: 90 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      3      4  M: -999 -999  N: -999 -999
              VARIABLE : TEMPERATURE (deg. C)
                         regrid: U on X at ASN, on Y at ASN
              FILENAME : gtsa056_1.cdf
@@ -15368,18 +15406,18 @@ LIST temp[g=u at asn]
  0     / 45:  23.6210  23.5135  23.4199  23.3768  23.4767  23.6893
 LIST temp[g=u,gx=u at asn]
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- eval    EX#1     C:  4 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    3    4
+ eval    EX#1     C:  4 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      3      4
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
  strip regrid on X: TEMP --> PS3DU2           @ASN
  strip regrid on Y: TEMP --> XNTERMED         @LIN
- reading TEMP     M:  1 dset:   1 I:  100  105  J:   45   50  K:    1    2  L:    3    4
- regrid  TEMP     M: 52 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    3    4
- regrid  TEMP     M: 29 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    3    4
- -DELETE TEMP     M: 52 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    3    4  M: -999 -999  N: -999 -999
+ found   TEMP     M:116 dset:   1 I:    100    106  J:   45   50  K:    1    2  L:      3      4
+ regrid  TEMP     M: 90 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      3      4
+ regrid  TEMP     M: 74 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      3      4
+ -DELETE TEMP     M: 90 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      3      4  M: -999 -999  N: -999 -999
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
              VARIABLE : TEMPERATURE (deg. C)
                         regrid: U on X at ASN, on Y at LIN
@@ -15415,18 +15453,13 @@ LIST temp[g=u,gx=u at asn]
  0     / 45:  23.5798  23.4985  23.4409  23.4500  23.6182  23.8692
 LIST temp[g=u,gy=u at asn]
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- eval    EX#1     C:  4 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    3    4
+ eval    EX#1     C:  4 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      3      4
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- strip regrid on X: TEMP --> PS3DU2           @LIN
- strip regrid on Y: TEMP --> XNTERMED         @ASN
- reading TEMP     M: 52 dset:   1 I:  100  106  J:   45   49  K:    1    2  L:    3    4
- regrid  TEMP     M: 20 dset:   1 I:  100  106  J:   45   49  K:    1    2  L:    3    4
- regrid  TEMP     M: 56 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    3    4
- -DELETE TEMP     M: 20 dset:   1 I:  100  106  J:   45   49  K:    1    2  L:    3    4  M: -999 -999  N: -999 -999
+ found   TEMP     M:108 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      3      4
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
              VARIABLE : TEMPERATURE (deg. C)
                         regrid: U on X at LIN, on Y at ASN
@@ -15462,16 +15495,13 @@ LIST temp[g=u,gy=u at asn]
  0     / 45:  23.5673  23.4667  23.3983  23.4267  23.5830  23.7431
 LIST temp[g=u,gz=u at asn]
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- eval    EX#1     C:  4 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    3    4
+ eval    EX#1     C:  4 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      3      4
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- strip regrid on X: TEMP --> PS3DU2           @LIN
- reading TEMP     M: 20 dset:   1 I:  100  106  J:   45   50  K:    1    2  L:    3    4
- regrid XY
- regrid  TEMP     M: 51 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    3    4
+ found   TEMP     M:114 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      3      4
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
              VARIABLE : TEMPERATURE (deg. C)
                         regrid: U
@@ -15507,16 +15537,13 @@ LIST temp[g=u,gz=u at asn]
  0     / 45:  23.5391  23.4697  23.4454  23.5341  23.7437  23.9152
 LIST temp[g=u,gt=u at asn]
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- eval    EX#1     C:  4 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    3    4
+ eval    EX#1     C:  4 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      3      4
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- strip regrid on X: TEMP --> PS3DU2           @LIN
- reading TEMP     M: 44 dset:   1 I:  100  106  J:   45   50  K:    1    2  L:    3    4
- regrid XY
- regrid  TEMP     M: 42 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    3    4
+ found   TEMP     M:114 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      3      4
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
              VARIABLE : TEMPERATURE (deg. C)
                         regrid: U
@@ -15554,15 +15581,15 @@ LIST temp[g=u,gt=u at asn]
 ! Z and T axes different
 LIST temp[g=g5day at ave]
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    2    3
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      2      3
  strip regrid on X: TEMP --> G5DAY            @AAV
  strip regrid on T: TEMP --> XNTERMED         @AVE
- reading TEMP     M: 41 dset:   1 I:  100  106  J:   45   50  K:    1    2  L:    2    5
- regrid  TEMP     M: 38 dset:   1 I:  100  106  J:   45   50  K:    1    2  L:    2    3
+ reading TEMP     M: 90 dset:   1 I:    100    106  J:   45   50  K:    1    2  L:      2      5
+ regrid  TEMP     M: 58 dset:   1 I:    100    106  J:   45   50  K:    1    2  L:      2      3
  regrid XY
- regrid  TEMP     M: 35 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    2    3
- -DELETE TEMP     M: 38 dset:   1 I:  100  106  J:   45   50  K:    1    2  L:    2    3  M: -999 -999  N: -999 -999
+ regrid  TEMP     M: 15 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      2      3
+ -DELETE TEMP     M: 58 dset:   1 I:    100    106  J:   45   50  K:    1    2  L:      2      3  M: -999 -999  N: -999 -999
              VARIABLE : TEMPERATURE (deg. C)
                         regrid: G5DAY on X at AAV, on Y at AAV, on T at AVE
              FILENAME : gtsa056_1.cdf
@@ -15597,18 +15624,18 @@ LIST temp[g=g5day at ave]
  0     / 45:  23.5376  23.4796  23.4768  23.5746  23.7580  23.8929
 LIST temp[g=g5day,gx=g5day at ave]
  dealloc  dynamic grid G5DAY           PSXU      PSYU      PSZT      TAX5DAY
- -DELETE TEMP     M: 35 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    2    3
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    2    3
+ -DELETE TEMP     M: 15 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      2      3
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      2      3
  strip regrid on X: TEMP --> G5DAY            @AVE
  strip regrid on Y: TEMP --> XNTERMED         @LIN
  strip regrid on T: TEMP --> YNTERMED         @LIN
- reading TEMP     M: 35 dset:   1 I:  100  106  J:   45   50  K:    1    2  L:    2    5
- regrid  TEMP     M: 38 dset:   1 I:  100  106  J:   45   50  K:    1    2  L:    2    3
- regrid  TEMP     M:  9 dset:   1 I:  100  106  J:   45   49  K:    1    2  L:    2    3
- -DELETE TEMP     M: 38 dset:   1 I:  100  106  J:   45   50  K:    1    2  L:    2    3  M: -999 -999  N: -999 -999
- regrid  TEMP     M: 38 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    2    3
- -DELETE TEMP     M:  9 dset:   1 I:  100  106  J:   45   49  K:    1    2  L:    2    3  M: -999 -999  N: -999 -999
+ found   TEMP     M: 90 dset:   1 I:    100    106  J:   45   50  K:    1    2  L:      2      5
+ regrid  TEMP     M: 15 dset:   1 I:    100    106  J:   45   50  K:    1    2  L:      2      3
+ regrid  TEMP     M: 58 dset:   1 I:    100    106  J:   45   49  K:    1    2  L:      2      3
+ -DELETE TEMP     M: 15 dset:   1 I:    100    106  J:   45   50  K:    1    2  L:      2      3  M: -999 -999  N: -999 -999
+ regrid  TEMP     M: 15 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      2      3
+ -DELETE TEMP     M: 58 dset:   1 I:    100    106  J:   45   49  K:    1    2  L:      2      3  M: -999 -999  N: -999 -999
              VARIABLE : TEMPERATURE (deg. C)
                         regrid: G5DAY on X at AVE, on Y at LIN, on T at LIN
              FILENAME : gtsa056_1.cdf
@@ -15643,17 +15670,17 @@ LIST temp[g=g5day,gx=g5day at ave]
  0     / 45:  23.5390  23.4739  23.4601  23.5581  23.7626  23.9173
 LIST temp[g=g5day,gy=g5day at ave]
  dealloc  dynamic grid G5DAY           PSXU      PSYU      PSZT      TAX5DAY
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    2    3
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      2      3
  strip regrid on X: TEMP --> G5DAY            @LIN
  strip regrid on Y: TEMP --> XNTERMED         @AVE
  strip regrid on T: TEMP --> YNTERMED         @LIN
- reading TEMP     M:  9 dset:   1 I:  100  106  J:   45   50  K:    1    2  L:    2    5
- regrid  TEMP     M:  8 dset:   1 I:  100  106  J:   45   50  K:    1    2  L:    2    3
- regrid  TEMP     M:  5 dset:   1 I:  100  106  J:   45   49  K:    1    2  L:    2    3
- -DELETE TEMP     M:  8 dset:   1 I:  100  106  J:   45   50  K:    1    2  L:    2    3  M: -999 -999  N: -999 -999
- regrid  TEMP     M:  8 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    2    3
- -DELETE TEMP     M:  5 dset:   1 I:  100  106  J:   45   49  K:    1    2  L:    2    3  M: -999 -999  N: -999 -999
+ found   TEMP     M: 90 dset:   1 I:    100    106  J:   45   50  K:    1    2  L:      2      5
+ regrid  TEMP     M: 58 dset:   1 I:    100    106  J:   45   50  K:    1    2  L:      2      3
+ regrid  TEMP     M:110 dset:   1 I:    100    106  J:   45   49  K:    1    2  L:      2      3
+ -DELETE TEMP     M: 58 dset:   1 I:    100    106  J:   45   50  K:    1    2  L:      2      3  M: -999 -999  N: -999 -999
+ regrid  TEMP     M: 58 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      2      3
+ -DELETE TEMP     M:110 dset:   1 I:    100    106  J:   45   49  K:    1    2  L:      2      3  M: -999 -999  N: -999 -999
              VARIABLE : TEMPERATURE (deg. C)
                         regrid: G5DAY on X at LIN, on Y at AVE, on T at LIN
              FILENAME : gtsa056_1.cdf
@@ -15688,15 +15715,15 @@ LIST temp[g=g5day,gy=g5day at ave]
  0     / 45:  23.5390  23.4739  23.4601  23.5581  23.7626  23.9173
 LIST temp[g=g5day,gz=g5day at ave]
  dealloc  dynamic grid G5DAY           PSXU      PSYU      PSZT      TAX5DAY
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    2    3
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      2      3
  strip regrid on X: TEMP --> G5DAY            @LIN
  strip regrid on T: TEMP --> XNTERMED         @LIN
- reading TEMP     M:  5 dset:   1 I:  100  106  J:   45   50  K:    1    2  L:    2    5
- regrid  TEMP     M:  2 dset:   1 I:  100  106  J:   45   50  K:    1    2  L:    2    3
+ found   TEMP     M: 90 dset:   1 I:    100    106  J:   45   50  K:    1    2  L:      2      5
+ regrid  TEMP     M:110 dset:   1 I:    100    106  J:   45   50  K:    1    2  L:      2      3
  regrid XY
- regrid  TEMP     M: 47 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    2    3
- -DELETE TEMP     M:  2 dset:   1 I:  100  106  J:   45   50  K:    1    2  L:    2    3  M: -999 -999  N: -999 -999
+ regrid  TEMP     M: 41 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      2      3
+ -DELETE TEMP     M:110 dset:   1 I:    100    106  J:   45   50  K:    1    2  L:      2      3  M: -999 -999  N: -999 -999
              VARIABLE : TEMPERATURE (deg. C)
                         regrid: G5DAY
              FILENAME : gtsa056_1.cdf
@@ -15731,15 +15758,15 @@ LIST temp[g=g5day,gz=g5day at ave]
  0     / 45:  23.5390  23.4739  23.4601  23.5581  23.7626  23.9173
 LIST temp[g=g5day,gt=g5day at ave]
  dealloc  dynamic grid G5DAY           PSXU      PSYU      PSZT      TAX5DAY
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    2    3
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      2      3
  strip regrid on X: TEMP --> G5DAY            @LIN
  strip regrid on T: TEMP --> XNTERMED         @AVE
- reading TEMP     M:  2 dset:   1 I:  100  106  J:   45   50  K:    1    2  L:    2    5
- regrid  TEMP     M: 17 dset:   1 I:  100  106  J:   45   50  K:    1    2  L:    2    3
+ found   TEMP     M: 90 dset:   1 I:    100    106  J:   45   50  K:    1    2  L:      2      5
+ regrid  TEMP     M:110 dset:   1 I:    100    106  J:   45   50  K:    1    2  L:      2      3
  regrid XY
- regrid  TEMP     M:  4 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    2    3
- -DELETE TEMP     M: 17 dset:   1 I:  100  106  J:   45   50  K:    1    2  L:    2    3  M: -999 -999  N: -999 -999
+ regrid  TEMP     M: 31 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      2      3
+ -DELETE TEMP     M:110 dset:   1 I:    100    106  J:   45   50  K:    1    2  L:      2      3  M: -999 -999  N: -999 -999
              VARIABLE : TEMPERATURE (deg. C)
                         regrid: G5DAY on X at LIN, on Y at LIN, on T at AVE
              FILENAME : gtsa056_1.cdf
@@ -15775,15 +15802,9 @@ LIST temp[g=g5day,gt=g5day at ave]
  
 LIST temp[g=g5day]
  dealloc  dynamic grid G5DAY           PSXU      PSYU      PSZT      TAX5DAY
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    2    3
- strip regrid on X: TEMP --> G5DAY            @LIN
- strip regrid on T: TEMP --> XNTERMED         @LIN
- reading TEMP     M: 17 dset:   1 I:  100  106  J:   45   50  K:    1    2  L:    2    5
- regrid  TEMP     M: 46 dset:   1 I:  100  106  J:   45   50  K:    1    2  L:    2    3
- regrid XY
- regrid  TEMP     M: 50 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    2    3
- -DELETE TEMP     M: 46 dset:   1 I:  100  106  J:   45   50  K:    1    2  L:    2    3  M: -999 -999  N: -999 -999
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      2      3
+ found   TEMP     M: 41 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      2      3
              VARIABLE : TEMPERATURE (deg. C)
                         regrid: G5DAY
              FILENAME : gtsa056_1.cdf
@@ -15818,17 +15839,17 @@ LIST temp[g=g5day]
  0     / 45:  23.5390  23.4739  23.4601  23.5581  23.7626  23.9173
 LIST temp[g=g5day at asn]
  dealloc  dynamic grid G5DAY           PSXU      PSYU      PSZT      TAX5DAY
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    2    3
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      2      3
  strip regrid on X: TEMP --> G5DAY            @ASN
  strip regrid on Y: TEMP --> XNTERMED         @ASN
  strip regrid on T: TEMP --> YNTERMED         @ASN
- reading TEMP     M: 46 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    2    3
- regrid  TEMP     M: 54 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    2    3
- regrid  TEMP     M: 58 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    2    3
- -DELETE TEMP     M: 54 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    2    3  M: -999 -999  N: -999 -999
- regrid  TEMP     M: 54 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    2    3
- -DELETE TEMP     M: 58 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    2    3  M: -999 -999  N: -999 -999
+ found   TEMP     M: 90 dset:   1 I:    100    106  J:   45   50  K:    1    2  L:      2      5
+ regrid  TEMP     M:110 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      2      3
+ regrid  TEMP     M: 98 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      2      3
+ -DELETE TEMP     M:110 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      2      3  M: -999 -999  N: -999 -999
+ regrid  TEMP     M:110 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      2      3
+ -DELETE TEMP     M: 98 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      2      3  M: -999 -999  N: -999 -999
              VARIABLE : TEMPERATURE (deg. C)
                         regrid: G5DAY on X at ASN, on Y at ASN, on T at ASN
              FILENAME : gtsa056_1.cdf
@@ -15863,17 +15884,17 @@ LIST temp[g=g5day at asn]
  0     / 45:  23.6083  23.5263  23.4345  23.3357  23.3000  23.4491
 LIST temp[g=g5day,gx=g5day at asn]
  dealloc  dynamic grid G5DAY           PSXU      PSYU      PSZT      TAX5DAY
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    2    3
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      2      3
  strip regrid on X: TEMP --> G5DAY            @ASN
  strip regrid on Y: TEMP --> XNTERMED         @LIN
  strip regrid on T: TEMP --> YNTERMED         @LIN
- reading TEMP     M: 58 dset:   1 I:  100  105  J:   45   50  K:    1    2  L:    2    5
- regrid  TEMP     M: 59 dset:   1 I:  100  105  J:   45   50  K:    1    2  L:    2    3
- regrid  TEMP     M: 60 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    2    3
- -DELETE TEMP     M: 59 dset:   1 I:  100  105  J:   45   50  K:    1    2  L:    2    3  M: -999 -999  N: -999 -999
- regrid  TEMP     M: 59 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    2    3
- -DELETE TEMP     M: 60 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    2    3  M: -999 -999  N: -999 -999
+ found   TEMP     M: 90 dset:   1 I:    100    106  J:   45   50  K:    1    2  L:      2      5
+ regrid  TEMP     M: 98 dset:   1 I:    100    105  J:   45   50  K:    1    2  L:      2      3
+ regrid  TEMP     M: 94 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      2      3
+ -DELETE TEMP     M: 98 dset:   1 I:    100    105  J:   45   50  K:    1    2  L:      2      3  M: -999 -999  N: -999 -999
+ regrid  TEMP     M: 98 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      2      3
+ -DELETE TEMP     M: 94 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      2      3  M: -999 -999  N: -999 -999
              VARIABLE : TEMPERATURE (deg. C)
                         regrid: G5DAY on X at ASN, on Y at LIN, on T at LIN
              FILENAME : gtsa056_1.cdf
@@ -15908,17 +15929,17 @@ LIST temp[g=g5day,gx=g5day at asn]
  0     / 45:  23.5791  23.4988  23.4489  23.4714  23.6448  23.8804
 LIST temp[g=g5day,gy=g5day at asn]
  dealloc  dynamic grid G5DAY           PSXU      PSYU      PSZT      TAX5DAY
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    2    3
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      2      3
  strip regrid on X: TEMP --> G5DAY            @LIN
  strip regrid on Y: TEMP --> XNTERMED         @ASN
  strip regrid on T: TEMP --> YNTERMED         @LIN
- reading TEMP     M: 60 dset:   1 I:  100  106  J:   45   49  K:    1    2  L:    2    5
- regrid  TEMP     M: 61 dset:   1 I:  100  106  J:   45   49  K:    1    2  L:    2    3
- regrid  TEMP     M: 62 dset:   1 I:  100  106  J:   45   49  K:    1    2  L:    2    3
- -DELETE TEMP     M: 61 dset:   1 I:  100  106  J:   45   49  K:    1    2  L:    2    3  M: -999 -999  N: -999 -999
- regrid  TEMP     M: 61 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    2    3
- -DELETE TEMP     M: 62 dset:   1 I:  100  106  J:   45   49  K:    1    2  L:    2    3  M: -999 -999  N: -999 -999
+ found   TEMP     M: 90 dset:   1 I:    100    106  J:   45   50  K:    1    2  L:      2      5
+ regrid  TEMP     M: 94 dset:   1 I:    100    106  J:   45   49  K:    1    2  L:      2      3
+ regrid  TEMP     M: 91 dset:   1 I:    100    106  J:   45   49  K:    1    2  L:      2      3
+ -DELETE TEMP     M: 94 dset:   1 I:    100    106  J:   45   49  K:    1    2  L:      2      3  M: -999 -999  N: -999 -999
+ regrid  TEMP     M: 94 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      2      3
+ -DELETE TEMP     M: 91 dset:   1 I:    100    106  J:   45   49  K:    1    2  L:      2      3  M: -999 -999  N: -999 -999
              VARIABLE : TEMPERATURE (deg. C)
                         regrid: G5DAY on X at LIN, on Y at ASN, on T at LIN
              FILENAME : gtsa056_1.cdf
@@ -15953,15 +15974,9 @@ LIST temp[g=g5day,gy=g5day at asn]
  0     / 45:  23.5643  23.4665  23.4073  23.4453  23.5998  23.7470
 LIST temp[g=g5day,gz=g5day at asn]
  dealloc  dynamic grid G5DAY           PSXU      PSYU      PSZT      TAX5DAY
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    2    3
- strip regrid on X: TEMP --> G5DAY            @LIN
- strip regrid on T: TEMP --> XNTERMED         @LIN
- reading TEMP     M: 62 dset:   1 I:  100  106  J:   45   50  K:    1    2  L:    2    5
- regrid  TEMP     M: 63 dset:   1 I:  100  106  J:   45   50  K:    1    2  L:    2    3
- regrid XY
- regrid  TEMP     M: 64 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    2    3
- -DELETE TEMP     M: 63 dset:   1 I:  100  106  J:   45   50  K:    1    2  L:    2    3  M: -999 -999  N: -999 -999
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      2      3
+ found   TEMP     M: 41 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      2      3
              VARIABLE : TEMPERATURE (deg. C)
                         regrid: G5DAY
              FILENAME : gtsa056_1.cdf
@@ -15996,15 +16011,15 @@ LIST temp[g=g5day,gz=g5day at asn]
  0     / 45:  23.5390  23.4739  23.4601  23.5581  23.7626  23.9173
 LIST temp[g=g5day,gt=g5day at asn]
  dealloc  dynamic grid G5DAY           PSXU      PSYU      PSZT      TAX5DAY
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    2    3
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      2      3
  strip regrid on X: TEMP --> G5DAY            @LIN
  strip regrid on T: TEMP --> XNTERMED         @ASN
- reading TEMP     M: 63 dset:   1 I:  100  106  J:   45   50  K:    1    2  L:    2    3
- regrid  TEMP     M: 65 dset:   1 I:  100  106  J:   45   50  K:    1    2  L:    2    3
+ found   TEMP     M: 90 dset:   1 I:    100    106  J:   45   50  K:    1    2  L:      2      5
+ regrid  TEMP     M: 91 dset:   1 I:    100    106  J:   45   50  K:    1    2  L:      2      3
  regrid XY
- regrid  TEMP     M: 66 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    2    3
- -DELETE TEMP     M: 65 dset:   1 I:  100  106  J:   45   50  K:    1    2  L:    2    3  M: -999 -999  N: -999 -999
+ regrid  TEMP     M: 75 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      2      3
+ -DELETE TEMP     M: 91 dset:   1 I:    100    106  J:   45   50  K:    1    2  L:      2      3  M: -999 -999  N: -999 -999
              VARIABLE : TEMPERATURE (deg. C)
                         regrid: G5DAY on X at LIN, on Y at LIN, on T at ASN
              FILENAME : gtsa056_1.cdf
@@ -16041,18 +16056,18 @@ LIST temp[g=g5day,gt=g5day at asn]
 ! all 4 axes different
 LIST temp[g=g5_10 at ave]
  dealloc  dynamic grid G5DAY           PSXU      PSYU      PSZT      TAX5DAY
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I:   12   12  J:   45   49  K:    1    1  L:    2    3
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:     12     12  J:   45   49  K:    1    1  L:      2      3
  strip regrid on X: TEMP --> G5_10            @AAV
  strip regrid on Z: TEMP --> XNTERMED         @AVE
  strip regrid on T: TEMP --> ZNTERMED         @AVE
- reading TEMP     M: 65 dset:   1 I:   95  106  J:   45   50  K:    1    2  L:    2    5
- regrid  TEMP     M: 67 dset:   1 I:   95  106  J:   45   50  K:    1    2  L:    2    3
- regrid  TEMP     M: 68 dset:   1 I:   95  106  J:   45   50  K:    1    1  L:    2    3
- -DELETE TEMP     M: 67 dset:   1 I:   95  106  J:   45   50  K:    1    2  L:    2    3  M: -999 -999  N: -999 -999
+ reading TEMP     M: 91 dset:   1 I:     95    106  J:   45   50  K:    1    2  L:      2      5
+ regrid  TEMP     M: 68 dset:   1 I:     95    106  J:   45   50  K:    1    2  L:      2      3
+ regrid  TEMP     M: 37 dset:   1 I:     95    106  J:   45   50  K:    1    1  L:      2      3
+ -DELETE TEMP     M: 68 dset:   1 I:     95    106  J:   45   50  K:    1    2  L:      2      3  M: -999 -999  N: -999 -999
  regrid XY
- regrid  TEMP     M: 67 dset:   1 I:   12   12  J:   45   49  K:    1    1  L:    2    3
- -DELETE TEMP     M: 68 dset:   1 I:   95  106  J:   45   50  K:    1    1  L:    2    3  M: -999 -999  N: -999 -999
+ regrid  TEMP     M: 68 dset:   1 I:     12     12  J:   45   49  K:    1    1  L:      2      3
+ -DELETE TEMP     M: 37 dset:   1 I:     95    106  J:   45   50  K:    1    1  L:      2      3  M: -999 -999  N: -999 -999
              VARIABLE : TEMPERATURE (deg. C)
                         regrid: G5_10 on X at AAV, on Y at AAV, on Z at AVE, on T at AVE
              FILENAME : gtsa056_1.cdf
@@ -16065,21 +16080,21 @@ LIST temp[g=g5_10 at ave]
  25-JAN-1982 00 / 3:  23.8850  23.9834  24.1657  24.3983  24.6503
 LIST temp[g=g5_10,gx=g5_10 at ave]
  dealloc  dynamic grid G5_10           XAX10     PSYU      PSZW      TAX5DAY
- -DELETE TEMP     M: 67 dset:   1 I:   12   12  J:   45   49  K:    1    1  L:    2    3
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I:   12   12  J:   45   49  K:    1    1  L:    2    3
+ -DELETE TEMP     M: 68 dset:   1 I:     12     12  J:   45   49  K:    1    1  L:      2      3
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:     12     12  J:   45   49  K:    1    1  L:      2      3
  strip regrid on X: TEMP --> G5_10            @AVE
  strip regrid on Y: TEMP --> XNTERMED         @LIN
  strip regrid on Z: TEMP --> YNTERMED         @LIN
  strip regrid on T: TEMP --> ZNTERMED         @LIN
- reading TEMP     M: 67 dset:   1 I:   95  106  J:   45   50  K:    1    2  L:    2    5
- regrid  TEMP     M: 68 dset:   1 I:   95  106  J:   45   50  K:    1    2  L:    2    3
- regrid  TEMP     M: 69 dset:   1 I:   95  106  J:   45   50  K:    1    1  L:    2    3
- -DELETE TEMP     M: 68 dset:   1 I:   95  106  J:   45   50  K:    1    2  L:    2    3  M: -999 -999  N: -999 -999
- regrid  TEMP     M: 68 dset:   1 I:   95  106  J:   45   49  K:    1    1  L:    2    3
- -DELETE TEMP     M: 69 dset:   1 I:   95  106  J:   45   50  K:    1    1  L:    2    3  M: -999 -999  N: -999 -999
- regrid  TEMP     M: 69 dset:   1 I:   12   12  J:   45   49  K:    1    1  L:    2    3
- -DELETE TEMP     M: 68 dset:   1 I:   95  106  J:   45   49  K:    1    1  L:    2    3  M: -999 -999  N: -999 -999
+ found   TEMP     M: 91 dset:   1 I:     95    106  J:   45   50  K:    1    2  L:      2      5
+ regrid  TEMP     M: 68 dset:   1 I:     95    106  J:   45   50  K:    1    2  L:      2      3
+ regrid  TEMP     M: 37 dset:   1 I:     95    106  J:   45   50  K:    1    1  L:      2      3
+ -DELETE TEMP     M: 68 dset:   1 I:     95    106  J:   45   50  K:    1    2  L:      2      3  M: -999 -999  N: -999 -999
+ regrid  TEMP     M: 68 dset:   1 I:     95    106  J:   45   49  K:    1    1  L:      2      3
+ -DELETE TEMP     M: 37 dset:   1 I:     95    106  J:   45   50  K:    1    1  L:      2      3  M: -999 -999  N: -999 -999
+ regrid  TEMP     M: 37 dset:   1 I:     12     12  J:   45   49  K:    1    1  L:      2      3
+ -DELETE TEMP     M: 68 dset:   1 I:     95    106  J:   45   49  K:    1    1  L:      2      3  M: -999 -999  N: -999 -999
              VARIABLE : TEMPERATURE (deg. C)
                         regrid: G5_10 on X at AVE, on Y at LIN, on Z at LIN, on T at LIN
              FILENAME : gtsa056_1.cdf
@@ -16092,20 +16107,20 @@ LIST temp[g=g5_10,gx=g5_10 at ave]
  25-JAN-1982 00 / 3:  23.8774  23.9728  24.1535  24.3857  24.6381
 LIST temp[g=g5_10,gy=g5_10 at ave]
  dealloc  dynamic grid G5_10           XAX10     PSYU      PSZW      TAX5DAY
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I:   12   12  J:   45   49  K:    1    1  L:    2    3
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:     12     12  J:   45   49  K:    1    1  L:      2      3
  strip regrid on X: TEMP --> G5_10            @LIN
  strip regrid on Y: TEMP --> XNTERMED         @AVE
  strip regrid on Z: TEMP --> YNTERMED         @LIN
  strip regrid on T: TEMP --> ZNTERMED         @LIN
- reading TEMP     M: 68 dset:   1 I:  100  101  J:   45   50  K:    1    2  L:    2    5
- regrid  TEMP     M: 70 dset:   1 I:  100  101  J:   45   50  K:    1    2  L:    2    3
- regrid  TEMP     M: 71 dset:   1 I:  100  101  J:   45   50  K:    1    1  L:    2    3
- -DELETE TEMP     M: 70 dset:   1 I:  100  101  J:   45   50  K:    1    2  L:    2    3  M: -999 -999  N: -999 -999
- regrid  TEMP     M: 70 dset:   1 I:  100  101  J:   45   49  K:    1    1  L:    2    3
- -DELETE TEMP     M: 71 dset:   1 I:  100  101  J:   45   50  K:    1    1  L:    2    3  M: -999 -999  N: -999 -999
- regrid  TEMP     M: 71 dset:   1 I:   12   12  J:   45   49  K:    1    1  L:    2    3
- -DELETE TEMP     M: 70 dset:   1 I:  100  101  J:   45   49  K:    1    1  L:    2    3  M: -999 -999  N: -999 -999
+ found   TEMP     M: 91 dset:   1 I:     95    106  J:   45   50  K:    1    2  L:      2      5
+ regrid  TEMP     M: 68 dset:   1 I:    100    101  J:   45   50  K:    1    2  L:      2      3
+ regrid  TEMP     M: 20 dset:   1 I:    100    101  J:   45   50  K:    1    1  L:      2      3
+ -DELETE TEMP     M: 68 dset:   1 I:    100    101  J:   45   50  K:    1    2  L:      2      3  M: -999 -999  N: -999 -999
+ regrid  TEMP     M: 68 dset:   1 I:    100    101  J:   45   49  K:    1    1  L:      2      3
+ -DELETE TEMP     M: 20 dset:   1 I:    100    101  J:   45   50  K:    1    1  L:      2      3  M: -999 -999  N: -999 -999
+ regrid  TEMP     M: 20 dset:   1 I:     12     12  J:   45   49  K:    1    1  L:      2      3
+ -DELETE TEMP     M: 68 dset:   1 I:    100    101  J:   45   49  K:    1    1  L:      2      3  M: -999 -999  N: -999 -999
              VARIABLE : TEMPERATURE (deg. C)
                         regrid: G5_10 on X at LIN, on Y at AVE, on Z at LIN, on T at LIN
              FILENAME : gtsa056_1.cdf
@@ -16118,18 +16133,18 @@ LIST temp[g=g5_10,gy=g5_10 at ave]
  25-JAN-1982 00 / 3:  23.7491  23.7562  23.8550  24.0158  24.2086
 LIST temp[g=g5_10,gz=g5_10 at ave]
  dealloc  dynamic grid G5_10           XAX10     PSYU      PSZW      TAX5DAY
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I:   12   12  J:   45   49  K:    1    1  L:    2    3
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:     12     12  J:   45   49  K:    1    1  L:      2      3
  strip regrid on X: TEMP --> G5_10            @LIN
  strip regrid on Z: TEMP --> XNTERMED         @AVE
  strip regrid on T: TEMP --> ZNTERMED         @LIN
- reading TEMP     M: 70 dset:   1 I:  100  101  J:   45   50  K:    1    2  L:    2    5
- regrid  TEMP     M: 72 dset:   1 I:  100  101  J:   45   50  K:    1    2  L:    2    3
- regrid  TEMP     M: 73 dset:   1 I:  100  101  J:   45   50  K:    1    1  L:    2    3
- -DELETE TEMP     M: 72 dset:   1 I:  100  101  J:   45   50  K:    1    2  L:    2    3  M: -999 -999  N: -999 -999
+ found   TEMP     M: 91 dset:   1 I:     95    106  J:   45   50  K:    1    2  L:      2      5
+ regrid  TEMP     M: 68 dset:   1 I:    100    101  J:   45   50  K:    1    2  L:      2      3
+ regrid  TEMP     M: 42 dset:   1 I:    100    101  J:   45   50  K:    1    1  L:      2      3
+ -DELETE TEMP     M: 68 dset:   1 I:    100    101  J:   45   50  K:    1    2  L:      2      3  M: -999 -999  N: -999 -999
  regrid XY
- regrid  TEMP     M: 72 dset:   1 I:   12   12  J:   45   49  K:    1    1  L:    2    3
- -DELETE TEMP     M: 73 dset:   1 I:  100  101  J:   45   50  K:    1    1  L:    2    3  M: -999 -999  N: -999 -999
+ regrid  TEMP     M: 68 dset:   1 I:     12     12  J:   45   49  K:    1    1  L:      2      3
+ -DELETE TEMP     M: 42 dset:   1 I:    100    101  J:   45   50  K:    1    1  L:      2      3  M: -999 -999  N: -999 -999
              VARIABLE : TEMPERATURE (deg. C)
                         regrid: G5_10 on X at LIN, on Y at LIN, on Z at AVE, on T at LIN
              FILENAME : gtsa056_1.cdf
@@ -16142,18 +16157,18 @@ LIST temp[g=g5_10,gz=g5_10 at ave]
  25-JAN-1982 00 / 3:  23.7491  23.7562  23.8550  24.0158  24.2086
 LIST temp[g=g5_10,gt=g5_10 at ave]
  dealloc  dynamic grid G5_10           XAX10     PSYU      PSZW      TAX5DAY
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I:   12   12  J:   45   49  K:    1    1  L:    2    3
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:     12     12  J:   45   49  K:    1    1  L:      2      3
  strip regrid on X: TEMP --> G5_10            @LIN
  strip regrid on Z: TEMP --> XNTERMED         @LIN
  strip regrid on T: TEMP --> ZNTERMED         @AVE
- reading TEMP     M: 73 dset:   1 I:  100  101  J:   45   50  K:    1    2  L:    2    5
- regrid  TEMP     M: 74 dset:   1 I:  100  101  J:   45   50  K:    1    2  L:    2    3
- regrid  TEMP     M: 75 dset:   1 I:  100  101  J:   45   50  K:    1    1  L:    2    3
- -DELETE TEMP     M: 74 dset:   1 I:  100  101  J:   45   50  K:    1    2  L:    2    3  M: -999 -999  N: -999 -999
+ found   TEMP     M: 91 dset:   1 I:     95    106  J:   45   50  K:    1    2  L:      2      5
+ regrid  TEMP     M: 42 dset:   1 I:    100    101  J:   45   50  K:    1    2  L:      2      3
+ regrid  TEMP     M: 49 dset:   1 I:    100    101  J:   45   50  K:    1    1  L:      2      3
+ -DELETE TEMP     M: 42 dset:   1 I:    100    101  J:   45   50  K:    1    2  L:      2      3  M: -999 -999  N: -999 -999
  regrid XY
- regrid  TEMP     M: 74 dset:   1 I:   12   12  J:   45   49  K:    1    1  L:    2    3
- -DELETE TEMP     M: 75 dset:   1 I:  100  101  J:   45   50  K:    1    1  L:    2    3  M: -999 -999  N: -999 -999
+ regrid  TEMP     M: 42 dset:   1 I:     12     12  J:   45   49  K:    1    1  L:      2      3
+ -DELETE TEMP     M: 49 dset:   1 I:    100    101  J:   45   50  K:    1    1  L:      2      3  M: -999 -999  N: -999 -999
              VARIABLE : TEMPERATURE (deg. C)
                         regrid: G5_10 on X at LIN, on Y at LIN, on Z at LIN, on T at AVE
              FILENAME : gtsa056_1.cdf
@@ -16167,20 +16182,20 @@ LIST temp[g=g5_10,gt=g5_10 at ave]
  
 LIST temp[g=g5_10 at asn]
  dealloc  dynamic grid G5_10           XAX10     PSYU      PSZW      TAX5DAY
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I:   12   12  J:   45   49  K:    1    1  L:    2    3
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:     12     12  J:   45   49  K:    1    1  L:      2      3
  strip regrid on X: TEMP --> G5_10            @ASN
  strip regrid on Y: TEMP --> XNTERMED         @ASN
  strip regrid on Z: TEMP --> YNTERMED         @ASN
  strip regrid on T: TEMP --> ZNTERMED         @ASN
- reading TEMP     M: 75 dset:   1 I:   12   12  J:   45   49  K:    1    1  L:    2    3
- regrid  TEMP     M: 76 dset:   1 I:   12   12  J:   45   49  K:    1    1  L:    2    3
- regrid  TEMP     M: 77 dset:   1 I:   12   12  J:   45   49  K:    1    1  L:    2    3
- -DELETE TEMP     M: 76 dset:   1 I:   12   12  J:   45   49  K:    1    1  L:    2    3  M: -999 -999  N: -999 -999
- regrid  TEMP     M: 76 dset:   1 I:   12   12  J:   45   49  K:    1    1  L:    2    3
- -DELETE TEMP     M: 77 dset:   1 I:   12   12  J:   45   49  K:    1    1  L:    2    3  M: -999 -999  N: -999 -999
- regrid  TEMP     M: 77 dset:   1 I:   12   12  J:   45   49  K:    1    1  L:    2    3
- -DELETE TEMP     M: 76 dset:   1 I:   12   12  J:   45   49  K:    1    1  L:    2    3  M: -999 -999  N: -999 -999
+ reading TEMP     M: 49 dset:   1 I:     12     12  J:   45   49  K:    1    1  L:      2      3
+ regrid  TEMP     M: 28 dset:   1 I:     12     12  J:   45   49  K:    1    1  L:      2      3
+ regrid  TEMP     M:118 dset:   1 I:     12     12  J:   45   49  K:    1    1  L:      2      3
+ -DELETE TEMP     M: 28 dset:   1 I:     12     12  J:   45   49  K:    1    1  L:      2      3  M: -999 -999  N: -999 -999
+ regrid  TEMP     M: 28 dset:   1 I:     12     12  J:   45   49  K:    1    1  L:      2      3
+ -DELETE TEMP     M:118 dset:   1 I:     12     12  J:   45   49  K:    1    1  L:      2      3  M: -999 -999  N: -999 -999
+ regrid  TEMP     M:118 dset:   1 I:     12     12  J:   45   49  K:    1    1  L:      2      3
+ -DELETE TEMP     M: 28 dset:   1 I:     12     12  J:   45   49  K:    1    1  L:      2      3  M: -999 -999  N: -999 -999
              VARIABLE : TEMPERATURE (deg. C)
                         regrid: G5_10 on X at ASN, on Y at ASN, on Z at ASN, on T at ASN
              FILENAME : gtsa056_1.cdf
@@ -16193,20 +16208,20 @@ LIST temp[g=g5_10 at asn]
  25-JAN-1982 00 / 3:  29.5787  29.5737  29.5698  29.5546  29.5421
 LIST temp[g=g5_10,gx=g5_10 at asn]
  dealloc  dynamic grid G5_10           XAX10     PSYU      PSZW      TAX5DAY
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I:   12   12  J:   45   49  K:    1    1  L:    2    3
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:     12     12  J:   45   49  K:    1    1  L:      2      3
  strip regrid on X: TEMP --> G5_10            @ASN
  strip regrid on Y: TEMP --> XNTERMED         @LIN
  strip regrid on Z: TEMP --> YNTERMED         @LIN
  strip regrid on T: TEMP --> ZNTERMED         @LIN
- reading TEMP     M: 76 dset:   1 I:   12   12  J:   45   50  K:    1    2  L:    2    5
- regrid  TEMP     M: 78 dset:   1 I:   12   12  J:   45   50  K:    1    2  L:    2    3
- regrid  TEMP     M: 79 dset:   1 I:   12   12  J:   45   50  K:    1    1  L:    2    3
- -DELETE TEMP     M: 78 dset:   1 I:   12   12  J:   45   50  K:    1    2  L:    2    3  M: -999 -999  N: -999 -999
- regrid  TEMP     M: 78 dset:   1 I:   12   12  J:   45   49  K:    1    1  L:    2    3
- -DELETE TEMP     M: 79 dset:   1 I:   12   12  J:   45   50  K:    1    1  L:    2    3  M: -999 -999  N: -999 -999
- regrid  TEMP     M: 79 dset:   1 I:   12   12  J:   45   49  K:    1    1  L:    2    3
- -DELETE TEMP     M: 78 dset:   1 I:   12   12  J:   45   49  K:    1    1  L:    2    3  M: -999 -999  N: -999 -999
+ reading TEMP     M: 28 dset:   1 I:     12     12  J:   45   50  K:    1    2  L:      2      5
+ regrid  TEMP     M: 83 dset:   1 I:     12     12  J:   45   50  K:    1    2  L:      2      3
+ regrid  TEMP     M: 82 dset:   1 I:     12     12  J:   45   50  K:    1    1  L:      2      3
+ -DELETE TEMP     M: 83 dset:   1 I:     12     12  J:   45   50  K:    1    2  L:      2      3  M: -999 -999  N: -999 -999
+ regrid  TEMP     M: 83 dset:   1 I:     12     12  J:   45   49  K:    1    1  L:      2      3
+ -DELETE TEMP     M: 82 dset:   1 I:     12     12  J:   45   50  K:    1    1  L:      2      3  M: -999 -999  N: -999 -999
+ regrid  TEMP     M: 82 dset:   1 I:     12     12  J:   45   49  K:    1    1  L:      2      3
+ -DELETE TEMP     M: 83 dset:   1 I:     12     12  J:   45   49  K:    1    1  L:      2      3  M: -999 -999  N: -999 -999
              VARIABLE : TEMPERATURE (deg. C)
                         regrid: G5_10 on X at ASN, on Y at LIN, on Z at LIN, on T at LIN
              FILENAME : gtsa056_1.cdf
@@ -16219,20 +16234,20 @@ LIST temp[g=g5_10,gx=g5_10 at asn]
  25-JAN-1982 00 / 3:  29.5636  29.5536  29.5355  29.5146  29.5054
 LIST temp[g=g5_10,gy=g5_10 at asn]
  dealloc  dynamic grid G5_10           XAX10     PSYU      PSZW      TAX5DAY
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I:   12   12  J:   45   49  K:    1    1  L:    2    3
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:     12     12  J:   45   49  K:    1    1  L:      2      3
  strip regrid on X: TEMP --> G5_10            @LIN
  strip regrid on Y: TEMP --> XNTERMED         @ASN
  strip regrid on Z: TEMP --> YNTERMED         @LIN
  strip regrid on T: TEMP --> ZNTERMED         @LIN
- reading TEMP     M: 78 dset:   1 I:  100  101  J:   45   49  K:    1    2  L:    2    5
- regrid  TEMP     M: 80 dset:   1 I:  100  101  J:   45   49  K:    1    2  L:    2    3
- regrid  TEMP     M: 81 dset:   1 I:  100  101  J:   45   49  K:    1    1  L:    2    3
- -DELETE TEMP     M: 80 dset:   1 I:  100  101  J:   45   49  K:    1    2  L:    2    3  M: -999 -999  N: -999 -999
- regrid  TEMP     M: 80 dset:   1 I:  100  101  J:   45   49  K:    1    1  L:    2    3
- -DELETE TEMP     M: 81 dset:   1 I:  100  101  J:   45   49  K:    1    1  L:    2    3  M: -999 -999  N: -999 -999
- regrid  TEMP     M: 81 dset:   1 I:   12   12  J:   45   49  K:    1    1  L:    2    3
- -DELETE TEMP     M: 80 dset:   1 I:  100  101  J:   45   49  K:    1    1  L:    2    3  M: -999 -999  N: -999 -999
+ found   TEMP     M: 91 dset:   1 I:     95    106  J:   45   50  K:    1    2  L:      2      5
+ regrid  TEMP     M: 83 dset:   1 I:    100    101  J:   45   49  K:    1    2  L:      2      3
+ regrid  TEMP     M:100 dset:   1 I:    100    101  J:   45   49  K:    1    1  L:      2      3
+ -DELETE TEMP     M: 83 dset:   1 I:    100    101  J:   45   49  K:    1    2  L:      2      3  M: -999 -999  N: -999 -999
+ regrid  TEMP     M: 83 dset:   1 I:    100    101  J:   45   49  K:    1    1  L:      2      3
+ -DELETE TEMP     M:100 dset:   1 I:    100    101  J:   45   49  K:    1    1  L:      2      3  M: -999 -999  N: -999 -999
+ regrid  TEMP     M:100 dset:   1 I:     12     12  J:   45   49  K:    1    1  L:      2      3
+ -DELETE TEMP     M: 83 dset:   1 I:    100    101  J:   45   49  K:    1    1  L:      2      3  M: -999 -999  N: -999 -999
              VARIABLE : TEMPERATURE (deg. C)
                         regrid: G5_10 on X at LIN, on Y at ASN, on Z at LIN, on T at LIN
              FILENAME : gtsa056_1.cdf
@@ -16245,18 +16260,18 @@ LIST temp[g=g5_10,gy=g5_10 at asn]
  25-JAN-1982 00 / 3:  23.7745  23.7236  23.7888  23.9212  24.1104
 LIST temp[g=g5_10,gz=g5_10 at asn]
  dealloc  dynamic grid G5_10           XAX10     PSYU      PSZW      TAX5DAY
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I:   12   12  J:   45   49  K:    1    1  L:    2    3
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:     12     12  J:   45   49  K:    1    1  L:      2      3
  strip regrid on X: TEMP --> G5_10            @LIN
  strip regrid on Z: TEMP --> XNTERMED         @ASN
  strip regrid on T: TEMP --> ZNTERMED         @LIN
- reading TEMP     M: 80 dset:   1 I:  100  101  J:   45   50  K:    1    1  L:    2    5
- regrid  TEMP     M: 82 dset:   1 I:  100  101  J:   45   50  K:    1    1  L:    2    3
- regrid  TEMP     M: 83 dset:   1 I:  100  101  J:   45   50  K:    1    1  L:    2    3
- -DELETE TEMP     M: 82 dset:   1 I:  100  101  J:   45   50  K:    1    1  L:    2    3  M: -999 -999  N: -999 -999
+ found   TEMP     M: 91 dset:   1 I:     95    106  J:   45   50  K:    1    2  L:      2      5
+ regrid  TEMP     M: 83 dset:   1 I:    100    101  J:   45   50  K:    1    1  L:      2      3
+ regrid  TEMP     M: 79 dset:   1 I:    100    101  J:   45   50  K:    1    1  L:      2      3
+ -DELETE TEMP     M: 83 dset:   1 I:    100    101  J:   45   50  K:    1    1  L:      2      3  M: -999 -999  N: -999 -999
  regrid XY
- regrid  TEMP     M: 82 dset:   1 I:   12   12  J:   45   49  K:    1    1  L:    2    3
- -DELETE TEMP     M: 83 dset:   1 I:  100  101  J:   45   50  K:    1    1  L:    2    3  M: -999 -999  N: -999 -999
+ regrid  TEMP     M: 83 dset:   1 I:     12     12  J:   45   49  K:    1    1  L:      2      3
+ -DELETE TEMP     M: 79 dset:   1 I:    100    101  J:   45   50  K:    1    1  L:      2      3  M: -999 -999  N: -999 -999
              VARIABLE : TEMPERATURE (deg. C)
                         regrid: G5_10 on X at LIN, on Y at LIN, on Z at ASN, on T at LIN
              FILENAME : gtsa056_1.cdf
@@ -16269,18 +16284,18 @@ LIST temp[g=g5_10,gz=g5_10 at asn]
  25-JAN-1982 00 / 3:  23.9591  23.9559  24.0305  24.1636  24.3350
 LIST temp[g=g5_10,gt=g5_10 at asn]
  dealloc  dynamic grid G5_10           XAX10     PSYU      PSZW      TAX5DAY
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I:   12   12  J:   45   49  K:    1    1  L:    2    3
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:     12     12  J:   45   49  K:    1    1  L:      2      3
  strip regrid on X: TEMP --> G5_10            @LIN
  strip regrid on Z: TEMP --> XNTERMED         @LIN
  strip regrid on T: TEMP --> ZNTERMED         @ASN
- reading TEMP     M: 83 dset:   1 I:  100  101  J:   45   50  K:    1    2  L:    2    3
- regrid  TEMP     M: 84 dset:   1 I:  100  101  J:   45   50  K:    1    2  L:    2    3
- regrid  TEMP     M: 85 dset:   1 I:  100  101  J:   45   50  K:    1    1  L:    2    3
- -DELETE TEMP     M: 84 dset:   1 I:  100  101  J:   45   50  K:    1    2  L:    2    3  M: -999 -999  N: -999 -999
+ found   TEMP     M: 91 dset:   1 I:     95    106  J:   45   50  K:    1    2  L:      2      5
+ regrid  TEMP     M: 79 dset:   1 I:    100    101  J:   45   50  K:    1    2  L:      2      3
+ regrid  TEMP     M: 67 dset:   1 I:    100    101  J:   45   50  K:    1    1  L:      2      3
+ -DELETE TEMP     M: 79 dset:   1 I:    100    101  J:   45   50  K:    1    2  L:      2      3  M: -999 -999  N: -999 -999
  regrid XY
- regrid  TEMP     M: 84 dset:   1 I:   12   12  J:   45   49  K:    1    1  L:    2    3
- -DELETE TEMP     M: 85 dset:   1 I:  100  101  J:   45   50  K:    1    1  L:    2    3  M: -999 -999  N: -999 -999
+ regrid  TEMP     M: 79 dset:   1 I:     12     12  J:   45   49  K:    1    1  L:      2      3
+ -DELETE TEMP     M: 67 dset:   1 I:    100    101  J:   45   50  K:    1    1  L:      2      3  M: -999 -999  N: -999 -999
              VARIABLE : TEMPERATURE (deg. C)
                         regrid: G5_10 on X at LIN, on Y at LIN, on Z at LIN, on T at ASN
              FILENAME : gtsa056_1.cdf
@@ -16298,121 +16313,121 @@ canc reg
 set reg/l=1:3  ! x,y,z unspecified
 load temp
  dealloc  dynamic grid G5_10           XAX10     PSYU      PSZW      TAX5DAY
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DT2          PSXT1     PSYT      PSZT      TIME2
- eval    EX#1     C:  4 dset:   1 I:    1  160  J:    1  100  K:    1   27  L:    1    3
- reading TEMP     M: 85 dset:   1 I:    1  160  J:    5   89  K:    1    2  L:    1    3
+ eval    EX#1     C:  4 dset:   1 I:      1    160  J:    1  100  K:    1   27  L:      1      3
+ reading TEMP     M: 67 dset:   1 I:      1    160  J:    5   89  K:    1    2  L:      1      3
 load temp[g=u]
  dealloc  dynamic grid PS3DT2          PSXT1     PSYT      PSZT      TIME2
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- eval    EX#1     C:  4 dset:   1 I:    1  160  J:    1  100  K:    1   27  L:    1    3
+ eval    EX#1     C:  4 dset:   1 I:      1    160  J:    1  100  K:    1   27  L:      1      3
  strip regrid on X: TEMP --> PS3DU2           @LIN
- strip modulo-void-filling TEMP on X axis:     1   161 dset:   1
- reading TEMP     M: 86 dset:   1 I:    1  160  J:    5   89  K:    1    2  L:    1    3
- doing modulo-void-filling TEMP on X axis:     1   160 dset:   1
+ strip modulo-void-filling TEMP on X axis:        1      161 dset:   1
+ found   TEMP     M: 67 dset:   1 I:      1    160  J:    5   89  K:    1    2  L:      1      3
+ doing modulo-void-filling TEMP on X axis:        1      160 dset:   1
  regrid XY
- regrid  TEMP     M: 88 dset:   1 I:    1  160  J:    1  100  K:    1    2  L:    1    3
+ regrid  TEMP     M: 50 dset:   1 I:      1    160  J:    1  100  K:    1    2  L:      1      3
 load temp[g=u at lin]
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- eval    EX#1     C:  4 dset:   1 I:    1  160  J:    1  100  K:    1   27  L:    1    3
+ eval    EX#1     C:  4 dset:   1 I:      1    160  J:    1  100  K:    1   27  L:      1      3
  strip regrid on X: TEMP --> PS3DU2           @LIN
- strip modulo-void-filling TEMP on X axis:     1   161 dset:   1
- reading TEMP     M: 89 dset:   1 I:    1  160  J:    5   89  K:    1    2  L:    1    3
- doing modulo-void-filling TEMP on X axis:     1   160 dset:   1
+ strip modulo-void-filling TEMP on X axis:        1      161 dset:   1
+ found   TEMP     M: 61 dset:   1 I:      1    161  J:    5   89  K:    1    2  L:      1      3
+ doing modulo-void-filling TEMP on X axis:        1      160 dset:   1
  regrid XY
- regrid  TEMP     M: 91 dset:   1 I:    1  160  J:    1  100  K:    1    2  L:    1    3
+ regrid  TEMP     M: 27 dset:   1 I:      1    160  J:    1  100  K:    1    2  L:      1      3
  
 load temp[g=u at ave]
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- eval    EX#1     C:  4 dset:   1 I:    1  160  J:    1  100  K:    1   27  L:    1    3
+ eval    EX#1     C:  4 dset:   1 I:      1    160  J:    1  100  K:    1   27  L:      1      3
  strip regrid on X: TEMP --> PS3DU2           @AAV
- strip modulo-void-filling TEMP on X axis:     1   161 dset:   1
- reading TEMP     M: 92 dset:   1 I:    1  160  J:    5   89  K:    1    2  L:    1    3
- doing modulo-void-filling TEMP on X axis:     1   160 dset:   1
+ strip modulo-void-filling TEMP on X axis:        1      161 dset:   1
+ found   TEMP     M: 38 dset:   1 I:      1    161  J:    5   89  K:    1    2  L:      1      3
+ doing modulo-void-filling TEMP on X axis:        1      160 dset:   1
  regrid XY
- regrid  TEMP     M: 94 dset:   1 I:    1  160  J:    1  100  K:    1    2  L:    1    3
+ regrid  TEMP     M: 14 dset:   1 I:      1    160  J:    1  100  K:    1    2  L:      1      3
 load temp[g=u,gx=u at ave]
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- eval    EX#1     C:  4 dset:   1 I:    1  160  J:    1  100  K:    1   27  L:    1    3
+ eval    EX#1     C:  4 dset:   1 I:      1    160  J:    1  100  K:    1   27  L:      1      3
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
  strip regrid on X: TEMP --> PS3DU2           @AVE
- strip modulo-void-filling TEMP on X axis:     1   161 dset:   1
+ strip modulo-void-filling TEMP on X axis:        1      161 dset:   1
  strip regrid on Y: TEMP --> XNTERMED         @LIN
- reading TEMP     M: 95 dset:   1 I:    1  160  J:    5   89  K:    1    2  L:    1    3
- regrid  TEMP     M: 96 dset:   1 I:    1  160  J:    1  100  K:    1    2  L:    1    3
- doing modulo-void-filling TEMP on X axis:     1   160 dset:   1
- regrid  TEMP     M: 98 dset:   1 I:    1  160  J:    1  100  K:    1    2  L:    1    3
- -DELETE TEMP     M: 97 dset:   1 I:    1  161  J:    1  100  K:    1    2  L:    1    3  M: -999 -999  N: -999 -999
+ found   TEMP     M: 19 dset:   1 I:      1    161  J:    5   89  K:    1    2  L:      1      3
+ regrid  TEMP     M: 13 dset:   1 I:      1    160  J:    1  100  K:    1    2  L:      1      3
+ doing modulo-void-filling TEMP on X axis:        1      160 dset:   1
+ regrid  TEMP     M: 59 dset:   1 I:      1    160  J:    1  100  K:    1    2  L:      1      3
+ -DELETE TEMP     M: 12 dset:   1 I:      1    161  J:    1  100  K:    1    2  L:      1      3  M: -999 -999  N: -999 -999
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
 load temp[g=u,gy=u at ave]
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- eval    EX#1     C:  4 dset:   1 I:    1  160  J:    1  100  K:    1   27  L:    1    3
+ eval    EX#1     C:  4 dset:   1 I:      1    160  J:    1  100  K:    1   27  L:      1      3
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
  strip regrid on X: TEMP --> PS3DU2           @LIN
- strip modulo-void-filling TEMP on X axis:     1   161 dset:   1
+ strip modulo-void-filling TEMP on X axis:        1      161 dset:   1
  strip regrid on Y: TEMP --> XNTERMED         @AVE
- reading TEMP     M: 97 dset:   1 I:    1  160  J:    5   89  K:    1    2  L:    1    3
- regrid  TEMP     M: 99 dset:   1 I:    1  160  J:    1  100  K:    1    2  L:    1    3
- doing modulo-void-filling TEMP on X axis:     1   160 dset:   1
- regrid  TEMP     M:101 dset:   1 I:    1  160  J:    1  100  K:    1    2  L:    1    3
- -DELETE TEMP     M:100 dset:   1 I:    1  161  J:    1  100  K:    1    2  L:    1    3  M: -999 -999  N: -999 -999
+ found   TEMP     M: 19 dset:   1 I:      1    161  J:    5   89  K:    1    2  L:      1      3
+ regrid  TEMP     M: 12 dset:   1 I:      1    160  J:    1  100  K:    1    2  L:      1      3
+ doing modulo-void-filling TEMP on X axis:        1      160 dset:   1
+ regrid  TEMP     M: 95 dset:   1 I:      1    160  J:    1  100  K:    1    2  L:      1      3
+ -DELETE TEMP     M: 18 dset:   1 I:      1    161  J:    1  100  K:    1    2  L:      1      3  M: -999 -999  N: -999 -999
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
  
 load temp[g=u at asn]
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- eval    EX#1     C:  4 dset:   1 I:    1  160  J:    1  100  K:    1   27  L:    1    3
+ eval    EX#1     C:  4 dset:   1 I:      1    160  J:    1  100  K:    1   27  L:      1      3
  strip regrid on X: TEMP --> PS3DU2           @ASN
  strip regrid on Y: TEMP --> XNTERMED         @ASN
- reading TEMP     M:100 dset:   1 I:    1  160  J:    5   89  K:    1    2  L:    1    3
- regrid  TEMP     M:102 dset:   1 I:    1  160  J:    1  100  K:    1    2  L:    1    3
- regrid  TEMP     M:103 dset:   1 I:    1  160  J:    1  100  K:    1    2  L:    1    3
- -DELETE TEMP     M:102 dset:   1 I:    1  160  J:    1  100  K:    1    2  L:    1    3  M: -999 -999  N: -999 -999
+ found   TEMP     M: 19 dset:   1 I:      1    161  J:    5   89  K:    1    2  L:      1      3
+ regrid  TEMP     M: 18 dset:   1 I:      1    160  J:    1  100  K:    1    2  L:      1      3
+ regrid  TEMP     M: 11 dset:   1 I:      1    160  J:    1  100  K:    1    2  L:      1      3
+ -DELETE TEMP     M: 18 dset:   1 I:      1    160  J:    1  100  K:    1    2  L:      1      3  M: -999 -999  N: -999 -999
 load temp[g=u,gx=u at asn]
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- eval    EX#1     C:  4 dset:   1 I:    1  160  J:    1  100  K:    1   27  L:    1    3
+ eval    EX#1     C:  4 dset:   1 I:      1    160  J:    1  100  K:    1   27  L:      1      3
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
  strip regrid on X: TEMP --> PS3DU2           @ASN
  strip regrid on Y: TEMP --> XNTERMED         @LIN
- reading TEMP     M:102 dset:   1 I:    1  160  J:    5   89  K:    1    2  L:    1    3
- regrid  TEMP     M:104 dset:   1 I:    1  160  J:    1  100  K:    1    2  L:    1    3
- regrid  TEMP     M:105 dset:   1 I:    1  160  J:    1  100  K:    1    2  L:    1    3
- -DELETE TEMP     M:104 dset:   1 I:    1  160  J:    1  100  K:    1    2  L:    1    3  M: -999 -999  N: -999 -999
+ found   TEMP     M: 19 dset:   1 I:      1    161  J:    5   89  K:    1    2  L:      1      3
+ regrid  TEMP     M: 18 dset:   1 I:      1    160  J:    1  100  K:    1    2  L:      1      3
+ regrid  TEMP     M: 10 dset:   1 I:      1    160  J:    1  100  K:    1    2  L:      1      3
+ -DELETE TEMP     M: 18 dset:   1 I:      1    160  J:    1  100  K:    1    2  L:      1      3  M: -999 -999  N: -999 -999
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
 load temp[g=u,gy=u at asn]
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- eval    EX#1     C:  4 dset:   1 I:    1  160  J:    1  100  K:    1   27  L:    1    3
+ eval    EX#1     C:  4 dset:   1 I:      1    160  J:    1  100  K:    1   27  L:      1      3
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
  strip regrid on X: TEMP --> PS3DU2           @LIN
- strip modulo-void-filling TEMP on X axis:     1   161 dset:   1
+ strip modulo-void-filling TEMP on X axis:        1      161 dset:   1
  strip regrid on Y: TEMP --> XNTERMED         @ASN
- reading TEMP     M:104 dset:   1 I:    1  160  J:    5   89  K:    1    2  L:    1    3
- regrid  TEMP     M:106 dset:   1 I:    1  160  J:    1  100  K:    1    2  L:    1    3
- doing modulo-void-filling TEMP on X axis:     1   160 dset:   1
- regrid  TEMP     M:108 dset:   1 I:    1  160  J:    1  100  K:    1    2  L:    1    3
- -DELETE TEMP     M:107 dset:   1 I:    1  161  J:    1  100  K:    1    2  L:    1    3  M: -999 -999  N: -999 -999
+ found   TEMP     M: 19 dset:   1 I:      1    161  J:    5   89  K:    1    2  L:      1      3
+ regrid  TEMP     M: 18 dset:   1 I:      1    160  J:    1  100  K:    1    2  L:      1      3
+ doing modulo-void-filling TEMP on X axis:        1      160 dset:   1
+ regrid  TEMP     M:  7 dset:   1 I:      1    160  J:    1  100  K:    1    2  L:      1      3
+ -DELETE TEMP     M:  8 dset:   1 I:      1    161  J:    1  100  K:    1    2  L:      1      3  M: -999 -999  N: -999 -999
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
  
 canc reg
@@ -16420,86 +16435,86 @@ use gtsa056_2		!kob 4/99
 set reg/i=101:105/j=41:42  ! z,t unspecified
 load temp[g=u]
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU1          PSXU      PSYU      PSZT      TIME1
- eval    EX#1     C:  4 dset:   2 I:  101  105  J:   41   42  K:    1   27  L:    1  168
+ eval    EX#1     C:  4 dset:   2 I:    101    105  J:   41   42  K:    1   27  L:      1    168
  strip regrid on X: TEMP --> PS3DU1           @LIN
- reading TEMP     M:107 dset:   2 I:  101  106  J:   41   43  K:    1    2  L:    1  168
+ reading TEMP     M:  8 dset:   2 I:    101    106  J:   41   43  K:    1    2  L:      1    168
  regrid XY
- regrid  TEMP     M:109 dset:   2 I:  101  105  J:   41   42  K:    1    2  L:    1  168
+ regrid  TEMP     M:  6 dset:   2 I:    101    105  J:   41   42  K:    1    2  L:      1    168
  
 load temp[g=u at ave]
  dealloc  dynamic grid PS3DU1          PSXU      PSYU      PSZT      TIME1
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU1          PSXU      PSYU      PSZT      TIME1
- eval    EX#1     C:  4 dset:   2 I:  101  105  J:   41   42  K:    1   27  L:    1  168
+ eval    EX#1     C:  4 dset:   2 I:    101    105  J:   41   42  K:    1   27  L:      1    168
  strip regrid on X: TEMP --> PS3DU1           @AAV
- reading TEMP     M:110 dset:   2 I:  101  106  J:   41   43  K:    1    2  L:    1  168
+ found   TEMP     M:  8 dset:   2 I:    101    106  J:   41   43  K:    1    2  L:      1    168
  regrid XY
- regrid  TEMP     M:111 dset:   2 I:  101  105  J:   41   42  K:    1    2  L:    1  168
+ regrid  TEMP     M:  2 dset:   2 I:    101    105  J:   41   42  K:    1    2  L:      1    168
 load temp[g=u,gz=u at ave]
  dealloc  dynamic grid PS3DU1          PSXU      PSYU      PSZT      TIME1
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU1          PSXU      PSYU      PSZT      TIME1
  dealloc  dynamic grid PS3DU1          PSXU      PSYU      PSZT      TIME1
  allocate dynamic grid PS3DU1          PSXU      PSYU      PSZT      TIME1
- eval    EX#1     C:  4 dset:   2 I:  101  105  J:   41   42  K:    1   27  L:    1  168
+ eval    EX#1     C:  4 dset:   2 I:    101    105  J:   41   42  K:    1   27  L:      1    168
  allocate dynamic grid PS3DU1          PSXU      PSYU      PSZT      TIME1
  strip regrid on X: TEMP --> PS3DU1           @LIN
- reading TEMP     M:112 dset:   2 I:  101  106  J:   41   43  K:    1    2  L:    1  168
+ found   TEMP     M:  8 dset:   2 I:    101    106  J:   41   43  K:    1    2  L:      1    168
  regrid XY
- regrid  TEMP     M:113 dset:   2 I:  101  105  J:   41   42  K:    1    2  L:    1  168
+ regrid  TEMP     M:103 dset:   2 I:    101    105  J:   41   42  K:    1    2  L:      1    168
  dealloc  dynamic grid PS3DU1          PSXU      PSYU      PSZT      TIME1
 load temp[g=u,gt=u at ave]
  dealloc  dynamic grid PS3DU1          PSXU      PSYU      PSZT      TIME1
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU1          PSXU      PSYU      PSZT      TIME1
  dealloc  dynamic grid PS3DU1          PSXU      PSYU      PSZT      TIME1
  allocate dynamic grid PS3DU1          PSXU      PSYU      PSZT      TIME1
- eval    EX#1     C:  4 dset:   2 I:  101  105  J:   41   42  K:    1   27  L:    1  168
+ eval    EX#1     C:  4 dset:   2 I:    101    105  J:   41   42  K:    1   27  L:      1    168
  allocate dynamic grid PS3DU1          PSXU      PSYU      PSZT      TIME1
  strip regrid on X: TEMP --> PS3DU1           @LIN
- reading TEMP     M:114 dset:   2 I:  101  106  J:   41   43  K:    1    2  L:    1  168
+ found   TEMP     M:  8 dset:   2 I:    101    106  J:   41   43  K:    1    2  L:      1    168
  regrid XY
- regrid  TEMP     M:115 dset:   2 I:  101  105  J:   41   42  K:    1    2  L:    1  168
+ regrid  TEMP     M: 97 dset:   2 I:    101    105  J:   41   42  K:    1    2  L:      1    168
  dealloc  dynamic grid PS3DU1          PSXU      PSYU      PSZT      TIME1
  
 load temp[g=u at asn]
  dealloc  dynamic grid PS3DU1          PSXU      PSYU      PSZT      TIME1
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU1          PSXU      PSYU      PSZT      TIME1
- eval    EX#1     C:  4 dset:   2 I:  101  105  J:   41   42  K:    1   27  L:    1  168
+ eval    EX#1     C:  4 dset:   2 I:    101    105  J:   41   42  K:    1   27  L:      1    168
  strip regrid on X: TEMP --> PS3DU1           @ASN
  strip regrid on Y: TEMP --> XNTERMED         @ASN
- reading TEMP     M:116 dset:   2 I:  101  105  J:   41   42  K:    1    2  L:    1  168
- regrid  TEMP     M:117 dset:   2 I:  101  105  J:   41   42  K:    1    2  L:    1  168
- regrid  TEMP     M:118 dset:   2 I:  101  105  J:   41   42  K:    1    2  L:    1  168
- -DELETE TEMP     M:117 dset:   2 I:  101  105  J:   41   42  K:    1    2  L:    1  168  M: -999 -999  N: -999 -999
+ found   TEMP     M:  8 dset:   2 I:    101    106  J:   41   43  K:    1    2  L:      1    168
+ regrid  TEMP     M: 88 dset:   2 I:    101    105  J:   41   42  K:    1    2  L:      1    168
+ regrid  TEMP     M: 69 dset:   2 I:    101    105  J:   41   42  K:    1    2  L:      1    168
+ -DELETE TEMP     M: 88 dset:   2 I:    101    105  J:   41   42  K:    1    2  L:      1    168  M: -999 -999  N: -999 -999
 load temp[g=u,gz=u at asn]
  dealloc  dynamic grid PS3DU1          PSXU      PSYU      PSZT      TIME1
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU1          PSXU      PSYU      PSZT      TIME1
  dealloc  dynamic grid PS3DU1          PSXU      PSYU      PSZT      TIME1
  allocate dynamic grid PS3DU1          PSXU      PSYU      PSZT      TIME1
- eval    EX#1     C:  4 dset:   2 I:  101  105  J:   41   42  K:    1   27  L:    1  168
+ eval    EX#1     C:  4 dset:   2 I:    101    105  J:   41   42  K:    1   27  L:      1    168
  allocate dynamic grid PS3DU1          PSXU      PSYU      PSZT      TIME1
  strip regrid on X: TEMP --> PS3DU1           @LIN
- reading TEMP     M:117 dset:   2 I:  101  106  J:   41   43  K:    1    2  L:    1  168
+ found   TEMP     M:  8 dset:   2 I:    101    106  J:   41   43  K:    1    2  L:      1    168
  regrid XY
- regrid  TEMP     M:119 dset:   2 I:  101  105  J:   41   42  K:    1    2  L:    1  168
+ regrid  TEMP     M: 88 dset:   2 I:    101    105  J:   41   42  K:    1    2  L:      1    168
  dealloc  dynamic grid PS3DU1          PSXU      PSYU      PSZT      TIME1
 load temp[g=u,gt=u at asn]
  dealloc  dynamic grid PS3DU1          PSXU      PSYU      PSZT      TIME1
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU1          PSXU      PSYU      PSZT      TIME1
  dealloc  dynamic grid PS3DU1          PSXU      PSYU      PSZT      TIME1
  allocate dynamic grid PS3DU1          PSXU      PSYU      PSZT      TIME1
- eval    EX#1     C:  4 dset:   2 I:  101  105  J:   41   42  K:    1   27  L:    1  168
+ eval    EX#1     C:  4 dset:   2 I:    101    105  J:   41   42  K:    1   27  L:      1    168
  allocate dynamic grid PS3DU1          PSXU      PSYU      PSZT      TIME1
  strip regrid on X: TEMP --> PS3DU1           @LIN
- reading TEMP     M:120 dset:   2 I:  101  106  J:   41   43  K:    1    2  L:    1  168
+ found   TEMP     M:  8 dset:   2 I:    101    106  J:   41   43  K:    1    2  L:      1    168
  regrid XY
- regrid  TEMP     M:121 dset:   2 I:  101  105  J:   41   42  K:    1    2  L:    1  168
+ regrid  TEMP     M: 64 dset:   2 I:    101    105  J:   41   42  K:    1    2  L:      1    168
  dealloc  dynamic grid PS3DU1          PSXU      PSYU      PSZT      TIME1
 SET MODE/LAST IGNORE	! V.5 change
  
@@ -16513,71 +16528,68 @@ use gtsa056_1 		!kob 4/99
 set region/x=130E:90W/y=0/z=5/t=21-JAN-1982
 plot temp
  dealloc  dynamic grid PS3DU1          PSXU      PSYU      PSZT      TIME1
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DT2          PSXT1     PSYT      PSZT      TIME2
  strip --> EX#1[T=21-JAN-198200:00 at ITP,D=1]
  strip --> EX#1[Y=0 at ITP,D=1]
- eval    EX#1     C:  6 dset:   1 I:    1  140  J:   45   46  K:    1    1  L:    2    3
- reading TEMP     M:122 dset:   1 I:    1  140  J:   45   46  K:    1    1  L:    2    3
+ eval    EX#1     C:  6 dset:   1 I:      1    140  J:   45   46  K:    1    1  L:      2      3
+ found   TEMP     M: 19 dset:   1 I:      1    161  J:    5   89  K:    1    2  L:      1      3
  doing --> TEMP[Y=0 at ITP,D=1]
  doing --> TEMP[T=21-JAN-198200:00 at ITP,D=1]
 setting up plot
 PPL plot 76   complete
 plot/over temp[g=u]
  dealloc  dynamic grid PS3DT2          PSXT1     PSYT      PSZT      TIME2
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
  strip --> EX#1[T=21-JAN-198200:00 at ITP,D=1]
  strip --> EX#1[Y=0 at ITP,D=1]
- eval    EX#1     C:  6 dset:   1 I:    0  140  J:   44   45  K:    1    1  L:    2    3
- strip moduloing TEMP on X axis:     0   140 dset:   1
- strip regrid on X: TEMP --> PS3DU2           @LIN
- reading TEMP     M:125 dset:   1 I:    1  141  J:   44   46  K:    1    1  L:    2    3
- regrid XY
- regrid  TEMP     M:126 dset:   1 I:    1  140  J:   44   45  K:    1    1  L:    2    3
- doing moduloing TEMP on X axis:     1   140 dset:   1
+ eval    EX#1     C:  6 dset:   1 I:      0    140  J:   44   45  K:    1    1  L:      2      3
+ strip moduloing TEMP on X axis:        0      140 dset:   1
+ found   TEMP     M: 27 dset:   1 I:      1    160  J:    1  100  K:    1    2  L:      1      3
+ doing moduloing TEMP on X axis:        1      140 dset:   1
  doing --> TEMP[Y=0 at ITP,D=1]
  doing --> TEMP[T=21-JAN-198200:00 at ITP,D=1]
 setting up plot
 PPL plot 77   complete
 plot/over temp[g=g5day]
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip --> EX#1[T=21-JAN-198200:00 at ITP,D=1]
  strip --> EX#1[Y=0 at ITP,D=1]
- eval    EX#1     C:  6 dset:   1 I:    0  140  J:   44   45  K:    1    1  L:    2    3
- strip moduloing TEMP on X axis:     0   140 dset:   1
+ eval    EX#1     C:  6 dset:   1 I:      0    140  J:   44   45  K:    1    1  L:      2      3
+ strip moduloing TEMP on X axis:        0      140 dset:   1
  strip regrid on X: TEMP --> G5DAY            @LIN
  strip regrid on T: TEMP --> XNTERMED         @LIN
- reading TEMP     M:130 dset:   1 I:    1  141  J:   44   46  K:    1    1  L:    2    5
- regrid  TEMP     M:131 dset:   1 I:    1  141  J:   44   46  K:    1    1  L:    2    3
+ reading TEMP     M:102 dset:   1 I:      1    141  J:   44   46  K:    1    1  L:      2      5
+ regrid  TEMP     M: 96 dset:   1 I:      1    141  J:   44   46  K:    1    1  L:      2      3
  regrid XY
- regrid  TEMP     M:132 dset:   1 I:    1  140  J:   44   45  K:    1    1  L:    2    3
- -DELETE TEMP     M:131 dset:   1 I:    1  141  J:   44   46  K:    1    1  L:    2    3  M: -999 -999  N: -999 -999
- doing moduloing TEMP on X axis:     1   140 dset:   1
+ regrid  TEMP     M: 93 dset:   1 I:      1    140  J:   44   45  K:    1    1  L:      2      3
+ -DELETE TEMP     M: 96 dset:   1 I:      1    141  J:   44   46  K:    1    1  L:      2      3  M: -999 -999  N: -999 -999
+ doing moduloing TEMP on X axis:        1      140 dset:   1
  doing --> TEMP[Y=0 at ITP,D=1]
  doing --> TEMP[T=21-JAN-198200:00 at ITP,D=1]
 setting up plot
 PPL plot 78   complete
 plot/over temp[g=g5_10]
  dealloc  dynamic grid G5DAY           PSXU      PSYU      PSZT      TAX5DAY
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip --> EX#1[T=21-JAN-198200:00 at ITP,D=1]
  strip --> EX#1[Z=5 at ITP,D=1]
  strip --> EX#1[Y=0 at ITP,D=1]
- eval    EX#1     C:  7 dset:   1 I:    2   16  J:   44   45  K:    1    1  L:    2    3
+ eval    EX#1     C:  7 dset:   1 I:      2     16  J:   44   45  K:    1    1  L:      2      3
  strip regrid on X: TEMP --> G5_10            @LIN
- strip moduloing TEMP on X axis:     0   141 dset:   1
+ strip moduloing TEMP on X axis:        0      141 dset:   1
  strip regrid on Z: TEMP --> XNTERMED         @LIN
  strip regrid on T: TEMP --> ZNTERMED         @LIN
- reading TEMP     M:135 dset:   1 I:    1  141  J:   44   46  K:    1    2  L:    2    5
- regrid  TEMP     M:136 dset:   1 I:    1  141  J:   44   46  K:    1    2  L:    2    3
- regrid  TEMP     M:137 dset:   1 I:    1  141  J:   44   46  K:    1    1  L:    2    3
- -DELETE TEMP     M:136 dset:   1 I:    1  141  J:   44   46  K:    1    2  L:    2    3  M: -999 -999  N: -999 -999
- doing moduloing TEMP on X axis:     1   141 dset:   1
+ reading TEMP     M: 60 dset:   1 I:      1    141  J:   44   46  K:    1    2  L:      2      5
+ regrid  TEMP     M: 54 dset:   1 I:      1    141  J:   44   46  K:    1    2  L:      2      3
+ regrid  TEMP     M: 45 dset:   1 I:      1    141  J:   44   46  K:    1    1  L:      2      3
+ -DELETE TEMP     M: 54 dset:   1 I:      1    141  J:   44   46  K:    1    2  L:      2      3  M: -999 -999  N: -999 -999
+ doing moduloing TEMP on X axis:        1      141 dset:   1
  regrid XY
- regrid  TEMP     M:138 dset:   1 I:    2   16  J:   44   45  K:    1    1  L:    2    3
- -DELETE TEMP     M:136 dset:   1 I:    0  141  J:   44   46  K:    1    1  L:    2    3  M: -999 -999  N: -999 -999
+ regrid  TEMP     M: 43 dset:   1 I:      2     16  J:   44   45  K:    1    1  L:      2      3
+ -DELETE TEMP     M: 54 dset:   1 I:      0    141  J:   44   46  K:    1    1  L:      2      3  M: -999 -999  N: -999 -999
  doing --> TEMP[Y=0 at ITP,D=1]
  doing --> TEMP[Z=5 at ITP,D=1]
  doing --> TEMP[T=21-JAN-198200:00 at ITP,D=1]
@@ -16585,59 +16597,56 @@ setting up plot
 PPL plot 79   complete
 plot/over temp[g=u at ave]
  dealloc  dynamic grid G5_10           XAX10     PSYU      PSZW      TAX5DAY
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
  strip --> EX#1[T=21-JAN-198200:00 at ITP,D=1]
  strip --> EX#1[Y=0 at ITP,D=1]
- eval    EX#1     C:  6 dset:   1 I:    0  140  J:   44   45  K:    1    1  L:    2    3
- strip moduloing TEMP on X axis:     0   140 dset:   1
- strip regrid on X: TEMP --> PS3DU2           @AAV
- reading TEMP     M:141 dset:   1 I:    1  141  J:   44   46  K:    1    1  L:    2    3
- regrid XY
- regrid  TEMP     M:142 dset:   1 I:    1  140  J:   44   45  K:    1    1  L:    2    3
- doing moduloing TEMP on X axis:     1   140 dset:   1
+ eval    EX#1     C:  6 dset:   1 I:      0    140  J:   44   45  K:    1    1  L:      2      3
+ strip moduloing TEMP on X axis:        0      140 dset:   1
+ found   TEMP     M: 14 dset:   1 I:      1    160  J:    1  100  K:    1    2  L:      1      3
+ doing moduloing TEMP on X axis:        1      140 dset:   1
  doing --> TEMP[Y=0 at ITP,D=1]
  doing --> TEMP[T=21-JAN-198200:00 at ITP,D=1]
 setting up plot
 PPL plot 80   complete
 plot/over temp[g=g5day at ave]
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip --> EX#1[T=21-JAN-198200:00 at ITP,D=1]
  strip --> EX#1[Y=0 at ITP,D=1]
- eval    EX#1     C:  6 dset:   1 I:    0  140  J:   44   45  K:    1    1  L:    2    3
- strip moduloing TEMP on X axis:     0   140 dset:   1
+ eval    EX#1     C:  6 dset:   1 I:      0    140  J:   44   45  K:    1    1  L:      2      3
+ strip moduloing TEMP on X axis:        0      140 dset:   1
  strip regrid on X: TEMP --> G5DAY            @AAV
  strip regrid on T: TEMP --> XNTERMED         @AVE
- reading TEMP     M:146 dset:   1 I:    1  141  J:   44   46  K:    1    1  L:    2    5
- regrid  TEMP     M:147 dset:   1 I:    1  141  J:   44   46  K:    1    1  L:    2    3
+ found   TEMP     M: 60 dset:   1 I:      1    141  J:   44   46  K:    1    2  L:      2      5
+ regrid  TEMP     M: 62 dset:   1 I:      1    141  J:   44   46  K:    1    1  L:      2      3
  regrid XY
- regrid  TEMP     M:148 dset:   1 I:    1  140  J:   44   45  K:    1    1  L:    2    3
- -DELETE TEMP     M:147 dset:   1 I:    1  141  J:   44   46  K:    1    1  L:    2    3  M: -999 -999  N: -999 -999
- doing moduloing TEMP on X axis:     1   140 dset:   1
+ regrid  TEMP     M: 34 dset:   1 I:      1    140  J:   44   45  K:    1    1  L:      2      3
+ -DELETE TEMP     M: 62 dset:   1 I:      1    141  J:   44   46  K:    1    1  L:      2      3  M: -999 -999  N: -999 -999
+ doing moduloing TEMP on X axis:        1      140 dset:   1
  doing --> TEMP[Y=0 at ITP,D=1]
  doing --> TEMP[T=21-JAN-198200:00 at ITP,D=1]
 setting up plot
 PPL plot 81   complete
 plot/over temp[g=g5_10 at ave]
  dealloc  dynamic grid G5DAY           PSXU      PSYU      PSZT      TAX5DAY
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip --> EX#1[T=21-JAN-198200:00 at ITP,D=1]
  strip --> EX#1[Z=5 at ITP,D=1]
  strip --> EX#1[Y=0 at ITP,D=1]
- eval    EX#1     C:  7 dset:   1 I:    2   16  J:   44   45  K:    1    1  L:    2    3
+ eval    EX#1     C:  7 dset:   1 I:      2     16  J:   44   45  K:    1    1  L:      2      3
  strip regrid on X: TEMP --> G5_10            @AAV
- strip moduloing TEMP on X axis:     0   146 dset:   1
+ strip moduloing TEMP on X axis:        0      146 dset:   1
  strip regrid on Z: TEMP --> XNTERMED         @AVE
  strip regrid on T: TEMP --> ZNTERMED         @AVE
- reading TEMP     M:151 dset:   1 I:    1  146  J:   44   46  K:    1    2  L:    2    5
- regrid  TEMP     M:152 dset:   1 I:    1  146  J:   44   46  K:    1    2  L:    2    3
- regrid  TEMP     M:153 dset:   1 I:    1  146  J:   44   46  K:    1    1  L:    2    3
- -DELETE TEMP     M:152 dset:   1 I:    1  146  J:   44   46  K:    1    2  L:    2    3  M: -999 -999  N: -999 -999
- doing moduloing TEMP on X axis:     1   146 dset:   1
+ reading TEMP     M: 66 dset:   1 I:      1    146  J:   44   46  K:    1    2  L:      2      5
+ regrid  TEMP     M: 63 dset:   1 I:      1    146  J:   44   46  K:    1    2  L:      2      3
+ regrid  TEMP     M: 48 dset:   1 I:      1    146  J:   44   46  K:    1    1  L:      2      3
+ -DELETE TEMP     M: 63 dset:   1 I:      1    146  J:   44   46  K:    1    2  L:      2      3  M: -999 -999  N: -999 -999
+ doing moduloing TEMP on X axis:        1      146 dset:   1
  regrid XY
- regrid  TEMP     M:154 dset:   1 I:    2   16  J:   44   45  K:    1    1  L:    2    3
- -DELETE TEMP     M:152 dset:   1 I:    0  146  J:   44   46  K:    1    1  L:    2    3  M: -999 -999  N: -999 -999
+ regrid  TEMP     M: 36 dset:   1 I:      2     16  J:   44   45  K:    1    1  L:      2      3
+ -DELETE TEMP     M: 63 dset:   1 I:      0    146  J:   44   46  K:    1    1  L:      2      3  M: -999 -999  N: -999 -999
  doing --> TEMP[Y=0 at ITP,D=1]
  doing --> TEMP[Z=5 at ITP,D=1]
  doing --> TEMP[T=21-JAN-198200:00 at ITP,D=1]
@@ -16645,62 +16654,52 @@ setting up plot
 PPL plot 82   complete
 plot/over temp[g=u at asn]
  dealloc  dynamic grid G5_10           XAX10     PSYU      PSZW      TAX5DAY
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
  strip --> EX#1[T=21-JAN-198200:00 at ITP,D=1]
  strip --> EX#1[Y=0 at ITP,D=1]
- eval    EX#1     C:  6 dset:   1 I:    0  140  J:   44   45  K:    1    1  L:    2    3
- strip moduloing TEMP on X axis:     0   140 dset:   1
- strip regrid on X: TEMP --> PS3DU2           @ASN
- strip regrid on Y: TEMP --> XNTERMED         @ASN
- reading TEMP     M:157 dset:   1 I:    1  140  J:   44   45  K:    1    1  L:    2    3
- regrid  TEMP     M:158 dset:   1 I:    1  140  J:   44   45  K:    1    1  L:    2    3
- regrid  TEMP     M:159 dset:   1 I:    1  140  J:   44   45  K:    1    1  L:    2    3
- -DELETE TEMP     M:158 dset:   1 I:    1  140  J:   44   45  K:    1    1  L:    2    3  M: -999 -999  N: -999 -999
- doing moduloing TEMP on X axis:     1   140 dset:   1
+ eval    EX#1     C:  6 dset:   1 I:      0    140  J:   44   45  K:    1    1  L:      2      3
+ strip moduloing TEMP on X axis:        0      140 dset:   1
+ found   TEMP     M: 11 dset:   1 I:      1    160  J:    1  100  K:    1    2  L:      1      3
+ doing moduloing TEMP on X axis:        1      140 dset:   1
  doing --> TEMP[Y=0 at ITP,D=1]
  doing --> TEMP[T=21-JAN-198200:00 at ITP,D=1]
 setting up plot
 PPL plot 83   complete
 plot/over temp[g=g5day at asn]
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip --> EX#1[T=21-JAN-198200:00 at ITP,D=1]
  strip --> EX#1[Y=0 at ITP,D=1]
- eval    EX#1     C:  6 dset:   1 I:    0  140  J:   44   45  K:    1    1  L:    2    3
- strip moduloing TEMP on X axis:     0   140 dset:   1
+ eval    EX#1     C:  6 dset:   1 I:      0    140  J:   44   45  K:    1    1  L:      2      3
+ strip moduloing TEMP on X axis:        0      140 dset:   1
  strip regrid on X: TEMP --> G5DAY            @ASN
  strip regrid on Y: TEMP --> XNTERMED         @ASN
  strip regrid on T: TEMP --> YNTERMED         @ASN
- reading TEMP     M:162 dset:   1 I:    1  140  J:   44   45  K:    1    1  L:    2    3
- regrid  TEMP     M:163 dset:   1 I:    1  140  J:   44   45  K:    1    1  L:    2    3
- regrid  TEMP     M:164 dset:   1 I:    1  140  J:   44   45  K:    1    1  L:    2    3
- -DELETE TEMP     M:163 dset:   1 I:    1  140  J:   44   45  K:    1    1  L:    2    3  M: -999 -999  N: -999 -999
- regrid  TEMP     M:163 dset:   1 I:    1  140  J:   44   45  K:    1    1  L:    2    3
- -DELETE TEMP     M:164 dset:   1 I:    1  140  J:   44   45  K:    1    1  L:    2    3  M: -999 -999  N: -999 -999
- doing moduloing TEMP on X axis:     1   140 dset:   1
+ found   TEMP     M: 66 dset:   1 I:      1    146  J:   44   46  K:    1    2  L:      2      5
+ regrid  TEMP     M: 70 dset:   1 I:      1    140  J:   44   45  K:    1    1  L:      2      3
+ regrid  TEMP     M: 53 dset:   1 I:      1    140  J:   44   45  K:    1    1  L:      2      3
+ -DELETE TEMP     M: 70 dset:   1 I:      1    140  J:   44   45  K:    1    1  L:      2      3  M: -999 -999  N: -999 -999
+ regrid  TEMP     M: 70 dset:   1 I:      1    140  J:   44   45  K:    1    1  L:      2      3
+ -DELETE TEMP     M: 53 dset:   1 I:      1    140  J:   44   45  K:    1    1  L:      2      3  M: -999 -999  N: -999 -999
+ doing moduloing TEMP on X axis:        1      140 dset:   1
  doing --> TEMP[Y=0 at ITP,D=1]
  doing --> TEMP[T=21-JAN-198200:00 at ITP,D=1]
 setting up plot
 PPL plot 84   complete
 plot/over temp[g=u,gx=u at ave]
  dealloc  dynamic grid G5DAY           PSXU      PSYU      PSZT      TAX5DAY
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
  strip --> EX#1[T=21-JAN-198200:00 at ITP,D=1]
  strip --> EX#1[Y=0 at ITP,D=1]
- eval    EX#1     C:  6 dset:   1 I:    0  140  J:   44   45  K:    1    1  L:    2    3
+ eval    EX#1     C:  6 dset:   1 I:      0    140  J:   44   45  K:    1    1  L:      2      3
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- strip moduloing TEMP on X axis:     0   140 dset:   1
- strip regrid on X: TEMP --> PS3DU2           @AVE
- strip regrid on Y: TEMP --> XNTERMED         @LIN
- reading TEMP     M:167 dset:   1 I:    1  141  J:   44   46  K:    1    1  L:    2    3
- regrid  TEMP     M:168 dset:   1 I:    1  141  J:   44   45  K:    1    1  L:    2    3
- regrid  TEMP     M:169 dset:   1 I:    1  140  J:   44   45  K:    1    1  L:    2    3
- -DELETE TEMP     M:168 dset:   1 I:    1  141  J:   44   45  K:    1    1  L:    2    3  M: -999 -999  N: -999 -999
- doing moduloing TEMP on X axis:     1   140 dset:   1
+ strip moduloing TEMP on X axis:        0      140 dset:   1
+ found   TEMP     M: 59 dset:   1 I:      1    160  J:    1  100  K:    1    2  L:      1      3
+ doing moduloing TEMP on X axis:        1      140 dset:   1
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
  doing --> TEMP[Y=0 at ITP,D=1]
  doing --> TEMP[T=21-JAN-198200:00 at ITP,D=1]
@@ -16708,46 +16707,46 @@ setting up plot
 PPL plot 85   complete
 plot/over temp[g=g5day,gx=g5day at ave]
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip --> EX#1[T=21-JAN-198200:00 at ITP,D=1]
  strip --> EX#1[Y=0 at ITP,D=1]
- eval    EX#1     C:  6 dset:   1 I:    0  140  J:   44   45  K:    1    1  L:    2    3
- strip moduloing TEMP on X axis:     0   140 dset:   1
+ eval    EX#1     C:  6 dset:   1 I:      0    140  J:   44   45  K:    1    1  L:      2      3
+ strip moduloing TEMP on X axis:        0      140 dset:   1
  strip regrid on X: TEMP --> G5DAY            @AVE
  strip regrid on Y: TEMP --> XNTERMED         @LIN
  strip regrid on T: TEMP --> YNTERMED         @LIN
- reading TEMP     M:172 dset:   1 I:    1  141  J:   44   46  K:    1    1  L:    2    5
- regrid  TEMP     M:173 dset:   1 I:    1  141  J:   44   46  K:    1    1  L:    2    3
- regrid  TEMP     M:174 dset:   1 I:    1  141  J:   44   45  K:    1    1  L:    2    3
- -DELETE TEMP     M:173 dset:   1 I:    1  141  J:   44   46  K:    1    1  L:    2    3  M: -999 -999  N: -999 -999
- regrid  TEMP     M:173 dset:   1 I:    1  140  J:   44   45  K:    1    1  L:    2    3
- -DELETE TEMP     M:174 dset:   1 I:    1  141  J:   44   45  K:    1    1  L:    2    3  M: -999 -999  N: -999 -999
- doing moduloing TEMP on X axis:     1   140 dset:   1
+ found   TEMP     M: 66 dset:   1 I:      1    146  J:   44   46  K:    1    2  L:      2      5
+ regrid  TEMP     M:104 dset:   1 I:      1    141  J:   44   46  K:    1    1  L:      2      3
+ regrid  TEMP     M: 99 dset:   1 I:      1    141  J:   44   45  K:    1    1  L:      2      3
+ -DELETE TEMP     M:104 dset:   1 I:      1    141  J:   44   46  K:    1    1  L:      2      3  M: -999 -999  N: -999 -999
+ regrid  TEMP     M:104 dset:   1 I:      1    140  J:   44   45  K:    1    1  L:      2      3
+ -DELETE TEMP     M: 99 dset:   1 I:      1    141  J:   44   45  K:    1    1  L:      2      3  M: -999 -999  N: -999 -999
+ doing moduloing TEMP on X axis:        1      140 dset:   1
  doing --> TEMP[Y=0 at ITP,D=1]
  doing --> TEMP[T=21-JAN-198200:00 at ITP,D=1]
 setting up plot
 PPL plot 86   complete
 plot/over temp[g=g5_10,gx=g5_10 at ave]
  dealloc  dynamic grid G5DAY           PSXU      PSYU      PSZT      TAX5DAY
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip --> EX#1[T=21-JAN-198200:00 at ITP,D=1]
  strip --> EX#1[Z=5 at ITP,D=1]
  strip --> EX#1[Y=0 at ITP,D=1]
- eval    EX#1     C:  7 dset:   1 I:    2   16  J:   44   45  K:    1    1  L:    2    3
+ eval    EX#1     C:  7 dset:   1 I:      2     16  J:   44   45  K:    1    1  L:      2      3
  strip regrid on X: TEMP --> G5_10            @AVE
- strip moduloing TEMP on X axis:     0   146 dset:   1
+ strip moduloing TEMP on X axis:        0      146 dset:   1
  strip regrid on Y: TEMP --> XNTERMED         @LIN
  strip regrid on Z: TEMP --> YNTERMED         @LIN
  strip regrid on T: TEMP --> ZNTERMED         @LIN
- reading TEMP     M:177 dset:   1 I:    1  146  J:   44   46  K:    1    2  L:    2    5
- regrid  TEMP     M:178 dset:   1 I:    1  146  J:   44   46  K:    1    2  L:    2    3
- regrid  TEMP     M:179 dset:   1 I:    1  146  J:   44   46  K:    1    1  L:    2    3
- -DELETE TEMP     M:178 dset:   1 I:    1  146  J:   44   46  K:    1    2  L:    2    3  M: -999 -999  N: -999 -999
- regrid  TEMP     M:178 dset:   1 I:    1  146  J:   44   45  K:    1    1  L:    2    3
- -DELETE TEMP     M:179 dset:   1 I:    1  146  J:   44   46  K:    1    1  L:    2    3  M: -999 -999  N: -999 -999
- doing moduloing TEMP on X axis:     1   146 dset:   1
- regrid  TEMP     M:180 dset:   1 I:    2   16  J:   44   45  K:    1    1  L:    2    3
- -DELETE TEMP     M:179 dset:   1 I:    0  146  J:   44   45  K:    1    1  L:    2    3  M: -999 -999  N: -999 -999
+ found   TEMP     M: 66 dset:   1 I:      1    146  J:   44   46  K:    1    2  L:      2      5
+ regrid  TEMP     M: 71 dset:   1 I:      1    146  J:   44   46  K:    1    2  L:      2      3
+ regrid  TEMP     M: 57 dset:   1 I:      1    146  J:   44   46  K:    1    1  L:      2      3
+ -DELETE TEMP     M: 71 dset:   1 I:      1    146  J:   44   46  K:    1    2  L:      2      3  M: -999 -999  N: -999 -999
+ regrid  TEMP     M: 71 dset:   1 I:      1    146  J:   44   45  K:    1    1  L:      2      3
+ -DELETE TEMP     M: 57 dset:   1 I:      1    146  J:   44   46  K:    1    1  L:      2      3  M: -999 -999  N: -999 -999
+ doing moduloing TEMP on X axis:        1      146 dset:   1
+ regrid  TEMP     M: 55 dset:   1 I:      2     16  J:   44   45  K:    1    1  L:      2      3
+ -DELETE TEMP     M: 57 dset:   1 I:      0    146  J:   44   45  K:    1    1  L:      2      3  M: -999 -999  N: -999 -999
  doing --> TEMP[Y=0 at ITP,D=1]
  doing --> TEMP[Z=5 at ITP,D=1]
  doing --> TEMP[T=21-JAN-198200:00 at ITP,D=1]
@@ -16755,23 +16754,23 @@ setting up plot
 PPL plot 87   complete
 plot/over temp[g=g5_10 at asn]   ! invalid interpretation of data
  dealloc  dynamic grid G5_10           XAX10     PSYU      PSZW      TAX5DAY
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip --> EX#1[T=21-JAN-198200:00 at ITP,D=1]
  strip --> EX#1[Z=5 at ITP,D=1]
  strip --> EX#1[Y=0 at ITP,D=1]
- eval    EX#1     C:  7 dset:   1 I:    2   16  J:   44   45  K:    1    1  L:    2    3
+ eval    EX#1     C:  7 dset:   1 I:      2     16  J:   44   45  K:    1    1  L:      2      3
  strip regrid on X: TEMP --> G5_10            @ASN
  strip regrid on Y: TEMP --> XNTERMED         @ASN
  strip regrid on Z: TEMP --> YNTERMED         @ASN
  strip regrid on T: TEMP --> ZNTERMED         @ASN
- reading TEMP     M:183 dset:   1 I:    2   16  J:   44   45  K:    1    1  L:    2    3
- regrid  TEMP     M:184 dset:   1 I:    2   16  J:   44   45  K:    1    1  L:    2    3
- regrid  TEMP     M:185 dset:   1 I:    2   16  J:   44   45  K:    1    1  L:    2    3
- -DELETE TEMP     M:184 dset:   1 I:    2   16  J:   44   45  K:    1    1  L:    2    3  M: -999 -999  N: -999 -999
- regrid  TEMP     M:184 dset:   1 I:    2   16  J:   44   45  K:    1    1  L:    2    3
- -DELETE TEMP     M:185 dset:   1 I:    2   16  J:   44   45  K:    1    1  L:    2    3  M: -999 -999  N: -999 -999
- regrid  TEMP     M:185 dset:   1 I:    2   16  J:   44   45  K:    1    1  L:    2    3
- -DELETE TEMP     M:184 dset:   1 I:    2   16  J:   44   45  K:    1    1  L:    2    3  M: -999 -999  N: -999 -999
+ found   TEMP     M: 66 dset:   1 I:      1    146  J:   44   46  K:    1    2  L:      2      5
+ regrid  TEMP     M: 40 dset:   1 I:      2     16  J:   44   45  K:    1    1  L:      2      3
+ regrid  TEMP     M: 26 dset:   1 I:      2     16  J:   44   45  K:    1    1  L:      2      3
+ -DELETE TEMP     M: 40 dset:   1 I:      2     16  J:   44   45  K:    1    1  L:      2      3  M: -999 -999  N: -999 -999
+ regrid  TEMP     M: 40 dset:   1 I:      2     16  J:   44   45  K:    1    1  L:      2      3
+ -DELETE TEMP     M: 26 dset:   1 I:      2     16  J:   44   45  K:    1    1  L:      2      3  M: -999 -999  N: -999 -999
+ regrid  TEMP     M: 26 dset:   1 I:      2     16  J:   44   45  K:    1    1  L:      2      3
+ -DELETE TEMP     M: 40 dset:   1 I:      2     16  J:   44   45  K:    1    1  L:      2      3  M: -999 -999  N: -999 -999
  doing --> TEMP[Y=0 at ITP,D=1]
  doing --> TEMP[Z=5 at ITP,D=1]
  doing --> TEMP[T=21-JAN-198200:00 at ITP,D=1]
@@ -16782,220 +16781,204 @@ PPL plot 88   complete
 set region/x=180/y=20s:20n/z=5/t=21-JAN-1982
 plot temp
  dealloc  dynamic grid G5_10           XAX10     PSYU      PSZW      TAX5DAY
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DT2          PSXT1     PSYT      PSZT      TIME2
  strip --> EX#1[T=21-JAN-198200:00 at ITP,D=1]
  strip --> EX#1[X=180E at ITP,D=1]
- eval    EX#1     C:  6 dset:   1 I:   50   51  J:    5   88  K:    1    1  L:    2    3
- reading TEMP     M:188 dset:   1 I:   50   51  J:    5   88  K:    1    1  L:    2    3
+ eval    EX#1     C:  6 dset:   1 I:     50     51  J:    5   88  K:    1    1  L:      2      3
+ found   TEMP     M: 19 dset:   1 I:      1    161  J:    5   89  K:    1    2  L:      1      3
  doing --> TEMP[X=180E at ITP,D=1]
  doing --> TEMP[T=21-JAN-198200:00 at ITP,D=1]
 setting up plot
 PPL plot 89   complete
 plot/over temp[g=u]
  dealloc  dynamic grid PS3DT2          PSXT1     PSYT      PSZT      TIME2
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
  strip --> EX#1[T=21-JAN-198200:00 at ITP,D=1]
- eval    EX#1     C:  5 dset:   1 I:   50   50  J:    5   88  K:    1    1  L:    2    3
- strip regrid on X: TEMP --> PS3DU2           @LIN
- reading TEMP     M:191 dset:   1 I:   50   51  J:    5   89  K:    1    1  L:    2    3
- regrid XY
- regrid  TEMP     M:192 dset:   1 I:   50   50  J:    5   88  K:    1    1  L:    2    3
+ eval    EX#1     C:  5 dset:   1 I:     50     50  J:    5   88  K:    1    1  L:      2      3
+ found   TEMP     M: 27 dset:   1 I:      1    160  J:    1  100  K:    1    2  L:      1      3
  doing --> TEMP[T=21-JAN-198200:00 at ITP,D=1]
 setting up plot
 PPL plot 90   complete
 plot/over temp[g=g5day]
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip --> EX#1[T=21-JAN-198200:00 at ITP,D=1]
- eval    EX#1     C:  5 dset:   1 I:   50   50  J:    5   88  K:    1    1  L:    2    3
+ eval    EX#1     C:  5 dset:   1 I:     50     50  J:    5   88  K:    1    1  L:      2      3
  strip regrid on X: TEMP --> G5DAY            @LIN
  strip regrid on T: TEMP --> XNTERMED         @LIN
- reading TEMP     M:194 dset:   1 I:   50   51  J:    5   89  K:    1    1  L:    2    5
- regrid  TEMP     M:195 dset:   1 I:   50   51  J:    5   89  K:    1    1  L:    2    3
+ reading TEMP     M: 51 dset:   1 I:     50     51  J:    5   89  K:    1    1  L:      2      5
+ regrid  TEMP     M: 35 dset:   1 I:     50     51  J:    5   89  K:    1    1  L:      2      3
  regrid XY
- regrid  TEMP     M:196 dset:   1 I:   50   50  J:    5   88  K:    1    1  L:    2    3
- -DELETE TEMP     M:195 dset:   1 I:   50   51  J:    5   89  K:    1    1  L:    2    3  M: -999 -999  N: -999 -999
+ regrid  TEMP     M: 21 dset:   1 I:     50     50  J:    5   88  K:    1    1  L:      2      3
+ -DELETE TEMP     M: 35 dset:   1 I:     50     51  J:    5   89  K:    1    1  L:      2      3  M: -999 -999  N: -999 -999
  doing --> TEMP[T=21-JAN-198200:00 at ITP,D=1]
 setting up plot
 PPL plot 91   complete
 plot/over temp[g=g5_10]
  dealloc  dynamic grid G5DAY           PSXU      PSYU      PSZT      TAX5DAY
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip --> EX#1[T=21-JAN-198200:00 at ITP,D=1]
  strip --> EX#1[Z=5 at ITP,D=1]
- eval    EX#1     C:  6 dset:   1 I:    7    7  J:    5   88  K:    1    1  L:    2    3
+ eval    EX#1     C:  6 dset:   1 I:      7      7  J:    5   88  K:    1    1  L:      2      3
  strip regrid on X: TEMP --> G5_10            @LIN
  strip regrid on Z: TEMP --> XNTERMED         @LIN
  strip regrid on T: TEMP --> ZNTERMED         @LIN
- reading TEMP     M:197 dset:   1 I:   50   51  J:    5   89  K:    1    2  L:    2    5
- regrid  TEMP     M:198 dset:   1 I:   50   51  J:    5   89  K:    1    2  L:    2    3
- regrid  TEMP     M:199 dset:   1 I:   50   51  J:    5   89  K:    1    1  L:    2    3
- -DELETE TEMP     M:198 dset:   1 I:   50   51  J:    5   89  K:    1    2  L:    2    3  M: -999 -999  N: -999 -999
+ reading TEMP     M:  4 dset:   1 I:     50     51  J:    5   89  K:    1    2  L:      2      5
+ regrid  TEMP     M:  1 dset:   1 I:     50     51  J:    5   89  K:    1    2  L:      2      3
+ regrid  TEMP     M:122 dset:   1 I:     50     51  J:    5   89  K:    1    1  L:      2      3
+ -DELETE TEMP     M:  1 dset:   1 I:     50     51  J:    5   89  K:    1    2  L:      2      3  M: -999 -999  N: -999 -999
  regrid XY
- regrid  TEMP     M:198 dset:   1 I:    7    7  J:    5   88  K:    1    1  L:    2    3
- -DELETE TEMP     M:199 dset:   1 I:   50   51  J:    5   89  K:    1    1  L:    2    3  M: -999 -999  N: -999 -999
+ regrid  TEMP     M:  1 dset:   1 I:      7      7  J:    5   88  K:    1    1  L:      2      3
+ -DELETE TEMP     M:122 dset:   1 I:     50     51  J:    5   89  K:    1    1  L:      2      3  M: -999 -999  N: -999 -999
  doing --> TEMP[Z=5 at ITP,D=1]
  doing --> TEMP[T=21-JAN-198200:00 at ITP,D=1]
 setting up plot
 PPL plot 92   complete
 plot/over temp[g=u at ave]
  dealloc  dynamic grid G5_10           XAX10     PSYU      PSZW      TAX5DAY
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
  strip --> EX#1[T=21-JAN-198200:00 at ITP,D=1]
- eval    EX#1     C:  5 dset:   1 I:   50   50  J:    5   88  K:    1    1  L:    2    3
- strip regrid on X: TEMP --> PS3DU2           @AAV
- reading TEMP     M:201 dset:   1 I:   50   51  J:    5   89  K:    1    1  L:    2    3
- regrid XY
- regrid  TEMP     M:202 dset:   1 I:   50   50  J:    5   88  K:    1    1  L:    2    3
+ eval    EX#1     C:  5 dset:   1 I:     50     50  J:    5   88  K:    1    1  L:      2      3
+ found   TEMP     M: 14 dset:   1 I:      1    160  J:    1  100  K:    1    2  L:      1      3
  doing --> TEMP[T=21-JAN-198200:00 at ITP,D=1]
 setting up plot
 PPL plot 93   complete
 plot/over temp[g=g5day at ave]
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip --> EX#1[T=21-JAN-198200:00 at ITP,D=1]
- eval    EX#1     C:  5 dset:   1 I:   50   50  J:    5   88  K:    1    1  L:    2    3
+ eval    EX#1     C:  5 dset:   1 I:     50     50  J:    5   88  K:    1    1  L:      2      3
  strip regrid on X: TEMP --> G5DAY            @AAV
  strip regrid on T: TEMP --> XNTERMED         @AVE
- reading TEMP     M:204 dset:   1 I:   50   51  J:    5   89  K:    1    1  L:    2    5
- regrid  TEMP     M:205 dset:   1 I:   50   51  J:    5   89  K:    1    1  L:    2    3
+ found   TEMP     M:  4 dset:   1 I:     50     51  J:    5   89  K:    1    2  L:      2      5
+ regrid  TEMP     M: 81 dset:   1 I:     50     51  J:    5   89  K:    1    1  L:      2      3
  regrid XY
- regrid  TEMP     M:206 dset:   1 I:   50   50  J:    5   88  K:    1    1  L:    2    3
- -DELETE TEMP     M:205 dset:   1 I:   50   51  J:    5   89  K:    1    1  L:    2    3  M: -999 -999  N: -999 -999
+ regrid  TEMP     M: 65 dset:   1 I:     50     50  J:    5   88  K:    1    1  L:      2      3
+ -DELETE TEMP     M: 81 dset:   1 I:     50     51  J:    5   89  K:    1    1  L:      2      3  M: -999 -999  N: -999 -999
  doing --> TEMP[T=21-JAN-198200:00 at ITP,D=1]
 setting up plot
 PPL plot 94   complete
 plot/over temp[g=g5_10 at ave]
  dealloc  dynamic grid G5DAY           PSXU      PSYU      PSZT      TAX5DAY
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip --> EX#1[T=21-JAN-198200:00 at ITP,D=1]
  strip --> EX#1[Z=5 at ITP,D=1]
- eval    EX#1     C:  6 dset:   1 I:    7    7  J:    5   88  K:    1    1  L:    2    3
+ eval    EX#1     C:  6 dset:   1 I:      7      7  J:    5   88  K:    1    1  L:      2      3
  strip regrid on X: TEMP --> G5_10            @AAV
  strip regrid on Z: TEMP --> XNTERMED         @AVE
  strip regrid on T: TEMP --> ZNTERMED         @AVE
- reading TEMP     M:207 dset:   1 I:   45   56  J:    5   89  K:    1    2  L:    2    5
- regrid  TEMP     M:208 dset:   1 I:   45   56  J:    5   89  K:    1    2  L:    2    3
- regrid  TEMP     M:209 dset:   1 I:   45   56  J:    5   89  K:    1    1  L:    2    3
- -DELETE TEMP     M:208 dset:   1 I:   45   56  J:    5   89  K:    1    2  L:    2    3  M: -999 -999  N: -999 -999
+ reading TEMP     M: 39 dset:   1 I:     45     56  J:    5   89  K:    1    2  L:      2      5
+ regrid  TEMP     M: 22 dset:   1 I:     45     56  J:    5   89  K:    1    2  L:      2      3
+ regrid  TEMP     M: 17 dset:   1 I:     45     56  J:    5   89  K:    1    1  L:      2      3
+ -DELETE TEMP     M: 22 dset:   1 I:     45     56  J:    5   89  K:    1    2  L:      2      3  M: -999 -999  N: -999 -999
  regrid XY
- regrid  TEMP     M:208 dset:   1 I:    7    7  J:    5   88  K:    1    1  L:    2    3
- -DELETE TEMP     M:209 dset:   1 I:   45   56  J:    5   89  K:    1    1  L:    2    3  M: -999 -999  N: -999 -999
+ regrid  TEMP     M: 22 dset:   1 I:      7      7  J:    5   88  K:    1    1  L:      2      3
+ -DELETE TEMP     M: 17 dset:   1 I:     45     56  J:    5   89  K:    1    1  L:      2      3  M: -999 -999  N: -999 -999
  doing --> TEMP[Z=5 at ITP,D=1]
  doing --> TEMP[T=21-JAN-198200:00 at ITP,D=1]
 setting up plot
 PPL plot 95   complete
 plot/over temp[g=u at asn]
  dealloc  dynamic grid G5_10           XAX10     PSYU      PSZW      TAX5DAY
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
  strip --> EX#1[T=21-JAN-198200:00 at ITP,D=1]
- eval    EX#1     C:  5 dset:   1 I:   50   50  J:    5   88  K:    1    1  L:    2    3
- strip regrid on X: TEMP --> PS3DU2           @ASN
- strip regrid on Y: TEMP --> XNTERMED         @ASN
- reading TEMP     M:211 dset:   1 I:   50   50  J:    5   88  K:    1    1  L:    2    3
- regrid  TEMP     M:212 dset:   1 I:   50   50  J:    5   88  K:    1    1  L:    2    3
- regrid  TEMP     M:213 dset:   1 I:   50   50  J:    5   88  K:    1    1  L:    2    3
- -DELETE TEMP     M:212 dset:   1 I:   50   50  J:    5   88  K:    1    1  L:    2    3  M: -999 -999  N: -999 -999
+ eval    EX#1     C:  5 dset:   1 I:     50     50  J:    5   88  K:    1    1  L:      2      3
+ found   TEMP     M: 11 dset:   1 I:      1    160  J:    1  100  K:    1    2  L:      1      3
  doing --> TEMP[T=21-JAN-198200:00 at ITP,D=1]
 setting up plot
 PPL plot 96   complete
 plot/over temp[g=g5day at asn]
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip --> EX#1[T=21-JAN-198200:00 at ITP,D=1]
- eval    EX#1     C:  5 dset:   1 I:   50   50  J:    5   88  K:    1    1  L:    2    3
+ eval    EX#1     C:  5 dset:   1 I:     50     50  J:    5   88  K:    1    1  L:      2      3
  strip regrid on X: TEMP --> G5DAY            @ASN
  strip regrid on Y: TEMP --> XNTERMED         @ASN
  strip regrid on T: TEMP --> YNTERMED         @ASN
- reading TEMP     M:214 dset:   1 I:   50   50  J:    5   88  K:    1    1  L:    2    3
- regrid  TEMP     M:215 dset:   1 I:   50   50  J:    5   88  K:    1    1  L:    2    3
- regrid  TEMP     M:216 dset:   1 I:   50   50  J:    5   88  K:    1    1  L:    2    3
- -DELETE TEMP     M:215 dset:   1 I:   50   50  J:    5   88  K:    1    1  L:    2    3  M: -999 -999  N: -999 -999
- regrid  TEMP     M:215 dset:   1 I:   50   50  J:    5   88  K:    1    1  L:    2    3
- -DELETE TEMP     M:216 dset:   1 I:   50   50  J:    5   88  K:    1    1  L:    2    3  M: -999 -999  N: -999 -999
+ found   TEMP     M: 39 dset:   1 I:     45     56  J:    5   89  K:    1    2  L:      2      5
+ regrid  TEMP     M:125 dset:   1 I:     50     50  J:    5   88  K:    1    1  L:      2      3
+ regrid  TEMP     M:126 dset:   1 I:     50     50  J:    5   88  K:    1    1  L:      2      3
+ -DELETE TEMP     M:125 dset:   1 I:     50     50  J:    5   88  K:    1    1  L:      2      3  M: -999 -999  N: -999 -999
+ regrid  TEMP     M:125 dset:   1 I:     50     50  J:    5   88  K:    1    1  L:      2      3
+ -DELETE TEMP     M:126 dset:   1 I:     50     50  J:    5   88  K:    1    1  L:      2      3  M: -999 -999  N: -999 -999
  doing --> TEMP[T=21-JAN-198200:00 at ITP,D=1]
 setting up plot
 PPL plot 97   complete
 plot/over temp[g=u,gy=u at ave]
  dealloc  dynamic grid G5DAY           PSXU      PSYU      PSZT      TAX5DAY
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
  strip --> EX#1[T=21-JAN-198200:00 at ITP,D=1]
- eval    EX#1     C:  5 dset:   1 I:   50   50  J:    5   88  K:    1    1  L:    2    3
+ eval    EX#1     C:  5 dset:   1 I:     50     50  J:    5   88  K:    1    1  L:      2      3
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- strip regrid on X: TEMP --> PS3DU2           @LIN
- strip regrid on Y: TEMP --> XNTERMED         @AVE
- reading TEMP     M:217 dset:   1 I:   50   51  J:    5   89  K:    1    1  L:    2    3
- regrid  TEMP     M:218 dset:   1 I:   50   51  J:    5   88  K:    1    1  L:    2    3
- regrid  TEMP     M:219 dset:   1 I:   50   50  J:    5   88  K:    1    1  L:    2    3
- -DELETE TEMP     M:218 dset:   1 I:   50   51  J:    5   88  K:    1    1  L:    2    3  M: -999 -999  N: -999 -999
+ found   TEMP     M: 95 dset:   1 I:      1    160  J:    1  100  K:    1    2  L:      1      3
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
  doing --> TEMP[T=21-JAN-198200:00 at ITP,D=1]
 setting up plot
 PPL plot 98   complete
 plot/over temp[g=g5day,gy=g5day at ave]
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip --> EX#1[T=21-JAN-198200:00 at ITP,D=1]
- eval    EX#1     C:  5 dset:   1 I:   50   50  J:    5   88  K:    1    1  L:    2    3
+ eval    EX#1     C:  5 dset:   1 I:     50     50  J:    5   88  K:    1    1  L:      2      3
  strip regrid on X: TEMP --> G5DAY            @LIN
  strip regrid on Y: TEMP --> XNTERMED         @AVE
  strip regrid on T: TEMP --> YNTERMED         @LIN
- reading TEMP     M:220 dset:   1 I:   50   51  J:    5   89  K:    1    1  L:    2    5
- regrid  TEMP     M:221 dset:   1 I:   50   51  J:    5   89  K:    1    1  L:    2    3
- regrid  TEMP     M:222 dset:   1 I:   50   51  J:    5   88  K:    1    1  L:    2    3
- -DELETE TEMP     M:221 dset:   1 I:   50   51  J:    5   89  K:    1    1  L:    2    3  M: -999 -999  N: -999 -999
- regrid  TEMP     M:221 dset:   1 I:   50   50  J:    5   88  K:    1    1  L:    2    3
- -DELETE TEMP     M:222 dset:   1 I:   50   51  J:    5   88  K:    1    1  L:    2    3  M: -999 -999  N: -999 -999
+ found   TEMP     M: 39 dset:   1 I:     45     56  J:    5   89  K:    1    2  L:      2      5
+ regrid  TEMP     M:128 dset:   1 I:     50     51  J:    5   89  K:    1    1  L:      2      3
+ regrid  TEMP     M:129 dset:   1 I:     50     51  J:    5   88  K:    1    1  L:      2      3
+ -DELETE TEMP     M:128 dset:   1 I:     50     51  J:    5   89  K:    1    1  L:      2      3  M: -999 -999  N: -999 -999
+ regrid  TEMP     M:128 dset:   1 I:     50     50  J:    5   88  K:    1    1  L:      2      3
+ -DELETE TEMP     M:129 dset:   1 I:     50     51  J:    5   88  K:    1    1  L:      2      3  M: -999 -999  N: -999 -999
  doing --> TEMP[T=21-JAN-198200:00 at ITP,D=1]
 setting up plot
 PPL plot 99   complete
 plot/over temp[g=g5_10,gy=g5_10 at ave]
  dealloc  dynamic grid G5DAY           PSXU      PSYU      PSZT      TAX5DAY
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip --> EX#1[T=21-JAN-198200:00 at ITP,D=1]
  strip --> EX#1[Z=5 at ITP,D=1]
- eval    EX#1     C:  6 dset:   1 I:    7    7  J:    5   88  K:    1    1  L:    2    3
+ eval    EX#1     C:  6 dset:   1 I:      7      7  J:    5   88  K:    1    1  L:      2      3
  strip regrid on X: TEMP --> G5_10            @LIN
  strip regrid on Y: TEMP --> XNTERMED         @AVE
  strip regrid on Z: TEMP --> YNTERMED         @LIN
  strip regrid on T: TEMP --> ZNTERMED         @LIN
- reading TEMP     M:223 dset:   1 I:   50   51  J:    5   89  K:    1    2  L:    2    5
- regrid  TEMP     M:224 dset:   1 I:   50   51  J:    5   89  K:    1    2  L:    2    3
- regrid  TEMP     M:225 dset:   1 I:   50   51  J:    5   89  K:    1    1  L:    2    3
- -DELETE TEMP     M:224 dset:   1 I:   50   51  J:    5   89  K:    1    2  L:    2    3  M: -999 -999  N: -999 -999
- regrid  TEMP     M:224 dset:   1 I:   50   51  J:    5   88  K:    1    1  L:    2    3
- -DELETE TEMP     M:225 dset:   1 I:   50   51  J:    5   89  K:    1    1  L:    2    3  M: -999 -999  N: -999 -999
- regrid  TEMP     M:225 dset:   1 I:    7    7  J:    5   88  K:    1    1  L:    2    3
- -DELETE TEMP     M:224 dset:   1 I:   50   51  J:    5   88  K:    1    1  L:    2    3  M: -999 -999  N: -999 -999
+ found   TEMP     M: 39 dset:   1 I:     45     56  J:    5   89  K:    1    2  L:      2      5
+ regrid  TEMP     M:130 dset:   1 I:     50     51  J:    5   89  K:    1    2  L:      2      3
+ regrid  TEMP     M:131 dset:   1 I:     50     51  J:    5   89  K:    1    1  L:      2      3
+ -DELETE TEMP     M:130 dset:   1 I:     50     51  J:    5   89  K:    1    2  L:      2      3  M: -999 -999  N: -999 -999
+ regrid  TEMP     M:130 dset:   1 I:     50     51  J:    5   88  K:    1    1  L:      2      3
+ -DELETE TEMP     M:131 dset:   1 I:     50     51  J:    5   89  K:    1    1  L:      2      3  M: -999 -999  N: -999 -999
+ regrid  TEMP     M:131 dset:   1 I:      7      7  J:    5   88  K:    1    1  L:      2      3
+ -DELETE TEMP     M:130 dset:   1 I:     50     51  J:    5   88  K:    1    1  L:      2      3  M: -999 -999  N: -999 -999
  doing --> TEMP[Z=5 at ITP,D=1]
  doing --> TEMP[T=21-JAN-198200:00 at ITP,D=1]
 setting up plot
 PPL plot 100  complete
 plot/over temp[g=g5_10 at asn]  ! invalid interpretation of data
  dealloc  dynamic grid G5_10           XAX10     PSYU      PSZW      TAX5DAY
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip --> EX#1[T=21-JAN-198200:00 at ITP,D=1]
  strip --> EX#1[Z=5 at ITP,D=1]
- eval    EX#1     C:  6 dset:   1 I:    7    7  J:    5   88  K:    1    1  L:    2    3
+ eval    EX#1     C:  6 dset:   1 I:      7      7  J:    5   88  K:    1    1  L:      2      3
  strip regrid on X: TEMP --> G5_10            @ASN
  strip regrid on Y: TEMP --> XNTERMED         @ASN
  strip regrid on Z: TEMP --> YNTERMED         @ASN
  strip regrid on T: TEMP --> ZNTERMED         @ASN
- reading TEMP     M:227 dset:   1 I:    7    7  J:    5   88  K:    1    1  L:    2    3
- regrid  TEMP     M:228 dset:   1 I:    7    7  J:    5   88  K:    1    1  L:    2    3
- regrid  TEMP     M:229 dset:   1 I:    7    7  J:    5   88  K:    1    1  L:    2    3
- -DELETE TEMP     M:228 dset:   1 I:    7    7  J:    5   88  K:    1    1  L:    2    3  M: -999 -999  N: -999 -999
- regrid  TEMP     M:228 dset:   1 I:    7    7  J:    5   88  K:    1    1  L:    2    3
- -DELETE TEMP     M:229 dset:   1 I:    7    7  J:    5   88  K:    1    1  L:    2    3  M: -999 -999  N: -999 -999
- regrid  TEMP     M:229 dset:   1 I:    7    7  J:    5   88  K:    1    1  L:    2    3
- -DELETE TEMP     M:228 dset:   1 I:    7    7  J:    5   88  K:    1    1  L:    2    3  M: -999 -999  N: -999 -999
+ found   TEMP     M: 19 dset:   1 I:      1    161  J:    5   89  K:    1    2  L:      1      3
+ regrid  TEMP     M:133 dset:   1 I:      7      7  J:    5   88  K:    1    1  L:      2      3
+ regrid  TEMP     M:134 dset:   1 I:      7      7  J:    5   88  K:    1    1  L:      2      3
+ -DELETE TEMP     M:133 dset:   1 I:      7      7  J:    5   88  K:    1    1  L:      2      3  M: -999 -999  N: -999 -999
+ regrid  TEMP     M:133 dset:   1 I:      7      7  J:    5   88  K:    1    1  L:      2      3
+ -DELETE TEMP     M:134 dset:   1 I:      7      7  J:    5   88  K:    1    1  L:      2      3  M: -999 -999  N: -999 -999
+ regrid  TEMP     M:134 dset:   1 I:      7      7  J:    5   88  K:    1    1  L:      2      3
+ -DELETE TEMP     M:133 dset:   1 I:      7      7  J:    5   88  K:    1    1  L:      2      3  M: -999 -999  N: -999 -999
  doing --> TEMP[Z=5 at ITP,D=1]
  doing --> TEMP[T=21-JAN-198200:00 at ITP,D=1]
 setting up plot
@@ -17006,267 +16989,247 @@ use gtsa056_2	!kob  4/99
 set region/x=180W/y=0/z=5/t=21-JAN-1982:13-JUN-1983
 load temp[i=50:51,j=45:56,k=1:2,l=1:172]  ! preload to save time
  dealloc  dynamic grid G5_10           XAX10     PSYU      PSZW      TAX5DAY
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DT1          PSXT1     PSYT      PSZT      TIME1
- eval    EX#1     C:  4 dset:   2 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- strip moduloing TEMP on T axis:     1   172 dset:   2
- reading TEMP     M:231 dset:   2 I:   50   51  J:   45   50  K:    1    2  L:    1  168
- doing moduloing TEMP on T axis:     1   168 dset:   2
+ eval    EX#1     C:  4 dset:   2 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
+ strip moduloing TEMP on T axis:        1      172 dset:   2
+ reading TEMP     M:136 dset:   2 I:     50     51  J:   45   50  K:    1    2  L:      1    168
+ doing moduloing TEMP on T axis:        1      168 dset:   2
 plot temp
  dealloc  dynamic grid PS3DT1          PSXT1     PSYT      PSZT      TIME1
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DT1          PSXT1     PSYT      PSZT      TIME1
  strip --> EX#1[Y=0 at ITP,D=2]
  strip --> EX#1[X=180E at ITP,D=2]
- eval    EX#1     C:  6 dset:   2 I:   50   51  J:   45   46  K:    1    1  L:    3  170
- strip moduloing TEMP on T axis:     3   170 dset:   2
- reading TEMP     M:233 dset:   2 I:   50   51  J:   45   46  K:    1    1  L:    3  168
- doing moduloing TEMP on T axis:     3   168 dset:   2
- reading TEMP     M:235 dset:   2 I:   50   51  J:   45   46  K:    1    1  L:    1    2
- doing moduloing TEMP on T axis:     1     2 dset:   2
+ eval    EX#1     C:  6 dset:   2 I:     50     51  J:   45   46  K:    1    1  L:      3    170
+ found   TEMP     M:137 dset:   2 I:     50     51  J:   45   50  K:    1    2  L:      1    172
  doing --> TEMP[X=180E at ITP,D=2]
  doing --> TEMP[Y=0 at ITP,D=2]
 setting up plot
 PPL plot 102  complete
 plot/over temp[g=u]
  dealloc  dynamic grid PS3DT1          PSXT1     PSYT      PSZT      TIME1
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU1          PSXU      PSYU      PSZT      TIME1
  strip --> EX#1[Y=0 at ITP,D=2]
- eval    EX#1     C:  5 dset:   2 I:   50   50  J:   44   45  K:    1    1  L:    3  170
- strip moduloing TEMP on T axis:     3   170 dset:   2
+ eval    EX#1     C:  5 dset:   2 I:     50     50  J:   44   45  K:    1    1  L:      3    170
+ strip moduloing TEMP on T axis:        3      170 dset:   2
  strip regrid on X: TEMP --> PS3DU1           @LIN
- reading TEMP     M:238 dset:   2 I:   50   51  J:   44   46  K:    1    1  L:    3  168
+ reading TEMP     M:140 dset:   2 I:     50     51  J:   44   46  K:    1    1  L:      3    168
  regrid XY
- regrid  TEMP     M:239 dset:   2 I:   50   50  J:   44   45  K:    1    1  L:    3  168
- doing moduloing TEMP on T axis:     3   168 dset:   2
+ regrid  TEMP     M:141 dset:   2 I:     50     50  J:   44   45  K:    1    1  L:      3    168
+ doing moduloing TEMP on T axis:        3      168 dset:   2
  strip regrid on X: TEMP --> PS3DU1           @LIN
- reading TEMP     M:241 dset:   2 I:   50   51  J:   44   46  K:    1    1  L:    1    2
+ reading TEMP     M:143 dset:   2 I:     50     51  J:   44   46  K:    1    1  L:      1      2
  regrid XY
- regrid  TEMP     M:242 dset:   2 I:   50   50  J:   44   45  K:    1    1  L:    1    2
- doing moduloing TEMP on T axis:     1     2 dset:   2
+ regrid  TEMP     M:144 dset:   2 I:     50     50  J:   44   45  K:    1    1  L:      1      2
+ doing moduloing TEMP on T axis:        1        2 dset:   2
  doing --> TEMP[Y=0 at ITP,D=2]
 setting up plot
 PPL plot 103  complete
 plot/over temp[g=g5day]
  dealloc  dynamic grid PS3DU1          PSXU      PSYU      PSZT      TIME1
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip --> EX#1[Y=0 at ITP,D=2]
- eval    EX#1     C:  5 dset:   2 I:   50   50  J:   44   45  K:    1    1  L:    2  104
+ eval    EX#1     C:  5 dset:   2 I:     50     50  J:   44   45  K:    1    1  L:      2    104
  strip regrid on X: TEMP --> G5DAY            @LIN
  strip regrid on T: TEMP --> XNTERMED         @LIN
- strip moduloing TEMP on T axis:     2   171 dset:   2
- reading TEMP     M:244 dset:   2 I:   50   51  J:   44   46  K:    1    1  L:    1  168
- doing moduloing TEMP on T axis:     1   168 dset:   2
- regrid  TEMP     M:246 dset:   2 I:   50   51  J:   44   46  K:    1    1  L:    2  104
+ strip moduloing TEMP on T axis:        2      171 dset:   2
+ reading TEMP     M:146 dset:   2 I:     50     51  J:   44   46  K:    1    1  L:      1    168
+ doing moduloing TEMP on T axis:        1      168 dset:   2
+ regrid  TEMP     M:148 dset:   2 I:     50     51  J:   44   46  K:    1    1  L:      2    104
  regrid XY
- regrid  TEMP     M:247 dset:   2 I:   50   50  J:   44   45  K:    1    1  L:    2  104
- -DELETE TEMP     M:246 dset:   2 I:   50   51  J:   44   46  K:    1    1  L:    2  104  M: -999 -999  N: -999 -999
+ regrid  TEMP     M:149 dset:   2 I:     50     50  J:   44   45  K:    1    1  L:      2    104
+ -DELETE TEMP     M:148 dset:   2 I:     50     51  J:   44   46  K:    1    1  L:      2    104  M: -999 -999  N: -999 -999
  doing --> TEMP[Y=0 at ITP,D=2]
 setting up plot
 PPL plot 104  complete
 plot/over temp[g=g5_10]
  dealloc  dynamic grid G5DAY           PSXU      PSYU      PSZT      TAX5DAY
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip --> EX#1[Z=5 at ITP,D=2]
  strip --> EX#1[Y=0 at ITP,D=2]
- eval    EX#1     C:  6 dset:   2 I:    7    7  J:   44   45  K:    1    1  L:    2  104
+ eval    EX#1     C:  6 dset:   2 I:      7      7  J:   44   45  K:    1    1  L:      2    104
  strip regrid on X: TEMP --> G5_10            @LIN
  strip regrid on Z: TEMP --> XNTERMED         @LIN
  strip regrid on T: TEMP --> ZNTERMED         @LIN
- strip moduloing TEMP on T axis:     2   171 dset:   2
- reading TEMP     M:248 dset:   2 I:   50   51  J:   44   46  K:    1    2  L:    1  168
- doing moduloing TEMP on T axis:     1   168 dset:   2
- regrid  TEMP     M:250 dset:   2 I:   50   51  J:   44   46  K:    1    2  L:    2  104
- regrid  TEMP     M:251 dset:   2 I:   50   51  J:   44   46  K:    1    1  L:    2  104
- -DELETE TEMP     M:250 dset:   2 I:   50   51  J:   44   46  K:    1    2  L:    2  104  M: -999 -999  N: -999 -999
+ strip moduloing TEMP on T axis:        2      171 dset:   2
+ reading TEMP     M:150 dset:   2 I:     50     51  J:   44   46  K:    1    2  L:      1    168
+ doing moduloing TEMP on T axis:        1      168 dset:   2
+ regrid  TEMP     M:152 dset:   2 I:     50     51  J:   44   46  K:    1    2  L:      2    104
+ regrid  TEMP     M:153 dset:   2 I:     50     51  J:   44   46  K:    1    1  L:      2    104
+ -DELETE TEMP     M:152 dset:   2 I:     50     51  J:   44   46  K:    1    2  L:      2    104  M: -999 -999  N: -999 -999
  regrid XY
- regrid  TEMP     M:250 dset:   2 I:    7    7  J:   44   45  K:    1    1  L:    2  104
- -DELETE TEMP     M:251 dset:   2 I:   50   51  J:   44   46  K:    1    1  L:    2  104  M: -999 -999  N: -999 -999
+ regrid  TEMP     M:152 dset:   2 I:      7      7  J:   44   45  K:    1    1  L:      2    104
+ -DELETE TEMP     M:153 dset:   2 I:     50     51  J:   44   46  K:    1    1  L:      2    104  M: -999 -999  N: -999 -999
  doing --> TEMP[Y=0 at ITP,D=2]
  doing --> TEMP[Z=5 at ITP,D=2]
 setting up plot
 PPL plot 105  complete
 plot/over temp[g=u at ave]
  dealloc  dynamic grid G5_10           XAX10     PSYU      PSZW      TAX5DAY
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU1          PSXU      PSYU      PSZT      TIME1
  strip --> EX#1[Y=0 at ITP,D=2]
- eval    EX#1     C:  5 dset:   2 I:   50   50  J:   44   45  K:    1    1  L:    3  170
- strip moduloing TEMP on T axis:     3   170 dset:   2
+ eval    EX#1     C:  5 dset:   2 I:     50     50  J:   44   45  K:    1    1  L:      3    170
+ strip moduloing TEMP on T axis:        3      170 dset:   2
  strip regrid on X: TEMP --> PS3DU1           @AAV
- reading TEMP     M:253 dset:   2 I:   50   51  J:   44   46  K:    1    1  L:    3  168
+ found   TEMP     M:151 dset:   2 I:     50     51  J:   44   46  K:    1    2  L:      2    171
  regrid XY
- regrid  TEMP     M:254 dset:   2 I:   50   50  J:   44   45  K:    1    1  L:    3  168
- doing moduloing TEMP on T axis:     3   168 dset:   2
+ regrid  TEMP     M:155 dset:   2 I:     50     50  J:   44   45  K:    1    1  L:      3    168
+ doing moduloing TEMP on T axis:        3      168 dset:   2
  strip regrid on X: TEMP --> PS3DU1           @AAV
- reading TEMP     M:256 dset:   2 I:   50   51  J:   44   46  K:    1    1  L:    1    2
+ found   TEMP     M:150 dset:   2 I:     50     51  J:   44   46  K:    1    2  L:      1    168
  regrid XY
- regrid  TEMP     M:257 dset:   2 I:   50   50  J:   44   45  K:    1    1  L:    1    2
- doing moduloing TEMP on T axis:     1     2 dset:   2
+ regrid  TEMP     M:157 dset:   2 I:     50     50  J:   44   45  K:    1    1  L:      1      2
+ doing moduloing TEMP on T axis:        1        2 dset:   2
  doing --> TEMP[Y=0 at ITP,D=2]
 setting up plot
 PPL plot 106  complete
 plot/over temp[g=g5day at ave]
  dealloc  dynamic grid PS3DU1          PSXU      PSYU      PSZT      TIME1
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip --> EX#1[Y=0 at ITP,D=2]
- eval    EX#1     C:  5 dset:   2 I:   50   50  J:   44   45  K:    1    1  L:    2  104
+ eval    EX#1     C:  5 dset:   2 I:     50     50  J:   44   45  K:    1    1  L:      2    104
  strip regrid on X: TEMP --> G5DAY            @AAV
  strip regrid on T: TEMP --> XNTERMED         @AVE
- strip moduloing TEMP on T axis:     2   171 dset:   2
- reading TEMP     M:259 dset:   2 I:   50   51  J:   44   46  K:    1    1  L:    1  168
- doing moduloing TEMP on T axis:     1   168 dset:   2
- regrid  TEMP     M:261 dset:   2 I:   50   51  J:   44   46  K:    1    1  L:    2  104
+ found   TEMP     M:151 dset:   2 I:     50     51  J:   44   46  K:    1    2  L:      2    171
+ regrid  TEMP     M:159 dset:   2 I:     50     51  J:   44   46  K:    1    1  L:      2    104
  regrid XY
- regrid  TEMP     M:262 dset:   2 I:   50   50  J:   44   45  K:    1    1  L:    2  104
- -DELETE TEMP     M:261 dset:   2 I:   50   51  J:   44   46  K:    1    1  L:    2  104  M: -999 -999  N: -999 -999
+ regrid  TEMP     M:160 dset:   2 I:     50     50  J:   44   45  K:    1    1  L:      2    104
+ -DELETE TEMP     M:159 dset:   2 I:     50     51  J:   44   46  K:    1    1  L:      2    104  M: -999 -999  N: -999 -999
  doing --> TEMP[Y=0 at ITP,D=2]
 setting up plot
 PPL plot 107  complete
 plot/over temp[g=g5_10 at ave]
  dealloc  dynamic grid G5DAY           PSXU      PSYU      PSZT      TAX5DAY
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip --> EX#1[Z=5 at ITP,D=2]
  strip --> EX#1[Y=0 at ITP,D=2]
- eval    EX#1     C:  6 dset:   2 I:    7    7  J:   44   45  K:    1    1  L:    2  104
+ eval    EX#1     C:  6 dset:   2 I:      7      7  J:   44   45  K:    1    1  L:      2    104
  strip regrid on X: TEMP --> G5_10            @AAV
  strip regrid on Z: TEMP --> XNTERMED         @AVE
  strip regrid on T: TEMP --> ZNTERMED         @AVE
- strip moduloing TEMP on T axis:     2   171 dset:   2
- reading TEMP     M:263 dset:   2 I:   45   56  J:   44   46  K:    1    2  L:    1  168
- doing moduloing TEMP on T axis:     1   168 dset:   2
- regrid  TEMP     M:265 dset:   2 I:   45   56  J:   44   46  K:    1    2  L:    2  104
- regrid  TEMP     M:266 dset:   2 I:   45   56  J:   44   46  K:    1    1  L:    2  104
- -DELETE TEMP     M:265 dset:   2 I:   45   56  J:   44   46  K:    1    2  L:    2  104  M: -999 -999  N: -999 -999
+ strip moduloing TEMP on T axis:        2      171 dset:   2
+ reading TEMP     M:161 dset:   2 I:     45     56  J:   44   46  K:    1    2  L:      1    168
+ doing moduloing TEMP on T axis:        1      168 dset:   2
+ regrid  TEMP     M:163 dset:   2 I:     45     56  J:   44   46  K:    1    2  L:      2    104
+ regrid  TEMP     M:164 dset:   2 I:     45     56  J:   44   46  K:    1    1  L:      2    104
+ -DELETE TEMP     M:163 dset:   2 I:     45     56  J:   44   46  K:    1    2  L:      2    104  M: -999 -999  N: -999 -999
  regrid XY
- regrid  TEMP     M:265 dset:   2 I:    7    7  J:   44   45  K:    1    1  L:    2  104
- -DELETE TEMP     M:266 dset:   2 I:   45   56  J:   44   46  K:    1    1  L:    2  104  M: -999 -999  N: -999 -999
+ regrid  TEMP     M:163 dset:   2 I:      7      7  J:   44   45  K:    1    1  L:      2    104
+ -DELETE TEMP     M:164 dset:   2 I:     45     56  J:   44   46  K:    1    1  L:      2    104  M: -999 -999  N: -999 -999
  doing --> TEMP[Y=0 at ITP,D=2]
  doing --> TEMP[Z=5 at ITP,D=2]
 setting up plot
 PPL plot 108  complete
 plot/over temp[g=u at asn]
  dealloc  dynamic grid G5_10           XAX10     PSYU      PSZW      TAX5DAY
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU1          PSXU      PSYU      PSZT      TIME1
  strip --> EX#1[Y=0 at ITP,D=2]
- eval    EX#1     C:  5 dset:   2 I:   50   50  J:   44   45  K:    1    1  L:    3  170
- strip moduloing TEMP on T axis:     3   170 dset:   2
+ eval    EX#1     C:  5 dset:   2 I:     50     50  J:   44   45  K:    1    1  L:      3    170
+ strip moduloing TEMP on T axis:        3      170 dset:   2
  strip regrid on X: TEMP --> PS3DU1           @ASN
  strip regrid on Y: TEMP --> XNTERMED         @ASN
- reading TEMP     M:268 dset:   2 I:   50   50  J:   44   45  K:    1    1  L:    3  168
- regrid  TEMP     M:269 dset:   2 I:   50   50  J:   44   45  K:    1    1  L:    3  168
- regrid  TEMP     M:270 dset:   2 I:   50   50  J:   44   45  K:    1    1  L:    3  168
- -DELETE TEMP     M:269 dset:   2 I:   50   50  J:   44   45  K:    1    1  L:    3  168  M: -999 -999  N: -999 -999
- doing moduloing TEMP on T axis:     3   168 dset:   2
+ found   TEMP     M:162 dset:   2 I:     45     56  J:   44   46  K:    1    2  L:      2    171
+ regrid  TEMP     M:166 dset:   2 I:     50     50  J:   44   45  K:    1    1  L:      3    168
+ regrid  TEMP     M:167 dset:   2 I:     50     50  J:   44   45  K:    1    1  L:      3    168
+ -DELETE TEMP     M:166 dset:   2 I:     50     50  J:   44   45  K:    1    1  L:      3    168  M: -999 -999  N: -999 -999
+ doing moduloing TEMP on T axis:        3      168 dset:   2
  strip regrid on X: TEMP --> PS3DU1           @ASN
  strip regrid on Y: TEMP --> XNTERMED         @ASN
- reading TEMP     M:271 dset:   2 I:   50   50  J:   44   45  K:    1    1  L:    1    2
- regrid  TEMP     M:272 dset:   2 I:   50   50  J:   44   45  K:    1    1  L:    1    2
- regrid  TEMP     M:273 dset:   2 I:   50   50  J:   44   45  K:    1    1  L:    1    2
- -DELETE TEMP     M:272 dset:   2 I:   50   50  J:   44   45  K:    1    1  L:    1    2  M: -999 -999  N: -999 -999
- doing moduloing TEMP on T axis:     1     2 dset:   2
+ found   TEMP     M:161 dset:   2 I:     45     56  J:   44   46  K:    1    2  L:      1    168
+ regrid  TEMP     M:168 dset:   2 I:     50     50  J:   44   45  K:    1    1  L:      1      2
+ regrid  TEMP     M:169 dset:   2 I:     50     50  J:   44   45  K:    1    1  L:      1      2
+ -DELETE TEMP     M:168 dset:   2 I:     50     50  J:   44   45  K:    1    1  L:      1      2  M: -999 -999  N: -999 -999
+ doing moduloing TEMP on T axis:        1        2 dset:   2
  doing --> TEMP[Y=0 at ITP,D=2]
 setting up plot
 PPL plot 109  complete
 plot/over temp[g=g5_10 at asn]
  dealloc  dynamic grid PS3DU1          PSXU      PSYU      PSZT      TIME1
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip --> EX#1[Z=5 at ITP,D=2]
  strip --> EX#1[Y=0 at ITP,D=2]
- eval    EX#1     C:  6 dset:   2 I:    7    7  J:   44   45  K:    1    1  L:    2  104
+ eval    EX#1     C:  6 dset:   2 I:      7      7  J:   44   45  K:    1    1  L:      2    104
  strip regrid on X: TEMP --> G5_10            @ASN
  strip regrid on Y: TEMP --> XNTERMED         @ASN
  strip regrid on Z: TEMP --> YNTERMED         @ASN
  strip regrid on T: TEMP --> ZNTERMED         @ASN
- reading TEMP     M:274 dset:   2 I:    7    7  J:   44   45  K:    1    1  L:    2  104
- regrid  TEMP     M:275 dset:   2 I:    7    7  J:   44   45  K:    1    1  L:    2  104
- regrid  TEMP     M:276 dset:   2 I:    7    7  J:   44   45  K:    1    1  L:    2  104
- -DELETE TEMP     M:275 dset:   2 I:    7    7  J:   44   45  K:    1    1  L:    2  104  M: -999 -999  N: -999 -999
- regrid  TEMP     M:275 dset:   2 I:    7    7  J:   44   45  K:    1    1  L:    2  104
- -DELETE TEMP     M:276 dset:   2 I:    7    7  J:   44   45  K:    1    1  L:    2  104  M: -999 -999  N: -999 -999
- regrid  TEMP     M:276 dset:   2 I:    7    7  J:   44   45  K:    1    1  L:    2  104
- -DELETE TEMP     M:275 dset:   2 I:    7    7  J:   44   45  K:    1    1  L:    2  104  M: -999 -999  N: -999 -999
+ reading TEMP     M:170 dset:   2 I:      7      7  J:   44   45  K:    1    1  L:      2    104
+ regrid  TEMP     M:171 dset:   2 I:      7      7  J:   44   45  K:    1    1  L:      2    104
+ regrid  TEMP     M:172 dset:   2 I:      7      7  J:   44   45  K:    1    1  L:      2    104
+ -DELETE TEMP     M:171 dset:   2 I:      7      7  J:   44   45  K:    1    1  L:      2    104  M: -999 -999  N: -999 -999
+ regrid  TEMP     M:171 dset:   2 I:      7      7  J:   44   45  K:    1    1  L:      2    104
+ -DELETE TEMP     M:172 dset:   2 I:      7      7  J:   44   45  K:    1    1  L:      2    104  M: -999 -999  N: -999 -999
+ regrid  TEMP     M:172 dset:   2 I:      7      7  J:   44   45  K:    1    1  L:      2    104
+ -DELETE TEMP     M:171 dset:   2 I:      7      7  J:   44   45  K:    1    1  L:      2    104  M: -999 -999  N: -999 -999
  doing --> TEMP[Y=0 at ITP,D=2]
  doing --> TEMP[Z=5 at ITP,D=2]
 setting up plot
 PPL plot 110  complete
 plot/over temp[g=u,gt=u at ave]
  dealloc  dynamic grid G5_10           XAX10     PSYU      PSZW      TAX5DAY
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU1          PSXU      PSYU      PSZT      TIME1
  dealloc  dynamic grid PS3DU1          PSXU      PSYU      PSZT      TIME1
  allocate dynamic grid PS3DU1          PSXU      PSYU      PSZT      TIME1
  strip --> EX#1[Y=0 at ITP,D=2]
- eval    EX#1     C:  5 dset:   2 I:   50   50  J:   44   45  K:    1    1  L:    3  170
+ eval    EX#1     C:  5 dset:   2 I:     50     50  J:   44   45  K:    1    1  L:      3    170
  allocate dynamic grid PS3DU1          PSXU      PSYU      PSZT      TIME1
- strip moduloing TEMP on T axis:     3   170 dset:   2
- strip regrid on X: TEMP --> PS3DU1           @LIN
- reading TEMP     M:278 dset:   2 I:   50   51  J:   44   46  K:    1    1  L:    3  168
- regrid XY
- regrid  TEMP     M:279 dset:   2 I:   50   50  J:   44   45  K:    1    1  L:    3  168
- doing moduloing TEMP on T axis:     3   168 dset:   2
- strip regrid on X: TEMP --> PS3DU1           @LIN
- reading TEMP     M:281 dset:   2 I:   50   51  J:   44   46  K:    1    1  L:    1    2
- regrid XY
- regrid  TEMP     M:282 dset:   2 I:   50   50  J:   44   45  K:    1    1  L:    1    2
- doing moduloing TEMP on T axis:     1     2 dset:   2
+ found   TEMP     M:142 dset:   2 I:     50     50  J:   44   45  K:    1    1  L:      3    170
  dealloc  dynamic grid PS3DU1          PSXU      PSYU      PSZT      TIME1
  doing --> TEMP[Y=0 at ITP,D=2]
 setting up plot
 PPL plot 111  complete
 plot/over temp[g=g5day,gt=g5day at ave]
  dealloc  dynamic grid PS3DU1          PSXU      PSYU      PSZT      TIME1
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip --> EX#1[Y=0 at ITP,D=2]
- eval    EX#1     C:  5 dset:   2 I:   50   50  J:   44   45  K:    1    1  L:    2  104
+ eval    EX#1     C:  5 dset:   2 I:     50     50  J:   44   45  K:    1    1  L:      2    104
  strip regrid on X: TEMP --> G5DAY            @LIN
  strip regrid on T: TEMP --> XNTERMED         @AVE
- strip moduloing TEMP on T axis:     2   171 dset:   2
- reading TEMP     M:284 dset:   2 I:   50   51  J:   44   46  K:    1    1  L:    1  168
- doing moduloing TEMP on T axis:     1   168 dset:   2
- regrid  TEMP     M:286 dset:   2 I:   50   51  J:   44   46  K:    1    1  L:    2  104
+ found   TEMP     M:162 dset:   2 I:     45     56  J:   44   46  K:    1    2  L:      2    171
+ regrid  TEMP     M:175 dset:   2 I:     50     51  J:   44   46  K:    1    1  L:      2    104
  regrid XY
- regrid  TEMP     M:287 dset:   2 I:   50   50  J:   44   45  K:    1    1  L:    2  104
- -DELETE TEMP     M:286 dset:   2 I:   50   51  J:   44   46  K:    1    1  L:    2  104  M: -999 -999  N: -999 -999
+ regrid  TEMP     M:176 dset:   2 I:     50     50  J:   44   45  K:    1    1  L:      2    104
+ -DELETE TEMP     M:175 dset:   2 I:     50     51  J:   44   46  K:    1    1  L:      2    104  M: -999 -999  N: -999 -999
  doing --> TEMP[Y=0 at ITP,D=2]
 setting up plot
 PPL plot 112  complete
 plot/over temp[g=g5_10,gt=g5_10 at ave]
  dealloc  dynamic grid G5DAY           PSXU      PSYU      PSZT      TAX5DAY
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip --> EX#1[Z=5 at ITP,D=2]
  strip --> EX#1[Y=0 at ITP,D=2]
- eval    EX#1     C:  6 dset:   2 I:    7    7  J:   44   45  K:    1    1  L:    2  104
+ eval    EX#1     C:  6 dset:   2 I:      7      7  J:   44   45  K:    1    1  L:      2    104
  strip regrid on X: TEMP --> G5_10            @LIN
  strip regrid on Z: TEMP --> XNTERMED         @LIN
  strip regrid on T: TEMP --> ZNTERMED         @AVE
- strip moduloing TEMP on T axis:     2   171 dset:   2
- reading TEMP     M:288 dset:   2 I:   50   51  J:   44   46  K:    1    2  L:    1  168
- doing moduloing TEMP on T axis:     1   168 dset:   2
- regrid  TEMP     M:290 dset:   2 I:   50   51  J:   44   46  K:    1    2  L:    2  104
- regrid  TEMP     M:291 dset:   2 I:   50   51  J:   44   46  K:    1    1  L:    2  104
- -DELETE TEMP     M:290 dset:   2 I:   50   51  J:   44   46  K:    1    2  L:    2  104  M: -999 -999  N: -999 -999
+ found   TEMP     M:162 dset:   2 I:     45     56  J:   44   46  K:    1    2  L:      2    171
+ regrid  TEMP     M:177 dset:   2 I:     50     51  J:   44   46  K:    1    2  L:      2    104
+ regrid  TEMP     M:178 dset:   2 I:     50     51  J:   44   46  K:    1    1  L:      2    104
+ -DELETE TEMP     M:177 dset:   2 I:     50     51  J:   44   46  K:    1    2  L:      2    104  M: -999 -999  N: -999 -999
  regrid XY
- regrid  TEMP     M:290 dset:   2 I:    7    7  J:   44   45  K:    1    1  L:    2  104
- -DELETE TEMP     M:291 dset:   2 I:   50   51  J:   44   46  K:    1    1  L:    2  104  M: -999 -999  N: -999 -999
+ regrid  TEMP     M:177 dset:   2 I:      7      7  J:   44   45  K:    1    1  L:      2    104
+ -DELETE TEMP     M:178 dset:   2 I:     50     51  J:   44   46  K:    1    1  L:      2    104  M: -999 -999  N: -999 -999
  doing --> TEMP[Y=0 at ITP,D=2]
  doing --> TEMP[Z=5 at ITP,D=2]
 setting up plot
 PPL plot 113  complete
 plot/over temp[g=g5day,gt=g5day at asn]  ! invalid interpretation of data
  dealloc  dynamic grid G5_10           XAX10     PSYU      PSZW      TAX5DAY
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip --> EX#1[Y=0 at ITP,D=2]
- eval    EX#1     C:  5 dset:   2 I:   50   50  J:   44   45  K:    1    1  L:    2  104
+ eval    EX#1     C:  5 dset:   2 I:     50     50  J:   44   45  K:    1    1  L:      2    104
  strip regrid on X: TEMP --> G5DAY            @LIN
  strip regrid on T: TEMP --> XNTERMED         @ASN
- reading TEMP     M:293 dset:   2 I:   50   51  J:   44   46  K:    1    1  L:    2  104
- regrid  TEMP     M:294 dset:   2 I:   50   51  J:   44   46  K:    1    1  L:    2  104
+ found   TEMP     M:162 dset:   2 I:     45     56  J:   44   46  K:    1    2  L:      2    171
+ regrid  TEMP     M:180 dset:   2 I:     50     51  J:   44   46  K:    1    1  L:      2    104
  regrid XY
- regrid  TEMP     M:295 dset:   2 I:   50   50  J:   44   45  K:    1    1  L:    2  104
- -DELETE TEMP     M:294 dset:   2 I:   50   51  J:   44   46  K:    1    1  L:    2  104  M: -999 -999  N: -999 -999
+ regrid  TEMP     M:181 dset:   2 I:     50     50  J:   44   45  K:    1    1  L:      2    104
+ -DELETE TEMP     M:180 dset:   2 I:     50     51  J:   44   46  K:    1    1  L:      2    104  M: -999 -999  N: -999 -999
  doing --> TEMP[Y=0 at ITP,D=2]
 setting up plot
 PPL plot 114  complete
@@ -17285,22 +17248,22 @@ let a2 = x[gx=x2pt]
  
 list a1[gx=xoffset at ave]
  dealloc  dynamic grid G5DAY           PSXU      PSYU      PSZT      TAX5DAY
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid A1       C:  7 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid A1       C:  7 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G009)          X1PT      NORMAL    NORMAL    NORMAL
  dealloc  dynamic grid (G009)          X1PT      NORMAL    NORMAL    NORMAL
  allocate dynamic grid (G009)          X1PT      NORMAL    NORMAL    NORMAL
  allocate dynamic grid (G011)          XOFFSET   NORMAL    NORMAL    NORMAL
  dealloc  dynamic grid (G011)          XOFFSET   NORMAL    NORMAL    NORMAL
  allocate dynamic grid (G011)          XOFFSET   NORMAL    NORMAL    NORMAL
- eval    EX#1     C:  4 dset:   2 I:    1    7  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  4 dset:   2 I:      1      7  J: -999 -999  K: -999 -999  L:   -999   -999
  allocate dynamic grid (G011)          XOFFSET   NORMAL    NORMAL    NORMAL
  strip regrid on X: A1 --> (G011)           @AVE
- eval    A1       C:  7 dset:   0 I:    1    1  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    A1       C:  7 dset:   0 I:      1      1  J: -999 -999  K: -999 -999  L:   -999   -999
  allocate dynamic grid (G009)          X1PT      NORMAL    NORMAL    NORMAL
- pseudo  X        M:296 dset:   0 I:    1    1  J: -999 -999  K: -999 -999  L: -999 -999
+ pseudo  X        M:182 dset:   0 I:      1      1  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid (G009)          X1PT      NORMAL    NORMAL    NORMAL
- regrid  A1       M:298 dset:   0 I:    1    7  J: -999 -999  K: -999 -999  L: -999 -999
+ regrid  A1       M:184 dset:   0 I:      1      7  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid (G011)          XOFFSET   NORMAL    NORMAL    NORMAL
              VARIABLE : X[GX=X1PT]
                         regrid: 1 delta on X at AVE
@@ -17313,21 +17276,18 @@ list a1[gx=xoffset at ave]
  6.1 / 6:     ....
  7.1 / 7:     ....
 list a1[gx=xoffset at sum] ! should sum to 5
- -DELETE X        M:296 dset:   0 I:    1    1  J: -999 -999  K: -999 -999  L: -999 -999
+ -DELETE X        M:182 dset:   0 I:      1      1  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid (G011)          XOFFSET   NORMAL    NORMAL    NORMAL
- -DELETE A1       M:298 dset:   0 I:    1    7  J: -999 -999  K: -999 -999  L: -999 -999
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ -DELETE A1       M:184 dset:   0 I:      1      7  J: -999 -999  K: -999 -999  L:   -999   -999
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G011)          XOFFSET   NORMAL    NORMAL    NORMAL
  dealloc  dynamic grid (G011)          XOFFSET   NORMAL    NORMAL    NORMAL
  allocate dynamic grid (G011)          XOFFSET   NORMAL    NORMAL    NORMAL
- eval    EX#1     C:  4 dset:   2 I:    1    7  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  4 dset:   2 I:      1      7  J: -999 -999  K: -999 -999  L:   -999   -999
  allocate dynamic grid (G011)          XOFFSET   NORMAL    NORMAL    NORMAL
  strip regrid on X: A1 --> (G011)           @SUM
- eval    A1       C:  7 dset:   0 I:    1    1  J: -999 -999  K: -999 -999  L: -999 -999
- allocate dynamic grid (G009)          X1PT      NORMAL    NORMAL    NORMAL
- pseudo  X        M:298 dset:   0 I:    1    1  J: -999 -999  K: -999 -999  L: -999 -999
- dealloc  dynamic grid (G009)          X1PT      NORMAL    NORMAL    NORMAL
- regrid  A1       M:299 dset:   0 I:    1    7  J: -999 -999  K: -999 -999  L: -999 -999
+ found   A1       M:183 dset:   0 I:      1      1  J: -999 -999  K: -999 -999  L:   -999   -999
+ regrid  A1       M:184 dset:   0 I:      1      7  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid (G011)          XOFFSET   NORMAL    NORMAL    NORMAL
              VARIABLE : X[GX=X1PT]
                         regrid: 1 delta on X at SUM
@@ -17340,21 +17300,17 @@ list a1[gx=xoffset at sum] ! should sum to 5
  6.1 / 6:     ....
  7.1 / 7:     ....
 list a1[gx=xoffset at var] ! should be all missing
- -DELETE X        M:298 dset:   0 I:    1    1  J: -999 -999  K: -999 -999  L: -999 -999
  dealloc  dynamic grid (G011)          XOFFSET   NORMAL    NORMAL    NORMAL
- -DELETE A1       M:299 dset:   0 I:    1    7  J: -999 -999  K: -999 -999  L: -999 -999
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ -DELETE A1       M:184 dset:   0 I:      1      7  J: -999 -999  K: -999 -999  L:   -999   -999
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G011)          XOFFSET   NORMAL    NORMAL    NORMAL
  dealloc  dynamic grid (G011)          XOFFSET   NORMAL    NORMAL    NORMAL
  allocate dynamic grid (G011)          XOFFSET   NORMAL    NORMAL    NORMAL
- eval    EX#1     C:  4 dset:   2 I:    1    7  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  4 dset:   2 I:      1      7  J: -999 -999  K: -999 -999  L:   -999   -999
  allocate dynamic grid (G011)          XOFFSET   NORMAL    NORMAL    NORMAL
  strip regrid on X: A1 --> (G011)           @VAR
- eval    A1       C:  7 dset:   0 I:    1    1  J: -999 -999  K: -999 -999  L: -999 -999
- allocate dynamic grid (G009)          X1PT      NORMAL    NORMAL    NORMAL
- pseudo  X        M:299 dset:   0 I:    1    1  J: -999 -999  K: -999 -999  L: -999 -999
- dealloc  dynamic grid (G009)          X1PT      NORMAL    NORMAL    NORMAL
- regrid  A1       M:300 dset:   0 I:    1    7  J: -999 -999  K: -999 -999  L: -999 -999
+ found   A1       M:183 dset:   0 I:      1      1  J: -999 -999  K: -999 -999  L:   -999   -999
+ regrid  A1       M:184 dset:   0 I:      1      7  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid (G011)          XOFFSET   NORMAL    NORMAL    NORMAL
              VARIABLE : Variance of X[GX=X1PT]
                         regrid: 1 delta on X at VAR
@@ -17368,25 +17324,24 @@ list a1[gx=xoffset at var] ! should be all missing
  7.1 / 7:....
  
 list a2[gx=xoffset at ave]
- -DELETE X        M:299 dset:   0 I:    1    1  J: -999 -999  K: -999 -999  L: -999 -999
  dealloc  dynamic grid (G011)          XOFFSET   NORMAL    NORMAL    NORMAL
- -DELETE A1       M:300 dset:   0 I:    1    7  J: -999 -999  K: -999 -999  L: -999 -999
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid A2       C:  7 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ -DELETE A1       M:184 dset:   0 I:      1      7  J: -999 -999  K: -999 -999  L:   -999   -999
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid A2       C:  7 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G011)          X2PT      NORMAL    NORMAL    NORMAL
  dealloc  dynamic grid (G011)          X2PT      NORMAL    NORMAL    NORMAL
  allocate dynamic grid (G011)          X2PT      NORMAL    NORMAL    NORMAL
  allocate dynamic grid (G006)          XOFFSET   NORMAL    NORMAL    NORMAL
  dealloc  dynamic grid (G006)          XOFFSET   NORMAL    NORMAL    NORMAL
  allocate dynamic grid (G006)          XOFFSET   NORMAL    NORMAL    NORMAL
- eval    EX#1     C:  4 dset:   2 I:    1    7  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  4 dset:   2 I:      1      7  J: -999 -999  K: -999 -999  L:   -999   -999
  allocate dynamic grid (G006)          XOFFSET   NORMAL    NORMAL    NORMAL
  strip regrid on X: A2 --> (G006)           @AVE
- eval    A2       C:  7 dset:   0 I:    1    2  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    A2       C:  7 dset:   0 I:      1      2  J: -999 -999  K: -999 -999  L:   -999   -999
  allocate dynamic grid (G011)          X2PT      NORMAL    NORMAL    NORMAL
- pseudo  X        M:300 dset:   0 I:    1    2  J: -999 -999  K: -999 -999  L: -999 -999
+ pseudo  X        M:184 dset:   0 I:      1      2  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid (G011)          X2PT      NORMAL    NORMAL    NORMAL
- regrid  A2       M:301 dset:   0 I:    1    7  J: -999 -999  K: -999 -999  L: -999 -999
+ regrid  A2       M:185 dset:   0 I:      1      7  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid (G006)          XOFFSET   NORMAL    NORMAL    NORMAL
              VARIABLE : X[GX=X2PT]
                         regrid: 1 delta on X at AVE
@@ -17399,21 +17354,18 @@ list a2[gx=xoffset at ave]
  6.1 / 6:  6.00000
  7.1 / 7:     ....
 list a2[gx=xoffset at sum] ! should sum to 5+6=11
- -DELETE X        M:300 dset:   0 I:    1    2  J: -999 -999  K: -999 -999  L: -999 -999
+ -DELETE X        M:184 dset:   0 I:      1      2  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid (G006)          XOFFSET   NORMAL    NORMAL    NORMAL
- -DELETE A2       M:301 dset:   0 I:    1    7  J: -999 -999  K: -999 -999  L: -999 -999
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ -DELETE A2       M:185 dset:   0 I:      1      7  J: -999 -999  K: -999 -999  L:   -999   -999
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G006)          XOFFSET   NORMAL    NORMAL    NORMAL
  dealloc  dynamic grid (G006)          XOFFSET   NORMAL    NORMAL    NORMAL
  allocate dynamic grid (G006)          XOFFSET   NORMAL    NORMAL    NORMAL
- eval    EX#1     C:  4 dset:   2 I:    1    7  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  4 dset:   2 I:      1      7  J: -999 -999  K: -999 -999  L:   -999   -999
  allocate dynamic grid (G006)          XOFFSET   NORMAL    NORMAL    NORMAL
  strip regrid on X: A2 --> (G006)           @SUM
- eval    A2       C:  7 dset:   0 I:    1    2  J: -999 -999  K: -999 -999  L: -999 -999
- allocate dynamic grid (G011)          X2PT      NORMAL    NORMAL    NORMAL
- pseudo  X        M:301 dset:   0 I:    1    2  J: -999 -999  K: -999 -999  L: -999 -999
- dealloc  dynamic grid (G011)          X2PT      NORMAL    NORMAL    NORMAL
- regrid  A2       M:302 dset:   0 I:    1    7  J: -999 -999  K: -999 -999  L: -999 -999
+ found   A2       M:182 dset:   0 I:      1      2  J: -999 -999  K: -999 -999  L:   -999   -999
+ regrid  A2       M:185 dset:   0 I:      1      7  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid (G006)          XOFFSET   NORMAL    NORMAL    NORMAL
              VARIABLE : X[GX=X2PT]
                         regrid: 1 delta on X at SUM
@@ -17426,21 +17378,17 @@ list a2[gx=xoffset at sum] ! should sum to 5+6=11
  6.1 / 6:  5.40000
  7.1 / 7:     ....
 list a2[gx=xoffset at var]
- -DELETE X        M:301 dset:   0 I:    1    2  J: -999 -999  K: -999 -999  L: -999 -999
  dealloc  dynamic grid (G006)          XOFFSET   NORMAL    NORMAL    NORMAL
- -DELETE A2       M:302 dset:   0 I:    1    7  J: -999 -999  K: -999 -999  L: -999 -999
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ -DELETE A2       M:185 dset:   0 I:      1      7  J: -999 -999  K: -999 -999  L:   -999   -999
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G006)          XOFFSET   NORMAL    NORMAL    NORMAL
  dealloc  dynamic grid (G006)          XOFFSET   NORMAL    NORMAL    NORMAL
  allocate dynamic grid (G006)          XOFFSET   NORMAL    NORMAL    NORMAL
- eval    EX#1     C:  4 dset:   2 I:    1    7  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  4 dset:   2 I:      1      7  J: -999 -999  K: -999 -999  L:   -999   -999
  allocate dynamic grid (G006)          XOFFSET   NORMAL    NORMAL    NORMAL
  strip regrid on X: A2 --> (G006)           @VAR
- eval    A2       C:  7 dset:   0 I:    1    2  J: -999 -999  K: -999 -999  L: -999 -999
- allocate dynamic grid (G011)          X2PT      NORMAL    NORMAL    NORMAL
- pseudo  X        M:302 dset:   0 I:    1    2  J: -999 -999  K: -999 -999  L: -999 -999
- dealloc  dynamic grid (G011)          X2PT      NORMAL    NORMAL    NORMAL
- regrid  A2       M:303 dset:   0 I:    1    7  J: -999 -999  K: -999 -999  L: -999 -999
+ found   A2       M:182 dset:   0 I:      1      2  J: -999 -999  K: -999 -999  L:   -999   -999
+ regrid  A2       M:185 dset:   0 I:      1      7  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid (G006)          XOFFSET   NORMAL    NORMAL    NORMAL
              VARIABLE : Variance of X[GX=X2PT]
                         regrid: 1 delta on X at VAR
@@ -17460,21 +17408,16 @@ define axis/y=5:6:1 y2pt
  
 let a1 = x[gx=x1pt]+y[gy=y1pt]
  dealloc  dynamic grid (G006)          XOFFSET   NORMAL    NORMAL    NORMAL
- -DELETE A2       M:303 dset:   0 I:    1    7  J: -999 -999  K: -999 -999  L: -999 -999
- -DELETE A2       M:299 dset:   0 I:    1    2  J: -999 -999  K: -999 -999  L: -999 -999
- -DELETE A2       M:300 dset:   0 I:    1    2  J: -999 -999  K: -999 -999  L: -999 -999
- -DELETE A2       M:301 dset:   0 I:    1    2  J: -999 -999  K: -999 -999  L: -999 -999
+ -DELETE A2       M:185 dset:   0 I:      1      7  J: -999 -999  K: -999 -999  L:   -999   -999
+ -DELETE A2       M:182 dset:   0 I:      1      2  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid (G011)          X2PT      NORMAL    NORMAL    NORMAL
- -DELETE X        M:302 dset:   0 I:    1    2  J: -999 -999  K: -999 -999  L: -999 -999
- -DELETE A1       M:296 dset:   0 I:    1    1  J: -999 -999  K: -999 -999  L: -999 -999
- -DELETE A1       M:297 dset:   0 I:    1    1  J: -999 -999  K: -999 -999  L: -999 -999
- -DELETE A1       M:298 dset:   0 I:    1    1  J: -999 -999  K: -999 -999  L: -999 -999
+ -DELETE A1       M:183 dset:   0 I:      1      1  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid (G009)          X1PT      NORMAL    NORMAL    NORMAL
 let a2 = x[gx=x2pt]+y[gy=y2pt]
  
 list a1[gx=xoffset at ave, gy=yoffset at ave]
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid A1       C:  7 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid A1       C:  7 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G009)          NORMAL    Y1PT      NORMAL    NORMAL
  dealloc  dynamic grid (G009)          NORMAL    Y1PT      NORMAL    NORMAL
  allocate dynamic grid (G009)          X1PT      NORMAL    NORMAL    NORMAL
@@ -17483,22 +17426,22 @@ list a1[gx=xoffset at ave, gy=yoffset at ave]
  allocate dynamic grid (G011)          XOFFSET   YOFFSET   NORMAL    NORMAL
  dealloc  dynamic grid (G011)          XOFFSET   YOFFSET   NORMAL    NORMAL
  allocate dynamic grid (G011)          XOFFSET   YOFFSET   NORMAL    NORMAL
- eval    EX#1     C:  4 dset:   2 I:    1    7  J:    1    7  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  4 dset:   2 I:      1      7  J:    1    7  K: -999 -999  L:   -999   -999
  allocate dynamic grid (G011)          XOFFSET   YOFFSET   NORMAL    NORMAL
  strip regrid on X: A1 --> (G011)           @AVE
  strip regrid on Y: A1 --> XNTERMED         @AVE
- eval    A1       C:  8 dset:   0 I:    1    1  J:    1    1  K: -999 -999  L: -999 -999
+ eval    A1       C:  8 dset:   0 I:      1      1  J:    1    1  K: -999 -999  L:   -999   -999
  allocate dynamic grid (G006)          X1PT      NORMAL    NORMAL    NORMAL
- pseudo  X        M:298 dset:   0 I:    1    1  J: -999 -999  K: -999 -999  L: -999 -999
+ pseudo  X        M:183 dset:   0 I:      1      1  J: -999 -999  K: -999 -999  L:   -999   -999
  allocate dynamic grid (G010)          NORMAL    Y1PT      NORMAL    NORMAL
- pseudo  Y        M:297 dset:   0 I: -999 -999  J:    1    1  K: -999 -999  L: -999 -999
- -DELETE Y        M:297 dset:   0 I: -999 -999  J:    1    1  K: -999 -999  L: -999 -999
+ pseudo  Y        M:182 dset:   0 I:   -999   -999  J:    1    1  K: -999 -999  L:   -999   -999
+ -DELETE Y        M:182 dset:   0 I:   -999   -999  J:    1    1  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid (G010)          NORMAL    Y1PT      NORMAL    NORMAL
- -DELETE X        M:298 dset:   0 I:    1    1  J: -999 -999  K: -999 -999  L: -999 -999
+ -DELETE X        M:183 dset:   0 I:      1      1  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid (G006)          X1PT      NORMAL    NORMAL    NORMAL
- regrid  A1       M:298 dset:   0 I:    1    1  J:    1    7  K: -999 -999  L: -999 -999
- regrid  A1       M:297 dset:   0 I:    1    7  J:    1    7  K: -999 -999  L: -999 -999
- -DELETE A1       M:298 dset:   0 I:    1    1  J:    1    7  K: -999 -999  L: -999 -999  M: -999 -999  N: -999 -999
+ regrid  A1       M:183 dset:   0 I:      1      1  J:    1    7  K: -999 -999  L:   -999   -999
+ regrid  A1       M:182 dset:   0 I:      1      7  J:    1    7  K: -999 -999  L:   -999   -999
+ -DELETE A1       M:183 dset:   0 I:      1      1  J:    1    7  K: -999 -999  L:   -999   -999  M: -999 -999  N: -999 -999
  dealloc  dynamic grid (G011)          XOFFSET   YOFFSET   NORMAL    NORMAL
              VARIABLE : X[GX=X1PT]+Y[GY=Y1PT]
                         regrid: 1 delta on X at AVE, 1 delta on Y at AVE
@@ -17514,27 +17457,19 @@ list a1[gx=xoffset at ave, gy=yoffset at ave]
  7.1 / 7:     ....     ....     ....     ....     ....     ....     ....
 list a1[gx=xoffset at sum, gy=yoffset at sum] ! should sum to 10
  dealloc  dynamic grid (G011)          XOFFSET   YOFFSET   NORMAL    NORMAL
- -DELETE A1       M:297 dset:   0 I:    1    7  J:    1    7  K: -999 -999  L: -999 -999
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ -DELETE A1       M:182 dset:   0 I:      1      7  J:    1    7  K: -999 -999  L:   -999   -999
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G011)          XOFFSET   YOFFSET   NORMAL    NORMAL
  dealloc  dynamic grid (G011)          XOFFSET   YOFFSET   NORMAL    NORMAL
  allocate dynamic grid (G011)          XOFFSET   YOFFSET   NORMAL    NORMAL
- eval    EX#1     C:  4 dset:   2 I:    1    7  J:    1    7  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  4 dset:   2 I:      1      7  J:    1    7  K: -999 -999  L:   -999   -999
  allocate dynamic grid (G011)          XOFFSET   YOFFSET   NORMAL    NORMAL
  strip regrid on X: A1 --> (G011)           @SUM
  strip regrid on Y: A1 --> XNTERMED         @SUM
- eval    A1       C:  8 dset:   0 I:    1    1  J:    1    1  K: -999 -999  L: -999 -999
- allocate dynamic grid (G006)          X1PT      NORMAL    NORMAL    NORMAL
- pseudo  X        M:297 dset:   0 I:    1    1  J: -999 -999  K: -999 -999  L: -999 -999
- allocate dynamic grid (G010)          NORMAL    Y1PT      NORMAL    NORMAL
- pseudo  Y        M:298 dset:   0 I: -999 -999  J:    1    1  K: -999 -999  L: -999 -999
- -DELETE Y        M:298 dset:   0 I: -999 -999  J:    1    1  K: -999 -999  L: -999 -999
- dealloc  dynamic grid (G010)          NORMAL    Y1PT      NORMAL    NORMAL
- -DELETE X        M:297 dset:   0 I:    1    1  J: -999 -999  K: -999 -999  L: -999 -999
- dealloc  dynamic grid (G006)          X1PT      NORMAL    NORMAL    NORMAL
- regrid  A1       M:297 dset:   0 I:    1    1  J:    1    7  K: -999 -999  L: -999 -999
- regrid  A1       M:298 dset:   0 I:    1    7  J:    1    7  K: -999 -999  L: -999 -999
- -DELETE A1       M:297 dset:   0 I:    1    1  J:    1    7  K: -999 -999  L: -999 -999  M: -999 -999  N: -999 -999
+ found   A1       M:185 dset:   0 I:      1      1  J:    1    1  K: -999 -999  L:   -999   -999
+ regrid  A1       M:182 dset:   0 I:      1      1  J:    1    7  K: -999 -999  L:   -999   -999
+ regrid  A1       M:183 dset:   0 I:      1      7  J:    1    7  K: -999 -999  L:   -999   -999
+ -DELETE A1       M:182 dset:   0 I:      1      1  J:    1    7  K: -999 -999  L:   -999   -999  M: -999 -999  N: -999 -999
  dealloc  dynamic grid (G011)          XOFFSET   YOFFSET   NORMAL    NORMAL
              VARIABLE : X[GX=X1PT]+Y[GY=Y1PT]
                         regrid: 1 delta on X at SUM, 1 delta on Y at SUM
@@ -17550,27 +17485,19 @@ list a1[gx=xoffset at sum, gy=yoffset at sum] ! should sum to 10
  7.1 / 7:     ....     ....     ....     ....     ....     ....     ....
 list a1[gx=xoffset at var, gy=yoffset at var] ! should be all missing
  dealloc  dynamic grid (G011)          XOFFSET   YOFFSET   NORMAL    NORMAL
- -DELETE A1       M:298 dset:   0 I:    1    7  J:    1    7  K: -999 -999  L: -999 -999
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ -DELETE A1       M:183 dset:   0 I:      1      7  J:    1    7  K: -999 -999  L:   -999   -999
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G011)          XOFFSET   YOFFSET   NORMAL    NORMAL
  dealloc  dynamic grid (G011)          XOFFSET   YOFFSET   NORMAL    NORMAL
  allocate dynamic grid (G011)          XOFFSET   YOFFSET   NORMAL    NORMAL
- eval    EX#1     C:  4 dset:   2 I:    1    7  J:    1    7  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  4 dset:   2 I:      1      7  J:    1    7  K: -999 -999  L:   -999   -999
  allocate dynamic grid (G011)          XOFFSET   YOFFSET   NORMAL    NORMAL
  strip regrid on X: A1 --> (G011)           @VAR
  strip regrid on Y: A1 --> XNTERMED         @VAR
- eval    A1       C:  8 dset:   0 I:    1    1  J:    1    1  K: -999 -999  L: -999 -999
- allocate dynamic grid (G006)          X1PT      NORMAL    NORMAL    NORMAL
- pseudo  X        M:298 dset:   0 I:    1    1  J: -999 -999  K: -999 -999  L: -999 -999
- allocate dynamic grid (G010)          NORMAL    Y1PT      NORMAL    NORMAL
- pseudo  Y        M:297 dset:   0 I: -999 -999  J:    1    1  K: -999 -999  L: -999 -999
- -DELETE Y        M:297 dset:   0 I: -999 -999  J:    1    1  K: -999 -999  L: -999 -999
- dealloc  dynamic grid (G010)          NORMAL    Y1PT      NORMAL    NORMAL
- -DELETE X        M:298 dset:   0 I:    1    1  J: -999 -999  K: -999 -999  L: -999 -999
- dealloc  dynamic grid (G006)          X1PT      NORMAL    NORMAL    NORMAL
- regrid  A1       M:298 dset:   0 I:    1    1  J:    1    7  K: -999 -999  L: -999 -999
- regrid  A1       M:297 dset:   0 I:    1    7  J:    1    7  K: -999 -999  L: -999 -999
- -DELETE A1       M:298 dset:   0 I:    1    1  J:    1    7  K: -999 -999  L: -999 -999  M: -999 -999  N: -999 -999
+ found   A1       M:185 dset:   0 I:      1      1  J:    1    1  K: -999 -999  L:   -999   -999
+ regrid  A1       M:183 dset:   0 I:      1      1  J:    1    7  K: -999 -999  L:   -999   -999
+ regrid  A1       M:182 dset:   0 I:      1      7  J:    1    7  K: -999 -999  L:   -999   -999
+ -DELETE A1       M:183 dset:   0 I:      1      1  J:    1    7  K: -999 -999  L:   -999   -999  M: -999 -999  N: -999 -999
  dealloc  dynamic grid (G011)          XOFFSET   YOFFSET   NORMAL    NORMAL
              VARIABLE : Variance of X[GX=X1PT]+Y[GY=Y1PT]
                         regrid: 1 delta on X at VAR, 1 delta on Y at VAR
@@ -17587,9 +17514,9 @@ list a1[gx=xoffset at var, gy=yoffset at var] ! should be all missing
  
 list a2[gx=xoffset at ave, gy=yoffset at ave]
  dealloc  dynamic grid (G011)          XOFFSET   YOFFSET   NORMAL    NORMAL
- -DELETE A1       M:297 dset:   0 I:    1    7  J:    1    7  K: -999 -999  L: -999 -999
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid A2       C:  7 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ -DELETE A1       M:182 dset:   0 I:      1      7  J:    1    7  K: -999 -999  L:   -999   -999
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid A2       C:  7 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G011)          NORMAL    Y2PT      NORMAL    NORMAL
  dealloc  dynamic grid (G011)          NORMAL    Y2PT      NORMAL    NORMAL
  allocate dynamic grid (G011)          X2PT      NORMAL    NORMAL    NORMAL
@@ -17598,22 +17525,22 @@ list a2[gx=xoffset at ave, gy=yoffset at ave]
  allocate dynamic grid (G006)          XOFFSET   YOFFSET   NORMAL    NORMAL
  dealloc  dynamic grid (G006)          XOFFSET   YOFFSET   NORMAL    NORMAL
  allocate dynamic grid (G006)          XOFFSET   YOFFSET   NORMAL    NORMAL
- eval    EX#1     C:  4 dset:   2 I:    1    7  J:    1    7  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  4 dset:   2 I:      1      7  J:    1    7  K: -999 -999  L:   -999   -999
  allocate dynamic grid (G006)          XOFFSET   YOFFSET   NORMAL    NORMAL
  strip regrid on X: A2 --> (G006)           @AVE
  strip regrid on Y: A2 --> XNTERMED         @AVE
- eval    A2       C:  8 dset:   0 I:    1    2  J:    1    2  K: -999 -999  L: -999 -999
+ eval    A2       C:  8 dset:   0 I:      1      2  J:    1    2  K: -999 -999  L:   -999   -999
  allocate dynamic grid (G010)          X2PT      NORMAL    NORMAL    NORMAL
- pseudo  X        M:297 dset:   0 I:    1    2  J: -999 -999  K: -999 -999  L: -999 -999
+ pseudo  X        M:182 dset:   0 I:      1      2  J: -999 -999  K: -999 -999  L:   -999   -999
  allocate dynamic grid (G002)          NORMAL    Y2PT      NORMAL    NORMAL
- pseudo  Y        M:298 dset:   0 I: -999 -999  J:    1    2  K: -999 -999  L: -999 -999
- -DELETE Y        M:298 dset:   0 I: -999 -999  J:    1    2  K: -999 -999  L: -999 -999
+ pseudo  Y        M:183 dset:   0 I:   -999   -999  J:    1    2  K: -999 -999  L:   -999   -999
+ -DELETE Y        M:183 dset:   0 I:   -999   -999  J:    1    2  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid (G002)          NORMAL    Y2PT      NORMAL    NORMAL
- -DELETE X        M:297 dset:   0 I:    1    2  J: -999 -999  K: -999 -999  L: -999 -999
+ -DELETE X        M:182 dset:   0 I:      1      2  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid (G010)          X2PT      NORMAL    NORMAL    NORMAL
- regrid  A2       M:297 dset:   0 I:    1    2  J:    1    7  K: -999 -999  L: -999 -999
- regrid  A2       M:298 dset:   0 I:    1    7  J:    1    7  K: -999 -999  L: -999 -999
- -DELETE A2       M:297 dset:   0 I:    1    2  J:    1    7  K: -999 -999  L: -999 -999  M: -999 -999  N: -999 -999
+ regrid  A2       M:182 dset:   0 I:      1      2  J:    1    7  K: -999 -999  L:   -999   -999
+ regrid  A2       M:183 dset:   0 I:      1      7  J:    1    7  K: -999 -999  L:   -999   -999
+ -DELETE A2       M:182 dset:   0 I:      1      2  J:    1    7  K: -999 -999  L:   -999   -999  M: -999 -999  N: -999 -999
  dealloc  dynamic grid (G006)          XOFFSET   YOFFSET   NORMAL    NORMAL
              VARIABLE : X[GX=X2PT]+Y[GY=Y2PT]
                         regrid: 1 delta on X at AVE, 1 delta on Y at AVE
@@ -17629,27 +17556,19 @@ list a2[gx=xoffset at ave, gy=yoffset at ave]
  7.1 / 7:     ....     ....     ....     ....     ....     ....     ....
 list a2[gx=xoffset at sum, gy=yoffset at sum] ! should sum to 10+11+11+12=44
  dealloc  dynamic grid (G006)          XOFFSET   YOFFSET   NORMAL    NORMAL
- -DELETE A2       M:298 dset:   0 I:    1    7  J:    1    7  K: -999 -999  L: -999 -999
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ -DELETE A2       M:183 dset:   0 I:      1      7  J:    1    7  K: -999 -999  L:   -999   -999
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G006)          XOFFSET   YOFFSET   NORMAL    NORMAL
  dealloc  dynamic grid (G006)          XOFFSET   YOFFSET   NORMAL    NORMAL
  allocate dynamic grid (G006)          XOFFSET   YOFFSET   NORMAL    NORMAL
- eval    EX#1     C:  4 dset:   2 I:    1    7  J:    1    7  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  4 dset:   2 I:      1      7  J:    1    7  K: -999 -999  L:   -999   -999
  allocate dynamic grid (G006)          XOFFSET   YOFFSET   NORMAL    NORMAL
  strip regrid on X: A2 --> (G006)           @SUM
  strip regrid on Y: A2 --> XNTERMED         @SUM
- eval    A2       C:  8 dset:   0 I:    1    2  J:    1    2  K: -999 -999  L: -999 -999
- allocate dynamic grid (G010)          X2PT      NORMAL    NORMAL    NORMAL
- pseudo  X        M:298 dset:   0 I:    1    2  J: -999 -999  K: -999 -999  L: -999 -999
- allocate dynamic grid (G002)          NORMAL    Y2PT      NORMAL    NORMAL
- pseudo  Y        M:297 dset:   0 I: -999 -999  J:    1    2  K: -999 -999  L: -999 -999
- -DELETE Y        M:297 dset:   0 I: -999 -999  J:    1    2  K: -999 -999  L: -999 -999
- dealloc  dynamic grid (G002)          NORMAL    Y2PT      NORMAL    NORMAL
- -DELETE X        M:298 dset:   0 I:    1    2  J: -999 -999  K: -999 -999  L: -999 -999
- dealloc  dynamic grid (G010)          X2PT      NORMAL    NORMAL    NORMAL
- regrid  A2       M:298 dset:   0 I:    1    2  J:    1    7  K: -999 -999  L: -999 -999
- regrid  A2       M:297 dset:   0 I:    1    7  J:    1    7  K: -999 -999  L: -999 -999
- -DELETE A2       M:298 dset:   0 I:    1    2  J:    1    7  K: -999 -999  L: -999 -999  M: -999 -999  N: -999 -999
+ found   A2       M:184 dset:   0 I:      1      2  J:    1    2  K: -999 -999  L:   -999   -999
+ regrid  A2       M:183 dset:   0 I:      1      2  J:    1    7  K: -999 -999  L:   -999   -999
+ regrid  A2       M:182 dset:   0 I:      1      7  J:    1    7  K: -999 -999  L:   -999   -999
+ -DELETE A2       M:183 dset:   0 I:      1      2  J:    1    7  K: -999 -999  L:   -999   -999  M: -999 -999  N: -999 -999
  dealloc  dynamic grid (G006)          XOFFSET   YOFFSET   NORMAL    NORMAL
              VARIABLE : X[GX=X2PT]+Y[GY=Y2PT]
                         regrid: 1 delta on X at SUM, 1 delta on Y at SUM
@@ -17666,27 +17585,19 @@ list a2[gx=xoffset at sum, gy=yoffset at sum] ! should sum to 10+11+11+12=44
  ! NOTE: as of V5.1 NO xy_var trans exists.  Need it to be complete ...!
 list a2[gx=xoffset at var, gy=yoffset at var]
  dealloc  dynamic grid (G006)          XOFFSET   YOFFSET   NORMAL    NORMAL
- -DELETE A2       M:297 dset:   0 I:    1    7  J:    1    7  K: -999 -999  L: -999 -999
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ -DELETE A2       M:182 dset:   0 I:      1      7  J:    1    7  K: -999 -999  L:   -999   -999
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G006)          XOFFSET   YOFFSET   NORMAL    NORMAL
  dealloc  dynamic grid (G006)          XOFFSET   YOFFSET   NORMAL    NORMAL
  allocate dynamic grid (G006)          XOFFSET   YOFFSET   NORMAL    NORMAL
- eval    EX#1     C:  4 dset:   2 I:    1    7  J:    1    7  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  4 dset:   2 I:      1      7  J:    1    7  K: -999 -999  L:   -999   -999
  allocate dynamic grid (G006)          XOFFSET   YOFFSET   NORMAL    NORMAL
  strip regrid on X: A2 --> (G006)           @VAR
  strip regrid on Y: A2 --> XNTERMED         @VAR
- eval    A2       C:  8 dset:   0 I:    1    2  J:    1    2  K: -999 -999  L: -999 -999
- allocate dynamic grid (G010)          X2PT      NORMAL    NORMAL    NORMAL
- pseudo  X        M:297 dset:   0 I:    1    2  J: -999 -999  K: -999 -999  L: -999 -999
- allocate dynamic grid (G002)          NORMAL    Y2PT      NORMAL    NORMAL
- pseudo  Y        M:298 dset:   0 I: -999 -999  J:    1    2  K: -999 -999  L: -999 -999
- -DELETE Y        M:298 dset:   0 I: -999 -999  J:    1    2  K: -999 -999  L: -999 -999
- dealloc  dynamic grid (G002)          NORMAL    Y2PT      NORMAL    NORMAL
- -DELETE X        M:297 dset:   0 I:    1    2  J: -999 -999  K: -999 -999  L: -999 -999
- dealloc  dynamic grid (G010)          X2PT      NORMAL    NORMAL    NORMAL
- regrid  A2       M:297 dset:   0 I:    1    2  J:    1    7  K: -999 -999  L: -999 -999
- regrid  A2       M:298 dset:   0 I:    1    7  J:    1    7  K: -999 -999  L: -999 -999
- -DELETE A2       M:297 dset:   0 I:    1    2  J:    1    7  K: -999 -999  L: -999 -999  M: -999 -999  N: -999 -999
+ found   A2       M:184 dset:   0 I:      1      2  J:    1    2  K: -999 -999  L:   -999   -999
+ regrid  A2       M:182 dset:   0 I:      1      2  J:    1    7  K: -999 -999  L:   -999   -999
+ regrid  A2       M:183 dset:   0 I:      1      7  J:    1    7  K: -999 -999  L:   -999   -999
+ -DELETE A2       M:182 dset:   0 I:      1      2  J:    1    7  K: -999 -999  L:   -999   -999  M: -999 -999  N: -999 -999
  dealloc  dynamic grid (G006)          XOFFSET   YOFFSET   NORMAL    NORMAL
              VARIABLE : Variance of X[GX=X2PT]+Y[GY=Y2PT]
                         regrid: 1 delta on X at VAR, 1 delta on Y at VAR
@@ -17709,35 +17620,31 @@ define axis/x=5:6.5:.5 x4pt
  
 let a1 = x[gx=x1pt]
  dealloc  dynamic grid (G006)          XOFFSET   YOFFSET   NORMAL    NORMAL
- -DELETE A2       M:298 dset:   0 I:    1    7  J:    1    7  K: -999 -999  L: -999 -999
- -DELETE A2       M:299 dset:   0 I:    1    2  J:    1    2  K: -999 -999  L: -999 -999
- -DELETE A2       M:300 dset:   0 I:    1    2  J:    1    2  K: -999 -999  L: -999 -999
- -DELETE A2       M:303 dset:   0 I:    1    2  J:    1    2  K: -999 -999  L: -999 -999
+ -DELETE A2       M:183 dset:   0 I:      1      7  J:    1    7  K: -999 -999  L:   -999   -999
+ -DELETE A2       M:184 dset:   0 I:      1      2  J:    1    2  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid (G011)          X2PT      Y2PT      NORMAL    NORMAL
- -DELETE A1       M:296 dset:   0 I:    1    1  J:    1    1  K: -999 -999  L: -999 -999
- -DELETE A1       M:301 dset:   0 I:    1    1  J:    1    1  K: -999 -999  L: -999 -999
- -DELETE A1       M:302 dset:   0 I:    1    1  J:    1    1  K: -999 -999  L: -999 -999
+ -DELETE A1       M:185 dset:   0 I:      1      1  J:    1    1  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid (G009)          X1PT      Y1PT      NORMAL    NORMAL
 let a2 = x[gx=x2pt]
 let a4 = x[gx=x4pt]
  
 list a1[gx=xoffset at max]
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid A1       C:  7 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid A1       C:  7 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G009)          X1PT      NORMAL    NORMAL    NORMAL
  dealloc  dynamic grid (G009)          X1PT      NORMAL    NORMAL    NORMAL
  allocate dynamic grid (G009)          X1PT      NORMAL    NORMAL    NORMAL
  allocate dynamic grid (G011)          XOFFSET   NORMAL    NORMAL    NORMAL
  dealloc  dynamic grid (G011)          XOFFSET   NORMAL    NORMAL    NORMAL
  allocate dynamic grid (G011)          XOFFSET   NORMAL    NORMAL    NORMAL
- eval    EX#1     C:  4 dset:   2 I:    1    7  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  4 dset:   2 I:      1      7  J: -999 -999  K: -999 -999  L:   -999   -999
  allocate dynamic grid (G011)          XOFFSET   NORMAL    NORMAL    NORMAL
  strip regrid on X: A1 --> (G011)           @MAX
- eval    A1       C:  7 dset:   0 I:    1    1  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    A1       C:  7 dset:   0 I:      1      1  J: -999 -999  K: -999 -999  L:   -999   -999
  allocate dynamic grid (G009)          X1PT      NORMAL    NORMAL    NORMAL
- pseudo  X        M:302 dset:   0 I:    1    1  J: -999 -999  K: -999 -999  L: -999 -999
+ pseudo  X        M:185 dset:   0 I:      1      1  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid (G009)          X1PT      NORMAL    NORMAL    NORMAL
- regrid  A1       M:296 dset:   0 I:    1    7  J: -999 -999  K: -999 -999  L: -999 -999
+ regrid  A1       M:183 dset:   0 I:      1      7  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid (G011)          XOFFSET   NORMAL    NORMAL    NORMAL
              VARIABLE : X[GX=X1PT]
                         regrid: 1 delta on X at MAX
@@ -17750,25 +17657,25 @@ list a1[gx=xoffset at max]
  6.1 / 6:     ....
  7.1 / 7:     ....
 list a2[gx=xoffset at max]
- -DELETE X        M:302 dset:   0 I:    1    1  J: -999 -999  K: -999 -999  L: -999 -999
+ -DELETE X        M:185 dset:   0 I:      1      1  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid (G011)          XOFFSET   NORMAL    NORMAL    NORMAL
- -DELETE A1       M:296 dset:   0 I:    1    7  J: -999 -999  K: -999 -999  L: -999 -999
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid A2       C:  7 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ -DELETE A1       M:183 dset:   0 I:      1      7  J: -999 -999  K: -999 -999  L:   -999   -999
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid A2       C:  7 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G011)          X2PT      NORMAL    NORMAL    NORMAL
  dealloc  dynamic grid (G011)          X2PT      NORMAL    NORMAL    NORMAL
  allocate dynamic grid (G011)          X2PT      NORMAL    NORMAL    NORMAL
  allocate dynamic grid (G006)          XOFFSET   NORMAL    NORMAL    NORMAL
  dealloc  dynamic grid (G006)          XOFFSET   NORMAL    NORMAL    NORMAL
  allocate dynamic grid (G006)          XOFFSET   NORMAL    NORMAL    NORMAL
- eval    EX#1     C:  4 dset:   2 I:    1    7  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  4 dset:   2 I:      1      7  J: -999 -999  K: -999 -999  L:   -999   -999
  allocate dynamic grid (G006)          XOFFSET   NORMAL    NORMAL    NORMAL
  strip regrid on X: A2 --> (G006)           @MAX
- eval    A2       C:  7 dset:   0 I:    1    2  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    A2       C:  7 dset:   0 I:      1      2  J: -999 -999  K: -999 -999  L:   -999   -999
  allocate dynamic grid (G011)          X2PT      NORMAL    NORMAL    NORMAL
- pseudo  X        M:296 dset:   0 I:    1    2  J: -999 -999  K: -999 -999  L: -999 -999
+ pseudo  X        M:183 dset:   0 I:      1      2  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid (G011)          X2PT      NORMAL    NORMAL    NORMAL
- regrid  A2       M:303 dset:   0 I:    1    7  J: -999 -999  K: -999 -999  L: -999 -999
+ regrid  A2       M:182 dset:   0 I:      1      7  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid (G006)          XOFFSET   NORMAL    NORMAL    NORMAL
              VARIABLE : X[GX=X2PT]
                         regrid: 1 delta on X at MAX
@@ -17781,25 +17688,25 @@ list a2[gx=xoffset at max]
  6.1 / 6:  6.00000
  7.1 / 7:     ....
 list a4[gx=xoffset at max]
- -DELETE X        M:296 dset:   0 I:    1    2  J: -999 -999  K: -999 -999  L: -999 -999
+ -DELETE X        M:183 dset:   0 I:      1      2  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid (G006)          XOFFSET   NORMAL    NORMAL    NORMAL
- -DELETE A2       M:303 dset:   0 I:    1    7  J: -999 -999  K: -999 -999  L: -999 -999
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid A4       C:  7 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ -DELETE A2       M:182 dset:   0 I:      1      7  J: -999 -999  K: -999 -999  L:   -999   -999
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid A4       C:  7 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G006)          X4PT      NORMAL    NORMAL    NORMAL
  dealloc  dynamic grid (G006)          X4PT      NORMAL    NORMAL    NORMAL
  allocate dynamic grid (G006)          X4PT      NORMAL    NORMAL    NORMAL
  allocate dynamic grid (G010)          XOFFSET   NORMAL    NORMAL    NORMAL
  dealloc  dynamic grid (G010)          XOFFSET   NORMAL    NORMAL    NORMAL
  allocate dynamic grid (G010)          XOFFSET   NORMAL    NORMAL    NORMAL
- eval    EX#1     C:  4 dset:   2 I:    1    7  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  4 dset:   2 I:      1      7  J: -999 -999  K: -999 -999  L:   -999   -999
  allocate dynamic grid (G010)          XOFFSET   NORMAL    NORMAL    NORMAL
  strip regrid on X: A4 --> (G010)           @MAX
- eval    A4       C:  7 dset:   0 I:    1    4  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    A4       C:  7 dset:   0 I:      1      4  J: -999 -999  K: -999 -999  L:   -999   -999
  allocate dynamic grid (G006)          X4PT      NORMAL    NORMAL    NORMAL
- pseudo  X        M:303 dset:   0 I:    1    4  J: -999 -999  K: -999 -999  L: -999 -999
+ pseudo  X        M:182 dset:   0 I:      1      4  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid (G006)          X4PT      NORMAL    NORMAL    NORMAL
- regrid  A4       M:300 dset:   0 I:    1    7  J: -999 -999  K: -999 -999  L: -999 -999
+ regrid  A4       M:186 dset:   0 I:      1      7  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid (G010)          XOFFSET   NORMAL    NORMAL    NORMAL
              VARIABLE : X[GX=X4PT]
                         regrid: 1 delta on X at MAX
@@ -17812,21 +17719,18 @@ list a4[gx=xoffset at max]
  6.1 / 6:  6.50000
  7.1 / 7:     ....
 list a4[gx=xoffset at min]
- -DELETE X        M:303 dset:   0 I:    1    4  J: -999 -999  K: -999 -999  L: -999 -999
+ -DELETE X        M:182 dset:   0 I:      1      4  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid (G010)          XOFFSET   NORMAL    NORMAL    NORMAL
- -DELETE A4       M:300 dset:   0 I:    1    7  J: -999 -999  K: -999 -999  L: -999 -999
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ -DELETE A4       M:186 dset:   0 I:      1      7  J: -999 -999  K: -999 -999  L:   -999   -999
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G010)          XOFFSET   NORMAL    NORMAL    NORMAL
  dealloc  dynamic grid (G010)          XOFFSET   NORMAL    NORMAL    NORMAL
  allocate dynamic grid (G010)          XOFFSET   NORMAL    NORMAL    NORMAL
- eval    EX#1     C:  4 dset:   2 I:    1    7  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  4 dset:   2 I:      1      7  J: -999 -999  K: -999 -999  L:   -999   -999
  allocate dynamic grid (G010)          XOFFSET   NORMAL    NORMAL    NORMAL
  strip regrid on X: A4 --> (G010)           @MIN
- eval    A4       C:  7 dset:   0 I:    1    4  J: -999 -999  K: -999 -999  L: -999 -999
- allocate dynamic grid (G006)          X4PT      NORMAL    NORMAL    NORMAL
- pseudo  X        M:300 dset:   0 I:    1    4  J: -999 -999  K: -999 -999  L: -999 -999
- dealloc  dynamic grid (G006)          X4PT      NORMAL    NORMAL    NORMAL
- regrid  A4       M:299 dset:   0 I:    1    7  J: -999 -999  K: -999 -999  L: -999 -999
+ found   A4       M:183 dset:   0 I:      1      4  J: -999 -999  K: -999 -999  L:   -999   -999
+ regrid  A4       M:186 dset:   0 I:      1      7  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid (G010)          XOFFSET   NORMAL    NORMAL    NORMAL
              VARIABLE : X[GX=X4PT]
                         regrid: 1 delta on X at MIN
@@ -17839,21 +17743,17 @@ list a4[gx=xoffset at min]
  6.1 / 6:  6.00000
  7.1 / 7:     ....
 list a4[gx=xoffset at sum] ! 5+5.5+6+6.5=23
- -DELETE X        M:300 dset:   0 I:    1    4  J: -999 -999  K: -999 -999  L: -999 -999
  dealloc  dynamic grid (G010)          XOFFSET   NORMAL    NORMAL    NORMAL
- -DELETE A4       M:299 dset:   0 I:    1    7  J: -999 -999  K: -999 -999  L: -999 -999
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ -DELETE A4       M:186 dset:   0 I:      1      7  J: -999 -999  K: -999 -999  L:   -999   -999
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G010)          XOFFSET   NORMAL    NORMAL    NORMAL
  dealloc  dynamic grid (G010)          XOFFSET   NORMAL    NORMAL    NORMAL
  allocate dynamic grid (G010)          XOFFSET   NORMAL    NORMAL    NORMAL
- eval    EX#1     C:  4 dset:   2 I:    1    7  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  4 dset:   2 I:      1      7  J: -999 -999  K: -999 -999  L:   -999   -999
  allocate dynamic grid (G010)          XOFFSET   NORMAL    NORMAL    NORMAL
  strip regrid on X: A4 --> (G010)           @SUM
- eval    A4       C:  7 dset:   0 I:    1    4  J: -999 -999  K: -999 -999  L: -999 -999
- allocate dynamic grid (G006)          X4PT      NORMAL    NORMAL    NORMAL
- pseudo  X        M:299 dset:   0 I:    1    4  J: -999 -999  K: -999 -999  L: -999 -999
- dealloc  dynamic grid (G006)          X4PT      NORMAL    NORMAL    NORMAL
- regrid  A4       M:298 dset:   0 I:    1    7  J: -999 -999  K: -999 -999  L: -999 -999
+ found   A4       M:183 dset:   0 I:      1      4  J: -999 -999  K: -999 -999  L:   -999   -999
+ regrid  A4       M:186 dset:   0 I:      1      7  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid (G010)          XOFFSET   NORMAL    NORMAL    NORMAL
              VARIABLE : X[GX=X4PT]
                         regrid: 1 delta on X at SUM
@@ -17871,25 +17771,24 @@ define axis/x=1:5:1 x5
 define axis/x=0.5:5.5:1 x5_edges
 let a5 = x[gx=x5_edges]
 list a5[gx=x5 at max]   ! note: top dest axis point, only, looks at point above
- -DELETE X        M:299 dset:   0 I:    1    4  J: -999 -999  K: -999 -999  L: -999 -999
  dealloc  dynamic grid (G010)          XOFFSET   NORMAL    NORMAL    NORMAL
- -DELETE A4       M:298 dset:   0 I:    1    7  J: -999 -999  K: -999 -999  L: -999 -999
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid A5       C:  7 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ -DELETE A4       M:186 dset:   0 I:      1      7  J: -999 -999  K: -999 -999  L:   -999   -999
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid A5       C:  7 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G010)          X5_EDGES  NORMAL    NORMAL    NORMAL
  dealloc  dynamic grid (G010)          X5_EDGES  NORMAL    NORMAL    NORMAL
  allocate dynamic grid (G010)          X5_EDGES  NORMAL    NORMAL    NORMAL
  allocate dynamic grid (G002)          X5        NORMAL    NORMAL    NORMAL
  dealloc  dynamic grid (G002)          X5        NORMAL    NORMAL    NORMAL
  allocate dynamic grid (G002)          X5        NORMAL    NORMAL    NORMAL
- eval    EX#1     C:  4 dset:   2 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  4 dset:   2 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
  allocate dynamic grid (G002)          X5        NORMAL    NORMAL    NORMAL
  strip regrid on X: A5 --> (G002)           @MAX
- eval    A5       C:  7 dset:   0 I:    1    6  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    A5       C:  7 dset:   0 I:      1      6  J: -999 -999  K: -999 -999  L:   -999   -999
  allocate dynamic grid (G010)          X5_EDGES  NORMAL    NORMAL    NORMAL
- pseudo  X        M:298 dset:   0 I:    1    6  J: -999 -999  K: -999 -999  L: -999 -999
+ pseudo  X        M:186 dset:   0 I:      1      6  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid (G010)          X5_EDGES  NORMAL    NORMAL    NORMAL
- regrid  A5       M:297 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ regrid  A5       M:187 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid (G002)          X5        NORMAL    NORMAL    NORMAL
              VARIABLE : X[GX=X5_EDGES]
                         regrid: 1 delta on X at MAX
@@ -17901,35 +17800,33 @@ list a5[gx=x5 at max]   ! note: top dest axis point, only, looks at point above
  5   / 5:  5.50000
 let a5 = x[gx=x5_edges, i=3]
  dealloc  dynamic grid (G002)          X5        NORMAL    NORMAL    NORMAL
- -DELETE A5       M:297 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
- -DELETE A5       M:299 dset:   0 I:    1    6  J: -999 -999  K: -999 -999  L: -999 -999
+ -DELETE A5       M:187 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
+ -DELETE A5       M:182 dset:   0 I:      1      6  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid (G010)          X5_EDGES  NORMAL    NORMAL    NORMAL
- -DELETE X        M:298 dset:   0 I:    1    6  J: -999 -999  K: -999 -999  L: -999 -999
- -DELETE A4       M:296 dset:   0 I:    1    4  J: -999 -999  K: -999 -999  L: -999 -999
- -DELETE A4       M:300 dset:   0 I:    1    4  J: -999 -999  K: -999 -999  L: -999 -999
- -DELETE A4       M:303 dset:   0 I:    1    4  J: -999 -999  K: -999 -999  L: -999 -999
+ -DELETE X        M:186 dset:   0 I:      1      6  J: -999 -999  K: -999 -999  L:   -999   -999
+ -DELETE A4       M:183 dset:   0 I:      1      4  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid (G006)          X4PT      NORMAL    NORMAL    NORMAL
- -DELETE A2       M:302 dset:   0 I:    1    2  J: -999 -999  K: -999 -999  L: -999 -999
+ -DELETE A2       M:185 dset:   0 I:      1      2  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid (G011)          X2PT      NORMAL    NORMAL    NORMAL
- -DELETE A1       M:301 dset:   0 I:    1    1  J: -999 -999  K: -999 -999  L: -999 -999
+ -DELETE A1       M:184 dset:   0 I:      1      1  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid (G009)          X1PT      NORMAL    NORMAL    NORMAL
 list a5[gx=x5 at max]
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid A5       C:  7 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid A5       C:  7 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G009)          X5_EDGES  NORMAL    NORMAL    NORMAL
  dealloc  dynamic grid (G009)          X5_EDGES  NORMAL    NORMAL    NORMAL
  allocate dynamic grid (G009)          X5_EDGES  NORMAL    NORMAL    NORMAL
  allocate dynamic grid (G011)          X5        NORMAL    NORMAL    NORMAL
  dealloc  dynamic grid (G011)          X5        NORMAL    NORMAL    NORMAL
  allocate dynamic grid (G011)          X5        NORMAL    NORMAL    NORMAL
- eval    EX#1     C:  4 dset:   2 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  4 dset:   2 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
  allocate dynamic grid (G011)          X5        NORMAL    NORMAL    NORMAL
  strip regrid on X: A5 --> (G011)           @MAX
- eval    A5       C:  7 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    A5       C:  7 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
  allocate dynamic grid (G009)          X5_EDGES  NORMAL    NORMAL    NORMAL
- pseudo  X        M:301 dset:   0 I:    3    3  J: -999 -999  K: -999 -999  L: -999 -999
+ pseudo  X        M:184 dset:   0 I:      3      3  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid (G009)          X5_EDGES  NORMAL    NORMAL    NORMAL
- regrid  A5       M:303 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ regrid  A5       M:183 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid (G011)          X5        NORMAL    NORMAL    NORMAL
              VARIABLE : X[GX=X5_EDGES, I=3]
                         regrid: 1 delta on X at MAX
@@ -17940,41 +17837,34 @@ list a5[gx=x5 at max]
  4   / 4:     ....
  5   / 5:     ....
 list a5[gx=x5 at max,i=3]
- -DELETE X        M:301 dset:   0 I:    3    3  J: -999 -999  K: -999 -999  L: -999 -999
+ -DELETE X        M:184 dset:   0 I:      3      3  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid (G011)          X5        NORMAL    NORMAL    NORMAL
- -DELETE A5       M:303 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ -DELETE A5       M:183 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G011)          X5        NORMAL    NORMAL    NORMAL
  dealloc  dynamic grid (G011)          X5        NORMAL    NORMAL    NORMAL
  allocate dynamic grid (G011)          X5        NORMAL    NORMAL    NORMAL
- eval    EX#1     C:  4 dset:   2 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  4 dset:   2 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
  allocate dynamic grid (G011)          X5        NORMAL    NORMAL    NORMAL
  strip regrid on X: A5 --> (G011)           @MAX
- eval    A5       C:  7 dset:   0 I:    3    4  J: -999 -999  K: -999 -999  L: -999 -999
- allocate dynamic grid (G009)          X5_EDGES  NORMAL    NORMAL    NORMAL
- pseudo  X        M:303 dset:   0 I:    3    3  J: -999 -999  K: -999 -999  L: -999 -999
- dealloc  dynamic grid (G009)          X5_EDGES  NORMAL    NORMAL    NORMAL
- regrid  A5       M:300 dset:   0 I:    3    3  J: -999 -999  K: -999 -999  L: -999 -999
+ found   A5       M:185 dset:   0 I:      3      3  J: -999 -999  K: -999 -999  L:   -999   -999
+ regrid  A5       M:183 dset:   0 I:      3      3  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid (G011)          X5        NORMAL    NORMAL    NORMAL
              VARIABLE : X[GX=X5_EDGES, I=3]
                         regrid: 1 delta on X at MAX
              X        : 3
           2.50000
 list a5[gx=x5 at max,i=4]
- -DELETE X        M:303 dset:   0 I:    3    3  J: -999 -999  K: -999 -999  L: -999 -999
  dealloc  dynamic grid (G011)          X5        NORMAL    NORMAL    NORMAL
- -DELETE A5       M:300 dset:   0 I:    3    3  J: -999 -999  K: -999 -999  L: -999 -999
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ -DELETE A5       M:183 dset:   0 I:      3      3  J: -999 -999  K: -999 -999  L:   -999   -999
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G011)          X5        NORMAL    NORMAL    NORMAL
  dealloc  dynamic grid (G011)          X5        NORMAL    NORMAL    NORMAL
  allocate dynamic grid (G011)          X5        NORMAL    NORMAL    NORMAL
- eval    EX#1     C:  4 dset:   2 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  4 dset:   2 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
  allocate dynamic grid (G011)          X5        NORMAL    NORMAL    NORMAL
  strip regrid on X: A5 --> (G011)           @MAX
- eval    A5       C:  7 dset:   0 I:    4    5  J: -999 -999  K: -999 -999  L: -999 -999
- allocate dynamic grid (G009)          X5_EDGES  NORMAL    NORMAL    NORMAL
- pseudo  X        M:300 dset:   0 I:    3    3  J: -999 -999  K: -999 -999  L: -999 -999
- dealloc  dynamic grid (G009)          X5_EDGES  NORMAL    NORMAL    NORMAL
+ found   A5       M:185 dset:   0 I:      3      3  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid (G011)          X5        NORMAL    NORMAL    NORMAL
              VARIABLE : X[GX=X5_EDGES, I=3]
                         regrid: 1 delta on X at MAX
@@ -17986,19 +17876,18 @@ define axis/t=1-jan-1990:5-jan-1990:1/units=days tday
 define axis/t=1-jan-1990:5-jan-1990:24/units=hours thour
 let atime = T[gt=tday]
 list atime
- -DELETE X        M:300 dset:   0 I:    3    3  J: -999 -999  K: -999 -999  L: -999 -999
  dealloc  dynamic grid (G011)          X5        NORMAL    NORMAL    NORMAL
- -DELETE A5       M:296 dset:   0 I:    4    4  J: -999 -999  K: -999 -999  L: -999 -999
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid ATIME    C:  7 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ -DELETE A5       M:183 dset:   0 I:      4      4  J: -999 -999  K: -999 -999  L:   -999   -999
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid ATIME    C:  7 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G011)          NORMAL    NORMAL    NORMAL    TDAY
  dealloc  dynamic grid (G011)          NORMAL    NORMAL    NORMAL    TDAY
  allocate dynamic grid (G011)          NORMAL    NORMAL    NORMAL    TDAY
  allocate dynamic grid (G011)          NORMAL    NORMAL    NORMAL    TDAY
- eval    EX#1     C:  4 dset:   2 I: -999 -999  J: -999 -999  K: -999 -999  L:    1    5
- eval    ATIME    C:  6 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L:    1    5
+ eval    EX#1     C:  4 dset:   2 I:   -999   -999  J: -999 -999  K: -999 -999  L:      1      5
+ eval    ATIME    C:  6 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:      1      5
  allocate dynamic grid (G011)          NORMAL    NORMAL    NORMAL    TDAY
- pseudo  T        M:296 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L:    1    5
+ pseudo  T        M:183 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:      1      5
  dealloc  dynamic grid (G011)          NORMAL    NORMAL    NORMAL    TDAY
              VARIABLE : T[GT=TDAY]
              SUBSET   : 5 points (TIME)
@@ -18017,20 +17906,17 @@ show grid
  normal    Z
  TDAY      TIME                 5 r   01-JAN-1990 00:00    05-JAN-1990 00:00   full
 list atime[gt=thour at max]
- -DELETE T        M:296 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L:    1    5
+ -DELETE T        M:183 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:      1      5
  dealloc  dynamic grid (G011)          NORMAL    NORMAL    NORMAL    TDAY
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G006)          NORMAL    NORMAL    NORMAL    THOUR
  dealloc  dynamic grid (G006)          NORMAL    NORMAL    NORMAL    THOUR
  allocate dynamic grid (G006)          NORMAL    NORMAL    NORMAL    THOUR
- eval    EX#1     C:  4 dset:   2 I: -999 -999  J: -999 -999  K: -999 -999  L:    1    5
+ eval    EX#1     C:  4 dset:   2 I:   -999   -999  J: -999 -999  K: -999 -999  L:      1      5
  allocate dynamic grid (G006)          NORMAL    NORMAL    NORMAL    THOUR
  strip regrid on T: ATIME --> (G006)           @MAX
- eval    ATIME    C:  7 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L:    1    5
- allocate dynamic grid (G011)          NORMAL    NORMAL    NORMAL    TDAY
- pseudo  T        M:296 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L:    1    5
- dealloc  dynamic grid (G011)          NORMAL    NORMAL    NORMAL    TDAY
- regrid  ATIME    M:299 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L:    1    5
+ found   ATIME    M:184 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:      1      5
+ regrid  ATIME    M:183 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:      1      5
  dealloc  dynamic grid (G006)          NORMAL    NORMAL    NORMAL    THOUR
              VARIABLE : T[GT=TDAY]
                         regrid: 24 hour on T at MAX
@@ -18057,9 +17943,11 @@ set mode/last diag
  
  
  
-GO bn_reset		! reordered reset before next test: 2/94
+GO bn_reset bn_axis_limits	! reordered reset before next test: 2/94
 cancel mode verify
-GO bn_axis_limits	! added 10/27/93
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_axis_limits
+GO bn_axis_limits	        ! added 10/27/93
 !bn301_axis_limits.jnl
 ! exercise the new-V301 /XLIMITS and /YLIMITS qualifiers
  
@@ -18211,7 +18099,7 @@ contour/x=160E:160W/t=28000:29000/lev=(-1,1,.25)/xlimits=140e:110w:-9/ylimits=1-
 set view v44
 contour/x=160E:160W/t=1-jan-1980:1-jan-1982/lev=(-1,1,.25)/xlimits=140e:110w:-9/ylimits=28000:29000:-400/trans sin(x/3)*sin(t/100)
  
-SET WINDOW/CLEAR/SIZE=0.2 ! added 2/94
+SET WINDOW/CLEAR/SIZE=0.2       ! added 2/94
  
 !GO bn_reset
 !GO bn301_mem_mgmt
@@ -18222,8 +18110,10 @@ MESSAGE/CONTINUE  ***** Its too slow!!!
 MESSAGE/CONTINUE  ***** Remember to run it separately
 ***** Remember to run it separately
  
-GO bn_reset
+GO bn_reset bn_movie
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_movie
 GO bn_movie
 ! bn301_movie.JNL
 ! - test on-HDF movie creation by Program FERRET
@@ -18235,8 +18125,10 @@ GO bn_movie
 exit/script
  
 ! added in bn311
-GO bn_reset
+GO bn_reset bn_ez_order
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_ez_order
 GO bn_ez_order	! was bn311 until 9/95
 ! bn420_ez_order
 ! updated from bn311_ez_order 9/95 - improved testing of /FORMAT=STREAM
@@ -19272,8 +19164,10 @@ sp rm -f test_perm48_10.dat
  
  
 ! added in bn312  6/3/94
-GO bn_reset
+GO bn_reset bn_user
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_user
 ! cancel mode metafile   ! needed temporarily 6/94: PLOT+/XGKS interaction bug
 GO bn_user
 ! bn312_user.jnl
@@ -19292,8 +19186,10 @@ exit/script
 set window 1		! clean up
  
 ! added in bn420  1/96
-GO bn_reset
+GO bn_reset bn_stream
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_stream
 GO bn_stream
 ! bn420_stream.jnl
  
@@ -19357,8 +19253,10 @@ cancel data stream_data_link.unf
  
  
 !added in bn430 9/96 *kob*
-GO bn_reset
+GO bn_reset bn_mc
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_mc
 GO bn_mc
 !bn430_mc.jnl
 ! kob - 9/5/96
@@ -19806,8 +19704,10 @@ CAN MODE VERIFY
  
  
 !added in bn450 10/97 *kob*
-GO bn_reset
+GO bn_reset bn_negative_t
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_negative_t
 GO bn_negative_t
 ! bn450_negative_t - 10/97
  
@@ -20832,8 +20732,10 @@ CANCEL MODE ignore_error
  
  
 !added in bn450 10/97 *kob*
-GO bn_reset
+GO bn_reset bn_xact_regrid
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_xact_regrid
 GO bn_xact_regrid
 ! BN450_xact_regrid.jnl
  
@@ -22233,8 +22135,10 @@ LIST Sfineoffset[G$1=$1Dcoarse at XACT]! non-aligning grid points fine to coarse
  
 !added in bn450 11/97 *kob*
 ! replace w/ bn500 *kob* 5/99
-GO bn_reset
+GO bn_reset bn_gc_functions
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_gc_functions
 GO bn_gc_functions
 ! bn500_gc_functions.jnl
  
@@ -22824,10 +22728,11 @@ shade/x=0/l=1/ylim=0:200:-20/lev ZAXREPLACE(flow[z=0:200],depth[z=0:200],z[z=0:2
  
 !added in bn491 - originally had this in run_all, but moved it here to
 ! properly echo commands  *kob*
-GO bn_reset
-cancel mode verify
 set mode verify  ! somehow this was off
- 
+GO bn_reset bn491_bug_fixes.jnl
+cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn491_bug_fixes.jnl
 GO bn491_bug_fixes.jnl
 ! bn491_bug_fixes.jnl
 ! test various fixes that went into version 4.91
@@ -22870,6 +22775,7 @@ message/continue ********File successfully written******
 ! command parser
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err490_command_parser
 ! err490_command_parser.jnl 12/1/98 - reported by billy kessler
  
@@ -22903,6 +22809,7 @@ message/continue ****Variable defined successfully******
 !repeat error
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err490_repeat_first_echo
 ! err490_repeat_first_echo (created later 23/98)
  
@@ -23118,6 +23025,7 @@ list tgap[t=-5:-8 at fav]  ! value at T=-6 should be -6
 ! l=@ave compression failure
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err490_l_ave.jnl
 ! err490_lave.jnl 12/1/97 - *sh* (reported by Weimin Wang)
 ! L=@AVE is failing to compress to a point
@@ -23201,6 +23109,7 @@ quit
 ! neg time axis grid failure
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err490_neg_time_show_grid.jnl
 ! err490_neg_time_show_grid
  
@@ -23343,6 +23252,7 @@ show grid/t=15-JAN-1982:15-JAN-1983 temp
 !explicit limit problem
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err491_explicit_limits.jnl
 ! err491_explicit_limits
 ! 2/98 *sh*
@@ -23393,6 +23303,7 @@ list timestamp[i=1:1]
 !regridding by association problem  *kob* 4/98
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err491_asn.jnl
 ! err491_asn.jnl 4/98 *sh* (extracted from bug reported by Jennifer Adams)
 ! Ferret crashes on regridding by association where destination
@@ -23472,6 +23383,7 @@ exit/script
 !double precision attribute problem *kob* 4/98
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err491_attrib_dp.jnl
 ! err491_attrib_dp.jnl
 ! kob  4/23/98
@@ -23628,8 +23540,10 @@ list elev
  
 ! ******** V500 Additions below ***********
  
-GO bn_reset
+GO bn_reset bn_odd_variable_name
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_odd_variable_name
 GO bn_odd_variable_name
 ! make sure memory is limited; otherwise the abstract axis will list
 let save_mem = ($ferret_memory)
@@ -23921,8 +23835,10 @@ list 'v2-and-minus'[i=5:15 at ddc] ! Now the proper syntax
 set mem /size=`save_mem`
  !-> set mem /size=25.6
  
-GO bn_reset
+GO bn_reset bn_test_stream
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_test_stream
 GO bn_test_stream
  
 canc data/all
@@ -23952,6 +23868,11 @@ def grid/x=xax/y=yax/z=zax/t=tax mygrid
  
 file/format=stream/var=num/grid=mygrid junk.dat
 load num
+    To fulfill this request would exceed the current SET MEMORY/SIZE= limit of 25.6 megawords
+    At the moment that the memory limit was reached
+    memory was committed as follows:
+        - to objects used in computation: : 0 (0%)
+    The size of the requested object was: : 24000000000 (93750%)
  
 !
 ! Semilarge grid
@@ -23967,6 +23888,11 @@ def grid/x=xax/y=yax/z=zax/t=tax mygrid
  
 file/format=stream/var=num/grid=mygrid junk.dat
 load num
+    To fulfill this request would exceed the current SET MEMORY/SIZE= limit of 25.6 megawords
+    At the moment that the memory limit was reached
+    memory was committed as follows:
+        - to objects used in computation: : 0 (0%)
+    The size of the requested object was: : 1000000000 (3906%)
  
 canc data/all
  
@@ -24585,8 +24511,10 @@ list num1
  2   / 2:  20.0000  21.0000
  3   / 3:  22.0000  23.0000
  
-GO bn_reset
+GO bn_reset bn_define_axes
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_define_axes
 GO bn_define_axes
 ! bn_define_axes.jnl
 ! *sh* 5/99
@@ -25063,10 +24991,13 @@ set mode/last ignore
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 ! GO bn_external_functions  ! move to tests of shared-obj efs.
  
-GO bn_reset
+GO bn_reset bn_pattern
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_pattern
 GO bn_pattern
 ! pattern_bench.jnl
 ! Quick demo of Ferret pattern feature *jd* 12.18.98
@@ -25112,8 +25043,10 @@ can win 2
 set win 1
 can mode meta
  
-GO bn_reset
+GO bn_reset bn_polygon
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_polygon
 GO bn_polygon
 ! Demo of new POLYGON command
 ! *jd * 3.99
@@ -25135,8 +25068,10 @@ polygon/trans/line=4/over/i=1:100/nolabel xpts+xsqr-.25, ypts+ysqr, x*x/10
  
 can mode meta
  
-GO bn_reset
+GO bn_reset bn500_bug_fixes
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn500_bug_fixes
 GO bn500_bug_fixes
 ! bn500_bug_fixes.jnl
 ! test various fixes that went into version 5.00
@@ -25144,6 +25079,7 @@ GO bn500_bug_fixes
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err491_RESHAPE_ctx.jnl
 ! err491_RESHAPE_ctx
  
@@ -25204,61 +25140,36 @@ let out_grid = x[g=gsrc] + y[g=gsrc] + z[gz=zmonth] + t[gt=tyear]
 let out = reshape(src,out_grid)
 list out
              VARIABLE : RESHAPE(SRC,OUT_GRID)
-             SUBSET   : 5 by 12 by 2 points (X-Z-T)
+             SUBSET   : 12 by 2 points (Z-T)
              Y        : 0.5 to 1.5
-                1        2        3        4        5     
-                1        2        3        4        5
- ---- L:1 T:   1951
- 1    /  1:  438289.  438290.  438291.  438292.  438293.
- 2    /  2:  439019.  439020.  439021.  439022.  439023.
- 3    /  3:  439750.  439751.  439752.  439753.  439754.
- 4    /  4:  440480.  440481.  440482.  440483.  440484.
- 5    /  5:  441211.  441212.  441213.  441214.  441215.
- 6    /  6:  441941.  441942.  441943.  441944.  441945.
- 7    /  7:  442672.  442673.  442674.  442675.  442676.
- 8    /  8:  443402.  443403.  443404.  443405.  443406.
- 9    /  9:  444132.  444133.  444134.  444135.  444136.
- 10   / 10:  444863.  444864.  444865.  444866.  444867.
- 11   / 11:  445593.  445594.  445595.  445596.  445597.
- 12   / 12:  446324.  446325.  446326.  446327.  446328.
- ---- L:2 T:   1952
- 1    /  1:  447054.  447055.  447056.  447057.  447058.
- 2    /  2:  447785.  447786.  447787.  447788.  447789.
- 3    /  3:  448515.  448516.  448517.  448518.  448519.
- 4    /  4:  449246.  449247.  449248.  449249.  449250.
- 5    /  5:  449976.  449977.  449978.  449979.  449980.
- 6    /  6:  450706.  450707.  450708.  450709.  450710.
- 7    /  7:  451437.  451438.  451439.  451440.  451441.
- 8    /  8:  452167.  452168.  452169.  452170.  452171.
- 9    /  9:  452898.  452899.  452900.  452901.  452902.
- 10   / 10:  453628.  453629.  453630.  453631.  453632.
- 11   / 11:  454359.  454360.  454361.  454362.  454363.
- 12   / 12:  455089.  455090.  455091.  455092.  455093.
+                 1        2        3        4        5        6        7        8        9       10       11       12     
+                 1        2        3        4        5        6        7        8        9       10       11       12
+ 1951   / 1:  438289.  438290.  438291.  438292.  438293.  439019.  439020.  439021.  439022.  439023.  439750.  439751.
+ 1952   / 2:  439752.  439753.  439754.  440480.  440481.  440482.  440483.  440484.  441211.  441212.  441213.  441214.
  
 ! NOW THE ERROR: L LIMITS PASSED INCORRECTLY(ERRONEOUSLY) TO SRC
 list/l=1 out
              VARIABLE : RESHAPE(SRC,OUT_GRID)
-             SUBSET   : 5 by 12 points (X-Z)
+             SUBSET   : 12 points (Z)
              Y        : 0.5 to 1.5
              T        : 1951
-                1        2        3        4        5     
-                1        2        3        4        5
- 1    /  1:  438289.  438290.  438291.  438292.  438293.
- 2    /  2:  439019.  439020.  439021.  439022.  439023.
- 3    /  3:  439750.  439751.  439752.  439753.  439754.
- 4    /  4:  440480.  440481.  440482.  440483.  440484.
- 5    /  5:  441211.  441212.  441213.  441214.  441215.
- 6    /  6:  441941.  441942.  441943.  441944.  441945.
- 7    /  7:  442672.  442673.  442674.  442675.  442676.
- 8    /  8:  443402.  443403.  443404.  443405.  443406.
- 9    /  9:  444132.  444133.  444134.  444135.  444136.
- 10   / 10:  444863.  444864.  444865.  444866.  444867.
- 11   / 11:  445593.  445594.  445595.  445596.  445597.
- 12   / 12:  446324.  446325.  446326.  446327.  446328.
+ 1    /  1:  438289.
+ 2    /  2:  438290.
+ 3    /  3:  438291.
+ 4    /  4:  438292.
+ 5    /  5:  438293.
+ 6    /  6:  439019.
+ 7    /  7:  439020.
+ 8    /  8:  439021.
+ 9    /  9:  439022.
+ 10   / 10:  439023.
+ 11   / 11:  439750.
+ 12   / 12:  439751.
  
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err491_delete_child_var.jnl
 ! err491_delete_child_var.jnl
 ! *sh* 4/99
@@ -25296,6 +25207,7 @@ list  ypolymark	! incorrect values: 10, 20, 30
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err491_dp_time_write.jnl
 ! err491_dp_time_write.jnl
 ! *sh* 10/98
@@ -25318,6 +25230,7 @@ sp ncdump out.cdf >> all_ncdump.out
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err491_gmax.jnl
 ! err491_gmax.jnl
 ! 9 Dec. 1998 *sh*
@@ -25334,6 +25247,7 @@ load ts[gt=t24 at max]
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err491_grid_from_name.jnl
 ! err491_grid_from_name.jnl
 ! *sh* 3/99
@@ -25358,6 +25272,7 @@ can mode ignore
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err491_let_d.jnl
 ! err491_let_d.jnl
 ! *sh* 10/98
@@ -25388,6 +25303,7 @@ stat/i=1:3/j=1:3 a
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err491_sh_var_templates.jnl
 ! SHOW VARIABLE templates are not robust
  
@@ -25402,6 +25318,7 @@ sho var mld*dec		! works
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err491_single_char_replace.jnl
 ! err491_single_char_replace.jnl
  
@@ -25420,6 +25337,7 @@ hh
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err491_spawn_quotes.jnl
 ! err491_spawn_quotes.jnl
  
@@ -25427,10 +25345,11 @@ GO err491_spawn_quotes.jnl
  
 ! this should be a valid command
 SPAWN "date"
-Fri Feb 10 10:09:04 PST 2017
+Thu May 11 10:26:42 PDT 2017
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err491_time_regridding.jnl
 ! err491_time_regridding.jnl
 ! from Jon 10/16/98
@@ -25466,6 +25385,7 @@ plot/over bad[t=@sbx:3]
 ! 3/01 *kob* uncomment the below - seems to run on all systems
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err491_unknown_function.jnl
 ! err491_unknown_function
 ! 3/99 *sh*
@@ -25483,6 +25403,7 @@ can mode ignore
 ! *kob* added 6/11/1999
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err500_IF_THEN_ELSE_quote.jnl
 ! err500_IF_THEN_ELSE_quote.jnl
  
@@ -25496,8 +25417,10 @@ I is too big
  
 ! ******** V510 Additions below ***********
  
-GO bn_reset
+GO bn_reset bn_sample
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_sample
 GO bn_sample			! internal (optimized) SAMPLE* functions
 ! bn_sample.jnl
 ! 10/99 *sh*
@@ -25554,16 +25477,12 @@ list SAMPLEI(sst[l=1:3,y=-2:2],{30,40,50})
  1N   / 46:  29.1373  28.9243  28.3264
  1S   / 45:  28.8965  28.8240  28.5357
 SHOW MEM/FREE
- Current size of FERRET memory cache: 25.6 MegaWords  (1 word = 8 bytes)
-            total memory table slots: 500
-            total memory blocks: 2000
-            memory block size: 12800
- 
-            number of free memory blocks: 1987
-            largest free region: 1984
-            number of free regions: 4
-            free memory table slots: 487
-            number of UN-CACHED variables: 0
+    SET MEMORY/SIZE: 25.6 megawords
+    Peak demand: 39 words
+    Current cache: 63 words
+    Total table slots: 500
+    Free table slots: 487
+    Un-cached variables: 0
  
 ! these should break sampling up into separate reads
 cancel memory/all
@@ -25572,27 +25491,27 @@ list/i=2 SAMPLEI(sst[l=1,y=-2:2],{30,40,50})	! only I=2 from result
  dealloc  dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
  dealloc  dynamic grid (G006)          ABSTRACT  COADSY    NORMAL    TIME4
  dealloc  dynamic grid (G006)          ABSTRACT  COADSY    NORMAL    TIME4
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid (C01,V02 C:  7 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid (C09,V02 C: 10 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid (C01,V02 C:  7 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid (C09,V02 C: 10 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
  allocate dynamic grid (G006)          ABSTRACT  COADSY    NORMAL    TIME4
  allocate dynamic grid (G006)          ABSTRACT  COADSY    NORMAL    TIME4
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:    2    2  J: -999 -999  K: -999 -999  L: -999 -999
- eval    (C01,V02 C:  7 dset:   1 I:    2    2  J: -999 -999  K: -999 -999  L: -999 -999
- const_v {30,...} M: 34 dset:   0 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999
- doing sampling tpry on I axis:     1     3 dset:   1
- eval    (C09,V02 C: 11 dset:   1 I:   30   30  J: -999 -999  K: -999 -999  L: -999 -999
- reading SST      M: 29 dset:   1 I:   30   30  J:   45   46  K: -999 -999  L:    1    1
- eval    (C09,V02 C: 11 dset:   1 I:   40   40  J:   45   46  K: -999 -999  L:    1    1
- reading SST      M: 25 dset:   1 I:   40   40  J:   45   46  K: -999 -999  L:    1    1
- eval    (C09,V02 C: 11 dset:   1 I:   50   50  J:   45   46  K: -999 -999  L:    1    1
- reading SST      M: 23 dset:   1 I:   50   50  J:   45   46  K: -999 -999  L:    1    1
- -DELETE SST      M: 31 dset:   1 I:    1    3  J: -999 -999  K: -999 -999  L:    3    3  M: -999 -999  N: -999 -999
- -DELETE (C01,V02 M: 33 dset:   1 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999  M: -999 -999  N: -999 -999
- -DELETE tpry     M: 27 dset:   1 I:    1    3  J:   45   46  K: -999 -999  L:    1    1
- -DELETE {30,...} M: 34 dset:   0 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  5 dset:   1 I:      2      2  J: -999 -999  K: -999 -999  L:   -999   -999
+ eval    (C01,V02 C:  7 dset:   1 I:      2      2  J: -999 -999  K: -999 -999  L:   -999   -999
+ const_v {30,...} M:181 dset:   0 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999
+ doing sampling tpry on I axis:        1        3 dset:   1
+ eval    (C09,V02 C: 11 dset:   1 I:     30     30  J: -999 -999  K: -999 -999  L:   -999   -999
+ reading SST      M:174 dset:   1 I:     30     30  J:   45   46  K: -999 -999  L:      1      1
+ eval    (C09,V02 C: 11 dset:   1 I:     40     40  J:   45   46  K: -999 -999  L:      1      1
+ reading SST      M:154 dset:   1 I:     40     40  J:   45   46  K: -999 -999  L:      1      1
+ eval    (C09,V02 C: 11 dset:   1 I:     50     50  J:   45   46  K: -999 -999  L:      1      1
+ reading SST      M:151 dset:   1 I:     50     50  J:   45   46  K: -999 -999  L:      1      1
+ -DELETE SST      M:175 dset:   1 I:      1      3  J: -999 -999  K: -999 -999  L:      3      3  M: -999 -999  N: -999 -999
+ -DELETE (C01,V02 M:177 dset:   1 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999  M: -999 -999  N: -999 -999
+ -DELETE tpry     M:163 dset:   1 I:      1      3  J:   45   46  K: -999 -999  L:      1      1
+ -DELETE {30,...} M:181 dset:   0 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999
              VARIABLE : SAMPLEI(SST[L=1,Y=-2:2],{30,40,50})
              FILENAME : coads_climatology.cdf
              SUBSET   : 2 points (LATITUDE)
@@ -25602,32 +25521,32 @@ list/i=2 SAMPLEI(sst[l=1,y=-2:2],{30,40,50})	! only I=2 from result
                 2
  1N   / 46:  28.1992
  1S   / 45:  28.5607
- -DELETE (C01,V02 M: 34 dset:   1 I:    2    2  J:   45   46  K: -999 -999  L:    1    1
+ -DELETE (C01,V02 M:181 dset:   1 I:      2      2  J:   45   46  K: -999 -999  L:      1      1
 cancel memory/all
- -DELETE (C09,V02 M: 21 dset:   1 I:   50   50  J:   45   46  K: -999 -999  L:    1    1
- -DELETE SST      M: 23 dset:   1 I:   50   50  J:   45   46  K: -999 -999  L:    1    1
- -DELETE (C09,V02 M: 24 dset:   1 I:   40   40  J:   45   46  K: -999 -999  L:    1    1
- -DELETE SST      M: 25 dset:   1 I:   40   40  J:   45   46  K: -999 -999  L:    1    1
- -DELETE (C09,V02 M: 28 dset:   1 I:   30   30  J:   45   46  K: -999 -999  L:    1    1
- -DELETE SST      M: 29 dset:   1 I:   30   30  J:   45   46  K: -999 -999  L:    1    1
- -DELETE (C01,V02 M: 33 dset:   1 I:    1    3  J:   45   46  K: -999 -999  L:    1    1
+ -DELETE (C09,V02 M:148 dset:   1 I:     50     50  J:   45   46  K: -999 -999  L:      1      1
+ -DELETE SST      M:151 dset:   1 I:     50     50  J:   45   46  K: -999 -999  L:      1      1
+ -DELETE (C09,V02 M:152 dset:   1 I:     40     40  J:   45   46  K: -999 -999  L:      1      1
+ -DELETE SST      M:154 dset:   1 I:     40     40  J:   45   46  K: -999 -999  L:      1      1
+ -DELETE (C09,V02 M:173 dset:   1 I:     30     30  J:   45   46  K: -999 -999  L:      1      1
+ -DELETE SST      M:174 dset:   1 I:     30     30  J:   45   46  K: -999 -999  L:      1      1
+ -DELETE (C01,V02 M:177 dset:   1 I:      1      3  J:   45   46  K: -999 -999  L:      1      1
 list/l=1/y=-2:2  SAMPLEI(sst,{30,40,50})
  dealloc  dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
  dealloc  dynamic grid (G006)          ABSTRACT  COADSY    NORMAL    TIME4
  dealloc  dynamic grid (G006)          ABSTRACT  COADSY    NORMAL    TIME4
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G006)          ABSTRACT  COADSY    NORMAL    TIME4
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I: -999 -999  J:   45   46  K: -999 -999  L:    1    1
- const_v {30,...} M: 33 dset:   0 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999
- doing sampling tpry on I axis:     1     3 dset:   1
- reading SST      M: 25 dset:   1 I:   30   30  J:   45   46  K: -999 -999  L:    1    1
- reading SST      M: 23 dset:   1 I:   40   40  J:   45   46  K: -999 -999  L:    1    1
- reading SST      M: 21 dset:   1 I:   50   50  J:   45   46  K: -999 -999  L:    1    1
- -DELETE          M: 28 dset:   1 I:    1    3  J: -999 -999  K: -999 -999  L:    3    3  M: -999 -999  N: -999 -999
- -DELETE SST      M: 29 dset:   1 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999  M: -999 -999  N: -999 -999
- -DELETE tpry     M: 24 dset:   1 I:    1    3  J:   45   46  K: -999 -999  L:    1    1
- -DELETE {30,...} M: 33 dset:   0 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  5 dset:   1 I:   -999   -999  J:   45   46  K: -999 -999  L:      1      1
+ const_v {30,...} M:177 dset:   0 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999
+ doing sampling tpry on I axis:        1        3 dset:   1
+ reading SST      M:154 dset:   1 I:     30     30  J:   45   46  K: -999 -999  L:      1      1
+ reading SST      M:151 dset:   1 I:     40     40  J:   45   46  K: -999 -999  L:      1      1
+ reading SST      M:148 dset:   1 I:     50     50  J:   45   46  K: -999 -999  L:      1      1
+ -DELETE          M:173 dset:   1 I:      1      3  J: -999 -999  K: -999 -999  L:      3      3  M: -999 -999  N: -999 -999
+ -DELETE SST      M:174 dset:   1 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999  M: -999 -999  N: -999 -999
+ -DELETE tpry     M:152 dset:   1 I:      1      3  J:   45   46  K: -999 -999  L:      1      1
+ -DELETE {30,...} M:177 dset:   0 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999
              VARIABLE : SAMPLEI(SST,{30,40,50})
              FILENAME : coads_climatology.cdf
              SUBSET   : 3 by 2 points (X-LATITUDE)
@@ -25637,30 +25556,30 @@ list/l=1/y=-2:2  SAMPLEI(sst,{30,40,50})
  1N   / 46:  28.2222  28.1992  28.4514
  1S   / 45:  28.1514  28.5607  28.8326
 cancel memory/all
- -DELETE SST      M: 21 dset:   1 I:   50   50  J:   45   46  K: -999 -999  L:    1    1
- -DELETE SST      M: 23 dset:   1 I:   40   40  J:   45   46  K: -999 -999  L:    1    1
- -DELETE SST      M: 25 dset:   1 I:   30   30  J:   45   46  K: -999 -999  L:    1    1
- -DELETE EX#1     M: 29 dset:   1 I:    1    3  J:   45   46  K: -999 -999  L:    1    1
+ -DELETE SST      M:148 dset:   1 I:     50     50  J:   45   46  K: -999 -999  L:      1      1
+ -DELETE SST      M:151 dset:   1 I:     40     40  J:   45   46  K: -999 -999  L:      1      1
+ -DELETE SST      M:154 dset:   1 I:     30     30  J:   45   46  K: -999 -999  L:      1      1
+ -DELETE EX#1     M:174 dset:   1 I:      1      3  J:   45   46  K: -999 -999  L:      1      1
 list/l=1/y=-2:2  SAMPLEI(a  ,{30,40,50})
  dealloc  dynamic grid (G006)          ABSTRACT  COADSY    NORMAL    TIME4
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid A        C:  8 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid A        C:  8 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
  allocate dynamic grid (G006)          ABSTRACT  COADSY    NORMAL    TIME4
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I: -999 -999  J:   45   46  K: -999 -999  L:    1    1
- const_v {30,...} M: 29 dset:   0 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999
- doing sampling tpry on I axis:     1     3 dset:   1
- eval    A        C:  9 dset:   1 I:   30   30  J:   45   46  K: -999 -999  L:    1    1
- reading SST      M: 21 dset:   1 I:   30   30  J:   45   46  K: -999 -999  L:    1    1
- eval    A        C:  9 dset:   1 I:   40   40  J:   45   46  K: -999 -999  L:    1    1
- reading SST      M: 28 dset:   1 I:   40   40  J:   45   46  K: -999 -999  L:    1    1
- eval    A        C:  9 dset:   1 I:   50   50  J:   45   46  K: -999 -999  L:    1    1
- reading SST      M: 27 dset:   1 I:   50   50  J:   45   46  K: -999 -999  L:    1    1
- -DELETE SST      M: 23 dset:   1 I:    1    3  J: -999 -999  K: -999 -999  L:    3    3  M: -999 -999  N: -999 -999
- -DELETE SST      M: 25 dset:   1 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999  M: -999 -999  N: -999 -999
- -DELETE tpry     M: 24 dset:   1 I:    1    3  J:   45   46  K: -999 -999  L:    1    1
- -DELETE {30,...} M: 29 dset:   0 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  5 dset:   1 I:   -999   -999  J:   45   46  K: -999 -999  L:      1      1
+ const_v {30,...} M:174 dset:   0 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999
+ doing sampling tpry on I axis:        1        3 dset:   1
+ eval    A        C:  9 dset:   1 I:     30     30  J:   45   46  K: -999 -999  L:      1      1
+ reading SST      M:148 dset:   1 I:     30     30  J:   45   46  K: -999 -999  L:      1      1
+ eval    A        C:  9 dset:   1 I:     40     40  J:   45   46  K: -999 -999  L:      1      1
+ reading SST      M:173 dset:   1 I:     40     40  J:   45   46  K: -999 -999  L:      1      1
+ eval    A        C:  9 dset:   1 I:     50     50  J:   45   46  K: -999 -999  L:      1      1
+ reading SST      M:163 dset:   1 I:     50     50  J:   45   46  K: -999 -999  L:      1      1
+ -DELETE SST      M:151 dset:   1 I:      1      3  J: -999 -999  K: -999 -999  L:      3      3  M: -999 -999  N: -999 -999
+ -DELETE SST      M:154 dset:   1 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999  M: -999 -999  N: -999 -999
+ -DELETE tpry     M:152 dset:   1 I:      1      3  J:   45   46  K: -999 -999  L:      1      1
+ -DELETE {30,...} M:174 dset:   0 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999
              VARIABLE : SAMPLEI(A  ,{30,40,50})
              FILENAME : coads_climatology.cdf
              SUBSET   : 3 by 2 points (X-LATITUDE)
@@ -25672,32 +25591,32 @@ list/l=1/y=-2:2  SAMPLEI(a  ,{30,40,50})
  
 ! these should NOT break up the access into chunks
 cancel memory/all
- -DELETE SST      M: 21 dset:   1 I:   30   30  J:   45   46  K: -999 -999  L:    1    1
- -DELETE EX#1     M: 25 dset:   1 I:    1    3  J:   45   46  K: -999 -999  L:    1    1
- -DELETE SST      M: 27 dset:   1 I:   50   50  J:   45   46  K: -999 -999  L:    1    1
- -DELETE SST      M: 28 dset:   1 I:   40   40  J:   45   46  K: -999 -999  L:    1    1
- -DELETE A        M: 31 dset:   1 I:   50   50  J:   45   46  K: -999 -999  L:    1    1
- -DELETE A        M: 33 dset:   1 I:   30   30  J:   45   46  K: -999 -999  L:    1    1
- -DELETE A        M: 34 dset:   1 I:   40   40  J:   45   46  K: -999 -999  L:    1    1
+ -DELETE SST      M:148 dset:   1 I:     30     30  J:   45   46  K: -999 -999  L:      1      1
+ -DELETE EX#1     M:154 dset:   1 I:      1      3  J:   45   46  K: -999 -999  L:      1      1
+ -DELETE SST      M:163 dset:   1 I:     50     50  J:   45   46  K: -999 -999  L:      1      1
+ -DELETE SST      M:173 dset:   1 I:     40     40  J:   45   46  K: -999 -999  L:      1      1
+ -DELETE A        M:175 dset:   1 I:     50     50  J:   45   46  K: -999 -999  L:      1      1
+ -DELETE A        M:177 dset:   1 I:     30     30  J:   45   46  K: -999 -999  L:      1      1
+ -DELETE A        M:181 dset:   1 I:     40     40  J:   45   46  K: -999 -999  L:      1      1
 list/l=1/y=-2:2  SAMPLEI(sst[i=30:40],{30,40,50})
  dealloc  dynamic grid (G006)          ABSTRACT  COADSY    NORMAL    TIME4
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid (C01,V02 C:  7 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid (C09,V02 C: 10 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid (C01,V02 C:  7 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid (C09,V02 C: 10 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
  allocate dynamic grid (G006)          ABSTRACT  COADSY    NORMAL    TIME4
  allocate dynamic grid (G006)          ABSTRACT  COADSY    NORMAL    TIME4
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I: -999 -999  J:   45   46  K: -999 -999  L:    1    1
- eval    (C01,V02 C:  7 dset:   1 I: -999 -999  J:   45   46  K: -999 -999  L:    1    1
- const_v {30,...} M: 34 dset:   0 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999
- doing sampling tpry on I axis:     1     3 dset:   1
- eval    (C09,V02 C: 11 dset:   1 I: -999 -999  J:   45   46  K: -999 -999  L:    1    1
- reading SST      M: 28 dset:   1 I:   30   40  J:   45   46  K: -999 -999  L:    1    1
- -DELETE A        M: 31 dset:   1 I:    1    3  J: -999 -999  K: -999 -999  L:    3    3  M: -999 -999  N: -999 -999
- -DELETE A        M: 33 dset:   1 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999  M: -999 -999  N: -999 -999
- -DELETE tpry     M: 25 dset:   1 I:    1    3  J:   45   46  K: -999 -999  L:    1    1
- -DELETE {30,...} M: 34 dset:   0 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  5 dset:   1 I:   -999   -999  J:   45   46  K: -999 -999  L:      1      1
+ eval    (C01,V02 C:  7 dset:   1 I:   -999   -999  J:   45   46  K: -999 -999  L:      1      1
+ const_v {30,...} M:181 dset:   0 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999
+ doing sampling tpry on I axis:        1        3 dset:   1
+ eval    (C09,V02 C: 11 dset:   1 I:   -999   -999  J:   45   46  K: -999 -999  L:      1      1
+ reading SST      M:173 dset:   1 I:     30     40  J:   45   46  K: -999 -999  L:      1      1
+ -DELETE A        M:175 dset:   1 I:      1      3  J: -999 -999  K: -999 -999  L:      3      3  M: -999 -999  N: -999 -999
+ -DELETE A        M:177 dset:   1 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999  M: -999 -999  N: -999 -999
+ -DELETE tpry     M:154 dset:   1 I:      1      3  J:   45   46  K: -999 -999  L:      1      1
+ -DELETE {30,...} M:181 dset:   0 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999
              VARIABLE : SAMPLEI(SST[I=30:40],{30,40,50})
              FILENAME : coads_climatology.cdf
              SUBSET   : 3 by 2 points (X-LATITUDE)
@@ -25707,29 +25626,29 @@ list/l=1/y=-2:2  SAMPLEI(sst[i=30:40],{30,40,50})
  1N   / 46:  28.2222  28.1992     ....
  1S   / 45:  28.1514  28.5607     ....
 let/quiet a = sst[i=30:40]
- -DELETE (C09,V02 M: 27 dset:   1 I:   30   40  J:   45   46  K: -999 -999  L:    1    1
+ -DELETE (C09,V02 M:163 dset:   1 I:     30     40  J:   45   46  K: -999 -999  L:      1      1
  dealloc  dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
- -DELETE (C01,V02 M: 33 dset:   1 I:    1    3  J:   45   46  K: -999 -999  L:    1    1
+ -DELETE (C01,V02 M:177 dset:   1 I:      1      3  J:   45   46  K: -999 -999  L:      1      1
  dealloc  dynamic grid (G006)          ABSTRACT  COADSY    NORMAL    TIME4
  dealloc  dynamic grid (G006)          ABSTRACT  COADSY    NORMAL    TIME4
  dealloc  dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
 cancel memory/all
- -DELETE SST      M: 28 dset:   1 I:   30   40  J:   45   46  K: -999 -999  L:    1    1
+ -DELETE SST      M:173 dset:   1 I:     30     40  J:   45   46  K: -999 -999  L:      1      1
 list/l=1/y=-2:2  SAMPLEI(a,{30,40,50})
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid A        C:  8 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid A        C:  8 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
  allocate dynamic grid (G006)          ABSTRACT  COADSY    NORMAL    TIME4
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I: -999 -999  J:   45   46  K: -999 -999  L:    1    1
- const_v {30,...} M: 28 dset:   0 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999
- doing sampling tpry on I axis:     1     3 dset:   1
- eval    A        C:  9 dset:   1 I: -999 -999  J:   45   46  K: -999 -999  L:    1    1
- reading SST      M: 34 dset:   1 I:   30   40  J:   45   46  K: -999 -999  L:    1    1
- -DELETE          M: 27 dset:   1 I:    1    3  J: -999 -999  K: -999 -999  L:    3    3  M: -999 -999  N: -999 -999
- -DELETE          M: 33 dset:   1 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999  M: -999 -999  N: -999 -999
- -DELETE tpry     M: 31 dset:   1 I:    1    3  J:   45   46  K: -999 -999  L:    1    1
- -DELETE {30,...} M: 28 dset:   0 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  5 dset:   1 I:   -999   -999  J:   45   46  K: -999 -999  L:      1      1
+ const_v {30,...} M:173 dset:   0 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999
+ doing sampling tpry on I axis:        1        3 dset:   1
+ eval    A        C:  9 dset:   1 I:   -999   -999  J:   45   46  K: -999 -999  L:      1      1
+ reading SST      M:181 dset:   1 I:     30     40  J:   45   46  K: -999 -999  L:      1      1
+ -DELETE          M:163 dset:   1 I:      1      3  J: -999 -999  K: -999 -999  L:      3      3  M: -999 -999  N: -999 -999
+ -DELETE          M:177 dset:   1 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999  M: -999 -999  N: -999 -999
+ -DELETE tpry     M:175 dset:   1 I:      1      3  J:   45   46  K: -999 -999  L:      1      1
+ -DELETE {30,...} M:173 dset:   0 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999
              VARIABLE : SAMPLEI(A,{30,40,50})
              FILENAME : coads_climatology.cdf
              SUBSET   : 3 by 2 points (X-LATITUDE)
@@ -25739,23 +25658,23 @@ list/l=1/y=-2:2  SAMPLEI(a,{30,40,50})
  1N   / 46:  28.2222  28.1992     ....
  1S   / 45:  28.1514  28.5607     ....
 cancel memory/all
- -DELETE A        M: 25 dset:   1 I:   30   40  J:   45   46  K: -999 -999  L:    1    1
- -DELETE EX#1     M: 33 dset:   1 I:    1    3  J:   45   46  K: -999 -999  L:    1    1
- -DELETE SST      M: 34 dset:   1 I:   30   40  J:   45   46  K: -999 -999  L:    1    1
+ -DELETE A        M:154 dset:   1 I:     30     40  J:   45   46  K: -999 -999  L:      1      1
+ -DELETE EX#1     M:177 dset:   1 I:      1      3  J:   45   46  K: -999 -999  L:      1      1
+ -DELETE SST      M:181 dset:   1 I:     30     40  J:   45   46  K: -999 -999  L:      1      1
 list/l=1/y=-2:2  SAMPLEI(a,{30})		! sample at just 1 point
  dealloc  dynamic grid (G006)          ABSTRACT  COADSY    NORMAL    TIME4
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G006)          ABSTRACT  COADSY    NORMAL    TIME4
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I: -999 -999  J:   45   46  K: -999 -999  L:    1    1
- const_v {30}     M: 34 dset:   0 I:    1    1  J: -999 -999  K: -999 -999  L: -999 -999
- doing sampling tpry on I axis:     1     1 dset:   1
- eval    A        C:  9 dset:   1 I: -999 -999  J:   45   46  K: -999 -999  L:    1    1
- reading SST      M: 28 dset:   1 I:   30   40  J:   45   46  K: -999 -999  L:    1    1
- -DELETE A        M: 25 dset:   1 I:    1    1  J: -999 -999  K: -999 -999  L:    1    1  M: -999 -999  N: -999 -999
- -DELETE EX#1     M: 33 dset:   1 I:    1    1  J: -999 -999  K: -999 -999  L: -999 -999  M: -999 -999  N: -999 -999
- -DELETE tpry     M: 27 dset:   1 I:    1    1  J:   45   46  K: -999 -999  L:    1    1
- -DELETE {30}     M: 34 dset:   0 I:    1    1  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  5 dset:   1 I:   -999   -999  J:   45   46  K: -999 -999  L:      1      1
+ const_v {30}     M:181 dset:   0 I:      1      1  J: -999 -999  K: -999 -999  L:   -999   -999
+ doing sampling tpry on I axis:        1        1 dset:   1
+ eval    A        C:  9 dset:   1 I:   -999   -999  J:   45   46  K: -999 -999  L:      1      1
+ reading SST      M:173 dset:   1 I:     30     40  J:   45   46  K: -999 -999  L:      1      1
+ -DELETE A        M:154 dset:   1 I:      1      1  J: -999 -999  K: -999 -999  L:      1      1  M: -999 -999  N: -999 -999
+ -DELETE EX#1     M:177 dset:   1 I:      1      1  J: -999 -999  K: -999 -999  L:   -999   -999  M: -999 -999  N: -999 -999
+ -DELETE tpry     M:163 dset:   1 I:      1      1  J:   45   46  K: -999 -999  L:      1      1
+ -DELETE {30}     M:181 dset:   0 I:      1      1  J: -999 -999  K: -999 -999  L:   -999   -999
              VARIABLE : SAMPLEI(A,{30})
              FILENAME : coads_climatology.cdf
              SUBSET   : 2 points (LATITUDE)
@@ -25766,28 +25685,28 @@ list/l=1/y=-2:2  SAMPLEI(a,{30})		! sample at just 1 point
  1N   / 46:  28.2222
  1S   / 45:  28.1514
 cancel memory/all
- -DELETE SST      M: 28 dset:   1 I:   30   40  J:   45   46  K: -999 -999  L:    1    1
- -DELETE A        M: 31 dset:   1 I:   30   40  J:   45   46  K: -999 -999  L:    1    1
- -DELETE EX#1     M: 33 dset:   1 I:    1    1  J:   45   46  K: -999 -999  L:    1    1
+ -DELETE SST      M:173 dset:   1 I:     30     40  J:   45   46  K: -999 -999  L:      1      1
+ -DELETE A        M:175 dset:   1 I:     30     40  J:   45   46  K: -999 -999  L:      1      1
+ -DELETE EX#1     M:177 dset:   1 I:      1      1  J:   45   46  K: -999 -999  L:      1      1
 list/l=1/y=-2:2  SAMPLEI(a,30)			! sample at just 1 point
  dealloc  dynamic grid (G006)          ABSTRACT  COADSY    NORMAL    TIME4
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid (C01,V02 C:  7 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid (C11,V02 C:  9 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid (C01,V02 C:  7 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid (C11,V02 C:  9 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G006)          ABSTRACT  COADSY    NORMAL    TIME4
  allocate dynamic grid (G006)          ABSTRACT  COADSY    NORMAL    TIME4
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I: -999 -999  J:   45   46  K: -999 -999  L:    1    1
- eval    (C01,V02 C:  7 dset:   1 I: -999 -999  J:   45   46  K: -999 -999  L:    1    1
- eval    (C11,V02 C:  9 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M: -999 -999  N: -999 -999
- constan cnst     M: 33 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M: -999 -999  N: -999 -999
- -DELETE cnst     M: 33 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M: -999 -999  N: -999 -999
- doing sampling tpry on I axis:     1     1 dset:   1
- eval    A        C: 11 dset:   1 I: -999 -999  J:   45   46  K: -999 -999  L:    1    1
- reading SST      M: 34 dset:   1 I:   30   40  J:   45   46  K: -999 -999  L:    1    1
- -DELETE SST      M: 28 dset:   1 I:    1    1  J: -999 -999  K: -999 -999  L:    1    1  M: -999 -999  N: -999 -999
- -DELETE cnst     M: 33 dset:   0 I:    1    1  J: -999 -999  K: -999 -999  L: -999 -999  M: -999 -999  N: -999 -999
- -DELETE tpry     M: 25 dset:   1 I:    1    1  J:   45   46  K: -999 -999  L:    1    1
+ eval    EX#1     C:  5 dset:   1 I:   -999   -999  J:   45   46  K: -999 -999  L:      1      1
+ eval    (C01,V02 C:  7 dset:   1 I:   -999   -999  J:   45   46  K: -999 -999  L:      1      1
+ eval    (C11,V02 C:  9 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M: -999 -999  N: -999 -999
+ constan cnst     M:177 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M: -999 -999  N: -999 -999
+ -DELETE cnst     M:177 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M: -999 -999  N: -999 -999
+ doing sampling tpry on I axis:        1        1 dset:   1
+ eval    A        C: 11 dset:   1 I:   -999   -999  J:   45   46  K: -999 -999  L:      1      1
+ reading SST      M:181 dset:   1 I:     30     40  J:   45   46  K: -999 -999  L:      1      1
+ -DELETE SST      M:173 dset:   1 I:      1      1  J: -999 -999  K: -999 -999  L:      1      1  M: -999 -999  N: -999 -999
+ -DELETE cnst     M:177 dset:   0 I:      1      1  J: -999 -999  K: -999 -999  L:   -999   -999  M: -999 -999  N: -999 -999
+ -DELETE tpry     M:154 dset:   1 I:      1      1  J:   45   46  K: -999 -999  L:      1      1
              VARIABLE : SAMPLEI(A,30)
              FILENAME : coads_climatology.cdf
              SUBSET   : 2 points (LATITUDE)
@@ -25798,10 +25717,10 @@ list/l=1/y=-2:2  SAMPLEI(a,30)			! sample at just 1 point
  1N   / 46:  28.2222
  1S   / 45:  28.1514
 cancel memory/all
- -DELETE A        M: 27 dset:   1 I:   30   40  J:   45   46  K: -999 -999  L:    1    1
- -DELETE (C11,V02 M: 31 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M: -999 -999  N: -999 -999
- -DELETE (C01,V02 M: 33 dset:   1 I:    1    1  J:   45   46  K: -999 -999  L:    1    1
- -DELETE SST      M: 34 dset:   1 I:   30   40  J:   45   46  K: -999 -999  L:    1    1
+ -DELETE A        M:163 dset:   1 I:     30     40  J:   45   46  K: -999 -999  L:      1      1
+ -DELETE (C11,V02 M:175 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M: -999 -999  N: -999 -999
+ -DELETE (C01,V02 M:177 dset:   1 I:      1      1  J:   45   46  K: -999 -999  L:      1      1
+ -DELETE SST      M:181 dset:   1 I:     30     40  J:   45   46  K: -999 -999  L:      1      1
 let/quiet fsst = sst[x=@fln] 		! fill holes to allow @iin to work
 let/quiet a = fsst[i=@iin]		! @iin forces all-at-once
  dealloc  dynamic grid ABSTRACT        ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT
@@ -25809,29 +25728,29 @@ let/quiet a = fsst[i=@iin]		! @iin forces all-at-once
  dealloc  dynamic grid (G006)          ABSTRACT  COADSY    NORMAL    TIME4
  dealloc  dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
 list/l=1/y=-2:2  SAMPLEI(a,{30,40,50})
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid A        C:  8 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid FSST     C: 10 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid A        C:  8 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid FSST     C: 10 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
  allocate dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
  allocate dynamic grid (G006)          ABSTRACT  COADSY    NORMAL    TIME4
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I: -999 -999  J:   45   46  K: -999 -999  L:    1    1
- const_v {30,...} M: 34 dset:   0 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999
- doing sampling tpry on I axis:     1     3 dset:   1
- eval    A        C:  9 dset:   1 I:    1  180  J:   45   46  K: -999 -999  L:    1    1
+ eval    EX#1     C:  5 dset:   1 I:   -999   -999  J:   45   46  K: -999 -999  L:      1      1
+ const_v {30,...} M:181 dset:   0 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999
+ doing sampling tpry on I axis:        1        3 dset:   1
+ eval    A        C:  9 dset:   1 I:      1    180  J:   45   46  K: -999 -999  L:      1      1
  strip --> FSST[X=20E:20E(380)@IIN,D=1]
- eval    FSST     C: 12 dset:   1 I:    1  180  J:   45   46  K: -999 -999  L:    1    1
+ eval    FSST     C: 12 dset:   1 I:      1    180  J:   45   46  K: -999 -999  L:      1      1
  strip --> SST[I=1:180 at FLN:1,D=1]
- strip moduloing SST on X axis:     0   181 dset:   1
- reading SST      M: 27 dset:   1 I:    1  180  J:   45   46  K: -999 -999  L:    1    1
- doing moduloing SST on X axis:     1   180 dset:   1
+ strip moduloing SST on X axis:        0      181 dset:   1
+ reading SST      M:163 dset:   1 I:      1    180  J:   45   46  K: -999 -999  L:      1      1
+ doing moduloing SST on X axis:        1      180 dset:   1
  doing --> SST[I=1:180 at FLN:1,D=1]
  doing --> FSST[X=20E:20E(380)@IIN,D=1]
- -DELETE          M: 31 dset:   0 I:    1    3  J: -999 -999  K: -999 -999  L:    3    3  M: -999 -999  N: -999 -999
- -DELETE          M: 33 dset:   1 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999  M: -999 -999  N: -999 -999
- -DELETE tpry     M: 23 dset:   1 I:    1    3  J:   45   46  K: -999 -999  L:    1    1
- -DELETE {30,...} M: 34 dset:   0 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999
+ -DELETE          M:175 dset:   0 I:      1      3  J: -999 -999  K: -999 -999  L:      3      3  M: -999 -999  N: -999 -999
+ -DELETE          M:177 dset:   1 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999  M: -999 -999  N: -999 -999
+ -DELETE tpry     M:151 dset:   1 I:      1      3  J:   45   46  K: -999 -999  L:      1      1
+ -DELETE {30,...} M:181 dset:   0 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999
              VARIABLE : SAMPLEI(A,{30,40,50})
              FILENAME : coads_climatology.cdf
              SUBSET   : 3 by 2 points (X-LATITUDE)
@@ -25841,38 +25760,36 @@ list/l=1/y=-2:2  SAMPLEI(a,{30,40,50})
  1N   / 46:  182881720.  245818833.  306844239.
  1S   / 45:  183667676.  246892478.  309487473.
 cancel memory/all
- -DELETE FSST     M: 21 dset:   1 I:    1  180  J:   45   46  K: -999 -999  L:    1    1
- -DELETE A        M: 24 dset:   1 I:    1  180  J:   45   46  K: -999 -999  L:    1    1
- -DELETE SST      M: 25 dset:   1 I:    0  181  J:   45   46  K: -999 -999  L:    1    1
- -DELETE SST      M: 27 dset:   1 I:    1  180  J:   45   46  K: -999 -999  L:    1    1
- -DELETE SST      M: 28 dset:   1 I:    1  180  J:   45   46  K: -999 -999  L:    1    1
- -DELETE FSST     M: 29 dset:   1 I:    1  180  J:   45   46  K: -999 -999  L:    1    1
- -DELETE EX#1     M: 33 dset:   1 I:    1    3  J:   45   46  K: -999 -999  L:    1    1
+ -DELETE FSST     M:148 dset:   1 I:      1    180  J:   45   46  K: -999 -999  L:      1      1
+ -DELETE A        M:152 dset:   1 I:      1    180  J:   45   46  K: -999 -999  L:      1      1
+ -DELETE SST      M:154 dset:   1 I:      0    181  J:   45   46  K: -999 -999  L:      1      1
+ -DELETE SST      M:163 dset:   1 I:      1    180  J:   45   46  K: -999 -999  L:      1      1
+ -DELETE SST      M:173 dset:   1 I:      1    180  J:   45   46  K: -999 -999  L:      1      1
+ -DELETE FSST     M:174 dset:   1 I:      1    180  J:   45   46  K: -999 -999  L:      1      1
+ -DELETE EX#1     M:177 dset:   1 I:      1      3  J:   45   46  K: -999 -999  L:      1      1
  
 ! now test optimization that uses large memory chunks if available
 cancel memory/all
 load/l=1/y=0 sst[I=30:50]
  dealloc  dynamic grid (G006)          ABSTRACT  COADSY    NORMAL    TIME4
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I: -999 -999  J:   45   45  K: -999 -999  L:    1    1
- reading SST      M: 33 dset:   1 I:   30   50  J:   45   45  K: -999 -999  L:    1    1
+ eval    EX#1     C:  5 dset:   1 I:   -999   -999  J:   45   45  K: -999 -999  L:      1      1
+ reading SST      M:177 dset:   1 I:     30     50  J:   45   45  K: -999 -999  L:      1      1
 list/l=1/y=0  SAMPLEI(sst,{30,40,50})
  dealloc  dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G006)          ABSTRACT  COADSY    NORMAL    TIME4
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I: -999 -999  J:   45   45  K: -999 -999  L:    1    1
- const_v {30,...} M: 29 dset:   0 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999
- doing sampling tpry on I axis:     1     3 dset:   1
- reading SST      M: 25 dset:   1 I:   30   30  J:   45   45  K: -999 -999  L:    1    1
- reading SST      M: 21 dset:   1 I:   40   40  J:   45   45  K: -999 -999  L:    1    1
- reading SST      M: 34 dset:   1 I:   50   50  J:   45   45  K: -999 -999  L:    1    1
- -DELETE SST      M: 27 dset:   1 I:    1    3  J: -999 -999  K: -999 -999  L:    3    3  M: -999 -999  N: -999 -999
- -DELETE SST      M: 28 dset:   1 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999  M: -999 -999  N: -999 -999
- -DELETE tpry     M: 24 dset:   1 I:    1    3  J:   45   45  K: -999 -999  L:    1    1
- -DELETE {30,...} M: 29 dset:   0 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  5 dset:   1 I:   -999   -999  J:   45   45  K: -999 -999  L:      1      1
+ const_v {30,...} M:174 dset:   0 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999
+ doing sampling tpry on I axis:        1        3 dset:   1
+ found   SST      M:177 dset:   1 I:     30     50  J:   45   45  K: -999 -999  L:      1      1
+ -DELETE SST      M:163 dset:   1 I:      1      3  J: -999 -999  K: -999 -999  L:      3      3  M: -999 -999  N: -999 -999
+ -DELETE SST      M:173 dset:   1 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999  M: -999 -999  N: -999 -999
+ -DELETE tpry     M:154 dset:   1 I:      1      3  J:   45   45  K: -999 -999  L:      1      1
+ -DELETE {30,...} M:174 dset:   0 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999
              VARIABLE : SAMPLEI(SST,{30,40,50})
              FILENAME : coads_climatology.cdf
              SUBSET   : 3 points (X)
@@ -25884,33 +25801,30 @@ list/l=1/y=0  SAMPLEI(sst,{30,40,50})
  2   / 2:  28.5607
  3   / 3:  28.8326
 cancel memory/all
- -DELETE SST      M: 21 dset:   1 I:   40   40  J:   45   45  K: -999 -999  L:    1    1
- -DELETE SST      M: 25 dset:   1 I:   30   30  J:   45   45  K: -999 -999  L:    1    1
- -DELETE EX#1     M: 28 dset:   1 I:    1    3  J:   45   45  K: -999 -999  L:    1    1
- -DELETE SST      M: 33 dset:   1 I:   30   50  J:   45   45  K: -999 -999  L:    1    1
- -DELETE SST      M: 34 dset:   1 I:   50   50  J:   45   45  K: -999 -999  L:    1    1
+ -DELETE EX#1     M:173 dset:   1 I:      1      3  J:   45   45  K: -999 -999  L:      1      1
+ -DELETE SST      M:177 dset:   1 I:     30     50  J:   45   45  K: -999 -999  L:      1      1
 load/l=1/y=0 sst[I=30:39]
  dealloc  dynamic grid (G006)          ABSTRACT  COADSY    NORMAL    TIME4
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I: -999 -999  J:   45   45  K: -999 -999  L:    1    1
- reading SST      M: 34 dset:   1 I:   30   39  J:   45   45  K: -999 -999  L:    1    1
+ eval    EX#1     C:  5 dset:   1 I:   -999   -999  J:   45   45  K: -999 -999  L:      1      1
+ reading SST      M:177 dset:   1 I:     30     39  J:   45   45  K: -999 -999  L:      1      1
 list/l=1/y=0  SAMPLEI(sst,{30,40,50})
  dealloc  dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G006)          ABSTRACT  COADSY    NORMAL    TIME4
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I: -999 -999  J:   45   45  K: -999 -999  L:    1    1
- const_v {30,...} M: 33 dset:   0 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999
- doing sampling tpry on I axis:     1     3 dset:   1
- reading SST      M: 21 dset:   1 I:   30   30  J:   45   45  K: -999 -999  L:    1    1
- reading SST      M: 24 dset:   1 I:   40   40  J:   45   45  K: -999 -999  L:    1    1
- reading SST      M: 27 dset:   1 I:   50   50  J:   45   45  K: -999 -999  L:    1    1
- -DELETE SST      M: 25 dset:   1 I:    1    3  J: -999 -999  K: -999 -999  L:    3    3  M: -999 -999  N: -999 -999
- -DELETE EX#1     M: 28 dset:   1 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999  M: -999 -999  N: -999 -999
- -DELETE tpry     M: 29 dset:   1 I:    1    3  J:   45   45  K: -999 -999  L:    1    1
- -DELETE {30,...} M: 33 dset:   0 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  5 dset:   1 I:   -999   -999  J:   45   45  K: -999 -999  L:      1      1
+ const_v {30,...} M:173 dset:   0 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999
+ doing sampling tpry on I axis:        1        3 dset:   1
+ found   SST      M:177 dset:   1 I:     30     39  J:   45   45  K: -999 -999  L:      1      1
+ reading SST      M:152 dset:   1 I:     40     40  J:   45   45  K: -999 -999  L:      1      1
+ reading SST      M:148 dset:   1 I:     50     50  J:   45   45  K: -999 -999  L:      1      1
+ -DELETE tpry     M:154 dset:   1 I:      1      3  J: -999 -999  K: -999 -999  L:      3      3  M: -999 -999  N: -999 -999
+ -DELETE EX#1     M:174 dset:   1 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999  M: -999 -999  N: -999 -999
+ -DELETE tpry     M:163 dset:   1 I:      1      3  J:   45   45  K: -999 -999  L:      1      1
+ -DELETE {30,...} M:173 dset:   0 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999
              VARIABLE : SAMPLEI(SST,{30,40,50})
              FILENAME : coads_climatology.cdf
              SUBSET   : 3 points (X)
@@ -25922,33 +25836,31 @@ list/l=1/y=0  SAMPLEI(sst,{30,40,50})
  2   / 2:  28.5607
  3   / 3:  28.8326
 cancel memory/all
- -DELETE SST      M: 21 dset:   1 I:   30   30  J:   45   45  K: -999 -999  L:    1    1
- -DELETE SST      M: 24 dset:   1 I:   40   40  J:   45   45  K: -999 -999  L:    1    1
- -DELETE SST      M: 27 dset:   1 I:   50   50  J:   45   45  K: -999 -999  L:    1    1
- -DELETE EX#1     M: 28 dset:   1 I:    1    3  J:   45   45  K: -999 -999  L:    1    1
- -DELETE SST      M: 34 dset:   1 I:   30   39  J:   45   45  K: -999 -999  L:    1    1
+ -DELETE SST      M:148 dset:   1 I:     50     50  J:   45   45  K: -999 -999  L:      1      1
+ -DELETE SST      M:152 dset:   1 I:     40     40  J:   45   45  K: -999 -999  L:      1      1
+ -DELETE EX#1     M:174 dset:   1 I:      1      3  J:   45   45  K: -999 -999  L:      1      1
+ -DELETE SST      M:177 dset:   1 I:     30     39  J:   45   45  K: -999 -999  L:      1      1
 load/l=1/y=0 sst[I=30:40]
  dealloc  dynamic grid (G006)          ABSTRACT  COADSY    NORMAL    TIME4
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I: -999 -999  J:   45   45  K: -999 -999  L:    1    1
- reading SST      M: 34 dset:   1 I:   30   40  J:   45   45  K: -999 -999  L:    1    1
+ eval    EX#1     C:  5 dset:   1 I:   -999   -999  J:   45   45  K: -999 -999  L:      1      1
+ reading SST      M:177 dset:   1 I:     30     40  J:   45   45  K: -999 -999  L:      1      1
 list/l=1/y=0  SAMPLEI(sst,{30,40,50})
  dealloc  dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G006)          ABSTRACT  COADSY    NORMAL    TIME4
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I: -999 -999  J:   45   45  K: -999 -999  L:    1    1
- const_v {30,...} M: 28 dset:   0 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999
- doing sampling tpry on I axis:     1     3 dset:   1
- reading SST      M: 21 dset:   1 I:   30   30  J:   45   45  K: -999 -999  L:    1    1
- reading SST      M: 29 dset:   1 I:   40   40  J:   45   45  K: -999 -999  L:    1    1
- reading SST      M: 25 dset:   1 I:   50   50  J:   45   45  K: -999 -999  L:    1    1
- -DELETE SST      M: 24 dset:   1 I:    1    3  J: -999 -999  K: -999 -999  L:    3    3  M: -999 -999  N: -999 -999
- -DELETE SST      M: 27 dset:   1 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999  M: -999 -999  N: -999 -999
- -DELETE tpry     M: 33 dset:   1 I:    1    3  J:   45   45  K: -999 -999  L:    1    1
- -DELETE {30,...} M: 28 dset:   0 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  5 dset:   1 I:   -999   -999  J:   45   45  K: -999 -999  L:      1      1
+ const_v {30,...} M:174 dset:   0 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999
+ doing sampling tpry on I axis:        1        3 dset:   1
+ found   SST      M:177 dset:   1 I:     30     40  J:   45   45  K: -999 -999  L:      1      1
+ reading SST      M:163 dset:   1 I:     50     50  J:   45   45  K: -999 -999  L:      1      1
+ -DELETE SST      M:148 dset:   1 I:      1      3  J: -999 -999  K: -999 -999  L:      3      3  M: -999 -999  N: -999 -999
+ -DELETE SST      M:152 dset:   1 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999  M: -999 -999  N: -999 -999
+ -DELETE tpry     M:173 dset:   1 I:      1      3  J:   45   45  K: -999 -999  L:      1      1
+ -DELETE {30,...} M:174 dset:   0 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999
              VARIABLE : SAMPLEI(SST,{30,40,50})
              FILENAME : coads_climatology.cdf
              SUBSET   : 3 points (X)
@@ -25960,33 +25872,30 @@ list/l=1/y=0  SAMPLEI(sst,{30,40,50})
  2   / 2:  28.5607
  3   / 3:  28.8326
 cancel memory/all
- -DELETE SST      M: 21 dset:   1 I:   30   30  J:   45   45  K: -999 -999  L:    1    1
- -DELETE SST      M: 25 dset:   1 I:   50   50  J:   45   45  K: -999 -999  L:    1    1
- -DELETE EX#1     M: 27 dset:   1 I:    1    3  J:   45   45  K: -999 -999  L:    1    1
- -DELETE SST      M: 29 dset:   1 I:   40   40  J:   45   45  K: -999 -999  L:    1    1
- -DELETE SST      M: 34 dset:   1 I:   30   40  J:   45   45  K: -999 -999  L:    1    1
+ -DELETE EX#1     M:152 dset:   1 I:      1      3  J:   45   45  K: -999 -999  L:      1      1
+ -DELETE SST      M:163 dset:   1 I:     50     50  J:   45   45  K: -999 -999  L:      1      1
+ -DELETE SST      M:177 dset:   1 I:     30     40  J:   45   45  K: -999 -999  L:      1      1
 load/l=1/y=0 sst[I=30:41]
  dealloc  dynamic grid (G006)          ABSTRACT  COADSY    NORMAL    TIME4
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I: -999 -999  J:   45   45  K: -999 -999  L:    1    1
- reading SST      M: 34 dset:   1 I:   30   41  J:   45   45  K: -999 -999  L:    1    1
+ eval    EX#1     C:  5 dset:   1 I:   -999   -999  J:   45   45  K: -999 -999  L:      1      1
+ reading SST      M:177 dset:   1 I:     30     41  J:   45   45  K: -999 -999  L:      1      1
 list/l=1/y=0  SAMPLEI(sst,{30,40,50})
  dealloc  dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G006)          ABSTRACT  COADSY    NORMAL    TIME4
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I: -999 -999  J:   45   45  K: -999 -999  L:    1    1
- const_v {30,...} M: 29 dset:   0 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999
- doing sampling tpry on I axis:     1     3 dset:   1
- reading SST      M: 21 dset:   1 I:   30   30  J:   45   45  K: -999 -999  L:    1    1
- reading SST      M: 33 dset:   1 I:   40   40  J:   45   45  K: -999 -999  L:    1    1
- reading SST      M: 24 dset:   1 I:   50   50  J:   45   45  K: -999 -999  L:    1    1
- -DELETE SST      M: 25 dset:   1 I:    1    3  J: -999 -999  K: -999 -999  L:    3    3  M: -999 -999  N: -999 -999
- -DELETE EX#1     M: 27 dset:   1 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999  M: -999 -999  N: -999 -999
- -DELETE tpry     M: 28 dset:   1 I:    1    3  J:   45   45  K: -999 -999  L:    1    1
- -DELETE {30,...} M: 29 dset:   0 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  5 dset:   1 I:   -999   -999  J:   45   45  K: -999 -999  L:      1      1
+ const_v {30,...} M:163 dset:   0 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999
+ doing sampling tpry on I axis:        1        3 dset:   1
+ found   SST      M:177 dset:   1 I:     30     41  J:   45   45  K: -999 -999  L:      1      1
+ reading SST      M:148 dset:   1 I:     50     50  J:   45   45  K: -999 -999  L:      1      1
+ -DELETE EX#1     M:174 dset:   1 I:      1      3  J: -999 -999  K: -999 -999  L:      3      3  M: -999 -999  N: -999 -999
+ -DELETE EX#1     M:152 dset:   1 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999  M: -999 -999  N: -999 -999
+ -DELETE tpry     M:173 dset:   1 I:      1      3  J:   45   45  K: -999 -999  L:      1      1
+ -DELETE {30,...} M:163 dset:   0 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999
              VARIABLE : SAMPLEI(SST,{30,40,50})
              FILENAME : coads_climatology.cdf
              SUBSET   : 3 points (X)
@@ -26235,26 +26144,26 @@ list SAMPLEI(sst[l=1,y=5N],{31,33,35,37,44,46,48})
  dealloc  dynamic grid (G017)          NORMAL    (AX004)   NORMAL    NORMAL
  dealloc  dynamic grid (G006)          ABSTRACT  (AX004)   NORMAL    NORMAL
  dealloc  dynamic grid (G006)          ABSTRACT  (AX004)   NORMAL    NORMAL
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid (C01,V02 C:  7 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid (C09,V02 C: 10 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid (C01,V02 C:  7 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid (C09,V02 C: 10 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
  allocate dynamic grid (G006)          ABSTRACT  COADSY    NORMAL    TIME4
  allocate dynamic grid (G006)          ABSTRACT  COADSY    NORMAL    TIME4
- eval    EX#1     C:  4 dset:   1 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- eval    (C01,V02 C:  6 dset:   1 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- const_v {31,...} M: 34 dset:   0 I:    1    7  J: -999 -999  K: -999 -999  L: -999 -999
- doing sampling tpry on I axis:     1     7 dset:   1
- eval    (C09,V02 C: 10 dset:   1 I:   31   35  J: -999 -999  K: -999 -999  L: -999 -999
- reading SST      M: 29 dset:   1 I:   31   35  J:   48   48  K: -999 -999  L:    1    1
- eval    (C09,V02 C: 10 dset:   1 I:   37   37  J:   48   48  K: -999 -999  L:    1    1
- reading SST      M: 24 dset:   1 I:   37   37  J:   48   48  K: -999 -999  L:    1    1
- eval    (C09,V02 C: 10 dset:   1 I:   44   48  J:   48   48  K: -999 -999  L:    1    1
- reading SST      M: 21 dset:   1 I:   44   48  J:   48   48  K: -999 -999  L:    1    1
- -DELETE Y        M: 31 dset:   0 I:    1    7  J: -999 -999  K: -999 -999  L:    7    7  M: -999 -999  N: -999 -999
- -DELETE SST      M: 32 dset:   1 I:    1    7  J: -999 -999  K: -999 -999  L: -999 -999  M: -999 -999  N: -999 -999
- -DELETE tpry     M: 25 dset:   1 I:    1    7  J:   48   48  K: -999 -999  L:    1    1
- -DELETE {31,...} M: 34 dset:   0 I:    1    7  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  4 dset:   1 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
+ eval    (C01,V02 C:  6 dset:   1 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
+ const_v {31,...} M:175 dset:   0 I:      1      7  J: -999 -999  K: -999 -999  L:   -999   -999
+ doing sampling tpry on I axis:        1        7 dset:   1
+ eval    (C09,V02 C: 10 dset:   1 I:     31     35  J: -999 -999  K: -999 -999  L:   -999   -999
+ reading SST      M:157 dset:   1 I:     31     35  J:   48   48  K: -999 -999  L:      1      1
+ eval    (C09,V02 C: 10 dset:   1 I:     37     37  J:   48   48  K: -999 -999  L:      1      1
+ reading SST      M:148 dset:   1 I:     37     37  J:   48   48  K: -999 -999  L:      1      1
+ eval    (C09,V02 C: 10 dset:   1 I:     44     48  J:   48   48  K: -999 -999  L:      1      1
+ reading SST      M:173 dset:   1 I:     44     48  J:   48   48  K: -999 -999  L:      1      1
+ -DELETE (C01,V02 M:161 dset:   0 I:      1      7  J: -999 -999  K: -999 -999  L:      7      7  M: -999 -999  N: -999 -999
+ -DELETE SST      M:174 dset:   1 I:      1      7  J: -999 -999  K: -999 -999  L:   -999   -999  M: -999 -999  N: -999 -999
+ -DELETE tpry     M:150 dset:   1 I:      1      7  J:   48   48  K: -999 -999  L:      1      1
+ -DELETE {31,...} M:175 dset:   0 I:      1      7  J: -999 -999  K: -999 -999  L:   -999   -999
              VARIABLE : SAMPLEI(SST[L=1,Y=5N],{31,33,35,37,44,46,48})
              FILENAME : coads_climatology.cdf
              SUBSET   : 7 points (X)
@@ -26272,20 +26181,17 @@ list SAMPLEI(sst[l=1,y=5N],{31,33,35,37,44,46,48})
  
 ! test cache hits
 list SAMPLEI(sst[l=1,y=5N],{31,33,35,37,44,46,48}) !   <-- CACHE HIT FAILS!!!
- eval    EX#1     C:  4 dset:   1 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- eval    (C01,V02 C:  6 dset:   1 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- const_v {31,...} M: 34 dset:   0 I:    1    7  J: -999 -999  K: -999 -999  L: -999 -999
- doing sampling tpry on I axis:     1     7 dset:   1
- eval    (C09,V02 C: 10 dset:   1 I:   31   35  J: -999 -999  K: -999 -999  L: -999 -999
- reading SST      M: 18 dset:   1 I:   31   35  J:   48   48  K: -999 -999  L:    1    1
- eval    (C09,V02 C: 10 dset:   1 I:   37   37  J:   48   48  K: -999 -999  L:    1    1
- reading SST      M: 33 dset:   1 I:   37   37  J:   48   48  K: -999 -999  L:    1    1
- eval    (C09,V02 C: 10 dset:   1 I:   44   48  J:   48   48  K: -999 -999  L:    1    1
- reading SST      M: 16 dset:   1 I:   44   48  J:   48   48  K: -999 -999  L:    1    1
- -DELETE Y        M: 31 dset:   0 I:    1    7  J: -999 -999  K: -999 -999  L:    7    7  M: -999 -999  N: -999 -999
- -DELETE tpry     M: 25 dset:   1 I:    1    7  J: -999 -999  K: -999 -999  L: -999 -999  M: -999 -999  N: -999 -999
- -DELETE tpry     M: 28 dset:   1 I:    1    7  J:   48   48  K: -999 -999  L:    1    1
- -DELETE {31,...} M: 34 dset:   0 I:    1    7  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  4 dset:   1 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
+ eval    (C01,V02 C:  6 dset:   1 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
+ const_v {31,...} M:175 dset:   0 I:      1      7  J: -999 -999  K: -999 -999  L:   -999   -999
+ doing sampling tpry on I axis:        1        7 dset:   1
+ found   (C09,V02 M:152 dset:   1 I:     31     35  J:   48   48  K: -999 -999  L:      1      1
+ found   (C09,V02 M:146 dset:   1 I:     37     37  J:   48   48  K: -999 -999  L:      1      1
+ found   (C09,V02 M:176 dset:   1 I:     44     48  J:   48   48  K: -999 -999  L:      1      1
+ -DELETE (C01,V02 M:161 dset:   0 I:      1      7  J: -999 -999  K: -999 -999  L:      7      7  M: -999 -999  N: -999 -999
+ -DELETE tpry     M:150 dset:   1 I:      1      7  J: -999 -999  K: -999 -999  L:   -999   -999  M: -999 -999  N: -999 -999
+ -DELETE tpry     M:154 dset:   1 I:      1      7  J:   48   48  K: -999 -999  L:      1      1
+ -DELETE {31,...} M:175 dset:   0 I:      1      7  J: -999 -999  K: -999 -999  L:   -999   -999
              VARIABLE : SAMPLEI(SST[L=1,Y=5N],{31,33,35,37,44,46,48})
              FILENAME : coads_climatology.cdf
              SUBSET   : 7 points (X)
@@ -26305,21 +26211,18 @@ let a = SAMPLEI(sst[l=1,y=5N],{31,33,35,37,44,46,48})
 load a
 set mode diagnostic
 list a 			!   <-- CACHE HIT FAILS!!!
- eval    EX#1     C:  4 dset:   1 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- eval    A        C:  6 dset:   1 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- eval    (C01,V01 C:  8 dset:   1 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- const_v {31,...} M: 19 dset:   0 I:    1    7  J: -999 -999  K: -999 -999  L: -999 -999
- doing sampling tpry on I axis:     1     7 dset:   1
- eval    (C09,V01 C: 12 dset:   1 I:   31   35  J: -999 -999  K: -999 -999  L: -999 -999
- reading SST      M: 14 dset:   1 I:   31   35  J:   48   48  K: -999 -999  L:    1    1
- eval    (C09,V01 C: 12 dset:   1 I:   37   37  J:   48   48  K: -999 -999  L:    1    1
- reading SST      M: 11 dset:   1 I:   37   37  J:   48   48  K: -999 -999  L:    1    1
- eval    (C09,V01 C: 12 dset:   1 I:   44   48  J:   48   48  K: -999 -999  L:    1    1
- reading SST      M:  9 dset:   1 I:   44   48  J:   48   48  K: -999 -999  L:    1    1
- -DELETE Y        M: 31 dset:   0 I:    1    7  J: -999 -999  K: -999 -999  L:    7    7  M: -999 -999  N: -999 -999
- -DELETE          M: 27 dset:   1 I:    1    7  J: -999 -999  K: -999 -999  L: -999 -999  M: -999 -999  N: -999 -999
- -DELETE tpry     M: 12 dset:   1 I:    1    7  J:   48   48  K: -999 -999  L:    1    1
- -DELETE {31,...} M: 19 dset:   0 I:    1    7  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  4 dset:   1 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
+ eval    A        C:  6 dset:   1 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
+ eval    (C01,V01 C:  8 dset:   1 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
+ const_v {31,...} M:146 dset:   0 I:      1      7  J: -999 -999  K: -999 -999  L:   -999   -999
+ doing sampling tpry on I axis:        1        7 dset:   1
+ found   (C09,V01 M:152 dset:   1 I:     31     35  J:   48   48  K: -999 -999  L:      1      1
+ found   (C09,V01 M:175 dset:   1 I:     37     37  J:   48   48  K: -999 -999  L:      1      1
+ found   (C09,V01 M:154 dset:   1 I:     44     48  J:   48   48  K: -999 -999  L:      1      1
+ -DELETE          M:161 dset:   0 I:      1      7  J: -999 -999  K: -999 -999  L:      7      7  M: -999 -999  N: -999 -999
+ -DELETE          M:176 dset:   1 I:      1      7  J: -999 -999  K: -999 -999  L:   -999   -999  M: -999 -999  N: -999 -999
+ -DELETE tpry     M:143 dset:   1 I:      1      7  J:   48   48  K: -999 -999  L:      1      1
+ -DELETE {31,...} M:146 dset:   0 I:      1      7  J: -999 -999  K: -999 -999  L:   -999   -999
              VARIABLE : SAMPLEI(SST[L=1,Y=5N],{31,33,35,37,44,46,48})
              FILENAME : coads_climatology.cdf
              SUBSET   : 7 points (X)
@@ -26337,16 +26240,12 @@ list a 			!   <-- CACHE HIT FAILS!!!
 set mode/last diagnostic
  
 SHOW MEM/FREE
- Current size of FERRET memory cache: 25.6 MegaWords  (1 word = 8 bytes)
-            total memory table slots: 500
-            total memory blocks: 2000
-            memory block size: 12800
- 
-            number of free memory blocks: 1978
-            largest free region: 1976
-            number of free regions: 3
-            free memory table slots: 478
-            number of UN-CACHED variables: 0
+    SET MEMORY/SIZE: 25.6 megawords
+    Peak demand: 38 words
+    Current cache: 50 words
+    Total table slots: 500
+    Free table slots: 490
+    Un-cached variables: 0
  
 ! test SAMPLEJ
 let/quiet a = sst + Z[z=0:500:5]
@@ -26564,8 +26463,10 @@ list SAMPLEL(X[x=110:200:10],{3,4,7})	! normal axis
  3   / 3:........................................
  
  
-GO bn_reset
+GO bn_reset bn_strides_revs_perms
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_strides_revs_perms
 GO bn_strides_revs_perms	! netCDF fancy reads
 ! bn_strides_revs_perms.jnl
 ! *sh* 6/99
@@ -26846,16 +26747,16 @@ SHOW DATA
  
 ! basic strides
 LIST VAR[i=2:4:2]
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G018)          (AX030)   YAX1_3    ZAX1_2    TAX1_1
  dealloc  dynamic grid (G018)          (AX030)   YAX1_3    ZAX1_2    TAX1_1
  allocate dynamic grid (G018)          (AX030)   YAX1_3    ZAX1_2    TAX1_1
- eval    EX#1     C:  4 dset:   1 I:    1    4  J:    1    3  K:    1    2  L:    1    1
+ eval    EX#1     C:  4 dset:   1 I:      1      4  J:    1    3  K:    1    2  L:      1      1
  allocate dynamic grid (G018)          (AX030)   YAX1_3    ZAX1_2    TAX1_1
  strip regrid on X: VAR --> (G018)           @XACT
- rdstride VAR      C:  7 dset:   1 I:    2    4  J:    1    3  K:    1    2  L:    1    1
- nulrgd  VAR      M: 44 dset:   1 I:    1    2  J:    1    3  K:    1    2  L:    1    1
- -DELETE VAR      M: 52 dset:   1 I:    2    4  J:    1    3  K:    1    2  L:    1    1
+ rdstride VAR      C:  7 dset:   1 I:      2      4  J:    1    3  K:    1    2  L:      1      1
+ nulrgd  VAR      M:179 dset:   1 I:      1      2  J:    1    3  K:    1    2  L:      1      1
+ -DELETE VAR      M:180 dset:   1 I:      2      4  J:    1    3  K:    1    2  L:      1      1
  dealloc  dynamic grid (G018)          (AX030)   YAX1_3    ZAX1_2    TAX1_1
              VARIABLE : L*1000 + K*100 + J*10 + I
                         regrid: 2 delta on X
@@ -26875,12 +26776,9 @@ LIST VAR[i=2:4:2]
  
 ! cache hit after changes to COMPLETE_MISSING_LIMS and FLESH_OUT_AXIS
 LIST VAR[i=2:4:2]
- eval    EX#1     C:  4 dset:   1 I:    1    4  J:    1    3  K:    1    2  L:    1    1
+ eval    EX#1     C:  4 dset:   1 I:      1      4  J:    1    3  K:    1    2  L:      1      1
  allocate dynamic grid (G018)          (AX030)   YAX1_3    ZAX1_2    TAX1_1
- strip regrid on X: VAR --> (G018)           @XACT
- rdstride VAR      C:  7 dset:   1 I:    2    4  J:    1    3  K:    1    2  L:    1    1
- nulrgd  VAR      M: 43 dset:   1 I:    1    2  J:    1    3  K:    1    2  L:    1    1
- -DELETE VAR      M: 52 dset:   1 I:    2    4  J:    1    3  K:    1    2  L:    1    1
+ found   VAR      M:179 dset:   1 I:      1      2  J:    1    3  K:    1    2  L:      1      1
  dealloc  dynamic grid (G018)          (AX030)   YAX1_3    ZAX1_2    TAX1_1
              VARIABLE : L*1000 + K*100 + J*10 + I
                         regrid: 2 delta on X
@@ -26902,21 +26800,20 @@ LIST VAR[i=2:4:2]
 let a = VAR[i=2:4:2]
 list a
  dealloc  dynamic grid (G018)          (AX030)   YAX1_3    ZAX1_2    TAX1_1
- -DELETE VAR      M: 43 dset:   1 I:    1    2  J:    1    3  K:    1    2  L:    1    1
- -DELETE VAR      M: 44 dset:   1 I:    1    2  J:    1    3  K:    1    2  L:    1    1
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid A        C:  7 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ -DELETE VAR      M:179 dset:   1 I:      1      2  J:    1    3  K:    1    2  L:      1      1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid A        C:  7 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G018)          (AX029)   YAX1_3    ZAX1_2    TAX1_1
  dealloc  dynamic grid (G018)          (AX029)   YAX1_3    ZAX1_2    TAX1_1
  allocate dynamic grid (G018)          (AX029)   YAX1_3    ZAX1_2    TAX1_1
  allocate dynamic grid (G018)          (AX029)   YAX1_3    ZAX1_2    TAX1_1
- eval    EX#1     C:  4 dset:   1 I:    1    4  J:    1    3  K:    1    2  L:    1    1
- eval    A        C:  6 dset:   1 I:    1    2  J:    1    3  K:    1    2  L:    1    1
+ eval    EX#1     C:  4 dset:   1 I:      1      4  J:    1    3  K:    1    2  L:      1      1
+ eval    A        C:  6 dset:   1 I:      1      2  J:    1    3  K:    1    2  L:      1      1
  allocate dynamic grid (G018)          (AX029)   YAX1_3    ZAX1_2    TAX1_1
  strip regrid on X: VAR --> (G018)           @XACT
- rdstride VAR      C:  9 dset:   1 I:    2    4  J:    1    3  K:    1    2  L:    1    1
- nulrgd  VAR      M: 43 dset:   1 I:    1    2  J:    1    3  K:    1    2  L:    1    1
- -DELETE VAR      M: 44 dset:   1 I:    2    4  J:    1    3  K:    1    2  L:    1    1
+ rdstride VAR      C:  9 dset:   1 I:      2      4  J:    1    3  K:    1    2  L:      1      1
+ nulrgd  VAR      M:180 dset:   1 I:      1      2  J:    1    3  K:    1    2  L:      1      1
+ -DELETE VAR      M:179 dset:   1 I:      2      4  J:    1    3  K:    1    2  L:      1      1
  dealloc  dynamic grid (G018)          (AX029)   YAX1_3    ZAX1_2    TAX1_1
              VARIABLE : VAR[I=2:4:2]
              FILENAME : bn_strides.cdf
@@ -26933,14 +26830,8 @@ list a
  2   / 2:  1222.00  1224.00
  3   / 3:  1232.00  1234.00
 list a		! from cache ...
- eval    EX#1     C:  4 dset:   1 I:    1    4  J:    1    3  K:    1    2  L:    1    1
- eval    A        C:  6 dset:   1 I:    1    2  J:    1    3  K:    1    2  L:    1    1
- allocate dynamic grid (G018)          (AX029)   YAX1_3    ZAX1_2    TAX1_1
- strip regrid on X: VAR --> (G018)           @XACT
- rdstride VAR      C:  9 dset:   1 I:    2    4  J:    1    3  K:    1    2  L:    1    1
- nulrgd  VAR      M: 40 dset:   1 I:    1    2  J:    1    3  K:    1    2  L:    1    1
- -DELETE VAR      M: 52 dset:   1 I:    2    4  J:    1    3  K:    1    2  L:    1    1
- dealloc  dynamic grid (G018)          (AX029)   YAX1_3    ZAX1_2    TAX1_1
+ eval    EX#1     C:  4 dset:   1 I:      1      4  J:    1    3  K:    1    2  L:      1      1
+ found   A        M:179 dset:   1 I:      1      2  J:    1    3  K:    1    2  L:      1      1
              VARIABLE : VAR[I=2:4:2]
              FILENAME : bn_strides.cdf
              SUBSET   : 2 by 3 by 2 points (X-Y-Z)
@@ -26958,28 +26849,26 @@ list a		! from cache ...
  
 ! cache hit from full region cache -- bypass use of strides
 cancel memory/all
- -DELETE VAR      M: 40 dset:   1 I:    1    2  J:    1    3  K:    1    2  L:    1    1
- -DELETE VAR      M: 43 dset:   1 I:    1    2  J:    1    3  K:    1    2  L:    1    1
- -DELETE A        M: 44 dset:   1 I:    1    2  J:    1    3  K:    1    2  L:    1    1
- -DELETE A        M: 52 dset:   1 I:    1    2  J:    1    3  K:    1    2  L:    1    1
+ -DELETE A        M:179 dset:   1 I:      1      2  J:    1    3  K:    1    2  L:      1      1
+ -DELETE VAR      M:180 dset:   1 I:      1      2  J:    1    3  K:    1    2  L:      1      1
 load var
  dealloc  dynamic grid (G018)          (AX029)   YAX1_3    ZAX1_2    TAX1_1
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GPC1            XAX1_4    YAX1_3    ZAX1_2    TAX1_1
- eval    EX#1     C:  4 dset:   1 I:    1    4  J:    1    3  K:    1    2  L:    1    1
- reading VAR      M: 52 dset:   1 I:    1    4  J:    1    3  K:    1    2  L:    1    1
+ eval    EX#1     C:  4 dset:   1 I:      1      4  J:    1    3  K:    1    2  L:      1      1
+ reading VAR      M:180 dset:   1 I:      1      4  J:    1    3  K:    1    2  L:      1      1
 LIST VAR[i=2:4:2]
  dealloc  dynamic grid GPC1            XAX1_4    YAX1_3    ZAX1_2    TAX1_1
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G018)          (AX029)   YAX1_3    ZAX1_2    TAX1_1
  dealloc  dynamic grid (G018)          (AX029)   YAX1_3    ZAX1_2    TAX1_1
  allocate dynamic grid (G018)          (AX029)   YAX1_3    ZAX1_2    TAX1_1
- eval    EX#1     C:  4 dset:   1 I:    1    4  J:    1    3  K:    1    2  L:    1    1
+ eval    EX#1     C:  4 dset:   1 I:      1      4  J:    1    3  K:    1    2  L:      1      1
  allocate dynamic grid (G018)          (AX029)   YAX1_3    ZAX1_2    TAX1_1
  strip regrid on X: VAR --> (G018)           @XACT
- rdstride VAR      C:  7 dset:   1 I:    2    4  J:    1    3  K:    1    2  L:    1    1
- nulrgd  VAR      M: 43 dset:   1 I:    1    2  J:    1    3  K:    1    2  L:    1    1
- -DELETE VAR      M: 44 dset:   1 I:    2    4  J:    1    3  K:    1    2  L:    1    1
+ rdstride VAR      C:  7 dset:   1 I:      2      4  J:    1    3  K:    1    2  L:      1      1
+ nulrgd  VAR      M:173 dset:   1 I:      1      2  J:    1    3  K:    1    2  L:      1      1
+ -DELETE VAR      M:179 dset:   1 I:      2      4  J:    1    3  K:    1    2  L:      1      1
  dealloc  dynamic grid (G018)          (AX029)   YAX1_3    ZAX1_2    TAX1_1
              VARIABLE : L*1000 + K*100 + J*10 + I
                         regrid: 2 delta on X
@@ -26998,16 +26887,16 @@ LIST VAR[i=2:4:2]
  3   / 3:  1232.00  1234.00
 LIST VAR[i=2:4:2,j=1:3:2]
  dealloc  dynamic grid (G018)          (AX029)   YAX1_3    ZAX1_2    TAX1_1
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G010)          (AX029)   (AX031)   ZAX1_2    TAX1_1
  dealloc  dynamic grid (G010)          (AX029)   (AX031)   ZAX1_2    TAX1_1
  allocate dynamic grid (G010)          (AX029)   (AX031)   ZAX1_2    TAX1_1
- eval    EX#1     C:  4 dset:   1 I:    1    4  J:    1    3  K:    1    2  L:    1    1
+ eval    EX#1     C:  4 dset:   1 I:      1      4  J:    1    3  K:    1    2  L:      1      1
  allocate dynamic grid (G010)          (AX029)   (AX031)   ZAX1_2    TAX1_1
  strip regrid on X: VAR --> (G010)           @XACT
- rdstride VAR      C:  7 dset:   1 I:    2    4  J:    1    3  K:    1    2  L:    1    1
- nulrgd  VAR      M: 40 dset:   1 I:    1    2  J:    1    2  K:    1    2  L:    1    1
- -DELETE VAR      M: 44 dset:   1 I:    2    4  J:    1    3  K:    1    2  L:    1    1
+ rdstride VAR      C:  7 dset:   1 I:      2      4  J:    1    3  K:    1    2  L:      1      1
+ nulrgd  VAR      M:170 dset:   1 I:      1      2  J:    1    2  K:    1    2  L:      1      1
+ -DELETE VAR      M:179 dset:   1 I:      2      4  J:    1    3  K:    1    2  L:      1      1
  dealloc  dynamic grid (G010)          (AX029)   (AX031)   ZAX1_2    TAX1_1
              VARIABLE : L*1000 + K*100 + J*10 + I
                         regrid: 2 delta on X, 2 delta on Y
@@ -27023,25 +26912,25 @@ LIST VAR[i=2:4:2,j=1:3:2]
  1   / 1:  1212.00  1214.00
  3   / 2:  1232.00  1234.00
 CANC MEM/ALL
- -DELETE VAR      M: 40 dset:   1 I:    1    2  J:    1    2  K:    1    2  L:    1    1
- -DELETE VAR      M: 43 dset:   1 I:    1    2  J:    1    3  K:    1    2  L:    1    1
- -DELETE VAR      M: 52 dset:   1 I:    1    4  J:    1    3  K:    1    2  L:    1    1
+ -DELETE VAR      M:170 dset:   1 I:      1      2  J:    1    2  K:    1    2  L:      1      1
+ -DELETE VAR      M:173 dset:   1 I:      1      2  J:    1    3  K:    1    2  L:      1      1
+ -DELETE VAR      M:180 dset:   1 I:      1      4  J:    1    3  K:    1    2  L:      1      1
  
 ! modulo requests cannot use strides (as this example shows)
 set axis/modulo XAX1_4
 LIST VAR[I=1:10:3,j=1,k=1,l=1]    ! 1, 4, 7(3), 10(2)
  dealloc  dynamic grid (G010)          (AX029)   (AX031)   ZAX1_2    TAX1_1
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G010)          (AX030)   YAX1_3    ZAX1_2    TAX1_1
  dealloc  dynamic grid (G010)          (AX030)   YAX1_3    ZAX1_2    TAX1_1
  allocate dynamic grid (G010)          (AX030)   YAX1_3    ZAX1_2    TAX1_1
- eval    EX#1     C:  4 dset:   1 I:    1    4  J:    1    3  K: -999 -999  L:    1    2
+ eval    EX#1     C:  4 dset:   1 I:      1      4  J:    1    3  K: -999 -999  L:      1      2
  allocate dynamic grid (G010)          (AX030)   YAX1_3    ZAX1_2    TAX1_1
  strip regrid on X: VAR --> (G010)           @XACT
- strip moduloing VAR on X axis:     1    10 dset:   1
- reading VAR      M: 52 dset:   1 I:    1    4  J:    1    1  K:    1    1  L:    1    1
- doing moduloing VAR on X axis:     1     4 dset:   1
- regrid  VAR      M: 40 dset:   1 I:    1    4  J:    1    1  K:    1    1  L:    1    1
+ strip moduloing VAR on X axis:        1       10 dset:   1
+ reading VAR      M:180 dset:   1 I:      1      4  J:    1    1  K:    1    1  L:      1      1
+ doing moduloing VAR on X axis:        1        4 dset:   1
+ regrid  VAR      M:170 dset:   1 I:      1      4  J:    1    1  K:    1    1  L:      1      1
  dealloc  dynamic grid (G010)          (AX030)   YAX1_3    ZAX1_2    TAX1_1
              VARIABLE : L*1000 + K*100 + J*10 + I
                         regrid: 3 delta on X
@@ -27057,23 +26946,23 @@ LIST VAR[I=1:10:3,j=1,k=1,l=1]    ! 1, 4, 7(3), 10(2)
  7    / 3:  1113.00
  10   / 4:  1112.00
 cancel axis/modulo XAX1_4
- -DELETE VAR      M: 40 dset:   1 I:    1    4  J:    1    1  K:    1    1  L:    1    1
- -DELETE VAR      M: 43 dset:   1 I:    1   10  J:    1    1  K:    1    1  L:    1    1
- -DELETE VAR      M: 52 dset:   1 I:    1    4  J:    1    1  K:    1    1  L:    1    1
+ -DELETE VAR      M:170 dset:   1 I:      1      4  J:    1    1  K:    1    1  L:      1      1
+ -DELETE VAR      M:173 dset:   1 I:      1     10  J:    1    1  K:    1    1  L:      1      1
+ -DELETE VAR      M:180 dset:   1 I:      1      4  J:    1    1  K:    1    1  L:      1      1
  
 ! strides applied to more than one axis need special attention in IS_REGRID
 LIST VAR[i=2:4:2,j=1:3:2]
  dealloc  dynamic grid (G010)          (AX030)   YAX1_3    ZAX1_2    TAX1_1
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G010)          (AX029)   (AX031)   ZAX1_2    TAX1_1
  dealloc  dynamic grid (G010)          (AX029)   (AX031)   ZAX1_2    TAX1_1
  allocate dynamic grid (G010)          (AX029)   (AX031)   ZAX1_2    TAX1_1
- eval    EX#1     C:  4 dset:   1 I:    1    4  J:    1    3  K:    1    2  L:    1    1
+ eval    EX#1     C:  4 dset:   1 I:      1      4  J:    1    3  K:    1    2  L:      1      1
  allocate dynamic grid (G010)          (AX029)   (AX031)   ZAX1_2    TAX1_1
  strip regrid on X: VAR --> (G010)           @XACT
- rdstride VAR      C:  7 dset:   1 I:    2    4  J:    1    3  K:    1    2  L:    1    1
- nulrgd  VAR      M: 43 dset:   1 I:    1    2  J:    1    2  K:    1    2  L:    1    1
- -DELETE VAR      M: 52 dset:   1 I:    2    4  J:    1    3  K:    1    2  L:    1    1
+ rdstride VAR      C:  7 dset:   1 I:      2      4  J:    1    3  K:    1    2  L:      1      1
+ nulrgd  VAR      M:173 dset:   1 I:      1      2  J:    1    2  K:    1    2  L:      1      1
+ -DELETE VAR      M:180 dset:   1 I:      2      4  J:    1    3  K:    1    2  L:      1      1
  dealloc  dynamic grid (G010)          (AX029)   (AX031)   ZAX1_2    TAX1_1
              VARIABLE : L*1000 + K*100 + J*10 + I
                         regrid: 2 delta on X, 2 delta on Y
@@ -27090,17 +26979,17 @@ LIST VAR[i=2:4:2,j=1:3:2]
  3   / 2:  1232.00  1234.00
 LIST VAR[i=2:6:2,j=1:5:2]
  dealloc  dynamic grid (G010)          (AX029)   (AX031)   ZAX1_2    TAX1_1
- -DELETE VAR      M: 43 dset:   1 I:    1    2  J:    1    2  K:    1    2  L:    1    1
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ -DELETE VAR      M:173 dset:   1 I:      1      2  J:    1    2  K:    1    2  L:      1      1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G010)          (AX029)   (AX030)   ZAX1_2    TAX1_1
  dealloc  dynamic grid (G010)          (AX029)   (AX030)   ZAX1_2    TAX1_1
  allocate dynamic grid (G010)          (AX029)   (AX030)   ZAX1_2    TAX1_1
- eval    EX#1     C:  4 dset:   1 I:    1    4  J:    1    3  K:    1    2  L:    1    1
+ eval    EX#1     C:  4 dset:   1 I:      1      4  J:    1    3  K:    1    2  L:      1      1
  allocate dynamic grid (G010)          (AX029)   (AX030)   ZAX1_2    TAX1_1
  strip regrid on X: VAR --> (G010)           @XACT
- rdstride VAR      C:  7 dset:   1 I:    2    4  J:    1    3  K:    1    2  L:    1    1
- nulrgd  VAR      M: 52 dset:   1 I:    1    2  J:    1    2  K:    1    2  L:    1    1
- -DELETE VAR      M: 43 dset:   1 I:    2    4  J:    1    3  K:    1    2  L:    1    1
+ rdstride VAR      C:  7 dset:   1 I:      2      4  J:    1    3  K:    1    2  L:      1      1
+ nulrgd  VAR      M:180 dset:   1 I:      1      2  J:    1    2  K:    1    2  L:      1      1
+ -DELETE VAR      M:173 dset:   1 I:      2      4  J:    1    3  K:    1    2  L:      1      1
  dealloc  dynamic grid (G010)          (AX029)   (AX030)   ZAX1_2    TAX1_1
              VARIABLE : L*1000 + K*100 + J*10 + I
                         regrid: 2 delta on X, 2 delta on Y
@@ -27119,22 +27008,22 @@ LIST VAR[i=2:6:2,j=1:5:2]
 ! deliberate error
 set mode ignore; LIST/i=2:4:2 VAR; cancel mode ignore
  dealloc  dynamic grid (G010)          (AX029)   (AX030)   ZAX1_2    TAX1_1
- -DELETE VAR      M: 52 dset:   1 I:    1    2  J:    1    2  K:    1    2  L:    1    1
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ -DELETE VAR      M:180 dset:   1 I:      1      2  J:    1    2  K:    1    2  L:      1      1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GPC1            XAX1_4    YAX1_3    ZAX1_2    TAX1_1
  
 ! averaging causes bypass of strides
 LIST VAR[i=2:4:2 at ave]
  dealloc  dynamic grid GPC1            XAX1_4    YAX1_3    ZAX1_2    TAX1_1
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G018)          (AX029)   YAX1_3    ZAX1_2    TAX1_1
  dealloc  dynamic grid (G018)          (AX029)   YAX1_3    ZAX1_2    TAX1_1
  allocate dynamic grid (G018)          (AX029)   YAX1_3    ZAX1_2    TAX1_1
- eval    EX#1     C:  4 dset:   1 I:    1    4  J:    1    3  K:    1    2  L:    1    1
+ eval    EX#1     C:  4 dset:   1 I:      1      4  J:    1    3  K:    1    2  L:      1      1
  allocate dynamic grid (G018)          (AX029)   YAX1_3    ZAX1_2    TAX1_1
  strip regrid on X: VAR --> (G018)           @AVE
- reading VAR      M: 52 dset:   1 I:    1    4  J:    1    3  K:    1    2  L:    1    1
- regrid  VAR      M: 43 dset:   1 I:    1    2  J:    1    3  K:    1    2  L:    1    1
+ reading VAR      M:180 dset:   1 I:      1      4  J:    1    3  K:    1    2  L:      1      1
+ regrid  VAR      M:173 dset:   1 I:      1      2  J:    1    3  K:    1    2  L:      1      1
  dealloc  dynamic grid (G018)          (AX029)   YAX1_3    ZAX1_2    TAX1_1
              VARIABLE : L*1000 + K*100 + J*10 + I
                         regrid: 2 delta on X at AVE
@@ -27156,22 +27045,22 @@ LIST VAR[i=2:4:2 at ave]
 let a = bigvar[i=1:40:5]
  dealloc  dynamic grid (G018)          (AX029)   YAX1_3    ZAX1_2    TAX1_1
  dealloc  dynamic grid (G018)          (AX029)   YAX1_3    ZAX1_2    TAX1_1
- -DELETE VAR      M: 43 dset:   1 I:    1    2  J:    1    3  K:    1    2  L:    1    1
+ -DELETE VAR      M:173 dset:   1 I:      1      2  J:    1    3  K:    1    2  L:      1      1
 list/j=1/k=1/l=1 a[i=3:5]
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid A        C:  7 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid A        C:  7 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G018)          (AX030)   YAX1_30   ZAX1_20   TAX1_10
  dealloc  dynamic grid (G018)          (AX030)   YAX1_30   ZAX1_20   TAX1_10
  allocate dynamic grid (G018)          (AX030)   YAX1_30   ZAX1_20   TAX1_10
  allocate dynamic grid (G018)          (AX030)   YAX1_30   ZAX1_20   TAX1_10
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:    1    4  J:    1    1  K:    1    1  L:    1    1
- eval    A        C:  7 dset:   1 I:    3    5  J:    1    1  K:    1    1  L:    1    1
+ eval    EX#1     C:  5 dset:   1 I:      1      4  J:    1    1  K:    1    1  L:      1      1
+ eval    A        C:  7 dset:   1 I:      3      5  J:    1    1  K:    1    1  L:      1      1
  allocate dynamic grid (G018)          (AX030)   YAX1_30   ZAX1_20   TAX1_10
  strip regrid on X: BIGVAR --> (G018)           @XACT
- rdstride BIGVAR   C: 10 dset:   1 I:    1   36  J:    1    1  K:    1    1  L:    1    1
- nulrgd  BIGVAR   M: 40 dset:   1 I:    1    8  J:    1    1  K:    1    1  L:    1    1
- -DELETE BIGVAR   M: 43 dset:   1 I:    1   36  J:    1    1  K:    1    1  L:    1    1
+ rdstride BIGVAR   C: 10 dset:   1 I:      1     36  J:    1    1  K:    1    1  L:      1      1
+ nulrgd  BIGVAR   M:170 dset:   1 I:      1      8  J:    1    1  K:    1    1  L:      1      1
+ -DELETE BIGVAR   M:173 dset:   1 I:      1     36  J:    1    1  K:    1    1  L:      1      1
  dealloc  dynamic grid (G018)          (AX030)   YAX1_30   ZAX1_20   TAX1_10
              VARIABLE : BIGVAR[I=1:40:5]
              FILENAME : bn_strides.cdf
@@ -27184,25 +27073,25 @@ list/j=1/k=1/l=1 a[i=3:5]
  11   / 3:  1121.00
  16   / 4:  1126.00
  21   / 5:  1131.00
- -DELETE A        M: 44 dset:   1 I:    1    1  J:    3    5  K:    1    1  L:    1    1
+ -DELETE A        M:179 dset:   1 I:      1      1  J:    3    5  K:    1    1  L:      1      1
 list/k=1/l=1 a[i=3:5,j=1:8:2]
  dealloc  dynamic grid (G018)          (AX030)   YAX1_30   ZAX1_20   TAX1_10
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G010)          (AX030)   (AX031)   ZAX1_20   TAX1_10
  dealloc  dynamic grid (G010)          (AX030)   (AX031)   ZAX1_20   TAX1_10
  allocate dynamic grid (G010)          (AX030)   (AX031)   ZAX1_20   TAX1_10
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:    1    4  J:    1    3  K:    1    1  L:    1    1
+ eval    EX#1     C:  5 dset:   1 I:      1      4  J:    1    3  K:    1    1  L:      1      1
  allocate dynamic grid (G010)          (AX030)   (AX031)   ZAX1_20   TAX1_10
  strip regrid on Y: A --> (G010)           @XACT
- eval    A        C:  8 dset:   1 I:    3    5  J:    1    7  K:    1    1  L:    1    1
+ eval    A        C:  8 dset:   1 I:      3      5  J:    1    7  K:    1    1  L:      1      1
  allocate dynamic grid (G018)          (AX030)   YAX1_30   ZAX1_20   TAX1_10
  strip regrid on X: BIGVAR --> (G018)           @XACT
- rdstride BIGVAR   C: 11 dset:   1 I:    1   36  J:    1    7  K:    1    1  L:    1    1
- nulrgd  BIGVAR   M: 39 dset:   1 I:    1    8  J:    1    7  K:    1    1  L:    1    1
- -DELETE BIGVAR   M: 44 dset:   1 I:    1   36  J:    1    7  K:    1    1  L:    1    1
+ rdstride BIGVAR   C: 11 dset:   1 I:      1     36  J:    1    7  K:    1    1  L:      1      1
+ nulrgd  BIGVAR   M:168 dset:   1 I:      1      8  J:    1    7  K:    1    1  L:      1      1
+ -DELETE BIGVAR   M:179 dset:   1 I:      1     36  J:    1    7  K:    1    1  L:      1      1
  dealloc  dynamic grid (G018)          (AX030)   YAX1_30   ZAX1_20   TAX1_10
- regrid  A        M: 38 dset:   1 I:    3    5  J:    1    4  K:    1    1  L:    1    1
+ regrid  A        M:166 dset:   1 I:      3      5  J:    1    4  K:    1    1  L:      1      1
  dealloc  dynamic grid (G010)          (AX030)   (AX031)   ZAX1_20   TAX1_10
              VARIABLE : BIGVAR[I=1:40:5]
                         regrid: 2 delta on Y
@@ -27221,12 +27110,12 @@ list/k=1/l=1 a[i=3:5,j=1:8:2]
 ! reference data
 LIST/order=x/j=1/k=1/l=1 UNEVENVAR
  dealloc  dynamic grid (G010)          (AX030)   (AX031)   ZAX1_20   TAX1_10
- -DELETE A        M: 38 dset:   1 I:    3    5  J:    1    4  K:    1    1  L:    1    1
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ -DELETE A        M:166 dset:   1 I:      3      5  J:    1    4  K:    1    1  L:      1      1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GPC4            XUNEVEN   YUNEVEN   ZAX1_6    TAX1_4
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:    1    4  J:    1    1  K:    1    1  L:    1    1
- reading UNE-NVAR M: 38 dset:   1 I:    1    4  J:    1    1  K:    1    1  L:    1    1
+ eval    EX#1     C:  5 dset:   1 I:      1      4  J:    1    1  K:    1    1  L:      1      1
+ reading UNE-NVAR M:166 dset:   1 I:      1      4  J:    1    1  K:    1    1  L:      1      1
              VARIABLE : L*1000 + K*100 + J[GY=YUNEVEN]*10 + I[GX=XUNEVEN]
              FILENAME : bn_strides.cdf
              SUBSET   : 4 points (X)
@@ -27237,27 +27126,27 @@ LIST/order=x/j=1/k=1/l=1 UNEVENVAR
              1        2        3        4
           1111.00  1112.00  1113.00  1114.00
 cancel mem/all
- -DELETE UNE-NVAR M: 38 dset:   1 I:    1    4  J:    1    1  K:    1    1  L:    1    1
- -DELETE BIGVAR   M: 39 dset:   1 I:    1    8  J:    1    7  K:    1    1  L:    1    1
- -DELETE BIGVAR   M: 40 dset:   1 I:    1    8  J:    1    1  K:    1    1  L:    1    1
- -DELETE A        M: 43 dset:   1 I:    1    8  J:    1    1  K:    1    1  L:    1    1
- -DELETE A        M: 44 dset:   1 I:    1    8  J:    1    7  K:    1    1  L:    1    1
- -DELETE VAR      M: 52 dset:   1 I:    1    4  J:    1    3  K:    1    2  L:    1    1
+ -DELETE UNE-NVAR M:166 dset:   1 I:      1      4  J:    1    1  K:    1    1  L:      1      1
+ -DELETE BIGVAR   M:168 dset:   1 I:      1      8  J:    1    7  K:    1    1  L:      1      1
+ -DELETE BIGVAR   M:170 dset:   1 I:      1      8  J:    1    1  K:    1    1  L:      1      1
+ -DELETE A        M:173 dset:   1 I:      1      8  J:    1    1  K:    1    1  L:      1      1
+ -DELETE A        M:179 dset:   1 I:      1      8  J:    1    7  K:    1    1  L:      1      1
+ -DELETE VAR      M:180 dset:   1 I:      1      4  J:    1    3  K:    1    2  L:      1      1
  
 ! basic strides
 LIST/order=x/j=1/k=1/l=1 UNEVENVAR[i=2:4:2]
  dealloc  dynamic grid GPC4            XUNEVEN   YUNEVEN   ZAX1_6    TAX1_4
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G010)          (AX029)   YUNEVEN   ZAX1_6    TAX1_4
  dealloc  dynamic grid (G010)          (AX029)   YUNEVEN   ZAX1_6    TAX1_4
  allocate dynamic grid (G010)          (AX029)   YUNEVEN   ZAX1_6    TAX1_4
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:    1    4  J:    1    1  K:    1    1  L:    1    1
+ eval    EX#1     C:  5 dset:   1 I:      1      4  J:    1    1  K:    1    1  L:      1      1
  allocate dynamic grid (G010)          (AX029)   YUNEVEN   ZAX1_6    TAX1_4
  strip regrid on X: UNEVENVAR --> (G010)           @XACT
- rdstride UNE-NVAR C:  8 dset:   1 I:    2    4  J:    1    1  K:    1    1  L:    1    1
- nulrgd  UNE-NVAR M: 44 dset:   1 I:    1    2  J:    1    1  K:    1    1  L:    1    1
- -DELETE UNE-NVAR M: 52 dset:   1 I:    2    4  J:    1    1  K:    1    1  L:    1    1
+ rdstride UNE-NVAR C:  8 dset:   1 I:      2      4  J:    1    1  K:    1    1  L:      1      1
+ nulrgd  UNE-NVAR M:179 dset:   1 I:      1      2  J:    1    1  K:    1    1  L:      1      1
+ -DELETE UNE-NVAR M:180 dset:   1 I:      2      4  J:    1    1  K:    1    1  L:      1      1
  dealloc  dynamic grid (G010)          (AX029)   YUNEVEN   ZAX1_6    TAX1_4
              VARIABLE : L*1000 + K*100 + J[GY=YUNEVEN]*10 + I[GX=XUNEVEN]
                         regrid: on X
@@ -27273,12 +27162,9 @@ LIST/order=x/j=1/k=1/l=1 UNEVENVAR[i=2:4:2]
 ! cache hit after changes to COMPLETE_MISSING_LIMS and FLESH_OUT_AXIS
 LIST/order=x/j=1/k=1/l=1 UNEVENVAR[i=2:4:2]
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:    1    4  J:    1    1  K:    1    1  L:    1    1
+ eval    EX#1     C:  5 dset:   1 I:      1      4  J:    1    1  K:    1    1  L:      1      1
  allocate dynamic grid (G010)          (AX029)   YUNEVEN   ZAX1_6    TAX1_4
- strip regrid on X: UNEVENVAR --> (G010)           @XACT
- rdstride UNE-NVAR C:  8 dset:   1 I:    2    4  J:    1    1  K:    1    1  L:    1    1
- nulrgd  UNE-NVAR M: 43 dset:   1 I:    1    2  J:    1    1  K:    1    1  L:    1    1
- -DELETE UNE-NVAR M: 52 dset:   1 I:    2    4  J:    1    1  K:    1    1  L:    1    1
+ found   UNE-NVAR M:179 dset:   1 I:      1      2  J:    1    1  K:    1    1  L:      1      1
  dealloc  dynamic grid (G010)          (AX029)   YUNEVEN   ZAX1_6    TAX1_4
              VARIABLE : L*1000 + K*100 + J[GY=YUNEVEN]*10 + I[GX=XUNEVEN]
                         regrid: on X
@@ -27294,24 +27180,23 @@ LIST/order=x/j=1/k=1/l=1 UNEVENVAR[i=2:4:2]
 ! cache hit through non-file variable
 let a = UNEVENVAR[i=2:4:2]
  dealloc  dynamic grid (G010)          (AX029)   YUNEVEN   ZAX1_6    TAX1_4
- -DELETE UNE-NVAR M: 43 dset:   1 I:    1    2  J:    1    1  K:    1    1  L:    1    1
- -DELETE UNE-NVAR M: 44 dset:   1 I:    1    2  J:    1    1  K:    1    1  L:    1    1
+ -DELETE UNE-NVAR M:179 dset:   1 I:      1      2  J:    1    1  K:    1    1  L:      1      1
  dealloc  dynamic grid (G018)          (AX030)   YAX1_30   ZAX1_20   TAX1_10
 list/order=x/j=1/k=1/l=1 a
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid A        C:  7 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid A        C:  7 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G018)          (AX029)   YUNEVEN   ZAX1_6    TAX1_4
  dealloc  dynamic grid (G018)          (AX029)   YUNEVEN   ZAX1_6    TAX1_4
  allocate dynamic grid (G018)          (AX029)   YUNEVEN   ZAX1_6    TAX1_4
  allocate dynamic grid (G018)          (AX029)   YUNEVEN   ZAX1_6    TAX1_4
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:    1    4  J:    1    1  K:    1    1  L:    1    1
- eval    A        C:  7 dset:   1 I:    1    2  J:    1    1  K:    1    1  L:    1    1
+ eval    EX#1     C:  5 dset:   1 I:      1      4  J:    1    1  K:    1    1  L:      1      1
+ eval    A        C:  7 dset:   1 I:      1      2  J:    1    1  K:    1    1  L:      1      1
  allocate dynamic grid (G018)          (AX029)   YUNEVEN   ZAX1_6    TAX1_4
  strip regrid on X: UNEVENVAR --> (G018)           @XACT
- rdstride UNE-NVAR C: 10 dset:   1 I:    2    4  J:    1    1  K:    1    1  L:    1    1
- nulrgd  UNE-NVAR M: 43 dset:   1 I:    1    2  J:    1    1  K:    1    1  L:    1    1
- -DELETE UNE-NVAR M: 44 dset:   1 I:    2    4  J:    1    1  K:    1    1  L:    1    1
+ rdstride UNE-NVAR C: 10 dset:   1 I:      2      4  J:    1    1  K:    1    1  L:      1      1
+ nulrgd  UNE-NVAR M:180 dset:   1 I:      1      2  J:    1    1  K:    1    1  L:      1      1
+ -DELETE UNE-NVAR M:179 dset:   1 I:      2      4  J:    1    1  K:    1    1  L:      1      1
  dealloc  dynamic grid (G018)          (AX029)   YUNEVEN   ZAX1_6    TAX1_4
              VARIABLE : UNEVENVAR[I=2:4:2]
              FILENAME : bn_strides.cdf
@@ -27324,14 +27209,8 @@ list/order=x/j=1/k=1/l=1 a
           1112.00  1114.00
 list/order=x/j=1/k=1/l=1 a		! from cache ...
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:    1    4  J:    1    1  K:    1    1  L:    1    1
- eval    A        C:  7 dset:   1 I:    1    2  J:    1    1  K:    1    1  L:    1    1
- allocate dynamic grid (G018)          (AX029)   YUNEVEN   ZAX1_6    TAX1_4
- strip regrid on X: UNEVENVAR --> (G018)           @XACT
- rdstride UNE-NVAR C: 10 dset:   1 I:    2    4  J:    1    1  K:    1    1  L:    1    1
- nulrgd  UNE-NVAR M: 40 dset:   1 I:    1    2  J:    1    1  K:    1    1  L:    1    1
- -DELETE UNE-NVAR M: 52 dset:   1 I:    2    4  J:    1    1  K:    1    1  L:    1    1
- dealloc  dynamic grid (G018)          (AX029)   YUNEVEN   ZAX1_6    TAX1_4
+ eval    EX#1     C:  5 dset:   1 I:      1      4  J:    1    1  K:    1    1  L:      1      1
+ found   A        M:179 dset:   1 I:      1      2  J:    1    1  K:    1    1  L:      1      1
              VARIABLE : UNEVENVAR[I=2:4:2]
              FILENAME : bn_strides.cdf
              SUBSET   : 2 points (X)
@@ -27344,30 +27223,28 @@ list/order=x/j=1/k=1/l=1 a		! from cache ...
  
 ! cache hit from full region cache -- bypass use of strides
 cancel memory/all
- -DELETE UNE-NVAR M: 40 dset:   1 I:    1    2  J:    1    1  K:    1    1  L:    1    1
- -DELETE UNE-NVAR M: 43 dset:   1 I:    1    2  J:    1    1  K:    1    1  L:    1    1
- -DELETE A        M: 44 dset:   1 I:    1    2  J:    1    1  K:    1    1  L:    1    1
- -DELETE A        M: 52 dset:   1 I:    1    2  J:    1    1  K:    1    1  L:    1    1
+ -DELETE A        M:179 dset:   1 I:      1      2  J:    1    1  K:    1    1  L:      1      1
+ -DELETE UNE-NVAR M:180 dset:   1 I:      1      2  J:    1    1  K:    1    1  L:      1      1
 load/k=1/l=1 UNEVENVAR
  dealloc  dynamic grid (G018)          (AX029)   YUNEVEN   ZAX1_6    TAX1_4
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GPC4            XUNEVEN   YUNEVEN   ZAX1_6    TAX1_4
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:    1    4  J:    1    3  K:    1    1  L:    1    1
- reading UNE-NVAR M: 52 dset:   1 I:    1    4  J:    1    3  K:    1    1  L:    1    1
+ eval    EX#1     C:  5 dset:   1 I:      1      4  J:    1    3  K:    1    1  L:      1      1
+ reading UNE-NVAR M:180 dset:   1 I:      1      4  J:    1    3  K:    1    1  L:      1      1
 LIST/j=1/k=1/l=1 UNEVENVAR[i=2:4:2]
  dealloc  dynamic grid GPC4            XUNEVEN   YUNEVEN   ZAX1_6    TAX1_4
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G018)          (AX029)   YUNEVEN   ZAX1_6    TAX1_4
  dealloc  dynamic grid (G018)          (AX029)   YUNEVEN   ZAX1_6    TAX1_4
  allocate dynamic grid (G018)          (AX029)   YUNEVEN   ZAX1_6    TAX1_4
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:    1    4  J:    1    1  K:    1    1  L:    1    1
+ eval    EX#1     C:  5 dset:   1 I:      1      4  J:    1    1  K:    1    1  L:      1      1
  allocate dynamic grid (G018)          (AX029)   YUNEVEN   ZAX1_6    TAX1_4
  strip regrid on X: UNEVENVAR --> (G018)           @XACT
- rdstride UNE-NVAR C:  8 dset:   1 I:    2    4  J:    1    1  K:    1    1  L:    1    1
- nulrgd  UNE-NVAR M: 43 dset:   1 I:    1    2  J:    1    1  K:    1    1  L:    1    1
- -DELETE UNE-NVAR M: 44 dset:   1 I:    2    4  J:    1    1  K:    1    1  L:    1    1
+ rdstride UNE-NVAR C:  8 dset:   1 I:      2      4  J:    1    1  K:    1    1  L:      1      1
+ nulrgd  UNE-NVAR M:173 dset:   1 I:      1      2  J:    1    1  K:    1    1  L:      1      1
+ -DELETE UNE-NVAR M:179 dset:   1 I:      2      4  J:    1    1  K:    1    1  L:      1      1
  dealloc  dynamic grid (G018)          (AX029)   YUNEVEN   ZAX1_6    TAX1_4
              VARIABLE : L*1000 + K*100 + J[GY=YUNEVEN]*10 + I[GX=XUNEVEN]
                         regrid: on X
@@ -27382,17 +27259,17 @@ LIST/j=1/k=1/l=1 UNEVENVAR[i=2:4:2]
  0.6  / 2:  1114.00
 LIST/j=1/k=1/l=1 UNEVENVAR[i=2:4:2,j=1:5:2]
  dealloc  dynamic grid (G018)          (AX029)   YUNEVEN   ZAX1_6    TAX1_4
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G010)          (AX029)   (AX031)   ZAX1_6    TAX1_4
  dealloc  dynamic grid (G010)          (AX029)   (AX031)   ZAX1_6    TAX1_4
  allocate dynamic grid (G010)          (AX029)   (AX031)   ZAX1_6    TAX1_4
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:    1    4  J:    1    1  K:    1    1  L:    1    1
+ eval    EX#1     C:  5 dset:   1 I:      1      4  J:    1    1  K:    1    1  L:      1      1
  allocate dynamic grid (G010)          (AX029)   (AX031)   ZAX1_6    TAX1_4
  strip regrid on X: UNEVENVAR --> (G010)           @XACT
- rdstride UNE-NVAR C:  8 dset:   1 I:    2    4  J:    1    5  K:    1    1  L:    1    1
- nulrgd  UNE-NVAR M: 40 dset:   1 I:    1    2  J:    1    3  K:    1    1  L:    1    1
- -DELETE UNE-NVAR M: 44 dset:   1 I:    2    4  J:    1    5  K:    1    1  L:    1    1
+ rdstride UNE-NVAR C:  8 dset:   1 I:      2      4  J:    1    5  K:    1    1  L:      1      1
+ nulrgd  UNE-NVAR M:170 dset:   1 I:      1      2  J:    1    3  K:    1    1  L:      1      1
+ -DELETE UNE-NVAR M:179 dset:   1 I:      2      4  J:    1    5  K:    1    1  L:      1      1
  dealloc  dynamic grid (G010)          (AX029)   (AX031)   ZAX1_6    TAX1_4
  doing limits reconciliation on Y axis: UNEVENVAR
              VARIABLE : L*1000 + K*100 + J[GY=YUNEVEN]*10 + I[GX=XUNEVEN]
@@ -27406,27 +27283,27 @@ LIST/j=1/k=1/l=1 UNEVENVAR[i=2:4:2,j=1:5:2]
                1
  0.3  / 1:  1112.00
  0.6  / 2:  1114.00
- -DELETE UNE-NVAR M: 44 dset:   1 I:    1    1  J:    1    2  K:    1    1  L:    1    1
+ -DELETE UNE-NVAR M:179 dset:   1 I:      1      1  J:    1    2  K:    1    1  L:      1      1
 CANC MEM/ALL
- -DELETE UNE-NVAR M: 40 dset:   1 I:    1    2  J:    1    3  K:    1    1  L:    1    1
- -DELETE UNE-NVAR M: 43 dset:   1 I:    1    2  J:    1    1  K:    1    1  L:    1    1
- -DELETE UNE-NVAR M: 52 dset:   1 I:    1    4  J:    1    3  K:    1    1  L:    1    1
+ -DELETE UNE-NVAR M:170 dset:   1 I:      1      2  J:    1    3  K:    1    1  L:      1      1
+ -DELETE UNE-NVAR M:173 dset:   1 I:      1      2  J:    1    1  K:    1    1  L:      1      1
+ -DELETE UNE-NVAR M:180 dset:   1 I:      1      4  J:    1    3  K:    1    1  L:      1      1
  
 ! modulo requests cannot use strides (as this example shows)
 set axis/modulo XUNEVEN
 LIST/order=x UNEVENVAR[I=1:30:7,j=1,k=1,l=1]    ! 1, 8, 15(5), 22(2)
  dealloc  dynamic grid (G010)          (AX029)   (AX031)   ZAX1_6    TAX1_4
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G010)          (AX030)   YUNEVEN   ZAX1_6    TAX1_4
  dealloc  dynamic grid (G010)          (AX030)   YUNEVEN   ZAX1_6    TAX1_4
  allocate dynamic grid (G010)          (AX030)   YUNEVEN   ZAX1_6    TAX1_4
- eval    EX#1     C:  4 dset:   1 I:    1    4  J:    1    3  K: -999 -999  L:    1    2
+ eval    EX#1     C:  4 dset:   1 I:      1      4  J:    1    3  K: -999 -999  L:      1      2
  allocate dynamic grid (G010)          (AX030)   YUNEVEN   ZAX1_6    TAX1_4
  strip regrid on X: UNEVENVAR --> (G010)           @XACT
- strip moduloing UNEVENVAR on X axis:     1    29 dset:   1
- reading UNE-NVAR M: 52 dset:   1 I:    1   10  J:    1    1  K:    1    1  L:    1    1
- doing moduloing UNEVENVAR on X axis:     1    10 dset:   1
- regrid  UNE-NVAR M: 40 dset:   1 I:    1    5  J:    1    1  K:    1    1  L:    1    1
+ strip moduloing UNEVENVAR on X axis:        1       29 dset:   1
+ reading UNE-NVAR M:180 dset:   1 I:      1     10  J:    1    1  K:    1    1  L:      1      1
+ doing moduloing UNEVENVAR on X axis:        1       10 dset:   1
+ regrid  UNE-NVAR M:170 dset:   1 I:      1      5  J:    1    1  K:    1    1  L:      1      1
  dealloc  dynamic grid (G010)          (AX030)   YUNEVEN   ZAX1_6    TAX1_4
              VARIABLE : L*1000 + K*100 + J[GY=YUNEVEN]*10 + I[GX=XUNEVEN]
                         regrid: on X
@@ -27439,24 +27316,24 @@ LIST/order=x UNEVENVAR[I=1:30:7,j=1,k=1,l=1]    ! 1, 8, 15(5), 22(2)
              1        2        3        4        5
           1111.00  1118.00  1115.00  1112.00  1119.00
 cancel axis/modulo XUNEVEN
- -DELETE UNE-NVAR M: 40 dset:   1 I:    1    5  J:    1    1  K:    1    1  L:    1    1
- -DELETE UNE-NVAR M: 43 dset:   1 I:    1   29  J:    1    1  K:    1    1  L:    1    1
- -DELETE UNE-NVAR M: 52 dset:   1 I:    1   10  J:    1    1  K:    1    1  L:    1    1
+ -DELETE UNE-NVAR M:170 dset:   1 I:      1      5  J:    1    1  K:    1    1  L:      1      1
+ -DELETE UNE-NVAR M:173 dset:   1 I:      1     29  J:    1    1  K:    1    1  L:      1      1
+ -DELETE UNE-NVAR M:180 dset:   1 I:      1     10  J:    1    1  K:    1    1  L:      1      1
  
 ! strides applied to more than one axis need special attention in IS_REGRID
 LIST/k=1/l=1 UNEVENVAR[i=2:4:2,j=1:3:2]
  dealloc  dynamic grid (G010)          (AX030)   YUNEVEN   ZAX1_6    TAX1_4
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G010)          (AX029)   (AX031)   ZAX1_6    TAX1_4
  dealloc  dynamic grid (G010)          (AX029)   (AX031)   ZAX1_6    TAX1_4
  allocate dynamic grid (G010)          (AX029)   (AX031)   ZAX1_6    TAX1_4
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:    1    4  J:    1    3  K:    1    1  L:    1    1
+ eval    EX#1     C:  5 dset:   1 I:      1      4  J:    1    3  K:    1    1  L:      1      1
  allocate dynamic grid (G010)          (AX029)   (AX031)   ZAX1_6    TAX1_4
  strip regrid on X: UNEVENVAR --> (G010)           @XACT
- rdstride UNE-NVAR C:  8 dset:   1 I:    2    4  J:    1    3  K:    1    1  L:    1    1
- nulrgd  UNE-NVAR M: 43 dset:   1 I:    1    2  J:    1    2  K:    1    1  L:    1    1
- -DELETE UNE-NVAR M: 52 dset:   1 I:    2    4  J:    1    3  K:    1    1  L:    1    1
+ rdstride UNE-NVAR C:  8 dset:   1 I:      2      4  J:    1    3  K:    1    1  L:      1      1
+ nulrgd  UNE-NVAR M:173 dset:   1 I:      1      2  J:    1    2  K:    1    1  L:      1      1
+ -DELETE UNE-NVAR M:180 dset:   1 I:      2      4  J:    1    3  K:    1    1  L:      1      1
  dealloc  dynamic grid (G010)          (AX029)   (AX031)   ZAX1_6    TAX1_4
              VARIABLE : L*1000 + K*100 + J[GY=YUNEVEN]*10 + I[GX=XUNEVEN]
                         regrid: on X, on Y
@@ -27470,18 +27347,18 @@ LIST/k=1/l=1 UNEVENVAR[i=2:4:2,j=1:3:2]
  0.95 / 2:  1132.00  1134.00
 LIST/k=1/l=1 UNEVENVAR[i=2:6:2,j=1:5:2]
  dealloc  dynamic grid (G010)          (AX029)   (AX031)   ZAX1_6    TAX1_4
- -DELETE UNE-NVAR M: 43 dset:   1 I:    1    2  J:    1    2  K:    1    1  L:    1    1
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ -DELETE UNE-NVAR M:173 dset:   1 I:      1      2  J:    1    2  K:    1    1  L:      1      1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G010)          (AX030)   (AX032)   ZAX1_6    TAX1_4
  dealloc  dynamic grid (G010)          (AX030)   (AX032)   ZAX1_6    TAX1_4
  allocate dynamic grid (G010)          (AX030)   (AX032)   ZAX1_6    TAX1_4
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:    1    4  J:    1    3  K:    1    1  L:    1    1
+ eval    EX#1     C:  5 dset:   1 I:      1      4  J:    1    3  K:    1    1  L:      1      1
  allocate dynamic grid (G010)          (AX030)   (AX032)   ZAX1_6    TAX1_4
  strip regrid on X: UNEVENVAR --> (G010)           @XACT
- rdstride UNE-NVAR C:  8 dset:   1 I:    2    6  J:    1    5  K:    1    1  L:    1    1
- nulrgd  UNE-NVAR M: 52 dset:   1 I:    1    3  J:    1    3  K:    1    1  L:    1    1
- -DELETE UNE-NVAR M: 43 dset:   1 I:    2    6  J:    1    5  K:    1    1  L:    1    1
+ rdstride UNE-NVAR C:  8 dset:   1 I:      2      6  J:    1    5  K:    1    1  L:      1      1
+ nulrgd  UNE-NVAR M:180 dset:   1 I:      1      3  J:    1    3  K:    1    1  L:      1      1
+ -DELETE UNE-NVAR M:173 dset:   1 I:      2      6  J:    1    5  K:    1    1  L:      1      1
  dealloc  dynamic grid (G010)          (AX030)   (AX032)   ZAX1_6    TAX1_4
              VARIABLE : L*1000 + K*100 + J[GY=YUNEVEN]*10 + I[GX=XUNEVEN]
                         regrid: on X, on Y
@@ -27498,17 +27375,17 @@ LIST/k=1/l=1 UNEVENVAR[i=2:6:2,j=1:5:2]
 ! averaging causes bypass of strides
 LIST/j=1/k=1/l=1/precision=9 UNEVENVAR[i=2:8:2 at ave]
  dealloc  dynamic grid (G010)          (AX030)   (AX032)   ZAX1_6    TAX1_4
- -DELETE UNE-NVAR M: 52 dset:   1 I:    1    3  J:    1    3  K:    1    1  L:    1    1
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ -DELETE UNE-NVAR M:180 dset:   1 I:      1      3  J:    1    3  K:    1    1  L:      1      1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G010)          (AX030)   YUNEVEN   ZAX1_6    TAX1_4
  dealloc  dynamic grid (G010)          (AX030)   YUNEVEN   ZAX1_6    TAX1_4
  allocate dynamic grid (G010)          (AX030)   YUNEVEN   ZAX1_6    TAX1_4
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:    1    4  J:    1    1  K:    1    1  L:    1    1
+ eval    EX#1     C:  5 dset:   1 I:      1      4  J:    1    1  K:    1    1  L:      1      1
  allocate dynamic grid (G010)          (AX030)   YUNEVEN   ZAX1_6    TAX1_4
  strip regrid on X: UNEVENVAR --> (G010)           @AVE
- reading UNE-NVAR M: 52 dset:   1 I:    1    9  J:    1    1  K:    1    1  L:    1    1
- regrid  UNE-NVAR M: 43 dset:   1 I:    1    4  J:    1    1  K:    1    1  L:    1    1
+ reading UNE-NVAR M:180 dset:   1 I:      1      9  J:    1    1  K:    1    1  L:      1      1
+ regrid  UNE-NVAR M:173 dset:   1 I:      1      4  J:    1    1  K:    1    1  L:      1      1
  dealloc  dynamic grid (G010)          (AX030)   YUNEVEN   ZAX1_6    TAX1_4
              VARIABLE : L*1000 + K*100 + J[GY=YUNEVEN]*10 + I[GX=XUNEVEN]
                         regrid: on X at AVE
@@ -27525,18 +27402,18 @@ LIST/j=1/k=1/l=1/precision=9 UNEVENVAR[i=2:8:2 at ave]
  0.9  / 4:  1117.90449
 LIST/j=1/k=1/l=1/precision=9 UNEVENVAR[i=2:8:2]		! for comparison
  dealloc  dynamic grid (G010)          (AX030)   YUNEVEN   ZAX1_6    TAX1_4
- -DELETE UNE-NVAR M: 43 dset:   1 I:    1    4  J:    1    1  K:    1    1  L:    1    1
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ -DELETE UNE-NVAR M:173 dset:   1 I:      1      4  J:    1    1  K:    1    1  L:      1      1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G010)          (AX032)   YUNEVEN   ZAX1_6    TAX1_4
  dealloc  dynamic grid (G010)          (AX032)   YUNEVEN   ZAX1_6    TAX1_4
  allocate dynamic grid (G010)          (AX032)   YUNEVEN   ZAX1_6    TAX1_4
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:    1    4  J:    1    1  K:    1    1  L:    1    1
+ eval    EX#1     C:  5 dset:   1 I:      1      4  J:    1    1  K:    1    1  L:      1      1
  allocate dynamic grid (G010)          (AX032)   YUNEVEN   ZAX1_6    TAX1_4
  strip regrid on X: UNEVENVAR --> (G010)           @XACT
- rdstride UNE-NVAR C:  8 dset:   1 I:    2    8  J:    1    1  K:    1    1  L:    1    1
- nulrgd  UNE-NVAR M: 40 dset:   1 I:    1    4  J:    1    1  K:    1    1  L:    1    1
- -DELETE UNE-NVAR M: 43 dset:   1 I:    2    8  J:    1    1  K:    1    1  L:    1    1
+ rdstride UNE-NVAR C:  8 dset:   1 I:      2      8  J:    1    1  K:    1    1  L:      1      1
+ nulrgd  UNE-NVAR M:170 dset:   1 I:      1      4  J:    1    1  K:    1    1  L:      1      1
+ -DELETE UNE-NVAR M:173 dset:   1 I:      2      8  J:    1    1  K:    1    1  L:      1      1
  dealloc  dynamic grid (G010)          (AX032)   YUNEVEN   ZAX1_6    TAX1_4
              VARIABLE : L*1000 + K*100 + J[GY=YUNEVEN]*10 + I[GX=XUNEVEN]
                         regrid: on X
@@ -27555,17 +27432,17 @@ LIST/j=1/k=1/l=1/precision=9 UNEVENVAR[i=2:8:2]		! for comparison
 ! test special logic in tm_world_recur for endpoints of strides on irreg axis
 LIST/j=1/k=1/l=1/precision=9 UNEVENVAR[i=1:10:2 at ave]
  dealloc  dynamic grid (G010)          (AX032)   YUNEVEN   ZAX1_6    TAX1_4
- -DELETE UNE-NVAR M: 40 dset:   1 I:    1    4  J:    1    1  K:    1    1  L:    1    1
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ -DELETE UNE-NVAR M:170 dset:   1 I:      1      4  J:    1    1  K:    1    1  L:      1      1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G010)          (AX030)   YUNEVEN   ZAX1_6    TAX1_4
  dealloc  dynamic grid (G010)          (AX030)   YUNEVEN   ZAX1_6    TAX1_4
  allocate dynamic grid (G010)          (AX030)   YUNEVEN   ZAX1_6    TAX1_4
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:    1    4  J:    1    1  K:    1    1  L:    1    1
+ eval    EX#1     C:  5 dset:   1 I:      1      4  J:    1    1  K:    1    1  L:      1      1
  allocate dynamic grid (G010)          (AX030)   YUNEVEN   ZAX1_6    TAX1_4
  strip regrid on X: UNEVENVAR --> (G010)           @AVE
- reading UNE-NVAR M: 40 dset:   1 I:    1   10  J:    1    1  K:    1    1  L:    1    1
- regrid  UNE-NVAR M: 43 dset:   1 I:    1    5  J:    1    1  K:    1    1  L:    1    1
+ reading UNE-NVAR M:170 dset:   1 I:      1     10  J:    1    1  K:    1    1  L:      1      1
+ regrid  UNE-NVAR M:173 dset:   1 I:      1      5  J:    1    1  K:    1    1  L:      1      1
  dealloc  dynamic grid (G010)          (AX030)   YUNEVEN   ZAX1_6    TAX1_4
              VARIABLE : L*1000 + K*100 + J[GY=YUNEVEN]*10 + I[GX=XUNEVEN]
                         regrid: on X at AVE
@@ -27590,17 +27467,17 @@ set region/i=3:6/j=2:4/k=1:2/l=1
 use/order=yx bn_strides
 list bigvar[i=3:9:2]
  dealloc  dynamic grid (G010)          (AX030)   YUNEVEN   ZAX1_6    TAX1_4
- -DELETE UNE-NVAR M: 43 dset:   1 I:    1    5  J:    1    1  K:    1    1  L:    1    1
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ -DELETE UNE-NVAR M:173 dset:   1 I:      1      5  J:    1    1  K:    1    1  L:      1      1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G010)          (AX032)   YAX1_30   ZAX1_20   TAX1_10
  dealloc  dynamic grid (G010)          (AX032)   YAX1_30   ZAX1_20   TAX1_10
  allocate dynamic grid (G010)          (AX032)   YAX1_30   ZAX1_20   TAX1_10
- eval    EX#1     C:  4 dset:   1 I:    3    6  J:    2    4  K:    1    2  L:    1    1
+ eval    EX#1     C:  4 dset:   1 I:      3      6  J:    2    4  K:    1    2  L:      1      1
  allocate dynamic grid (G010)          (AX032)   YAX1_30   ZAX1_20   TAX1_10
  strip regrid on X: BIGVAR --> (G010)           @XACT
- rdstride BIGVAR   C:  7 dset:   1 I:    3    9  J:    2    4  K:    1    2  L:    1    1
- nulrgd  BIGVAR   M: 44 dset:   1 I:    1    4  J:    2    4  K:    1    2  L:    1    1
- -DELETE BIGVAR   M: 43 dset:   1 I:    3    9  J:    2    4  K:    1    2  L:    1    1
+ rdstride BIGVAR   C:  7 dset:   1 I:      3      9  J:    2    4  K:    1    2  L:      1      1
+ nulrgd  BIGVAR   M:179 dset:   1 I:      1      4  J:    2    4  K:    1    2  L:      1      1
+ -DELETE BIGVAR   M:173 dset:   1 I:      3      9  J:    2    4  K:    1    2  L:      1      1
  dealloc  dynamic grid (G010)          (AX032)   YAX1_30   ZAX1_20   TAX1_10
              VARIABLE : VAR
                         regrid: 2 delta on X
@@ -27619,17 +27496,17 @@ list bigvar[i=3:9:2]
  4   / 4:  1243.00  1245.00  1247.00  1249.00
 list bigvar[j=2:6:2]
  dealloc  dynamic grid (G010)          (AX032)   YAX1_30   ZAX1_20   TAX1_10
- -DELETE BIGVAR   M: 44 dset:   1 I:    1    4  J:    2    4  K:    1    2  L:    1    1
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ -DELETE BIGVAR   M:179 dset:   1 I:      1      4  J:    2    4  K:    1    2  L:      1      1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G010)          XAX1_40   (AX030)   ZAX1_20   TAX1_10
  dealloc  dynamic grid (G010)          XAX1_40   (AX030)   ZAX1_20   TAX1_10
  allocate dynamic grid (G010)          XAX1_40   (AX030)   ZAX1_20   TAX1_10
- eval    EX#1     C:  4 dset:   1 I:    3    6  J:    2    4  K:    1    2  L:    1    1
+ eval    EX#1     C:  4 dset:   1 I:      3      6  J:    2    4  K:    1    2  L:      1      1
  allocate dynamic grid (G010)          XAX1_40   (AX030)   ZAX1_20   TAX1_10
  strip regrid on Y: BIGVAR --> (G010)           @XACT
- rdstride BIGVAR   C:  7 dset:   1 I:    3    6  J:    2    6  K:    1    2  L:    1    1
- nulrgd  BIGVAR   M: 43 dset:   1 I:    3    6  J:    1    3  K:    1    2  L:    1    1
- -DELETE BIGVAR   M: 44 dset:   1 I:    3    6  J:    2    6  K:    1    2  L:    1    1
+ rdstride BIGVAR   C:  7 dset:   1 I:      3      6  J:    2    6  K:    1    2  L:      1      1
+ nulrgd  BIGVAR   M:173 dset:   1 I:      3      6  J:    1    3  K:    1    2  L:      1      1
+ -DELETE BIGVAR   M:179 dset:   1 I:      3      6  J:    2    6  K:    1    2  L:      1      1
  dealloc  dynamic grid (G010)          XAX1_40   (AX030)   ZAX1_20   TAX1_10
              VARIABLE : VAR
                         regrid: 2 delta on Y
@@ -27648,17 +27525,17 @@ list bigvar[j=2:6:2]
  6   / 3:  1263.00  1264.00  1265.00  1266.00
 list bigvar[i=3:9:2, j=2:6:2, k=1:3:2]
  dealloc  dynamic grid (G010)          XAX1_40   (AX030)   ZAX1_20   TAX1_10
- -DELETE BIGVAR   M: 43 dset:   1 I:    3    6  J:    1    3  K:    1    2  L:    1    1
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ -DELETE BIGVAR   M:173 dset:   1 I:      3      6  J:    1    3  K:    1    2  L:      1      1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G010)          (AX032)   (AX031)   (AX033)   TAX1_10
  dealloc  dynamic grid (G010)          (AX032)   (AX031)   (AX033)   TAX1_10
  allocate dynamic grid (G010)          (AX032)   (AX031)   (AX033)   TAX1_10
- eval    EX#1     C:  4 dset:   1 I:    3    6  J:    2    4  K:    1    2  L:    1    1
+ eval    EX#1     C:  4 dset:   1 I:      3      6  J:    2    4  K:    1    2  L:      1      1
  allocate dynamic grid (G010)          (AX032)   (AX031)   (AX033)   TAX1_10
  strip regrid on X: BIGVAR --> (G010)           @XACT
- rdstride BIGVAR   C:  7 dset:   1 I:    3    9  J:    2    6  K:    1    3  L:    1    1
- nulrgd  BIGVAR   M: 44 dset:   1 I:    1    4  J:    1    3  K:    1    2  L:    1    1
- -DELETE BIGVAR   M: 43 dset:   1 I:    3    9  J:    2    6  K:    1    3  L:    1    1
+ rdstride BIGVAR   C:  7 dset:   1 I:      3      9  J:    2    6  K:    1    3  L:      1      1
+ nulrgd  BIGVAR   M:179 dset:   1 I:      1      4  J:    1    3  K:    1    2  L:      1      1
+ -DELETE BIGVAR   M:173 dset:   1 I:      3      9  J:    2    6  K:    1    3  L:      1      1
  dealloc  dynamic grid (G010)          (AX032)   (AX031)   (AX033)   TAX1_10
              VARIABLE : VAR
                         regrid: 2 delta on X, 2 delta on Y, 2 delta on Z
@@ -27677,24 +27554,24 @@ list bigvar[i=3:9:2, j=2:6:2, k=1:3:2]
  6   / 3:  1363.00  1365.00  1367.00  1369.00
 canc data/all
  dealloc  dynamic grid (G010)          (AX032)   (AX031)   (AX033)   TAX1_10
- -DELETE BIGVAR   M: 44 dset:   1 I:    1    4  J:    1    3  K:    1    2  L:    1    1
+ -DELETE BIGVAR   M:179 dset:   1 I:      1      4  J:    1    3  K:    1    2  L:      1      1
  dealloc  dynamic grid (G018)          (AX029)   YUNEVEN   ZAX1_6    TAX1_4
  canceling dset ./bn_strides.cdf
- -DELETE UNE-NVAR M: 40 dset:   1 I:    1   10  J:    1    1  K:    1    1  L:    1    1
- -DELETE UNE-NVAR M: 52 dset:   1 I:    1    9  J:    1    1  K:    1    1  L:    1    1
+ -DELETE UNE-NVAR M:170 dset:   1 I:      1     10  J:    1    1  K:    1    1  L:      1      1
+ -DELETE UNE-NVAR M:180 dset:   1 I:      1      9  J:    1    1  K:    1    1  L:      1      1
  
 use/order=zyx bn_strides
 list bigvar[i=3:9:2]
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G018)          (AX033)   YAX1_30   XAX1_40   TAX1_10
  dealloc  dynamic grid (G018)          (AX033)   YAX1_30   XAX1_40   TAX1_10
  allocate dynamic grid (G018)          (AX033)   YAX1_30   XAX1_40   TAX1_10
- eval    EX#1     C:  4 dset:   1 I:    3    6  J:    2    4  K:    1    2  L:    1    1
+ eval    EX#1     C:  4 dset:   1 I:      3      6  J:    2    4  K:    1    2  L:      1      1
  allocate dynamic grid (G018)          (AX033)   YAX1_30   XAX1_40   TAX1_10
  strip regrid on X: BIGVAR --> (G018)           @XACT
- rdstride BIGVAR   C:  7 dset:   1 I:    3    9  J:    2    4  K:    1    2  L:    1    1
- nulrgd  BIGVAR   M: 40 dset:   1 I:    1    4  J:    2    4  K:    1    2  L:    1    1
- -DELETE BIGVAR   M: 52 dset:   1 I:    3    9  J:    2    4  K:    1    2  L:    1    1
+ rdstride BIGVAR   C:  7 dset:   1 I:      3      9  J:    2    4  K:    1    2  L:      1      1
+ nulrgd  BIGVAR   M:170 dset:   1 I:      1      4  J:    2    4  K:    1    2  L:      1      1
+ -DELETE BIGVAR   M:180 dset:   1 I:      3      9  J:    2    4  K:    1    2  L:      1      1
  dealloc  dynamic grid (G018)          (AX033)   YAX1_30   XAX1_40   TAX1_10
              VARIABLE : VAR
                         regrid: 2 delta on X
@@ -27713,17 +27590,17 @@ list bigvar[i=3:9:2]
  4   / 4:  1342.00  1542.00  1742.00  1942.00
 list bigvar[j=2:6:2]
  dealloc  dynamic grid (G018)          (AX033)   YAX1_30   XAX1_40   TAX1_10
- -DELETE BIGVAR   M: 40 dset:   1 I:    1    4  J:    2    4  K:    1    2  L:    1    1
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ -DELETE BIGVAR   M:170 dset:   1 I:      1      4  J:    2    4  K:    1    2  L:      1      1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G018)          ZAX1_20   (AX029)   XAX1_40   TAX1_10
  dealloc  dynamic grid (G018)          ZAX1_20   (AX029)   XAX1_40   TAX1_10
  allocate dynamic grid (G018)          ZAX1_20   (AX029)   XAX1_40   TAX1_10
- eval    EX#1     C:  4 dset:   1 I:    3    6  J:    2    4  K:    1    2  L:    1    1
+ eval    EX#1     C:  4 dset:   1 I:      3      6  J:    2    4  K:    1    2  L:      1      1
  allocate dynamic grid (G018)          ZAX1_20   (AX029)   XAX1_40   TAX1_10
  strip regrid on Y: BIGVAR --> (G018)           @XACT
- rdstride BIGVAR   C:  7 dset:   1 I:    3    6  J:    2    6  K:    1    2  L:    1    1
- nulrgd  BIGVAR   M: 52 dset:   1 I:    3    6  J:    1    3  K:    1    2  L:    1    1
- -DELETE BIGVAR   M: 40 dset:   1 I:    3    6  J:    2    6  K:    1    2  L:    1    1
+ rdstride BIGVAR   C:  7 dset:   1 I:      3      6  J:    2    6  K:    1    2  L:      1      1
+ nulrgd  BIGVAR   M:180 dset:   1 I:      3      6  J:    1    3  K:    1    2  L:      1      1
+ -DELETE BIGVAR   M:170 dset:   1 I:      3      6  J:    2    6  K:    1    2  L:      1      1
  dealloc  dynamic grid (G018)          ZAX1_20   (AX029)   XAX1_40   TAX1_10
              VARIABLE : VAR
                         regrid: 2 delta on Y
@@ -27742,17 +27619,17 @@ list bigvar[j=2:6:2]
  6   / 3:  1362.00  1462.00  1562.00  1662.00
 list bigvar[i=3:9:2, j=2:6:2, k=1:3:2]
  dealloc  dynamic grid (G018)          ZAX1_20   (AX029)   XAX1_40   TAX1_10
- -DELETE BIGVAR   M: 52 dset:   1 I:    3    6  J:    1    3  K:    1    2  L:    1    1
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ -DELETE BIGVAR   M:180 dset:   1 I:      3      6  J:    1    3  K:    1    2  L:      1      1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G018)          (AX033)   (AX031)   (AX032)   TAX1_10
  dealloc  dynamic grid (G018)          (AX033)   (AX031)   (AX032)   TAX1_10
  allocate dynamic grid (G018)          (AX033)   (AX031)   (AX032)   TAX1_10
- eval    EX#1     C:  4 dset:   1 I:    3    6  J:    2    4  K:    1    2  L:    1    1
+ eval    EX#1     C:  4 dset:   1 I:      3      6  J:    2    4  K:    1    2  L:      1      1
  allocate dynamic grid (G018)          (AX033)   (AX031)   (AX032)   TAX1_10
  strip regrid on X: BIGVAR --> (G018)           @XACT
- rdstride BIGVAR   C:  7 dset:   1 I:    3    9  J:    2    6  K:    1    3  L:    1    1
- nulrgd  BIGVAR   M: 40 dset:   1 I:    1    4  J:    1    3  K:    1    2  L:    1    1
- -DELETE BIGVAR   M: 52 dset:   1 I:    3    9  J:    2    6  K:    1    3  L:    1    1
+ rdstride BIGVAR   C:  7 dset:   1 I:      3      9  J:    2    6  K:    1    3  L:      1      1
+ nulrgd  BIGVAR   M:170 dset:   1 I:      1      4  J:    1    3  K:    1    2  L:      1      1
+ -DELETE BIGVAR   M:180 dset:   1 I:      3      9  J:    2    6  K:    1    3  L:      1      1
  dealloc  dynamic grid (G018)          (AX033)   (AX031)   (AX032)   TAX1_10
              VARIABLE : VAR
                         regrid: 2 delta on X, 2 delta on Y, 2 delta on Z
@@ -27771,21 +27648,21 @@ list bigvar[i=3:9:2, j=2:6:2, k=1:3:2]
  6   / 3:  1363.00  1563.00  1763.00  1963.00
 canc data/all
  dealloc  dynamic grid (G018)          (AX033)   (AX031)   (AX032)   TAX1_10
- -DELETE BIGVAR   M: 40 dset:   1 I:    1    4  J:    1    3  K:    1    2  L:    1    1
+ -DELETE BIGVAR   M:170 dset:   1 I:      1      4  J:    1    3  K:    1    2  L:      1      1
  canceling dset ./bn_strides.cdf
  
 use/order=zxy bn_strides
 list bigvar[i=3:9:2]
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G018)          (AX031)   XAX1_40   YAX1_30   TAX1_10
  dealloc  dynamic grid (G018)          (AX031)   XAX1_40   YAX1_30   TAX1_10
  allocate dynamic grid (G018)          (AX031)   XAX1_40   YAX1_30   TAX1_10
- eval    EX#1     C:  4 dset:   1 I:    3    6  J:    2    4  K:    1    2  L:    1    1
+ eval    EX#1     C:  4 dset:   1 I:      3      6  J:    2    4  K:    1    2  L:      1      1
  allocate dynamic grid (G018)          (AX031)   XAX1_40   YAX1_30   TAX1_10
  strip regrid on X: BIGVAR --> (G018)           @XACT
- rdstride BIGVAR   C:  7 dset:   1 I:    3    9  J:    2    4  K:    1    2  L:    1    1
- nulrgd  BIGVAR   M: 52 dset:   1 I:    1    4  J:    2    4  K:    1    2  L:    1    1
- -DELETE BIGVAR   M: 40 dset:   1 I:    3    9  J:    2    4  K:    1    2  L:    1    1
+ rdstride BIGVAR   C:  7 dset:   1 I:      3      9  J:    2    4  K:    1    2  L:      1      1
+ nulrgd  BIGVAR   M:180 dset:   1 I:      1      4  J:    2    4  K:    1    2  L:      1      1
+ -DELETE BIGVAR   M:170 dset:   1 I:      3      9  J:    2    4  K:    1    2  L:      1      1
  dealloc  dynamic grid (G018)          (AX031)   XAX1_40   YAX1_30   TAX1_10
              VARIABLE : VAR
                         regrid: 2 delta on X
@@ -27804,17 +27681,17 @@ list bigvar[i=3:9:2]
  4   / 4:  1324.00  1524.00  1724.00  1924.00
 list bigvar[j=2:6:2]
  dealloc  dynamic grid (G018)          (AX031)   XAX1_40   YAX1_30   TAX1_10
- -DELETE BIGVAR   M: 52 dset:   1 I:    1    4  J:    2    4  K:    1    2  L:    1    1
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ -DELETE BIGVAR   M:180 dset:   1 I:      1      4  J:    2    4  K:    1    2  L:      1      1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G018)          ZAX1_20   (AX032)   YAX1_30   TAX1_10
  dealloc  dynamic grid (G018)          ZAX1_20   (AX032)   YAX1_30   TAX1_10
  allocate dynamic grid (G018)          ZAX1_20   (AX032)   YAX1_30   TAX1_10
- eval    EX#1     C:  4 dset:   1 I:    3    6  J:    2    4  K:    1    2  L:    1    1
+ eval    EX#1     C:  4 dset:   1 I:      3      6  J:    2    4  K:    1    2  L:      1      1
  allocate dynamic grid (G018)          ZAX1_20   (AX032)   YAX1_30   TAX1_10
  strip regrid on Y: BIGVAR --> (G018)           @XACT
- rdstride BIGVAR   C:  7 dset:   1 I:    3    6  J:    2    6  K:    1    2  L:    1    1
- nulrgd  BIGVAR   M: 40 dset:   1 I:    3    6  J:    1    3  K:    1    2  L:    1    1
- -DELETE BIGVAR   M: 52 dset:   1 I:    3    6  J:    2    6  K:    1    2  L:    1    1
+ rdstride BIGVAR   C:  7 dset:   1 I:      3      6  J:    2    6  K:    1    2  L:      1      1
+ nulrgd  BIGVAR   M:170 dset:   1 I:      3      6  J:    1    3  K:    1    2  L:      1      1
+ -DELETE BIGVAR   M:180 dset:   1 I:      3      6  J:    2    6  K:    1    2  L:      1      1
  dealloc  dynamic grid (G018)          ZAX1_20   (AX032)   YAX1_30   TAX1_10
              VARIABLE : VAR
                         regrid: 2 delta on Y
@@ -27833,17 +27710,17 @@ list bigvar[j=2:6:2]
  6   / 3:  1326.00  1426.00  1526.00  1626.00
 list bigvar[i=3:9:2, j=2:6:2, k=1:3:2]
  dealloc  dynamic grid (G018)          ZAX1_20   (AX032)   YAX1_30   TAX1_10
- -DELETE BIGVAR   M: 40 dset:   1 I:    3    6  J:    1    3  K:    1    2  L:    1    1
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ -DELETE BIGVAR   M:170 dset:   1 I:      3      6  J:    1    3  K:    1    2  L:      1      1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G018)          (AX031)   (AX033)   (AX029)   TAX1_10
  dealloc  dynamic grid (G018)          (AX031)   (AX033)   (AX029)   TAX1_10
  allocate dynamic grid (G018)          (AX031)   (AX033)   (AX029)   TAX1_10
- eval    EX#1     C:  4 dset:   1 I:    3    6  J:    2    4  K:    1    2  L:    1    1
+ eval    EX#1     C:  4 dset:   1 I:      3      6  J:    2    4  K:    1    2  L:      1      1
  allocate dynamic grid (G018)          (AX031)   (AX033)   (AX029)   TAX1_10
  strip regrid on X: BIGVAR --> (G018)           @XACT
- rdstride BIGVAR   C:  7 dset:   1 I:    3    9  J:    2    6  K:    1    3  L:    1    1
- nulrgd  BIGVAR   M: 52 dset:   1 I:    1    4  J:    1    3  K:    1    2  L:    1    1
- -DELETE BIGVAR   M: 40 dset:   1 I:    3    9  J:    2    6  K:    1    3  L:    1    1
+ rdstride BIGVAR   C:  7 dset:   1 I:      3      9  J:    2    6  K:    1    3  L:      1      1
+ nulrgd  BIGVAR   M:180 dset:   1 I:      1      4  J:    1    3  K:    1    2  L:      1      1
+ -DELETE BIGVAR   M:170 dset:   1 I:      3      9  J:    2    6  K:    1    3  L:      1      1
  dealloc  dynamic grid (G018)          (AX031)   (AX033)   (AX029)   TAX1_10
              VARIABLE : VAR
                         regrid: 2 delta on X, 2 delta on Y, 2 delta on Z
@@ -27862,7 +27739,7 @@ list bigvar[i=3:9:2, j=2:6:2, k=1:3:2]
  6   / 3:  1336.00  1536.00  1736.00  1936.00
 canc data/all
  dealloc  dynamic grid (G018)          (AX031)   (AX033)   (AX029)   TAX1_10
- -DELETE BIGVAR   M: 52 dset:   1 I:    1    4  J:    1    3  K:    1    2  L:    1    1
+ -DELETE BIGVAR   M:180 dset:   1 I:      1      4  J:    1    3  K:    1    2  L:      1      1
  canceling dset ./bn_strides.cdf
  
 ! now with xytvar
@@ -27870,7 +27747,7 @@ cancel region
 set region/i=1:4/j=1:3/l=1:2
 use bn_strides
 show grid xytvar
- getgrid EX#1     C:  6 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  6 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GPC5            XLON      YLAT      NORMAL    TTIME
     GRID GPC5
  name       axis              # pts   start                end                 subset
@@ -27880,16 +27757,16 @@ show grid xytvar
  TTIME     TIME                20 r   01-JAN-1995 00:00    20-JAN-1995 00:00   full
 list xytvar[i=1:7:2]
  dealloc  dynamic grid GPC5            XLON      YLAT      NORMAL    TTIME
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G018)          (AX033)   YLAT      NORMAL    TTIME
  dealloc  dynamic grid (G018)          (AX033)   YLAT      NORMAL    TTIME
  allocate dynamic grid (G018)          (AX033)   YLAT      NORMAL    TTIME
- eval    EX#1     C:  4 dset:   1 I:    1    4  J:    1    3  K: -999 -999  L:    1    2
+ eval    EX#1     C:  4 dset:   1 I:      1      4  J:    1    3  K: -999 -999  L:      1      2
  allocate dynamic grid (G018)          (AX033)   YLAT      NORMAL    TTIME
  strip regrid on X: XYTVAR --> (G018)           @XACT
- rdstride XYTVAR   C:  7 dset:   1 I:    1    7  J:    1    3  K: -999 -999  L:    1    2
- nulrgd  XYTVAR   M: 40 dset:   1 I:    1    4  J:    1    3  K: -999 -999  L:    1    2
- -DELETE XYTVAR   M: 52 dset:   1 I:    1    7  J:    1    3  K: -999 -999  L:    1    2
+ rdstride XYTVAR   C:  7 dset:   1 I:      1      7  J:    1    3  K: -999 -999  L:      1      2
+ nulrgd  XYTVAR   M:170 dset:   1 I:      1      4  J:    1    3  K: -999 -999  L:      1      2
+ -DELETE XYTVAR   M:180 dset:   1 I:      1      7  J:    1    3  K: -999 -999  L:      1      2
  dealloc  dynamic grid (G018)          (AX033)   YLAT      NORMAL    TTIME
              VARIABLE : L*1000 + J*10 + I
                         regrid: 2 deg on X
@@ -27907,17 +27784,17 @@ list xytvar[i=1:7:2]
  1N   / 1:  2011.00  2013.00  2015.00  2017.00
 list xytvar[j=2:6:2]
  dealloc  dynamic grid (G018)          (AX033)   YLAT      NORMAL    TTIME
- -DELETE XYTVAR   M: 40 dset:   1 I:    1    4  J:    1    3  K: -999 -999  L:    1    2
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ -DELETE XYTVAR   M:170 dset:   1 I:      1      4  J:    1    3  K: -999 -999  L:      1      2
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G018)          XLON      (AX029)   NORMAL    TTIME
  dealloc  dynamic grid (G018)          XLON      (AX029)   NORMAL    TTIME
  allocate dynamic grid (G018)          XLON      (AX029)   NORMAL    TTIME
- eval    EX#1     C:  4 dset:   1 I:    1    4  J:    1    3  K: -999 -999  L:    1    2
+ eval    EX#1     C:  4 dset:   1 I:      1      4  J:    1    3  K: -999 -999  L:      1      2
  allocate dynamic grid (G018)          XLON      (AX029)   NORMAL    TTIME
  strip regrid on Y: XYTVAR --> (G018)           @XACT
- rdstride XYTVAR   C:  7 dset:   1 I:    1    4  J:    2    6  K: -999 -999  L:    1    2
- nulrgd  XYTVAR   M: 52 dset:   1 I:    1    4  J:    1    3  K: -999 -999  L:    1    2
- -DELETE XYTVAR   M: 40 dset:   1 I:    1    4  J:    2    6  K: -999 -999  L:    1    2
+ rdstride XYTVAR   C:  7 dset:   1 I:      1      4  J:    2    6  K: -999 -999  L:      1      2
+ nulrgd  XYTVAR   M:180 dset:   1 I:      1      4  J:    1    3  K: -999 -999  L:      1      2
+ -DELETE XYTVAR   M:170 dset:   1 I:      1      4  J:    2    6  K: -999 -999  L:      1      2
  dealloc  dynamic grid (G018)          XLON      (AX029)   NORMAL    TTIME
              VARIABLE : L*1000 + J*10 + I
                         regrid: 2 deg on Y
@@ -27935,17 +27812,17 @@ list xytvar[j=2:6:2]
  2N   / 1:  2021.00  2022.00  2023.00  2024.00
 list xytvar[i=1:7:2,j=2:6:2,l=3:5:2]
  dealloc  dynamic grid (G018)          XLON      (AX029)   NORMAL    TTIME
- -DELETE XYTVAR   M: 52 dset:   1 I:    1    4  J:    1    3  K: -999 -999  L:    1    2
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ -DELETE XYTVAR   M:180 dset:   1 I:      1      4  J:    1    3  K: -999 -999  L:      1      2
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G018)          (AX033)   (AX031)   NORMAL    (AX032)
  dealloc  dynamic grid (G018)          (AX033)   (AX031)   NORMAL    (AX032)
  allocate dynamic grid (G018)          (AX033)   (AX031)   NORMAL    (AX032)
- eval    EX#1     C:  4 dset:   1 I:    1    4  J:    1    3  K: -999 -999  L:    1    2
+ eval    EX#1     C:  4 dset:   1 I:      1      4  J:    1    3  K: -999 -999  L:      1      2
  allocate dynamic grid (G018)          (AX033)   (AX031)   NORMAL    (AX032)
  strip regrid on X: XYTVAR --> (G018)           @XACT
- rdstride XYTVAR   C:  7 dset:   1 I:    1    7  J:    2    6  K: -999 -999  L:    3    5
- nulrgd  XYTVAR   M: 40 dset:   1 I:    1    4  J:    1    3  K: -999 -999  L:    1    2
- -DELETE XYTVAR   M: 52 dset:   1 I:    1    7  J:    2    6  K: -999 -999  L:    3    5
+ rdstride XYTVAR   C:  7 dset:   1 I:      1      7  J:    2    6  K: -999 -999  L:      3      5
+ nulrgd  XYTVAR   M:170 dset:   1 I:      1      4  J:    1    3  K: -999 -999  L:      1      2
+ -DELETE XYTVAR   M:180 dset:   1 I:      1      7  J:    2    6  K: -999 -999  L:      3      5
  dealloc  dynamic grid (G018)          (AX033)   (AX031)   NORMAL    (AX032)
              VARIABLE : L*1000 + J*10 + I
                         regrid: 2 deg on X, 2 deg on Y, 2 day on T
@@ -27963,12 +27840,12 @@ list xytvar[i=1:7:2,j=2:6:2,l=3:5:2]
  2N   / 1:  5021.00  5023.00  5025.00  5027.00
 canc data/all
  dealloc  dynamic grid (G018)          (AX033)   (AX031)   NORMAL    (AX032)
- -DELETE XYTVAR   M: 40 dset:   1 I:    1    4  J:    1    3  K: -999 -999  L:    1    2
+ -DELETE XYTVAR   M:170 dset:   1 I:      1      4  J:    1    3  K: -999 -999  L:      1      2
  canceling dset ./bn_strides.cdf
  
 use/order=yx bn_strides
 show grid xytvar
- getgrid EX#1     C:  7 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  7 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GPC5            YLAT      XLON      NORMAL    TTIME
     GRID GPC5
  name       axis              # pts   start                end                 subset
@@ -27978,16 +27855,16 @@ show grid xytvar
  TTIME     TIME                20 r   01-JAN-1995 00:00    20-JAN-1995 00:00   full
 list xytvar[i=1:7:2]
  dealloc  dynamic grid GPC5            YLAT      XLON      NORMAL    TTIME
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G018)          (AX031)   XLON      NORMAL    TTIME
  dealloc  dynamic grid (G018)          (AX031)   XLON      NORMAL    TTIME
  allocate dynamic grid (G018)          (AX031)   XLON      NORMAL    TTIME
- eval    EX#1     C:  4 dset:   1 I:    1    4  J:    1    3  K: -999 -999  L:    1    2
+ eval    EX#1     C:  4 dset:   1 I:      1      4  J:    1    3  K: -999 -999  L:      1      2
  allocate dynamic grid (G018)          (AX031)   XLON      NORMAL    TTIME
  strip regrid on X: XYTVAR --> (G018)           @XACT
- rdstride XYTVAR   C:  7 dset:   1 I:    1    7  J:    1    3  K: -999 -999  L:    1    2
- nulrgd  XYTVAR   M: 52 dset:   1 I:    1    4  J:    1    3  K: -999 -999  L:    1    2
- -DELETE XYTVAR   M: 40 dset:   1 I:    1    7  J:    1    3  K: -999 -999  L:    1    2
+ rdstride XYTVAR   C:  7 dset:   1 I:      1      7  J:    1    3  K: -999 -999  L:      1      2
+ nulrgd  XYTVAR   M:180 dset:   1 I:      1      4  J:    1    3  K: -999 -999  L:      1      2
+ -DELETE XYTVAR   M:170 dset:   1 I:      1      7  J:    1    3  K: -999 -999  L:      1      2
  dealloc  dynamic grid (G018)          (AX031)   XLON      NORMAL    TTIME
              VARIABLE : L*1000 + J*10 + I
                         regrid: 2 deg on X
@@ -28005,17 +27882,17 @@ list xytvar[i=1:7:2]
  143   / 3:  2013.00  2033.00  2053.00  2073.00
 list xytvar[j=2:6:2]
  dealloc  dynamic grid (G018)          (AX031)   XLON      NORMAL    TTIME
- -DELETE XYTVAR   M: 52 dset:   1 I:    1    4  J:    1    3  K: -999 -999  L:    1    2
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ -DELETE XYTVAR   M:180 dset:   1 I:      1      4  J:    1    3  K: -999 -999  L:      1      2
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G018)          YLAT      (AX032)   NORMAL    TTIME
  dealloc  dynamic grid (G018)          YLAT      (AX032)   NORMAL    TTIME
  allocate dynamic grid (G018)          YLAT      (AX032)   NORMAL    TTIME
- eval    EX#1     C:  4 dset:   1 I:    1    4  J:    1    3  K: -999 -999  L:    1    2
+ eval    EX#1     C:  4 dset:   1 I:      1      4  J:    1    3  K: -999 -999  L:      1      2
  allocate dynamic grid (G018)          YLAT      (AX032)   NORMAL    TTIME
  strip regrid on Y: XYTVAR --> (G018)           @XACT
- rdstride XYTVAR   C:  7 dset:   1 I:    1    4  J:    2    6  K: -999 -999  L:    1    2
- nulrgd  XYTVAR   M: 40 dset:   1 I:    1    4  J:    1    3  K: -999 -999  L:    1    2
- -DELETE XYTVAR   M: 52 dset:   1 I:    1    4  J:    2    6  K: -999 -999  L:    1    2
+ rdstride XYTVAR   C:  7 dset:   1 I:      1      4  J:    2    6  K: -999 -999  L:      1      2
+ nulrgd  XYTVAR   M:170 dset:   1 I:      1      4  J:    1    3  K: -999 -999  L:      1      2
+ -DELETE XYTVAR   M:180 dset:   1 I:      1      4  J:    2    6  K: -999 -999  L:      1      2
  dealloc  dynamic grid (G018)          YLAT      (AX032)   NORMAL    TTIME
              VARIABLE : L*1000 + J*10 + I
                         regrid: 2 deg on Y
@@ -28033,17 +27910,17 @@ list xytvar[j=2:6:2]
  146   / 3:  2016.00  2026.00  2036.00  2046.00
 list xytvar[i=1:7:2,j=2:6:2,l=3:5:2]
  dealloc  dynamic grid (G018)          YLAT      (AX032)   NORMAL    TTIME
- -DELETE XYTVAR   M: 40 dset:   1 I:    1    4  J:    1    3  K: -999 -999  L:    1    2
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ -DELETE XYTVAR   M:170 dset:   1 I:      1      4  J:    1    3  K: -999 -999  L:      1      2
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G018)          (AX031)   (AX033)   NORMAL    (AX029)
  dealloc  dynamic grid (G018)          (AX031)   (AX033)   NORMAL    (AX029)
  allocate dynamic grid (G018)          (AX031)   (AX033)   NORMAL    (AX029)
- eval    EX#1     C:  4 dset:   1 I:    1    4  J:    1    3  K: -999 -999  L:    1    2
+ eval    EX#1     C:  4 dset:   1 I:      1      4  J:    1    3  K: -999 -999  L:      1      2
  allocate dynamic grid (G018)          (AX031)   (AX033)   NORMAL    (AX029)
  strip regrid on X: XYTVAR --> (G018)           @XACT
- rdstride XYTVAR   C:  7 dset:   1 I:    1    7  J:    2    6  K: -999 -999  L:    3    5
- nulrgd  XYTVAR   M: 52 dset:   1 I:    1    4  J:    1    3  K: -999 -999  L:    1    2
- -DELETE XYTVAR   M: 40 dset:   1 I:    1    7  J:    2    6  K: -999 -999  L:    3    5
+ rdstride XYTVAR   C:  7 dset:   1 I:      1      7  J:    2    6  K: -999 -999  L:      3      5
+ nulrgd  XYTVAR   M:180 dset:   1 I:      1      4  J:    1    3  K: -999 -999  L:      1      2
+ -DELETE XYTVAR   M:170 dset:   1 I:      1      7  J:    2    6  K: -999 -999  L:      3      5
  dealloc  dynamic grid (G018)          (AX031)   (AX033)   NORMAL    (AX029)
              VARIABLE : L*1000 + J*10 + I
                         regrid: 2 deg on X, 2 deg on Y, 2 day on T
@@ -28061,12 +27938,12 @@ list xytvar[i=1:7:2,j=2:6:2,l=3:5:2]
  146   / 3:  5016.00  5036.00  5056.00  5076.00
 canc data/all
  dealloc  dynamic grid (G018)          (AX031)   (AX033)   NORMAL    (AX029)
- -DELETE XYTVAR   M: 52 dset:   1 I:    1    4  J:    1    3  K: -999 -999  L:    1    2
+ -DELETE XYTVAR   M:180 dset:   1 I:      1      4  J:    1    3  K: -999 -999  L:      1      2
  canceling dset ./bn_strides.cdf
  
 use/order=tyx bn_strides
 show grid xytvar
- getgrid EX#1     C:  7 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  7 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GPC5            TTIME     YLAT      NORMAL    XLON
     GRID GPC5
  name       axis              # pts   start                end                 subset
@@ -28076,16 +27953,16 @@ show grid xytvar
  XLON      T (degrees_east)    40mr   141                  180                 full
 list xytvar[i=1:7:2]
  dealloc  dynamic grid GPC5            TTIME     YLAT      NORMAL    XLON
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G018)          (AX033)   YLAT      NORMAL    XLON
  dealloc  dynamic grid (G018)          (AX033)   YLAT      NORMAL    XLON
  allocate dynamic grid (G018)          (AX033)   YLAT      NORMAL    XLON
- eval    EX#1     C:  4 dset:   1 I:    1    4  J:    1    3  K: -999 -999  L:    1    2
+ eval    EX#1     C:  4 dset:   1 I:      1      4  J:    1    3  K: -999 -999  L:      1      2
  allocate dynamic grid (G018)          (AX033)   YLAT      NORMAL    XLON
  strip regrid on X: XYTVAR --> (G018)           @XACT
- rdstride XYTVAR   C:  7 dset:   1 I:    1    7  J:    1    3  K: -999 -999  L:    1    2
- nulrgd  XYTVAR   M: 40 dset:   1 I:    1    4  J:    1    3  K: -999 -999  L:    1    2
- -DELETE XYTVAR   M: 52 dset:   1 I:    1    7  J:    1    3  K: -999 -999  L:    1    2
+ rdstride XYTVAR   C:  7 dset:   1 I:      1      7  J:    1    3  K: -999 -999  L:      1      2
+ nulrgd  XYTVAR   M:170 dset:   1 I:      1      4  J:    1    3  K: -999 -999  L:      1      2
+ -DELETE XYTVAR   M:180 dset:   1 I:      1      7  J:    1    3  K: -999 -999  L:      1      2
  dealloc  dynamic grid (G018)          (AX033)   YLAT      NORMAL    XLON
              VARIABLE : L*1000 + J*10 + I
                         regrid: 2 day on X
@@ -28103,17 +27980,17 @@ list xytvar[i=1:7:2]
  1N   / 1:  1012.00  3012.00  5012.00  7012.00
 list xytvar[j=2:6:2]
  dealloc  dynamic grid (G018)          (AX033)   YLAT      NORMAL    XLON
- -DELETE XYTVAR   M: 40 dset:   1 I:    1    4  J:    1    3  K: -999 -999  L:    1    2
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ -DELETE XYTVAR   M:170 dset:   1 I:      1      4  J:    1    3  K: -999 -999  L:      1      2
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G018)          TTIME     (AX029)   NORMAL    XLON
  dealloc  dynamic grid (G018)          TTIME     (AX029)   NORMAL    XLON
  allocate dynamic grid (G018)          TTIME     (AX029)   NORMAL    XLON
- eval    EX#1     C:  4 dset:   1 I:    1    4  J:    1    3  K: -999 -999  L:    1    2
+ eval    EX#1     C:  4 dset:   1 I:      1      4  J:    1    3  K: -999 -999  L:      1      2
  allocate dynamic grid (G018)          TTIME     (AX029)   NORMAL    XLON
  strip regrid on Y: XYTVAR --> (G018)           @XACT
- rdstride XYTVAR   C:  7 dset:   1 I:    1    4  J:    2    6  K: -999 -999  L:    1    2
- nulrgd  XYTVAR   M: 52 dset:   1 I:    1    4  J:    1    3  K: -999 -999  L:    1    2
- -DELETE XYTVAR   M: 40 dset:   1 I:    1    4  J:    2    6  K: -999 -999  L:    1    2
+ rdstride XYTVAR   C:  7 dset:   1 I:      1      4  J:    2    6  K: -999 -999  L:      1      2
+ nulrgd  XYTVAR   M:180 dset:   1 I:      1      4  J:    1    3  K: -999 -999  L:      1      2
+ -DELETE XYTVAR   M:170 dset:   1 I:      1      4  J:    2    6  K: -999 -999  L:      1      2
  dealloc  dynamic grid (G018)          TTIME     (AX029)   NORMAL    XLON
              VARIABLE : L*1000 + J*10 + I
                         regrid: 2 deg on Y
@@ -28131,17 +28008,17 @@ list xytvar[j=2:6:2]
  2N   / 1:  1022.00  2022.00  3022.00  4022.00
 list xytvar[i=1:7:2,j=2:6:2,l=3:5:2]
  dealloc  dynamic grid (G018)          TTIME     (AX029)   NORMAL    XLON
- -DELETE XYTVAR   M: 52 dset:   1 I:    1    4  J:    1    3  K: -999 -999  L:    1    2
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ -DELETE XYTVAR   M:180 dset:   1 I:      1      4  J:    1    3  K: -999 -999  L:      1      2
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G018)          (AX033)   (AX031)   NORMAL    (AX032)
  dealloc  dynamic grid (G018)          (AX033)   (AX031)   NORMAL    (AX032)
  allocate dynamic grid (G018)          (AX033)   (AX031)   NORMAL    (AX032)
- eval    EX#1     C:  4 dset:   1 I:    1    4  J:    1    3  K: -999 -999  L:    1    2
+ eval    EX#1     C:  4 dset:   1 I:      1      4  J:    1    3  K: -999 -999  L:      1      2
  allocate dynamic grid (G018)          (AX033)   (AX031)   NORMAL    (AX032)
  strip regrid on X: XYTVAR --> (G018)           @XACT
- rdstride XYTVAR   C:  7 dset:   1 I:    1    7  J:    2    6  K: -999 -999  L:    3    5
- nulrgd  XYTVAR   M: 40 dset:   1 I:    1    4  J:    1    3  K: -999 -999  L:    1    2
- -DELETE XYTVAR   M: 52 dset:   1 I:    1    7  J:    2    6  K: -999 -999  L:    3    5
+ rdstride XYTVAR   C:  7 dset:   1 I:      1      7  J:    2    6  K: -999 -999  L:      3      5
+ nulrgd  XYTVAR   M:170 dset:   1 I:      1      4  J:    1    3  K: -999 -999  L:      1      2
+ -DELETE XYTVAR   M:180 dset:   1 I:      1      7  J:    2    6  K: -999 -999  L:      3      5
  dealloc  dynamic grid (G018)          (AX033)   (AX031)   NORMAL    (AX032)
              VARIABLE : L*1000 + J*10 + I
                         regrid: 2 day on X, 2 deg on Y, 2 deg on T
@@ -28159,12 +28036,12 @@ list xytvar[i=1:7:2,j=2:6:2,l=3:5:2]
  2N   / 1:  1025.00  3025.00  5025.00  7025.00
 canc data/all
  dealloc  dynamic grid (G018)          (AX033)   (AX031)   NORMAL    (AX032)
- -DELETE XYTVAR   M: 40 dset:   1 I:    1    4  J:    1    3  K: -999 -999  L:    1    2
+ -DELETE XYTVAR   M:170 dset:   1 I:      1      4  J:    1    3  K: -999 -999  L:      1      2
  canceling dset ./bn_strides.cdf
  
 use/order=txy bn_strides
 show grid xytvar
- getgrid EX#1     C:  7 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  7 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GPC5            TTIME     XLON      NORMAL    YLAT
     GRID GPC5
  name       axis              # pts   start                end                 subset
@@ -28174,16 +28051,16 @@ show grid xytvar
  YLAT      T (degrees_north)   30 r   1                    30                  full
 list xytvar[i=1:7:2]
  dealloc  dynamic grid GPC5            TTIME     XLON      NORMAL    YLAT
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G018)          (AX031)   XLON      NORMAL    YLAT
  dealloc  dynamic grid (G018)          (AX031)   XLON      NORMAL    YLAT
  allocate dynamic grid (G018)          (AX031)   XLON      NORMAL    YLAT
- eval    EX#1     C:  4 dset:   1 I:    1    4  J:    1    3  K: -999 -999  L:    1    2
+ eval    EX#1     C:  4 dset:   1 I:      1      4  J:    1    3  K: -999 -999  L:      1      2
  allocate dynamic grid (G018)          (AX031)   XLON      NORMAL    YLAT
  strip regrid on X: XYTVAR --> (G018)           @XACT
- rdstride XYTVAR   C:  7 dset:   1 I:    1    7  J:    1    3  K: -999 -999  L:    1    2
- nulrgd  XYTVAR   M: 52 dset:   1 I:    1    4  J:    1    3  K: -999 -999  L:    1    2
- -DELETE XYTVAR   M: 40 dset:   1 I:    1    7  J:    1    3  K: -999 -999  L:    1    2
+ rdstride XYTVAR   C:  7 dset:   1 I:      1      7  J:    1    3  K: -999 -999  L:      1      2
+ nulrgd  XYTVAR   M:180 dset:   1 I:      1      4  J:    1    3  K: -999 -999  L:      1      2
+ -DELETE XYTVAR   M:170 dset:   1 I:      1      7  J:    1    3  K: -999 -999  L:      1      2
  dealloc  dynamic grid (G018)          (AX031)   XLON      NORMAL    YLAT
              VARIABLE : L*1000 + J*10 + I
                         regrid: 2 day on X
@@ -28201,17 +28078,17 @@ list xytvar[i=1:7:2]
  143   / 3:  1023.00  3023.00  5023.00  7023.00
 list xytvar[j=2:6:2]
  dealloc  dynamic grid (G018)          (AX031)   XLON      NORMAL    YLAT
- -DELETE XYTVAR   M: 52 dset:   1 I:    1    4  J:    1    3  K: -999 -999  L:    1    2
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ -DELETE XYTVAR   M:180 dset:   1 I:      1      4  J:    1    3  K: -999 -999  L:      1      2
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G018)          TTIME     (AX032)   NORMAL    YLAT
  dealloc  dynamic grid (G018)          TTIME     (AX032)   NORMAL    YLAT
  allocate dynamic grid (G018)          TTIME     (AX032)   NORMAL    YLAT
- eval    EX#1     C:  4 dset:   1 I:    1    4  J:    1    3  K: -999 -999  L:    1    2
+ eval    EX#1     C:  4 dset:   1 I:      1      4  J:    1    3  K: -999 -999  L:      1      2
  allocate dynamic grid (G018)          TTIME     (AX032)   NORMAL    YLAT
  strip regrid on Y: XYTVAR --> (G018)           @XACT
- rdstride XYTVAR   C:  7 dset:   1 I:    1    4  J:    2    6  K: -999 -999  L:    1    2
- nulrgd  XYTVAR   M: 40 dset:   1 I:    1    4  J:    1    3  K: -999 -999  L:    1    2
- -DELETE XYTVAR   M: 52 dset:   1 I:    1    4  J:    2    6  K: -999 -999  L:    1    2
+ rdstride XYTVAR   C:  7 dset:   1 I:      1      4  J:    2    6  K: -999 -999  L:      1      2
+ nulrgd  XYTVAR   M:170 dset:   1 I:      1      4  J:    1    3  K: -999 -999  L:      1      2
+ -DELETE XYTVAR   M:180 dset:   1 I:      1      4  J:    2    6  K: -999 -999  L:      1      2
  dealloc  dynamic grid (G018)          TTIME     (AX032)   NORMAL    YLAT
              VARIABLE : L*1000 + J*10 + I
                         regrid: 2 deg on Y
@@ -28229,17 +28106,17 @@ list xytvar[j=2:6:2]
  146   / 3:  1026.00  2026.00  3026.00  4026.00
 list xytvar[i=1:7:2,j=2:6:2,l=3:5:2]
  dealloc  dynamic grid (G018)          TTIME     (AX032)   NORMAL    YLAT
- -DELETE XYTVAR   M: 40 dset:   1 I:    1    4  J:    1    3  K: -999 -999  L:    1    2
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ -DELETE XYTVAR   M:170 dset:   1 I:      1      4  J:    1    3  K: -999 -999  L:      1      2
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G018)          (AX031)   (AX033)   NORMAL    (AX029)
  dealloc  dynamic grid (G018)          (AX031)   (AX033)   NORMAL    (AX029)
  allocate dynamic grid (G018)          (AX031)   (AX033)   NORMAL    (AX029)
- eval    EX#1     C:  4 dset:   1 I:    1    4  J:    1    3  K: -999 -999  L:    1    2
+ eval    EX#1     C:  4 dset:   1 I:      1      4  J:    1    3  K: -999 -999  L:      1      2
  allocate dynamic grid (G018)          (AX031)   (AX033)   NORMAL    (AX029)
  strip regrid on X: XYTVAR --> (G018)           @XACT
- rdstride XYTVAR   C:  7 dset:   1 I:    1    7  J:    2    6  K: -999 -999  L:    3    5
- nulrgd  XYTVAR   M: 52 dset:   1 I:    1    4  J:    1    3  K: -999 -999  L:    1    2
- -DELETE XYTVAR   M: 40 dset:   1 I:    1    7  J:    2    6  K: -999 -999  L:    3    5
+ rdstride XYTVAR   C:  7 dset:   1 I:      1      7  J:    2    6  K: -999 -999  L:      3      5
+ nulrgd  XYTVAR   M:180 dset:   1 I:      1      4  J:    1    3  K: -999 -999  L:      1      2
+ -DELETE XYTVAR   M:170 dset:   1 I:      1      7  J:    2    6  K: -999 -999  L:      3      5
  dealloc  dynamic grid (G018)          (AX031)   (AX033)   NORMAL    (AX029)
              VARIABLE : L*1000 + J*10 + I
                         regrid: 2 day on X, 2 deg on Y, 2 deg on T
@@ -28257,13 +28134,13 @@ list xytvar[i=1:7:2,j=2:6:2,l=3:5:2]
  146   / 3:  1056.00  3056.00  5056.00  7056.00
 canc data/all
  dealloc  dynamic grid (G018)          (AX031)   (AX033)   NORMAL    (AX029)
- -DELETE XYTVAR   M: 52 dset:   1 I:    1    4  J:    1    3  K: -999 -999  L:    1    2
+ -DELETE XYTVAR   M:180 dset:   1 I:      1      4  J:    1    3  K: -999 -999  L:      1      2
  canceling dset ./bn_strides.cdf
  
 ! map into Z instead of T
 use/order=zxy bn_strides
 show grid xytvar
- getgrid EX#1     C:  7 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  7 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GPC5            TTIME     XLON      YLAT      NORMAL
     GRID GPC5
  name       axis              # pts   start                end                 subset
@@ -28273,17 +28150,17 @@ show grid xytvar
  normal    T
 list/k=1:2 xytvar[i=1:7:2]
  dealloc  dynamic grid GPC5            TTIME     XLON      YLAT      NORMAL
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G018)          (AX033)   XLON      YLAT      NORMAL
  dealloc  dynamic grid (G018)          (AX033)   XLON      YLAT      NORMAL
  allocate dynamic grid (G018)          (AX033)   XLON      YLAT      NORMAL
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:    1    4  J:    1    3  K:    1    2  L:    1    2
+ eval    EX#1     C:  5 dset:   1 I:      1      4  J:    1    3  K:    1    2  L:      1      2
  allocate dynamic grid (G018)          (AX033)   XLON      YLAT      NORMAL
  strip regrid on X: XYTVAR --> (G018)           @XACT
- rdstride XYTVAR   C:  8 dset:   1 I:    1    7  J:    1    3  K:    1    2  L: -999 -999
- nulrgd  XYTVAR   M: 40 dset:   1 I:    1    4  J:    1    3  K:    1    2  L: -999 -999
- -DELETE XYTVAR   M: 52 dset:   1 I:    1    7  J:    1    3  K:    1    2  L: -999 -999
+ rdstride XYTVAR   C:  8 dset:   1 I:      1      7  J:    1    3  K:    1    2  L:   -999   -999
+ nulrgd  XYTVAR   M:170 dset:   1 I:      1      4  J:    1    3  K:    1    2  L:   -999   -999
+ -DELETE XYTVAR   M:180 dset:   1 I:      1      7  J:    1    3  K:    1    2  L:   -999   -999
  dealloc  dynamic grid (G018)          (AX033)   XLON      YLAT      NORMAL
              VARIABLE : L*1000 + J*10 + I
                         regrid: 2 day on X
@@ -28301,18 +28178,18 @@ list/k=1:2 xytvar[i=1:7:2]
  143   / 3:  1023.00  3023.00  5023.00  7023.00
 list/k=1:2 xytvar[j=2:6:2]
  dealloc  dynamic grid (G018)          (AX033)   XLON      YLAT      NORMAL
- -DELETE XYTVAR   M: 40 dset:   1 I:    1    4  J:    1    3  K:    1    2  L: -999 -999
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ -DELETE XYTVAR   M:170 dset:   1 I:      1      4  J:    1    3  K:    1    2  L:   -999   -999
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G018)          TTIME     (AX029)   YLAT      NORMAL
  dealloc  dynamic grid (G018)          TTIME     (AX029)   YLAT      NORMAL
  allocate dynamic grid (G018)          TTIME     (AX029)   YLAT      NORMAL
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:    1    4  J:    1    3  K:    1    2  L:    1    2
+ eval    EX#1     C:  5 dset:   1 I:      1      4  J:    1    3  K:    1    2  L:      1      2
  allocate dynamic grid (G018)          TTIME     (AX029)   YLAT      NORMAL
  strip regrid on Y: XYTVAR --> (G018)           @XACT
- rdstride XYTVAR   C:  8 dset:   1 I:    1    4  J:    2    6  K:    1    2  L: -999 -999
- nulrgd  XYTVAR   M: 52 dset:   1 I:    1    4  J:    1    3  K:    1    2  L: -999 -999
- -DELETE XYTVAR   M: 40 dset:   1 I:    1    4  J:    2    6  K:    1    2  L: -999 -999
+ rdstride XYTVAR   C:  8 dset:   1 I:      1      4  J:    2    6  K:    1    2  L:   -999   -999
+ nulrgd  XYTVAR   M:180 dset:   1 I:      1      4  J:    1    3  K:    1    2  L:   -999   -999
+ -DELETE XYTVAR   M:170 dset:   1 I:      1      4  J:    2    6  K:    1    2  L:   -999   -999
  dealloc  dynamic grid (G018)          TTIME     (AX029)   YLAT      NORMAL
              VARIABLE : L*1000 + J*10 + I
                         regrid: 2 deg on Y
@@ -28330,17 +28207,17 @@ list/k=1:2 xytvar[j=2:6:2]
  146   / 3:  1026.00  2026.00  3026.00  4026.00
 list xytvar[i=1:7:2,j=2:6:2,k=3:5:2]
  dealloc  dynamic grid (G018)          TTIME     (AX029)   YLAT      NORMAL
- -DELETE XYTVAR   M: 52 dset:   1 I:    1    4  J:    1    3  K:    1    2  L: -999 -999
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ -DELETE XYTVAR   M:180 dset:   1 I:      1      4  J:    1    3  K:    1    2  L:   -999   -999
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G018)          (AX033)   (AX031)   (AX032)   NORMAL
  dealloc  dynamic grid (G018)          (AX033)   (AX031)   (AX032)   NORMAL
  allocate dynamic grid (G018)          (AX033)   (AX031)   (AX032)   NORMAL
- eval    EX#1     C:  4 dset:   1 I:    1    4  J:    1    3  K:    1    2  L:    1    2
+ eval    EX#1     C:  4 dset:   1 I:      1      4  J:    1    3  K:    1    2  L:      1      2
  allocate dynamic grid (G018)          (AX033)   (AX031)   (AX032)   NORMAL
  strip regrid on X: XYTVAR --> (G018)           @XACT
- rdstride XYTVAR   C:  7 dset:   1 I:    1    7  J:    2    6  K:    3    5  L: -999 -999
- nulrgd  XYTVAR   M: 40 dset:   1 I:    1    4  J:    1    3  K:    1    2  L: -999 -999
- -DELETE XYTVAR   M: 52 dset:   1 I:    1    7  J:    2    6  K:    3    5  L: -999 -999
+ rdstride XYTVAR   C:  7 dset:   1 I:      1      7  J:    2    6  K:    3    5  L:   -999   -999
+ nulrgd  XYTVAR   M:170 dset:   1 I:      1      4  J:    1    3  K:    1    2  L:   -999   -999
+ -DELETE XYTVAR   M:180 dset:   1 I:      1      7  J:    2    6  K:    3    5  L:   -999   -999
  dealloc  dynamic grid (G018)          (AX033)   (AX031)   (AX032)   NORMAL
              VARIABLE : L*1000 + J*10 + I
                         regrid: 2 day on X, 2 deg on Y, 2 deg on Z
@@ -28358,7 +28235,7 @@ list xytvar[i=1:7:2,j=2:6:2,k=3:5:2]
  146   / 3:  1056.00  3056.00  5056.00  7056.00
 canc data/all
  dealloc  dynamic grid (G018)          (AX033)   (AX031)   (AX032)   NORMAL
- -DELETE XYTVAR   M: 40 dset:   1 I:    1    4  J:    1    3  K:    1    2  L: -999 -999
+ -DELETE XYTVAR   M:170 dset:   1 I:      1      4  J:    1    3  K:    1    2  L:   -999   -999
  canceling dset ./bn_strides.cdf
  
  
@@ -28381,16 +28258,16 @@ cancel region; set region/l=1
 ! reference output
 use/order=yx bn_strides
 list midvar[i=1:5:4, j=2:5:3, k=3:5:2]
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G018)          (AX031)   (AX033)   (AX029)   TAX1_6
  dealloc  dynamic grid (G018)          (AX031)   (AX033)   (AX029)   TAX1_6
  allocate dynamic grid (G018)          (AX031)   (AX033)   (AX029)   TAX1_6
- eval    EX#1     C:  4 dset:   1 I:    1    2  J:    1    2  K:    1    2  L:    1    1
+ eval    EX#1     C:  4 dset:   1 I:      1      2  J:    1    2  K:    1    2  L:      1      1
  allocate dynamic grid (G018)          (AX031)   (AX033)   (AX029)   TAX1_6
  strip regrid on X: MIDVAR --> (G018)           @XACT
- rdstride MIDVAR   C:  7 dset:   1 I:    1    5  J:    2    5  K:    3    5  L:    1    1
- nulrgd  MIDVAR   M: 52 dset:   1 I:    1    2  J:    1    2  K:    1    2  L:    1    1
- -DELETE MIDVAR   M: 40 dset:   1 I:    1    5  J:    2    5  K:    3    5  L:    1    1
+ rdstride MIDVAR   C:  7 dset:   1 I:      1      5  J:    2    5  K:    3    5  L:      1      1
+ nulrgd  MIDVAR   M:180 dset:   1 I:      1      2  J:    1    2  K:    1    2  L:      1      1
+ -DELETE MIDVAR   M:170 dset:   1 I:      1      5  J:    2    5  K:    3    5  L:      1      1
  dealloc  dynamic grid (G018)          (AX031)   (AX033)   (AX029)   TAX1_6
              VARIABLE : VAR
                         regrid: 4 delta on X, 3 delta on Y, 2 delta on Z
@@ -28407,24 +28284,24 @@ list midvar[i=1:5:4, j=2:5:3, k=3:5:2]
  5   / 2:  1515.00  1555.00
 canc data/all
  dealloc  dynamic grid (G018)          (AX031)   (AX033)   (AX029)   TAX1_6
- -DELETE MIDVAR   M: 52 dset:   1 I:    1    2  J:    1    2  K:    1    2  L:    1    1
+ -DELETE MIDVAR   M:180 dset:   1 I:      1      2  J:    1    2  K:    1    2  L:      1      1
  canceling dset ./bn_strides.cdf
  
 use/order=-yx bn_strides
 list midvar[i=1:5:4, j=2:5:3, k=3:5:2]
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G018)          (AX033)   (AX031)   (AX032)   TAX1_6
  dealloc  dynamic grid (G018)          (AX033)   (AX031)   (AX032)   TAX1_6
  allocate dynamic grid (G018)          (AX033)   (AX031)   (AX032)   TAX1_6
- eval    EX#1     C:  4 dset:   1 I:    1    2  J:    1    2  K:    1    2  L:    1    1
+ eval    EX#1     C:  4 dset:   1 I:      1      2  J:    1    2  K:    1    2  L:      1      1
  allocate dynamic grid (G018)          (AX033)   (AX031)   (AX032)   TAX1_6
  strip regrid on X: MIDVAR --> (G018)           @XACT
- strip reversing MIDVAR on Y axis:     2     5 dset:   1
- rdstride MIDVAR   C:  8 dset:   1 I:    1    5  J:    5    8  K:    3    5  L:    1    1
- doing reversing MIDVAR on Y axis:     2     5 dset:   1
- -DELETE MIDVAR   M: 52 dset:   1 I:    1    5  J:    2    5  K:    3    5  L:    1    1
- nulrgd  MIDVAR   M: 52 dset:   1 I:    1    2  J:    1    2  K:    1    2  L:    1    1
- -DELETE MIDVAR   M: 40 dset:   1 I:    1    5  J:    2    5  K:    3    5  L:    1    1
+ strip reversing MIDVAR on Y axis:        2        5 dset:   1
+ rdstride MIDVAR   C:  8 dset:   1 I:      1      5  J:    5    8  K:    3    5  L:      1      1
+ doing reversing MIDVAR on Y axis:        2        5 dset:   1
+ -DELETE MIDVAR   M:180 dset:   1 I:      1      5  J:    2    5  K:    3    5  L:      1      1
+ nulrgd  MIDVAR   M:180 dset:   1 I:      1      2  J:    1    2  K:    1    2  L:      1      1
+ -DELETE MIDVAR   M:170 dset:   1 I:      1      5  J:    2    5  K:    3    5  L:      1      1
  dealloc  dynamic grid (G018)          (AX033)   (AX031)   (AX032)   TAX1_6
              VARIABLE : VAR
                         regrid: 4 delta on X, 3 delta on Y, 2 delta on Z
@@ -28441,24 +28318,24 @@ list midvar[i=1:5:4, j=2:5:3, k=3:5:2]
  5   / 2:  1515.00  1555.00
 canc data/all
  dealloc  dynamic grid (G018)          (AX033)   (AX031)   (AX032)   TAX1_6
- -DELETE MIDVAR   M: 52 dset:   1 I:    1    2  J:    1    2  K:    1    2  L:    1    1
+ -DELETE MIDVAR   M:180 dset:   1 I:      1      2  J:    1    2  K:    1    2  L:      1      1
  canceling dset ./bn_strides.cdf
  
 use/order=y-x bn_strides
 list midvar[i=1:5:4, j=2:5:3, k=3:5:2]
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G018)          (AX031)   (AX033)   (AX029)   TAX1_6
  dealloc  dynamic grid (G018)          (AX031)   (AX033)   (AX029)   TAX1_6
  allocate dynamic grid (G018)          (AX031)   (AX033)   (AX029)   TAX1_6
- eval    EX#1     C:  4 dset:   1 I:    1    2  J:    1    2  K:    1    2  L:    1    1
+ eval    EX#1     C:  4 dset:   1 I:      1      2  J:    1    2  K:    1    2  L:      1      1
  allocate dynamic grid (G018)          (AX031)   (AX033)   (AX029)   TAX1_6
  strip regrid on X: MIDVAR --> (G018)           @XACT
- strip reversing MIDVAR on X axis:     1     5 dset:   1
- rdstride MIDVAR   C:  8 dset:   1 I:    4    8  J:    2    5  K:    3    5  L:    1    1
- doing reversing MIDVAR on X axis:     1     5 dset:   1
- -DELETE MIDVAR   M: 52 dset:   1 I:    1    5  J:    2    5  K:    3    5  L:    1    1
- nulrgd  MIDVAR   M: 52 dset:   1 I:    1    2  J:    1    2  K:    1    2  L:    1    1
- -DELETE MIDVAR   M: 40 dset:   1 I:    1    5  J:    2    5  K:    3    5  L:    1    1
+ strip reversing MIDVAR on X axis:        1        5 dset:   1
+ rdstride MIDVAR   C:  8 dset:   1 I:      4      8  J:    2    5  K:    3    5  L:      1      1
+ doing reversing MIDVAR on X axis:        1        5 dset:   1
+ -DELETE MIDVAR   M:180 dset:   1 I:      1      5  J:    2    5  K:    3    5  L:      1      1
+ nulrgd  MIDVAR   M:180 dset:   1 I:      1      2  J:    1    2  K:    1    2  L:      1      1
+ -DELETE MIDVAR   M:170 dset:   1 I:      1      5  J:    2    5  K:    3    5  L:      1      1
  dealloc  dynamic grid (G018)          (AX031)   (AX033)   (AX029)   TAX1_6
              VARIABLE : VAR
                         regrid: 4 delta on X, 3 delta on Y, 2 delta on Z
@@ -28475,22 +28352,22 @@ list midvar[i=1:5:4, j=2:5:3, k=3:5:2]
  5   / 2:  1585.00  1545.00
 canc data/all
  dealloc  dynamic grid (G018)          (AX031)   (AX033)   (AX029)   TAX1_6
- -DELETE MIDVAR   M: 52 dset:   1 I:    1    2  J:    1    2  K:    1    2  L:    1    1
+ -DELETE MIDVAR   M:180 dset:   1 I:      1      2  J:    1    2  K:    1    2  L:      1      1
  canceling dset ./bn_strides.cdf
  
 ! reference output
 use/order=tyx bn_strides
 list midvar[i=1:5:4, j=2:5:3, k=3:5:2]
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G018)          (AX033)   (AX031)   (AX032)   ZAX1_7
  dealloc  dynamic grid (G018)          (AX033)   (AX031)   (AX032)   ZAX1_7
  allocate dynamic grid (G018)          (AX033)   (AX031)   (AX032)   ZAX1_7
- eval    EX#1     C:  4 dset:   1 I:    1    2  J:    1    2  K:    1    2  L:    1    1
+ eval    EX#1     C:  4 dset:   1 I:      1      2  J:    1    2  K:    1    2  L:      1      1
  allocate dynamic grid (G018)          (AX033)   (AX031)   (AX032)   ZAX1_7
  strip regrid on X: MIDVAR --> (G018)           @XACT
- rdstride MIDVAR   C:  7 dset:   1 I:    1    5  J:    2    5  K:    3    5  L:    1    1
- nulrgd  MIDVAR   M: 40 dset:   1 I:    1    2  J:    1    2  K:    1    2  L:    1    1
- -DELETE MIDVAR   M: 52 dset:   1 I:    1    5  J:    2    5  K:    3    5  L:    1    1
+ rdstride MIDVAR   C:  7 dset:   1 I:      1      5  J:    2    5  K:    3    5  L:      1      1
+ nulrgd  MIDVAR   M:170 dset:   1 I:      1      2  J:    1    2  K:    1    2  L:      1      1
+ -DELETE MIDVAR   M:180 dset:   1 I:      1      5  J:    2    5  K:    3    5  L:      1      1
  dealloc  dynamic grid (G018)          (AX033)   (AX031)   (AX032)   ZAX1_7
              VARIABLE : VAR
                         regrid: 4 delta on X, 3 delta on Y, 2 delta on Z
@@ -28507,25 +28384,25 @@ list midvar[i=1:5:4, j=2:5:3, k=3:5:2]
  5   / 2:  1155.00  5155.00
 canc data/all
  dealloc  dynamic grid (G018)          (AX033)   (AX031)   (AX032)   ZAX1_7
- -DELETE MIDVAR   M: 40 dset:   1 I:    1    2  J:    1    2  K:    1    2  L:    1    1
+ -DELETE MIDVAR   M:170 dset:   1 I:      1      2  J:    1    2  K:    1    2  L:      1      1
  canceling dset ./bn_strides.cdf
  
 ! note the reversal on axes 1,2 and 3 (X,Y,Z in memory -- NOT T)
 use/order=-t-y-x bn_strides
 list midvar[i=1:5:4, j=2:5:3, k=3:5:2]
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G018)          (AX031)   (AX033)   (AX029)   ZAX1_7
  dealloc  dynamic grid (G018)          (AX031)   (AX033)   (AX029)   ZAX1_7
  allocate dynamic grid (G018)          (AX031)   (AX033)   (AX029)   ZAX1_7
- eval    EX#1     C:  4 dset:   1 I:    1    2  J:    1    2  K:    1    2  L:    1    1
+ eval    EX#1     C:  4 dset:   1 I:      1      2  J:    1    2  K:    1    2  L:      1      1
  allocate dynamic grid (G018)          (AX031)   (AX033)   (AX029)   ZAX1_7
  strip regrid on X: MIDVAR --> (G018)           @XACT
- strip reversing MIDVAR on X axis:     1     5 dset:   1
- rdstride MIDVAR   C:  8 dset:   1 I:    2    6  J:    4    7  K:    3    5  L:    7    7
- doing reversing MIDVAR on X axis:     1     5 dset:   1
- -DELETE MIDVAR   M: 40 dset:   1 I:    1    5  J:    2    5  K:    3    5  L:    1    1
- nulrgd  MIDVAR   M: 40 dset:   1 I:    1    2  J:    1    2  K:    1    2  L:    1    1
- -DELETE MIDVAR   M: 52 dset:   1 I:    1    5  J:    2    5  K:    3    5  L:    1    1
+ strip reversing MIDVAR on X axis:        1        5 dset:   1
+ rdstride MIDVAR   C:  8 dset:   1 I:      2      6  J:    4    7  K:    3    5  L:      7      7
+ doing reversing MIDVAR on X axis:        1        5 dset:   1
+ -DELETE MIDVAR   M:170 dset:   1 I:      1      5  J:    2    5  K:    3    5  L:      1      1
+ nulrgd  MIDVAR   M:170 dset:   1 I:      1      2  J:    1    2  K:    1    2  L:      1      1
+ -DELETE MIDVAR   M:180 dset:   1 I:      1      5  J:    2    5  K:    3    5  L:      1      1
  dealloc  dynamic grid (G018)          (AX031)   (AX033)   (AX029)   ZAX1_7
              VARIABLE : VAR
                         regrid: 4 delta on X, 3 delta on Y, 2 delta on Z
@@ -28542,22 +28419,22 @@ list midvar[i=1:5:4, j=2:5:3, k=3:5:2]
  5   / 2:  6745.00  2745.00
 canc data/all
  dealloc  dynamic grid (G018)          (AX031)   (AX033)   (AX029)   ZAX1_7
- -DELETE MIDVAR   M: 40 dset:   1 I:    1    2  J:    1    2  K:    1    2  L:    1    1
+ -DELETE MIDVAR   M:170 dset:   1 I:      1      2  J:    1    2  K:    1    2  L:      1      1
  canceling dset ./bn_strides.cdf
  
 ! reference output
 use/order=txy bn_strides
 list midvar[i=1:5:4, j=2:5:3, k=3:5:2]
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G018)          (AX033)   (AX031)   (AX032)   ZAX1_7
  dealloc  dynamic grid (G018)          (AX033)   (AX031)   (AX032)   ZAX1_7
  allocate dynamic grid (G018)          (AX033)   (AX031)   (AX032)   ZAX1_7
- eval    EX#1     C:  4 dset:   1 I:    1    2  J:    1    2  K:    1    2  L:    1    1
+ eval    EX#1     C:  4 dset:   1 I:      1      2  J:    1    2  K:    1    2  L:      1      1
  allocate dynamic grid (G018)          (AX033)   (AX031)   (AX032)   ZAX1_7
  strip regrid on X: MIDVAR --> (G018)           @XACT
- rdstride MIDVAR   C:  7 dset:   1 I:    1    5  J:    2    5  K:    3    5  L:    1    1
- nulrgd  MIDVAR   M: 52 dset:   1 I:    1    2  J:    1    2  K:    1    2  L:    1    1
- -DELETE MIDVAR   M: 40 dset:   1 I:    1    5  J:    2    5  K:    3    5  L:    1    1
+ rdstride MIDVAR   C:  7 dset:   1 I:      1      5  J:    2    5  K:    3    5  L:      1      1
+ nulrgd  MIDVAR   M:180 dset:   1 I:      1      2  J:    1    2  K:    1    2  L:      1      1
+ -DELETE MIDVAR   M:170 dset:   1 I:      1      5  J:    2    5  K:    3    5  L:      1      1
  dealloc  dynamic grid (G018)          (AX033)   (AX031)   (AX032)   ZAX1_7
              VARIABLE : VAR
                         regrid: 4 delta on X, 3 delta on Y, 2 delta on Z
@@ -28574,24 +28451,24 @@ list midvar[i=1:5:4, j=2:5:3, k=3:5:2]
  5   / 2:  1155.00  5155.00
 canc data/all
  dealloc  dynamic grid (G018)          (AX033)   (AX031)   (AX032)   ZAX1_7
- -DELETE MIDVAR   M: 52 dset:   1 I:    1    2  J:    1    2  K:    1    2  L:    1    1
+ -DELETE MIDVAR   M:180 dset:   1 I:      1      2  J:    1    2  K:    1    2  L:      1      1
  canceling dset ./bn_strides.cdf
  
 use/order=-t-x-y bn_strides
 list midvar[i=1:5:4, j=2:5:3, k=3:5:2]
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G018)          (AX031)   (AX033)   (AX029)   ZAX1_7
  dealloc  dynamic grid (G018)          (AX031)   (AX033)   (AX029)   ZAX1_7
  allocate dynamic grid (G018)          (AX031)   (AX033)   (AX029)   ZAX1_7
- eval    EX#1     C:  4 dset:   1 I:    1    2  J:    1    2  K:    1    2  L:    1    1
+ eval    EX#1     C:  4 dset:   1 I:      1      2  J:    1    2  K:    1    2  L:      1      1
  allocate dynamic grid (G018)          (AX031)   (AX033)   (AX029)   ZAX1_7
  strip regrid on X: MIDVAR --> (G018)           @XACT
- strip reversing MIDVAR on Y axis:     2     5 dset:   1
- rdstride MIDVAR   C:  8 dset:   1 I:    2    6  J:    5    8  K:    3    5  L:    7    7
- doing reversing MIDVAR on Y axis:     2     5 dset:   1
- -DELETE MIDVAR   M: 52 dset:   1 I:    1    5  J:    2    5  K:    3    5  L:    1    1
- nulrgd  MIDVAR   M: 52 dset:   1 I:    1    2  J:    1    2  K:    1    2  L:    1    1
- -DELETE MIDVAR   M: 40 dset:   1 I:    1    5  J:    2    5  K:    3    5  L:    1    1
+ strip reversing MIDVAR on Y axis:        2        5 dset:   1
+ rdstride MIDVAR   C:  8 dset:   1 I:      2      6  J:    5    8  K:    3    5  L:      7      7
+ doing reversing MIDVAR on Y axis:        2        5 dset:   1
+ -DELETE MIDVAR   M:180 dset:   1 I:      1      5  J:    2    5  K:    3    5  L:      1      1
+ nulrgd  MIDVAR   M:180 dset:   1 I:      1      2  J:    1    2  K:    1    2  L:      1      1
+ -DELETE MIDVAR   M:170 dset:   1 I:      1      5  J:    2    5  K:    3    5  L:      1      1
  dealloc  dynamic grid (G018)          (AX031)   (AX033)   (AX029)   ZAX1_7
              VARIABLE : VAR
                         regrid: 4 delta on X, 3 delta on Y, 2 delta on Z
@@ -28608,11 +28485,13 @@ list midvar[i=1:5:4, j=2:5:3, k=3:5:2]
  5   / 2:  6755.00  2755.00
 canc data/all
  dealloc  dynamic grid (G018)          (AX031)   (AX033)   (AX029)   ZAX1_7
- -DELETE MIDVAR   M: 52 dset:   1 I:    1    2  J:    1    2  K:    1    2  L:    1    1
+ -DELETE MIDVAR   M:180 dset:   1 I:      1      2  J:    1    2  K:    1    2  L:      1      1
  canceling dset ./bn_strides.cdf
  
-GO bn_reset
+GO bn_reset bn_non_COARDS_netCDF	
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_non_COARDS_netCDF
 GO bn_non_COARDS_netCDF		! non-standard netCDF files
 ! bn_non_COARDS_netCDF.jnl
 ! *sh* 3/99
@@ -28822,8 +28701,10 @@ list HAS_BACKWARDS_AXIS
  
 ! list/i=1:5 BIG_IRREG
  
-GO bn_reset
+GO bn_reset bn_cache_hits
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_cache_hits
 GO bn_cache_hits		! cache hits on unspecified (full) regions
 ! bn_cache_hits.jnl
  
@@ -28845,10 +28726,10 @@ GO bn_cache_hits.sub sst
  
 stat $1
  !-> stat sst
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
- eval    EX#1     C:  4 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- reading SST      M: 52 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
+ eval    EX#1     C:  4 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
+ reading SST      M:180 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
  
              SEA SURFACE TEMPERATURE
              LONGITUDE: 20E to 20E(380)
@@ -28867,20 +28748,20 @@ stat $1
  Standard deviation: 10.139
 CONFUSE
  dealloc  dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  dealloc  dynamic grid ABSTRACT        ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT
- pass #2 EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ pass #2 EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:    1    5  J: -999 -999  K: -999 -999  L:    1    1
- pseudo  I        M: 44 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  5 dset:   1 I:      1      5  J: -999 -999  K: -999 -999  L:      1      1
+ pseudo  I        M:179 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
 stat $1
  !-> stat sst
- -DELETE I        M: 44 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ -DELETE I        M:179 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
- eval    EX#1     C:  4 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- reading SST      M: 44 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
+ eval    EX#1     C:  4 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
+ found   SST      M:180 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
  
              SEA SURFACE TEMPERATURE
              LONGITUDE: 20E to 20E(380)
@@ -28902,15 +28783,15 @@ define axis/x=130e:80w:1 xtrop
 stat $1[gx=xtrop]
  !-> stat sst[gx=xtrop]
  dealloc  dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME4
  dealloc  dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME4
  allocate dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME4
- eval    EX#1     C:  4 dset:   1 I:    1  151  J:    1   90  K: -999 -999  L:    1    1
+ eval    EX#1     C:  4 dset:   1 I:      1    151  J:    1   90  K: -999 -999  L:      1      1
  allocate dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME4
  strip regrid on X: SST --> (G002)           @LIN
- reading SST      M: 43 dset:   1 I:   55  131  J:    1   90  K: -999 -999  L:    1    1
- regrid  SST      M: 40 dset:   1 I:    1  151  J:    1   90  K: -999 -999  L:    1    1
+ found   SST      M:180 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
+ regrid  SST      M:179 dset:   1 I:      1    151  J:    1   90  K: -999 -999  L:      1      1
  dealloc  dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME4
  
              SEA SURFACE TEMPERATURE
@@ -28931,26 +28812,26 @@ stat $1[gx=xtrop]
  Standard deviation: 9.8848
 CONFUSE
  dealloc  dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME4
- -DELETE SST      M: 40 dset:   1 I:    1  151  J:    1   90  K: -999 -999  L:    1    1
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ -DELETE SST      M:179 dset:   1 I:      1    151  J:    1   90  K: -999 -999  L:      1      1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  dealloc  dynamic grid ABSTRACT        ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT
- pass #2 EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ pass #2 EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:    1    5  J: -999 -999  K: -999 -999  L:    1    1
- pseudo  I        M: 40 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  5 dset:   1 I:      1      5  J: -999 -999  K: -999 -999  L:      1      1
+ pseudo  I        M:179 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
 stat $1[gx=xtrop]
  !-> stat sst[gx=xtrop]
- -DELETE I        M: 40 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ -DELETE I        M:179 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME4
  dealloc  dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME4
  allocate dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME4
- eval    EX#1     C:  4 dset:   1 I:    1  151  J:    1   90  K: -999 -999  L:    1    1
+ eval    EX#1     C:  4 dset:   1 I:      1    151  J:    1   90  K: -999 -999  L:      1      1
  allocate dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME4
  strip regrid on X: SST --> (G002)           @LIN
- reading SST      M: 40 dset:   1 I:   55  131  J:    1   90  K: -999 -999  L:    1    1
- regrid  SST      M: 38 dset:   1 I:    1  151  J:    1   90  K: -999 -999  L:    1    1
+ found   SST      M:180 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
+ regrid  SST      M:179 dset:   1 I:      1    151  J:    1   90  K: -999 -999  L:      1      1
  dealloc  dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME4
  
              SEA SURFACE TEMPERATURE
@@ -28975,19 +28856,19 @@ let $1x = $1[gx=xtrop]
 stat $1x
  !-> stat sstx
  dealloc  dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME4
- -DELETE SST      M: 38 dset:   1 I:    1  151  J:    1   90  K: -999 -999  L:    1    1
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid SSTX     C:  7 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ -DELETE SST      M:179 dset:   1 I:      1    151  J:    1   90  K: -999 -999  L:      1      1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid SSTX     C:  7 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME4
  dealloc  dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME4
  allocate dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME4
  allocate dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME4
- eval    EX#1     C:  4 dset:   1 I:    1  151  J:    1   90  K: -999 -999  L:    1    1
- eval    SSTX     C:  6 dset:   1 I:    1  151  J:    1   90  K: -999 -999  L:    1    1
+ eval    EX#1     C:  4 dset:   1 I:      1    151  J:    1   90  K: -999 -999  L:      1      1
+ eval    SSTX     C:  6 dset:   1 I:      1    151  J:    1   90  K: -999 -999  L:      1      1
  allocate dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME4
  strip regrid on X: SST --> (G002)           @LIN
- reading SST      M: 38 dset:   1 I:   55  131  J:    1   90  K: -999 -999  L:    1    1
- regrid  SST      M: 39 dset:   1 I:    1  151  J:    1   90  K: -999 -999  L:    1    1
+ found   SST      M:180 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
+ regrid  SST      M:179 dset:   1 I:      1    151  J:    1   90  K: -999 -999  L:      1      1
  dealloc  dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME4
  
              SST[GX=XTROP]
@@ -29007,25 +28888,20 @@ stat $1x
  Standard deviation: 9.8848
 CONFUSE
  dealloc  dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME4
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  dealloc  dynamic grid ABSTRACT        ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT
- pass #2 EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ pass #2 EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:    1    5  J: -999 -999  K: -999 -999  L:    1    1
- pseudo  I        M: 35 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  5 dset:   1 I:      1      5  J: -999 -999  K: -999 -999  L:      1      1
+ pseudo  I        M:170 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
 stat $1x
  !-> stat sstx
- -DELETE I        M: 35 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ -DELETE I        M:170 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME4
- eval    EX#1     C:  4 dset:   1 I:    1  151  J:    1   90  K: -999 -999  L:    1    1
- eval    SSTX     C:  6 dset:   1 I:    1  151  J:    1   90  K: -999 -999  L:    1    1
- allocate dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME4
- strip regrid on X: SST --> (G002)           @LIN
- reading SST      M: 35 dset:   1 I:   55  131  J:    1   90  K: -999 -999  L:    1    1
- regrid  SST      M: 34 dset:   1 I:    1  151  J:    1   90  K: -999 -999  L:    1    1
- dealloc  dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME4
+ eval    EX#1     C:  4 dset:   1 I:      1    151  J:    1   90  K: -999 -999  L:      1      1
+ found   SSTX     M:173 dset:   1 I:      1    151  J:    1   90  K: -999 -999  L:      1      1
  
              SST[GX=XTROP]
              LONGITUDE: 129.5E to 79.5W
@@ -29045,22 +28921,20 @@ stat $1x
  
 define grid/x=xtrop gx
  dealloc  dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME4
- -DELETE SSTX     M: 33 dset:   1 I:    1  151  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SSTX     M: 36 dset:   1 I:    1  151  J:    1   90  K: -999 -999  L:    1    1
+ -DELETE SSTX     M:173 dset:   1 I:      1    151  J:    1   90  K: -999 -999  L:      1      1
  dealloc  dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME4
- -DELETE SST      M: 34 dset:   1 I:    1  151  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST      M: 39 dset:   1 I:    1  151  J:    1   90  K: -999 -999  L:    1    1
+ -DELETE SST      M:179 dset:   1 I:      1    151  J:    1   90  K: -999 -999  L:      1      1
 stat $1[g=gx]
  !-> stat sst[g=gx]
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME4
  dealloc  dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME4
  allocate dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME4
- eval    EX#1     C:  4 dset:   1 I:    1  151  J:    1   90  K: -999 -999  L:    1    1
+ eval    EX#1     C:  4 dset:   1 I:      1    151  J:    1   90  K: -999 -999  L:      1      1
  allocate dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME4
  strip regrid on X: SST --> (G002)           @LIN
- reading SST      M: 39 dset:   1 I:   55  131  J:    1   90  K: -999 -999  L:    1    1
- regrid  SST      M: 34 dset:   1 I:    1  151  J:    1   90  K: -999 -999  L:    1    1
+ found   SST      M:180 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
+ regrid  SST      M:179 dset:   1 I:      1    151  J:    1   90  K: -999 -999  L:      1      1
  dealloc  dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME4
  
              SEA SURFACE TEMPERATURE
@@ -29081,26 +28955,26 @@ stat $1[g=gx]
  Standard deviation: 9.8848
 CONFUSE
  dealloc  dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME4
- -DELETE SST      M: 34 dset:   1 I:    1  151  J:    1   90  K: -999 -999  L:    1    1
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ -DELETE SST      M:179 dset:   1 I:      1    151  J:    1   90  K: -999 -999  L:      1      1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  dealloc  dynamic grid ABSTRACT        ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT
- pass #2 EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ pass #2 EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:    1    5  J: -999 -999  K: -999 -999  L:    1    1
- pseudo  I        M: 34 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  5 dset:   1 I:      1      5  J: -999 -999  K: -999 -999  L:      1      1
+ pseudo  I        M:179 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
 stat $1[g=gx]
  !-> stat sst[g=gx]
- -DELETE I        M: 34 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ -DELETE I        M:179 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME4
  dealloc  dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME4
  allocate dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME4
- eval    EX#1     C:  4 dset:   1 I:    1  151  J:    1   90  K: -999 -999  L:    1    1
+ eval    EX#1     C:  4 dset:   1 I:      1    151  J:    1   90  K: -999 -999  L:      1      1
  allocate dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME4
  strip regrid on X: SST --> (G002)           @LIN
- reading SST      M: 34 dset:   1 I:   55  131  J:    1   90  K: -999 -999  L:    1    1
- regrid  SST      M: 36 dset:   1 I:    1  151  J:    1   90  K: -999 -999  L:    1    1
+ found   SST      M:180 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
+ regrid  SST      M:179 dset:   1 I:      1    151  J:    1   90  K: -999 -999  L:      1      1
  dealloc  dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME4
  
              SEA SURFACE TEMPERATURE
@@ -29124,17 +28998,17 @@ define axis/y=20s:20n:1 ytrop
 stat $1[gx=xtrop,gy=ytrop]
  !-> stat sst[gx=xtrop,gy=ytrop]
  dealloc  dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME4
- -DELETE SST      M: 36 dset:   1 I:    1  151  J:    1   90  K: -999 -999  L:    1    1
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ -DELETE SST      M:179 dset:   1 I:      1    151  J:    1   90  K: -999 -999  L:      1      1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G002)          XTROP     YTROP     NORMAL    TIME4
  dealloc  dynamic grid (G002)          XTROP     YTROP     NORMAL    TIME4
  allocate dynamic grid (G002)          XTROP     YTROP     NORMAL    TIME4
- eval    EX#1     C:  4 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
+ eval    EX#1     C:  4 dset:   1 I:      1    151  J:    1   41  K: -999 -999  L:      1      1
  allocate dynamic grid (G002)          XTROP     YTROP     NORMAL    TIME4
  strip regrid on X: SST --> (G002)           @LIN
- reading SST      M: 36 dset:   1 I:   55  131  J:   35   56  K: -999 -999  L:    1    1
+ found   SST      M:180 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
  regrid XY
- regrid  SST      M: 33 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
+ regrid  SST      M:179 dset:   1 I:      1    151  J:    1   41  K: -999 -999  L:      1      1
  dealloc  dynamic grid (G002)          XTROP     YTROP     NORMAL    TIME4
  
              SEA SURFACE TEMPERATURE
@@ -29155,27 +29029,27 @@ stat $1[gx=xtrop,gy=ytrop]
  Standard deviation: 1.778
 CONFUSE
  dealloc  dynamic grid (G002)          XTROP     YTROP     NORMAL    TIME4
- -DELETE SST      M: 33 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ -DELETE SST      M:179 dset:   1 I:      1    151  J:    1   41  K: -999 -999  L:      1      1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  dealloc  dynamic grid ABSTRACT        ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT
- pass #2 EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ pass #2 EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:    1    5  J: -999 -999  K: -999 -999  L:    1    1
- pseudo  I        M: 33 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  5 dset:   1 I:      1      5  J: -999 -999  K: -999 -999  L:      1      1
+ pseudo  I        M:179 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
 stat $1[gx=xtrop,gy=ytrop]
  !-> stat sst[gx=xtrop,gy=ytrop]
- -DELETE I        M: 33 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ -DELETE I        M:179 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G002)          XTROP     YTROP     NORMAL    TIME4
  dealloc  dynamic grid (G002)          XTROP     YTROP     NORMAL    TIME4
  allocate dynamic grid (G002)          XTROP     YTROP     NORMAL    TIME4
- eval    EX#1     C:  4 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
+ eval    EX#1     C:  4 dset:   1 I:      1    151  J:    1   41  K: -999 -999  L:      1      1
  allocate dynamic grid (G002)          XTROP     YTROP     NORMAL    TIME4
  strip regrid on X: SST --> (G002)           @LIN
- reading SST      M: 33 dset:   1 I:   55  131  J:   35   56  K: -999 -999  L:    1    1
+ found   SST      M:180 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
  regrid XY
- regrid  SST      M: 30 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
+ regrid  SST      M:179 dset:   1 I:      1    151  J:    1   41  K: -999 -999  L:      1      1
  dealloc  dynamic grid (G002)          XTROP     YTROP     NORMAL    TIME4
  
              SEA SURFACE TEMPERATURE
@@ -29198,18 +29072,18 @@ stat $1[gx=xtrop,gy=ytrop]
 define grid/like=$1/x=xtrop/y=ytrop gxyt
  !-> define grid/like=sst/x=xtrop/y=ytrop gxyt
  dealloc  dynamic grid (G002)          XTROP     YTROP     NORMAL    TIME4
- -DELETE SST      M: 30 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
- getgrid EX#1     C:  6 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ -DELETE SST      M:179 dset:   1 I:      1    151  J:    1   41  K: -999 -999  L:      1      1
+ getgrid EX#1     C:  6 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
 stat $1[g=gxyt]
  !-> stat sst[g=gxyt]
  dealloc  dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:      1    151  J:    1   41  K: -999 -999  L:      1      1
  strip regrid on X: SST --> GXYT             @LIN
- reading SST      M: 30 dset:   1 I:   55  131  J:   35   56  K: -999 -999  L:    1    1
+ found   SST      M:180 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
  regrid XY
- regrid  SST      M: 29 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
+ regrid  SST      M:179 dset:   1 I:      1    151  J:    1   41  K: -999 -999  L:      1      1
  
              SEA SURFACE TEMPERATURE
              regrid: GXYT
@@ -29229,22 +29103,19 @@ stat $1[g=gxyt]
  Standard deviation: 1.778
 CONFUSE
  dealloc  dynamic grid GXYT            XTROP     YTROP     NORMAL    TIME4
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  dealloc  dynamic grid ABSTRACT        ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT
- pass #2 EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ pass #2 EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:    1    5  J: -999 -999  K: -999 -999  L:    1    1
- pseudo  I        M: 26 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  5 dset:   1 I:      1      5  J: -999 -999  K: -999 -999  L:      1      1
+ pseudo  I        M:173 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
 stat $1[g=gxyt]
  !-> stat sst[g=gxyt]
- -DELETE I        M: 26 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ -DELETE I        M:173 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
- strip regrid on X: SST --> GXYT             @LIN
- reading SST      M: 26 dset:   1 I:   55  131  J:   35   56  K: -999 -999  L:    1    1
- regrid XY
- regrid  SST      M: 25 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:      1    151  J:    1   41  K: -999 -999  L:      1      1
+ found   SST      M:179 dset:   1 I:      1    151  J:    1   41  K: -999 -999  L:      1      1
  
              SEA SURFACE TEMPERATURE
              regrid: GXYT
@@ -29268,14 +29139,11 @@ let $1xyt = $1[g=gxyt]
 stat $1xyt
  !-> stat sstxyt
  dealloc  dynamic grid GXYT            XTROP     YTROP     NORMAL    TIME4
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid SSTXYT   C:  7 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
- eval    SSTXYT   C:  6 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
- strip regrid on X: SST --> GXYT             @LIN
- reading SST      M: 24 dset:   1 I:   55  131  J:   35   56  K: -999 -999  L:    1    1
- regrid XY
- regrid  SST      M: 23 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid SSTXYT   C:  7 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:      1    151  J:    1   41  K: -999 -999  L:      1      1
+ eval    SSTXYT   C:  6 dset:   1 I:      1    151  J:    1   41  K: -999 -999  L:      1      1
+ found   SST      M:179 dset:   1 I:      1    151  J:    1   41  K: -999 -999  L:      1      1
  
              SST[G=GXYT]
              LONGITUDE: 129.5E to 79.5W
@@ -29294,23 +29162,19 @@ stat $1xyt
  Standard deviation: 1.778
 CONFUSE
  dealloc  dynamic grid GXYT            XTROP     YTROP     NORMAL    TIME4
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  dealloc  dynamic grid ABSTRACT        ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT
- pass #2 EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ pass #2 EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:    1    5  J: -999 -999  K: -999 -999  L:    1    1
- pseudo  I        M: 21 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  5 dset:   1 I:      1      5  J: -999 -999  K: -999 -999  L:      1      1
+ pseudo  I        M:170 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
 stat $1xyt
  !-> stat sstxyt
- -DELETE I        M: 21 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ -DELETE I        M:170 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
- eval    SSTXYT   C:  6 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
- strip regrid on X: SST --> GXYT             @LIN
- reading SST      M: 21 dset:   1 I:   55  131  J:   35   56  K: -999 -999  L:    1    1
- regrid XY
- regrid  SST      M: 20 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:      1    151  J:    1   41  K: -999 -999  L:      1      1
+ found   SSTXYT   M:173 dset:   1 I:      1    151  J:    1   41  K: -999 -999  L:      1      1
  
              SST[G=GXYT]
              LONGITUDE: 129.5E to 79.5W
@@ -29331,19 +29195,15 @@ stat $1xyt
 let $1xyt = $1[g=gxyt]
  !-> DEFINE VARIABLE sstxyt = sst[g=gxyt]
  dealloc  dynamic grid GXYT            XTROP     YTROP     NORMAL    TIME4
- -DELETE SSTXYT   M: 19 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
- -DELETE SSTXYT   M: 22 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
+ -DELETE SSTXYT   M:173 dset:   1 I:      1    151  J:    1   41  K: -999 -999  L:      1      1
  dealloc  dynamic grid GXYT            XTROP     YTROP     NORMAL    TIME4
 stat $1xyt
  !-> stat sstxyt
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid SSTXYT   C:  7 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
- eval    SSTXYT   C:  6 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
- strip regrid on X: SST --> GXYT             @LIN
- reading SST      M: 22 dset:   1 I:   55  131  J:   35   56  K: -999 -999  L:    1    1
- regrid XY
- regrid  SST      M: 19 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid SSTXYT   C:  7 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:      1    151  J:    1   41  K: -999 -999  L:      1      1
+ eval    SSTXYT   C:  6 dset:   1 I:      1    151  J:    1   41  K: -999 -999  L:      1      1
+ found   SST      M:179 dset:   1 I:      1    151  J:    1   41  K: -999 -999  L:      1      1
  
              SST[G=GXYT]
              LONGITUDE: 129.5E to 79.5W
@@ -29362,23 +29222,19 @@ stat $1xyt
  Standard deviation: 1.778
 CONFUSE
  dealloc  dynamic grid GXYT            XTROP     YTROP     NORMAL    TIME4
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  dealloc  dynamic grid ABSTRACT        ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT
- pass #2 EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ pass #2 EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:    1    5  J: -999 -999  K: -999 -999  L:    1    1
- pseudo  I        M: 17 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  5 dset:   1 I:      1      5  J: -999 -999  K: -999 -999  L:      1      1
+ pseudo  I        M:170 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
 stat $1xyt
  !-> stat sstxyt
- -DELETE I        M: 17 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ -DELETE I        M:170 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
- eval    SSTXYT   C:  6 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
- strip regrid on X: SST --> GXYT             @LIN
- reading SST      M: 17 dset:   1 I:   55  131  J:   35   56  K: -999 -999  L:    1    1
- regrid XY
- regrid  SST      M: 16 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:      1    151  J:    1   41  K: -999 -999  L:      1      1
+ found   SSTXYT   M:173 dset:   1 I:      1    151  J:    1   41  K: -999 -999  L:      1      1
  
              SST[G=GXYT]
              LONGITUDE: 129.5E to 79.5W
@@ -29399,12 +29255,13 @@ stat $1xyt
 stat $1[x=@ave]
  !-> stat sst[x=@ave]
  dealloc  dynamic grid GXYT            XTROP     YTROP     NORMAL    TIME4
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
- eval    EX#1     C:  4 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
+ eval    EX#1     C:  4 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
  strip --> SST[X=20E:20E(380)@AVE,D=1]
- reading SST      M: 14 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
+ found   SST      M:180 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
  doing --> SST[X=20E:20E(380)@AVE,D=1]
+ final --> SST[X=20E:20E(380)@AVE,D=1]
  
              SEA SURFACE TEMPERATURE
              LONGITUDE: 20E to 20E(380) (averaged)
@@ -29423,22 +29280,20 @@ stat $1[x=@ave]
  Standard deviation: 10.445
 CONFUSE	
  dealloc  dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  dealloc  dynamic grid ABSTRACT        ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT
- pass #2 EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ pass #2 EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:    1    5  J: -999 -999  K: -999 -999  L:    1    1
- pseudo  I        M: 12 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  5 dset:   1 I:      1      5  J: -999 -999  K: -999 -999  L:      1      1
+ pseudo  I        M:166 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
 stat $1[x=@ave]
  !-> stat sst[x=@ave]
- -DELETE I        M: 12 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ -DELETE I        M:166 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
- eval    EX#1     C:  4 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- strip --> SST[X=20E:20E(380)@AVE,D=1]
- reading SST      M: 12 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- doing --> SST[X=20E:20E(380)@AVE,D=1]
+ eval    EX#1     C:  4 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
+ found   SST      M:170 dset:   1 I:   -999   -999  J:    1   90  K: -999 -999  L:      1      1
  
              SEA SURFACE TEMPERATURE
              LONGITUDE: 20E to 20E(380) (averaged)
@@ -29461,15 +29316,13 @@ let $1xave = $1[x=@ave]
 stat $1xave
  !-> stat sstxave
  dealloc  dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid SSTXAVE  C:  7 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid SSTXAVE  C:  7 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
  allocate dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
- eval    EX#1     C:  4 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- eval    SSTXAVE  C:  6 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- strip --> SST[X=20E:20E(380)@AVE,D=1]
- reading SST      M: 10 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- doing --> SST[X=20E:20E(380)@AVE,D=1]
+ eval    EX#1     C:  4 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
+ eval    SSTXAVE  C:  6 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
+ found   SST      M:170 dset:   1 I:   -999   -999  J:    1   90  K: -999 -999  L:      1      1
  
              SST[X=@AVE]
              LONGITUDE: 20E to 20E(380)
@@ -29488,23 +29341,20 @@ stat $1xave
  Standard deviation: 10.445
 CONFUSE
  dealloc  dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  dealloc  dynamic grid ABSTRACT        ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT
- pass #2 EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ pass #2 EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:    1    5  J: -999 -999  K: -999 -999  L:    1    1
- pseudo  I        M:  5 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  5 dset:   1 I:      1      5  J: -999 -999  K: -999 -999  L:      1      1
+ pseudo  I        M:168 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
 stat $1xave
  !-> stat sstxave
- -DELETE I        M:  5 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ -DELETE I        M:168 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
- eval    EX#1     C:  4 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- eval    SSTXAVE  C:  6 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- strip --> SST[X=20E:20E(380)@AVE,D=1]
- reading SST      M:  5 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- doing --> SST[X=20E:20E(380)@AVE,D=1]
+ eval    EX#1     C:  4 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
+ found   SSTXAVE  M:166 dset:   1 I:   -999   -999  J:    1   90  K: -999 -999  L:      1      1
  
              SST[X=@AVE]
              LONGITUDE: 20E to 20E(380)
@@ -29525,13 +29375,13 @@ stat $1xave
 stat $1[x=@sbx]
  !-> stat sst[x=@sbx]
  dealloc  dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
- eval    EX#1     C:  4 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
+ eval    EX#1     C:  4 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
  strip --> SST[X=20E:20E(380)@SBX:3,D=1]
- strip moduloing SST on X axis:     0   181 dset:   1
- reading SST      M:  2 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- doing moduloing SST on X axis:     1   180 dset:   1
+ strip moduloing SST on X axis:        0      181 dset:   1
+ found   SST      M:180 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
+ doing moduloing SST on X axis:        1      180 dset:   1
  doing --> SST[X=20E:20E(380)@SBX:3,D=1]
  
              SEA SURFACE TEMPERATURE
@@ -29552,24 +29402,20 @@ stat $1[x=@sbx]
  Standard deviation: 10.112
 CONFUSE
  dealloc  dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  dealloc  dynamic grid ABSTRACT        ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT
- pass #2 EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ pass #2 EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:    1    5  J: -999 -999  K: -999 -999  L:    1    1
- pseudo  I        M: 46 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  5 dset:   1 I:      1      5  J: -999 -999  K: -999 -999  L:      1      1
+ pseudo  I        M:153 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
 stat $1[x=@sbx]
  !-> stat sst[x=@sbx]
- -DELETE I        M: 46 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ -DELETE I        M:153 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
- eval    EX#1     C:  4 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- strip --> SST[X=20E:20E(380)@SBX:3,D=1]
- strip moduloing SST on X axis:     0   181 dset:   1
- reading SST      M: 46 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- doing moduloing SST on X axis:     1   180 dset:   1
- doing --> SST[X=20E:20E(380)@SBX:3,D=1]
+ eval    EX#1     C:  4 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
+ found   SST      M:157 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
  
              SEA SURFACE TEMPERATURE
              box smoothed by 3 pts on X
@@ -29593,17 +29439,13 @@ let $1sbx = $1[x=@sbx]
 stat $1sbx
  !-> stat sstsbx
  dealloc  dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid SSTSBX   C:  7 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid SSTSBX   C:  7 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
  allocate dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
- eval    EX#1     C:  4 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- eval    SSTSBX   C:  6 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- strip --> SST[X=20E:20E(380)@SBX:3,D=1]
- strip moduloing SST on X axis:     0   181 dset:   1
- reading SST      M: 27 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- doing moduloing SST on X axis:     1   180 dset:   1
- doing --> SST[X=20E:20E(380)@SBX:3,D=1]
+ eval    EX#1     C:  4 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
+ eval    SSTSBX   C:  6 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
+ found   SST      M:157 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
  
              SST[X=@SBX]
              LONGITUDE: 20E to 20E(380)
@@ -29622,25 +29464,20 @@ stat $1sbx
  Standard deviation: 10.112
 CONFUSE
  dealloc  dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  dealloc  dynamic grid ABSTRACT        ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT
- pass #2 EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ pass #2 EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:    1    5  J: -999 -999  K: -999 -999  L:    1    1
- pseudo  I        M: 55 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  5 dset:   1 I:      1      5  J: -999 -999  K: -999 -999  L:      1      1
+ pseudo  I        M:152 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
 stat $1sbx
  !-> stat sstsbx
- -DELETE I        M: 55 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ -DELETE I        M:152 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
- eval    EX#1     C:  4 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- eval    SSTSBX   C:  6 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- strip --> SST[X=20E:20E(380)@SBX:3,D=1]
- strip moduloing SST on X axis:     0   181 dset:   1
- reading SST      M: 55 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- doing moduloing SST on X axis:     1   180 dset:   1
- doing --> SST[X=20E:20E(380)@SBX:3,D=1]
+ eval    EX#1     C:  4 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
+ found   SSTSBX   M:153 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
  
              SST[X=@SBX]
              LONGITUDE: 20E to 20E(380)
@@ -29669,15 +29506,15 @@ GO bn_cache_hits.sub sst5
 stat $1
  !-> stat sst5
  dealloc  dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid SST5     C:  7 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid SST5     C:  7 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
  allocate dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
- eval    EX#1     C:  4 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- eval    SST5     C:  6 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- reading SST      M: 48 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- constan cnst     M: 53 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- -DELETE cnst     M: 53 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  4 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
+ eval    SST5     C:  6 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
+ found   SST      M:168 dset:   1 I:      0    181  J:    1   90  K: -999 -999  L:      1      1
+ constan cnst     M:152 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
+ -DELETE cnst     M:152 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
  
              SST+5
              LONGITUDE: 20E to 20E(380)
@@ -29696,23 +29533,20 @@ stat $1
  Standard deviation: 10.139
 CONFUSE
  dealloc  dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  dealloc  dynamic grid ABSTRACT        ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT
- pass #2 EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ pass #2 EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:    1    5  J: -999 -999  K: -999 -999  L:    1    1
- pseudo  I        M: 53 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  5 dset:   1 I:      1      5  J: -999 -999  K: -999 -999  L:      1      1
+ pseudo  I        M:152 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
 stat $1
  !-> stat sst5
- -DELETE I        M: 53 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ -DELETE I        M:152 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
- eval    EX#1     C:  4 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- eval    SST5     C:  6 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- reading SST      M: 53 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- constan cnst     M: 50 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- -DELETE cnst     M: 50 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  4 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
+ found   SST5     M:151 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
  
              SST+5
              LONGITUDE: 20E to 20E(380)
@@ -29734,18 +29568,15 @@ define axis/x=130e:80w:1 xtrop
 stat $1[gx=xtrop]
  !-> stat sst5[gx=xtrop]
  dealloc  dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME4
  dealloc  dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME4
  allocate dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME4
- eval    EX#1     C:  4 dset:   1 I:    1  151  J:    1   90  K: -999 -999  L:    1    1
+ eval    EX#1     C:  4 dset:   1 I:      1    151  J:    1   90  K: -999 -999  L:      1      1
  allocate dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME4
  strip regrid on X: SST5 --> (G002)           @LIN
- eval    SST5     C:  7 dset:   1 I:   55  131  J:    1   90  K: -999 -999  L:    1    1
- reading SST      M: 50 dset:   1 I:   55  131  J:    1   90  K: -999 -999  L:    1    1
- constan cnst     M: 42 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- -DELETE cnst     M: 42 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- regrid  SST5     M: 42 dset:   1 I:    1  151  J:    1   90  K: -999 -999  L:    1    1
+ found   SST5     M:151 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
+ regrid  SST5     M:152 dset:   1 I:      1    151  J:    1   90  K: -999 -999  L:      1      1
  dealloc  dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME4
  
              SST+5
@@ -29766,29 +29597,26 @@ stat $1[gx=xtrop]
  Standard deviation: 9.8848
 CONFUSE
  dealloc  dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME4
- -DELETE SST5     M: 42 dset:   1 I:    1  151  J:    1   90  K: -999 -999  L:    1    1
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ -DELETE SST5     M:152 dset:   1 I:      1    151  J:    1   90  K: -999 -999  L:      1      1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  dealloc  dynamic grid ABSTRACT        ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT
- pass #2 EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ pass #2 EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:    1    5  J: -999 -999  K: -999 -999  L:    1    1
- pseudo  I        M: 42 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  5 dset:   1 I:      1      5  J: -999 -999  K: -999 -999  L:      1      1
+ pseudo  I        M:152 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
 stat $1[gx=xtrop]
  !-> stat sst5[gx=xtrop]
- -DELETE I        M: 42 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ -DELETE I        M:152 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME4
  dealloc  dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME4
  allocate dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME4
- eval    EX#1     C:  4 dset:   1 I:    1  151  J:    1   90  K: -999 -999  L:    1    1
+ eval    EX#1     C:  4 dset:   1 I:      1    151  J:    1   90  K: -999 -999  L:      1      1
  allocate dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME4
  strip regrid on X: SST5 --> (G002)           @LIN
- eval    SST5     C:  7 dset:   1 I:   55  131  J:    1   90  K: -999 -999  L:    1    1
- reading SST      M: 42 dset:   1 I:   55  131  J:    1   90  K: -999 -999  L:    1    1
- constan cnst     M: 45 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- -DELETE cnst     M: 45 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- regrid  SST5     M: 45 dset:   1 I:    1  151  J:    1   90  K: -999 -999  L:    1    1
+ found   SST5     M:151 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
+ regrid  SST5     M:152 dset:   1 I:      1    151  J:    1   90  K: -999 -999  L:      1      1
  dealloc  dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME4
  
              SST+5
@@ -29813,22 +29641,19 @@ let $1x = $1[gx=xtrop]
 stat $1x
  !-> stat sst5x
  dealloc  dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME4
- -DELETE SST5     M: 45 dset:   1 I:    1  151  J:    1   90  K: -999 -999  L:    1    1
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid SST5X    C:  7 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ -DELETE SST5     M:152 dset:   1 I:      1    151  J:    1   90  K: -999 -999  L:      1      1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid SST5X    C:  7 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME4
  dealloc  dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME4
  allocate dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME4
  allocate dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME4
- eval    EX#1     C:  4 dset:   1 I:    1  151  J:    1   90  K: -999 -999  L:    1    1
- eval    SST5X    C:  6 dset:   1 I:    1  151  J:    1   90  K: -999 -999  L:    1    1
+ eval    EX#1     C:  4 dset:   1 I:      1    151  J:    1   90  K: -999 -999  L:      1      1
+ eval    SST5X    C:  6 dset:   1 I:      1    151  J:    1   90  K: -999 -999  L:      1      1
  allocate dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME4
  strip regrid on X: SST5 --> (G002)           @LIN
- eval    SST5     C:  9 dset:   1 I:   55  131  J:    1   90  K: -999 -999  L:    1    1
- reading SST      M: 45 dset:   1 I:   55  131  J:    1   90  K: -999 -999  L:    1    1
- constan cnst     M: 58 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- -DELETE cnst     M: 58 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- regrid  SST5     M: 58 dset:   1 I:    1  151  J:    1   90  K: -999 -999  L:    1    1
+ found   SST5     M:151 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
+ regrid  SST5     M:152 dset:   1 I:      1    151  J:    1   90  K: -999 -999  L:      1      1
  dealloc  dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME4
  
              SST5[GX=XTROP]
@@ -29848,28 +29673,20 @@ stat $1x
  Standard deviation: 9.8848
 CONFUSE
  dealloc  dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME4
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  dealloc  dynamic grid ABSTRACT        ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT
- pass #2 EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ pass #2 EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:    1    5  J: -999 -999  K: -999 -999  L:    1    1
- pseudo  I        M: 61 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  5 dset:   1 I:      1      5  J: -999 -999  K: -999 -999  L:      1      1
+ pseudo  I        M:148 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
 stat $1x
  !-> stat sst5x
- -DELETE I        M: 61 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ -DELETE I        M:148 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME4
- eval    EX#1     C:  4 dset:   1 I:    1  151  J:    1   90  K: -999 -999  L:    1    1
- eval    SST5X    C:  6 dset:   1 I:    1  151  J:    1   90  K: -999 -999  L:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME4
- strip regrid on X: SST5 --> (G002)           @LIN
- eval    SST5     C:  9 dset:   1 I:   55  131  J:    1   90  K: -999 -999  L:    1    1
- reading SST      M: 61 dset:   1 I:   55  131  J:    1   90  K: -999 -999  L:    1    1
- constan cnst     M: 62 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- -DELETE cnst     M: 62 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- regrid  SST5     M: 62 dset:   1 I:    1  151  J:    1   90  K: -999 -999  L:    1    1
- dealloc  dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME4
+ eval    EX#1     C:  4 dset:   1 I:      1    151  J:    1   90  K: -999 -999  L:      1      1
+ found   SST5X    M:150 dset:   1 I:      1    151  J:    1   90  K: -999 -999  L:      1      1
  
              SST5[GX=XTROP]
              LONGITUDE: 129.5E to 79.5W
@@ -29891,18 +29708,13 @@ define grid/x=xtrop gx
 stat $1[g=gx]
  !-> stat sst5[g=gx]
  dealloc  dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME4
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME4
  dealloc  dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME4
  allocate dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME4
- eval    EX#1     C:  4 dset:   1 I:    1  151  J:    1   90  K: -999 -999  L:    1    1
+ eval    EX#1     C:  4 dset:   1 I:      1    151  J:    1   90  K: -999 -999  L:      1      1
  allocate dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME4
- strip regrid on X: SST5 --> (G002)           @LIN
- eval    SST5     C:  7 dset:   1 I:   55  131  J:    1   90  K: -999 -999  L:    1    1
- reading SST      M: 65 dset:   1 I:   55  131  J:    1   90  K: -999 -999  L:    1    1
- constan cnst     M: 66 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- -DELETE cnst     M: 66 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- regrid  SST5     M: 66 dset:   1 I:    1  151  J:    1   90  K: -999 -999  L:    1    1
+ found   SST5     M:152 dset:   1 I:      1    151  J:    1   90  K: -999 -999  L:      1      1
  dealloc  dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME4
  
              SST+5
@@ -29923,28 +29735,23 @@ stat $1[g=gx]
  Standard deviation: 9.8848
 CONFUSE
  dealloc  dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME4
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  dealloc  dynamic grid ABSTRACT        ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT
- pass #2 EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ pass #2 EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:    1    5  J: -999 -999  K: -999 -999  L:    1    1
- pseudo  I        M: 68 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  5 dset:   1 I:      1      5  J: -999 -999  K: -999 -999  L:      1      1
+ pseudo  I        M:148 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
 stat $1[g=gx]
  !-> stat sst5[g=gx]
- -DELETE I        M: 68 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ -DELETE I        M:148 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME4
  dealloc  dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME4
  allocate dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME4
- eval    EX#1     C:  4 dset:   1 I:    1  151  J:    1   90  K: -999 -999  L:    1    1
+ eval    EX#1     C:  4 dset:   1 I:      1    151  J:    1   90  K: -999 -999  L:      1      1
  allocate dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME4
- strip regrid on X: SST5 --> (G002)           @LIN
- eval    SST5     C:  7 dset:   1 I:   55  131  J:    1   90  K: -999 -999  L:    1    1
- reading SST      M: 68 dset:   1 I:   55  131  J:    1   90  K: -999 -999  L:    1    1
- constan cnst     M: 69 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- -DELETE cnst     M: 69 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- regrid  SST5     M: 69 dset:   1 I:    1  151  J:    1   90  K: -999 -999  L:    1    1
+ found   SST5     M:152 dset:   1 I:      1    151  J:    1   90  K: -999 -999  L:      1      1
  dealloc  dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME4
  
              SST+5
@@ -29968,15 +29775,12 @@ define axis/y=20s:20n:1 ytrop
 stat $1[gx=xtrop,gy=ytrop]
  !-> stat sst5[gx=xtrop,gy=ytrop]
  dealloc  dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME4
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:      1    151  J:    1   41  K: -999 -999  L:      1      1
  strip regrid on X: SST5 --> GXYT             @LIN
- eval    SST5     C:  7 dset:   1 I:   55  131  J:   35   56  K: -999 -999  L:    1    1
- reading SST      M: 71 dset:   1 I:   55  131  J:   35   56  K: -999 -999  L:    1    1
- constan cnst     M: 72 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- -DELETE cnst     M: 72 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
+ found   SST5     M:151 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
  regrid XY
- regrid  SST5     M: 72 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
+ regrid  SST5     M:148 dset:   1 I:      1    151  J:    1   41  K: -999 -999  L:      1      1
  
              SST+5
              regrid: GXYT
@@ -29996,25 +29800,19 @@ stat $1[gx=xtrop,gy=ytrop]
  Standard deviation: 1.778
 CONFUSE
  dealloc  dynamic grid GXYT            XTROP     YTROP     NORMAL    TIME4
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  dealloc  dynamic grid ABSTRACT        ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT
- pass #2 EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ pass #2 EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:    1    5  J: -999 -999  K: -999 -999  L:    1    1
- pseudo  I        M: 74 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  5 dset:   1 I:      1      5  J: -999 -999  K: -999 -999  L:      1      1
+ pseudo  I        M:146 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
 stat $1[gx=xtrop,gy=ytrop]
  !-> stat sst5[gx=xtrop,gy=ytrop]
- -DELETE I        M: 74 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ -DELETE I        M:146 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
- strip regrid on X: SST5 --> GXYT             @LIN
- eval    SST5     C:  7 dset:   1 I:   55  131  J:   35   56  K: -999 -999  L:    1    1
- reading SST      M: 74 dset:   1 I:   55  131  J:   35   56  K: -999 -999  L:    1    1
- constan cnst     M: 75 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- -DELETE cnst     M: 75 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- regrid XY
- regrid  SST5     M: 75 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:      1    151  J:    1   41  K: -999 -999  L:      1      1
+ found   SST5     M:148 dset:   1 I:      1    151  J:    1   41  K: -999 -999  L:      1      1
  
              SST+5
              regrid: GXYT
@@ -30036,20 +29834,14 @@ stat $1[gx=xtrop,gy=ytrop]
 define grid/like=$1/x=xtrop/y=ytrop gxyt
  !-> define grid/like=sst5/x=xtrop/y=ytrop gxyt
  dealloc  dynamic grid GXYT            XTROP     YTROP     NORMAL    TIME4
- getgrid EX#1     C:  6 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  6 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
 stat $1[g=gxyt]
  !-> stat sst5[g=gxyt]
  dealloc  dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
- strip regrid on X: SST5 --> GXYT             @LIN
- eval    SST5     C:  7 dset:   1 I:   55  131  J:   35   56  K: -999 -999  L:    1    1
- reading SST      M: 77 dset:   1 I:   55  131  J:   35   56  K: -999 -999  L:    1    1
- constan cnst     M: 78 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- -DELETE cnst     M: 78 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- regrid XY
- regrid  SST5     M: 78 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:      1    151  J:    1   41  K: -999 -999  L:      1      1
+ found   SST5     M:148 dset:   1 I:      1    151  J:    1   41  K: -999 -999  L:      1      1
  
              SST+5
              regrid: GXYT
@@ -30069,25 +29861,19 @@ stat $1[g=gxyt]
  Standard deviation: 1.778
 CONFUSE
  dealloc  dynamic grid GXYT            XTROP     YTROP     NORMAL    TIME4
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  dealloc  dynamic grid ABSTRACT        ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT
- pass #2 EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ pass #2 EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:    1    5  J: -999 -999  K: -999 -999  L:    1    1
- pseudo  I        M: 80 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  5 dset:   1 I:      1      5  J: -999 -999  K: -999 -999  L:      1      1
+ pseudo  I        M:146 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
 stat $1[g=gxyt]
  !-> stat sst5[g=gxyt]
- -DELETE I        M: 80 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ -DELETE I        M:146 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
- strip regrid on X: SST5 --> GXYT             @LIN
- eval    SST5     C:  7 dset:   1 I:   55  131  J:   35   56  K: -999 -999  L:    1    1
- reading SST      M: 80 dset:   1 I:   55  131  J:   35   56  K: -999 -999  L:    1    1
- constan cnst     M: 81 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- -DELETE cnst     M: 81 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- regrid XY
- regrid  SST5     M: 81 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:      1    151  J:    1   41  K: -999 -999  L:      1      1
+ found   SST5     M:148 dset:   1 I:      1    151  J:    1   41  K: -999 -999  L:      1      1
  
              SST+5
              regrid: GXYT
@@ -30111,17 +29897,11 @@ let $1xyt = $1[g=gxyt]
 stat $1xyt
  !-> stat sst5xyt
  dealloc  dynamic grid GXYT            XTROP     YTROP     NORMAL    TIME4
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid SST5XYT  C:  7 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
- eval    SST5XYT  C:  6 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
- strip regrid on X: SST5 --> GXYT             @LIN
- eval    SST5     C:  9 dset:   1 I:   55  131  J:   35   56  K: -999 -999  L:    1    1
- reading SST      M: 83 dset:   1 I:   55  131  J:   35   56  K: -999 -999  L:    1    1
- constan cnst     M: 84 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- -DELETE cnst     M: 84 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- regrid XY
- regrid  SST5     M: 84 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid SST5XYT  C:  7 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:      1    151  J:    1   41  K: -999 -999  L:      1      1
+ eval    SST5XYT  C:  6 dset:   1 I:      1    151  J:    1   41  K: -999 -999  L:      1      1
+ found   SST5     M:148 dset:   1 I:      1    151  J:    1   41  K: -999 -999  L:      1      1
  
              SST5[G=GXYT]
              LONGITUDE: 129.5E to 79.5W
@@ -30140,26 +29920,19 @@ stat $1xyt
  Standard deviation: 1.778
 CONFUSE
  dealloc  dynamic grid GXYT            XTROP     YTROP     NORMAL    TIME4
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  dealloc  dynamic grid ABSTRACT        ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT
- pass #2 EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ pass #2 EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:    1    5  J: -999 -999  K: -999 -999  L:    1    1
- pseudo  I        M: 87 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  5 dset:   1 I:      1      5  J: -999 -999  K: -999 -999  L:      1      1
+ pseudo  I        M:143 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
 stat $1xyt
  !-> stat sst5xyt
- -DELETE I        M: 87 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ -DELETE I        M:143 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
- eval    SST5XYT  C:  6 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
- strip regrid on X: SST5 --> GXYT             @LIN
- eval    SST5     C:  9 dset:   1 I:   55  131  J:   35   56  K: -999 -999  L:    1    1
- reading SST      M: 87 dset:   1 I:   55  131  J:   35   56  K: -999 -999  L:    1    1
- constan cnst     M: 88 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- -DELETE cnst     M: 88 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- regrid XY
- regrid  SST5     M: 88 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:      1    151  J:    1   41  K: -999 -999  L:      1      1
+ found   SST5XYT  M:146 dset:   1 I:      1    151  J:    1   41  K: -999 -999  L:      1      1
  
              SST5[G=GXYT]
              LONGITUDE: 129.5E to 79.5W
@@ -30180,61 +29953,35 @@ stat $1xyt
 let $1xyt = $1[g=gxyt]
  !-> DEFINE VARIABLE sst5xyt = sst5[g=gxyt]
  dealloc  dynamic grid GXYT            XTROP     YTROP     NORMAL    TIME4
- -DELETE SST5XYT  M: 86 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
- -DELETE SST5XYT  M: 90 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
+ -DELETE SST5XYT  M:146 dset:   1 I:      1    151  J:    1   41  K: -999 -999  L:      1      1
  dealloc  dynamic grid GXYT            XTROP     YTROP     NORMAL    TIME4
- -DELETE SST5X    M: 60 dset:   1 I:    1  151  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST5X    M: 64 dset:   1 I:    1  151  J:    1   90  K: -999 -999  L:    1    1
+ -DELETE SST5X    M:150 dset:   1 I:      1    151  J:    1   90  K: -999 -999  L:      1      1
  dealloc  dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME4
- -DELETE SST5     M: 58 dset:   1 I:    1  151  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST5     M: 62 dset:   1 I:    1  151  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST5     M: 66 dset:   1 I:    1  151  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST5     M: 69 dset:   1 I:    1  151  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST5     M: 31 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST5     M: 41 dset:   1 I:   55  131  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST5     M: 51 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST5     M: 57 dset:   1 I:   55  131  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST5     M: 59 dset:   1 I:   55  131  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST5     M: 63 dset:   1 I:   55  131  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST5     M: 67 dset:   1 I:   55  131  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST5     M: 70 dset:   1 I:   55  131  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST5     M: 72 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
- -DELETE SST5     M: 73 dset:   1 I:   55  131  J:   35   56  K: -999 -999  L:    1    1
- -DELETE SST5     M: 75 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
- -DELETE SST5     M: 76 dset:   1 I:   55  131  J:   35   56  K: -999 -999  L:    1    1
- -DELETE SST5     M: 78 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
- -DELETE SST5     M: 79 dset:   1 I:   55  131  J:   35   56  K: -999 -999  L:    1    1
- -DELETE SST5     M: 81 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
- -DELETE SST5     M: 82 dset:   1 I:   55  131  J:   35   56  K: -999 -999  L:    1    1
- -DELETE SST5     M: 84 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
- -DELETE SST5     M: 85 dset:   1 I:   55  131  J:   35   56  K: -999 -999  L:    1    1
- -DELETE SST5     M: 88 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
- -DELETE SST5     M: 89 dset:   1 I:   55  131  J:   35   56  K: -999 -999  L:    1    1
+ -DELETE SST5     M:152 dset:   1 I:      1    151  J:    1   90  K: -999 -999  L:      1      1
+ -DELETE SST5     M:148 dset:   1 I:      1    151  J:    1   41  K: -999 -999  L:      1      1
+ -DELETE SST5     M:151 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
  dealloc  dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
- -DELETE SSTSBX   M:  1 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SSTSBX   M: 56 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
+ -DELETE SSTSBX   M:153 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
  dealloc  dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
- -DELETE SSTXAVE  M:  3 dset:   1 I: -999 -999  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SSTXAVE  M:  7 dset:   1 I: -999 -999  J:    1   90  K: -999 -999  L:    1    1
+ -DELETE SSTXAVE  M:166 dset:   1 I:   -999   -999  J:    1   90  K: -999 -999  L:      1      1
  dealloc  dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
- -DELETE SSTXYT   M: 15 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
- -DELETE SSTXYT   M: 18 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
+ -DELETE SSTXYT   M:173 dset:   1 I:      1    151  J:    1   41  K: -999 -999  L:      1      1
  dealloc  dynamic grid GXYT            XTROP     YTROP     NORMAL    TIME4
 stat $1xyt
  !-> stat sst5xyt
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid SST5XYT  C:  7 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid SST5     C:  9 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid SST5XYT  C:  7 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid SST5     C:  9 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
- eval    EX#1     C:  4 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
- eval    SST5XYT  C:  6 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
+ eval    EX#1     C:  4 dset:   1 I:      1    151  J:    1   41  K: -999 -999  L:      1      1
+ eval    SST5XYT  C:  6 dset:   1 I:      1    151  J:    1   41  K: -999 -999  L:      1      1
  strip regrid on X: SST5 --> GXYT             @LIN
- eval    SST5     C:  9 dset:   1 I:   55  131  J:   35   56  K: -999 -999  L:    1    1
- reading SST      M: 18 dset:   1 I:   55  131  J:   35   56  K: -999 -999  L:    1    1
- constan cnst     M: 15 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- -DELETE cnst     M: 15 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    SST5     C:  9 dset:   1 I:     55    131  J:   35   56  K: -999 -999  L:      1      1
+ found   SST      M:168 dset:   1 I:      0    181  J:    1   90  K: -999 -999  L:      1      1
+ constan cnst     M:173 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
+ -DELETE cnst     M:173 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
  regrid XY
- regrid  SST5     M: 15 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
+ regrid  SST5     M:173 dset:   1 I:      1    151  J:    1   41  K: -999 -999  L:      1      1
  
              SST5[G=GXYT]
              LONGITUDE: 129.5E to 79.5W
@@ -30253,26 +30000,19 @@ stat $1xyt
  Standard deviation: 1.778
 CONFUSE
  dealloc  dynamic grid GXYT            XTROP     YTROP     NORMAL    TIME4
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  dealloc  dynamic grid ABSTRACT        ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT
- pass #2 EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ pass #2 EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:    1    5  J: -999 -999  K: -999 -999  L:    1    1
- pseudo  I        M: 56 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  5 dset:   1 I:      1      5  J: -999 -999  K: -999 -999  L:      1      1
+ pseudo  I        M:151 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
 stat $1xyt
  !-> stat sst5xyt
- -DELETE I        M: 56 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ -DELETE I        M:151 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
- eval    SST5XYT  C:  6 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
- strip regrid on X: SST5 --> GXYT             @LIN
- eval    SST5     C:  9 dset:   1 I:   55  131  J:   35   56  K: -999 -999  L:    1    1
- reading SST      M: 56 dset:   1 I:   55  131  J:   35   56  K: -999 -999  L:    1    1
- constan cnst     M:  1 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- -DELETE cnst     M:  1 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- regrid XY
- regrid  SST5     M:  1 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:      1    151  J:    1   41  K: -999 -999  L:      1      1
+ found   SST5XYT  M:153 dset:   1 I:      1    151  J:    1   41  K: -999 -999  L:      1      1
  
              SST5[G=GXYT]
              LONGITUDE: 129.5E to 79.5W
@@ -30293,15 +30033,16 @@ stat $1xyt
 stat $1[x=@ave]
  !-> stat sst5[x=@ave]
  dealloc  dynamic grid GXYT            XTROP     YTROP     NORMAL    TIME4
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
- eval    EX#1     C:  4 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
+ eval    EX#1     C:  4 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
  strip --> SST5[X=20E:20E(380)@AVE,D=1]
- eval    SST5     C:  7 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- reading SST      M: 85 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- constan cnst     M: 84 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- -DELETE cnst     M: 84 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    SST5     C:  7 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
+ found   SST      M:168 dset:   1 I:      0    181  J:    1   90  K: -999 -999  L:      1      1
+ constan cnst     M:151 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
+ -DELETE cnst     M:151 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
  doing --> SST5[X=20E:20E(380)@AVE,D=1]
+ final --> SST5[X=20E:20E(380)@AVE,D=1]
  
              SST+5
              LONGITUDE: 20E to 20E(380) (averaged)
@@ -30320,25 +30061,20 @@ stat $1[x=@ave]
  Standard deviation: 10.445
 CONFUSE	
  dealloc  dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  dealloc  dynamic grid ABSTRACT        ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT
- pass #2 EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ pass #2 EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:    1    5  J: -999 -999  K: -999 -999  L:    1    1
- pseudo  I        M: 81 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  5 dset:   1 I:      1      5  J: -999 -999  K: -999 -999  L:      1      1
+ pseudo  I        M:152 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
 stat $1[x=@ave]
  !-> stat sst5[x=@ave]
- -DELETE I        M: 81 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ -DELETE I        M:152 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
- eval    EX#1     C:  4 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- strip --> SST5[X=20E:20E(380)@AVE,D=1]
- eval    SST5     C:  7 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- reading SST      M: 81 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- constan cnst     M: 79 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- -DELETE cnst     M: 79 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- doing --> SST5[X=20E:20E(380)@AVE,D=1]
+ eval    EX#1     C:  4 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
+ found   SST5     M:151 dset:   1 I:   -999   -999  J:    1   90  K: -999 -999  L:      1      1
  
              SST+5
              LONGITUDE: 20E to 20E(380) (averaged)
@@ -30361,18 +30097,13 @@ let $1xave = $1[x=@ave]
 stat $1xave
  !-> stat sst5xave
  dealloc  dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid SST5XAVE C:  7 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid SST5XAVE C:  7 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
  allocate dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
- eval    EX#1     C:  4 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- eval    SST5XAVE C:  6 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- strip --> SST5[X=20E:20E(380)@AVE,D=1]
- eval    SST5     C:  9 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- reading SST      M: 76 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- constan cnst     M: 75 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- -DELETE cnst     M: 75 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- doing --> SST5[X=20E:20E(380)@AVE,D=1]
+ eval    EX#1     C:  4 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
+ eval    SST5XAVE C:  6 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
+ found   SST5     M:151 dset:   1 I:   -999   -999  J:    1   90  K: -999 -999  L:      1      1
  
              SST5[X=@AVE]
              LONGITUDE: 20E to 20E(380)
@@ -30391,26 +30122,20 @@ stat $1xave
  Standard deviation: 10.445
 CONFUSE
  dealloc  dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  dealloc  dynamic grid ABSTRACT        ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT
- pass #2 EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ pass #2 EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:    1    5  J: -999 -999  K: -999 -999  L:    1    1
- pseudo  I        M: 70 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  5 dset:   1 I:      1      5  J: -999 -999  K: -999 -999  L:      1      1
+ pseudo  I        M:150 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
 stat $1xave
  !-> stat sst5xave
- -DELETE I        M: 70 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ -DELETE I        M:150 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
- eval    EX#1     C:  4 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- eval    SST5XAVE C:  6 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- strip --> SST5[X=20E:20E(380)@AVE,D=1]
- eval    SST5     C:  9 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- reading SST      M: 70 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- constan cnst     M: 67 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- -DELETE cnst     M: 67 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- doing --> SST5[X=20E:20E(380)@AVE,D=1]
+ eval    EX#1     C:  4 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
+ found   SST5XAVE M:152 dset:   1 I:   -999   -999  J:    1   90  K: -999 -999  L:      1      1
  
              SST5[X=@AVE]
              LONGITUDE: 20E to 20E(380)
@@ -30431,16 +30156,13 @@ stat $1xave
 stat $1[x=@sbx]
  !-> stat sst5[x=@sbx]
  dealloc  dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
- eval    EX#1     C:  4 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
+ eval    EX#1     C:  4 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
  strip --> SST5[X=20E:20E(380)@SBX:3,D=1]
- strip moduloing SST5 on X axis:     0   181 dset:   1
- eval    SST5     C:  9 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- reading SST      M: 57 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- constan cnst     M: 51 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- -DELETE cnst     M: 51 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- doing moduloing SST5 on X axis:     1   180 dset:   1
+ strip moduloing SST5 on X axis:        0      181 dset:   1
+ found   SST5     M:148 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
+ doing moduloing SST5 on X axis:        1      180 dset:   1
  doing --> SST5[X=20E:20E(380)@SBX:3,D=1]
  
              SST+5
@@ -30461,27 +30183,20 @@ stat $1[x=@sbx]
  Standard deviation: 10.112
 CONFUSE
  dealloc  dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  dealloc  dynamic grid ABSTRACT        ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT
- pass #2 EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ pass #2 EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:    1    5  J: -999 -999  K: -999 -999  L:    1    1
- pseudo  I        M: 69 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  5 dset:   1 I:      1      5  J: -999 -999  K: -999 -999  L:      1      1
+ pseudo  I        M:143 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
 stat $1[x=@sbx]
  !-> stat sst5[x=@sbx]
- -DELETE I        M: 69 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ -DELETE I        M:143 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
- eval    EX#1     C:  4 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- strip --> SST5[X=20E:20E(380)@SBX:3,D=1]
- strip moduloing SST5 on X axis:     0   181 dset:   1
- eval    SST5     C:  9 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- reading SST      M: 69 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- constan cnst     M: 66 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- -DELETE cnst     M: 66 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- doing moduloing SST5 on X axis:     1   180 dset:   1
- doing --> SST5[X=20E:20E(380)@SBX:3,D=1]
+ eval    EX#1     C:  4 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
+ found   SST5     M:146 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
  
              SST+5
              box smoothed by 3 pts on X
@@ -30505,20 +30220,13 @@ let $1sbx = $1[x=@sbx]
 stat $1sbx
  !-> stat sst5sbx
  dealloc  dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid SST5SBX  C:  7 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid SST5SBX  C:  7 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
  allocate dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
- eval    EX#1     C:  4 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- eval    SST5SBX  C:  6 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- strip --> SST5[X=20E:20E(380)@SBX:3,D=1]
- strip moduloing SST5 on X axis:     0   181 dset:   1
- eval    SST5     C: 11 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- reading SST      M: 64 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- constan cnst     M: 60 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- -DELETE cnst     M: 60 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- doing moduloing SST5 on X axis:     1   180 dset:   1
- doing --> SST5[X=20E:20E(380)@SBX:3,D=1]
+ eval    EX#1     C:  4 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
+ eval    SST5SBX  C:  6 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
+ found   SST5     M:146 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
  
              SST5[X=@SBX]
              LONGITUDE: 20E to 20E(380)
@@ -30537,28 +30245,20 @@ stat $1sbx
  Standard deviation: 10.112
 CONFUSE
  dealloc  dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  dealloc  dynamic grid ABSTRACT        ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT
- pass #2 EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ pass #2 EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:    1    5  J: -999 -999  K: -999 -999  L:    1    1
- pseudo  I        M: 92 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  5 dset:   1 I:      1      5  J: -999 -999  K: -999 -999  L:      1      1
+ pseudo  I        M:142 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
 stat $1sbx
  !-> stat sst5sbx
- -DELETE I        M: 92 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ -DELETE I        M:142 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
- eval    EX#1     C:  4 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- eval    SST5SBX  C:  6 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- strip --> SST5[X=20E:20E(380)@SBX:3,D=1]
- strip moduloing SST5 on X axis:     0   181 dset:   1
- eval    SST5     C: 11 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- reading SST      M: 92 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- constan cnst     M: 93 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- -DELETE cnst     M: 93 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- doing moduloing SST5 on X axis:     1   180 dset:   1
- doing --> SST5[X=20E:20E(380)@SBX:3,D=1]
+ eval    EX#1     C:  4 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
+ found   SST5SBX  M:143 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
  
              SST5[X=@SBX]
              LONGITUDE: 20E to 20E(380)
@@ -30590,24 +30290,23 @@ set mode diag
 let a = i[i=1:10]
 say `a,return=isize`     ! no evaluation of a required -- just context
  dealloc  dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid A        C:  7 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid A        C:  7 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  dealloc  dynamic grid ABSTRACT        ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT
- pass #2 A        C:  7 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ pass #2 A        C:  7 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I: -999 -999  J: -999 -999  K: -999 -999  L:    1    1
- eval    A        C:  6 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- pseudo  I        M: 97 dset:   0 I:    1   10  J: -999 -999  K: -999 -999  L: -999 -999
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:   -999   -999  J: -999 -999  K: -999 -999  L:      1      1
+ eval    A        C:  6 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
+ pseudo  I        M:142 dset:   0 I:      1     10  J: -999 -999  K: -999 -999  L:   -999   -999
  !-> MESSAGE/CONTINUE 10
 10
 list/nohead a            ! evaluate it now
- -DELETE I        M: 97 dset:   0 I:    1   10  J: -999 -999  K: -999 -999  L: -999 -999
+ -DELETE I        M:142 dset:   0 I:      1     10  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I: -999 -999  J: -999 -999  K: -999 -999  L:    1    1
- eval    A        C:  6 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- pseudo  I        M: 97 dset:   0 I:    1   10  J: -999 -999  K: -999 -999  L: -999 -999
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:   -999   -999  J: -999 -999  K: -999 -999  L:      1      1
+ found   A        M:177 dset:   0 I:      1     10  J: -999 -999  K: -999 -999  L:   -999   -999
  1    /  1:   1.0000
  2    /  2:   2.0000
  3    /  3:   3.0000
@@ -30621,69 +30320,45 @@ list/nohead a            ! evaluate it now
  
 let a = XSEQUENCE(j[j=1:5])
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
- -DELETE A        M: 98 dset:   0 I:    1   10  J: -999 -999  K: -999 -999  L: -999 -999
- -DELETE A        M: 99 dset:   0 I:    1   10  J: -999 -999  K: -999 -999  L: -999 -999
+ -DELETE A        M:177 dset:   0 I:      1     10  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
- -DELETE I        M: 97 dset:   0 I:    1   10  J: -999 -999  K: -999 -999  L: -999 -999
- -DELETE SST5SBX  M: 91 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST5SBX  M: 96 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
+ -DELETE SST5SBX  M:143 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
  dealloc  dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
- -DELETE SST5XAVE M: 59 dset:   1 I: -999 -999  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST5XAVE M: 72 dset:   1 I: -999 -999  J:    1   90  K: -999 -999  L:    1    1
+ -DELETE SST5XAVE M:152 dset:   1 I:   -999   -999  J:    1   90  K: -999 -999  L:      1      1
  dealloc  dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
- -DELETE SST5XYT  M:  3 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
- -DELETE SST5XYT  M: 88 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
+ -DELETE SST5XYT  M:153 dset:   1 I:      1    151  J:    1   41  K: -999 -999  L:      1      1
  dealloc  dynamic grid GXYT            XTROP     YTROP     NORMAL    TIME4
- -DELETE SST5     M:  1 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
- -DELETE SST5     M:  7 dset:   1 I:   55  131  J:   35   56  K: -999 -999  L:    1    1
- -DELETE SST5     M: 15 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
- -DELETE SST5     M: 31 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST5     M: 41 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST5     M: 51 dset:   1 I:    0  181  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST5     M: 58 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST5     M: 60 dset:   1 I:    0  181  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST5     M: 62 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST5     M: 63 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST5     M: 66 dset:   1 I:    0  181  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST5     M: 67 dset:   1 I: -999 -999  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST5     M: 73 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST5     M: 75 dset:   1 I: -999 -999  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST5     M: 78 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST5     M: 79 dset:   1 I: -999 -999  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST5     M: 82 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST5     M: 84 dset:   1 I: -999 -999  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST5     M: 86 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST5     M: 89 dset:   1 I:   55  131  J:   35   56  K: -999 -999  L:    1    1
- -DELETE SST5     M: 90 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST5     M: 93 dset:   1 I:    0  181  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST5     M: 94 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST5     M: 95 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
+ -DELETE SST5     M:146 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
+ -DELETE SST5     M:148 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
+ -DELETE SST5     M:150 dset:   1 I:      0    181  J:    1   90  K: -999 -999  L:      1      1
+ -DELETE SST5     M:151 dset:   1 I:   -999   -999  J:    1   90  K: -999 -999  L:      1      1
+ -DELETE SST5     M:166 dset:   1 I:     55    131  J:   35   56  K: -999 -999  L:      1      1
+ -DELETE SST5     M:173 dset:   1 I:      1    151  J:    1   41  K: -999 -999  L:      1      1
  dealloc  dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
 say `a,return=isize`     ! evaluate it now
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid A        C:  7 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid (C01,V11 C:  9 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid (C11,V11 C: 11 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid A        C:  7 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid (C01,V11 C:  9 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid (C11,V11 C: 11 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  dealloc  dynamic grid ABSTRACT        ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT
- pass #2 (C11,V11 C: 11 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ pass #2 (C11,V11 C: 11 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I: -999 -999  J: -999 -999  K: -999 -999  L:    1    1
- eval    A        C:  6 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- eval    (C01,V11 C:  8 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- eval    (C11,V11 C: 10 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- pseudo  J        M: 95 dset:   0 I: -999 -999  J:    1    5  K: -999 -999  L: -999 -999
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:   -999   -999  J: -999 -999  K: -999 -999  L:      1      1
+ eval    A        C:  6 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
+ eval    (C01,V11 C:  8 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
+ eval    (C11,V11 C: 10 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
+ pseudo  J        M:173 dset:   0 I:   -999   -999  J:    1    5  K: -999 -999  L:   -999   -999
  !-> MESSAGE/CONTINUE 5
 5
 list/nohead a            ! cache hit
- -DELETE J        M: 95 dset:   0 I: -999 -999  J:    1    5  K: -999 -999  L: -999 -999
+ -DELETE J        M:173 dset:   0 I:   -999   -999  J:    1    5  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I: -999 -999  J: -999 -999  K: -999 -999  L:    1    1
- eval    A        C:  6 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- eval    (C01,V11 C:  8 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- eval    (C11,V11 C: 10 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- pseudo  J        M: 95 dset:   0 I: -999 -999  J:    1    5  K: -999 -999  L: -999 -999
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:   -999   -999  J: -999 -999  K: -999 -999  L:      1      1
+ eval    A        C:  6 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
+ eval    (C01,V11 C:  8 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
+ found   (C11,V11 M:166 dset:   0 I:   -999   -999  J:    1    5  K: -999 -999  L:   -999   -999
  1   / 1:  1.00000
  2   / 2:  2.00000
  3   / 3:  3.00000
@@ -30692,53 +30367,50 @@ list/nohead a            ! cache hit
  
 let a = SAMPLEI(I[i=1:100], {8,5,3})
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
- -DELETE (C11,V11 M: 89 dset:   0 I: -999 -999  J:    1    5  K: -999 -999  L: -999 -999
- -DELETE (C11,V11 M: 94 dset:   0 I: -999 -999  J:    1    5  K: -999 -999  L: -999 -999
+ -DELETE (C11,V11 M:166 dset:   0 I:   -999   -999  J:    1    5  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid YABSTRACT       NORMAL    ABSTRACT  NORMAL    NORMAL
- -DELETE J        M: 95 dset:   0 I: -999 -999  J:    1    5  K: -999 -999  L: -999 -999
- -DELETE (C01,V11 M: 86 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
- -DELETE (C01,V11 M: 93 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ -DELETE (C01,V11 M:151 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
+ -DELETE (C01,V11 M:173 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
- -DELETE A        M: 84 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
- -DELETE A        M: 90 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ -DELETE A        M:148 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
+ -DELETE A        M:150 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
 say `a,return=isize`     ! evaluate it now
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid A        C:  7 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid (C01,V11 C:  9 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid (C09,V11 C: 12 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid A        C:  7 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid (C01,V11 C:  9 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid (C09,V11 C: 12 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  dealloc  dynamic grid ABSTRACT        ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT
- pass #2 (C09,V11 C: 12 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ pass #2 (C09,V11 C: 12 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I: -999 -999  J: -999 -999  K: -999 -999  L:    1    1
- eval    A        C:  6 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- eval    (C01,V11 C:  8 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- const_v {8,5,3}  M: 90 dset:   0 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999
- doing sampling tpry on I axis:     1     3 dset:   0
- eval    (C09,V11 C: 12 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- pseudo  I        M: 86 dset:   0 I:    1  100  J: -999 -999  K: -999 -999  L: -999 -999
- -DELETE (C01,V11 M: 93 dset:   0 I:    1    3  J: -999 -999  K: -999 -999  L:    3    3  M: -999 -999  N: -999 -999
- -DELETE A        M: 84 dset:   0 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999  M: -999 -999  N: -999 -999
- -DELETE tpry     M: 94 dset:   0 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999
- -DELETE {8,5,3}  M: 90 dset:   0 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:   -999   -999  J: -999 -999  K: -999 -999  L:      1      1
+ eval    A        C:  6 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
+ eval    (C01,V11 C:  8 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
+ const_v {8,5,3}  M:150 dset:   0 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999
+ doing sampling tpry on I axis:        1        3 dset:   0
+ eval    (C09,V11 C: 12 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
+ pseudo  I        M:151 dset:   0 I:      1    100  J: -999 -999  K: -999 -999  L:   -999   -999
+ -DELETE (C01,V11 M:173 dset:   0 I:      1      3  J: -999 -999  K: -999 -999  L:      3      3  M: -999 -999  N: -999 -999
+ -DELETE A        M:148 dset:   0 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999  M: -999 -999  N: -999 -999
+ -DELETE tpry     M:146 dset:   0 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999
+ -DELETE {8,5,3}  M:150 dset:   0 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999
  !-> MESSAGE/CONTINUE 3
 3
 list/nohead a            ! cache hit
- -DELETE I        M: 86 dset:   0 I:    1  100  J: -999 -999  K: -999 -999  L: -999 -999
+ -DELETE I        M:151 dset:   0 I:      1    100  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I: -999 -999  J: -999 -999  K: -999 -999  L:    1    1
- eval    A        C:  6 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- eval    (C01,V11 C:  8 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- const_v {8,5,3}  M: 86 dset:   0 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999
- doing sampling tpry on I axis:     1     3 dset:   0
- eval    (C09,V11 C: 12 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- pseudo  I        M: 89 dset:   0 I:    1  100  J: -999 -999  K: -999 -999  L: -999 -999
- -DELETE (C01,V11 M: 93 dset:   0 I:    1    3  J: -999 -999  K: -999 -999  L:    3    3  M: -999 -999  N: -999 -999
- -DELETE tpry     M: 94 dset:   0 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999  M: -999 -999  N: -999 -999
- -DELETE tpry     M: 79 dset:   0 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999
- -DELETE {8,5,3}  M: 86 dset:   0 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:   -999   -999  J: -999 -999  K: -999 -999  L:      1      1
+ eval    A        C:  6 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
+ eval    (C01,V11 C:  8 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
+ const_v {8,5,3}  M:151 dset:   0 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999
+ doing sampling tpry on I axis:        1        3 dset:   0
+ found   (C09,V11 M:166 dset:   0 I:      1    100  J: -999 -999  K: -999 -999  L:   -999   -999
+ -DELETE (C01,V11 M:173 dset:   0 I:      1      3  J: -999 -999  K: -999 -999  L:      3      3  M: -999 -999  N: -999 -999
+ -DELETE tpry     M:146 dset:   0 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999  M: -999 -999  N: -999 -999
+ -DELETE tpry     M:153 dset:   0 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999
+ -DELETE {8,5,3}  M:151 dset:   0 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999
  1   / 1:  8.00000
  2   / 2:  5.00000
  3   / 3:  3.00000
@@ -30747,32 +30419,30 @@ spawn rm -f foo.bar*
 spawn touch foo.bar1 foo.bar2 foo.bar3
 let a = SPAWN("ls foo.bar*")
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
- -DELETE (C09,V11 M: 82 dset:   0 I:    1  100  J: -999 -999  K: -999 -999  L: -999 -999
- -DELETE (C09,V11 M: 95 dset:   0 I:    1  100  J: -999 -999  K: -999 -999  L: -999 -999
+ -DELETE (C09,V11 M:166 dset:   0 I:      1    100  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
- -DELETE (C01,V11 M: 84 dset:   0 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999
- -DELETE (C01,V11 M: 94 dset:   0 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999
+ -DELETE (C01,V11 M:146 dset:   0 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999
+ -DELETE (C01,V11 M:148 dset:   0 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
- -DELETE A        M: 86 dset:   0 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999
- -DELETE A        M: 90 dset:   0 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999
+ -DELETE A        M:150 dset:   0 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999
+ -DELETE A        M:151 dset:   0 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
- -DELETE I        M: 89 dset:   0 I:    1  100  J: -999 -999  K: -999 -999  L: -999 -999
 say `a,return=isize`     ! evaluate it now
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid A        C:  7 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid A        C:  7 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I: -999 -999  J: -999 -999  K: -999 -999  L:    1    1
- eval    A        C:  6 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- string str      M: 89 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M: -999 -999  N: -999 -999
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:   -999   -999  J: -999 -999  K: -999 -999  L:      1      1
+ eval    A        C:  6 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
+ string str      M:151 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M: -999 -999  N: -999 -999
  !-> MESSAGE/CONTINUE 3
 3
 list/nohead a            ! cache hit
+ -DELETE tpry     M:150 dset:   0 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I: -999 -999  J: -999 -999  K: -999 -999  L:    1    1
- eval    A        C:  6 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- string str      M: 86 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M: -999 -999  N: -999 -999
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:   -999   -999  J: -999 -999  K: -999 -999  L:      1      1
+ found   A        M:148 dset:   0 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999
  1   / 1:"foo.bar1"
  2   / 2:"foo.bar2"
  3   / 3:"foo.bar3"
@@ -30780,54 +30450,42 @@ list/nohead a            ! cache hit
 ! RESHAPE, alone, is set to require matched limits in order to make a cache hit
 let a = RESHAPE(I[I=1:3]+10*j[j=1:3], I[i=1:9])
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
- -DELETE A        M: 90 dset:   0 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999
- -DELETE A        M: 94 dset:   0 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999
+ -DELETE A        M:148 dset:   0 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
 say `a,return=isize`
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid A        C:  7 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid (C01,V11 C:  9 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid (C31,V11 C: 11 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid A        C:  7 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid (C01,V11 C:  9 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid (C31,V11 C: 11 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  dealloc  dynamic grid ABSTRACT        ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT
- pass #2 (C31,V11 C: 11 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid (C09,V11 C: 12 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ pass #2 (C31,V11 C: 11 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid (C09,V11 C: 12 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  dealloc  dynamic grid ABSTRACT        ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT
- pass #2 (C09,V11 C: 12 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ pass #2 (C09,V11 C: 12 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G002)          ABSTRACT  ABSTRACT  NORMAL    NORMAL
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I: -999 -999  J: -999 -999  K: -999 -999  L:    1    1
- eval    A        C:  6 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- eval    (C01,V11 C:  8 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- eval    (C09,V11 C: 10 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- pseudo  I        M: 94 dset:   0 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999
- constan cnst     M: 90 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- pseudo  J        M: 84 dset:   0 I: -999 -999  J:    1    3  K: -999 -999  L: -999 -999
- -DELETE J        M: 84 dset:   0 I: -999 -999  J:    1    3  K: -999 -999  L: -999 -999
- -DELETE cnst     M: 90 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- -DELETE tpry     M: 95 dset:   0 I: -999 -999  J:    1    3  K: -999 -999  L: -999 -999  M: -999 -999  N: -999 -999
- -DELETE I        M: 94 dset:   0 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999
- eval    (C31,V11 C: 11 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- pseudo  I        M: 94 dset:   0 I:    1    9  J: -999 -999  K: -999 -999  L: -999 -999
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:   -999   -999  J: -999 -999  K: -999 -999  L:      1      1
+ eval    A        C:  6 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
+ eval    (C01,V11 C:  8 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
+ eval    (C09,V11 C: 10 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
+ pseudo  I        M:148 dset:   0 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999
+ constan cnst     M:150 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
+ pseudo  J        M:146 dset:   0 I:   -999   -999  J:    1    3  K: -999 -999  L:   -999   -999
+ -DELETE J        M:146 dset:   0 I:   -999   -999  J:    1    3  K: -999 -999  L:   -999   -999
+ -DELETE cnst     M:150 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
+ -DELETE tpry     M:166 dset:   0 I:   -999   -999  J:    1    3  K: -999 -999  L:   -999   -999  M: -999 -999  N: -999 -999
+ -DELETE I        M:148 dset:   0 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999
+ eval    (C31,V11 C: 11 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
+ pseudo  I        M:148 dset:   0 I:      1      9  J: -999 -999  K: -999 -999  L:   -999   -999
  !-> MESSAGE/CONTINUE 9
 9
 list/nohead a            ! no cache hit
- -DELETE I        M: 94 dset:   0 I:    1    9  J: -999 -999  K: -999 -999  L: -999 -999
+ -DELETE I        M:148 dset:   0 I:      1      9  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I: -999 -999  J: -999 -999  K: -999 -999  L:    1    1
- eval    A        C:  6 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- eval    (C01,V11 C:  8 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- eval    (C09,V11 C: 10 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- pseudo  I        M: 94 dset:   0 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999
- constan cnst     M: 79 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- pseudo  J        M: 93 dset:   0 I: -999 -999  J:    1    3  K: -999 -999  L: -999 -999
- -DELETE J        M: 93 dset:   0 I: -999 -999  J:    1    3  K: -999 -999  L: -999 -999
- -DELETE cnst     M: 79 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- -DELETE tpry     M: 78 dset:   0 I: -999 -999  J:    1    3  K: -999 -999  L: -999 -999  M: -999 -999  N: -999 -999
- -DELETE I        M: 94 dset:   0 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999
- eval    (C31,V11 C: 11 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- pseudo  I        M: 94 dset:   0 I:    1    9  J: -999 -999  K: -999 -999  L: -999 -999
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:   -999   -999  J: -999 -999  K: -999 -999  L:      1      1
+ found   A        M:153 dset:   0 I:      1      9  J: -999 -999  K: -999 -999  L:   -999   -999
  1   / 1:  11.0000
  2   / 2:  12.0000
  3   / 3:  13.0000
@@ -30843,91 +30501,26 @@ set mode/last diag
 ! v5.4 *kob* 10/01 - need to add exit/script - new exit command qualifiers
 EXIT/SCRIPT
  
-GO bn_reset
+GO bn_reset bn_regrid_to_user
 cancel mode verify
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
- -DELETE (C31,V11 M: 78 dset:   0 I:    1    9  J: -999 -999  K: -999 -999  L: -999 -999
- -DELETE (C31,V11 M: 95 dset:   0 I:    1    9  J: -999 -999  K: -999 -999  L: -999 -999
+ -DELETE (C31,V11 M:166 dset:   0 I:      1      9  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
- -DELETE (C09,V11 M: 79 dset:   0 I:    1    3  J:    1    3  K: -999 -999  L: -999 -999
- -DELETE (C09,V11 M: 90 dset:   0 I:    1    3  J:    1    3  K: -999 -999  L: -999 -999
+ -DELETE (C09,V11 M:150 dset:   0 I:      1      3  J:    1    3  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid (G002)          ABSTRACT  ABSTRACT  NORMAL    NORMAL
- -DELETE (C01,V11 M: 84 dset:   0 I:    1    9  J: -999 -999  K: -999 -999  L: -999 -999
- -DELETE (C01,V11 M: 93 dset:   0 I:    1    9  J: -999 -999  K: -999 -999  L: -999 -999
+ -DELETE (C01,V11 M:146 dset:   0 I:      1      9  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
- -DELETE A        M: 75 dset:   0 I:    1    9  J: -999 -999  K: -999 -999  L: -999 -999
- -DELETE A        M: 82 dset:   0 I:    1    9  J: -999 -999  K: -999 -999  L: -999 -999
+ -DELETE A        M:153 dset:   0 I:      1      9  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
- -DELETE I        M: 94 dset:   0 I:    1    9  J: -999 -999  K: -999 -999  L: -999 -999
  canceling dset ./coads_climatology.cdf
- -DELETE SST      M:  2 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST      M:  4 dset:   1 I: -999 -999  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST      M:  5 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST      M:  6 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST      M:  8 dset:   1 I:    0  181  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST      M:  9 dset:   1 I: -999 -999  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST      M: 10 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST      M: 11 dset:   1 I: -999 -999  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST      M: 12 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST      M: 13 dset:   1 I: -999 -999  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST      M: 14 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST      M: 16 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
- -DELETE SST      M: 17 dset:   1 I:   55  131  J:   35   56  K: -999 -999  L:    1    1
- -DELETE SST      M: 18 dset:   1 I:   55  131  J:   35   56  K: -999 -999  L:    1    1
- -DELETE SST      M: 19 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
- -DELETE SST      M: 20 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
- -DELETE SST      M: 21 dset:   1 I:   55  131  J:   35   56  K: -999 -999  L:    1    1
- -DELETE SST      M: 22 dset:   1 I:   55  131  J:   35   56  K: -999 -999  L:    1    1
- -DELETE SST      M: 23 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
- -DELETE SST      M: 24 dset:   1 I:   55  131  J:   35   56  K: -999 -999  L:    1    1
- -DELETE SST      M: 25 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
- -DELETE SST      M: 26 dset:   1 I:   55  131  J:   35   56  K: -999 -999  L:    1    1
- -DELETE SST      M: 27 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST      M: 28 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST      M: 29 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
- -DELETE SST      M: 30 dset:   1 I:   55  131  J:   35   56  K: -999 -999  L:    1    1
- -DELETE SST      M: 32 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST      M: 33 dset:   1 I:   55  131  J:   35   56  K: -999 -999  L:    1    1
- -DELETE SST      M: 34 dset:   1 I:   55  131  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST      M: 35 dset:   1 I:   55  131  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST      M: 36 dset:   1 I:   55  131  J:   35   56  K: -999 -999  L:    1    1
- -DELETE SST      M: 37 dset:   1 I:    0  181  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST      M: 38 dset:   1 I:   55  131  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST      M: 39 dset:   1 I:   55  131  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST      M: 40 dset:   1 I:   55  131  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST      M: 42 dset:   1 I:   55  131  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST      M: 43 dset:   1 I:   55  131  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST      M: 44 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST      M: 45 dset:   1 I:   55  131  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST      M: 46 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST      M: 47 dset:   1 I:    0  181  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST      M: 48 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST      M: 49 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST      M: 50 dset:   1 I:   55  131  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST      M: 52 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST      M: 53 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST      M: 54 dset:   1 I:    0  181  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST      M: 55 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST      M: 56 dset:   1 I:   55  131  J:   35   56  K: -999 -999  L:    1    1
- -DELETE SST      M: 57 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST      M: 61 dset:   1 I:   55  131  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST      M: 64 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST      M: 65 dset:   1 I:   55  131  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST      M: 68 dset:   1 I:   55  131  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST      M: 69 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST      M: 70 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST      M: 71 dset:   1 I:   55  131  J:   35   56  K: -999 -999  L:    1    1
- -DELETE SST      M: 74 dset:   1 I:   55  131  J:   35   56  K: -999 -999  L:    1    1
- -DELETE SST      M: 76 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST      M: 77 dset:   1 I:   55  131  J:   35   56  K: -999 -999  L:    1    1
- -DELETE SST      M: 80 dset:   1 I:   55  131  J:   35   56  K: -999 -999  L:    1    1
- -DELETE SST      M: 81 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST      M: 83 dset:   1 I:   55  131  J:   35   56  K: -999 -999  L:    1    1
- -DELETE SST      M: 85 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST      M: 87 dset:   1 I:   55  131  J:   35   56  K: -999 -999  L:    1    1
- -DELETE SST      M: 92 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- -DELETE str      M: 86 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M: -999 -999  N: -999 -999
- -DELETE str      M: 89 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M: -999 -999  N: -999 -999
+ -DELETE SST      M:157 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
+ -DELETE SST      M:168 dset:   1 I:      0    181  J:    1   90  K: -999 -999  L:      1      1
+ -DELETE SST      M:170 dset:   1 I:   -999   -999  J:    1   90  K: -999 -999  L:      1      1
+ -DELETE SST      M:179 dset:   1 I:      1    151  J:    1   41  K: -999 -999  L:      1      1
+ -DELETE SST      M:180 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
+ -DELETE str      M:151 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M: -999 -999  N: -999 -999
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_regrid_to_user
 GO bn_regrid_to_user		! G=user_var and related
 ! bn_regrid_to_user
 ! 8/99 *sh*
@@ -31128,7 +30721,7 @@ show grid
     GRID (G012)
  name       axis              # pts   start                end                 subset
  COADSX    LONGITUDE          180mr   21E                  19E(379)            1 pt
- (AX018)   LATITUDE           201 r   10S                  10N                 200 pts
+ (AX018)   LATITUDE           201 r   10S                  10N                 201 pts
  normal    Z
  TIME4     TIME                 3mr   16-JAN 06:00         17-MAR 02:58        1 pt
 show grid/dynamic
@@ -31256,47 +30849,47 @@ SHOW GRID temp[d=2,gx=sst[d=1],y=10s:2s:.2]             ! implicit Y axis
     GRID (G018)
  name       axis              # pts   start                end                 subset
  COADSX    LONGITUDE          180mr   21E                  19E(379)            full
- (AX025)   LATITUDE            41 r   10S                  2S                  40 pts
+ (AX025)   LATITUDE            41 r   10S                  2S                  41 pts
  ZAXLEVITR1_1 DEPTH (m)         1 r-  0                    0                   full
  normal    T
 SHOW GRID "temp[d=2,gx=sst[d=1],y=10s:2s:.2] + 5"
     GRID (G018)
  name       axis              # pts   start                end                 subset
  COADSX    LONGITUDE          180mr   21E                  19E(379)            full
- (AX018)   LATITUDE            41 r   10S                  2S                  40 pts
+ (AX018)   LATITUDE            41 r   10S                  2S                  41 pts
  ZAXLEVITR1_1 DEPTH (m)         1 r-  0                    0                   full
  normal    T
 SHOW GRID FFTA(sst[d=1,gx=temp[d=2],y=10s:2s:.2,l=1:5]) ! imposed T axis
     GRID (G011)
  name       axis              # pts   start                end                 subset
  XAXLEVITR1_160 LONGITUDE     160mr   20.5E                179.5E              full
- (AX025)   LATITUDE            41 r   10S                  2S                  40 pts
+ (AX025)   LATITUDE            41 r   10S                  2S                  41 pts
  normal    Z
  (AX012)   T (CYC/hour)         2 r   0.00034224           0.00068448          (axis from grid-changing func)
 SHOW GRID SORTI(temp[d=2,gx=sst[d=1],y=10s:2s:.2])      ! abstract X axis
     GRID (G018)
  name       axis              # pts   start                end                 subset
  ABSTRACT  X             99999999 r   1                    1.E+08              (axis from grid-changing func)
- (AX025)   LATITUDE            41 r   10S                  2S                  40 pts
+ (AX025)   LATITUDE            41 r   10S                  2S                  41 pts
  ZAXLEVITR1_1 DEPTH (m)         1 r-  0                    0                   full
  normal    T
 SHOW GRID "temp[d=2,gx=sst[d=1],y=10s:2s:.2] + 5",FFTA(sst[d=1,gx=temp[d=2],y=10s:2s:.2,l=1:5]),SORTI(temp[d=2,gx=sst[d=1],y=10s:2s:.2])
     GRID (G018)
  name       axis              # pts   start                end                 subset
  COADSX    LONGITUDE          180mr   21E                  19E(379)            full
- (AX012)   LATITUDE            41 r   10S                  2S                  40 pts
+ (AX012)   LATITUDE            41 r   10S                  2S                  41 pts
  ZAXLEVITR1_1 DEPTH (m)         1 r-  0                    0                   full
  normal    T
     GRID (G011)
  name       axis              # pts   start                end                 subset
  XAXLEVITR1_160 LONGITUDE     160mr   20.5E                179.5E              full
- (AX025)   LATITUDE            41 r   10S                  2S                  40 pts
+ (AX025)   LATITUDE            41 r   10S                  2S                  41 pts
  normal    Z
  (AX018)   T (CYC/hour)         2 r   0.00034224           0.00068448          (axis from grid-changing func)
     GRID (G018)
  name       axis              # pts   start                end                 subset
  ABSTRACT  X             99999999 r   1                    1.E+08              (axis from grid-changing func)
- (AX025)   LATITUDE            41 r   10S                  2S                  40 pts
+ (AX025)   LATITUDE            41 r   10S                  2S                  41 pts
  ZAXLEVITR1_1 DEPTH (m)         1 r-  0                    0                   full
  normal    T
  
@@ -31307,7 +30900,7 @@ SHOW GRID
     GRID (G018)
  name       axis              # pts   start                end                 subset
  COADSX    LONGITUDE          180mr   21E                  19E(379)            full
- (AX018)   LATITUDE            41 r   10S                  2S                  40 pts
+ (AX018)   LATITUDE            41 r   10S                  2S                  41 pts
  ZAXLEVITR1_1 DEPTH (m)         1 r-  0                    0                   full
  normal    T
 SET GRID  FFTA(sst[d=1,gx=temp[d=2],y=10s:2s:.2,l=1:5]) + 5
@@ -31349,8 +30942,10 @@ Dynamic grids:
  
 ! ******** V53 Additions below ***********
  
-GO bn_reset
+GO bn_reset bn_calendar
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_calendar
 GO bn_calendar
 ! bn_calendar.jnl
 ! Version 5.3
@@ -31570,7 +31165,7 @@ list/t="5-dec-1982":"8-dec-1982" ndata
              DEPTH (m): 5
                          132.5W  
                           98
- 05-DEC-1982 00 / 108:     ....
+ 05-DEC-1982 00 / 108:  32.9283
  06-DEC-1982 00 / 109:  32.9340
  07-DEC-1982 00 / 110:  32.9401
  08-DEC-1982 00 / 111:  32.9462
@@ -31633,8 +31228,10 @@ T0 = 1-JAN-1980
 ! also see bn_all_leap.jnl, 6/2004
 ! Added ALL_LEAP, or 366_DAY calendar (which is in the CF conventions).
  
-GO bn_reset
+GO bn_reset bn_dash_dot
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_dash_dot
 GO bn_dash_dot
 ! new PLOT/DASH and PLOT/SYMBOL=DOT  qualifiers
 ! *acm* 5/01
@@ -31656,8 +31253,10 @@ set mode ignore
 plot/dash=(1., 2.)/color=red/thick/i=1:1000 sin(62.8*(i+10) )
 plot/dash=(-1., 2., 3., 4.)/i=1:1000 sin(62.8*(i+20) )
  
-GO bn_reset
+GO bn_reset bn_flowlines
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_flowlines
 GO bn_flowlines
 ! bn_flowlines.jnl
 ! VECTOR/FLOW
@@ -31678,6 +31277,7 @@ vector/flow/over/len=10  u,v
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 set mode meta flowlines.plt
 can mode logo
  
@@ -31690,6 +31290,7 @@ can mode meta
 ! curvilinear flowline plots
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
  
 use coads_climatology
 go mp_sinusoidal
@@ -31707,8 +31308,10 @@ set mode logo
  
 ! ******** V533 Additions below ***********
  
-GO bn_reset
+GO bn_reset bn_logaxes
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_logaxes
 GO bn_logaxes
 !  Test the qualifiers /HLOG and /VLOG for setting
 !  log axes.  On a depth axis, inverse log plot.
@@ -31754,8 +31357,10 @@ plot/hlog fcn
  
 ! *kob* same tests for internal external functions but moved out of
 !       the bn_external_function jnl file.
-GO bn_reset
+GO bn_reset bn_internal_external_functions
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_internal_external_functions
 GO bn_internal_external_functions
 ! test internal external functions.  These moved from bn_external_functions
 !  6/01 because on systems w/out external functions support, the internal
@@ -31772,6 +31377,7 @@ GO bn_internal_external_functions
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go bench_fft
 ! Benchmark Ferret script for FFT.  Uses analytic function of time.
  
@@ -31910,6 +31516,7 @@ CANCEL MODE IGNORE_ERRORS
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go bench_gridding
 ! bench_gridding.jnl
 ! *acm* 8/99
@@ -32107,6 +31714,7 @@ can axis x10
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go bn_scat2grid_test
 ! bn_scat2grid_test.jnl
 ! From JonCallahan's insitu_gaussian_*.jnl
@@ -32254,6 +31862,7 @@ can axis x_20
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go bn_scat2grid_gl
 ! bn_scat2grid_gl.jnl
 ! test the scat2gridgauss and scat2gridlaplace functions,
@@ -32781,6 +32390,7 @@ can axis x_15
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go bn_scat2gridlaplace_tarasoff
 ! bn_scat2gridlaplace_tarasoff
 ! check for error reported by Lev Tarasoff 5/10/2006
@@ -32882,6 +32492,7 @@ cancel axis ylatef
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go bn_scat2grid_nobs
 ! bn_scat2grid_nobs.jnl
 ! test of scat2grid_nobs functions,
@@ -33185,6 +32796,7 @@ can axis x_15
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go bn_scat2grid_t
 ! bn_scat2grid_t.jnl
 ! test the ave_scat2grid_t and scat2grid_t functions,
@@ -33264,6 +32876,7 @@ can axis t_32
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go bn_transpose
 ! bn_tranpose.jnl
 ! test the transpose functions,
@@ -33624,6 +33237,979 @@ list transpose_zt(myvar)
  2   / 3:  110.000  111.000  112.000  113.000  114.000
  3   / 4:  115.000  116.000  117.000  118.000  119.000
  
+def axis /X=0.0:4.0:1.0/units=degrees_east xaxs
+def axis /Y=0.0:3.0:1.0/units=degrees_north yaxs
+def axis /Z=0.0:1.4:0.2/units=m/depth zaxs
+def axis /T=0.0:6.0:1.0/units=days/t0=1-jan-2001 taxs
+def axis /E=0.0:10.0:5 eaxs
+def axis /F=0.0:100.0:20 faxs
+def grid /X=xaxs /Y=yaxs /Z=zaxs /T=taxs /E=eaxs /F=faxs mygrd
+ 
+set grid mygrd
+let myvar = X + 5.0 * (Y + 4.0 * (Z + 3.0 * T)) + _E - _F
+ 
+ 
+! * * * * Simple XYZTEF examples * * *
+ 
+list/x=1/y=1/z=1/t=1 myvar
+             VARIABLE : X + 5.0 * (Y + 4.0 * (Z + 3.0 * T)) + _E - _F
+             SUBSET   : 3 by 6 points (E-F)
+             LONGITUDE: 1E
+             LATITUDE : 1N
+             DEPTH (m): 1
+             TIME     : JAN-2001
+                0        5       10     
+                1        2        3
+ 0     / 1:  86.0000  91.0000  96.0000
+ 20    / 2:  66.0000  71.0000  76.0000
+ 40    / 3:  46.0000  51.0000  56.0000
+ 60    / 4:  26.0000  31.0000  36.0000
+ 80    / 5:   6.0000  11.0000  16.0000
+ 100   / 6: -14.0000  -9.0000  -4.0000
+list/x=1/y=1/z=1/t=1 transpose_ef(myvar)
+             VARIABLE : TRANSPOSE_EF(MYVAR)
+             SUBSET   : 6 by 3 points (E-F)
+             LONGITUDE: 1E
+             LATITUDE : 1N
+             DEPTH (m): 1
+             TIME     : JAN-2001
+              1        2        3        4        5        6     
+              1        2        3        4        5        6
+ 1   / 1:  86.0000  66.0000  46.0000  26.0000   6.0000 -14.0000
+ 2   / 2:  91.0000  71.0000  51.0000  31.0000  11.0000  -9.0000
+ 3   / 3:  96.0000  76.0000  56.0000  36.0000  16.0000  -4.0000
+ 
+list/e=5/y=1/z=1/t=1 myvar
+             VARIABLE : X + 5.0 * (Y + 4.0 * (Z + 3.0 * T)) + _E - _F
+             SUBSET   : 5 by 6 points (LONGITUDE-F)
+             LATITUDE : 1N
+             DEPTH (m): 1
+             TIME     : JAN-2001
+             E        : 5
+               0E       1E       2E       3E       4E     
+                1        2        3        4        5
+ 0     / 1:  90.0000  91.0000  92.0000  93.0000  94.0000
+ 20    / 2:  70.0000  71.0000  72.0000  73.0000  74.0000
+ 40    / 3:  50.0000  51.0000  52.0000  53.0000  54.0000
+ 60    / 4:  30.0000  31.0000  32.0000  33.0000  34.0000
+ 80    / 5:  10.0000  11.0000  12.0000  13.0000  14.0000
+ 100   / 6: -10.0000  -9.0000  -8.0000  -7.0000  -6.0000
+list/e=5/y=1/z=1/t=1 transpose_xf(myvar)
+             VARIABLE : TRANSPOSE_XF(MYVAR)
+             SUBSET   : 6 by 5 points (X-F)
+             LATITUDE : 1N
+             DEPTH (m): 1
+             TIME     : JAN-2001
+             E        : 5
+              1        2        3        4        5        6     
+              1        2        3        4        5        6
+ 1   / 1:  90.0000  70.0000  50.0000  30.0000  10.0000 -10.0000
+ 2   / 2:  91.0000  71.0000  51.0000  31.0000  11.0000  -9.0000
+ 3   / 3:  92.0000  72.0000  52.0000  32.0000  12.0000  -8.0000
+ 4   / 4:  93.0000  73.0000  53.0000  33.0000  13.0000  -7.0000
+ 5   / 5:  94.0000  74.0000  54.0000  34.0000  14.0000  -6.0000
+list/F=25/y=1/z=1/t=1 myvar
+             VARIABLE : X + 5.0 * (Y + 4.0 * (Z + 3.0 * T)) + _E - _F
+             SUBSET   : 5 by 3 points (LONGITUDE-E)
+             LATITUDE : 1N
+             DEPTH (m): 1
+             TIME     : JAN-2001
+             F        : 20
+              0E       1E       2E       3E       4E     
+               1        2        3        4        5
+ 0    / 1:  65.0000  66.0000  67.0000  68.0000  69.0000
+ 5    / 2:  70.0000  71.0000  72.0000  73.0000  74.0000
+ 10   / 3:  75.0000  76.0000  77.0000  78.0000  79.0000
+list/F=25/y=1/z=1/t=1 transpose_xe(myvar)
+             VARIABLE : TRANSPOSE_XE(MYVAR)
+             SUBSET   : 3 by 5 points (X-E)
+             LATITUDE : 1N
+             DEPTH (m): 1
+             TIME     : JAN-2001
+             F        : 20
+              1        2        3     
+              1        2        3
+ 1   / 1:  65.0000  70.0000  75.0000
+ 2   / 2:  66.0000  71.0000  76.0000
+ 3   / 3:  67.0000  72.0000  77.0000
+ 4   / 4:  68.0000  73.0000  78.0000
+ 5   / 5:  69.0000  74.0000  79.0000
+ 
+list/e=5/x=1/z=1/t=1 myvar
+             VARIABLE : X + 5.0 * (Y + 4.0 * (Z + 3.0 * T)) + _E - _F
+             SUBSET   : 4 by 6 points (LATITUDE-F)
+             LONGITUDE: 1E
+             DEPTH (m): 1
+             TIME     : JAN-2001
+             E        : 5
+                0       1N       2N       3N     
+                1        2        3        4
+ 0     / 1:   86.000   91.000   96.000  101.000
+ 20    / 2:   66.000   71.000   76.000   81.000
+ 40    / 3:   46.000   51.000   56.000   61.000
+ 60    / 4:   26.000   31.000   36.000   41.000
+ 80    / 5:    6.000   11.000   16.000   21.000
+ 100   / 6:  -14.000   -9.000   -4.000    1.000
+list/e=5/x=1/z=1/t=1 transpose_yf(myvar)
+             VARIABLE : TRANSPOSE_YF(MYVAR)
+             SUBSET   : 6 by 4 points (Y-F)
+             LONGITUDE: 1E
+             DEPTH (m): 1
+             TIME     : JAN-2001
+             E        : 5
+              1        2        3        4        5        6     
+              1        2        3        4        5        6
+ 1   / 1:   86.000   66.000   46.000   26.000    6.000  -14.000
+ 2   / 2:   91.000   71.000   51.000   31.000   11.000   -9.000
+ 3   / 3:   96.000   76.000   56.000   36.000   16.000   -4.000
+ 4   / 4:  101.000   81.000   61.000   41.000   21.000    1.000
+list/F=25/x=1/z=1/t=1 myvar
+             VARIABLE : X + 5.0 * (Y + 4.0 * (Z + 3.0 * T)) + _E - _F
+             SUBSET   : 4 by 3 points (LATITUDE-E)
+             LONGITUDE: 1E
+             DEPTH (m): 1
+             TIME     : JAN-2001
+             F        : 20
+               0       1N       2N       3N     
+               1        2        3        4
+ 0    / 1:  61.0000  66.0000  71.0000  76.0000
+ 5    / 2:  66.0000  71.0000  76.0000  81.0000
+ 10   / 3:  71.0000  76.0000  81.0000  86.0000
+list/F=25/x=1/z=1/t=1 transpose_ye(myvar)
+             VARIABLE : TRANSPOSE_YE(MYVAR)
+             SUBSET   : 3 by 4 points (Y-E)
+             LONGITUDE: 1E
+             DEPTH (m): 1
+             TIME     : JAN-2001
+             F        : 20
+              1        2        3     
+              1        2        3
+ 1   / 1:  61.0000  66.0000  71.0000
+ 2   / 2:  66.0000  71.0000  76.0000
+ 3   / 3:  71.0000  76.0000  81.0000
+ 4   / 4:  76.0000  81.0000  86.0000
+ 
+list/e=5/x=1/y=1/t=1 myvar
+             VARIABLE : X + 5.0 * (Y + 4.0 * (Z + 3.0 * T)) + _E - _F
+             SUBSET   : 8 by 6 points (DEPTH (m)-F)
+             LONGITUDE: 1E
+             LATITUDE : 1N
+             TIME     : JAN-2001
+             E        : 5
+               0        0.2      0.4      0.6      0.8      1        1.2      1.4    
+                1        2        3        4        5        6        7        8
+ 0     / 1:  71.0000  75.0000  79.0000  83.0000  87.0000  91.0000  95.0000  99.0000
+ 20    / 2:  51.0000  55.0000  59.0000  63.0000  67.0000  71.0000  75.0000  79.0000
+ 40    / 3:  31.0000  35.0000  39.0000  43.0000  47.0000  51.0000  55.0000  59.0000
+ 60    / 4:  11.0000  15.0000  19.0000  23.0000  27.0000  31.0000  35.0000  39.0000
+ 80    / 5:  -9.0000  -5.0000  -1.0000   3.0000   7.0000  11.0000  15.0000  19.0000
+ 100   / 6: -29.0000 -25.0000 -21.0000 -17.0000 -13.0000  -9.0000  -5.0000  -1.0000
+list/e=5/x=1/y=1/t=1 transpose_zf(myvar)
+             VARIABLE : TRANSPOSE_ZF(MYVAR)
+             SUBSET   : 6 by 8 points (Z-F)
+             LONGITUDE: 1E
+             LATITUDE : 1N
+             TIME     : JAN-2001
+             E        : 5
+              1        2        3        4        5        6     
+              1        2        3        4        5        6
+ 1   / 1:  71.0000  51.0000  31.0000  11.0000  -9.0000 -29.0000
+ 2   / 2:  75.0000  55.0000  35.0000  15.0000  -5.0000 -25.0000
+ 3   / 3:  79.0000  59.0000  39.0000  19.0000  -1.0000 -21.0000
+ 4   / 4:  83.0000  63.0000  43.0000  23.0000   3.0000 -17.0000
+ 5   / 5:  87.0000  67.0000  47.0000  27.0000   7.0000 -13.0000
+ 6   / 6:  91.0000  71.0000  51.0000  31.0000  11.0000  -9.0000
+ 7   / 7:  95.0000  75.0000  55.0000  35.0000  15.0000  -5.0000
+ 8   / 8:  99.0000  79.0000  59.0000  39.0000  19.0000  -1.0000
+list/F=25/x=1/y=1/t=1 myvar
+             VARIABLE : X + 5.0 * (Y + 4.0 * (Z + 3.0 * T)) + _E - _F
+             SUBSET   : 8 by 3 points (DEPTH (m)-E)
+             LONGITUDE: 1E
+             LATITUDE : 1N
+             TIME     : JAN-2001
+             F        : 20
+              0        0.2      0.4      0.6      0.8      1        1.2      1.4    
+               1        2        3        4        5        6        7        8
+ 0    / 1:  46.0000  50.0000  54.0000  58.0000  62.0000  66.0000  70.0000  74.0000
+ 5    / 2:  51.0000  55.0000  59.0000  63.0000  67.0000  71.0000  75.0000  79.0000
+ 10   / 3:  56.0000  60.0000  64.0000  68.0000  72.0000  76.0000  80.0000  84.0000
+list/F=25/x=1/y=1/t=1 transpose_ze(myvar)
+             VARIABLE : TRANSPOSE_ZE(MYVAR)
+             SUBSET   : 3 by 8 points (Z-E)
+             LONGITUDE: 1E
+             LATITUDE : 1N
+             TIME     : JAN-2001
+             F        : 20
+              1        2        3     
+              1        2        3
+ 1   / 1:  46.0000  51.0000  56.0000
+ 2   / 2:  50.0000  55.0000  60.0000
+ 3   / 3:  54.0000  59.0000  64.0000
+ 4   / 4:  58.0000  63.0000  68.0000
+ 5   / 5:  62.0000  67.0000  72.0000
+ 6   / 6:  66.0000  71.0000  76.0000
+ 7   / 7:  70.0000  75.0000  80.0000
+ 8   / 8:  74.0000  79.0000  84.0000
+ 
+list/e=5/x=1/y=1/z=1 myvar
+             VARIABLE : X + 5.0 * (Y + 4.0 * (Z + 3.0 * T)) + _E - _F
+             SUBSET   : 7 by 6 points (TIME-F)
+             LONGITUDE: 1E
+             LATITUDE : 1N
+             DEPTH (m): 1
+             E        : 5
+               2001     2001     2001     2001     2001     2001     2001   
+                1        2        3        4        5        6        7
+ 0     / 1:   31.000   91.000  151.000  211.000  271.000  331.000  391.000
+ 20    / 2:   11.000   71.000  131.000  191.000  251.000  311.000  371.000
+ 40    / 3:   -9.000   51.000  111.000  171.000  231.000  291.000  351.000
+ 60    / 4:  -29.000   31.000   91.000  151.000  211.000  271.000  331.000
+ 80    / 5:  -49.000   11.000   71.000  131.000  191.000  251.000  311.000
+ 100   / 6:  -69.000   -9.000   51.000  111.000  171.000  231.000  291.000
+list/e=5/x=1/y=1/z=1 transpose_tf(myvar)
+             VARIABLE : TRANSPOSE_TF(MYVAR)
+             SUBSET   : 6 by 7 points (T-F)
+             LONGITUDE: 1E
+             LATITUDE : 1N
+             DEPTH (m): 1
+             E        : 5
+              1        2        3        4        5        6     
+              1        2        3        4        5        6
+ 1   / 1:   31.000   11.000   -9.000  -29.000  -49.000  -69.000
+ 2   / 2:   91.000   71.000   51.000   31.000   11.000   -9.000
+ 3   / 3:  151.000  131.000  111.000   91.000   71.000   51.000
+ 4   / 4:  211.000  191.000  171.000  151.000  131.000  111.000
+ 5   / 5:  271.000  251.000  231.000  211.000  191.000  171.000
+ 6   / 6:  331.000  311.000  291.000  271.000  251.000  231.000
+ 7   / 7:  391.000  371.000  351.000  331.000  311.000  291.000
+list/F=25/x=1/y=1/z=1 myvar
+             VARIABLE : X + 5.0 * (Y + 4.0 * (Z + 3.0 * T)) + _E - _F
+             SUBSET   : 7 by 3 points (TIME-E)
+             LONGITUDE: 1E
+             LATITUDE : 1N
+             DEPTH (m): 1
+             F        : 20
+              2001     2001     2001     2001     2001     2001     2001   
+               1        2        3        4        5        6        7
+ 0    / 1:    6.000   66.000  126.000  186.000  246.000  306.000  366.000
+ 5    / 2:   11.000   71.000  131.000  191.000  251.000  311.000  371.000
+ 10   / 3:   16.000   76.000  136.000  196.000  256.000  316.000  376.000
+list/F=25/x=1/y=1/z=1 transpose_te(myvar)
+             VARIABLE : TRANSPOSE_TE(MYVAR)
+             SUBSET   : 3 by 7 points (T-E)
+             LONGITUDE: 1E
+             LATITUDE : 1N
+             DEPTH (m): 1
+             F        : 20
+              1        2        3     
+              1        2        3
+ 1   / 1:    6.000   11.000   16.000
+ 2   / 2:   66.000   71.000   76.000
+ 3   / 3:  126.000  131.000  136.000
+ 4   / 4:  186.000  191.000  196.000
+ 5   / 5:  246.000  251.000  256.000
+ 6   / 6:  306.000  311.000  316.000
+ 7   / 7:  366.000  371.000  376.000
+ 
+ 
+! * * * *  XYZTEF examples with another dimension * * *
+ 
+list/y=1/z=1/t=1 myvar
+             VARIABLE : X + 5.0 * (Y + 4.0 * (Z + 3.0 * T)) + _E - _F
+             SUBSET   : 5 by 3 by 6 points (LONGITUDE-E-F)
+             LATITUDE : 1N
+             DEPTH (m): 1
+             TIME     : JAN-2001
+              0E       1E       2E       3E       4E     
+               1        2        3        4        5
+ ---- N:1 F:   0
+ 0    / 1:  85.0000  86.0000  87.0000  88.0000  89.0000
+ 5    / 2:  90.0000  91.0000  92.0000  93.0000  94.0000
+ 10   / 3:  95.0000  96.0000  97.0000  98.0000  99.0000
+ ---- N:2 F:   20
+ 0    / 1:  65.0000  66.0000  67.0000  68.0000  69.0000
+ 5    / 2:  70.0000  71.0000  72.0000  73.0000  74.0000
+ 10   / 3:  75.0000  76.0000  77.0000  78.0000  79.0000
+ ---- N:3 F:   40
+ 0    / 1:  45.0000  46.0000  47.0000  48.0000  49.0000
+ 5    / 2:  50.0000  51.0000  52.0000  53.0000  54.0000
+ 10   / 3:  55.0000  56.0000  57.0000  58.0000  59.0000
+ ---- N:4 F:   60
+ 0    / 1:  25.0000  26.0000  27.0000  28.0000  29.0000
+ 5    / 2:  30.0000  31.0000  32.0000  33.0000  34.0000
+ 10   / 3:  35.0000  36.0000  37.0000  38.0000  39.0000
+ ---- N:5 F:   80
+ 0    / 1:   5.0000   6.0000   7.0000   8.0000   9.0000
+ 5    / 2:  10.0000  11.0000  12.0000  13.0000  14.0000
+ 10   / 3:  15.0000  16.0000  17.0000  18.0000  19.0000
+ ---- N:6 F:   100
+ 0    / 1: -15.0000 -14.0000 -13.0000 -12.0000 -11.0000
+ 5    / 2: -10.0000  -9.0000  -8.0000  -7.0000  -6.0000
+ 10   / 3:  -5.0000  -4.0000  -3.0000  -2.0000  -1.0000
+list/y=1/z=1/t=1 transpose_ef(myvar)
+             VARIABLE : TRANSPOSE_EF(MYVAR)
+             SUBSET   : 5 by 6 by 3 points (LONGITUDE-E-F)
+             LATITUDE : 1N
+             DEPTH (m): 1
+             TIME     : JAN-2001
+             0E       1E       2E       3E       4E     
+              1        2        3        4        5
+ ---- N:1 F:   1
+ 1   / 1:  85.0000  86.0000  87.0000  88.0000  89.0000
+ 2   / 2:  65.0000  66.0000  67.0000  68.0000  69.0000
+ 3   / 3:  45.0000  46.0000  47.0000  48.0000  49.0000
+ 4   / 4:  25.0000  26.0000  27.0000  28.0000  29.0000
+ 5   / 5:   5.0000   6.0000   7.0000   8.0000   9.0000
+ 6   / 6: -15.0000 -14.0000 -13.0000 -12.0000 -11.0000
+ ---- N:2 F:   2
+ 1   / 1:  90.0000  91.0000  92.0000  93.0000  94.0000
+ 2   / 2:  70.0000  71.0000  72.0000  73.0000  74.0000
+ 3   / 3:  50.0000  51.0000  52.0000  53.0000  54.0000
+ 4   / 4:  30.0000  31.0000  32.0000  33.0000  34.0000
+ 5   / 5:  10.0000  11.0000  12.0000  13.0000  14.0000
+ 6   / 6: -10.0000  -9.0000  -8.0000  -7.0000  -6.0000
+ ---- N:3 F:   3
+ 1   / 1:  95.0000  96.0000  97.0000  98.0000  99.0000
+ 2   / 2:  75.0000  76.0000  77.0000  78.0000  79.0000
+ 3   / 3:  55.0000  56.0000  57.0000  58.0000  59.0000
+ 4   / 4:  35.0000  36.0000  37.0000  38.0000  39.0000
+ 5   / 5:  15.0000  16.0000  17.0000  18.0000  19.0000
+ 6   / 6:  -5.0000  -4.0000  -3.0000  -2.0000  -1.0000
+ 
+list/e=5/z=1/t=1 myvar
+             VARIABLE : X + 5.0 * (Y + 4.0 * (Z + 3.0 * T)) + _E - _F
+             SUBSET   : 5 by 4 by 6 points (LONGITUDE-LATITUDE-F)
+             DEPTH (m): 1
+             TIME     : JAN-2001
+             E        : 5
+              0E       1E       2E       3E       4E     
+               1        2        3        4        5
+ ---- N:1 F:   0
+ 3N   / 4:  100.000  101.000  102.000  103.000  104.000
+ 2N   / 3:   95.000   96.000   97.000   98.000   99.000
+ 1N   / 2:   90.000   91.000   92.000   93.000   94.000
+ 0    / 1:   85.000   86.000   87.000   88.000   89.000
+ ---- N:2 F:   20
+ 3N   / 4:   80.000   81.000   82.000   83.000   84.000
+ 2N   / 3:   75.000   76.000   77.000   78.000   79.000
+ 1N   / 2:   70.000   71.000   72.000   73.000   74.000
+ 0    / 1:   65.000   66.000   67.000   68.000   69.000
+ ---- N:3 F:   40
+ 3N   / 4:   60.000   61.000   62.000   63.000   64.000
+ 2N   / 3:   55.000   56.000   57.000   58.000   59.000
+ 1N   / 2:   50.000   51.000   52.000   53.000   54.000
+ 0    / 1:   45.000   46.000   47.000   48.000   49.000
+ ---- N:4 F:   60
+ 3N   / 4:   40.000   41.000   42.000   43.000   44.000
+ 2N   / 3:   35.000   36.000   37.000   38.000   39.000
+ 1N   / 2:   30.000   31.000   32.000   33.000   34.000
+ 0    / 1:   25.000   26.000   27.000   28.000   29.000
+ ---- N:5 F:   80
+ 3N   / 4:   20.000   21.000   22.000   23.000   24.000
+ 2N   / 3:   15.000   16.000   17.000   18.000   19.000
+ 1N   / 2:   10.000   11.000   12.000   13.000   14.000
+ 0    / 1:    5.000    6.000    7.000    8.000    9.000
+ ---- N:6 F:   100
+ 3N   / 4:    0.000    1.000    2.000    3.000    4.000
+ 2N   / 3:   -5.000   -4.000   -3.000   -2.000   -1.000
+ 1N   / 2:  -10.000   -9.000   -8.000   -7.000   -6.000
+ 0    / 1:  -15.000  -14.000  -13.000  -12.000  -11.000
+list/e=5/z=1/t=1 transpose_xf(myvar)
+             VARIABLE : TRANSPOSE_XF(MYVAR)
+             SUBSET   : 6 by 4 by 5 points (X-LATITUDE-F)
+             DEPTH (m): 1
+             TIME     : JAN-2001
+             E        : 5
+               1        2        3        4        5        6     
+               1        2        3        4        5        6
+ ---- N:1 F:   1
+ 3N   / 4:  100.000   80.000   60.000   40.000   20.000    0.000
+ 2N   / 3:   95.000   75.000   55.000   35.000   15.000   -5.000
+ 1N   / 2:   90.000   70.000   50.000   30.000   10.000  -10.000
+ 0    / 1:   85.000   65.000   45.000   25.000    5.000  -15.000
+ ---- N:2 F:   2
+ 3N   / 4:  101.000   81.000   61.000   41.000   21.000    1.000
+ 2N   / 3:   96.000   76.000   56.000   36.000   16.000   -4.000
+ 1N   / 2:   91.000   71.000   51.000   31.000   11.000   -9.000
+ 0    / 1:   86.000   66.000   46.000   26.000    6.000  -14.000
+ ---- N:3 F:   3
+ 3N   / 4:  102.000   82.000   62.000   42.000   22.000    2.000
+ 2N   / 3:   97.000   77.000   57.000   37.000   17.000   -3.000
+ 1N   / 2:   92.000   72.000   52.000   32.000   12.000   -8.000
+ 0    / 1:   87.000   67.000   47.000   27.000    7.000  -13.000
+ ---- N:4 F:   4
+ 3N   / 4:  103.000   83.000   63.000   43.000   23.000    3.000
+ 2N   / 3:   98.000   78.000   58.000   38.000   18.000   -2.000
+ 1N   / 2:   93.000   73.000   53.000   33.000   13.000   -7.000
+ 0    / 1:   88.000   68.000   48.000   28.000    8.000  -12.000
+ ---- N:5 F:   5
+ 3N   / 4:  104.000   84.000   64.000   44.000   24.000    4.000
+ 2N   / 3:   99.000   79.000   59.000   39.000   19.000   -1.000
+ 1N   / 2:   94.000   74.000   54.000   34.000   14.000   -6.000
+ 0    / 1:   89.000   69.000   49.000   29.000    9.000  -11.000
+list/F=25/z=1/t=1 myvar
+             VARIABLE : X + 5.0 * (Y + 4.0 * (Z + 3.0 * T)) + _E - _F
+             SUBSET   : 5 by 4 by 3 points (LONGITUDE-LATITUDE-E)
+             DEPTH (m): 1
+             TIME     : JAN-2001
+             F        : 20
+              0E       1E       2E       3E       4E     
+               1        2        3        4        5
+ ---- M:1 E:   0
+ 3N   / 4:  75.0000  76.0000  77.0000  78.0000  79.0000
+ 2N   / 3:  70.0000  71.0000  72.0000  73.0000  74.0000
+ 1N   / 2:  65.0000  66.0000  67.0000  68.0000  69.0000
+ 0    / 1:  60.0000  61.0000  62.0000  63.0000  64.0000
+ ---- M:2 E:   5
+ 3N   / 4:  80.0000  81.0000  82.0000  83.0000  84.0000
+ 2N   / 3:  75.0000  76.0000  77.0000  78.0000  79.0000
+ 1N   / 2:  70.0000  71.0000  72.0000  73.0000  74.0000
+ 0    / 1:  65.0000  66.0000  67.0000  68.0000  69.0000
+ ---- M:3 E:   10
+ 3N   / 4:  85.0000  86.0000  87.0000  88.0000  89.0000
+ 2N   / 3:  80.0000  81.0000  82.0000  83.0000  84.0000
+ 1N   / 2:  75.0000  76.0000  77.0000  78.0000  79.0000
+ 0    / 1:  70.0000  71.0000  72.0000  73.0000  74.0000
+list/F=25/z=1/t=1 transpose_xe(myvar)
+             VARIABLE : TRANSPOSE_XE(MYVAR)
+             SUBSET   : 3 by 4 by 5 points (X-LATITUDE-E)
+             DEPTH (m): 1
+             TIME     : JAN-2001
+             F        : 20
+               1        2        3     
+               1        2        3
+ ---- M:1 E:   1
+ 3N   / 4:  75.0000  80.0000  85.0000
+ 2N   / 3:  70.0000  75.0000  80.0000
+ 1N   / 2:  65.0000  70.0000  75.0000
+ 0    / 1:  60.0000  65.0000  70.0000
+ ---- M:2 E:   2
+ 3N   / 4:  76.0000  81.0000  86.0000
+ 2N   / 3:  71.0000  76.0000  81.0000
+ 1N   / 2:  66.0000  71.0000  76.0000
+ 0    / 1:  61.0000  66.0000  71.0000
+ ---- M:3 E:   3
+ 3N   / 4:  77.0000  82.0000  87.0000
+ 2N   / 3:  72.0000  77.0000  82.0000
+ 1N   / 2:  67.0000  72.0000  77.0000
+ 0    / 1:  62.0000  67.0000  72.0000
+ ---- M:4 E:   4
+ 3N   / 4:  78.0000  83.0000  88.0000
+ 2N   / 3:  73.0000  78.0000  83.0000
+ 1N   / 2:  68.0000  73.0000  78.0000
+ 0    / 1:  63.0000  68.0000  73.0000
+ ---- M:5 E:   5
+ 3N   / 4:  79.0000  84.0000  89.0000
+ 2N   / 3:  74.0000  79.0000  84.0000
+ 1N   / 2:  69.0000  74.0000  79.0000
+ 0    / 1:  64.0000  69.0000  74.0000
+ 
+list/e=5/z=1/t=1 myvar
+             VARIABLE : X + 5.0 * (Y + 4.0 * (Z + 3.0 * T)) + _E - _F
+             SUBSET   : 5 by 4 by 6 points (LONGITUDE-LATITUDE-F)
+             DEPTH (m): 1
+             TIME     : JAN-2001
+             E        : 5
+              0E       1E       2E       3E       4E     
+               1        2        3        4        5
+ ---- N:1 F:   0
+ 3N   / 4:  100.000  101.000  102.000  103.000  104.000
+ 2N   / 3:   95.000   96.000   97.000   98.000   99.000
+ 1N   / 2:   90.000   91.000   92.000   93.000   94.000
+ 0    / 1:   85.000   86.000   87.000   88.000   89.000
+ ---- N:2 F:   20
+ 3N   / 4:   80.000   81.000   82.000   83.000   84.000
+ 2N   / 3:   75.000   76.000   77.000   78.000   79.000
+ 1N   / 2:   70.000   71.000   72.000   73.000   74.000
+ 0    / 1:   65.000   66.000   67.000   68.000   69.000
+ ---- N:3 F:   40
+ 3N   / 4:   60.000   61.000   62.000   63.000   64.000
+ 2N   / 3:   55.000   56.000   57.000   58.000   59.000
+ 1N   / 2:   50.000   51.000   52.000   53.000   54.000
+ 0    / 1:   45.000   46.000   47.000   48.000   49.000
+ ---- N:4 F:   60
+ 3N   / 4:   40.000   41.000   42.000   43.000   44.000
+ 2N   / 3:   35.000   36.000   37.000   38.000   39.000
+ 1N   / 2:   30.000   31.000   32.000   33.000   34.000
+ 0    / 1:   25.000   26.000   27.000   28.000   29.000
+ ---- N:5 F:   80
+ 3N   / 4:   20.000   21.000   22.000   23.000   24.000
+ 2N   / 3:   15.000   16.000   17.000   18.000   19.000
+ 1N   / 2:   10.000   11.000   12.000   13.000   14.000
+ 0    / 1:    5.000    6.000    7.000    8.000    9.000
+ ---- N:6 F:   100
+ 3N   / 4:    0.000    1.000    2.000    3.000    4.000
+ 2N   / 3:   -5.000   -4.000   -3.000   -2.000   -1.000
+ 1N   / 2:  -10.000   -9.000   -8.000   -7.000   -6.000
+ 0    / 1:  -15.000  -14.000  -13.000  -12.000  -11.000
+list/e=5/z=1/t=1 transpose_yf(myvar)
+             VARIABLE : TRANSPOSE_YF(MYVAR)
+             SUBSET   : 5 by 6 by 4 points (LONGITUDE-Y-F)
+             DEPTH (m): 1
+             TIME     : JAN-2001
+             E        : 5
+             0E       1E       2E       3E       4E     
+              1        2        3        4        5
+ ---- N:1 F:   1
+ 1   / 1:   85.000   86.000   87.000   88.000   89.000
+ 2   / 2:   65.000   66.000   67.000   68.000   69.000
+ 3   / 3:   45.000   46.000   47.000   48.000   49.000
+ 4   / 4:   25.000   26.000   27.000   28.000   29.000
+ 5   / 5:    5.000    6.000    7.000    8.000    9.000
+ 6   / 6:  -15.000  -14.000  -13.000  -12.000  -11.000
+ ---- N:2 F:   2
+ 1   / 1:   90.000   91.000   92.000   93.000   94.000
+ 2   / 2:   70.000   71.000   72.000   73.000   74.000
+ 3   / 3:   50.000   51.000   52.000   53.000   54.000
+ 4   / 4:   30.000   31.000   32.000   33.000   34.000
+ 5   / 5:   10.000   11.000   12.000   13.000   14.000
+ 6   / 6:  -10.000   -9.000   -8.000   -7.000   -6.000
+ ---- N:3 F:   3
+ 1   / 1:   95.000   96.000   97.000   98.000   99.000
+ 2   / 2:   75.000   76.000   77.000   78.000   79.000
+ 3   / 3:   55.000   56.000   57.000   58.000   59.000
+ 4   / 4:   35.000   36.000   37.000   38.000   39.000
+ 5   / 5:   15.000   16.000   17.000   18.000   19.000
+ 6   / 6:   -5.000   -4.000   -3.000   -2.000   -1.000
+ ---- N:4 F:   4
+ 1   / 1:  100.000  101.000  102.000  103.000  104.000
+ 2   / 2:   80.000   81.000   82.000   83.000   84.000
+ 3   / 3:   60.000   61.000   62.000   63.000   64.000
+ 4   / 4:   40.000   41.000   42.000   43.000   44.000
+ 5   / 5:   20.000   21.000   22.000   23.000   24.000
+ 6   / 6:    0.000    1.000    2.000    3.000    4.000
+list/F=25/z=1/t=1 myvar
+             VARIABLE : X + 5.0 * (Y + 4.0 * (Z + 3.0 * T)) + _E - _F
+             SUBSET   : 5 by 4 by 3 points (LONGITUDE-LATITUDE-E)
+             DEPTH (m): 1
+             TIME     : JAN-2001
+             F        : 20
+              0E       1E       2E       3E       4E     
+               1        2        3        4        5
+ ---- M:1 E:   0
+ 3N   / 4:  75.0000  76.0000  77.0000  78.0000  79.0000
+ 2N   / 3:  70.0000  71.0000  72.0000  73.0000  74.0000
+ 1N   / 2:  65.0000  66.0000  67.0000  68.0000  69.0000
+ 0    / 1:  60.0000  61.0000  62.0000  63.0000  64.0000
+ ---- M:2 E:   5
+ 3N   / 4:  80.0000  81.0000  82.0000  83.0000  84.0000
+ 2N   / 3:  75.0000  76.0000  77.0000  78.0000  79.0000
+ 1N   / 2:  70.0000  71.0000  72.0000  73.0000  74.0000
+ 0    / 1:  65.0000  66.0000  67.0000  68.0000  69.0000
+ ---- M:3 E:   10
+ 3N   / 4:  85.0000  86.0000  87.0000  88.0000  89.0000
+ 2N   / 3:  80.0000  81.0000  82.0000  83.0000  84.0000
+ 1N   / 2:  75.0000  76.0000  77.0000  78.0000  79.0000
+ 0    / 1:  70.0000  71.0000  72.0000  73.0000  74.0000
+list/F=25/z=1/t=1 transpose_ye(myvar)
+             VARIABLE : TRANSPOSE_YE(MYVAR)
+             SUBSET   : 5 by 3 by 4 points (LONGITUDE-Y-E)
+             DEPTH (m): 1
+             TIME     : JAN-2001
+             F        : 20
+             0E       1E       2E       3E       4E     
+              1        2        3        4        5
+ ---- M:1 E:   1
+ 1   / 1:  60.0000  61.0000  62.0000  63.0000  64.0000
+ 2   / 2:  65.0000  66.0000  67.0000  68.0000  69.0000
+ 3   / 3:  70.0000  71.0000  72.0000  73.0000  74.0000
+ ---- M:2 E:   2
+ 1   / 1:  65.0000  66.0000  67.0000  68.0000  69.0000
+ 2   / 2:  70.0000  71.0000  72.0000  73.0000  74.0000
+ 3   / 3:  75.0000  76.0000  77.0000  78.0000  79.0000
+ ---- M:3 E:   3
+ 1   / 1:  70.0000  71.0000  72.0000  73.0000  74.0000
+ 2   / 2:  75.0000  76.0000  77.0000  78.0000  79.0000
+ 3   / 3:  80.0000  81.0000  82.0000  83.0000  84.0000
+ ---- M:4 E:   4
+ 1   / 1:  75.0000  76.0000  77.0000  78.0000  79.0000
+ 2   / 2:  80.0000  81.0000  82.0000  83.0000  84.0000
+ 3   / 3:  85.0000  86.0000  87.0000  88.0000  89.0000
+ 
+list/e=5/y=1/t=1 myvar
+             VARIABLE : X + 5.0 * (Y + 4.0 * (Z + 3.0 * T)) + _E - _F
+             SUBSET   : 5 by 8 by 6 points (LONGITUDE-DEPTH (m)-F)
+             LATITUDE : 1N
+             TIME     : JAN-2001
+             E        : 5
+               0E       1E       2E       3E       4E     
+                1        2        3        4        5
+ ---- N:1 F:   0
+ 0     / 1:   70.000   71.000   72.000   73.000   74.000
+ 0.2   / 2:   74.000   75.000   76.000   77.000   78.000
+ 0.4   / 3:   78.000   79.000   80.000   81.000   82.000
+ 0.6   / 4:   82.000   83.000   84.000   85.000   86.000
+ 0.8   / 5:   86.000   87.000   88.000   89.000   90.000
+ 1     / 6:   90.000   91.000   92.000   93.000   94.000
+ 1.2   / 7:   94.000   95.000   96.000   97.000   98.000
+ 1.4   / 8:   98.000   99.000  100.000  101.000  102.000
+ ---- N:2 F:   20
+ 0     / 1:   50.000   51.000   52.000   53.000   54.000
+ 0.2   / 2:   54.000   55.000   56.000   57.000   58.000
+ 0.4   / 3:   58.000   59.000   60.000   61.000   62.000
+ 0.6   / 4:   62.000   63.000   64.000   65.000   66.000
+ 0.8   / 5:   66.000   67.000   68.000   69.000   70.000
+ 1     / 6:   70.000   71.000   72.000   73.000   74.000
+ 1.2   / 7:   74.000   75.000   76.000   77.000   78.000
+ 1.4   / 8:   78.000   79.000   80.000   81.000   82.000
+ ---- N:3 F:   40
+ 0     / 1:   30.000   31.000   32.000   33.000   34.000
+ 0.2   / 2:   34.000   35.000   36.000   37.000   38.000
+ 0.4   / 3:   38.000   39.000   40.000   41.000   42.000
+ 0.6   / 4:   42.000   43.000   44.000   45.000   46.000
+ 0.8   / 5:   46.000   47.000   48.000   49.000   50.000
+ 1     / 6:   50.000   51.000   52.000   53.000   54.000
+ 1.2   / 7:   54.000   55.000   56.000   57.000   58.000
+ 1.4   / 8:   58.000   59.000   60.000   61.000   62.000
+ ---- N:4 F:   60
+ 0     / 1:   10.000   11.000   12.000   13.000   14.000
+ 0.2   / 2:   14.000   15.000   16.000   17.000   18.000
+ 0.4   / 3:   18.000   19.000   20.000   21.000   22.000
+ 0.6   / 4:   22.000   23.000   24.000   25.000   26.000
+ 0.8   / 5:   26.000   27.000   28.000   29.000   30.000
+ 1     / 6:   30.000   31.000   32.000   33.000   34.000
+ 1.2   / 7:   34.000   35.000   36.000   37.000   38.000
+ 1.4   / 8:   38.000   39.000   40.000   41.000   42.000
+ ---- N:5 F:   80
+ 0     / 1:  -10.000   -9.000   -8.000   -7.000   -6.000
+ 0.2   / 2:   -6.000   -5.000   -4.000   -3.000   -2.000
+ 0.4   / 3:   -2.000   -1.000    0.000    1.000    2.000
+ 0.6   / 4:    2.000    3.000    4.000    5.000    6.000
+ 0.8   / 5:    6.000    7.000    8.000    9.000   10.000
+ 1     / 6:   10.000   11.000   12.000   13.000   14.000
+ 1.2   / 7:   14.000   15.000   16.000   17.000   18.000
+ 1.4   / 8:   18.000   19.000   20.000   21.000   22.000
+ ---- N:6 F:   100
+ 0     / 1:  -30.000  -29.000  -28.000  -27.000  -26.000
+ 0.2   / 2:  -26.000  -25.000  -24.000  -23.000  -22.000
+ 0.4   / 3:  -22.000  -21.000  -20.000  -19.000  -18.000
+ 0.6   / 4:  -18.000  -17.000  -16.000  -15.000  -14.000
+ 0.8   / 5:  -14.000  -13.000  -12.000  -11.000  -10.000
+ 1     / 6:  -10.000   -9.000   -8.000   -7.000   -6.000
+ 1.2   / 7:   -6.000   -5.000   -4.000   -3.000   -2.000
+ 1.4   / 8:   -2.000   -1.000    0.000    1.000    2.000
+list/e=5/y=1/t=1 transpose_zf(myvar)
+             VARIABLE : TRANSPOSE_ZF(MYVAR)
+             SUBSET   : 5 by 6 by 8 points (LONGITUDE-Z-F)
+             LATITUDE : 1N
+             TIME     : JAN-2001
+             E        : 5
+             0E       1E       2E       3E       4E     
+              1        2        3        4        5
+ ---- N:1 F:   1
+ 1   / 1:   70.000   71.000   72.000   73.000   74.000
+ 2   / 2:   50.000   51.000   52.000   53.000   54.000
+ 3   / 3:   30.000   31.000   32.000   33.000   34.000
+ 4   / 4:   10.000   11.000   12.000   13.000   14.000
+ 5   / 5:  -10.000   -9.000   -8.000   -7.000   -6.000
+ 6   / 6:  -30.000  -29.000  -28.000  -27.000  -26.000
+ ---- N:2 F:   2
+ 1   / 1:   74.000   75.000   76.000   77.000   78.000
+ 2   / 2:   54.000   55.000   56.000   57.000   58.000
+ 3   / 3:   34.000   35.000   36.000   37.000   38.000
+ 4   / 4:   14.000   15.000   16.000   17.000   18.000
+ 5   / 5:   -6.000   -5.000   -4.000   -3.000   -2.000
+ 6   / 6:  -26.000  -25.000  -24.000  -23.000  -22.000
+ ---- N:3 F:   3
+ 1   / 1:   78.000   79.000   80.000   81.000   82.000
+ 2   / 2:   58.000   59.000   60.000   61.000   62.000
+ 3   / 3:   38.000   39.000   40.000   41.000   42.000
+ 4   / 4:   18.000   19.000   20.000   21.000   22.000
+ 5   / 5:   -2.000   -1.000    0.000    1.000    2.000
+ 6   / 6:  -22.000  -21.000  -20.000  -19.000  -18.000
+ ---- N:4 F:   4
+ 1   / 1:   82.000   83.000   84.000   85.000   86.000
+ 2   / 2:   62.000   63.000   64.000   65.000   66.000
+ 3   / 3:   42.000   43.000   44.000   45.000   46.000
+ 4   / 4:   22.000   23.000   24.000   25.000   26.000
+ 5   / 5:    2.000    3.000    4.000    5.000    6.000
+ 6   / 6:  -18.000  -17.000  -16.000  -15.000  -14.000
+ ---- N:5 F:   5
+ 1   / 1:   86.000   87.000   88.000   89.000   90.000
+ 2   / 2:   66.000   67.000   68.000   69.000   70.000
+ 3   / 3:   46.000   47.000   48.000   49.000   50.000
+ 4   / 4:   26.000   27.000   28.000   29.000   30.000
+ 5   / 5:    6.000    7.000    8.000    9.000   10.000
+ 6   / 6:  -14.000  -13.000  -12.000  -11.000  -10.000
+ ---- N:6 F:   6
+ 1   / 1:   90.000   91.000   92.000   93.000   94.000
+ 2   / 2:   70.000   71.000   72.000   73.000   74.000
+ 3   / 3:   50.000   51.000   52.000   53.000   54.000
+ 4   / 4:   30.000   31.000   32.000   33.000   34.000
+ 5   / 5:   10.000   11.000   12.000   13.000   14.000
+ 6   / 6:  -10.000   -9.000   -8.000   -7.000   -6.000
+ ---- N:7 F:   7
+ 1   / 1:   94.000   95.000   96.000   97.000   98.000
+ 2   / 2:   74.000   75.000   76.000   77.000   78.000
+ 3   / 3:   54.000   55.000   56.000   57.000   58.000
+ 4   / 4:   34.000   35.000   36.000   37.000   38.000
+ 5   / 5:   14.000   15.000   16.000   17.000   18.000
+ 6   / 6:   -6.000   -5.000   -4.000   -3.000   -2.000
+ ---- N:8 F:   8
+ 1   / 1:   98.000   99.000  100.000  101.000  102.000
+ 2   / 2:   78.000   79.000   80.000   81.000   82.000
+ 3   / 3:   58.000   59.000   60.000   61.000   62.000
+ 4   / 4:   38.000   39.000   40.000   41.000   42.000
+ 5   / 5:   18.000   19.000   20.000   21.000   22.000
+ 6   / 6:   -2.000   -1.000    0.000    1.000    2.000
+list/F=25/y=1/t=1 myvar
+             VARIABLE : X + 5.0 * (Y + 4.0 * (Z + 3.0 * T)) + _E - _F
+             SUBSET   : 5 by 8 by 3 points (LONGITUDE-DEPTH (m)-E)
+             LATITUDE : 1N
+             TIME     : JAN-2001
+             F        : 20
+               0E       1E       2E       3E       4E     
+                1        2        3        4        5
+ ---- M:1 E:   0
+ 0     / 1:  45.0000  46.0000  47.0000  48.0000  49.0000
+ 0.2   / 2:  49.0000  50.0000  51.0000  52.0000  53.0000
+ 0.4   / 3:  53.0000  54.0000  55.0000  56.0000  57.0000
+ 0.6   / 4:  57.0000  58.0000  59.0000  60.0000  61.0000
+ 0.8   / 5:  61.0000  62.0000  63.0000  64.0000  65.0000
+ 1     / 6:  65.0000  66.0000  67.0000  68.0000  69.0000
+ 1.2   / 7:  69.0000  70.0000  71.0000  72.0000  73.0000
+ 1.4   / 8:  73.0000  74.0000  75.0000  76.0000  77.0000
+ ---- M:2 E:   5
+ 0     / 1:  50.0000  51.0000  52.0000  53.0000  54.0000
+ 0.2   / 2:  54.0000  55.0000  56.0000  57.0000  58.0000
+ 0.4   / 3:  58.0000  59.0000  60.0000  61.0000  62.0000
+ 0.6   / 4:  62.0000  63.0000  64.0000  65.0000  66.0000
+ 0.8   / 5:  66.0000  67.0000  68.0000  69.0000  70.0000
+ 1     / 6:  70.0000  71.0000  72.0000  73.0000  74.0000
+ 1.2   / 7:  74.0000  75.0000  76.0000  77.0000  78.0000
+ 1.4   / 8:  78.0000  79.0000  80.0000  81.0000  82.0000
+ ---- M:3 E:   10
+ 0     / 1:  55.0000  56.0000  57.0000  58.0000  59.0000
+ 0.2   / 2:  59.0000  60.0000  61.0000  62.0000  63.0000
+ 0.4   / 3:  63.0000  64.0000  65.0000  66.0000  67.0000
+ 0.6   / 4:  67.0000  68.0000  69.0000  70.0000  71.0000
+ 0.8   / 5:  71.0000  72.0000  73.0000  74.0000  75.0000
+ 1     / 6:  75.0000  76.0000  77.0000  78.0000  79.0000
+ 1.2   / 7:  79.0000  80.0000  81.0000  82.0000  83.0000
+ 1.4   / 8:  83.0000  84.0000  85.0000  86.0000  87.0000
+list/F=25/y=1/t=1 transpose_ze(myvar)
+             VARIABLE : TRANSPOSE_ZE(MYVAR)
+             SUBSET   : 5 by 3 by 8 points (LONGITUDE-Z-E)
+             LATITUDE : 1N
+             TIME     : JAN-2001
+             F        : 20
+             0E       1E       2E       3E       4E     
+              1        2        3        4        5
+ ---- M:1 E:   1
+ 1   / 1:  45.0000  46.0000  47.0000  48.0000  49.0000
+ 2   / 2:  50.0000  51.0000  52.0000  53.0000  54.0000
+ 3   / 3:  55.0000  56.0000  57.0000  58.0000  59.0000
+ ---- M:2 E:   2
+ 1   / 1:  49.0000  50.0000  51.0000  52.0000  53.0000
+ 2   / 2:  54.0000  55.0000  56.0000  57.0000  58.0000
+ 3   / 3:  59.0000  60.0000  61.0000  62.0000  63.0000
+ ---- M:3 E:   3
+ 1   / 1:  53.0000  54.0000  55.0000  56.0000  57.0000
+ 2   / 2:  58.0000  59.0000  60.0000  61.0000  62.0000
+ 3   / 3:  63.0000  64.0000  65.0000  66.0000  67.0000
+ ---- M:4 E:   4
+ 1   / 1:  57.0000  58.0000  59.0000  60.0000  61.0000
+ 2   / 2:  62.0000  63.0000  64.0000  65.0000  66.0000
+ 3   / 3:  67.0000  68.0000  69.0000  70.0000  71.0000
+ ---- M:5 E:   5
+ 1   / 1:  61.0000  62.0000  63.0000  64.0000  65.0000
+ 2   / 2:  66.0000  67.0000  68.0000  69.0000  70.0000
+ 3   / 3:  71.0000  72.0000  73.0000  74.0000  75.0000
+ ---- M:6 E:   6
+ 1   / 1:  65.0000  66.0000  67.0000  68.0000  69.0000
+ 2   / 2:  70.0000  71.0000  72.0000  73.0000  74.0000
+ 3   / 3:  75.0000  76.0000  77.0000  78.0000  79.0000
+ ---- M:7 E:   7
+ 1   / 1:  69.0000  70.0000  71.0000  72.0000  73.0000
+ 2   / 2:  74.0000  75.0000  76.0000  77.0000  78.0000
+ 3   / 3:  79.0000  80.0000  81.0000  82.0000  83.0000
+ ---- M:8 E:   8
+ 1   / 1:  73.0000  74.0000  75.0000  76.0000  77.0000
+ 2   / 2:  78.0000  79.0000  80.0000  81.0000  82.0000
+ 3   / 3:  83.0000  84.0000  85.0000  86.0000  87.0000
+ 
+list/e=5/y=1/z=1 myvar
+             VARIABLE : X + 5.0 * (Y + 4.0 * (Z + 3.0 * T)) + _E - _F
+             SUBSET   : 5 by 7 by 6 points (LONGITUDE-TIME-F)
+             LATITUDE : 1N
+             DEPTH (m): 1
+             E        : 5
+                        0E       1E       2E       3E       4E     
+                         1        2        3        4        5
+ ---- N:1 F:   0
+ 01-JAN-2001 00 / 1:   30.000   31.000   32.000   33.000   34.000
+ 02-JAN-2001 00 / 2:   90.000   91.000   92.000   93.000   94.000
+ 03-JAN-2001 00 / 3:  150.000  151.000  152.000  153.000  154.000
+ 04-JAN-2001 00 / 4:  210.000  211.000  212.000  213.000  214.000
+ 05-JAN-2001 00 / 5:  270.000  271.000  272.000  273.000  274.000
+ 06-JAN-2001 00 / 6:  330.000  331.000  332.000  333.000  334.000
+ 07-JAN-2001 00 / 7:  390.000  391.000  392.000  393.000  394.000
+ ---- N:2 F:   20
+ 01-JAN-2001 00 / 1:   10.000   11.000   12.000   13.000   14.000
+ 02-JAN-2001 00 / 2:   70.000   71.000   72.000   73.000   74.000
+ 03-JAN-2001 00 / 3:  130.000  131.000  132.000  133.000  134.000
+ 04-JAN-2001 00 / 4:  190.000  191.000  192.000  193.000  194.000
+ 05-JAN-2001 00 / 5:  250.000  251.000  252.000  253.000  254.000
+ 06-JAN-2001 00 / 6:  310.000  311.000  312.000  313.000  314.000
+ 07-JAN-2001 00 / 7:  370.000  371.000  372.000  373.000  374.000
+ ---- N:3 F:   40
+ 01-JAN-2001 00 / 1:  -10.000   -9.000   -8.000   -7.000   -6.000
+ 02-JAN-2001 00 / 2:   50.000   51.000   52.000   53.000   54.000
+ 03-JAN-2001 00 / 3:  110.000  111.000  112.000  113.000  114.000
+ 04-JAN-2001 00 / 4:  170.000  171.000  172.000  173.000  174.000
+ 05-JAN-2001 00 / 5:  230.000  231.000  232.000  233.000  234.000
+ 06-JAN-2001 00 / 6:  290.000  291.000  292.000  293.000  294.000
+ 07-JAN-2001 00 / 7:  350.000  351.000  352.000  353.000  354.000
+ ---- N:4 F:   60
+ 01-JAN-2001 00 / 1:  -30.000  -29.000  -28.000  -27.000  -26.000
+ 02-JAN-2001 00 / 2:   30.000   31.000   32.000   33.000   34.000
+ 03-JAN-2001 00 / 3:   90.000   91.000   92.000   93.000   94.000
+ 04-JAN-2001 00 / 4:  150.000  151.000  152.000  153.000  154.000
+ 05-JAN-2001 00 / 5:  210.000  211.000  212.000  213.000  214.000
+ 06-JAN-2001 00 / 6:  270.000  271.000  272.000  273.000  274.000
+ 07-JAN-2001 00 / 7:  330.000  331.000  332.000  333.000  334.000
+ ---- N:5 F:   80
+ 01-JAN-2001 00 / 1:  -50.000  -49.000  -48.000  -47.000  -46.000
+ 02-JAN-2001 00 / 2:   10.000   11.000   12.000   13.000   14.000
+ 03-JAN-2001 00 / 3:   70.000   71.000   72.000   73.000   74.000
+ 04-JAN-2001 00 / 4:  130.000  131.000  132.000  133.000  134.000
+ 05-JAN-2001 00 / 5:  190.000  191.000  192.000  193.000  194.000
+ 06-JAN-2001 00 / 6:  250.000  251.000  252.000  253.000  254.000
+ 07-JAN-2001 00 / 7:  310.000  311.000  312.000  313.000  314.000
+ ---- N:6 F:   100
+ 01-JAN-2001 00 / 1:  -70.000  -69.000  -68.000  -67.000  -66.000
+ 02-JAN-2001 00 / 2:  -10.000   -9.000   -8.000   -7.000   -6.000
+ 03-JAN-2001 00 / 3:   50.000   51.000   52.000   53.000   54.000
+ 04-JAN-2001 00 / 4:  110.000  111.000  112.000  113.000  114.000
+ 05-JAN-2001 00 / 5:  170.000  171.000  172.000  173.000  174.000
+ 06-JAN-2001 00 / 6:  230.000  231.000  232.000  233.000  234.000
+ 07-JAN-2001 00 / 7:  290.000  291.000  292.000  293.000  294.000
+list/e=5/y=1/z=1 transpose_tf(myvar)
+             VARIABLE : TRANSPOSE_TF(MYVAR)
+             SUBSET   : 5 by 6 by 7 points (LONGITUDE-T-F)
+             LATITUDE : 1N
+             DEPTH (m): 1
+             E        : 5
+             0E       1E       2E       3E       4E     
+              1        2        3        4        5
+ ---- N:1 F:   1
+ 1   / 1:   30.000   31.000   32.000   33.000   34.000
+ 2   / 2:   10.000   11.000   12.000   13.000   14.000
+ 3   / 3:  -10.000   -9.000   -8.000   -7.000   -6.000
+ 4   / 4:  -30.000  -29.000  -28.000  -27.000  -26.000
+ 5   / 5:  -50.000  -49.000  -48.000  -47.000  -46.000
+ 6   / 6:  -70.000  -69.000  -68.000  -67.000  -66.000
+ ---- N:2 F:   2
+ 1   / 1:   90.000   91.000   92.000   93.000   94.000
+ 2   / 2:   70.000   71.000   72.000   73.000   74.000
+ 3   / 3:   50.000   51.000   52.000   53.000   54.000
+ 4   / 4:   30.000   31.000   32.000   33.000   34.000
+ 5   / 5:   10.000   11.000   12.000   13.000   14.000
+ 6   / 6:  -10.000   -9.000   -8.000   -7.000   -6.000
+ ---- N:3 F:   3
+ 1   / 1:  150.000  151.000  152.000  153.000  154.000
+ 2   / 2:  130.000  131.000  132.000  133.000  134.000
+ 3   / 3:  110.000  111.000  112.000  113.000  114.000
+ 4   / 4:   90.000   91.000   92.000   93.000   94.000
+ 5   / 5:   70.000   71.000   72.000   73.000   74.000
+ 6   / 6:   50.000   51.000   52.000   53.000   54.000
+ ---- N:4 F:   4
+ 1   / 1:  210.000  211.000  212.000  213.000  214.000
+ 2   / 2:  190.000  191.000  192.000  193.000  194.000
+ 3   / 3:  170.000  171.000  172.000  173.000  174.000
+ 4   / 4:  150.000  151.000  152.000  153.000  154.000
+ 5   / 5:  130.000  131.000  132.000  133.000  134.000
+ 6   / 6:  110.000  111.000  112.000  113.000  114.000
+ ---- N:5 F:   5
+ 1   / 1:  270.000  271.000  272.000  273.000  274.000
+ 2   / 2:  250.000  251.000  252.000  253.000  254.000
+ 3   / 3:  230.000  231.000  232.000  233.000  234.000
+ 4   / 4:  210.000  211.000  212.000  213.000  214.000
+ 5   / 5:  190.000  191.000  192.000  193.000  194.000
+ 6   / 6:  170.000  171.000  172.000  173.000  174.000
+ ---- N:6 F:   6
+ 1   / 1:  330.000  331.000  332.000  333.000  334.000
+ 2   / 2:  310.000  311.000  312.000  313.000  314.000
+ 3   / 3:  290.000  291.000  292.000  293.000  294.000
+ 4   / 4:  270.000  271.000  272.000  273.000  274.000
+ 5   / 5:  250.000  251.000  252.000  253.000  254.000
+ 6   / 6:  230.000  231.000  232.000  233.000  234.000
+ ---- N:7 F:   7
+ 1   / 1:  390.000  391.000  392.000  393.000  394.000
+ 2   / 2:  370.000  371.000  372.000  373.000  374.000
+ 3   / 3:  350.000  351.000  352.000  353.000  354.000
+ 4   / 4:  330.000  331.000  332.000  333.000  334.000
+ 5   / 5:  310.000  311.000  312.000  313.000  314.000
+ 6   / 6:  290.000  291.000  292.000  293.000  294.000
+list/F=25/y=1/z=1 myvar
+             VARIABLE : X + 5.0 * (Y + 4.0 * (Z + 3.0 * T)) + _E - _F
+             SUBSET   : 5 by 7 by 3 points (LONGITUDE-TIME-E)
+             LATITUDE : 1N
+             DEPTH (m): 1
+             F        : 20
+                        0E       1E       2E       3E       4E     
+                         1        2        3        4        5
+ ---- M:1 E:   0
+ 01-JAN-2001 00 / 1:    5.000    6.000    7.000    8.000    9.000
+ 02-JAN-2001 00 / 2:   65.000   66.000   67.000   68.000   69.000
+ 03-JAN-2001 00 / 3:  125.000  126.000  127.000  128.000  129.000
+ 04-JAN-2001 00 / 4:  185.000  186.000  187.000  188.000  189.000
+ 05-JAN-2001 00 / 5:  245.000  246.000  247.000  248.000  249.000
+ 06-JAN-2001 00 / 6:  305.000  306.000  307.000  308.000  309.000
+ 07-JAN-2001 00 / 7:  365.000  366.000  367.000  368.000  369.000
+ ---- M:2 E:   5
+ 01-JAN-2001 00 / 1:   10.000   11.000   12.000   13.000   14.000
+ 02-JAN-2001 00 / 2:   70.000   71.000   72.000   73.000   74.000
+ 03-JAN-2001 00 / 3:  130.000  131.000  132.000  133.000  134.000
+ 04-JAN-2001 00 / 4:  190.000  191.000  192.000  193.000  194.000
+ 05-JAN-2001 00 / 5:  250.000  251.000  252.000  253.000  254.000
+ 06-JAN-2001 00 / 6:  310.000  311.000  312.000  313.000  314.000
+ 07-JAN-2001 00 / 7:  370.000  371.000  372.000  373.000  374.000
+ ---- M:3 E:   10
+ 01-JAN-2001 00 / 1:   15.000   16.000   17.000   18.000   19.000
+ 02-JAN-2001 00 / 2:   75.000   76.000   77.000   78.000   79.000
+ 03-JAN-2001 00 / 3:  135.000  136.000  137.000  138.000  139.000
+ 04-JAN-2001 00 / 4:  195.000  196.000  197.000  198.000  199.000
+ 05-JAN-2001 00 / 5:  255.000  256.000  257.000  258.000  259.000
+ 06-JAN-2001 00 / 6:  315.000  316.000  317.000  318.000  319.000
+ 07-JAN-2001 00 / 7:  375.000  376.000  377.000  378.000  379.000
+list/F=25/y=1/z=1 transpose_te(myvar)
+             VARIABLE : TRANSPOSE_TE(MYVAR)
+             SUBSET   : 5 by 3 by 7 points (LONGITUDE-T-E)
+             LATITUDE : 1N
+             DEPTH (m): 1
+             F        : 20
+             0E       1E       2E       3E       4E     
+              1        2        3        4        5
+ ---- M:1 E:   1
+ 1   / 1:    5.000    6.000    7.000    8.000    9.000
+ 2   / 2:   10.000   11.000   12.000   13.000   14.000
+ 3   / 3:   15.000   16.000   17.000   18.000   19.000
+ ---- M:2 E:   2
+ 1   / 1:   65.000   66.000   67.000   68.000   69.000
+ 2   / 2:   70.000   71.000   72.000   73.000   74.000
+ 3   / 3:   75.000   76.000   77.000   78.000   79.000
+ ---- M:3 E:   3
+ 1   / 1:  125.000  126.000  127.000  128.000  129.000
+ 2   / 2:  130.000  131.000  132.000  133.000  134.000
+ 3   / 3:  135.000  136.000  137.000  138.000  139.000
+ ---- M:4 E:   4
+ 1   / 1:  185.000  186.000  187.000  188.000  189.000
+ 2   / 2:  190.000  191.000  192.000  193.000  194.000
+ 3   / 3:  195.000  196.000  197.000  198.000  199.000
+ ---- M:5 E:   5
+ 1   / 1:  245.000  246.000  247.000  248.000  249.000
+ 2   / 2:  250.000  251.000  252.000  253.000  254.000
+ 3   / 3:  255.000  256.000  257.000  258.000  259.000
+ ---- M:6 E:   6
+ 1   / 1:  305.000  306.000  307.000  308.000  309.000
+ 2   / 2:  310.000  311.000  312.000  313.000  314.000
+ 3   / 3:  315.000  316.000  317.000  318.000  319.000
+ ---- M:7 E:   7
+ 1   / 1:  365.000  366.000  367.000  368.000  369.000
+ 2   / 2:  370.000  371.000  372.000  373.000  374.000
+ 3   / 3:  375.000  376.000  377.000  378.000  379.000
+ 
 can var /all
 set grid abstract
 can grid mygrd
@@ -33631,10 +34217,12 @@ can axis taxs
 can axis zaxs
 can axis yaxs
 can axis xaxs
- 
+can axis eaxs
+can axis faxs
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go bn_unique_str2int
 ! bn_unique_str2int.jnl
  
@@ -33714,6 +34302,7 @@ list unique_str2int(blist), blist
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go bench_sort
  
  
@@ -34447,6 +35036,7 @@ list my_vwnd
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go bench_eof
 ! Benchmark for EOF functions
 ! Statically linked as of ferret V5.34
@@ -34517,6 +35107,7 @@ exit/script
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go bench_compress_by
 let mask = {1,,1,,1} + 0*L[l=101:102] + 0*K[k=10:11]
 list compressi_by({10,20,30,40,50},mask)
@@ -34554,6 +35145,7 @@ list compressi_by({10,20,30,40,50},mask2)
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go bench_compress
  ! NOAA/PMEL TMAP
  ! Program FERRET
@@ -34702,6 +35294,7 @@ list compressk(a[i=91,j=35,l=1])
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO bench_internal_string_functions
 ! test internal string functions:
 !       strlen
@@ -34797,6 +35390,7 @@ set mode/last ignore
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO bn_ef_bench_extrema.jnl
 ! bench_extrema.jnl
 !  benchmark tests for findhi and findlo
@@ -34853,6 +35447,7 @@ list a[i=@ngd]
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO bn_ef_err541_date_delim.jnl
 ! err541_date_delim.jnl
 ! Fix errors occurring with delimted reads - four digit years were
@@ -34925,6 +35520,7 @@ if `date_check` then say **** DELIMTED READ DATE CHECK FAILED
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO bn_ef_zaxr_fcns.jnl
 ! bn_ef_zaxr_functions.jnl
 ! 04-apr-05 *acm* move to tests of shared-obj efs.
@@ -34976,6 +35572,7 @@ list ddat_a, ddat_b, ddat_c
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO bn_ef_curv_to_rect.jnl
 ! bn_ef_curv_to_rect.jnl
 ! Test of curvilinear to rectilinear regridding
@@ -35125,6 +35722,7 @@ shade fill_xy(sst[l=1], mask[l=1], 4)
 ! Compare SAMPLEXY and SAMPLEIJ
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO bn_samplexy_sampleij
 ! bn_samplexy_sampleij
  
@@ -35161,8 +35759,10 @@ list/l=1 samplexy(sst,{321,323.5,325}, {1,1,1}), sampleij(sst,{321,323,324.5}, {
  
  
  
-GO bn_reset
+GO bn_reset bn_modulo_strides
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_modulo_strides
 GO bn_modulo_strides
 ! bn_modulo_strides.jnl
 ! 6/01 *sh*
@@ -35182,42 +35782,42 @@ cancel memory/all
 set mode diag
 let b =  a[i=18:23:2]
 list/nohead b            ! using rdstride
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid B        C:  7 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid B        C:  7 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G022)          (AX015)   NORMAL    NORMAL    NORMAL
  dealloc  dynamic grid (G022)          (AX015)   NORMAL    NORMAL    NORMAL
  allocate dynamic grid (G022)          (AX015)   NORMAL    NORMAL    NORMAL
  allocate dynamic grid (G022)          (AX015)   NORMAL    NORMAL    NORMAL
- eval    EX#1     C:  4 dset:   1 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999
- eval    B        C:  6 dset:   1 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  4 dset:   1 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999
+ eval    B        C:  6 dset:   1 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999
  allocate dynamic grid (G022)          (AX015)   NORMAL    NORMAL    NORMAL
  strip regrid on X: A --> (G022)           @XACT
- strip moduloing A on X axis:    18    22 dset:   1
- rdstride A        C: 11 dset:   1 I:   18   20  J: -999 -999  K: -999 -999  L: -999 -999
- doing moduloing A on X axis:    18    20 dset:   1
- -DELETE A        M:339 dset:   1 I:   18   20  J: -999 -999  K: -999 -999  L: -999 -999
- rdstride A        C: 11 dset:   1 I:    2    2  J: -999 -999  K: -999 -999  L: -999 -999
- doing moduloing A on X axis:     2     2 dset:   1
- -DELETE A        M:339 dset:   1 I:    2    2  J: -999 -999  K: -999 -999  L: -999 -999
- nulrgd  A        M:339 dset:   1 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999
- -DELETE A        M:332 dset:   1 I:   18   22  J: -999 -999  K: -999 -999  L: -999 -999
+ strip moduloing A on X axis:       18       22 dset:   1
+ rdstride A        C: 11 dset:   1 I:     18     20  J: -999 -999  K: -999 -999  L:   -999   -999
+ doing moduloing A on X axis:       18       20 dset:   1
+ -DELETE A        M:238 dset:   1 I:     18     20  J: -999 -999  K: -999 -999  L:   -999   -999
+ rdstride A        C: 11 dset:   1 I:      2      2  J: -999 -999  K: -999 -999  L:   -999   -999
+ doing moduloing A on X axis:        2        2 dset:   1
+ -DELETE A        M:238 dset:   1 I:      2      2  J: -999 -999  K: -999 -999  L:   -999   -999
+ nulrgd  A        M:238 dset:   1 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999
+ -DELETE A        M:243 dset:   1 I:     18     22  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid (G022)          (AX015)   NORMAL    NORMAL    NORMAL
  18   / 1:  18.0000
  20   / 2:  20.0000
  22   / 3:   2.0000
 list/nohead a[i=1:25:3]  ! no strides --> reads full region without strides
  dealloc  dynamic grid (G022)          (AX015)   NORMAL    NORMAL    NORMAL
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G023)          (AX017)   NORMAL    NORMAL    NORMAL
  dealloc  dynamic grid (G023)          (AX017)   NORMAL    NORMAL    NORMAL
  allocate dynamic grid (G023)          (AX017)   NORMAL    NORMAL    NORMAL
- eval    EX#1     C:  4 dset:   1 I:    1    9  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  4 dset:   1 I:      1      9  J: -999 -999  K: -999 -999  L:   -999   -999
  allocate dynamic grid (G023)          (AX017)   NORMAL    NORMAL    NORMAL
  strip regrid on X: A --> (G023)           @XACT
- strip moduloing A on X axis:     1    25 dset:   1
- reading A        M:327 dset:   1 I:    1   20  J: -999 -999  K: -999 -999  L: -999 -999
- doing moduloing A on X axis:     1    20 dset:   1
- regrid  A        M:334 dset:   1 I:    1    9  J: -999 -999  K: -999 -999  L: -999 -999
+ strip moduloing A on X axis:        1       25 dset:   1
+ reading A        M:241 dset:   1 I:      1     20  J: -999 -999  K: -999 -999  L:   -999   -999
+ doing moduloing A on X axis:        1       20 dset:   1
+ regrid  A        M:231 dset:   1 I:      1      9  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid (G023)          (AX017)   NORMAL    NORMAL    NORMAL
  1    / 1:   1.0000
  4    / 2:   4.0000
@@ -35230,23 +35830,11 @@ list/nohead a[i=1:25:3]  ! no strides --> reads full region without strides
  25   / 9:   5.0000
 list/nohead b            ! reuse of cached result
  dealloc  dynamic grid (G023)          (AX017)   NORMAL    NORMAL    NORMAL
- -DELETE A        M:334 dset:   1 I:    1    9  J: -999 -999  K: -999 -999  L: -999 -999
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G022)          (AX015)   NORMAL    NORMAL    NORMAL
- eval    EX#1     C:  4 dset:   1 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999
- eval    B        C:  6 dset:   1 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999
+ -DELETE A        M:231 dset:   1 I:      1      9  J: -999 -999  K: -999 -999  L:   -999   -999
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G022)          (AX015)   NORMAL    NORMAL    NORMAL
- strip regrid on X: A --> (G022)           @XACT
- strip moduloing A on X axis:    18    22 dset:   1
- rdstride A        C: 11 dset:   1 I:   18   20  J: -999 -999  K: -999 -999  L: -999 -999
- doing moduloing A on X axis:    18    20 dset:   1
- -DELETE A        M:334 dset:   1 I:   18   20  J: -999 -999  K: -999 -999  L: -999 -999
- rdstride A        C: 11 dset:   1 I:    2    2  J: -999 -999  K: -999 -999  L: -999 -999
- doing moduloing A on X axis:     2     2 dset:   1
- -DELETE A        M:334 dset:   1 I:    2    2  J: -999 -999  K: -999 -999  L: -999 -999
- nulrgd  A        M:334 dset:   1 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999
- -DELETE A        M:330 dset:   1 I:   18   22  J: -999 -999  K: -999 -999  L: -999 -999
- dealloc  dynamic grid (G022)          (AX015)   NORMAL    NORMAL    NORMAL
+ eval    EX#1     C:  4 dset:   1 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999
+ found   B        M:243 dset:   1 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999
  18   / 1:  18.0000
  20   / 2:  20.0000
  22   / 3:   2.0000
@@ -35448,40 +36036,40 @@ list/nohead a[i=106:145:5]
 set mode diag
 list/nohead str[i=18:23:2] ! using rdstride
  dealloc  dynamic grid (G023)          (AX028)   NORMAL    NORMAL    NORMAL
- -DELETE A        M:337 dset:   1 I:    1    8  J: -999 -999  K: -999 -999  L: -999 -999
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ -DELETE A        M:231 dset:   1 I:      1      8  J: -999 -999  K: -999 -999  L:   -999   -999
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G022)          (AX015)   NORMAL    NORMAL    NORMAL
  dealloc  dynamic grid (G022)          (AX015)   NORMAL    NORMAL    NORMAL
  allocate dynamic grid (G022)          (AX015)   NORMAL    NORMAL    NORMAL
- eval    EX#1     C:  4 dset:   1 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  4 dset:   1 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999
  allocate dynamic grid (G022)          (AX015)   NORMAL    NORMAL    NORMAL
  strip regrid on X: STR --> (G022)           @XACT
- strip moduloing STR on X axis:    18    22 dset:   1
- rdstride STR      C:  9 dset:   1 I:   18   20  J: -999 -999  K: -999 -999  L: -999 -999
- doing moduloing STR on X axis:    18    20 dset:   1
- -DELETE STR      M:337 dset:   1 I:   18   20  J: -999 -999  K: -999 -999  L: -999 -999
- rdstride STR      C:  9 dset:   1 I:    2    2  J: -999 -999  K: -999 -999  L: -999 -999
- doing moduloing STR on X axis:     2     2 dset:   1
- -DELETE STR      M:337 dset:   1 I:    2    2  J: -999 -999  K: -999 -999  L: -999 -999
- nulrgd  STR      M:337 dset:   1 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999
- -DELETE STR      M:325 dset:   1 I:   18   22  J: -999 -999  K: -999 -999  L: -999 -999
+ strip moduloing STR on X axis:       18       22 dset:   1
+ rdstride STR      C:  9 dset:   1 I:     18     20  J: -999 -999  K: -999 -999  L:   -999   -999
+ doing moduloing STR on X axis:       18       20 dset:   1
+ -DELETE STR      M:231 dset:   1 I:     18     20  J: -999 -999  K: -999 -999  L:   -999   -999
+ rdstride STR      C:  9 dset:   1 I:      2      2  J: -999 -999  K: -999 -999  L:   -999   -999
+ doing moduloing STR on X axis:        2        2 dset:   1
+ -DELETE STR      M:231 dset:   1 I:      2      2  J: -999 -999  K: -999 -999  L:   -999   -999
+ nulrgd  STR      M:231 dset:   1 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999
+ -DELETE STR      M:244 dset:   1 I:     18     22  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid (G022)          (AX015)   NORMAL    NORMAL    NORMAL
  18   / 1:"r"
  20   / 2:"t"
  22   / 3:"b"
 list/nohead str[i=1:25:3]  ! no strides --> reads full region without strides
  dealloc  dynamic grid (G022)          (AX015)   NORMAL    NORMAL    NORMAL
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G023)          (AX017)   NORMAL    NORMAL    NORMAL
  dealloc  dynamic grid (G023)          (AX017)   NORMAL    NORMAL    NORMAL
  allocate dynamic grid (G023)          (AX017)   NORMAL    NORMAL    NORMAL
- eval    EX#1     C:  4 dset:   1 I:    1    9  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  4 dset:   1 I:      1      9  J: -999 -999  K: -999 -999  L:   -999   -999
  allocate dynamic grid (G023)          (AX017)   NORMAL    NORMAL    NORMAL
  strip regrid on X: STR --> (G023)           @XACT
- strip moduloing STR on X axis:     1    25 dset:   1
- reading STR      M:325 dset:   1 I:    1   20  J: -999 -999  K: -999 -999  L: -999 -999
- doing moduloing STR on X axis:     1    20 dset:   1
- regrid  STR      M:322 dset:   1 I:    1    9  J: -999 -999  K: -999 -999  L: -999 -999
+ strip moduloing STR on X axis:        1       25 dset:   1
+ reading STR      M:244 dset:   1 I:      1     20  J: -999 -999  K: -999 -999  L:   -999   -999
+ doing moduloing STR on X axis:        1       20 dset:   1
+ regrid  STR      M:240 dset:   1 I:      1      9  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid (G023)          (AX017)   NORMAL    NORMAL    NORMAL
  1    / 1:"a"
  4    / 2:"d"
@@ -35557,8 +36145,10 @@ list/nohead str[i=105:145:5]
  
 ! ******** V54 Additions below ***********
  
-GO bn_reset
+GO bn_reset bn_axis_viewports
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_axis_viewports
 GO bn_axis_viewports
 ! bn_axis_viewports
 ! *sh* 9/01
@@ -35896,8 +36486,10 @@ ppl list yaxis
          AUTO    NORMAL NMTC=  0 LINT=  2 LABEL= -1 NSIG=  2 NTIC= 10
          YORG= 1.40E+00  AUTO LABELLING
  
-GO bn_reset
+GO bn_reset bn_strings
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_strings
 GO bn_strings
 ! bn_strings.jnl
  
@@ -35908,7 +36500,7 @@ GO bn_strings
  
 sh mode stupid
       MODE            STATE        ARGUMENT
-      STUPID           SET
+      STUPID        CANCELED
 cancel mode stupid  ! for testing in double precision
  
  
@@ -36459,8 +37051,10 @@ list a[i=@rsum]
  
 set mode/last stupid
  
-GO bn_reset
+GO bn_reset bn_axcontrol
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_axcontrol
 GO bn_axcontrol
  ! NOAA/PMEL TMAP
  ! Program FERRET (alpha)
@@ -36501,8 +37095,10 @@ fill/l=1/axes sst
 can view
 polygon/thick/color=red/palette=blue/axes=1,0,1,0 {1,2,1}, {2,1,0.5}
  
-GO bn_reset
+GO bn_reset bn_vec_curv
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_vec_curv
 GO bn_vec_curv
 ! bn_vec_curv.jnl
 !
@@ -36575,8 +37171,10 @@ vec/title="Stretched grid" a,b,mxpage,mypage
 can mode meta
 set mode logo
  
-GO bn_reset
+GO bn_reset bn_delimited_read
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_delimited_read
 GO bn_delimited_read
 ! bn_delimited_read.jnl
 ! 10/01 *sh*
@@ -37643,8 +38241,10 @@ cancel mode ignore
  
 ! ******** V5.41 Additions below ***********
  
-GO bn_reset
+GO bn_reset bn541_bug_fixes
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn541_bug_fixes
 GO bn541_bug_fixes
 ! bn541_bug_fixes.jnl
 ! test various fixes that went into version 5.41
@@ -37652,6 +38252,7 @@ GO bn541_bug_fixes
 !
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
  
 ! tics on horiz log axes were wrong; (plot only)
 ! GO bn_reset
@@ -37661,6 +38262,7 @@ cancel mode verify
 !missing vertices in polygon call
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err540_polymissing
 ! err540_polymissing.jnl
 ! 3/02 *acm*
@@ -37692,6 +38294,7 @@ polygon  xvertex1,yvertex,values
 ! formatting axis label numbers
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err540_ill_format.jnl
 ! err540_ill_format.jnl
 ! 3/02 *acm*
@@ -37710,6 +38313,7 @@ plot/trans/i=1:100  0.001 - 0.002/ i
 ! variable permutation in netCDF writes
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err540_write_order
 ! err540_write_order.jnl
 ! *sh* 3/02
@@ -37788,6 +38392,7 @@ sp rm -f test_bad_order.cdf
 !@AVE error when plotting unlike grids together
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err540_ax_ave
 !err540_ax_ave.jnl
 ! 3/02 *acm
@@ -37804,6 +38409,7 @@ plot/x=140w/y=0/sym/line sst,sst[gt=t2 at ave]
 !Make PPL AXSET settings persist, but not settings made w/ qualifiers /AXES= or /NOAXES
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err540_axset
 !err540_axset.jnl
 ! 3/02 *acm
@@ -37838,6 +38444,7 @@ PPL axset 1,1,1,1
 !Previously couldn't do PLOT/VS/DASH, but no reason not to allow it.
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err540_vs_dash
 ! PLOT/VS/DASH  previously was not allowed.
  
@@ -37881,6 +38488,7 @@ plot/over/thick/dash/color=blue 50*sin(ypts/3)+700, 30*cos(ypts/3)+800, 20*cos(y
 !overlay on polygon plots
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err540_poly_overlay
 !overlay on polygon plots
  
@@ -37890,6 +38498,7 @@ shade/over/i=1:2/j=0:2/patt i+j
 !polytube failed on plot/over; go polytube, because YAXIS_MIN, _MAX not defined.
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err540_axis_symbols
 ! err540_axis_symbols.jnl
 ! 3/02 *acm*
@@ -37922,6 +38531,7 @@ XAXIS_MAX = "10.00000"
 !nested repeat loops and parsing parentheses
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err540_parse_repeat
 ! err540_parse_repeat.jnl
 ! 3/03 *acm
@@ -37967,6 +38577,7 @@ why not
 ! appending a scalar to NetCDF file
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err540_cd_use_recdim
 ! err540_cd_use_recdim
 ! 3/02 *sh*
@@ -38009,6 +38620,7 @@ sp rm -f profiles.nc
 !missing data in xpts,ypts sample points wasnt checked
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err540_samplexy_missing
 ! err540_samplexy_missing.jnl
 ! 3/03 *acm
@@ -38041,8 +38653,10 @@ list asst
 ! test the fixed delta stride bug
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err540_strides_rev.jnl
 ! err540_strides_rev.jnl
+! V702: *sh* 2/2017 - modified this bench script
  
 ! reported Feb '02
 ! fixed April 17, '02
@@ -38077,34 +38691,33 @@ cancel var/all
  
 set mode stupid
 set mode diag
-set mem/size=0.05
+! *sh* 2/17 - such a small memory size makes it impossible to succeed
+! with the command under the new dynamic memory management
+!set mem/size=0.05
+set mem/size=1   ! use this larger size, instead
 show mem/free
- Current size of FERRET memory cache: 0.2 MegaWords  (1 word = 8 bytes)
-            total memory table slots: 500
-            total memory blocks: 2000
-            memory block size: 100
- 
-            number of free memory blocks: 2000
-            largest free region: 2000
-            number of free regions: 1
-            free memory table slots: 500
-            number of UN-CACHED variables: 0
+    SET MEMORY/SIZE: 1000000 words
+    Peak demand: 0 words
+    Current cache: 0 words
+    Total table slots: 500
+    Free table slots: 500
+    Un-cached variables: 0
  
 use/ord=x-y test_100x100.nc
 list/prec=1 a[i=1:100:10] !  this looks just right!!
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G005)          (AX015)   YAX1_100  NORMAL    NORMAL
  dealloc  dynamic grid (G005)          (AX015)   YAX1_100  NORMAL    NORMAL
  allocate dynamic grid (G005)          (AX015)   YAX1_100  NORMAL    NORMAL
- eval    EX#1     C:  4 dset:   1 I:    1  100  J:    1  100  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  4 dset:   1 I:      1    100  J:    1  100  K: -999 -999  L:   -999   -999
  allocate dynamic grid (G005)          (AX015)   YAX1_100  NORMAL    NORMAL
  strip regrid on X: A --> (G005)           @XACT
- strip reversing A on Y axis:     1   100 dset:   1
- rdstride A        C:  8 dset:   1 I:    1   91  J:    1  100  K: -999 -999  L: -999 -999
- doing reversing A on Y axis:     1   100 dset:   1
- -DELETE A        M:  1 dset:   1 I:    1   91  J:    1  100  K: -999 -999  L: -999 -999
- nulrgd  A        M:  1 dset:   1 I:    1   10  J:    1  100  K: -999 -999  L: -999 -999
- -DELETE A        M:  2 dset:   1 I:    1   91  J:    1  100  K: -999 -999  L: -999 -999
+ strip reversing A on Y axis:        1      100 dset:   1
+ rdstride A        C:  8 dset:   1 I:      1     91  J:    1  100  K: -999 -999  L:   -999   -999
+ doing reversing A on Y axis:        1      100 dset:   1
+ -DELETE A        M:249 dset:   1 I:      1     91  J:    1  100  K: -999 -999  L:   -999   -999
+ nulrgd  A        M:249 dset:   1 I:      1     10  J:    1  100  K: -999 -999  L:   -999   -999
+ -DELETE A        M:235 dset:   1 I:      1     91  J:    1  100  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid (G005)          (AX015)   YAX1_100  NORMAL    NORMAL
              VARIABLE : IF I EQ J THEN 1 ELSE A0
                         regrid: 10 delta on X
@@ -38217,25 +38830,25 @@ show grid
  Last successful data access was on grid (G005)
     GRID (G005)
  name       axis              # pts   start                end                 subset
- (AX015)   X                   10 r   1                    91                  9 pts
+ (AX015)   X                   10 r   1                    91                  10 pts
  YAX1_100  Y                  100 r   1                    100                 full
  normal    Z
  normal    T
  
 ! should be a diagonal path of steps all the way across the plot
 shade a[i=1:100:10]
- eval    EX#1     C:  4 dset:   1 I:    1  100  J:    1  100  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  4 dset:   1 I:      1    100  J:    1  100  K: -999 -999  L:   -999   -999
  allocate dynamic grid (G005)          (AX015)   YAX1_100  NORMAL    NORMAL
  strip regrid on X: A --> (G005)           @XACT
- strip reversing A on Y axis:     1   100 dset:   1
- rdstride A        C:  8 dset:   1 I:    1   91  J:    1  100  K: -999 -999  L: -999 -999
- doing reversing A on Y axis:     1   100 dset:   1
- -DELETE A        M:  2 dset:   1 I:    1   91  J:    1  100  K: -999 -999  L: -999 -999
- nulrgd  A        M:  2 dset:   1 I:    1   10  J:    1  100  K: -999 -999  L: -999 -999
- -DELETE A        M:  3 dset:   1 I:    1   91  J:    1  100  K: -999 -999  L: -999 -999
+ strip reversing A on Y axis:        1      100 dset:   1
+ rdstride A        C:  8 dset:   1 I:      1     91  J:    1  100  K: -999 -999  L:   -999   -999
+ doing reversing A on Y axis:        1      100 dset:   1
+ -DELETE A        M:235 dset:   1 I:      1     91  J:    1  100  K: -999 -999  L:   -999   -999
+ nulrgd  A        M:235 dset:   1 I:      1     10  J:    1  100  K: -999 -999  L:   -999   -999
+ -DELETE A        M:247 dset:   1 I:      1     91  J:    1  100  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid (G005)          (AX015)   YAX1_100  NORMAL    NORMAL
 setting up 2D plot
- -DELETE A        M:  3 dset:   1 I:    1   10  J:    1  100  K: -999 -999  L: -999 -999
+ -DELETE A        M:247 dset:   1 I:      1     10  J:    1  100  K: -999 -999  L:   -999   -999
 PPL plot 279  complete
 ppl list stats
 
@@ -38469,6 +39082,7 @@ set mem/size=25.6
 ! unknown data type for clauses with constants only
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err540_data_type.jnl
 ! err540_data_type
 ! 2/19/02 *sh*
@@ -38502,6 +39116,7 @@ plot IF {1,3,5} GE 3 THEN 1  ! data type unknown
 ! gridding scattered points to modulo axis had bug
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err540_modscat.jnl
 ! test gridding scattered points to modulo axis.
 ! Show Southern hemisphere.
@@ -38525,6 +39140,7 @@ plot/vs/over xpts[i=1:1000]+360, ypts[i=1:1000]
 ! make sure the USE bug reported 5/01 by A Wittenberg is fixed
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err540_use.jnl
 ! err540_use.jnl
 !
@@ -38614,8 +39230,10 @@ list b[d=1]
  
  
  
-GO bn_reset
+GO bn_reset bn_cancel_axes
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_cancel_axes
 GO bn_cancel_axes
 ! bn_cancel_axes.jnl
  
@@ -38628,6 +39246,7 @@ set data/skip=4/ez/col=2/var="cnt,tim" longax.dat
  
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 ! longax cancel axis axname
 repeat/k=1:10 go bn_cancel_axes_1.sub
 !-> REPEAT: K=1
@@ -38753,6 +39372,7 @@ can data longax.dat
  
  go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 ! longax cancel axis/all
  
 ! Note: cancel axes/all tested in err541_cancel_axes.jnl
@@ -38763,6 +39383,7 @@ cancel mode verify
 ! test remaining axes are intact when we cancel one.
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 define axis/x ax1={2,4,5,6,9}
 define axis/x ax2={30,60,90,100}
 sh axis/x ax2
@@ -38866,8 +39487,10 @@ T0 = 01-JAN-0000 00:00:00
  
 ! ******** V5.42 Additions below ***********
  
-GO bn_reset
+GO bn_reset bn542_bug_fixes
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn542_bug_fixes
 GO bn542_bug_fixes
 ! bn542_bug_fixes.jnl
 ! test various fixes that went into version 5.42
@@ -38877,6 +39500,7 @@ GO bn542_bug_fixes
 ! Interior tics disappear on FILL plots
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err541_fill_tics
 ! pplus tics bug - pre 5.42, fill plots overlaid interior tics.
  
@@ -38895,6 +39519,7 @@ ppl tics,,.25,,.25,-1,-1
 ! are used rather than date specifications
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err541_non_gregorian
 !From Andrew Wittenberg, non-Gregorian time axis bug 01 Oct 2002
 ! pre-542, second axis has just one point.
@@ -38927,6 +39552,7 @@ CALENDAR = JULIAN
 ! Could not write or read a NetCDF file with a 4-D string variable.
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err541_string4d
  ! Write a 4-D NetCDF file with a string variable.
  
@@ -39032,6 +39658,7 @@ list axy
 ! Cancel axis/all did not check whether axes were in use
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err541_cancel_axes
 ! Check that an axis in use cannot be cancelled.
 ! 4/2013 changes for Ferret with climatological axes
@@ -39077,13 +39704,16 @@ show axis test_i*
 ! 5/4/05 *acm* Move to bn_ef_err541_date_delim; pulling all jnls that call shared-obj efs out
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 ! GO err541_date_delim
  
  
 ! ******** V5.50 Additions below ***********
  
-GO bn_reset
+GO bn_reset bn_subspan_modulo
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_subspan_modulo
 GO bn_subspan_modulo
 ! bn_subspan_modulo.jnl
 ! *sh* 11/02
@@ -39380,10 +40010,10 @@ set mode stupid  ! always re-read and recompute
 lsx $1  ! default avoids void points
  !-> list/order=x vreg
  dealloc  dynamic grid GFJ3            XAX_SUBSPANORMAL    NORMAL    TAX_SUBSPA
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GFJ1            XAX_SUBSPANORMAL    NORMAL    NORMAL
- eval    EX#1     C:  4 dset:   1 I:    1    6  J: -999 -999  K: -999 -999  L: -999 -999
- reading VREG     M:  2 dset:   1 I:    1    6  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  4 dset:   1 I:      1      6  J: -999 -999  K: -999 -999  L:   -999   -999
+ reading VREG     M:247 dset:   1 I:      1      6  J: -999 -999  K: -999 -999  L:   -999   -999
              VARIABLE : X[GX=XAX_SUBSPAN] -40 + 10
              FILENAME : test_subspan_modulo.nc
              SUBSET   : 6 points (X)
@@ -39393,36 +40023,36 @@ lsx $1  ! default avoids void points
 lsxn/x=100 $1  ! void point above, alone (via "modulo-void-filling")
  !-> list/order=x/nohead/x=100 vreg
  strip limits reconciliation : EX#1
- strip modulo-void-filling EX#1 on X axis:     7     7 dset:   1
- eval    EX#1     C:  6 dset:   1 I:    6    6  J: -999 -999  K: -999 -999  L: -999 -999
- reading VREG     M:  5 dset:   1 I:    6    6  J: -999 -999  K: -999 -999  L: -999 -999
- doing modulo-void-filling VREG on X axis:     6     6 dset:   1
+ strip modulo-void-filling EX#1 on X axis:        7        7 dset:   1
+ eval    EX#1     C:  6 dset:   1 I:      6      6  J: -999 -999  K: -999 -999  L:   -999   -999
+ reading VREG     M:249 dset:   1 I:      6      6  J: -999 -999  K: -999 -999  L:   -999   -999
+ doing modulo-void-filling VREG on X axis:        6        6 dset:   1
         ....
 lsxn/x=0 $1 ! void point below, alone (via modulo)
  !-> list/order=x/nohead/x=0 vreg
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:    0    0  J: -999 -999  K: -999 -999  L: -999 -999
- strip moduloing VREG on X axis:     0     0 dset:   1
- reading VREG     M:  8 dset:   1 I:    6    6  J: -999 -999  K: -999 -999  L: -999 -999
- doing moduloing VREG on X axis:     6     6 dset:   1
+ eval    EX#1     C:  5 dset:   1 I:      0      0  J: -999 -999  K: -999 -999  L:   -999   -999
+ strip moduloing VREG on X axis:        0        0 dset:   1
+ reading VREG     M:229 dset:   1 I:      6      6  J: -999 -999  K: -999 -999  L:   -999   -999
+ doing moduloing VREG on X axis:        6        6 dset:   1
         ....
 lsxn/x=45:100 $1  ! void above (via subspan-fill)
  !-> list/order=x/nohead/x=45:100 vreg
  strip limits reconciliation : EX#1
- strip modulo-void-filling EX#1 on X axis:     5     7 dset:   1
- eval    EX#1     C:  6 dset:   1 I:    5    6  J: -999 -999  K: -999 -999  L: -999 -999
- reading VREG     M:  3 dset:   1 I:    5    6  J: -999 -999  K: -999 -999  L: -999 -999
- doing modulo-void-filling VREG on X axis:     5     6 dset:   1
+ strip modulo-void-filling EX#1 on X axis:        5        7 dset:   1
+ eval    EX#1     C:  6 dset:   1 I:      5      6  J: -999 -999  K: -999 -999  L:   -999   -999
+ reading VREG     M:239 dset:   1 I:      5      6  J: -999 -999  K: -999 -999  L:   -999   -999
+ doing modulo-void-filling VREG on X axis:        5        6 dset:   1
           15.0000  16.0000     ....
 lsxn/x=0:100 $1  ! voids above & below (via modulo)
  !-> list/order=x/nohead/x=0:100 vreg
  strip limits reconciliation : EX#1
- strip modulo-void-filling EX#1 on X axis:     0     7 dset:   1
- eval    EX#1     C:  6 dset:   1 I:    0    6  J: -999 -999  K: -999 -999  L: -999 -999
- strip moduloing VREG on X axis:     0     6 dset:   1
- reading VREG     M:  9 dset:   1 I:    1    6  J: -999 -999  K: -999 -999  L: -999 -999
- doing moduloing VREG on X axis:     1     6 dset:   1
- doing modulo-void-filling VREG on X axis:     0     6 dset:   1
+ strip modulo-void-filling EX#1 on X axis:        0        7 dset:   1
+ eval    EX#1     C:  6 dset:   1 I:      0      6  J: -999 -999  K: -999 -999  L:   -999   -999
+ strip moduloing VREG on X axis:        0        6 dset:   1
+ reading VREG     M:248 dset:   1 I:      1      6  J: -999 -999  K: -999 -999  L:   -999   -999
+ doing moduloing VREG on X axis:        1        6 dset:   1
+ doing modulo-void-filling VREG on X axis:        0        6 dset:   1
              ....  11.0000  12.0000  13.0000  14.0000  15.0000  16.0000     ....
 set mode/last diag
 lsxn/x=50:160 $1  ! modulo above
@@ -39676,15 +40306,15 @@ l200n/order=x $2[l=1,i=0:14]
 set mode diag; l200n/order=x $2[l=1,i=0:14:2]; set mode/last diag
  !-> list/width=200/nohead/order=x v2d_reg[l=1,i=0:14:2]
  dealloc  dynamic grid GFJ3            XAX_SUBSPANORMAL    NORMAL    TAX_SUBSPA
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G002)          (AX025)   NORMAL    NORMAL    TAX_SUBSPA
  dealloc  dynamic grid (G002)          (AX025)   NORMAL    NORMAL    TAX_SUBSPA
  allocate dynamic grid (G002)          (AX025)   NORMAL    NORMAL    TAX_SUBSPA
- eval    EX#1     C:  4 dset:   1 I:    1    8  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  4 dset:   1 I:      1      8  J: -999 -999  K: -999 -999  L:   -999   -999
  allocate dynamic grid (G002)          (AX025)   NORMAL    NORMAL    TAX_SUBSPA
  strip regrid on X: V2D_REG --> (G002)           @XACT
- found   V2D_REG  M: 71 dset:   1 I:    0   14  J: -999 -999  K: -999 -999  L:    1    1
- regrid  V2D_REG  M: 72 dset:   1 I:    1    8  J: -999 -999  K: -999 -999  L:    1    1
+ found   V2D_REG  M:179 dset:   1 I:      0     14  J: -999 -999  K: -999 -999  L:      1      1
+ regrid  V2D_REG  M:178 dset:   1 I:      1      8  J: -999 -999  K: -999 -999  L:      1      1
  dealloc  dynamic grid (G002)          (AX025)   NORMAL    NORMAL    TAX_SUBSPA
              ....  12.0000  14.0000  16.0000  11.0000  13.0000  15.0000     ....
 l200n/order=x $2[l=1,i=0:14:7]
@@ -39693,20 +40323,20 @@ l200n/order=x $2[l=1,i=0:14:7]
 set mode diag; l200n $2[i=1,l=1:15:2]; set mode/last diag
  !-> list/width=200/nohead v2d_reg[i=1,l=1:15:2]
  dealloc  dynamic grid (G002)          (AX017)   NORMAL    NORMAL    TAX_SUBSPA
- -DELETE V2D_REG  M: 73 dset:   1 I:    1    3  J: -999 -999  K: -999 -999  L:    1    1
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ -DELETE V2D_REG  M:177 dset:   1 I:      1      3  J: -999 -999  K: -999 -999  L:      1      1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G002)          XAX_SUBSPANORMAL    NORMAL    (AX025)
  dealloc  dynamic grid (G002)          XAX_SUBSPANORMAL    NORMAL    (AX025)
  allocate dynamic grid (G002)          XAX_SUBSPANORMAL    NORMAL    (AX025)
- eval    EX#1     C:  4 dset:   1 I: -999 -999  J: -999 -999  K: -999 -999  L:    1    8
+ eval    EX#1     C:  4 dset:   1 I:   -999   -999  J: -999 -999  K: -999 -999  L:      1      8
  allocate dynamic grid (G002)          XAX_SUBSPANORMAL    NORMAL    (AX025)
  strip regrid on T: V2D_REG --> (G002)           @XACT
- strip moduloing V2D_REG on T axis:     1    15 dset:   1
- rdstride V2D_REG  C:  9 dset:   1 I:    1    1  J: -999 -999  K: -999 -999  L:    1    5
- doing moduloing V2D_REG on T axis:     1     5 dset:   1
- -DELETE V2D_REG  M: 73 dset:   1 I:    1    1  J: -999 -999  K: -999 -999  L:    1    5
- nulrgd  V2D_REG  M: 73 dset:   1 I:    1    1  J: -999 -999  K: -999 -999  L:    1    8
- -DELETE V2D_REG  M: 74 dset:   1 I:    1    1  J: -999 -999  K: -999 -999  L:    1   15
+ strip moduloing V2D_REG on T axis:        1       15 dset:   1
+ rdstride V2D_REG  C:  9 dset:   1 I:      1      1  J: -999 -999  K: -999 -999  L:      1      5
+ doing moduloing V2D_REG on T axis:        1        5 dset:   1
+ -DELETE V2D_REG  M:177 dset:   1 I:      1      1  J: -999 -999  K: -999 -999  L:      1      5
+ nulrgd  V2D_REG  M:177 dset:   1 I:      1      1  J: -999 -999  K: -999 -999  L:      1      8
+ -DELETE V2D_REG  M:176 dset:   1 I:      1      1  J: -999 -999  K: -999 -999  L:      1     15
  dealloc  dynamic grid (G002)          XAX_SUBSPANORMAL    NORMAL    (AX025)
  16-JAN-0000 / 1:   11.000
  16-MAR-0000 / 2:   71.000
@@ -39911,10 +40541,10 @@ set mode stupid  ! always re-read and recompute
 lsx $1  ! default avoids void points
  !-> list/order=x virr
  dealloc  dynamic grid GFJ4            XIRREG_SUBNORMAL    NORMAL    TIRREG_SUB
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GFJ2            XIRREG_SUBNORMAL    NORMAL    NORMAL
- eval    EX#1     C:  4 dset:   1 I:    1    6  J: -999 -999  K: -999 -999  L: -999 -999
- reading VIRR     M: 80 dset:   1 I:    1    6  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  4 dset:   1 I:      1      6  J: -999 -999  K: -999 -999  L:   -999   -999
+ reading VIRR     M:170 dset:   1 I:      1      6  J: -999 -999  K: -999 -999  L:   -999   -999
              VARIABLE : X[GX=XIRREG_SUBSPAN] -40 + 10
              FILENAME : test_subspan_modulo.nc
              SUBSET   : 6 points (X)
@@ -39924,36 +40554,36 @@ lsx $1  ! default avoids void points
 lsxn/x=100 $1  ! void point above, alone (via "modulo-void-filling")
  !-> list/order=x/nohead/x=100 virr
  strip limits reconciliation : EX#1
- strip modulo-void-filling EX#1 on X axis:     7     7 dset:   1
- eval    EX#1     C:  6 dset:   1 I:    6    6  J: -999 -999  K: -999 -999  L: -999 -999
- reading VIRR     M: 81 dset:   1 I:    6    6  J: -999 -999  K: -999 -999  L: -999 -999
- doing modulo-void-filling VIRR on X axis:     6     6 dset:   1
+ strip modulo-void-filling EX#1 on X axis:        7        7 dset:   1
+ eval    EX#1     C:  6 dset:   1 I:      6      6  J: -999 -999  K: -999 -999  L:   -999   -999
+ reading VIRR     M:169 dset:   1 I:      6      6  J: -999 -999  K: -999 -999  L:   -999   -999
+ doing modulo-void-filling VIRR on X axis:        6        6 dset:   1
         ....
 lsxn/x=0 $1 ! void point below, alone (via modulo)
  !-> list/order=x/nohead/x=0 virr
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:    0    0  J: -999 -999  K: -999 -999  L: -999 -999
- strip moduloing VIRR on X axis:     0     0 dset:   1
- reading VIRR     M: 83 dset:   1 I:    6    6  J: -999 -999  K: -999 -999  L: -999 -999
- doing moduloing VIRR on X axis:     6     6 dset:   1
+ eval    EX#1     C:  5 dset:   1 I:      0      0  J: -999 -999  K: -999 -999  L:   -999   -999
+ strip moduloing VIRR on X axis:        0        0 dset:   1
+ reading VIRR     M:167 dset:   1 I:      6      6  J: -999 -999  K: -999 -999  L:   -999   -999
+ doing moduloing VIRR on X axis:        6        6 dset:   1
         ....
 lsxn/x=45:100 $1  ! void above (via subspan-fill)
  !-> list/order=x/nohead/x=45:100 virr
  strip limits reconciliation : EX#1
- strip modulo-void-filling EX#1 on X axis:     5     7 dset:   1
- eval    EX#1     C:  6 dset:   1 I:    5    6  J: -999 -999  K: -999 -999  L: -999 -999
- reading VIRR     M: 85 dset:   1 I:    5    6  J: -999 -999  K: -999 -999  L: -999 -999
- doing modulo-void-filling VIRR on X axis:     5     6 dset:   1
+ strip modulo-void-filling EX#1 on X axis:        5        7 dset:   1
+ eval    EX#1     C:  6 dset:   1 I:      5      6  J: -999 -999  K: -999 -999  L:   -999   -999
+ reading VIRR     M:165 dset:   1 I:      5      6  J: -999 -999  K: -999 -999  L:   -999   -999
+ doing modulo-void-filling VIRR on X axis:        5        6 dset:   1
           15.0000  16.0000     ....
 lsxn/x=0:100 $1  ! voids above & below (via modulo)
  !-> list/order=x/nohead/x=0:100 virr
  strip limits reconciliation : EX#1
- strip modulo-void-filling EX#1 on X axis:     0     7 dset:   1
- eval    EX#1     C:  6 dset:   1 I:    0    6  J: -999 -999  K: -999 -999  L: -999 -999
- strip moduloing VIRR on X axis:     0     6 dset:   1
- reading VIRR     M: 87 dset:   1 I:    1    6  J: -999 -999  K: -999 -999  L: -999 -999
- doing moduloing VIRR on X axis:     1     6 dset:   1
- doing modulo-void-filling VIRR on X axis:     0     6 dset:   1
+ strip modulo-void-filling EX#1 on X axis:        0        7 dset:   1
+ eval    EX#1     C:  6 dset:   1 I:      0      6  J: -999 -999  K: -999 -999  L:   -999   -999
+ strip moduloing VIRR on X axis:        0        6 dset:   1
+ reading VIRR     M:163 dset:   1 I:      1      6  J: -999 -999  K: -999 -999  L:   -999   -999
+ doing moduloing VIRR on X axis:        1        6 dset:   1
+ doing modulo-void-filling VIRR on X axis:        0        6 dset:   1
              ....  11.0000  12.0000  12.1000  14.0000  15.0000  16.0000     ....
 set mode/last diag
 lsxn/x=50:160 $1  ! modulo above
@@ -40207,15 +40837,15 @@ l200n/order=x $2[l=1,i=0:14]
 set mode diag; l200n/order=x $2[l=1,i=0:14:2]; set mode/last diag
  !-> list/width=200/nohead/order=x v2d_irr[l=1,i=0:14:2]
  dealloc  dynamic grid GFJ4            XIRREG_SUBNORMAL    NORMAL    TIRREG_SUB
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G018)          (AX017)   NORMAL    NORMAL    TIRREG_SUB
  dealloc  dynamic grid (G018)          (AX017)   NORMAL    NORMAL    TIRREG_SUB
  allocate dynamic grid (G018)          (AX017)   NORMAL    NORMAL    TIRREG_SUB
- eval    EX#1     C:  4 dset:   1 I:    1    8  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  4 dset:   1 I:      1      8  J: -999 -999  K: -999 -999  L:   -999   -999
  allocate dynamic grid (G018)          (AX017)   NORMAL    NORMAL    TIRREG_SUB
  strip regrid on X: V2D_IRR --> (G018)           @XACT
- found   V2D_IRR  M:150 dset:   1 I:    0   14  J: -999 -999  K: -999 -999  L:    1    1
- regrid  V2D_IRR  M:151 dset:   1 I:    1    8  J: -999 -999  K: -999 -999  L:    1    1
+ found   V2D_IRR  M:100 dset:   1 I:      0     14  J: -999 -999  K: -999 -999  L:      1      1
+ regrid  V2D_IRR  M: 99 dset:   1 I:      1      8  J: -999 -999  K: -999 -999  L:      1      1
  dealloc  dynamic grid (G018)          (AX017)   NORMAL    NORMAL    TIRREG_SUB
              ....  12.0000  14.0000  16.0000  11.0000  12.1000  15.0000     ....
 l200n/order=x $2[l=1,i=0:14:7]
@@ -40224,20 +40854,20 @@ l200n/order=x $2[l=1,i=0:14:7]
 set mode diag; l200n $2[i=1,l=1:15:2]; set mode/last diag
  !-> list/width=200/nohead v2d_irr[i=1,l=1:15:2]
  dealloc  dynamic grid (G018)          (AX015)   NORMAL    NORMAL    TIRREG_SUB
- -DELETE V2D_IRR  M:152 dset:   1 I:    1    3  J: -999 -999  K: -999 -999  L:    1    1
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ -DELETE V2D_IRR  M: 98 dset:   1 I:      1      3  J: -999 -999  K: -999 -999  L:      1      1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G018)          XIRREG_SUBNORMAL    NORMAL    (AX017)
  dealloc  dynamic grid (G018)          XIRREG_SUBNORMAL    NORMAL    (AX017)
  allocate dynamic grid (G018)          XIRREG_SUBNORMAL    NORMAL    (AX017)
- eval    EX#1     C:  4 dset:   1 I: -999 -999  J: -999 -999  K: -999 -999  L:    1    8
+ eval    EX#1     C:  4 dset:   1 I:   -999   -999  J: -999 -999  K: -999 -999  L:      1      8
  allocate dynamic grid (G018)          XIRREG_SUBNORMAL    NORMAL    (AX017)
  strip regrid on T: V2D_IRR --> (G018)           @XACT
- strip moduloing V2D_IRR on T axis:     1    15 dset:   1
- rdstride V2D_IRR  C:  9 dset:   1 I:    1    1  J: -999 -999  K: -999 -999  L:    1    5
- doing moduloing V2D_IRR on T axis:     1     5 dset:   1
- -DELETE V2D_IRR  M:152 dset:   1 I:    1    1  J: -999 -999  K: -999 -999  L:    1    5
- nulrgd  V2D_IRR  M:152 dset:   1 I:    1    1  J: -999 -999  K: -999 -999  L:    1    8
- -DELETE V2D_IRR  M:153 dset:   1 I:    1    1  J: -999 -999  K: -999 -999  L:    1   15
+ strip moduloing V2D_IRR on T axis:        1       15 dset:   1
+ rdstride V2D_IRR  C:  9 dset:   1 I:      1      1  J: -999 -999  K: -999 -999  L:      1      5
+ doing moduloing V2D_IRR on T axis:        1        5 dset:   1
+ -DELETE V2D_IRR  M: 98 dset:   1 I:      1      1  J: -999 -999  K: -999 -999  L:      1      5
+ nulrgd  V2D_IRR  M: 98 dset:   1 I:      1      1  J: -999 -999  K: -999 -999  L:      1      8
+ -DELETE V2D_IRR  M: 97 dset:   1 I:      1      1  J: -999 -999  K: -999 -999  L:      1     15
  dealloc  dynamic grid (G018)          XIRREG_SUBNORMAL    NORMAL    (AX017)
  16-JAN-0000 / 1:   11.000
  15-MAR-0000 / 2:   70.249
@@ -40332,8 +40962,10 @@ list $1_strings[i=1013:1024] 	! via IS_MODULO
  
  
  
-GO bn_reset
+GO bn_reset bn_dots
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_dots
 GO bn_dots
 ! PLOT/SYMBOL=DOT  qualifiers
 ! *acm* 12/02
@@ -40355,8 +40987,10 @@ plot/symbol=dot/size=0.5/over/i=1:1000 -0.5*sin(62.8*(i+10) )
 vector/i=1:5/j=1:5 0.*(i+j),0*(i+j)
 set mode logo
  
-GO bn_reset
+GO bn_reset bn_lev_symbols
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_lev_symbols
 GO bn_lev_symbols
 ! Test symbols which capture the latest LEVELS settings
 ! LEV_TEXT  The argument, if any, to the LEV qualifier
@@ -40433,12 +41067,13 @@ LEV_MAX = "33"
 LEV_NUM = "1"
 LEV_DEL = "none"
  
-GO bn_reset
-cancel mode verify
+! GO bn_reset
 ! GO bench_extrema  ! moved to bn_ef_bench_extrema; tests of shared-obj efs.
  
-GO bn_reset
+GO bn_reset bn_mode_logo_lab
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_mode_logo_lab
 GO bn_mode_logo_lab
  
 ! bn_mode_logo_lab.jnl
@@ -40461,12 +41096,12 @@ can mode labels
 can mode logo
 show modes
       MODE            STATE        ARGUMENT
-      DIAGNOSTIC    CANCELLED           99
+      DIAGNOSTIC    CANCELED            99
       VERIFY           SET         DEFAULT
-      INTERPOLATE   CANCELLED
-      IGNORE_ERROR  CANCELLED
-      STUPID        CANCELLED
-      JOURNAL       CANCELLED      ferret.jnl
+      INTERPOLATE   CANCELED
+      IGNORE_ERROR  CANCELED
+      STUPID        CANCELED
+      JOURNAL       CANCELED       ferret.jnl
       LONG_LABEL       SET              -4
       LATIT_LABEL      SET              -4
       DEPTH_LABEL      SET              -4
@@ -40475,24 +41110,25 @@ show modes
       F_LABEL          SET         months
       ASCII_FONT       SET
       SEGMENT          SET
-      WAIT          CANCELLED
-      DESPERATE     CANCELLED      2560000
+      WAIT          CANCELED
+      DESPERATE     CANCELED       2560000
       GKS              SET
       REFRESH          SET
-      METAFILE      CANCELLED      dots.plt
-      PPLLIST       CANCELLED      ppllist.out
-      GUI           CANCELLED
-      LOGO          CANCELLED
-      LABELS        CANCELLED
-      GRATICULE     CANCELLED
+      METAFILE      CANCELED       dots.plt
+      PPLLIST       CANCELED       ppllist.out
+      GUI           CANCELED
+      LOGO          CANCELED
+      LABELS        CANCELED
+      GRATICULE     CANCELED
       LINECOLORS       SET               6
       UPCASE_OUTPU     SET
       NLEVELS          SET              30
       NODATA_LAB       SET
-      SHRINK_YLAB   CANCELLED
-      CURVILINEAR   CANCELLED
-      LAYERZ        CANCELLED
+      SHRINK_YLAB   CANCELED
+      CURVILINEAR   CANCELED
+      LAYERZ        CANCELED
       6D_LAB           SET
+      FRUGAL           SET              30
 contour/i=1:10/j=1:10 i/j
  
 ! restore the labels, logo still gone
@@ -40535,8 +41171,10 @@ cancel view
 set mode logo
 set mode labels
  
-GO bn_reset
+GO bn_reset bn_modulo_attribute
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_modulo_attribute
 GO bn_modulo_attribute
 ! Ferret V5.50 m
  
@@ -40595,8 +41233,10 @@ T0 = 01-JAN-0000 00:00:00
    Axis span (to cell edges) = 1460.97 (modulo length = 8765.82)
  
  
-GO bn_reset
+GO bn_reset bn550_bug_fixes
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn550_bug_fixes
 GO bn550_bug_fixes
 ! bn550_bug_fixes.jnl
 ! test various fixes that went into version 5.5
@@ -40606,6 +41246,7 @@ GO bn550_bug_fixes
 ! Polygon/overlay calendar axis bug
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err542_poly_over_calendar
 ! POLY/OVER when data has a non-standard calendar caused
 ! calendar mismatch error, even on a plot with no time axis.
@@ -40617,8 +41258,10 @@ poly/over/color=red/line=2/title="polygon" {220,240,280,250},{-20,70,40,-30}
  
 ! ******** V5.51 Additions below ***********
  
-GO bn_reset
+GO bn_reset bn551_bug_fixes
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn551_bug_fixes
 GO bn551_bug_fixes
 ! bn551_bug_fixes.jnl
 ! test various fixes that went into version 5.51
@@ -40630,6 +41273,7 @@ GO bn551_bug_fixes
  
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err550_view_axes_fill.jnl
 ! err550_view_axes_fill.jnl
 ! acm 2/5/03
@@ -40719,6 +41363,7 @@ set win/aspect=0.75
 ! defined as a VIEW/AXES viewport.
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err550_view_axes_position.jnl
 ! err550_view_axes_position.jnl
 ! acm 2/5/03
@@ -40737,6 +41382,7 @@ shade/x=1:10/y=1:10 x-y
 ! SHADE bug: hlimits, vlimits without effect
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err550_shade_limits.jnl
 ! err550_shade_limits.jnl
 ! acm 2/5/03
@@ -40751,6 +41397,7 @@ set view lower; shade/hlimits=212:324/vlimits=-34:23 sst[l=1]
 ! Redefining an axis with a new calendar definition
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err550_redefine_calendar_axis.jnl
 ! err550_redefine_calendar_axis.jnl
 ! different calendar axis not recognized as a different specifier,
@@ -40774,6 +41421,7 @@ CALENDAR = JULIAN
 ! Bug in defining axis from an expression.
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err550_define_axis_expression.jnl
 ! err550_define_axis_expression.jnl
 ! reported by A. Wittenberg.
@@ -40825,6 +41473,7 @@ list x[gx=xax]
 ! Bug in reading seconds from time origin in nc file.
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err550_nc_seconds.jnl
 ! err550_nc_seconds.jnl
 ! 2/12/03 ACM
@@ -40851,6 +41500,7 @@ list t[gt=height]    ! Seconds should be 36, 37, 38...
 ! Bug in plotting polymarker dots with pen numbers gt 6
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err550_dots_thickpens.jnl
 ! err550_dots_thickpens.jnl
 ! For pen code higher than 6, get *  rather than dot.
@@ -40989,8 +41639,10 @@ ppl plot
  
 ppl rlabs,4,0
  
-GO bn_reset
+GO bn_reset bn552_bug_fixes
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn552_bug_fixes
 GO bn552_bug_fixes
 ! bn552_bug_fixes.jnl
 ! test various fixes that went into version 5.52
@@ -41001,6 +41653,7 @@ GO bn552_bug_fixes
 ! Default behavior (all axes on) was not reset after a plot/set/AXES=
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err551_axes_set.jnl
 ! Default behavior (all axes on) was not reset after a PLOT/SET/AXES=
  
@@ -41020,6 +41673,7 @@ plot/i=1:100/title="PLOT (no quals); all axes plotted" i*cos(i/12)
 ! test on SHADE and POLYGON plots, and these crashed Ferret.
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err551_num_levels.jnl
 ! Test whether too many levels specified. Previous to v552, no
 ! test was made on SHADE and POLYGON plots, and these crashed Ferret.
@@ -41046,6 +41700,7 @@ SET WIN/CLEAR
 ! Check for invalid value of calendar attribute on reading NetCDF files.
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err551_invalid_calendar.jnl
 ! check on input for invalid calendar name
 ! If file gives calendar attribute with unrecognized name,
@@ -41063,6 +41718,7 @@ sh data
 ! String bug fixes *kob*
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err551_strings.jnl
  
  
@@ -41132,6 +41788,7 @@ list strcmp("b", mystring)
 ! 2-D @AVE bug fix
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err551_2dave.jnl
 ! Bug in 2-D averaging, if source data thats loaded has a
 ! larger range than the dest data, code didnt check whether
@@ -41161,6 +41818,7 @@ list/l=1/y=20 sst[gx=xax at ave,gy=yax at ave]
 ! RETURN error message, and new var,RETURN=dsettitle  argument
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err551_return_message.jnl
  ! err551_return_message.jnl
  ! 4/15/03 ACM
@@ -41184,6 +41842,7 @@ SET MODE/LAST IGNORE_ERROR
 !  file/form=stream didnt see file in another directory
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err551_streamread_directory.jnl
 ! Bug: file/form=stream doesnt see file in another directory
  
@@ -41213,6 +41872,7 @@ list a
 ! GXY=var  regridding syntax, when the variable hasnt been loaded
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err551_regrid_undef_grid.jnl
 ! err551_regrid_undef_grid.jnl
 ! 5/03 *acm* based on bn_regrid_to_user; more testing of multi-axis GXY=var
@@ -41348,6 +42008,7 @@ list dzdt_anom
 ! Symbol substituted on each repetition of REPEAT
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err551_repeat_sym.jnl
  
 ! This had worked, but stopped working in v541
@@ -41375,6 +42036,7 @@ def sym a 0; rep/i=1:3:1 (def sym a `i`; say ($a))
 ! another time axis, some times have missing data
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err551_modulo_nc_regrid.jnl
 ! data from nc file with time axis having modulo=value, when regridded
 ! to another time axis, some times have missing data
@@ -41436,6 +42098,7 @@ list/l=23:27 vwnd_clim[gt=vwnd[d=1]]
 ! FFT frequency axis not computed accurately enough.
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err551_fft_freqaxis.jnl
  
 DEFINE AXIS/t=1:4998:1 dayt
@@ -41463,6 +42126,7 @@ list `tpts,return=lend`
 ! No error message on request for time on bad time axis
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err551_no_taxis_errmsg.jnl
 ! The time axis is bad, having repeated values, so an abstract axis is
 ! used by Ferret and the list/t=time should result in an error.
@@ -41474,8 +42138,10 @@ list/t=1-jan-1990 dummy
  
 SET MODE/LAST IGNORE_ERROR
  
-GO bn_reset
+GO bn_reset bn_set_var_scale_off.jnl
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_set_var_scale_off.jnl
 GO bn_set_var_scale_off.jnl
 ! Qualifiers /SCALEFACTOR=  and /OFFSET  for SET VARIABLE.
 ! Only for NetCDF datasets
@@ -41522,8 +42188,10 @@ SET VAR/SCALE=10 x2
  
 SET MODE/LAST IGNORE_ERROR
  
-GO bn_reset
+GO bn_reset bn_longvarnames.jnl
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_longvarnames.jnl
 GO bn_longvarnames.jnl
 ! variable names up to 128 characters long
 ! 3/2006 make them 127 to be able to add the null terminator for C strings
@@ -41572,6 +42240,7 @@ SHOW GRID
 ! save to a file a variable that is 128 long
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
  
 LET a234567890b234567890c234567890d234567890e234567890f234567890g234567890h234567890i234567890d234567890j234567890k234567890L234567 = {12,14,20,28,22,10}
 SAVE/CLOBBER/FILE=longvname.nc a234567890b234567890c234567890d234567890e234567890f234567890g234567890h234567890i234567890d234567890j234567890k234567890L234567
@@ -41579,6 +42248,7 @@ SAVE/CLOBBER/FILE=longvname.nc a234567890b234567890c234567890d234567890e23456789
 ! read from the file
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 USE longvname
 LIST a234567890b234567890c234567890d234567890e234567890f234567890g234567890h234567890i234567890d234567890j234567890k234567890L234567
              VARIABLE : {12,14,20,28,22,10}
@@ -41594,11 +42264,13 @@ LIST a234567890b234567890c234567890d234567890e234567890f234567890g234567890h2345
 ! save a 4-D variable
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 LET a234567890b234567890c234567890d234567890e234567890f234567890g234567890h234567890i234567890d234567890j234567890k234567890L234567 = I[I=1:5] * J[J=1:4] * K[K=1:3] + L[L=1:3]
 SAVE/CLOBBER/FILE=longvname.nc a234567890b234567890c234567890d234567890e234567890f234567890g234567890h234567890i234567890d234567890j234567890k234567890L234567
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 USE longvname.nc
 lIST/I=1/J=2 a234567890b234567890c234567890d234567890e234567890f234567890g234567890h234567890i234567890d234567890j234567890k234567890L234567
              VARIABLE : I[I=1:5] * J[J=1:4] * K[K=1:3] + L[L=1:3]
@@ -41624,8 +42296,10 @@ LIST/K=2/L=3 a234567890b234567890c234567890d234567890e234567890f234567890g234567
  3   / 3:   9.0000  15.0000  21.0000  27.0000  33.0000
  4   / 4:  11.0000  19.0000  27.0000  35.0000  43.0000
  
-GO bn_reset
+GO bn_reset bn_shakey.jnl
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_shakey.jnl
 GO bn_shakey.jnl
 ! Changes to shade key:
 ! - Default size is a little bigger
@@ -41752,8 +42426,10 @@ ppl list shakey
          X LO     X HI     Y LO     Y HI
          1.20     9.94    -1.40    -1.31
  
-GO bn_reset
+GO bn_reset bn_eof_4d.jnl
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_eof_4d.jnl
 GO bn_eof_4d.jnl
 ! bn_eof_4d.jnl
 ! test EOFs on XYZT grids
@@ -41962,8 +42638,10 @@ list/nohead/i=1:5/j=3/k=9 eofst
  
 exit/script
  
-GO bn_reset
+GO bn_reset bn_abstract_axis_names.jnl
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_abstract_axis_names.jnl
 GO bn_abstract_axis_names.jnl
 ! bn_abstract_axis_names.jnl
 ! acm 6/12/03
@@ -42148,8 +42826,10 @@ sh grid v
  DDD       T                    7 r   1                    13                  full
 can data 1
  
-GO bn_reset
+GO bn_reset bn_many_polygons.jnl
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_many_polygons.jnl
 GO bn_many_polygons.jnl
 ! testing large number of polygons in a plot.  Map plot has
 ! 130501 polygons; previously we had an upper limit of 100K polygons
@@ -42179,12 +42859,13 @@ let xpts = 180 + 30*randu(i[i=1:10])
 let ypts = 30*randu(1+i[i=1:10])
 polygon xtriangle+xpts, ytriangle+ypts, i[i=1:10]
  
-GO bn_reset
-cancel mode verify
+! GO bn_reset
 ! GO bn_zaxr_fcns.jnl ! move to tests of shared-obj efs.
  
-GO bn_reset
+GO bn_reset bn_fill_irregular.jnl
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_fill_irregular.jnl
 GO bn_fill_irregular.jnl
 ! FILL on vars with irregular axes
  
@@ -42208,8 +42889,10 @@ use coads_clim_irreg.des
 fill/x=180 sst
  
 ! ******** V5.53 Additions below ***********
-GO bn_reset
+GO bn_reset bn_xml_output.jnl
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_xml_output.jnl
 GO bn_xml_output.jnl
 !bn_xml_output.jnl
 ! new-V553 output in XML-style format
@@ -42294,6 +42977,7 @@ save/clobber/file=b.nc ddat
 can var/all
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
  
 USE a.nc
 USE b.nc
@@ -42698,8 +43382,10 @@ SHO DATA/VAR/XML 1
 </axis>
 </axes>
  
-GO bn_reset
+GO bn_reset bn_test_nan.jnl
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_test_nan.jnl
 GO bn_test_nan.jnl
 !bn_test_nan.jnl
 ! test to make sure that NaN is able to be set by user
@@ -42777,8 +43463,10 @@ can var/all
  
  
  
-GO bn_reset
+GO bn_reset bn553_bug_fixes.jnl
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn553_bug_fixes.jnl
 GO bn553_bug_fixes.jnl
 ! bn553_bug_fixes.jnl
 ! test various fixes that went into version 5.52
@@ -42788,6 +43476,7 @@ GO bn553_bug_fixes.jnl
 ! Make sure numeric filenames works
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err553_numeric_filename.jnl
 ! err553_numeric_filename.jnl
 ! 9/03 kob
@@ -42823,6 +43512,7 @@ list vwnd_clim
 ! Make sure long string variables work
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err553_long_string_var_name.jnl
 ! err553_long_string_var_name.jnl
 ! 9/03 kob
@@ -42846,6 +43536,7 @@ list a
 ! Fixes for colorbar key labelling
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err551_colorkey.jnl
  
 ! colorkey label bugs
@@ -42868,8 +43559,10 @@ ppl shade
  
 ! ******** V5.6Additions below ***********
  
-GO bn_reset
+GO bn_reset bn_graticules.jnl
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_graticules.jnl
 GO bn_graticules.jnl
 ! /GRAT, /HGRAT and /VGRAT to set graticule lines
 ! ACM March 12, 2004
@@ -42955,7 +43648,7 @@ plot/trans/thick/vg="(line,color=blue)"/hg="large(line,color=blue),small(line,co
 ! Tests for MODE GRATICULE  added in Ferret v5.7
 show mode graticule
       MODE            STATE        ARGUMENT
-      GRATICULE     CANCELLED
+      GRATICULE     CANCELED
 set mode graticule
 show mode graticule
       MODE            STATE        ARGUMENT
@@ -42978,8 +43671,10 @@ can mode graticule
 pplus/reset   ! restore tics etc
  
  
-GO bn_reset
+GO bn_reset bn_repeat_range.jnl
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_repeat_range.jnl
 GO bn_repeat_range.jnl
 ! REPEAT/RANGE=[/NAME=]  for looping without depending
 ! on the grid\
@@ -43335,19 +44030,20 @@ set mode diag
 set reg/y=0:50/L=1
 repeat/range=300:360:30/name=m (list sst[x=280:`m`@ave,y=@ave])
 !-> REPEAT: M:300
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I: -999 -999  J: -999 -999  K: -999 -999  L:    1    1  M: -999 -999  N: -999 -999
- constan cnst     M:157 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M: -999 -999  N: -999 -999
- -DELETE cnst     M:152 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M: -999 -999  N: -999 -999
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:   -999   -999  J: -999 -999  K: -999 -999  L:      1      1  M: -999 -999  N: -999 -999
+ constan cnst     M:249 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M: -999 -999  N: -999 -999
+ -DELETE cnst     M:244 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M: -999 -999  N: -999 -999
  !-> list sst[x=280:300 at ave,y=@ave]
- -DELETE cnst     M:157 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M: -999 -999  N: -999 -999
+ -DELETE cnst     M:249 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M: -999 -999  N: -999 -999
  dealloc  dynamic grid ABSTRACT        ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
- eval    EX#1     C:  4 dset:   1 I: -999 -999  J:   46   70  K: -999 -999  L:    1    1
+ eval    EX#1     C:  4 dset:   1 I:   -999   -999  J:   46   70  K: -999 -999  L:      1      1
  strip --> SST[Y=0:50N at AV4,D=1]
- reading SST      M:157 dset:   1 I:  131  140  J:   46   70  K: -999 -999  L:    1    1
+ reading SST      M:249 dset:   1 I:    131    140  J:   46   70  K: -999 -999  L:      1      1
  doing --> SST[Y=0:50N at AV4,D=1]
+ final --> SST[Y=0:50N at AV4,D=1]
              VARIABLE : SEA SURFACE TEMPERATURE (Deg C)
              FILENAME : coads_climatology.cdf
              LONGITUDE: 80W to 60W (XY ave)
@@ -43356,19 +44052,20 @@ repeat/range=300:360:30/name=m (list sst[x=280:`m`@ave,y=@ave])
           20.7890
 !-> REPEAT: M:330
  dealloc  dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I: -999 -999  J: -999 -999  K: -999 -999  L:    1    1  M: -999 -999  N: -999 -999
- constan cnst     M:147 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M: -999 -999  N: -999 -999
- -DELETE cnst     M:144 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M: -999 -999  N: -999 -999
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:   -999   -999  J: -999 -999  K: -999 -999  L:      1      1  M: -999 -999  N: -999 -999
+ constan cnst     M:239 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M: -999 -999  N: -999 -999
+ -DELETE cnst     M:236 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M: -999 -999  N: -999 -999
  !-> list sst[x=280:330 at ave,y=@ave]
- -DELETE cnst     M:147 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M: -999 -999  N: -999 -999
+ -DELETE cnst     M:239 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M: -999 -999  N: -999 -999
  dealloc  dynamic grid ABSTRACT        ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
- eval    EX#1     C:  4 dset:   1 I: -999 -999  J:   46   70  K: -999 -999  L:    1    1
+ eval    EX#1     C:  4 dset:   1 I:   -999   -999  J:   46   70  K: -999 -999  L:      1      1
  strip --> SST[Y=0:50N at AV4,D=1]
- reading SST      M:147 dset:   1 I:  131  155  J:   46   70  K: -999 -999  L:    1    1
+ reading SST      M:239 dset:   1 I:    131    155  J:   46   70  K: -999 -999  L:      1      1
  doing --> SST[Y=0:50N at AV4,D=1]
+ final --> SST[Y=0:50N at AV4,D=1]
              VARIABLE : SEA SURFACE TEMPERATURE (Deg C)
              FILENAME : coads_climatology.cdf
              LONGITUDE: 80W to 30W (XY ave)
@@ -43377,19 +44074,20 @@ repeat/range=300:360:30/name=m (list sst[x=280:`m`@ave,y=@ave])
           21.2500
 !-> REPEAT: M:360
  dealloc  dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I: -999 -999  J: -999 -999  K: -999 -999  L:    1    1  M: -999 -999  N: -999 -999
- constan cnst     M:138 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M: -999 -999  N: -999 -999
- -DELETE cnst     M:133 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M: -999 -999  N: -999 -999
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:   -999   -999  J: -999 -999  K: -999 -999  L:      1      1  M: -999 -999  N: -999 -999
+ constan cnst     M:230 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M: -999 -999  N: -999 -999
+ -DELETE cnst     M:225 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M: -999 -999  N: -999 -999
  !-> list sst[x=280:360 at ave,y=@ave]
- -DELETE cnst     M:138 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M: -999 -999  N: -999 -999
+ -DELETE cnst     M:230 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M: -999 -999  N: -999 -999
  dealloc  dynamic grid ABSTRACT        ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
- eval    EX#1     C:  4 dset:   1 I: -999 -999  J:   46   70  K: -999 -999  L:    1    1
+ eval    EX#1     C:  4 dset:   1 I:   -999   -999  J:   46   70  K: -999 -999  L:      1      1
  strip --> SST[Y=0:50N at AV4,D=1]
- reading SST      M:138 dset:   1 I:  131  170  J:   46   70  K: -999 -999  L:    1    1
+ reading SST      M:230 dset:   1 I:    131    170  J:   46   70  K: -999 -999  L:      1      1
  doing --> SST[Y=0:50N at AV4,D=1]
+ final --> SST[Y=0:50N at AV4,D=1]
              VARIABLE : SEA SURFACE TEMPERATURE (Deg C)
              FILENAME : coads_climatology.cdf
              LONGITUDE: 80W to 0E(360) (XY ave)
@@ -43478,8 +44176,10 @@ repeat/range=1:4/name=a (repeat/range=3:1:-1/name=a list a)
 !-> REPEAT: A:4
 cancel mode ignore
  
-GO bn_reset
+GO bn_reset bn554_bug_fixes.jnl
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn554_bug_fixes.jnl
 GO bn554_bug_fixes.jnl
 ! bn554_bug_fixes.jnl
 ! test various fixes that went into version 5.54
@@ -43489,6 +44189,7 @@ GO bn554_bug_fixes.jnl
 ! Test use of longer strings in region names
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err553_regionname_lengths.jnl
 ! In v5.50, we upped the region name storage to
 ! allow 24-characters.  Wasnt fully implemented.
@@ -43545,6 +44246,7 @@ SET MODE/LAST IGNORE_ERRORS
 ! Reqests for data at times outside range of data
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err553_timeregion.jnl
 ! try to apply a region whose limits are both below,
 ! or both above, the data bounds. In v5.53 the error
@@ -43563,6 +44265,7 @@ SET MODE/LAST IGNORE_ERRORS
 ! Contour plot on fine grid has precision problems
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err553_contour_fine_grid.jnl
 ! err553_contour_find_grid.jnl
 ! 11/21/03 ACM
@@ -43598,6 +44301,7 @@ PPLUS/RESET   ! reset aspect ratio
 ! PLOT/SYM/SIZE= did not change the size
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err553_symsize.jnl
 ! PLOT/SYM/SIZE= does not change the size from the default.
 ! acm 11/03
@@ -43608,6 +44312,7 @@ plot/over/i=1:10/sym=20/siz=0.2 i
 ! test labels on shade keys; consistent number of digits set by 5th shakey arg
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err553_shakey_labels.jnl
 ! The 5th argument to shakey is supposed to define
 ! number of digits in the label.
@@ -43624,6 +44329,7 @@ ppl shade
 ! couldnt set the number of small tics with arg to %xaxis, %yaxis commands
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err553_xaxis_nsmtc.jnl
 ! Bug: 5th argument failed to set the number of small
 ! tics for the axis.
@@ -43640,6 +44346,7 @@ ppl %yaxis/nouser 1,100,10,2,6
 ! vs DEFINE AXIS/UNIT=yr
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err553_year_yr.jnl
 ! err553_year_yr.jnl
 ! 2/2004 ACM
@@ -43831,57 +44538,58 @@ can mode ignore
 ! strides, Ferret did a regridding instead.  Test the fix for this
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err553_stride_def_grid.jnl
  
 use gtsa056_2.cdf
 set mode diag
 let a = taux[i=50:55:2,j=44:50:3,l=1:168:8]
 load a
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid A        C:  7 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid A        C:  7 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G023)          (AX023)   (AX013)   NORMAL    (AX033)
  dealloc  dynamic grid (G023)          (AX023)   (AX013)   NORMAL    (AX033)
  allocate dynamic grid (G023)          (AX023)   (AX013)   NORMAL    (AX033)
  allocate dynamic grid (G023)          (AX023)   (AX013)   NORMAL    (AX033)
- eval    EX#1     C:  4 dset:   1 I:    1    3  J:    1    3  K: -999 -999  L:    1   21
- eval    A        C:  6 dset:   1 I:    1    3  J:    1    3  K: -999 -999  L:    1   21
+ eval    EX#1     C:  4 dset:   1 I:      1      3  J:    1    3  K: -999 -999  L:      1     21
+ eval    A        C:  6 dset:   1 I:      1      3  J:    1    3  K: -999 -999  L:      1     21
  allocate dynamic grid (G023)          (AX023)   (AX013)   NORMAL    (AX033)
  strip regrid on X: TAUX --> (G023)           @XACT
- rdstride TAUX     C:  9 dset:   1 I:   50   54  J:   44   50  K: -999 -999  L:    1  161
- nulrgd  TAUX     M:153 dset:   1 I:    1    3  J:    1    3  K: -999 -999  L:    1   21
- -DELETE TAUX     M:141 dset:   1 I:   50   54  J:   44   50  K: -999 -999  L:    1  161
+ rdstride TAUX     C:  9 dset:   1 I:     50     54  J:   44   50  K: -999 -999  L:      1    161
+ nulrgd  TAUX     M:245 dset:   1 I:      1      3  J:    1    3  K: -999 -999  L:      1     21
+ -DELETE TAUX     M:233 dset:   1 I:     50     54  J:   44   50  K: -999 -999  L:      1    161
  dealloc  dynamic grid (G023)          (AX023)   (AX013)   NORMAL    (AX033)
 can mem/all
- -DELETE A        M:141 dset:   1 I:    1    3  J:    1    3  K: -999 -999  L:    1   21
- -DELETE TAUX     M:153 dset:   1 I:    1    3  J:    1    3  K: -999 -999  L:    1   21
+ -DELETE A        M:233 dset:   1 I:      1      3  J:    1    3  K: -999 -999  L:      1     21
+ -DELETE TAUX     M:245 dset:   1 I:      1      3  J:    1    3  K: -999 -999  L:      1     21
  
 def grid/like=taux agrid
  dealloc  dynamic grid (G023)          (AX023)   (AX013)   NORMAL    (AX033)
- getgrid EX#1     C:  6 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  6 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS2DU1          PSXU      PSYU      NORMAL    TIME6
 set mode diag
 let a = taux[i=50:55:2,j=44:50:3,l=1:168:8]
  dealloc  dynamic grid PS2DU1          PSXU      PSYU      NORMAL    TIME6
  dealloc  dynamic grid (G023)          (AX023)   (AX013)   NORMAL    (AX033)
 load a
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid A        C:  7 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid A        C:  7 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G023)          (AX013)   (AX023)   NORMAL    (AX024)
  dealloc  dynamic grid (G023)          (AX013)   (AX023)   NORMAL    (AX024)
  allocate dynamic grid (G023)          (AX013)   (AX023)   NORMAL    (AX024)
  allocate dynamic grid (G023)          (AX013)   (AX023)   NORMAL    (AX024)
- eval    EX#1     C:  4 dset:   1 I:    1    3  J:    1    3  K: -999 -999  L:    1   21
- eval    A        C:  6 dset:   1 I:    1    3  J:    1    3  K: -999 -999  L:    1   21
+ eval    EX#1     C:  4 dset:   1 I:      1      3  J:    1    3  K: -999 -999  L:      1     21
+ eval    A        C:  6 dset:   1 I:      1      3  J:    1    3  K: -999 -999  L:      1     21
  allocate dynamic grid (G023)          (AX013)   (AX023)   NORMAL    (AX024)
  strip regrid on X: TAUX --> (G023)           @XACT
- rdstride TAUX     C:  9 dset:   1 I:   50   54  J:   44   50  K: -999 -999  L:    1  161
- nulrgd  TAUX     M:141 dset:   1 I:    1    3  J:    1    3  K: -999 -999  L:    1   21
- -DELETE TAUX     M:153 dset:   1 I:   50   54  J:   44   50  K: -999 -999  L:    1  161
+ rdstride TAUX     C:  9 dset:   1 I:     50     54  J:   44   50  K: -999 -999  L:      1    161
+ nulrgd  TAUX     M:233 dset:   1 I:      1      3  J:    1    3  K: -999 -999  L:      1     21
+ -DELETE TAUX     M:245 dset:   1 I:     50     54  J:   44   50  K: -999 -999  L:      1    161
  dealloc  dynamic grid (G023)          (AX013)   (AX023)   NORMAL    (AX024)
  
 can mem/all
- -DELETE TAUX     M:141 dset:   1 I:    1    3  J:    1    3  K: -999 -999  L:    1   21
- -DELETE A        M:153 dset:   1 I:    1    3  J:    1    3  K: -999 -999  L:    1   21
+ -DELETE TAUX     M:233 dset:   1 I:      1      3  J:    1    3  K: -999 -999  L:      1     21
+ -DELETE A        M:245 dset:   1 I:      1      3  J:    1    3  K: -999 -999  L:      1     21
 can data/all
  dealloc  dynamic grid (G023)          (AX013)   (AX023)   NORMAL    (AX024)
  dealloc  dynamic grid (G023)          (AX013)   (AX023)   NORMAL    (AX024)
@@ -43894,23 +44602,23 @@ can data/all
 set region/i=3:6/j=2:4/k=1:2/l=1
 use bn_strides
 define grid/like=var agrid
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GPC1            XAX1_4    YAX1_3    ZAX1_2    TAX1_1
  dealloc  dynamic grid GPC1            XAX1_4    YAX1_3    ZAX1_2    TAX1_1
 define grid/like=midvar bgrid
- getgrid EX#1     C:  6 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  6 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GPC2            XAX1_9    YAX1_8    ZAX1_7    TAX1_6
 define grid/like=bigvar cgrid
  dealloc  dynamic grid GPC2            XAX1_9    YAX1_8    ZAX1_7    TAX1_6
- getgrid EX#1     C:  7 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  7 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GPC3            XAX1_40   YAX1_30   ZAX1_20   TAX1_10
 define grid/like=unevenvar dgrid
  dealloc  dynamic grid GPC3            XAX1_40   YAX1_30   ZAX1_20   TAX1_10
- getgrid EX#1     C:  8 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  8 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GPC4            XUNEVEN   YUNEVEN   ZAX1_6    TAX1_4
 define grid/like=xytvar egrid
  dealloc  dynamic grid GPC4            XUNEVEN   YUNEVEN   ZAX1_6    TAX1_4
- getgrid EX#1     C:  9 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  9 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GPC5            XLON      YLAT      NORMAL    TTIME
 canc data/all
  dealloc  dynamic grid GPC5            XLON      YLAT      NORMAL    TTIME
@@ -43921,21 +44629,21 @@ canc data/all
 cancel memory/all
 use bn_strides
 load var
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I:    3    4  J:    2    3  K:    1    2  L:    1    1
- reading VAR      M:153 dset:   1 I:    3    4  J:    2    3  K:    1    2  L:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:      3      4  J:    2    3  K:    1    2  L:      1      1
+ reading VAR      M:245 dset:   1 I:      3      4  J:    2    3  K:    1    2  L:      1      1
 LIST VAR[i=2:4:2]
  dealloc  dynamic grid AGRID           XAX1_4    YAX1_3    ZAX1_2    TAX1_1
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G014)          (AX045)   YAX1_3    ZAX1_2    TAX1_1
  dealloc  dynamic grid (G014)          (AX045)   YAX1_3    ZAX1_2    TAX1_1
  allocate dynamic grid (G014)          (AX045)   YAX1_3    ZAX1_2    TAX1_1
- eval    EX#1     C:  4 dset:   1 I:    3    6  J:    2    3  K:    1    2  L:    1    1
+ eval    EX#1     C:  4 dset:   1 I:      3      6  J:    2    3  K:    1    2  L:      1      1
  allocate dynamic grid (G014)          (AX045)   YAX1_3    ZAX1_2    TAX1_1
  strip regrid on X: VAR --> (G014)           @XACT
- rdstride VAR      C:  7 dset:   1 I:    2    4  J:    2    3  K:    1    2  L:    1    1
- nulrgd  VAR      M:148 dset:   1 I:    1    2  J:    2    3  K:    1    2  L:    1    1
- -DELETE VAR      M:141 dset:   1 I:    2    4  J:    2    3  K:    1    2  L:    1    1
+ rdstride VAR      C:  7 dset:   1 I:      2      4  J:    2    3  K:    1    2  L:      1      1
+ nulrgd  VAR      M:240 dset:   1 I:      1      2  J:    2    3  K:    1    2  L:      1      1
+ -DELETE VAR      M:233 dset:   1 I:      2      4  J:    2    3  K:    1    2  L:      1      1
  dealloc  dynamic grid (G014)          (AX045)   YAX1_3    ZAX1_2    TAX1_1
              VARIABLE : L*1000 + K*100 + J*10 + I
                         regrid: 2 delta on X
@@ -43952,17 +44660,17 @@ LIST VAR[i=2:4:2]
  3   / 3:  1232.00  1234.00
 LIST VAR[i=2:4:2,j=1:3:2]
  dealloc  dynamic grid (G014)          (AX045)   YAX1_3    ZAX1_2    TAX1_1
- -DELETE VAR      M:148 dset:   1 I:    1    2  J:    2    3  K:    1    2  L:    1    1
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ -DELETE VAR      M:240 dset:   1 I:      1      2  J:    2    3  K:    1    2  L:      1      1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G014)          (AX018)   (AX046)   ZAX1_2    TAX1_1
  dealloc  dynamic grid (G014)          (AX018)   (AX046)   ZAX1_2    TAX1_1
  allocate dynamic grid (G014)          (AX018)   (AX046)   ZAX1_2    TAX1_1
- eval    EX#1     C:  4 dset:   1 I:    3    6  J:    2    4  K:    1    2  L:    1    1
+ eval    EX#1     C:  4 dset:   1 I:      3      6  J:    2    4  K:    1    2  L:      1      1
  allocate dynamic grid (G014)          (AX018)   (AX046)   ZAX1_2    TAX1_1
  strip regrid on X: VAR --> (G014)           @XACT
- rdstride VAR      C:  7 dset:   1 I:    2    4  J:    1    3  K:    1    2  L:    1    1
- nulrgd  VAR      M:141 dset:   1 I:    1    2  J:    1    2  K:    1    2  L:    1    1
- -DELETE VAR      M:148 dset:   1 I:    2    4  J:    1    3  K:    1    2  L:    1    1
+ rdstride VAR      C:  7 dset:   1 I:      2      4  J:    1    3  K:    1    2  L:      1      1
+ nulrgd  VAR      M:233 dset:   1 I:      1      2  J:    1    2  K:    1    2  L:      1      1
+ -DELETE VAR      M:240 dset:   1 I:      2      4  J:    1    3  K:    1    2  L:      1      1
  dealloc  dynamic grid (G014)          (AX018)   (AX046)   ZAX1_2    TAX1_1
              VARIABLE : L*1000 + K*100 + J*10 + I
                         regrid: 2 delta on X, 2 delta on Y
@@ -43978,24 +44686,24 @@ LIST VAR[i=2:4:2,j=1:3:2]
  1   / 1:  1212.00  1214.00
  3   / 2:  1232.00  1234.00
 CANC MEM/ALL
- -DELETE VAR      M:141 dset:   1 I:    1    2  J:    1    2  K:    1    2  L:    1    1
- -DELETE VAR      M:153 dset:   1 I:    3    4  J:    2    3  K:    1    2  L:    1    1
+ -DELETE VAR      M:233 dset:   1 I:      1      2  J:    1    2  K:    1    2  L:      1      1
+ -DELETE VAR      M:245 dset:   1 I:      3      4  J:    2    3  K:    1    2  L:      1      1
  
 ! modulo requests cannot use strides (as this example shows)
 set axis/modulo XAX1_4
 LIST VAR[I=1:10:3,j=1,k=1,l=1]    ! 1, 4, 7(3), 10(2)
  dealloc  dynamic grid (G014)          (AX018)   (AX046)   ZAX1_2    TAX1_1
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G014)          (AX018)   YAX1_3    ZAX1_2    TAX1_1
  dealloc  dynamic grid (G014)          (AX018)   YAX1_3    ZAX1_2    TAX1_1
  allocate dynamic grid (G014)          (AX018)   YAX1_3    ZAX1_2    TAX1_1
- eval    EX#1     C:  4 dset:   1 I:    3    6  J:    2    4  K:    1    2  L:    1    1
+ eval    EX#1     C:  4 dset:   1 I:      3      6  J:    2    4  K:    1    2  L:      1      1
  allocate dynamic grid (G014)          (AX018)   YAX1_3    ZAX1_2    TAX1_1
  strip regrid on X: VAR --> (G014)           @XACT
- strip moduloing VAR on X axis:     1    10 dset:   1
- reading VAR      M:153 dset:   1 I:    1    4  J:    1    1  K:    1    1  L:    1    1
- doing moduloing VAR on X axis:     1     4 dset:   1
- regrid  VAR      M:148 dset:   1 I:    1    4  J:    1    1  K:    1    1  L:    1    1
+ strip moduloing VAR on X axis:        1       10 dset:   1
+ reading VAR      M:245 dset:   1 I:      1      4  J:    1    1  K:    1    1  L:      1      1
+ doing moduloing VAR on X axis:        1        4 dset:   1
+ regrid  VAR      M:240 dset:   1 I:      1      4  J:    1    1  K:    1    1  L:      1      1
  dealloc  dynamic grid (G014)          (AX018)   YAX1_3    ZAX1_2    TAX1_1
              VARIABLE : L*1000 + K*100 + J*10 + I
                         regrid: 3 delta on X
@@ -44011,23 +44719,23 @@ LIST VAR[I=1:10:3,j=1,k=1,l=1]    ! 1, 4, 7(3), 10(2)
  7    / 3:  1113.00
  10   / 4:  1112.00
 cancel axis/modulo XAX1_4
- -DELETE VAR      M:141 dset:   1 I:    1   10  J:    1    1  K:    1    1  L:    1    1
- -DELETE VAR      M:148 dset:   1 I:    1    4  J:    1    1  K:    1    1  L:    1    1
- -DELETE VAR      M:153 dset:   1 I:    1    4  J:    1    1  K:    1    1  L:    1    1
+ -DELETE VAR      M:233 dset:   1 I:      1     10  J:    1    1  K:    1    1  L:      1      1
+ -DELETE VAR      M:240 dset:   1 I:      1      4  J:    1    1  K:    1    1  L:      1      1
+ -DELETE VAR      M:245 dset:   1 I:      1      4  J:    1    1  K:    1    1  L:      1      1
  
 ! strides applied to more than one axis need special attention in IS_REGRID
 LIST VAR[i=2:4:2,j=1:3:2]
  dealloc  dynamic grid (G014)          (AX018)   YAX1_3    ZAX1_2    TAX1_1
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G014)          (AX046)   (AX045)   ZAX1_2    TAX1_1
  dealloc  dynamic grid (G014)          (AX046)   (AX045)   ZAX1_2    TAX1_1
  allocate dynamic grid (G014)          (AX046)   (AX045)   ZAX1_2    TAX1_1
- eval    EX#1     C:  4 dset:   1 I:    3    6  J:    2    4  K:    1    2  L:    1    1
+ eval    EX#1     C:  4 dset:   1 I:      3      6  J:    2    4  K:    1    2  L:      1      1
  allocate dynamic grid (G014)          (AX046)   (AX045)   ZAX1_2    TAX1_1
  strip regrid on X: VAR --> (G014)           @XACT
- rdstride VAR      C:  7 dset:   1 I:    2    4  J:    1    3  K:    1    2  L:    1    1
- nulrgd  VAR      M:148 dset:   1 I:    1    2  J:    1    2  K:    1    2  L:    1    1
- -DELETE VAR      M:153 dset:   1 I:    2    4  J:    1    3  K:    1    2  L:    1    1
+ rdstride VAR      C:  7 dset:   1 I:      2      4  J:    1    3  K:    1    2  L:      1      1
+ nulrgd  VAR      M:240 dset:   1 I:      1      2  J:    1    2  K:    1    2  L:      1      1
+ -DELETE VAR      M:245 dset:   1 I:      2      4  J:    1    3  K:    1    2  L:      1      1
  dealloc  dynamic grid (G014)          (AX046)   (AX045)   ZAX1_2    TAX1_1
              VARIABLE : L*1000 + K*100 + J*10 + I
                         regrid: 2 delta on X, 2 delta on Y
@@ -44044,17 +44752,17 @@ LIST VAR[i=2:4:2,j=1:3:2]
  3   / 2:  1232.00  1234.00
 LIST VAR[i=2:6:2,j=1:5:2]
  dealloc  dynamic grid (G014)          (AX046)   (AX045)   ZAX1_2    TAX1_1
- -DELETE VAR      M:148 dset:   1 I:    1    2  J:    1    2  K:    1    2  L:    1    1
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ -DELETE VAR      M:240 dset:   1 I:      1      2  J:    1    2  K:    1    2  L:      1      1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G014)          (AX046)   (AX018)   ZAX1_2    TAX1_1
  dealloc  dynamic grid (G014)          (AX046)   (AX018)   ZAX1_2    TAX1_1
  allocate dynamic grid (G014)          (AX046)   (AX018)   ZAX1_2    TAX1_1
- eval    EX#1     C:  4 dset:   1 I:    3    6  J:    2    4  K:    1    2  L:    1    1
+ eval    EX#1     C:  4 dset:   1 I:      3      6  J:    2    4  K:    1    2  L:      1      1
  allocate dynamic grid (G014)          (AX046)   (AX018)   ZAX1_2    TAX1_1
  strip regrid on X: VAR --> (G014)           @XACT
- rdstride VAR      C:  7 dset:   1 I:    2    4  J:    1    3  K:    1    2  L:    1    1
- nulrgd  VAR      M:153 dset:   1 I:    1    2  J:    1    2  K:    1    2  L:    1    1
- -DELETE VAR      M:148 dset:   1 I:    2    4  J:    1    3  K:    1    2  L:    1    1
+ rdstride VAR      C:  7 dset:   1 I:      2      4  J:    1    3  K:    1    2  L:      1      1
+ nulrgd  VAR      M:245 dset:   1 I:      1      2  J:    1    2  K:    1    2  L:      1      1
+ -DELETE VAR      M:240 dset:   1 I:      2      4  J:    1    3  K:    1    2  L:      1      1
  dealloc  dynamic grid (G014)          (AX046)   (AX018)   ZAX1_2    TAX1_1
              VARIABLE : L*1000 + K*100 + J*10 + I
                         regrid: 2 delta on X, 2 delta on Y
@@ -44073,22 +44781,22 @@ LIST VAR[i=2:6:2,j=1:5:2]
 ! test sub-region selection on strides axis
 let a = bigvar[i=1:40:5]
  dealloc  dynamic grid (G014)          (AX046)   (AX018)   ZAX1_2    TAX1_1
- -DELETE VAR      M:153 dset:   1 I:    1    2  J:    1    2  K:    1    2  L:    1    1
+ -DELETE VAR      M:245 dset:   1 I:      1      2  J:    1    2  K:    1    2  L:      1      1
 list/j=1/k=1/l=1 a[i=3:5]
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid A        C:  7 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid A        C:  7 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G014)          (AX046)   YAX1_30   ZAX1_20   TAX1_10
  dealloc  dynamic grid (G014)          (AX046)   YAX1_30   ZAX1_20   TAX1_10
  allocate dynamic grid (G014)          (AX046)   YAX1_30   ZAX1_20   TAX1_10
  allocate dynamic grid (G014)          (AX046)   YAX1_30   ZAX1_20   TAX1_10
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:    3    6  J:    1    1  K:    1    1  L:    1    1
- eval    A        C:  7 dset:   1 I:    3    5  J:    1    1  K:    1    1  L:    1    1
+ eval    EX#1     C:  5 dset:   1 I:      3      6  J:    1    1  K:    1    1  L:      1      1
+ eval    A        C:  7 dset:   1 I:      3      5  J:    1    1  K:    1    1  L:      1      1
  allocate dynamic grid (G014)          (AX046)   YAX1_30   ZAX1_20   TAX1_10
  strip regrid on X: BIGVAR --> (G014)           @XACT
- rdstride BIGVAR   C: 10 dset:   1 I:    1   36  J:    1    1  K:    1    1  L:    1    1
- nulrgd  BIGVAR   M:148 dset:   1 I:    1    8  J:    1    1  K:    1    1  L:    1    1
- -DELETE BIGVAR   M:153 dset:   1 I:    1   36  J:    1    1  K:    1    1  L:    1    1
+ rdstride BIGVAR   C: 10 dset:   1 I:      1     36  J:    1    1  K:    1    1  L:      1      1
+ nulrgd  BIGVAR   M:240 dset:   1 I:      1      8  J:    1    1  K:    1    1  L:      1      1
+ -DELETE BIGVAR   M:245 dset:   1 I:      1     36  J:    1    1  K:    1    1  L:      1      1
  dealloc  dynamic grid (G014)          (AX046)   YAX1_30   ZAX1_20   TAX1_10
              VARIABLE : BIGVAR[I=1:40:5]
              FILENAME : bn_strides.cdf
@@ -44101,25 +44809,25 @@ list/j=1/k=1/l=1 a[i=3:5]
  11   / 3:  1121.00
  16   / 4:  1126.00
  21   / 5:  1131.00
- -DELETE A        M:141 dset:   1 I:    1    1  J:    3    5  K:    1    1  L:    1    1
+ -DELETE A        M:233 dset:   1 I:      1      1  J:    3    5  K:    1    1  L:      1      1
 list/k=1/l=1 a[i=3:5,j=1:8:2]
  dealloc  dynamic grid (G014)          (AX046)   YAX1_30   ZAX1_20   TAX1_10
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G001)          (AX046)   (AX045)   ZAX1_20   TAX1_10
  dealloc  dynamic grid (G001)          (AX046)   (AX045)   ZAX1_20   TAX1_10
  allocate dynamic grid (G001)          (AX046)   (AX045)   ZAX1_20   TAX1_10
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:    3    6  J:    2    4  K:    1    1  L:    1    1
+ eval    EX#1     C:  5 dset:   1 I:      3      6  J:    2    4  K:    1    1  L:      1      1
  allocate dynamic grid (G001)          (AX046)   (AX045)   ZAX1_20   TAX1_10
  strip regrid on Y: A --> (G001)           @XACT
- eval    A        C:  8 dset:   1 I:    3    5  J:    1    7  K:    1    1  L:    1    1
+ eval    A        C:  8 dset:   1 I:      3      5  J:    1    7  K:    1    1  L:      1      1
  allocate dynamic grid (G014)          (AX046)   YAX1_30   ZAX1_20   TAX1_10
  strip regrid on X: BIGVAR --> (G014)           @XACT
- rdstride BIGVAR   C: 11 dset:   1 I:    1   36  J:    1    7  K:    1    1  L:    1    1
- nulrgd  BIGVAR   M:140 dset:   1 I:    1    8  J:    1    7  K:    1    1  L:    1    1
- -DELETE BIGVAR   M:141 dset:   1 I:    1   36  J:    1    7  K:    1    1  L:    1    1
+ rdstride BIGVAR   C: 11 dset:   1 I:      1     36  J:    1    7  K:    1    1  L:      1      1
+ nulrgd  BIGVAR   M:232 dset:   1 I:      1      8  J:    1    7  K:    1    1  L:      1      1
+ -DELETE BIGVAR   M:233 dset:   1 I:      1     36  J:    1    7  K:    1    1  L:      1      1
  dealloc  dynamic grid (G014)          (AX046)   YAX1_30   ZAX1_20   TAX1_10
- regrid  A        M:152 dset:   1 I:    3    5  J:    1    4  K:    1    1  L:    1    1
+ regrid  A        M:244 dset:   1 I:      3      5  J:    1    4  K:    1    1  L:      1      1
  dealloc  dynamic grid (G001)          (AX046)   (AX045)   ZAX1_20   TAX1_10
              VARIABLE : BIGVAR[I=1:40:5]
                         regrid: 2 delta on Y
@@ -44137,26 +44845,26 @@ list/k=1/l=1 a[i=3:5,j=1:8:2]
 ! ****** unequally spaced points on parent axis
  
 cancel mem/all
- -DELETE BIGVAR   M:140 dset:   1 I:    1    8  J:    1    7  K:    1    1  L:    1    1
- -DELETE A        M:141 dset:   1 I:    1    8  J:    1    7  K:    1    1  L:    1    1
- -DELETE BIGVAR   M:148 dset:   1 I:    1    8  J:    1    1  K:    1    1  L:    1    1
- -DELETE A        M:152 dset:   1 I:    3    5  J:    1    4  K:    1    1  L:    1    1
- -DELETE A        M:153 dset:   1 I:    1    8  J:    1    1  K:    1    1  L:    1    1
+ -DELETE BIGVAR   M:232 dset:   1 I:      1      8  J:    1    7  K:    1    1  L:      1      1
+ -DELETE A        M:233 dset:   1 I:      1      8  J:    1    7  K:    1    1  L:      1      1
+ -DELETE BIGVAR   M:240 dset:   1 I:      1      8  J:    1    1  K:    1    1  L:      1      1
+ -DELETE A        M:244 dset:   1 I:      3      5  J:    1    4  K:    1    1  L:      1      1
+ -DELETE A        M:245 dset:   1 I:      1      8  J:    1    1  K:    1    1  L:      1      1
  
 ! basic strides
 LIST/order=x/j=1/k=1/l=1 UNEVENVAR[i=2:4:2]
  dealloc  dynamic grid (G001)          (AX046)   (AX045)   ZAX1_20   TAX1_10
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G001)          (AX018)   YUNEVEN   ZAX1_6    TAX1_4
  dealloc  dynamic grid (G001)          (AX018)   YUNEVEN   ZAX1_6    TAX1_4
  allocate dynamic grid (G001)          (AX018)   YUNEVEN   ZAX1_6    TAX1_4
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:    3    6  J:    1    1  K:    1    1  L:    1    1
+ eval    EX#1     C:  5 dset:   1 I:      3      6  J:    1    1  K:    1    1  L:      1      1
  allocate dynamic grid (G001)          (AX018)   YUNEVEN   ZAX1_6    TAX1_4
  strip regrid on X: UNEVENVAR --> (G001)           @XACT
- rdstride UNE-NVAR C:  8 dset:   1 I:    2    4  J:    1    1  K:    1    1  L:    1    1
- nulrgd  UNE-NVAR M:152 dset:   1 I:    1    2  J:    1    1  K:    1    1  L:    1    1
- -DELETE UNE-NVAR M:153 dset:   1 I:    2    4  J:    1    1  K:    1    1  L:    1    1
+ rdstride UNE-NVAR C:  8 dset:   1 I:      2      4  J:    1    1  K:    1    1  L:      1      1
+ nulrgd  UNE-NVAR M:244 dset:   1 I:      1      2  J:    1    1  K:    1    1  L:      1      1
+ -DELETE UNE-NVAR M:245 dset:   1 I:      2      4  J:    1    1  K:    1    1  L:      1      1
  dealloc  dynamic grid (G001)          (AX018)   YUNEVEN   ZAX1_6    TAX1_4
              VARIABLE : L*1000 + K*100 + J[GY=YUNEVEN]*10 + I[GX=XUNEVEN]
                         regrid: on X
@@ -44176,17 +44884,17 @@ set region/i=3:6/j=2:4/k=1:2/l=1
 use/order=yx bn_strides
 list bigvar[i=3:9:2, j=2:6:2, k=1:3:2]
  dealloc  dynamic grid (G001)          (AX018)   YUNEVEN   ZAX1_6    TAX1_4
- -DELETE UNE-NVAR M:152 dset:   1 I:    1    2  J:    1    1  K:    1    1  L:    1    1
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ -DELETE UNE-NVAR M:244 dset:   1 I:      1      2  J:    1    1  K:    1    1  L:      1      1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G001)          (AX045)   (AX047)   (AX048)   TAX1_10
  dealloc  dynamic grid (G001)          (AX045)   (AX047)   (AX048)   TAX1_10
  allocate dynamic grid (G001)          (AX045)   (AX047)   (AX048)   TAX1_10
- eval    EX#1     C:  4 dset:   1 I:    3    6  J:    2    4  K:    1    2  L:    1    1
+ eval    EX#1     C:  4 dset:   1 I:      3      6  J:    2    4  K:    1    2  L:      1      1
  allocate dynamic grid (G001)          (AX045)   (AX047)   (AX048)   TAX1_10
  strip regrid on X: BIGVAR --> (G001)           @XACT
- rdstride BIGVAR   C:  7 dset:   1 I:    3    9  J:    2    6  K:    1    3  L:    1    1
- nulrgd  BIGVAR   M:153 dset:   1 I:    1    4  J:    1    3  K:    1    2  L:    1    1
- -DELETE BIGVAR   M:152 dset:   1 I:    3    9  J:    2    6  K:    1    3  L:    1    1
+ rdstride BIGVAR   C:  7 dset:   1 I:      3      9  J:    2    6  K:    1    3  L:      1      1
+ nulrgd  BIGVAR   M:245 dset:   1 I:      1      4  J:    1    3  K:    1    2  L:      1      1
+ -DELETE BIGVAR   M:244 dset:   1 I:      3      9  J:    2    6  K:    1    3  L:      1      1
  dealloc  dynamic grid (G001)          (AX045)   (AX047)   (AX048)   TAX1_10
              VARIABLE : VAR
                         regrid: 2 delta on X, 2 delta on Y, 2 delta on Z
@@ -44205,22 +44913,22 @@ list bigvar[i=3:9:2, j=2:6:2, k=1:3:2]
  6   / 3:  1363.00  1365.00  1367.00  1369.00
 canc data/all
  dealloc  dynamic grid (G001)          (AX045)   (AX047)   (AX048)   TAX1_10
- -DELETE BIGVAR   M:153 dset:   1 I:    1    4  J:    1    3  K:    1    2  L:    1    1
+ -DELETE BIGVAR   M:245 dset:   1 I:      1      4  J:    1    3  K:    1    2  L:      1      1
  dealloc  dynamic grid (G014)          (AX046)   YAX1_30   ZAX1_20   TAX1_10
  canceling dset ./bn_strides.cdf
  
 use/order=zyx bn_strides
 list bigvar[i=3:9:2, j=2:6:2, k=1:3:2]
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G014)          (AX048)   (AX047)   (AX045)   TAX1_10
  dealloc  dynamic grid (G014)          (AX048)   (AX047)   (AX045)   TAX1_10
  allocate dynamic grid (G014)          (AX048)   (AX047)   (AX045)   TAX1_10
- eval    EX#1     C:  4 dset:   1 I:    3    6  J:    2    4  K:    1    2  L:    1    1
+ eval    EX#1     C:  4 dset:   1 I:      3      6  J:    2    4  K:    1    2  L:      1      1
  allocate dynamic grid (G014)          (AX048)   (AX047)   (AX045)   TAX1_10
  strip regrid on X: BIGVAR --> (G014)           @XACT
- rdstride BIGVAR   C:  7 dset:   1 I:    3    9  J:    2    6  K:    1    3  L:    1    1
- nulrgd  BIGVAR   M:152 dset:   1 I:    1    4  J:    1    3  K:    1    2  L:    1    1
- -DELETE BIGVAR   M:153 dset:   1 I:    3    9  J:    2    6  K:    1    3  L:    1    1
+ rdstride BIGVAR   C:  7 dset:   1 I:      3      9  J:    2    6  K:    1    3  L:      1      1
+ nulrgd  BIGVAR   M:244 dset:   1 I:      1      4  J:    1    3  K:    1    2  L:      1      1
+ -DELETE BIGVAR   M:245 dset:   1 I:      3      9  J:    2    6  K:    1    3  L:      1      1
  dealloc  dynamic grid (G014)          (AX048)   (AX047)   (AX045)   TAX1_10
              VARIABLE : VAR
                         regrid: 2 delta on X, 2 delta on Y, 2 delta on Z
@@ -44239,7 +44947,7 @@ list bigvar[i=3:9:2, j=2:6:2, k=1:3:2]
  6   / 3:  1363.00  1563.00  1763.00  1963.00
 canc data/all
  dealloc  dynamic grid (G014)          (AX048)   (AX047)   (AX045)   TAX1_10
- -DELETE BIGVAR   M:152 dset:   1 I:    1    4  J:    1    3  K:    1    2  L:    1    1
+ -DELETE BIGVAR   M:244 dset:   1 I:      1      4  J:    1    3  K:    1    2  L:      1      1
  canceling dset ./bn_strides.cdf
  
 ! now with xytvar
@@ -44248,16 +44956,16 @@ set region/i=1:4/j=1:3/l=1:2
 use bn_strides
  
 list xytvar[i=1:7:2,j=2:6:2,l=3:5:2]
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G014)          (AX047)   (AX048)   NORMAL    (AX046)
  dealloc  dynamic grid (G014)          (AX047)   (AX048)   NORMAL    (AX046)
  allocate dynamic grid (G014)          (AX047)   (AX048)   NORMAL    (AX046)
- eval    EX#1     C:  4 dset:   1 I:    1    4  J:    1    3  K: -999 -999  L:    1    2
+ eval    EX#1     C:  4 dset:   1 I:      1      4  J:    1    3  K: -999 -999  L:      1      2
  allocate dynamic grid (G014)          (AX047)   (AX048)   NORMAL    (AX046)
  strip regrid on X: XYTVAR --> (G014)           @XACT
- rdstride XYTVAR   C:  7 dset:   1 I:    1    7  J:    2    6  K: -999 -999  L:    3    5
- nulrgd  XYTVAR   M:153 dset:   1 I:    1    4  J:    1    3  K: -999 -999  L:    1    2
- -DELETE XYTVAR   M:152 dset:   1 I:    1    7  J:    2    6  K: -999 -999  L:    3    5
+ rdstride XYTVAR   C:  7 dset:   1 I:      1      7  J:    2    6  K: -999 -999  L:      3      5
+ nulrgd  XYTVAR   M:245 dset:   1 I:      1      4  J:    1    3  K: -999 -999  L:      1      2
+ -DELETE XYTVAR   M:244 dset:   1 I:      1      7  J:    2    6  K: -999 -999  L:      3      5
  dealloc  dynamic grid (G014)          (AX047)   (AX048)   NORMAL    (AX046)
              VARIABLE : L*1000 + J*10 + I
                         regrid: 2 deg on X, 2 deg on Y, 2 day on T
@@ -44277,8 +44985,8 @@ list xytvar[i=1:7:2,j=2:6:2,l=3:5:2]
 use/order=tyx bn_strides
 show grid xytvar
  dealloc  dynamic grid (G014)          (AX047)   (AX048)   NORMAL    (AX046)
- -DELETE XYTVAR   M:153 dset:   1 I:    1    4  J:    1    3  K: -999 -999  L:    1    2
- getgrid EX#1     C:  7 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ -DELETE XYTVAR   M:245 dset:   1 I:      1      4  J:    1    3  K: -999 -999  L:      1      2
+ getgrid EX#1     C:  7 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
     GRID EGRID
  name       axis              # pts   start                end                 subset
  XLON      LONGITUDE           40mr   141E                 180E                full
@@ -44288,16 +44996,16 @@ show grid xytvar
  
 list xytvar[i=1:7:2,j=2:6:2,l=3:5:2]
  dealloc  dynamic grid EGRID           XLON      YLAT      NORMAL    TTIME
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G014)          (AX048)   (AX047)   NORMAL    (AX045)
  dealloc  dynamic grid (G014)          (AX048)   (AX047)   NORMAL    (AX045)
  allocate dynamic grid (G014)          (AX048)   (AX047)   NORMAL    (AX045)
- eval    EX#1     C:  4 dset:   1 I:    1    4  J:    1    3  K: -999 -999  L:    1    2
+ eval    EX#1     C:  4 dset:   1 I:      1      4  J:    1    3  K: -999 -999  L:      1      2
  allocate dynamic grid (G014)          (AX048)   (AX047)   NORMAL    (AX045)
  strip regrid on X: XYTVAR --> (G014)           @XACT
- rdstride XYTVAR   C:  7 dset:   1 I:    1    7  J:    2    6  K: -999 -999  L:    3    5
- nulrgd  XYTVAR   M:152 dset:   1 I:    1    4  J:    1    3  K: -999 -999  L:    1    2
- -DELETE XYTVAR   M:153 dset:   1 I:    1    7  J:    2    6  K: -999 -999  L:    3    5
+ rdstride XYTVAR   C:  7 dset:   1 I:      1      7  J:    2    6  K: -999 -999  L:      3      5
+ nulrgd  XYTVAR   M:244 dset:   1 I:      1      4  J:    1    3  K: -999 -999  L:      1      2
+ -DELETE XYTVAR   M:245 dset:   1 I:      1      7  J:    2    6  K: -999 -999  L:      3      5
  dealloc  dynamic grid (G014)          (AX048)   (AX047)   NORMAL    (AX045)
              VARIABLE : L*1000 + J*10 + I
                         regrid: 2 deg on X, 2 deg on Y, 2 day on T
@@ -44315,13 +45023,13 @@ list xytvar[i=1:7:2,j=2:6:2,l=3:5:2]
  2N   / 1:  5021.00  5023.00  5025.00  5027.00
 canc data/all
  dealloc  dynamic grid (G014)          (AX048)   (AX047)   NORMAL    (AX045)
- -DELETE XYTVAR   M:152 dset:   1 I:    1    4  J:    1    3  K: -999 -999  L:    1    2
+ -DELETE XYTVAR   M:244 dset:   1 I:      1      4  J:    1    3  K: -999 -999  L:      1      2
  canceling dset ./bn_strides.cdf
  
 ! map into Z instead of T
 use/order=zxy bn_strides
 show grid xytvar
- getgrid EX#1     C:  7 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  7 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GPC5            TTIME     XLON      YLAT      NORMAL
     GRID GPC5
  name       axis              # pts   start                end                 subset
@@ -44332,16 +45040,16 @@ show grid xytvar
  
 list xytvar[i=1:7:2,j=2:6:2,k=3:5:2]
  dealloc  dynamic grid GPC5            TTIME     XLON      YLAT      NORMAL
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G014)          (AX047)   (AX048)   (AX046)   NORMAL
  dealloc  dynamic grid (G014)          (AX047)   (AX048)   (AX046)   NORMAL
  allocate dynamic grid (G014)          (AX047)   (AX048)   (AX046)   NORMAL
- eval    EX#1     C:  4 dset:   1 I:    1    4  J:    1    3  K:    1    2  L:    1    2
+ eval    EX#1     C:  4 dset:   1 I:      1      4  J:    1    3  K:    1    2  L:      1      2
  allocate dynamic grid (G014)          (AX047)   (AX048)   (AX046)   NORMAL
  strip regrid on X: XYTVAR --> (G014)           @XACT
- rdstride XYTVAR   C:  7 dset:   1 I:    1    7  J:    2    6  K:    3    5  L: -999 -999
- nulrgd  XYTVAR   M:153 dset:   1 I:    1    4  J:    1    3  K:    1    2  L: -999 -999
- -DELETE XYTVAR   M:152 dset:   1 I:    1    7  J:    2    6  K:    3    5  L: -999 -999
+ rdstride XYTVAR   C:  7 dset:   1 I:      1      7  J:    2    6  K:    3    5  L:   -999   -999
+ nulrgd  XYTVAR   M:245 dset:   1 I:      1      4  J:    1    3  K:    1    2  L:   -999   -999
+ -DELETE XYTVAR   M:244 dset:   1 I:      1      7  J:    2    6  K:    3    5  L:   -999   -999
  dealloc  dynamic grid (G014)          (AX047)   (AX048)   (AX046)   NORMAL
              VARIABLE : L*1000 + J*10 + I
                         regrid: 2 day on X, 2 deg on Y, 2 deg on Z
@@ -44359,7 +45067,7 @@ list xytvar[i=1:7:2,j=2:6:2,k=3:5:2]
  146   / 3:  1056.00  3056.00  5056.00  7056.00
 canc data/all
  dealloc  dynamic grid (G014)          (AX047)   (AX048)   (AX046)   NORMAL
- -DELETE XYTVAR   M:153 dset:   1 I:    1    4  J:    1    3  K:    1    2  L: -999 -999
+ -DELETE XYTVAR   M:245 dset:   1 I:      1      4  J:    1    3  K:    1    2  L:   -999   -999
  canceling dset ./bn_strides.cdf
  
  
@@ -44368,16 +45076,16 @@ cancel region; set region/l=1
 ! reference output
 use/order=yx bn_strides
 list midvar[i=1:5:4, j=2:5:3, k=3:5:2]
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G014)          (AX048)   (AX047)   (AX045)   TAX1_6
  dealloc  dynamic grid (G014)          (AX048)   (AX047)   (AX045)   TAX1_6
  allocate dynamic grid (G014)          (AX048)   (AX047)   (AX045)   TAX1_6
- eval    EX#1     C:  4 dset:   1 I:    1    2  J:    1    2  K:    1    2  L:    1    1
+ eval    EX#1     C:  4 dset:   1 I:      1      2  J:    1    2  K:    1    2  L:      1      1
  allocate dynamic grid (G014)          (AX048)   (AX047)   (AX045)   TAX1_6
  strip regrid on X: MIDVAR --> (G014)           @XACT
- rdstride MIDVAR   C:  7 dset:   1 I:    1    5  J:    2    5  K:    3    5  L:    1    1
- nulrgd  MIDVAR   M:152 dset:   1 I:    1    2  J:    1    2  K:    1    2  L:    1    1
- -DELETE MIDVAR   M:153 dset:   1 I:    1    5  J:    2    5  K:    3    5  L:    1    1
+ rdstride MIDVAR   C:  7 dset:   1 I:      1      5  J:    2    5  K:    3    5  L:      1      1
+ nulrgd  MIDVAR   M:244 dset:   1 I:      1      2  J:    1    2  K:    1    2  L:      1      1
+ -DELETE MIDVAR   M:245 dset:   1 I:      1      5  J:    2    5  K:    3    5  L:      1      1
  dealloc  dynamic grid (G014)          (AX048)   (AX047)   (AX045)   TAX1_6
              VARIABLE : VAR
                         regrid: 4 delta on X, 3 delta on Y, 2 delta on Z
@@ -44394,24 +45102,24 @@ list midvar[i=1:5:4, j=2:5:3, k=3:5:2]
  5   / 2:  1515.00  1555.00
 canc data/all
  dealloc  dynamic grid (G014)          (AX048)   (AX047)   (AX045)   TAX1_6
- -DELETE MIDVAR   M:152 dset:   1 I:    1    2  J:    1    2  K:    1    2  L:    1    1
+ -DELETE MIDVAR   M:244 dset:   1 I:      1      2  J:    1    2  K:    1    2  L:      1      1
  canceling dset ./bn_strides.cdf
  
 use/order=-yx bn_strides
 list midvar[i=1:5:4, j=2:5:3, k=3:5:2]
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G014)          (AX047)   (AX048)   (AX046)   TAX1_6
  dealloc  dynamic grid (G014)          (AX047)   (AX048)   (AX046)   TAX1_6
  allocate dynamic grid (G014)          (AX047)   (AX048)   (AX046)   TAX1_6
- eval    EX#1     C:  4 dset:   1 I:    1    2  J:    1    2  K:    1    2  L:    1    1
+ eval    EX#1     C:  4 dset:   1 I:      1      2  J:    1    2  K:    1    2  L:      1      1
  allocate dynamic grid (G014)          (AX047)   (AX048)   (AX046)   TAX1_6
  strip regrid on X: MIDVAR --> (G014)           @XACT
- strip reversing MIDVAR on Y axis:     2     5 dset:   1
- rdstride MIDVAR   C:  8 dset:   1 I:    1    5  J:    5    8  K:    3    5  L:    1    1
- doing reversing MIDVAR on Y axis:     2     5 dset:   1
- -DELETE MIDVAR   M:152 dset:   1 I:    1    5  J:    2    5  K:    3    5  L:    1    1
- nulrgd  MIDVAR   M:152 dset:   1 I:    1    2  J:    1    2  K:    1    2  L:    1    1
- -DELETE MIDVAR   M:153 dset:   1 I:    1    5  J:    2    5  K:    3    5  L:    1    1
+ strip reversing MIDVAR on Y axis:        2        5 dset:   1
+ rdstride MIDVAR   C:  8 dset:   1 I:      1      5  J:    5    8  K:    3    5  L:      1      1
+ doing reversing MIDVAR on Y axis:        2        5 dset:   1
+ -DELETE MIDVAR   M:244 dset:   1 I:      1      5  J:    2    5  K:    3    5  L:      1      1
+ nulrgd  MIDVAR   M:244 dset:   1 I:      1      2  J:    1    2  K:    1    2  L:      1      1
+ -DELETE MIDVAR   M:245 dset:   1 I:      1      5  J:    2    5  K:    3    5  L:      1      1
  dealloc  dynamic grid (G014)          (AX047)   (AX048)   (AX046)   TAX1_6
              VARIABLE : VAR
                         regrid: 4 delta on X, 3 delta on Y, 2 delta on Z
@@ -44428,22 +45136,22 @@ list midvar[i=1:5:4, j=2:5:3, k=3:5:2]
  5   / 2:  1515.00  1555.00
 canc data/all
  dealloc  dynamic grid (G014)          (AX047)   (AX048)   (AX046)   TAX1_6
- -DELETE MIDVAR   M:152 dset:   1 I:    1    2  J:    1    2  K:    1    2  L:    1    1
+ -DELETE MIDVAR   M:244 dset:   1 I:      1      2  J:    1    2  K:    1    2  L:      1      1
  canceling dset ./bn_strides.cdf
  
 ! reference output
 use/order=tyx bn_strides
 list midvar[i=1:5:4, j=2:5:3, k=3:5:2]
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G014)          (AX048)   (AX047)   (AX045)   ZAX1_7
  dealloc  dynamic grid (G014)          (AX048)   (AX047)   (AX045)   ZAX1_7
  allocate dynamic grid (G014)          (AX048)   (AX047)   (AX045)   ZAX1_7
- eval    EX#1     C:  4 dset:   1 I:    1    2  J:    1    2  K:    1    2  L:    1    1
+ eval    EX#1     C:  4 dset:   1 I:      1      2  J:    1    2  K:    1    2  L:      1      1
  allocate dynamic grid (G014)          (AX048)   (AX047)   (AX045)   ZAX1_7
  strip regrid on X: MIDVAR --> (G014)           @XACT
- rdstride MIDVAR   C:  7 dset:   1 I:    1    5  J:    2    5  K:    3    5  L:    1    1
- nulrgd  MIDVAR   M:153 dset:   1 I:    1    2  J:    1    2  K:    1    2  L:    1    1
- -DELETE MIDVAR   M:152 dset:   1 I:    1    5  J:    2    5  K:    3    5  L:    1    1
+ rdstride MIDVAR   C:  7 dset:   1 I:      1      5  J:    2    5  K:    3    5  L:      1      1
+ nulrgd  MIDVAR   M:245 dset:   1 I:      1      2  J:    1    2  K:    1    2  L:      1      1
+ -DELETE MIDVAR   M:244 dset:   1 I:      1      5  J:    2    5  K:    3    5  L:      1      1
  dealloc  dynamic grid (G014)          (AX048)   (AX047)   (AX045)   ZAX1_7
              VARIABLE : VAR
                         regrid: 4 delta on X, 3 delta on Y, 2 delta on Z
@@ -44460,25 +45168,25 @@ list midvar[i=1:5:4, j=2:5:3, k=3:5:2]
  5   / 2:  1155.00  5155.00
 canc data/all
  dealloc  dynamic grid (G014)          (AX048)   (AX047)   (AX045)   ZAX1_7
- -DELETE MIDVAR   M:153 dset:   1 I:    1    2  J:    1    2  K:    1    2  L:    1    1
+ -DELETE MIDVAR   M:245 dset:   1 I:      1      2  J:    1    2  K:    1    2  L:      1      1
  canceling dset ./bn_strides.cdf
  
 ! note the reversal on axes 1,2 and 3 (X,Y,Z in memory -- NOT T)
 use/order=-t-y-x bn_strides
 list midvar[i=1:5:4, j=2:5:3, k=3:5:2]
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G014)          (AX047)   (AX048)   (AX046)   ZAX1_7
  dealloc  dynamic grid (G014)          (AX047)   (AX048)   (AX046)   ZAX1_7
  allocate dynamic grid (G014)          (AX047)   (AX048)   (AX046)   ZAX1_7
- eval    EX#1     C:  4 dset:   1 I:    1    2  J:    1    2  K:    1    2  L:    1    1
+ eval    EX#1     C:  4 dset:   1 I:      1      2  J:    1    2  K:    1    2  L:      1      1
  allocate dynamic grid (G014)          (AX047)   (AX048)   (AX046)   ZAX1_7
  strip regrid on X: MIDVAR --> (G014)           @XACT
- strip reversing MIDVAR on X axis:     1     5 dset:   1
- rdstride MIDVAR   C:  8 dset:   1 I:    2    6  J:    4    7  K:    3    5  L:    7    7
- doing reversing MIDVAR on X axis:     1     5 dset:   1
- -DELETE MIDVAR   M:153 dset:   1 I:    1    5  J:    2    5  K:    3    5  L:    1    1
- nulrgd  MIDVAR   M:153 dset:   1 I:    1    2  J:    1    2  K:    1    2  L:    1    1
- -DELETE MIDVAR   M:152 dset:   1 I:    1    5  J:    2    5  K:    3    5  L:    1    1
+ strip reversing MIDVAR on X axis:        1        5 dset:   1
+ rdstride MIDVAR   C:  8 dset:   1 I:      2      6  J:    4    7  K:    3    5  L:      7      7
+ doing reversing MIDVAR on X axis:        1        5 dset:   1
+ -DELETE MIDVAR   M:245 dset:   1 I:      1      5  J:    2    5  K:    3    5  L:      1      1
+ nulrgd  MIDVAR   M:245 dset:   1 I:      1      2  J:    1    2  K:    1    2  L:      1      1
+ -DELETE MIDVAR   M:244 dset:   1 I:      1      5  J:    2    5  K:    3    5  L:      1      1
  dealloc  dynamic grid (G014)          (AX047)   (AX048)   (AX046)   ZAX1_7
              VARIABLE : VAR
                         regrid: 4 delta on X, 3 delta on Y, 2 delta on Z
@@ -44495,22 +45203,22 @@ list midvar[i=1:5:4, j=2:5:3, k=3:5:2]
  5   / 2:  6745.00  2745.00
 canc data/all
  dealloc  dynamic grid (G014)          (AX047)   (AX048)   (AX046)   ZAX1_7
- -DELETE MIDVAR   M:153 dset:   1 I:    1    2  J:    1    2  K:    1    2  L:    1    1
+ -DELETE MIDVAR   M:245 dset:   1 I:      1      2  J:    1    2  K:    1    2  L:      1      1
  canceling dset ./bn_strides.cdf
  
 ! reference output
 use/order=txy bn_strides
 list midvar[i=1:5:4, j=2:5:3, k=3:5:2]
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G014)          (AX048)   (AX047)   (AX045)   ZAX1_7
  dealloc  dynamic grid (G014)          (AX048)   (AX047)   (AX045)   ZAX1_7
  allocate dynamic grid (G014)          (AX048)   (AX047)   (AX045)   ZAX1_7
- eval    EX#1     C:  4 dset:   1 I:    1    2  J:    1    2  K:    1    2  L:    1    1
+ eval    EX#1     C:  4 dset:   1 I:      1      2  J:    1    2  K:    1    2  L:      1      1
  allocate dynamic grid (G014)          (AX048)   (AX047)   (AX045)   ZAX1_7
  strip regrid on X: MIDVAR --> (G014)           @XACT
- rdstride MIDVAR   C:  7 dset:   1 I:    1    5  J:    2    5  K:    3    5  L:    1    1
- nulrgd  MIDVAR   M:152 dset:   1 I:    1    2  J:    1    2  K:    1    2  L:    1    1
- -DELETE MIDVAR   M:153 dset:   1 I:    1    5  J:    2    5  K:    3    5  L:    1    1
+ rdstride MIDVAR   C:  7 dset:   1 I:      1      5  J:    2    5  K:    3    5  L:      1      1
+ nulrgd  MIDVAR   M:244 dset:   1 I:      1      2  J:    1    2  K:    1    2  L:      1      1
+ -DELETE MIDVAR   M:245 dset:   1 I:      1      5  J:    2    5  K:    3    5  L:      1      1
  dealloc  dynamic grid (G014)          (AX048)   (AX047)   (AX045)   ZAX1_7
              VARIABLE : VAR
                         regrid: 4 delta on X, 3 delta on Y, 2 delta on Z
@@ -44527,24 +45235,24 @@ list midvar[i=1:5:4, j=2:5:3, k=3:5:2]
  5   / 2:  1155.00  5155.00
 canc data/all
  dealloc  dynamic grid (G014)          (AX048)   (AX047)   (AX045)   ZAX1_7
- -DELETE MIDVAR   M:152 dset:   1 I:    1    2  J:    1    2  K:    1    2  L:    1    1
+ -DELETE MIDVAR   M:244 dset:   1 I:      1      2  J:    1    2  K:    1    2  L:      1      1
  canceling dset ./bn_strides.cdf
  
 use/order=-t-x-y bn_strides
 list midvar[i=1:5:4, j=2:5:3, k=3:5:2]
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G014)          (AX047)   (AX048)   (AX046)   ZAX1_7
  dealloc  dynamic grid (G014)          (AX047)   (AX048)   (AX046)   ZAX1_7
  allocate dynamic grid (G014)          (AX047)   (AX048)   (AX046)   ZAX1_7
- eval    EX#1     C:  4 dset:   1 I:    1    2  J:    1    2  K:    1    2  L:    1    1
+ eval    EX#1     C:  4 dset:   1 I:      1      2  J:    1    2  K:    1    2  L:      1      1
  allocate dynamic grid (G014)          (AX047)   (AX048)   (AX046)   ZAX1_7
  strip regrid on X: MIDVAR --> (G014)           @XACT
- strip reversing MIDVAR on Y axis:     2     5 dset:   1
- rdstride MIDVAR   C:  8 dset:   1 I:    2    6  J:    5    8  K:    3    5  L:    7    7
- doing reversing MIDVAR on Y axis:     2     5 dset:   1
- -DELETE MIDVAR   M:152 dset:   1 I:    1    5  J:    2    5  K:    3    5  L:    1    1
- nulrgd  MIDVAR   M:152 dset:   1 I:    1    2  J:    1    2  K:    1    2  L:    1    1
- -DELETE MIDVAR   M:153 dset:   1 I:    1    5  J:    2    5  K:    3    5  L:    1    1
+ strip reversing MIDVAR on Y axis:        2        5 dset:   1
+ rdstride MIDVAR   C:  8 dset:   1 I:      2      6  J:    5    8  K:    3    5  L:      7      7
+ doing reversing MIDVAR on Y axis:        2        5 dset:   1
+ -DELETE MIDVAR   M:244 dset:   1 I:      1      5  J:    2    5  K:    3    5  L:      1      1
+ nulrgd  MIDVAR   M:244 dset:   1 I:      1      2  J:    1    2  K:    1    2  L:      1      1
+ -DELETE MIDVAR   M:245 dset:   1 I:      1      5  J:    2    5  K:    3    5  L:      1      1
  dealloc  dynamic grid (G014)          (AX047)   (AX048)   (AX046)   ZAX1_7
              VARIABLE : VAR
                         regrid: 4 delta on X, 3 delta on Y, 2 delta on Z
@@ -44561,12 +45269,13 @@ list midvar[i=1:5:4, j=2:5:3, k=3:5:2]
  5   / 2:  6755.00  2755.00
 canc data/all
  dealloc  dynamic grid (G014)          (AX047)   (AX048)   (AX046)   ZAX1_7
- -DELETE MIDVAR   M:152 dset:   1 I:    1    2  J:    1    2  K:    1    2  L:    1    1
+ -DELETE MIDVAR   M:244 dset:   1 I:      1      2  J:    1    2  K:    1    2  L:      1      1
  canceling dset ./bn_strides.cdf
  
 ! DEFINE AXIS can get the axis too long (bug 673)
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err553_axis_too_long.jnl
 ! From Ned Cokelet
 ! First definition of axis had last grid cell completely
@@ -44597,6 +45306,7 @@ LIST X[GX=x_ax], XBOXLO[GX=x_ax], XBOXHI[GX=x_ax]
 ! non-centered shade key
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err553_lev_c.jnl
  ! under linux only, this has a non-centered shade key
  
@@ -44626,6 +45336,7 @@ ppl list shakey
 ! At lon = 0, we used to have an E; remove this.
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err553_lon_ax_0_label.jnl
 ! Label longitude axes with the degree sign only
 ! at x=0 (previously had an E).
@@ -44639,6 +45350,7 @@ shade/x=-20:20/y=-40:40/L=1 sst
 ! Errors listing string and numeric data together
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err553_list_string_numeric.jnl
 ! err553_list_string_numeric.jnl
 ! 2/2004 ACM
@@ -44734,6 +45446,7 @@ list/i=3:4/l=1:2 b, c, v
 ! Bug in setting axis to depth when reading from nc file
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err553_set_axis_depth.jnl
  ! NOAA/PMEL TMAP
  ! FERRET v5.53
@@ -44753,6 +45466,7 @@ q
 ! Set symbols showing levels settings when poly command is called
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err553_symbol_lev.jnl
 ! err553_symbol_lev.jnl
 ! 2/2004 ACM
@@ -44810,6 +45524,7 @@ can sym lev*
 ! Fixes for modulo striding bugs
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err553_stride_modulo.jnl
 ! err553_stride_modulo_neg.jnl
 ! *acm* 3/31/2004
@@ -44912,6 +45627,7 @@ can mem; list/y=0 var[i=68]
 ! Fixes bug creating format for listing a very long line
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err553_list_width.jnl
 ! err553_list_width.jnl
 ! *acm* 4/1/2004
@@ -44941,8 +45657,10 @@ can mode ignore
  
 ! ******** V5.7 Additions below ***********
  
-GO bn_reset
+GO bn_reset bn_bounds.jnl
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_bounds.jnl
 GO bn_bounds.jnl
  
 ! bn_bounds.jnl
@@ -45306,8 +46024,10 @@ sh axis/t tax
        4>  10                    1          9.5
        5>  11                    1          10.5
  
-GO bn_reset
+GO bn_reset bn_all_leap.jnl
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_all_leap.jnl
 GO bn_all_leap.jnl
 ! bn_all_leap.jnl
 ! ACM 6/2004
@@ -45359,8 +46079,10 @@ def axis/t/cal=nogood/t=1-jan-2000:1-jan-2010:1/units=months tax
  
 can mode ignore
  
-GO bn_reset
+GO bn_reset bn_reset_attributes.jnl
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_reset_attributes.jnl
 GO bn_reset_attributes.jnl
 ! bn_reset_attributes.jnl
 ! acm 6/14/2004
@@ -45707,8 +46429,10 @@ list x[gx=xax]
  120E   / 7:  120.000
  
  
-GO bn_reset
+GO bn_reset bn570_bug_fixes.jnl
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn570_bug_fixes.jnl
 GO bn570_bug_fixes.jnl
 ! bn554_bug_fixes.jnl
 ! test various fixes that went into version 5.70
@@ -45718,6 +46442,7 @@ GO bn570_bug_fixes.jnl
 ! Test use of automatic levels in SHADE
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err560_shade_levels.jnl
 ! err560_shade_levels.jnl  *acm* 4/28/04
 ! Missing levels on SHADE auto-level
@@ -45732,6 +46457,7 @@ set view lower; shade/i=1:10/j=1:10 -1*i*j*0.0034
 ! Test use of reading irregular-time mc datasets
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err560_mc_irreg_t.jnl
 ! err560_mc_irreg_t.jnl
 ! 4/2004  ACM
@@ -45768,6 +46494,7 @@ list/x=180/y=0/t=2000 sst
 ! Crashed on SHADE of variable with NOLEAP axis, and subregion.
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err560_shade_noleap.jnl
 ! err560_shade_noleap.jnl
 ! 4/30/04 ACM
@@ -45785,6 +46512,7 @@ shade/t=4-jan-2000:10-nov-2000 a
 ! -111, was treated as missing rather than a valid index.
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err560_regridding_gaps.jnl
 ! err560_regrid
 !
@@ -45910,6 +46638,7 @@ sp rm xlongshift.nc
 ! bug in drawing the time axis.
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err560_leap_years.jnl
 ! err560_leap_years.jnl
 ! Fixes for bug 882, inconsistency in computing whether
@@ -45928,6 +46657,7 @@ plot v[gt=tax at asn]
 ! Century portion of years were not properly tested in numdm1.F
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err560_century
 ! err560_century.jnl.jnl  *acm* 4/28/04
 ! Century portion of years were not properly tested in numdm1.F
@@ -45949,8 +46679,10 @@ plot t[gt=tt]
  
 ! ******** V5.8 Additions below ***********
  
-GO bn_reset
+GO bn_reset bn_modstats.jnl
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_modstats.jnl
 GO bn_modstats.jnl
 ! bn_modstats.jnl
 ! acm 8/25/04
@@ -46099,8 +46831,10 @@ list var[gt=month_reg at modngd]
  15-NOV      / 11:  10.0000
  16-DEC      / 12:  10.0000
  
-GO bn_reset
+GO bn_reset bn_mc_vary_scale.jnl
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_mc_vary_scale.jnl
 GO bn_mc_vary_scale.jnl
 ! bn_mc_vary_scale.jnl
 !   Allow stepfiles to have different internal scale and offset.
@@ -46180,8 +46914,10 @@ list/quiet/nohead `tt,return=nc_scale`, `tt,return=nc_offset`
 I / *:     2.00000 -0.0200000
  
  
-GO bn_reset
+GO bn_reset bn_plot_nokey.jnl
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_plot_nokey.jnl
 GO bn_plot_nokey.jnl
 ! bn_plot_nokey.jnl (bug 1089)
 ! 22-nov-2004
@@ -46202,8 +46938,10 @@ PLOT/X=180/Y=0/K=1 temp
 PLOT/OVER/NOKEY/X=180/Y=-1/K=1 temp
 PLOT/OVER/NOKEY/X=180/Y=1/K=1 temp
  
-GO bn_reset
+GO bn_reset bn580_bug_fixes.jnl
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn580_bug_fixes.jnl
 GO bn580_bug_fixes.jnl
 ! bn580_bug_fixes.jnl
 ! test various fixes that went into version 5.80
@@ -46213,6 +46951,7 @@ GO bn580_bug_fixes.jnl
 ! POLYGON (or SHADE) plots with a single level had no fill color
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err570_singlecolor.jnl
 ! err570_singlecolor.jnl
 ! 7/6/2004
@@ -46256,6 +46995,7 @@ poly/lev=2 {0,1,2},{1,2,1},a ! OR lev=1
 ! colorbar labels too close to the bar, when user sets bar location
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err570_shakeylab.jnl
  
 ! err570_shakeylab.jnl
@@ -46317,6 +47057,7 @@ ppl dfltfnt sr
 ! Null input gives wierd error message
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err570_null_symbol.jnl
 ! err570_null_symbol.jnl
 ! null input -- > wierd error message see bug 919
@@ -46334,6 +47075,7 @@ can mode ignore
 ! Replace text expression with its value: string variable was too short
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err570_parse_labelcommand.jnl
 ! err570_parse_labelcommand.jnl
 ! fix for bug 956.
@@ -46364,6 +47106,7 @@ label/nouser 3.6,`($ppl$ylen)+0.2`,0,0,0.08, `tsulab`
 ! result of COMPRESSK_BY function does not vary in X
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err570_compressk_by.jnl
 ! err570_compress_by.jnl
 ! fix for bug 925
@@ -46457,6 +47200,7 @@ list tlev[k=1]
 ! Command parsing on PPL side had string lengths too short
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err570_long_label.jnl
 ! err570_long_label.jnl
 ! Fix for bug 956
@@ -46507,6 +47251,7 @@ set mode/last verify
 ! Allow PPL POLYGON after a POLY/SET (previously was PPL FILLPOL)
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err570_ppl_poly.jnl
 ! err570_ppl_poly.jnl
  
@@ -46529,6 +47274,7 @@ ppl polygon
 ! Fix formatting of coordinates on LIST/FORMAT=tab or /FORMAT=comma
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err570_list_tab_coords.jnl
 ! err570_list_tab_coords.jnl
 ! acm 9/7/04
@@ -46572,6 +47318,7 @@ list/form=comma aa
 ! Fix bug in HASH_CX for large numbers of varibles
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err570_many_variables.jnl
 ! err570_many_variables.jnl
 ! 27-sep-2004  ACM
@@ -46835,6 +47582,7 @@ list str4a
 ! Fix bug in @CNNN within multi-line labels
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err570_cnnn_multiline.jnl
 ! Changing pen with @Cnnn did not work in
 ! multi-line labels
@@ -46849,6 +47597,7 @@ label 0.1, 0.3, 0, 0, 0.2, "greek<NL>@SGt at SR_y<NL>works"
 ! For a very fine grid, coordinates not listed with enough precision.
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err570_fine_grid_list.jnl
 ! err570_fine_grid_list.jnl
 ! ACM 10/2004
@@ -46953,6 +47702,7 @@ cancel list/precision
 ! Plot using /HLIM
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err570_hlimit_onepoint
 !err570_hlimit_onepoint.jnl
 ! 15-Oct-2004  ACM
@@ -46975,6 +47725,7 @@ set mode/last ignore_error
 ! caused a segfault.
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err570_index111.jnl
 ! err570_index111.jnl
 ! 3-nov-04 ACM
@@ -47021,6 +47772,7 @@ LIST/T=1-jan-1997:1-jan-1998 s2[GT=s1 at NRST]
 ! crashed on trying to format value for the output buffer.
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err570_sh_dat_nan.jnl
 ! err570_sh_dat_nan.jnl
 ! 4-Nov-2004 acm
@@ -47046,6 +47798,7 @@ show data/full
 ! Time reqest out of range on NOLEAP axes.
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err570_time_range.jnl
 ! err570_time_range.jnl  bug1080
 ! time request out of range with calendar axis and RETURN=
@@ -47070,6 +47823,7 @@ set var/units="`a[gx=var1_grid_,gy=var1_grid_,d=2,t="16-Jan-1861 12:00:00"],retu
 ! a non-standard calendar axis
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err570_poly_over_julian.jnl
 ! err570_poly_over_julian.jnl
 ! ACM 11/12/04
@@ -47092,6 +47846,7 @@ poly/ov/pal=green {400,900,900,400}, {25.5,25.5,26.5,25.5}
 ! string substitution returns the user-given error message
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err570_coaching hello
 ! err570_coaching.jnl
 ! ACM 11/12/04  Bug 1077
@@ -47136,6 +47891,7 @@ set mode/last ignore_errors
 ! name of the script
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err570_dollar_zero.jnl
 ! err570_dollar_zero.jnl
 ! (bug 485) Got a command syntax error;
@@ -47151,6 +47907,7 @@ SET MODE/LAST ignore_error
 ! Fix for bug 596; list/i=0:300:0 var crashed Ferret
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err570_illegal_stride.jnl
 ! err570_illegal_stride.jnl
 ! (bug 596) list/i=0:300:0 var crashed Ferret
@@ -47164,6 +47921,7 @@ SET MODE/LAST ignore_error
 ! Fix for bug 1085; /THICK without color specifier caused all lines to revert to black
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err570_thick_colors.jnl
 ! err570_thick_colors.jnl  bug1085
 ! /THICK without color specifier causes all lines to revert to black
@@ -47189,6 +47947,7 @@ PLOT/OVER/VS/LINE/THICK=1/I=1:314 i*cos(i/14), i*sin(i/14)
 ! starts with a digit.
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err570_digit_filename.jnl
 ! err570_digit_filename.jnl
 ! Bug 1102: under linux, var[d=filename] fails if filename
@@ -47254,13 +48013,14 @@ list a[i=1:4,d=10a.nc]
 ! Fix for bug 1098: DODS URL label was cut off
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err570_dods_url_label.jnl
 ! err570_dods_url_label.jnl
 !
 ! Bug 1098. Look for the label with the URL: it should include
 ! everything up to the last slash.
 ! acm 11/04
- 
+! acm* 3/17 check the URL with TEST_OPENDAP befor trying to open it.
  
 !! Change to another dataset, our server down...
 !!use  "http://www.ferret.noaa.gov/cgi-bin/nph-nc/data/bn_strides.cdf"
@@ -47290,11 +48050,14 @@ GO err570_dods_url_label.jnl
 !!plot/x=180/y=0/k=1 temp
 !!ppl list labels
  
+! If we cant open this, just bail on the test
+IF `test_opendap("http://ferret.pmel.noaa.gov/pmel/thredds/dodsC/data/PMEL/coads_climatology.nc") NE 0` THEN EXIT/SCRIPT
+ !-> IF 0 THEN EXIT/SCRIPT
  
-use "http://ferret.pmel.noaa.gov/thredds/dodsC/data/PMEL/coads_climatology.nc"
+use "http://ferret.pmel.noaa.gov/pmel/thredds/dodsC/data/PMEL/coads_climatology.nc"
 sh data
      currently SET data sets:
-    1> http://ferret.pmel.noaa.gov/thredds/dodsC/data/PMEL/coads_climatology.nc  (default)
+    1> http://ferret.pmel.noaa.gov/pmel/thredds/dodsC/data/PMEL/coads_climatology.nc  (default)
  name     title                             I         J         K         L
  SST      SEA SURFACE TEMPERATURE          1:180     1:90      ...       1:12
  AIRT     AIR TEMPERATURE                  1:180     1:90      ...       1:12
@@ -47311,11 +48074,11 @@ ppl list labels
  @ASDeg C                                                                       
 
           XPOS       YPOS     HGT   ROT   UNITS
- LAB 1  8.000E+00  7.200E+00 0.060    0  SYSTEM  @ASFERRET (beta/debug) Ver.7.1
+ LAB 1  8.000E+00  7.200E+00 0.060    0  SYSTEM  @ASFERRET (beta/debug) Ver.7.11
  LINE PT:    0.000E+00 0.000E+00  NO LINE     CENTER JUSTIFY LABEL
  LAB 2  8.000E+00  7.100E+00 0.060    0  SYSTEM  @ASNOAA/PMEL TMAP
  LINE PT:    0.000E+00 0.000E+00  NO LINE     CENTER JUSTIFY LABEL
- LAB 3  8.000E+00  7.000E+00 0.060    0  SYSTEM  @AS10-FEB-2017 10:10:00
+ LAB 3  8.000E+00  7.000E+00 0.060    0  SYSTEM  @AS11-MAY-2017 10:27:41
  LINE PT:    0.000E+00 0.000E+00  NO LINE     CENTER JUSTIFY LABEL
  LAB 4  0.000E+00  6.800E+00 0.120    0  SYSTEM  @ASLONGITUDE : 179E
  LINE PT:    0.000E+00 0.000E+00  NO LINE     LEFT   JUSTIFY LABEL
@@ -47325,13 +48088,14 @@ ppl list labels
  LINE PT:    0.000E+00 0.000E+00  NO LINE     RIGHT  JUSTIFY LABEL
  LAB 7  4.000E+00  6.330E+00 0.120    0  SYSTEM  @A
  LINE PT:    0.000E+00 0.000E+00  NO LINE     CENTER JUSTIFY LABEL
- LAB 8  8.000E+00  6.790E+00 0.064    0  SYSTEM  @ASOPeNDAP <NL>URL: http://ferret.pmel.noaa.gov/thredds/dodsC/data/PMEL/
+ LAB 8  8.000E+00  6.790E+00 0.058    0  SYSTEM  @ASOPeNDAP <NL>URL: http://ferret.pmel.noaa.gov/pmel/thredds/dodsC/data/PMEL/
  LINE PT:    0.000E+00 0.000E+00  NO LINE     RIGHT  JUSTIFY LABEL
  
  
 ! Fix for bug 906: auto-formatting of labels on color keys loses precision
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err570_keylabels.jnl
 ! err570_keylabels.jnl
 ! 11/2004
@@ -47347,6 +48111,7 @@ shade/lev=(370,382,0.5) a
 ! where polygon arguments have latitude or longitude units
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err570_poly_lonlat_axis.jnl
 ! err570_poly_lonlat_axis.jnl
 ! 12/14/04
@@ -47371,8 +48136,10 @@ POLYGON XT, YT, I[I=1:10]
 PLOT/VS XT, YT
  
 ! ******** V5.81 Additions below ***********
-GO bn_reset
+GO bn_reset bn_inf_levels.jnl
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_inf_levels.jnl
 GO bn_inf_levels.jnl
 ! Run FERRET/fer/ferretdods_gui
 ! test open upper and lower levels (-INF) (INF)
@@ -47465,8 +48232,10 @@ go polymark poly/key/title="polygons"/lev=(-inf)(4,26,1)(inf), lon, lat, xsequen
  
  
  
-GO bn_reset
+GO bn_reset bn_regulart.jnl
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_regulart.jnl
 GO bn_regulart.jnl
 ! bn_regulart.jnl
 ! 5/12/2005 ACM
@@ -47512,8 +48281,10 @@ list/l=1:6 t[gt=tcoads], tbox[gt=tcoads]
 17-JUN-1946 / 6:  90017.  30.44
  
  
-GO bn_reset
+GO bn_reset bn_labwid.jnl
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_labwid.jnl
 GO bn_labwid.jnl
 ! LABWID returns the length in Denbo inches of the
 ! string.  For multi-line strings, returns length of
@@ -47567,8 +48338,10 @@ let wid = labwid("@P2 at IILine1<NL>@IIA LONGER LINE",.15)
 label/nouser `wid`, 3, -1, 0, .15,  "@P4 at IIMulti-line<NL>Length is longest of ALL lines<NL>Line three"
  !-> PPL %LABEL/nouser 2.019230842590332, 3, -1, 0, .15,  "@P4 at IIMulti-line<NL>Length is longest of ALL lines<NL>Line three"
  
-GO bn_reset
+GO bn_reset bn_redefine_taxis_mc.jnl
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_redefine_taxis_mc.jnl
 GO bn_redefine_taxis_mc.jnl
 ! bn_redefine_taxis_mc.jnl
 ! ACM 15-Apr-2005
@@ -47633,8 +48406,10 @@ list/x=180/y=0 sst
  5   / 5:  28.49
  6   / 6:  28.32
  
-GO bn_reset
+GO bn_reset bn_illegal_axisname.jnl
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_illegal_axisname.jnl
 GO bn_illegal_axisname.jnl
 ! Some OPenDAP HDF files have illegal axis names, e.g. with a dot in the name.
 ! This is a test of using such names, in a redefinition of the axes of the data.
@@ -47687,8 +48462,10 @@ sh grid sst
  normal    Z
  normal    T
  
-GO bn_reset
+GO bn_reset bn_exit_script.jnl
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_exit_script.jnl
 GO bn_exit_script.jnl
 ! bn_exit_script.jnl
 ! 5/2005 ACM
@@ -47776,8 +48553,10 @@ loop
 3
 loop
  
-GO bn_reset
+GO bn_reset bn_exit_cycle.jnl
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_exit_cycle.jnl
 GO bn_exit_cycle.jnl
 ! bn_exit_cycle.jnl
 ! 5/2005 ACM
@@ -47807,8 +48586,10 @@ say 16384 if bigger than 500
  
 loop finished 16384 gt 10000
  
-GO bn_reset
+GO bn_reset bn_curv_mod.jnl
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_curv_mod.jnl
 GO bn_curv_mod.jnl
 ! bn_curv_mod
 ! Test of fill/mod and contour/mod
@@ -47828,8 +48609,10 @@ fill/mod/hlim=-180:180 ht, geolon_vert_t[i=1:180,j=1:24], geolat_vert_t[i=1:180,
 contour/over/mod/hlim=-180:180 ht, geolon_vert_t[i=1:180,j=1:24], geolat_vert_t[i=1:180,j=1:24]
  
  
-GO bn_reset
+GO bn_reset bn_shade_keycont.jnl
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_shade_keycont.jnl
 GO bn_shade_keycont.jnl
 ! Continuous shade key
 ! test setting it and whether default is restored on next command.
@@ -47924,8 +48707,10 @@ ppl shakey ,0,-.12,3,,,`x1`,`x2`,`y1`
  !-> ppl shakey ,0,-.12,3,,,2.2,5.212,1.4
 ppl fill
  
-GO bn_reset
+GO bn_reset bn581_bug_fixes.jnl
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn581_bug_fixes.jnl
 GO bn581_bug_fixes.jnl
 ! bn581_bug_fixes.jnl
 ! test various fixes that went into version 5.81
@@ -47935,6 +48720,7 @@ GO bn581_bug_fixes.jnl
 ! Bug 1160 short axis with irreg bounds seen as regular.
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err580_irreg_bounds.jnl
 ! err580_irreg_bounds.jnl
 ! Define a short irregular time axis with some time_bounds,
@@ -47981,6 +48767,7 @@ show grid/t a
 ! Bug 1179 Cartesian_axis and positive="down" resulted in depth axis not being recognized
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err580_cartesian_depth.jnl
  ! err580_cartesian_depth.jnl
 ! cartesian_axis attribute
@@ -48000,6 +48787,7 @@ sh grid temp
 ! Bug 1181 Titles were truncated at 80 characters
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err580_long_title.jnl
  
  ! err580_long_title.jnl
@@ -48013,6 +48801,7 @@ sp ncdump longtitle.nc >> all_ncdump.out
 ! Bug 1180 Allow "use filename.des"
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err580_use_des.jnl
 ! err580_use_des.jnl
 ! Allow "use filename.des"   (previously gave an "is this a CDF file?" error)
@@ -48029,6 +48818,7 @@ sh data
 ! Bug 1180 Allow "use filename.des"
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err580_use_des.jnl
 ! err580_use_des.jnl
 ! Allow "use filename.des"   (previously gave an "is this a CDF file?" error)
@@ -48044,6 +48834,7 @@ sh data
 ! fix for bug 1181: dataset title was limited to 80 characters.
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err580_long_dsettitle.jnl
 ! err580_long_dsettitle
 ! fix for bug 1181
@@ -48066,6 +48857,7 @@ sp ncdump longtitle.nc >> all_ncdump.out
 ! fix for bug 1200:crash due to the long veckey format spec.
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err580_long_veckey.jnl
 ! err580_long_veckey.jnl
 ! Bug 1200 The following caused a crash due to the long veckey format spec.
@@ -48081,6 +48873,7 @@ ppl veckey,0,0,,"(1PG10.3)"
 ! fix for bug 1201: mistranslation of time region.
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err580_cal360_region.jnl
 ! err580_cal360_region.jnl
 ! Wrong output region: the set region mistakenly tranlated
@@ -48102,6 +48895,7 @@ default region:
 ! fix for bug 1203: crash if time range left off.
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err580_def_tax_norange.jnl
 ! err580_def_t_norange.jnl
 ! bug 1203. without the T range, these statements cause a STOP.
@@ -48114,6 +48908,7 @@ DEFINE AXIS/T0="1-JAN-1861"/UNITS=months/T/CALENDAR=noleap myt
 ! fix for bug 1207: closest distance and closest index transformations.
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err580_cdb.jnl
 ! err580_cdb.jnl
 ! bug 1207
@@ -48157,6 +48952,7 @@ list var[i=5 at cia:10]
 ! fix for bug 1214: crash on repeating a SET VIEW when viewport defined with /AXES
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err580_def_view_axes.jnl
 ! err580_def_view_axes.jnl
 ! BUG 1214
@@ -48197,6 +48993,7 @@ sp rm -f viewaxes.plt*
 ! fix for bug 1205: symbol LEV_DEL wrong when single level specified
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err580_lev_del.jnl
 ! err580_lev_del.jnl
 ! demonstrates bug 1205; precision of LEV_DEL when single level specified.
@@ -48225,6 +49022,7 @@ LEV_DEL = "1.2"
 ! Fix for bug 1174: strfloat_c("nonsense") gave result of 0 rather than missing.
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err580_strfloat_errors.jnl
 ! err580_strfloat_errors.jnl
 ! Previously a nonsense input gave a result of 0.
@@ -48246,6 +49044,7 @@ list/prec=6 strfloat(b)
 ! Fixes for bugs 1249, 1250: uppercase not recognized for qualifier argument
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err580_arg_case.jnl
 ! err580_arg_case.jnl
 ! 5/2005
@@ -48265,6 +49064,7 @@ plot/step=CONN/i=1:10 sin(i)
 ! Fixes for bugs 1019: kludge for CDC time axes made time origin incorrect on outputs
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err580_cdc_timeaxis.jnl
 ! err580_cdc_timeaxis.jnl
 ! 6/3/05
@@ -48314,6 +49114,7 @@ sp rm -f my_cdc_timeaxis.nc
 ! Fix for bug 1272: show axis/t= with NOLEAP calendar
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err580_show_axis_t.jnl
 ! err580_show_axis_t
 ! bug 1272: wrong range shown when nonstd calendar
@@ -48360,6 +49161,7 @@ T0 = 15-JAN-1901
 ! Fix for bug 1279 which was only in the first iteration of v5.81 release
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err581_nlev.jnl
 ! err580_nlev.jnl
 ! bug 1279
@@ -48374,6 +49176,7 @@ fill/lev=30 sst[l=2]
 ! acm 8/29/2005
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err581_vs_poly_axis.jnl
 ! err581_vs_poly_axis.jnl
 ! Test fix of bug 1349: formatted axis labels on PLOT/VS and POLYGON plot
@@ -48402,8 +49205,10 @@ POLYGON/LINE/fill xp, yp, ypts
  
  
 ! ******** V6.00 Additions below ***********
-GO bn_reset
+GO bn_reset bn_tab_comma_multivar.jnl
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_tab_comma_multivar.jnl
 GO bn_tab_comma_multivar.jnl
 ! bn_tab_comma_multivar.jnl
 !
@@ -48447,8 +49252,10 @@ COUNTRY	ID	AA	BB	NEWCOUNTRY	THE_DATA_VAR
 "JP"	2	8000	2000500	"c"	5  
 "US"	3	12000	3000500	"e"	4  
  
-GO bn_reset
+GO bn_reset bn_element_functions.jnl
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_element_functions.jnl
 GO bn_element_functions.jnl
  ! NOAA/PMEL TMAP
  ! FERRET v5.81
@@ -48574,8 +49381,10 @@ list element_index_str_n (axy[k=1:2,j=1:2], {"a10", "a2", "d4", "c5"})
  2   / 2:   ....  3.000
  
  
-GO bn_reset
+GO bn_reset bn_long_revision_num.jnl
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_long_revision_num.jnl
 GO bn_long_revision_num.jnl
 ! bn_long_revision_num.jnl
 ! ACM 8/30/05
@@ -48584,7 +49393,7 @@ GO bn_long_revision_num.jnl
  
 ! ferret version
 sh sym FERRET_VERSION
-FERRET_VERSION = "7.1"
+FERRET_VERSION = "7.11"
  
 ! history attribute
 let a = 12
@@ -48602,7 +49411,7 @@ LAB1 = "X : 0.5 to 314.5"
  
 ! show commands without an argument, lists version number at the top
 sho command
- Commands in Program FERRET (beta/debug) version7.1:
+ Commands in Program FERRET (beta/debug) version7.11:
  SET
  SET WINDOW/SIZE/NEW/LOCATION/ASPECT/CLEAR/TITLE
  SET REGION/I/J/K/L/M/N/X/Y/Z/T/E/F/DX/DY/DZ/DT/DE/DF/DI/DJ/DK/DL/DM/DN
@@ -48635,7 +49444,7 @@ sho command
  SHOW MOVIE/ALL
  SHOW VARIABLE/ALL/DATASET/USER/XML/OUTFILE/APPEND/CLOBBER/TREE/LAYERZ/CURVILIN
  SHOW COMMANDS/ALL/BRIEF
- SHOW MEMORY/ALL/TEMPORY/PERMANT/FREE
+ SHOW MEMORY/ALL/DIAGNOST/TEMPORY/PERMANT/FREE
  SHOW GRID/ALL/I/J/K/L/M/N/X/Y/Z/T/E/F/DYNAMIC/XML/OUTFILE/APPEND/CLOBBER
  SHOW VIEWPORT/ALL
  SHOW TRANFORM/ALL
@@ -48705,15 +49514,14 @@ sho command
  PPLUS/RESET
  FRAME/FORMAT/FILE/TRANSPAR
  REPEAT/I/J/K/L/M/N/X/Y/Z/T/E/F/ANIMATE/LOOP/RANGE/NAME
- STAT/BRIEF/I/J/K/L/M/N/X/Y/Z/T/E/F/DATASET
+ STAT/BRIEF/PRECISIO/I/J/K/L/M/N/X/Y/Z/T/E/F/DATASET
  SHADE/I/J/K/L/M/N/X/Y/Z/T/E/F/OVERLAY/SET_UP/FRAME/DATASET/TRANPOSE/TRIM
         /LINE/NOLABEL/LEVELS/KEY/NOKEY/PALETTE/XLIMITS/YLIMITS/TITLE/AXES
         /NOAXES/PATTERN/HGRATICU/VGRATICU/GRATICUL/MODULO/HLIMITS/VLIMITS
         /DEGMINSE/HALFSPAC
  SPAWN
- USER/OPT1/OPT2/COMMAND/I/J/K/L/X/Y/Z/T/DATASET/FILE/FORMAT
  WIRE/I/J/K/L/M/N/X/Y/Z/T/E/F/OVERLAY/SET_UP/FRAME/DATASET/VIEWPOIN/ZLIMITS
-       /TRANPOSE/NOLABEL/ZSCALE/TITLE
+       /TRANPOSE/NOLABEL/ZSCALE/COLOR/TITLE
  QUERY/ALL/FILE/IGNORE
  IF
  ELSE
@@ -48727,8 +49535,10 @@ sho command
  
  Use SHOW ALIAS to see alternative command names
  
-GO bn_reset
+GO bn_reset bn_window_title.jnl
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_window_title.jnl
 GO bn_window_title.jnl
 ! bn_window_title.jnl
 ! Define a title for windows rather than just FERRET_1, FERRET_2, ...
@@ -48741,7 +49551,7 @@ go ptest
 PLOT/VS/LINE/I=1:314 i*cos(i/20),i*sin(i/20)
  
 sh sym win_title
-WIN_TITLE = "10-Feb-17:10:08"
+WIN_TITLE = "11-May-17:10:26"
  
 set win/title="set the title"
 sho sym win_title
@@ -48759,7 +49569,7 @@ sho sym win_title
 WIN_TITLE = "_"
  
 set win/title="($session_date):($session_time)"
- !-> set win/title="10-Feb-17:10:08"
+ !-> set win/title="11-May-17:10:26"
  
 ! If the date or time starts with a blank then we get an extra
 ! underscore in the window title. Evaluating the symbols into
@@ -48768,19 +49578,21 @@ set win/title="($session_date):($session_time)"
 ! If so substitute another string.
  
 DEFINE SYMBOL the_date = ($session_date"SESSION_DATE")
- !-> DEFINE SYMBOL the_date = 10-Feb-17
+ !-> DEFINE SYMBOL the_date = 11-May-17
 DEFINE SYMBOL the_time = ($session_time"SESSION_TIME")
- !-> DEFINE SYMBOL the_time = 10:08
+ !-> DEFINE SYMBOL the_time = 10:26
 SET WIN/TITLE="($the_date):($the_time)"
- !-> SET WIN/TITLE="10-Feb-17:10:08"
+ !-> SET WIN/TITLE="11-May-17:10:26"
  
 can win/all
 set win/new
 sh sym win_title
-WIN_TITLE = "10-Feb-17:10:08"
+WIN_TITLE = "11-May-17:10:26"
  
-GO bn_reset
+GO bn_reset bn_last_error.jnl
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_last_error.jnl
 GO bn_last_error.jnl
 ! bn_last_error.jnl
 ! acm Nov 2005
@@ -48835,8 +49647,10 @@ FER_LAST_ERROR = "**ERROR: error in external function. Bailing out of external f
  
 SET MODE/LAST IGNORE_ERROR
  
-GO bn_reset
+GO bn_reset bn_deg_min.jnl
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_deg_min.jnl
 GO bn_deg_min.jnl
 ! bn_deg_min.jnl
 ! label axes with degrees and minutes rather than degrees and decimal degrees.
@@ -48888,8 +49702,10 @@ plot/x=223./DEGMIN/HALFSP rose
 plot/y=58.52/DEGMIN=2/HALFSP rose
 plot/vs/HALFSP  xpts, ypts
  
-GO bn_reset
+GO bn_reset bn_dp_readscale.jnl
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_dp_readscale.jnl
 GO bn_dp_readscale.jnl
 ! bn_dp_readscale.jnl
 ! 9-Feb-2006 ACM
@@ -48967,8 +49783,10 @@ list xax
  
 cancel list/precision
  
-GO bn_reset
+GO bn_reset bn_bounds_defineax.jnl
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_bounds_defineax.jnl
 GO bn_bounds_defineax.jnl
 ! bn_bounds_defineax.jnl
 ! 3/22/2006
@@ -49172,8 +49990,10 @@ list zboxlo[gz=zax2], z[gz=zax2], zboxhi[gz=zax2]
 1678.5 / 12:  1158.  1679.  2199.
 2849   / 13:  2199.  2849.  3499.
  
-go bn_reset
+go bn_reset bn_attributes.jnl
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_attributes.jnl
 go bn_attributes.jnl
 ! bn_attributes
 ! test attribute handling on netcdf intput/output and
@@ -49539,6 +50359,7 @@ can mode ignore
  
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
  
 !-----
 ! attributes of string variables
@@ -49554,6 +50375,7 @@ sp ncdump a.nc >> all_ncdump.out
  
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
  
 !-----
 ! Demonstrate `var,return=` output for attributes
@@ -49598,6 +50420,7 @@ say `broiled.acf,return=size`
  
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
  
 !-----
 ! define variables to contain attribute value(s)
@@ -49632,6 +50455,7 @@ list s
  
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
  
 !-----
 ! Variables containing number of variables, attributes, dimensions,
@@ -49840,6 +50664,7 @@ let anames = `names[i=2]`.attnames
  
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
  
  
 !-----
@@ -49881,6 +50706,7 @@ say `(yax_lev94).nattrs[d=1]`
  
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
  
 !-----
 ! more on access to attribute names and values as variables
@@ -49900,12 +50726,10 @@ list/d=3 a
 list temp.units[d=3]
              VARIABLE : TEMP.UNITS[D=ocean_atlas_temp]
              FILENAME : ocean_atlas_temp.cdf
-             X        : 1
         "Deg C"
 list/d=3 temp.history
              VARIABLE : TEMP.HISTORY
              FILENAME : ocean_atlas_temp.cdf
-             X        : 1
         "From ocean_atlas_monthly"
  
 can data/all
@@ -50022,6 +50846,7 @@ list a[i=1]
  
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
  
 !-----
 ! keyword . to refer to global properties and attributes
@@ -50066,7 +50891,6 @@ sh data
 list/d=2 ..varnames
              VARIABLE : ..VARNAMES
              FILENAME : coads_climatology.cdf
-             X        : 1
         "SST"
  
 list/d=2 ..dimnames
@@ -50110,7 +50934,6 @@ list/d=1 ..nattrs
 list/d=1 ..attnames
              VARIABLE : ..ATTNAMES
              FILENAME : gt4d011.cdf
-             X        : 1
         "history"
  
 list/d=1 ..ndims
@@ -50159,6 +50982,7 @@ list/d=2 pp
  
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
  
 !-----
 ! Editing attributes: add new attributes to a variable.
@@ -50211,6 +51035,7 @@ sh att/all temp[d=1]
  
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
  
 !-----
 ! Edit existing attributes on variables
@@ -50244,12 +51069,10 @@ use coads_climatology
 list (coadsx).units
              VARIABLE : (COADSX).UNITS
              FILENAME : coads_climatology.cdf
-             X        : 1
         "degrees_east"
 list (coadsx).modulo
              VARIABLE : (COADSX).MODULO
              FILENAME : coads_climatology.cdf
-             X        : 1
         " "
 sho att/all (coadsx)
      attributes for dataset: ./coads_climatology.cdf
@@ -50379,6 +51202,7 @@ can view
 can mode ignore
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
  
 !-----
 ! Edit attributes: inherit all attrs from another variable
@@ -50444,7 +51268,7 @@ sh att/all temp3
  
 can var temp2
 let/units="degrees C"/title="my new TEMP"/bad=`temp,return=bad` temp2 = temp*2
- !-> DEFINE VARIABLE/units="degrees C"/title="my new TEMP"/bad= -9.999999790214768E+33 temp2 = temp*2
+ !-> DEFINE VARIABLE/units="degrees C"/title="my new TEMP"/bad=-9.999999790214768E+33 temp2 = temp*2
 sh att/all temp2
      attributes for user-defined variables
  temp2.long_name = my new TEMP 
@@ -50453,6 +51277,7 @@ sh att/all temp2
  
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
  
 !-----
 ! Edit attributes, changing type
@@ -50542,6 +51367,7 @@ list pq
  
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
  
 ! When we CANCEL MODE upcase_output, writing a netcdf file preserves
 ! case of variable and axis names. This file has lower case and some
@@ -50563,6 +51389,7 @@ set mode/last upcase_output
  
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
  
 !-----
  
@@ -50610,6 +51437,7 @@ sp ncdump -c a.nc >> all_ncdump.out
  
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
  
  
 !-----
@@ -50673,6 +51501,7 @@ sp ncdump -h a.nc >> all_ncdump.out
  
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
  
 !-----
 ! Read EZ ascii, delimited, and stream data files,
@@ -50742,6 +51571,7 @@ sh att/all num
  num.new = a string attribute 
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
  
 !-----
 ! manipulate attributes of user-defined variables
@@ -50794,6 +51624,7 @@ sp ncdump -h a.nc >> all_ncdump.out
  
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
  
 !-----
  
@@ -50859,6 +51690,7 @@ sp ncdump a.nc  >> all_ncdump.out
  
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
  
 !-----
 ! Set type of data on output, uses netcdf call to output
@@ -50926,6 +51758,7 @@ can data test0
  
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
  
 !-----
 ! More tests of user-defined variables. Bug 1427, now fixed, problem with varid of user vars
@@ -51001,6 +51834,7 @@ set var/outtype=garbage broiled
 can mode ignore
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
  
  
 !---!!!---
@@ -51048,6 +51882,7 @@ save/file=a.nc/clobber/L=1 t2
 sp ncdump -h a.nc >> all_ncdump.out
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
  
 ! User-defined axes and variables
  
@@ -51078,6 +51913,7 @@ sh att/all (x2ax)
  
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
  
 use levitus_climatology
 define att/out (`temp,return=xaxis`).new_att = "something"
@@ -51121,6 +51957,7 @@ save/file=a.nc/clobber/y=0:5 two
 sp ncdump -h a.nc >> all_ncdump.out
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
  
 ! defining more axes with attributes
  
@@ -51154,6 +51991,7 @@ sp ncdump -h string4d.nc >> all_ncdump.out
  
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 ! For SET ATT timeaxis.units or SET ATT timeaxis.time_origin
 ! include the correct time origin as part of the units attribute.
  
@@ -51464,8 +52302,10 @@ list temp.test_counter[i=3:5]
 !go bn_reset
 !go bn_nco_functions.jnl
  
-go bn_reset
+go bn_reset bn_transforms.jnl
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_transforms.jnl
 go bn_transforms.jnl
 ! Test the transforms
  
@@ -51671,8 +52511,10 @@ list/L=1/y=11:23/x=93w sst, sst[y=@shn] , sst[y=@spz], sst[y=@sum], sst[y=@swl],
 21N   / 56:  23.95  24.06  24.06  181.6  24.08    ....
 23N   / 57:  23.84  23.69  23.69  181.6  23.66    ....
  
-go bn_reset
+go bn_reset bn_variance.jnl
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_variance.jnl
 go bn_variance.jnl
  ! bn_variance.jnl
  ! the @VAR transform is not tested in bn_transforms.jnl script.
@@ -51710,8 +52552,10 @@ list/y=3/l=1/x=233 u[z=@var]
              TIME     : AUG-1982
           11.33
  
-go bn_reset
+go bn_reset bn_linecolors.jnl
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_linecolors.jnl
 go bn_linecolors.jnl
 ! bn_linecolors.jnl
 ! 5/2006 ACM
@@ -51778,8 +52622,10 @@ can win/all
 set win/new
  
  
-go bn_reset
+go bn_reset bn_cdf_errmsg.jnl
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_cdf_errmsg.jnl
 go bn_cdf_errmsg.jnl
 ! bn_cdf_errmsg.jnl
 ! ACM 7/13/2006
@@ -51804,10 +52650,13 @@ use this_is_not_a_file.nc
 !!use "http://iridl.ldeo.columbia.edu/SOURCES/.FSU/.FULL/.tauyyyyy/dods"
  
 ! This is a valid address
-use "http://ferret.pmel.noaa.gov/thredds/dodsC/data/PMEL/COADS/coads_air.cdf"
+use "http://ferret.pmel.noaa.gov/pmel/thredds/dodsC/data/PMEL/COADS/coads_air.cdf"
+ 
+ 
+! Intentional errors
  
 ! change the variable name to something nonexistent
-use "http://ferret.pmel.noaa.gov/thredds/dodsC/data/PMEL/COADS/coads_nothing.cdf"
+use "http://ferret.pmel.noaa.gov/pmel/thredds/dodsC/data/PMEL/COADS/coads_nothing.cdf"
  
 ! bad server
 use  "http://noserver/a/nofile.cdf"
@@ -51823,8 +52672,10 @@ use asc.nc
 set mode/last ignore
  
  
-GO bn_reset
+GO bn_reset bn600_bug_fixes.jnl
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn600_bug_fixes.jnl
 GO bn600_bug_fixes.jnl
 ! bn600_bug_fixes.jnl
 ! test various fixes that went into version 6.00
@@ -51834,6 +52685,7 @@ GO bn600_bug_fixes.jnl
 ! Bug 1129 axis formatting when /HLIM sets axis length < 0.15 deg
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err581_hlim_axislab.jnl
 ! err581_hlim_axislab.jn
 ! bug 1129
@@ -51868,6 +52720,7 @@ ppl list xaxis
 ! Bug 1275 stray characters appear in data lines listing string data
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err581_list_stray_chars.jnl
 ! err581_list_stray_chars.jnl
 ! 8/2005 (acm) bug 1275  stray characters in data listing
@@ -51905,6 +52758,7 @@ list/i=1:5 id, country, type
 ! pattern matching for SHO FUNC failed to match all EF's
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err581_sho_func_pattern_match.jnl
 ! err581_sho_func_pattern_match.jnl
 ! bug 1186
@@ -51949,6 +52803,7 @@ IS_ELEMENT_OF_STR_N(VAR,VALUES)
 ! FILL on data with subspan modulo axis, got wrong data
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err581_subspanx_fill_bug.jnl
 ! err581_subspanx_fill_bug.jnl
 ! bug 900: subspan longitude axis and hlimits gets wrong data
@@ -51974,6 +52829,7 @@ sp rm -f err581_subspanx_fill_bug.nc
 ! bug 1318 Spurious error message on USE file where file has axes with bounds.
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err581_use_bounds.jnl
 ! err581_use_bounds.jnl
 ! bug 1318 Spurious error message on USE file where file has axes with bounds.
@@ -51989,6 +52845,7 @@ use xyir
 ! Bug 1332 variable not scaled unless it is first variable in stepfile.
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err581_des_scale.jnl
 ! err581_des_scale.jnl  bug 1332. When using a descriptor file and
 ! a varriable has scale_factor and/or add_offset attributes, the
@@ -52008,6 +52865,7 @@ EXIT/SCRIPT   ! error in namelist record...
 ! Bug 1335 Zero-contour should be dark line.
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err581_contour_zero_lev.jnl
 ! err581_contour_zero_lev.jnl
 ! acm 9/7/2005
@@ -52020,6 +52878,7 @@ contour/lev=(-20,20,2) sst[L=1] - 20
 ! Bug 1339, code hangs with this combination of (-INF)(INF) levels and shakey
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err581_shakey_inf.jnl
 ! err581_shakey_inf.jnl
 ! acm 9/7/2005
@@ -52038,6 +52897,7 @@ ppl/reset  ! undo the SHAKEY setting.
 ! Bug 918, immediate mode parsing in IF blocks
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err581_if_conditional.jnl
 ! err581_if_conditional.jnl  bug 918.
 ! acm 10/2005
@@ -52248,6 +53108,7 @@ palette rainbow
 ! Ungraceful STOP if we asl for multi-var transformations on axis where there is no data
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err581_illegal_trans.jnl
 ! err581_illegal_trans.jnl
 ! Ungraceful STOP if we do @VAR on an axis where there is no data
@@ -52264,6 +53125,7 @@ can mode ignore_error
 ! missing flag gets scaled by scale and offset factors!
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err581_missing_scale_off.jnl
 ! err581_missing_scale_off.jnl
 ! ACM 11/8/05
@@ -52297,6 +53159,7 @@ list tt
 ! SHOW GRID and other output have wrong dates, non-std calendar axesv
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err581_cal_dates_output.jnl
 ! err581_cal_dates_output.jnl
 ! bug 1363:
@@ -52323,6 +53186,7 @@ sho grid t3
 ! STOP on shade command when modulo-regridding a time-limited nonstd calendar
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err581_noleap_mod.jnl
 ! err581_noleap_mod.jnl
 ! This is bug 1365: STOP on shade command
@@ -52342,6 +53206,7 @@ shade/y=0/k=1 a_clim
 ! CANCEL DATA errors
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err581_cancel_data.jnl
 ! err581_cancel_data.jnl
  
@@ -52394,6 +53259,7 @@ sp rm -f subdir/0000_a.nc
 ! CANCEL DATA errors
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err581_since_units.jnl
 ! err581_since_units.jnl
 ! bug 1394: units of months_since_event
@@ -52426,6 +53292,7 @@ list a
 ! CANCEL DATA errors
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err581_exp_spaces.jnl
 ! err581_exp_spaces.jnl
 ! bug 1395
@@ -52482,6 +53349,7 @@ can mode ignore
 ! bugs 439,1390: applying command context
 GO bn_reset.jnl
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err581_command_cx.jnl
 ! err590_command_cx.jnl
 ! bugs 439 and 1390: the command context should apply to immed. mode evaluation
@@ -52508,6 +53376,7 @@ can mode ignore
 ! bug 1401: define 1-point axis with bounds; gets bounds wrong
 GO bn_reset.jnl
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err581_define_1pt_bounds.jnl
 ! err581_define_1pt_bounds.jnl
 ! see bug 1401:
@@ -52551,6 +53420,7 @@ list xboxlo[gx=xax],xboxhi[gx=xax],x[gx=xax]
 ! Bug in strrindex when 1st argument is a list of strings
 GO bn_reset.jnl
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err581_strrindex.jnl
 ! err581_strrindex.jnl
 ! 5/2/2006
@@ -52570,6 +53440,7 @@ list strrindex(var,"s")
 ! POLYGON/LINE over a depth axis.
 GO bn_reset.jnl
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err581_poly_rev.jnl
 ! err581_poly_rev.jnl
 ! POLYGON/LINE mis-locates the line when there is a depth or
@@ -52625,8 +53496,10 @@ set mem /size=25.6
  
  
 ! ******** V6.01 Additions below ***********
-GO bn_reset
+GO bn_reset bn601_bug_fixes.jnl
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn601_bug_fixes.jnl
 GO bn601_bug_fixes.jnl
 ! bn601_bug_fixes.jnl
 ! test various fixes that went into version 6.01
@@ -52636,6 +53509,7 @@ GO bn601_bug_fixes.jnl
 ! Bug 1443
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err600_long_bounds_name
 ! err600_long_bounds_name.jnl
 ! Long name for bounds attribute was not read by Ferret
@@ -52668,6 +53542,7 @@ list  x[gx=var], xbox[gx=var], xboxlo[gx=var], xboxhi[gx=var]
 ! bug1434
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err600_check_bounds_regular.jnl
 ! err600_check_bounds_regular.jnl
 ! Previously TM_CHECK_BNDS had not been used to check bounds on regular axes.
@@ -52688,6 +53563,7 @@ use b
 ! Bug 1439
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err600_long_symbol_string.jnl
 ! err600_longsym_symbol_string.jnl
 ! Long values for symbols: previously strings were cut off at 255 characters.
@@ -52731,6 +53607,7 @@ CANCEL SYMBOL longsym*
 ! bug 1445
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err600_missing_flag.jnl
 ! noglobalhistory.nc has no global history attribute, and
 ! also the variable B has no missing or fill value flag
@@ -52754,6 +53631,7 @@ list b
 ! ( a parsing error, confusing the dot in the filename with dot in `var.att,return=size` )
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err600_returnsize.jnl
 ! err600_returnsize.jnl
 ! ACM 10-4-2006
@@ -52781,6 +53659,7 @@ say `(($the_x_axis)).units,return=size`
 ! thrown off and we got an error about an invalid ENDIF
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err600_if_comments_tab.jnl
 ! err600_if_comments_tab.jnl
 ! ACM 10-4-2006
@@ -52798,6 +53677,7 @@ ENDIF
 ! Bug 1454 Settings made by SET VAR/TITLE=/UNITS= were not saved in output file
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err600_set_var_title.jnl
 ! err600_set_var_title.jnl
 ! Bug 1454
@@ -52855,6 +53735,7 @@ use a.nc
 ! be labelled with the var name but it only has units label
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err600_var_label.jnl
 ! err600_var_label.jnl
 ! bug1442
@@ -52900,6 +53781,7 @@ list/i=70/l=1/j=30/k=1 temp
 ! Bug 1461 upcasing of axis name on creating bounds variable for output
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err600_upcase.jnl
  ! err600_upcase.jnl
  ! 10/23/2006
@@ -52924,6 +53806,7 @@ SET MODE/LAST ignore_error
 ! structure fail, and the list of variable names was incorrect.
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err600_let_d.jnl
 ! err600_let_d.jnl
 ! Making a LET/D= assignment caused the return of dimension
@@ -52951,6 +53834,7 @@ list ..varnames
 ! Bug 1459 order of multiple descriptor file opening causes netCDF error
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err600_nc_des_order.jnl
 ! err600_nc_des_order.jnl
 ! 11/07/2006 ACM
@@ -53012,6 +53896,7 @@ stat rose[j=12,d=1]
 ! in the attribute structure.
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err600_reset_redefine_axis.jnl
 ! err600_reset_redefine_axis.jnl
 ! Bug 1470; redefine or reset attributes of an axis
@@ -53145,6 +54030,7 @@ show axis ($zax)
 ! orig_file_axname keeps the input name.
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err600_ferret_axis_names.jnl
 ! err600_ferret_axis_names.jnl
 ! If Ferret needed to rename an axis on file initialization for uniqueness,
@@ -53202,7 +54088,7 @@ sho dat/att
  Variable    VarType(in dset)    AttributeName   AttType     Size OutFlag AttValue
 ------------------------------------------------------------------------------------------
   
- .                               history         CHAR        34   T       FERRET V7.1 (beta/debug) 10-Feb-17
+ .                               history         CHAR        35   T       FERRET V7.11 (beta/debug) 11-May-17
                                  Conventions     CHAR        6    F       CF-1.6
   
 (PSXT91_108)           DOUBLE    units           CHAR        12   T       degrees_east
@@ -53251,7 +54137,7 @@ sho dat/att
  Variable    VarType(in dset)    AttributeName   AttType     Size OutFlag AttValue
 ------------------------------------------------------------------------------------------
   
- .                               history         CHAR        34   T       FERRET V7.1 (beta/debug) 10-Feb-17
+ .                               history         CHAR        35   T       FERRET V7.11 (beta/debug) 11-May-17
                                  Conventions     CHAR        6    F       CF-1.6
   
 (PSXT91_108)           DOUBLE    units           CHAR        12   T       degrees_east
@@ -53302,6 +54188,7 @@ sho dat/att
 ! should output a comma or tab as placeholder for the missing value
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err600_tab_comma_missingdat.jnl
 ! err600_tab_comma_missingdat.jnl
 ! 11/21/2006 acm
@@ -53374,6 +54261,7 @@ list/form=tab a,b,a
 ! VECTOR/ASPECT plots are wrong (incorrect fix for bug 1348)
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err600_vec_aspect.jnl
 ! err600_vec_aspect.jnl
 ! VECTOR/ASPECT plots are wrong (incorrect fix for bug 1348)
@@ -53397,6 +54285,7 @@ vec/asp/over a,b
 ! when checking whether 2nd variable has same grid.
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err600_save_two.jnl
 ! err600_save_two.jnl
 ! 12/11/2006
@@ -53414,6 +54303,7 @@ save/clobber/file="out.nc" olr[d=1], swdn_toa[d=2]
 ! Bug 1459 order of multiple descriptor file opening causes netCDF error
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err600_nc_des_order.jnl
 ! err600_nc_des_order.jnl
 ! 11/07/2006 ACM
@@ -53471,8 +54361,10 @@ stat rose[j=12,d=1]
  Standard deviation: 156.25
  
 ! ******** V6.02 Additions below ***********
-GO bn_reset
+GO bn_reset bn_set_strides.jnl
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_set_strides.jnl
 GO bn_set_strides.jnl
 ! bn_set_strides.jnl
 ! Jing Li, 11/2006
@@ -53913,8 +54805,10 @@ show axis `sst,return=taxis`
 T0 = 01-JAN-0000 00:00:00
    Axis span (to cell edges) = 2191.455 (modulo length = 8765.82)
  
-GO bn_reset
+GO bn_reset bn_lsl_lowpass.jnl
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_lsl_lowpass.jnl
 GO bn_lsl_lowpass.jnl
 ! bn_lsl_lowpass.jnl
 ! Test lsl_lowpass, now included as a statically-linked external function
@@ -53949,8 +54843,10 @@ LIST/L=10:20 MY_TEMP[L=1:110], F_FILTERED[L=1:110]
 14-MAR-1982 09 / 20:   27.42   27.43
  
  
-GO bn_reset
+GO bn_reset bn_return_xmod_tmod.jnl
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_return_xmod_tmod.jnl
 GO bn_return_xmod_tmod.jnl
 ! New `var,return=xmod` `var,return=tmod`
 ! Return modulo lengths, or blank if not modulo
@@ -54020,8 +54916,10 @@ say `axy,return=xmod`
  !-> MESSAGE/CONTINUE 2
 2
  
-GO bn_reset
+GO bn_reset bn602_bug_fixes
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn602_bug_fixes
 GO bn602_bug_fixes
 ! bn602_bug_fixes.jnl
 ! test various fixes that went into version 6.02
@@ -54031,6 +54929,7 @@ GO bn602_bug_fixes
 ! bug 1468: SHOW AXIS/ALL/XML listed the wrong info for the calendar
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err601_sho_ax_xml_calendar.jnl
 ! err601_sho_ax_xml_calendar.jnl
 ! 11/8/2006 ACM
@@ -54085,6 +54984,7 @@ sh axis/xml timenoleap
 ! with unspecified_int4.
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err601_index_111.jnl
  
 ! err601_index_111.jnl
@@ -54111,6 +55011,7 @@ list x[gx=sst,x=-193:-203]
 ! Check for irregular axis actually being irregular failed; bug 1483
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err601_irregular_axis.jnl
 ! err601_irregular_axis.jnl
 ! V6.0 had a new scheme to check for irregular axes; for an axis
@@ -54183,6 +55084,7 @@ SHOW GRID/Z atmos
 ! see bug 1485, check on missing coordinates for 3-argument graphics
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err601_check_missing_3arg.jnl
 ! err601_check_missing_3arg.jnl
 ! see bug 1485: if missing coordinates in a curvilinear dataset, we should be
@@ -54266,6 +55168,7 @@ sp rm -f tripolar_missing_lon.nc
 !  when the last element is missing.
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err601_missing_string_element.jnl
 ! err601_missing_string_element.jnl
 !  Bug 1488. Seg fault when try to list a string variable
@@ -54282,8 +55185,10 @@ list a
  
  
 ! ******** V6.03 Additions below ***********
-GO bn_reset
+GO bn_reset bn_modnbd.jnl
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_modnbd.jnl
 GO bn_modnbd.jnl
 ! Test MODNBD regridding statistic.
  
@@ -54347,8 +55252,10 @@ list var[gt=month_reg at MODNGD], var[gt=month_reg at MODNBD], var[gt=month_reg at MODNGD
 15-NOV      / 11:  10.00   0.00  10.00  10.00
 16-DEC      / 12:  10.00   0.00  10.00  10.00
  
-GO bn_reset
+GO bn_reset bn_fifty_files.jnl
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_fifty_files.jnl
 GO bn_fifty_files.jnl
 ! bn_fifty_files.jnl
 ! We build OPeNDAP so that 100 files can be opened at a time.
@@ -54410,8 +55317,10 @@ use weird_name1.cdf
 cancel mode ignore_error
  
  
-GO bn_reset
+GO bn_reset bn603_bug_fixes
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn603_bug_fixes
 GO bn603_bug_fixes
 ! bn603_bug_fixes.jnl
 ! test various fixes that went into version 6.03
@@ -54421,6 +55330,7 @@ GO bn603_bug_fixes
 ! SHADE/LEV did not keep same levels after a SHADE/LINE
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err602_shade_line_lev.jnl
 ! err602_shade_line_lev.jnl
 ! Bug 904.
@@ -54461,6 +55371,7 @@ LEV_DEL = "0.05"
 ! Draw correct SHADE and FILL plots across the modulo branch cut.
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err602_curvi_modulo_cut
 ! err602_curvi_modulo_cut.jnl
 ! 5/07  bug 1302
@@ -54480,12 +55391,10 @@ set view lower
 fill/hlim=75:85/vlim=-10:0/mod u,geolon_c,geolat_c
  
 ! Fix for bug 1388
-Internal overflow expressing 500000.0 Mwords as words (1783793664) 
-Unable to allocate the requested 500000.0 Mwords of memory.
-Memory remaining at 0.2 Mwords.
 ! SET LIST/PREC worked for multi-var listings, LIST/PREC= var1,var2 did not
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err602_list_prec
 ! err602_list_prec.jnl
 ! fixes for bug 1388: SET LIST/PREC worked for multi-variable listings,
@@ -54532,8 +55441,10 @@ LIST/NOHEAD/I=91:94/J=37/K=1/L=1 TEMP,SALT
  
 ! ******** V6.05 Additions below ***********
  
-GO bn_reset
+GO bn_reset bn_set_var_name.jnl
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_set_var_name.jnl
 GO bn_set_var_name.jnl
 ! bn_set_var_name.jnl
 ! This has been in Ferret since v5.3 but never a benchmark test of it!
@@ -54580,15 +55491,16 @@ LIST/X=179:183/Y=40/L=3 sst
  177W   / 82:  36.23927
  
  
-GO bn_reset
-cancel mode verify
+!GO bn_reset
 ! This routine executes a ppl error which exits us from Ferret
 ! when run in the benchmark suite. Should test this, but dont do it
 ! here, for now.
 !GO bn_ppl_errors.jnl
  
-GO bn_reset
+GO bn_reset bn_memory_symbol
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_memory_symbol
 GO bn_memory_symbol
 ! bn_memory_symbol.jnl
 ! Ferret v6.06 15-Aug-07
@@ -54601,22 +55513,28 @@ set mem/siz=90
 sh sym ferret_memory
 FERRET_MEMORY = "90"
 show memory
- Current size of FERRET memory cache: 90 MegaWords  (1 word = 8 bytes)
+    SET MEMORY/SIZE: 90 megawords
+    Peak demand: 0 words
+    Current cache: 0 words
  
 set mem/size=0.05
 sh sym ferret_memory
-FERRET_MEMORY = "0.2"
+FERRET_MEMORY = "0.05"
  
 set mem/siz=500000  ! too large to allow
 sho sym ferret_memory
-FERRET_MEMORY = "0.2"
+FERRET_MEMORY = "500000"
  
 set mem/siz=25.6  ! return to the default setting
 show memory
- Current size of FERRET memory cache: 25.6 MegaWords  (1 word = 8 bytes)
+    SET MEMORY/SIZE: 25.6 megawords
+    Peak demand: 0 words
+    Current cache: 0 words
  
-GO bn_reset
+GO bn_reset bn605_bug_fixes
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn605_bug_fixes
 GO bn605_bug_fixes
 ! bn604_bug_fixes.jnl
 ! test various fixes that went into version 6.05
@@ -54625,6 +55543,7 @@ GO bn605_bug_fixes
 ! Fix for Bug 1524: irregular axis detected as REGULAR
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err604_irreg_axis.jnl
 ! Bug 1524: irregular axis detected as REGULAR!
  
@@ -54656,6 +55575,7 @@ list t[gt=month_irreg], tbox[gt=month_irreg]
 ! SHOW FUNCTIONS caused a crash or a message
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err605_show_func.jnl
 ! err605_show_func.jnl
 ! Reported by Andrew W.
@@ -54713,6 +55633,8 @@ DNCASE(STR)
 STRCAT(STR1,STR2)
 SUBSTRING(STR,OFFSET,LENGTH)
 STRFLOAT(STR)
+DOT(VAR1,VAR2,IDIM)
+TRANSPOSE(VAR,DIM1,DIM2)
  
 Externally defined functions available to Ferret:
 AVE_SCAT2GRID_T(TPTS,VPTS,TAXIS)
@@ -54847,11 +55769,20 @@ TAX_YEARFRAC(A,B)
 TCAT(A,B)
 TCAT_STR(A,B)
 TEST_OPENDAP(url)
+TRANSPOSE_EF(VAR)
+TRANSPOSE_TE(VAR)
+TRANSPOSE_TF(VAR)
+TRANSPOSE_XE(VAR)
+TRANSPOSE_XF(VAR)
 TRANSPOSE_XT(VAR)
 TRANSPOSE_XY(VAR)
 TRANSPOSE_XZ(VAR)
+TRANSPOSE_YE(VAR)
+TRANSPOSE_YF(VAR)
 TRANSPOSE_YT(VAR)
 TRANSPOSE_YZ(VAR)
+TRANSPOSE_ZE(VAR)
+TRANSPOSE_ZF(VAR)
 TRANSPOSE_ZT(VAR)
 TREVERSE(A)
 UNIQUE_STR2INT(A)
@@ -54898,6 +55829,12 @@ SCAT2GRID_BIN_XYZT(XPTS,YPTS,ZPTS,TPTS,F,XAXPTS,YAXPTS,ZAXPTS,TAXPTS)
 STR_NOBLANKS(STR)
 STR_REPLACE(INSTRING,S1,S2)
 EXPNDI_TO_ET(var data,time data,Rowsize (E direction),Result T)
+DOT_X(VAR1,VAR2)
+DOT_Y(VAR1,VAR2)
+DOT_Z(VAR1,VAR2)
+DOT_T(VAR1,VAR2)
+DOT_E(VAR1,VAR2)
+DOT_F(VAR1,VAR2)
 ADD_9(A,B,C,D,E,F,G,H,I)
 APPENDE(ENS,VAR)
 AVET(A)
@@ -54927,8 +55864,10 @@ STUDENT_T_CUTOFF(P,nf)
 SUBTRACT(A,B)
  
  
-GO bn_reset
+GO bn_reset bn608_bug_fixes
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn608_bug_fixes
 GO bn608_bug_fixes
 ! bn608_bug_fixes
 ! test various fixes that went into version 6.08
@@ -54937,6 +55876,7 @@ GO bn608_bug_fixes
 ! Fix for Bug 1539: SHOW VAR/XML
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err607_show_var_xml
 ! Bug 1539 SHOW VAR/XML didnt show all vars.
  
@@ -55023,6 +55963,7 @@ show var/xml
 ! err607_set_new_history_att
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err607_set_new_history_att
 ! err607_set_new_history_att.jnl
 ! Previously if we set a history attribute on a user-defined variable that
@@ -55051,6 +55992,7 @@ show att/all var
 ! Symbols YAXIS_MIN, YAXIS_MAX were 0 when values small
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err607_axis_minmax_syms
 ! Bug 1542
 ! Symbols YAXIS_MIN, YAXIS_MAX were 0 when values small
@@ -55098,6 +56040,7 @@ YAXNAM = "YAX_LEV94"
 ! Error message for too many contour levels requested
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err607_lev_errmsg
 ! err607_lev_errmsg.F
 ! Make the error message more detailed, saying it is the choice of
@@ -55111,8 +56054,10 @@ SET MODE/LAST ignore
  
 ! ******** V6.1 Additions below ***********
  
-GO bn_reset
+GO bn_reset bn_shade_trim
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_shade_trim
 GO bn_shade_trim
 ! bn_shade_trim.jnl
 ! Test new qualifier SHADE/TRIM which trims the region of
@@ -55148,8 +56093,10 @@ YAXIS_MIN = "30.5000000"
 YAXIS_MAX = "43.5000000"
  
  
-GO bn_reset
+GO bn_reset bn_mode_nlevels
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_mode_nlevels
 GO bn_mode_nlevels
 ! bn_mode_nlevels.jnl
 ! 3-mar-2008
@@ -55192,8 +56139,10 @@ LEV_DEL = "0.5"
 set mode nlevels 40
  
  
-GO bn_reset
+GO bn_reset bn61_bug_fixes
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn61_bug_fixes
 GO bn61_bug_fixes
 ! bn608_bug_fixes
 ! test various fixes that went into version 6.1
@@ -55203,6 +56152,7 @@ GO bn61_bug_fixes
 ! Error processing parentheses on abstract axis names.
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err608_bug1556
 ! err608_bug1556.jnl
 ! Error processing parentheses on abstract axis names.
@@ -55230,6 +56180,7 @@ SAVE/FILE=a.nc/CLOBBER sst[i=1:5:1,j=1:5:1,l=1:1:1]
 ! Precision of immediate-mode output of negative values
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err608_precision_neg_numbers
 ! err608_precision_neg_numbers.jnl
 ! ACM 1/2/2008
@@ -55251,8 +56202,10 @@ SAY `1.23456789e-15,prec=10`
  
  
 ! ******** V6.11 Additions below ***********
-GO bn_reset
+GO bn_reset bn_test_opendap
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_test_opendap
 GO bn_test_opendap
 ! Test the test_opendap function: returns 0 if successful, or error code if not.
 SET MODE IGNORE
@@ -55262,8 +56215,8 @@ SET MODE IGNORE
 !!list test_opendap ("http://iridl.ldeo.NOT.columbia.edu/SOURCES/.LEVITUS/.MONTHLY/.temp/dods")
  
 !! Change to another server, this one not working 8/2012
-list test_opendap ("http://ferret.pmel.noaa.gov/thredds/dodsC/data/PMEL/WOA05nc/monthly/s0112an1.nc")
-             VARIABLE : TEST_OPENDAP ("http://ferret.pmel.noaa.gov/thredds/dodsC/data/PMEL/WOA05nc/monthly/s0112an1.nc")
+list test_opendap ("http://ferret.pmel.noaa.gov/pmel/thredds/dodsC/data/PMEL/WOA05nc/monthly/s0112an1.nc")
+             VARIABLE : TEST_OPENDAP ("http://ferret.pmel.noaa.gov/pmel/thredds/dodsC/data/PMEL/WOA05nc/monthly/s0112an1.nc")
              X        : 1
           0.0000000
 list test_opendap ("http://ferret.pmel.NOT.noaa.gov/thredds/dodsC/data/PMEL/WOA05nc/monthly/s0112an1.nc")
@@ -55274,14 +56227,17 @@ list test_opendap ("http://ferret.pmel.NOT.noaa.gov/thredds/dodsC/data/PMEL/WOA0
  
 CANCEL MODE IGNORE
  
-GO bn_reset
+GO bn_reset bn611_bug_fixes
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn611_bug_fixes
 GO bn611_bug_fixes
 ! bn611_bug_fixes.jnl
 ! Fixes that go into v6.11 release
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err61_write_bounds
 ! err61_write_bounds.jnl
 ! test fixes for bugzilla 1534: write correct bounds
@@ -55311,6 +56267,7 @@ sp ncdump a.nc >> all_ncdump.out
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err61_poly_shade_over_noaxes
 ! err61_poly_shade_over_noaxes.jnl
 ! See bug 1571
@@ -55361,6 +56318,7 @@ go polymark poly/lev=(-5,30,1)/fill/line=1/nolab/over v1 v2 v3 circle 2
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err61_context_scalar_strings
 ! err61_context_scalar_strings.jnl
 ! Bug 1558, first present in Ferret v6.02
@@ -55377,6 +56335,7 @@ say `"a" EQ "a"`
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err61_exit_script
 ! Bug 1566 Andrew Wittenberb
 !
@@ -55523,6 +56482,7 @@ exit/script
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err61_new_attr_on_axis
 ! err61_new_attr_on_axis.jnl
 ! For any var or axis, allow adding an attribute
@@ -55555,6 +56515,7 @@ sp ncdump -h a.nc >> all_ncdump.out
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO bn_varcontext_attributes
 ! Examples from bn_attributes, where instead of var.att[specifiers]
 ! we use var[specifiers].att  where appropriate.
@@ -55615,6 +56576,7 @@ list lnames
  
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
  
  
 !-----
@@ -55655,6 +56617,7 @@ say `($yaxnam)[d=1].nattrs`
  
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
  
 !-----
 ! more on access to attribute names and values as variables
@@ -55673,12 +56636,10 @@ list/d=3 a
 list temp[d=3].units
              VARIABLE : TEMP[D=ocean_atlas_temp].UNITS
              FILENAME : gt4d011.cdf
-             X        : 1
         "Deg C"
 list/d=3 temp.history
              VARIABLE : TEMP.HISTORY
              FILENAME : ocean_atlas_temp.cdf
-             X        : 1
         "From ocean_atlas_monthly"
  
 can data/all
@@ -55698,6 +56659,7 @@ list a[i=2]
  
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
  
 ! When the variable context is given in an attribute
 ! spec, we want to ignore the information except for the
@@ -55709,7 +56671,6 @@ list ($ferret_plot_var).long_name
  !-> list sst[x=30:39,y=-90:90].long_name
              VARIABLE : SST[X=30:39,Y=-90:90].LONG_NAME
              FILENAME : coads_climatology.cdf
-             X        : 1
         "SEA SURFACE TEMPERATURE"
  
 use coads_climatology
@@ -55718,7 +56679,6 @@ list ($ferret_plot_var).units
  !-> list sst[d=1,x=30:35,y=-90:90].units
              VARIABLE : SST[D=coads_climatology,X=30:35,Y=-90:90].UNITS
              FILENAME : coads_climatology.cdf
-             X        : 1
         "Deg C"
  
 use coads_climatology
@@ -55728,11 +56688,11 @@ list ($ferret_plot_var).history
  !-> list sst[d=1,x=30:35,y=-90:90].history
              VARIABLE : SST[D=coads_climatology,X=30:35,Y=-90:90].HISTORY
              FILENAME : levitus_climatology.cdf
-             X        : 1
         "From coads_climatology"
  
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
  
 use levitus_climatology
 use coads_climatology
@@ -55746,18 +56706,17 @@ list ($xaxnam)[d=1].modulo
  !-> list (XAXLEVITR1_160)[d=1].modulo
              VARIABLE : (XAXLEVITR1_160)[D=levitus_climatology].MODULO
              FILENAME : coads_climatology.cdf
-             X        : 1
         " "
 list ($yaxnam).point_spacing[d=1]
  !-> list (YAXLEVITR1_90).point_spacing[d=1]
              VARIABLE : (YAXLEVITR1_90).POINT_SPACING[D=levitus_climatology]
              FILENAME : levitus_climatology.cdf
-             X        : 1
         "even"
  
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err61_show_dat_var_xml
 ! err61_show_dat_var_xml.jnl
 ! See bug 1580. Intermediate variablels associated with a
@@ -55918,6 +56877,7 @@ SHOW DATA/VAR/XML 2
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err61_360_calendar
 ! err61_360_calendar.jnl
 !
@@ -55943,6 +56903,7 @@ define axis/t=30-feb-1909:07-mar-1909:2/units=days/t0=1-jan-1909/calendar=d360 t
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err611_exit_if.jnl
 ! err611_exit_if.jnl
 !
@@ -55969,6 +56930,7 @@ exit/script
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err611_save_irreg.jnl
 ! err611_save_irreg.jnl
 !
@@ -55993,8 +56955,10 @@ save/clob/file=b.nc b
  
  
 ! ******** V6.13 Additions below ***********
-GO bn_reset
+GO bn_reset bn_no_valid_on_plot
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_no_valid_on_plot
 GO bn_no_valid_on_plot
 ! bn_no_valid_on_plot.jnl
 ! Bug 1038 points out that the No Valid Data label that is
@@ -56074,8 +57038,10 @@ VECTOR/Y=80:90 sst[L=1], sst[L=1]
  
 SET MODE/last nodata_lab
  
-GO bn_reset
+GO bn_reset bn_median
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_median
 GO bn_median
 ! Test median smoothing tranform
 ! Default length is 3
@@ -56182,14 +57148,17 @@ plot/trans var, var[z=@med:4]
 set mode/last ignore
  
  
-GO bn_reset
+GO bn_reset bn614_bug_fixes
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn614_bug_fixes
 GO bn614_bug_fixes
 ! bn614_bug_fixes.jnl
 ! Fixes that go into v6.14 release
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err611_axislab
 ! err611_axislab.jnl
 ! Fix bug 1582: Horizontal axis label disappeared
@@ -56204,6 +57173,7 @@ ppl plot
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err61_360_calendar
 ! err61_360_calendar.jnl
 !
@@ -56229,6 +57199,7 @@ define axis/t=30-feb-1909:07-mar-1909:2/units=days/t0=1-jan-1909/calendar=d360 t
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err611_exit_if.jnl
 ! err611_exit_if.jnl
 !
@@ -56255,6 +57226,7 @@ exit/script
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err611_save_irreg.jnl
 ! err611_save_irreg.jnl
 !
@@ -56279,6 +57251,7 @@ save/clob/file=b.nc b
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err611_wrong_fineaxis_range
 ! err611_wrong_fineaxis_range.jnl
 ! Bug 1594
@@ -56349,6 +57322,7 @@ say `the_plot_var,return=size`
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err611_digit_filename
 ! err611_digit_filename.jnl
 ! Under linux, FILE command fails if filename
@@ -56448,6 +57422,7 @@ SHOW DATA
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err611_parse_semicolon
 ! err611_parse_semicolon.jnl
 ! Bug 1608. The first time it was issued, the first command
@@ -56468,6 +57443,7 @@ c (d; say a ; b
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err611_ov_ax
 ! err611_ov_ax.jnl
 !
@@ -56488,6 +57464,7 @@ set v lr; ppl axlabp 0 0; plot/nolab {-1,1,6}
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err611_context_after_error
 ! err611_context_after_error.jnl
 ! ACM 11/12/08
@@ -56572,6 +57549,7 @@ SET MODE/LAST ignore_error
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err611_isize_gc_fcns
 ! err611_isize_gc_fcns.jnl
 ! ACM 11/13/2008
@@ -56615,6 +57593,7 @@ SAY `XSEQUENCE(a),RETURN=size`
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err611_return_precision
 ! err611_return_precision.jnl
 ! 17-Nov-08 ACM
@@ -56765,6 +57744,7 @@ a-950
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err611_set_var_ez
 ! err611_set_var_ez.jnl
 ! 6-Jan-2009
@@ -56811,6 +57791,7 @@ SP ncdump -h a.nc >> all_ncdump.out
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err611_convert_missing_type
 ! err611_convert_missing_type.jnl
 ! Fix for bug 1620 message about converting data type of
@@ -56833,6 +57814,7 @@ SAVE/CLOBBER/FILE=lonlat.nc lat, lon
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err611_shade_fill_levs
 ! err611_shade_fill_levs.jnl
 ! 2/27/2009
@@ -56856,6 +57838,7 @@ LEV_DEL = "0.02"
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err611_set_uvar_outtyp
 ! err611_set_uvar_outtyp.jnl
 ! fix for bug 1646: set outtype for user variables.
@@ -56878,6 +57861,7 @@ SP ncdump a.nc >> all_ncdump.out
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err611_save_from_desc
 ! err611_save_from_desc.jnl
 !
@@ -56889,6 +57873,7 @@ save/clobber/file=a.nc/i=100 sst
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err611_irregular_axis
  ! err611_irregular_axis.jnl
  
@@ -56919,6 +57904,7 @@ sh grid cc
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err611_ef_string_result
 ! err611_ef_string_result.jnl
 ! testing the fix for bug 1621
@@ -57004,6 +57990,7 @@ list xt
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err61_contour_subspan_reps
 ! err61_contour_subspan_reps.jnl
 ! Bug 1659.
@@ -57041,8 +58028,10 @@ cont/ov/x=-360:360 b
  
  
 ! ******** V6.14 Additions below ***********
-GO bn_reset
+GO bn_reset bn_mode_nodata_lab
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_mode_nodata_lab
 GO bn_mode_nodata_lab
 ! bn_mode_nodata_lab
 ! turns off the No Valid Data label on plots
@@ -57073,8 +58062,10 @@ contour/fill/y=40:50/x=70e:110e/L=1 vwnd
 set mode/last nodata_lab
  
  
-GO bn_reset
+GO bn_reset bn_proleptic_gregorian_calendar
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_proleptic_gregorian_calendar
 GO bn_proleptic_gregorian_calendar
 ! proleptic_gregorian_calendar.jnl
 ! Allow PROLEPTIC_GREGORIAN as a calendar attribute
@@ -57094,8 +58085,10 @@ T0 = 15-JAN-1901
 CALENDAR = ALL_LEAP
    Axis span (to cell edges) = 733
  
-GO bn_reset
+GO bn_reset bn_string_ngd_nbd
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_string_ngd_nbd
 GO bn_string_ngd_nbd
 ! @NGD and @NBD for strings
 ! Bad data is taken to be the null string
@@ -57413,8 +58406,10 @@ list av[i=@ngd,j=@ngd,k=@ngd,L=@ngd]
              T        : 0.5 to 2.5 (XYZT # valid)
           16.00000
  
-GO bn_reset
+GO bn_reset bn_cat_string
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_cat_string
 GO bn_cat_string
 ! bn_cat_string.jnl
 ! Test concatenation functions for string variables
@@ -57482,8 +58477,10 @@ list tcat(a,b)
  5   / 5:"V"
  6   / 6:"W"
  
-GO bn_reset
+GO bn_reset bn_sort_strings
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_sort_strings
 GO bn_sort_strings
 ! bn_sort_strings.jnl
 ! 11/08 acm
@@ -57661,8 +58658,10 @@ list indx_bl, samplel(bl,indx_bl)
 7   / 7:      .... ""   
  
  
-GO bn_reset
+GO bn_reset bn_samplexyt
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_samplexyt
 GO bn_samplexyt
 ! bn_samplexyt.jnl
 ! 1/2009
@@ -57734,8 +58733,10 @@ plot/vs/color=red/over tpts, sampl_pts
  
 set mode calendar
  
-GO bn_reset
+GO bn_reset bn_last_go_file.jnl
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_last_go_file.jnl
 GO bn_last_go_file.jnl
 ! bn_last_go_file.jnl
 ! test the automatically-defined symbol LAST_GO_FILE
@@ -57744,8 +58745,10 @@ show sym last_go_file
 LAST_GO_FILE = "./bn_last_go_file.jnl"
  
  
-GO bn_reset
+GO bn_reset bn_cancel_upcase_uservar.jnl
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_cancel_upcase_uservar.jnl
 GO bn_cancel_upcase_uservar.jnl
 ! bn_cancel_upcase_uservar.jnl
 !
@@ -57779,8 +58782,10 @@ SP ncdump -h a.nc >> all_ncdump.out
  
 SET MODE/LAST upcase_output
  
-GO bn_reset
+GO bn_reset bn_cdf_keepax.jnl
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_cdf_keepax.jnl
 GO bn_cdf_keepax.jnl
 ! bn320_cdf
 ! benchmark to test netCDF input and output
@@ -58634,8 +59639,10 @@ list/x=180 fcn_rev_sub
  0    / 11:  0.0000000
  1S   / 10:  0.3165727
  
-GO bn_reset
+GO bn_reset bn_keep_axisnames.jnl
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_keep_axisnames.jnl
 GO bn_keep_axisnames.jnl
 ! bn_keep_axisnames.jnl
 ! 2/2009 ACM
@@ -58664,8 +59671,10 @@ sp echo "bn_keep_axisnames.jnl --- without /KEEP_AXISNAMES" >> all_ncdump.out
 sp ncdump -h a.nc >> all_ncdump.out
  
  
-GO bn_reset
+GO bn_reset bn_key_label_minmax.jnl
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_key_label_minmax.jnl
 GO bn_key_label_minmax.jnl
 ! bn_key_label_minmax.jnl
  
@@ -58748,14 +59757,17 @@ shade/lev=35 sst[L=1]
  
  
 ! ******** V6.2 Additions below ***********
-GO bn_reset
+GO bn_reset bn62_bug_fixes.jnl
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn62_bug_fixes.jnl
 GO bn62_bug_fixes.jnl
 ! bn62_bug_fixes.jnl
 ! Fixes that go into v6.2 release
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err618_julday.jnl
 ! err618_julday.jnl
 ! Bug 1639
@@ -58805,6 +59817,7 @@ list/t=27-feb-1999:02-mar-1999 rjulianday
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err611_polygons.jnl
 ! err611_polygons.jnl
 ! bug 1661
@@ -58822,8 +59835,10 @@ plot/title="vertical profile" yp4
 GO error_bars polygon/color=red/thickness=2/title="variability" yp4 errors
  
  
-GO bn_reset
+GO bn_reset bn_convolve.jnl
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_convolve.jnl
 GO bn_convolve.jnl
 ! bn_convolve.jnl
 ! test convolutions, including with missing-data.
@@ -58953,8 +59968,10 @@ list a, a[i=@spz], convolvei(a,{.25,.5,.25})
  
  
  
-GO bn_reset
+GO bn_reset bn_tax_tstep.jnl
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_tax_tstep.jnl
 GO bn_tax_tstep.jnl
 ! bn_tax_tstep.jnl
 !
@@ -59068,8 +60085,10 @@ LIST/L=1:15 TAX_TSTEP(tt, "`reset_date`")
  01-JAN-1902 00:01:05 / 14:  65.00000
  01-JAN-1902 00:01:10 / 15:  70.00000
  
-GO bn_reset
+GO bn_reset bn_grads_z.jnl
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_grads_z.jnl
 GO bn_grads_z.jnl
 ! bn_grads_z.jnl
 ! acm 3/31/09
@@ -59134,12 +60153,16 @@ SH GRID am
  CAXIS     DEPTH (m)            5 r-  2                    10                  full
  normal    T
  
+GO bn_reset bn_clock_syms
+cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_clock_syms
 GO bn_clock_syms
 SH SYM delta_cpu, clock_secs, current_date, current_time
-DELTA_CPU = "90.2803"
-CLOCK_SECS = "130.039"
-CURRENT_DATE = "10-Feb-17"
-CURRENT_TIME = "10:10:44"
+DELTA_CPU = "89.6144"
+CLOCK_SECS = "142.243"
+CURRENT_DATE = "11-May-17"
+CURRENT_TIME = "10:28:31"
 ! test special symbols DELTA_CPU, CLOCK_SECS
 !
 ! NOTE THAT THE VALUES OF THE SYMBOLS WILL VARY FROM ONE
@@ -59148,8 +60171,8 @@ CURRENT_TIME = "10:10:44"
 use gt4d011
 shade/k=1 temp[L=@ave]
 sh sym DELTA_CPU, CLOCK_SECS
-DELTA_CPU = "0.06099"
-CLOCK_SECS = "130.171"
+DELTA_CPU = "0.064991"
+CLOCK_SECS = "142.426"
  
 repeat/k=1:10 shade temp[L=@ave]
 !-> REPEAT: K=1
@@ -59163,60 +60186,60 @@ repeat/k=1:10 shade temp[L=@ave]
 !-> REPEAT: K=9
 !-> REPEAT: K=10
 let ten_plots = ($DELTA_CPU)
- !-> DEFINE VARIABLE ten_plots = 0.282958
+ !-> DEFINE VARIABLE ten_plots = 0.291956
 sh sym DELTA_CPU, CLOCK_SECS
-DELTA_CPU = "0.001"
-CLOCK_SECS = "131.475"
+DELTA_CPU = "0"
+CLOCK_SECS = "143.723"
  
 let  sumclock = 0
 let  sumcpu = 0
 sh sym CLOCK_SECS
-CLOCK_SECS = "131.476"
+CLOCK_SECS = "143.724"
 repeat/k=1:10 (shade/pal=rnb2 temp[L=@ave]; let dt = ($DELTA_CPU);\
 let sumcpu =`sumcpu + dt`)
  !-> repeat/k=1:10 (shade/pal=rnb2 temp[L=@ave]; let dt = ($DELTA_CPU);let sumcpu =`sumcpu + dt`)
 !-> REPEAT: K=1
- !-> DEFINE VARIABLE dt = 0.031994
- !-> DEFINE VARIABLE sumcpu =0.031994
+ !-> DEFINE VARIABLE dt = 0.030995
+ !-> DEFINE VARIABLE sumcpu =0.030995
 !-> REPEAT: K=2
- !-> DEFINE VARIABLE dt = 0.031996
- !-> DEFINE VARIABLE sumcpu =0.06399
+ !-> DEFINE VARIABLE dt = 0.031995
+ !-> DEFINE VARIABLE sumcpu =0.06299
 !-> REPEAT: K=3
  !-> DEFINE VARIABLE dt = 0.032995
- !-> DEFINE VARIABLE sumcpu =0.096985
+ !-> DEFINE VARIABLE sumcpu =0.095985
 !-> REPEAT: K=4
- !-> DEFINE VARIABLE dt = 0.032995
- !-> DEFINE VARIABLE sumcpu =0.12998
+ !-> DEFINE VARIABLE dt = 0.032994
+ !-> DEFINE VARIABLE sumcpu =0.128979
 !-> REPEAT: K=5
- !-> DEFINE VARIABLE dt = 0.033995
- !-> DEFINE VARIABLE sumcpu =0.163975
+ !-> DEFINE VARIABLE dt = 0.032996
+ !-> DEFINE VARIABLE sumcpu =0.161975
 !-> REPEAT: K=6
- !-> DEFINE VARIABLE dt = 0.033994
- !-> DEFINE VARIABLE sumcpu =0.197969
+ !-> DEFINE VARIABLE dt = 0.032995
+ !-> DEFINE VARIABLE sumcpu =0.19497
 !-> REPEAT: K=7
- !-> DEFINE VARIABLE dt = 0.032996
+ !-> DEFINE VARIABLE dt = 0.035995
  !-> DEFINE VARIABLE sumcpu =0.230965
 !-> REPEAT: K=8
- !-> DEFINE VARIABLE dt = 0.032995
- !-> DEFINE VARIABLE sumcpu =0.26396
-!-> REPEAT: K=9
  !-> DEFINE VARIABLE dt = 0.034994
- !-> DEFINE VARIABLE sumcpu =0.298954
+ !-> DEFINE VARIABLE sumcpu =0.265959
+!-> REPEAT: K=9
+ !-> DEFINE VARIABLE dt = 0.034995
+ !-> DEFINE VARIABLE sumcpu =0.300954
 !-> REPEAT: K=10
- !-> DEFINE VARIABLE dt = 0.028996
- !-> DEFINE VARIABLE sumcpu =0.32795
+ !-> DEFINE VARIABLE dt = 0.031994
+ !-> DEFINE VARIABLE sumcpu =0.332948
  
 say `sumcpu`
- !-> MESSAGE/CONTINUE 0.32795
-0.32795
+ !-> MESSAGE/CONTINUE 0.332948
+0.332948
 sh sym CLOCK_SECS
-CLOCK_SECS = "133.873"
+CLOCK_SECS = "145.962"
  
 SH SYM session_date, current_date, session_time, current_time
-SESSION_DATE = "10-Feb-17"
-SESSION_TIME = "10:08"
-CURRENT_DATE = "10-Feb-17"
-CURRENT_TIME = "10:10:48"
+SESSION_DATE = "11-May-17"
+SESSION_TIME = "10:26"
+CURRENT_DATE = "11-May-17"
+CURRENT_TIME = "10:28:35"
  
  
 ! ******** V6.3 Additions below ***********
@@ -59224,14 +60247,17 @@ CURRENT_TIME = "10:10:48"
 ! window, not only in window 1, is implemented in v6.3. Not
 ! tested in the benchmarks.
  
-GO bn_reset
+GO bn_reset bn63_bug_fixes.jnl
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn63_bug_fixes.jnl
 GO bn63_bug_fixes.jnl
 ! bn63_bug_fixes.jnl
 ! Fixes that go into v6.3 release
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err62_string_write_nc
 ! err62_string_write_nc.jnl
 ! Bug 1664: string variable written as a float.
@@ -59310,6 +60336,7 @@ list cruise_id_xz
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err62_levset
 ! err62_levset.jnl
 ! fix for bug 1672, top color level chopped off in some circumstances
@@ -59321,6 +60348,7 @@ shade/x=350:390/y=1:10/lev=(376.6,379.0,0.8)(379.0,385.4,0.2) var
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err62_thick_tic_time_axis
 ! err62_thick_tic_time_axis.jnl
 ! Fixing bug 1668
@@ -59374,6 +60402,7 @@ set win/new
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err62_reset_after_inf
 ! err62_reset_after_inf.jnl
 ! Bug 1292
@@ -59393,6 +60422,7 @@ cancel mode meta
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err62_reversed_up
 ! err62_reversed_up.jnl
 !
@@ -59439,6 +60469,7 @@ list z[gz=temp], zboxlo[gz=temp], zboxhi[gz=temp]
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err62_samplexy
 ! err62_samplexy
 ! bug 1677
@@ -59473,6 +60504,7 @@ list sr
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err62_one_point_bounds
 ! err62_one_point_bounds.jnl
 ! Bug 1680
@@ -59505,6 +60537,7 @@ I / *:     5.000000  4.890000  5.110000
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err62_cos_lat_uncentered
 !err62_cos_lat_uncentered.jnl
 ! See this thread, here is the esample, with his test.nc renamed to uncentered.nc
@@ -59653,6 +60686,7 @@ list cell18[x=@din,y=@din]/total_area
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err62_if_inside_repeat
 ! err62_if_inside_repeat.jnl
 ! Bug 1681. Parsing error when, inside the REPEAT, we have
@@ -59719,6 +60753,7 @@ done
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err62_title_curvi_plot
 ! err62_title_curvi_plot.jnl
 ! bug 1669; when the variable and its coordinate variables
@@ -59756,6 +60791,7 @@ LABTIT = "SEA SURFACE TEMPERATURE (Deg C)"
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go err62_save_missingcoordvar
 ! err62_save_missingcoordvar.jnl
 ! see bug 1686
@@ -59772,6 +60808,7 @@ save/clobber/file=a.nc sst
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err62_contourbug
 ! err62_contourbug.jnl
 ! Bug 1688
@@ -59794,6 +60831,7 @@ fill/hlimits=-100:400:50 0.0000001*(xb2+zb)^3,xb2,zb
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err62_append_irreg_to_reg
 ! err62_append_irreg_to_reg.jnl
 ! bug 1692
@@ -59826,6 +60864,7 @@ SET MODE/LAST IGNORE
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err62_axis_stride_off
 ! err62_axis_stride_off.jnl
 ! fixing bug 1689: offset shifted by 1 so /OFFSET=0 >> start index = 1
@@ -59860,7 +60899,7 @@ LIST var
  16-JAN-1969 / 20:  0.6617913
  
 CAN AXIS/STRIDE `var,return=taxis`
- !-> CAN AXIS/STRIDE (AX144)
+ !-> CAN AXIS/STRIDE (AX143)
 SET AXIS/STRIDE=12/OFFSET=11 truemonth ! every December
 LIST var
              VARIABLE : COS(T[GT=TRUEMONTH]/100)
@@ -59889,7 +60928,7 @@ LIST var
 SET MODE IGNORE_ERRROR
 ! Previously didnt check for negative offset value
 CAN AXIS/STRIDE `var,return=taxis`
- !-> CAN AXIS/STRIDE (AX135)
+ !-> CAN AXIS/STRIDE (AX137)
 SET AXIS/STRIDE=12/OFFSET=-1 truemonth
  
 ! Previously didnt give err msg; just ignored non-positive stride value
@@ -59903,6 +60942,7 @@ SET MODE/LAST IGNORE
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err62_compound_string_conditional
 ! err62_compound_string_conditional
 ! Bug 1380
@@ -59933,8 +60973,10 @@ LIST 1 EQ 2 OR "A" EQ "B"    ! should be 0
           0.0000000
  
  
-GO bn_reset
+GO bn_reset bn_axis_reversed_syms
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_axis_reversed_syms
 GO bn_axis_reversed_syms
 ! bn_axis_reversed_syms.jnl
 ! XAXIS_REVERSED and YAXIS_REVERSED are
@@ -60020,8 +61062,10 @@ XAXIS_REVERSED = "0"
 YAXIS_REVERSED = "1"
  
  
-GO bn_reset
+GO bn_reset bn_isdepth
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_isdepth
 GO bn_isdepth
 ! Tests of `var,RETURN=ISDEPTH`
  
@@ -60056,8 +61100,10 @@ say `temp,return=isdepth`
 0
  
  
-GO bn_reset
+GO bn_reset bn_var_hist_levels.jnl
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_var_hist_levels.jnl
 GO bn_var_hist_levels.jnl
 ! bn_var_hist_levels.jnl
 ! Syntax for variance-based or histogram-based levels
@@ -60119,8 +61165,10 @@ shade/line/key/lev=50h/title="/LEV=50h" cvar[K=1]
  
 ! ******** V6.4 Additions below ***********
  
-GO bn_reset
+GO bn_reset bn64_bug_fixes
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn64_bug_fixes
 GO bn64_bug_fixes
 ! bn64_bug_fixes.jnl
 ! Fixes that go into v6.4 release
@@ -60130,6 +61178,7 @@ GO bn64_bug_fixes
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err63_days1900toydmhms
 ! err63_days1900toydmhms.jnl
 !
@@ -60154,6 +61203,7 @@ list/k=2:3 tpts
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err63_log_vaxis
 ! err63_log_vaxis.jnl
 ! fix for bug 1708
@@ -60172,6 +61222,7 @@ plot/vlog z[gz=vert_axis_dn]
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err63_delim_E.jnl
 ! err63_delim_E.jnl
 ! bug 1700
@@ -60209,8 +61260,10 @@ list v1
              X        : 1
         "ZAIRA"
  
-GO bn_reset
+GO bn_reset bn_long_grid_names
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_long_grid_names
 GO bn_long_grid_names
 ! bn_long_grid_names.jnl
 ! test longer grid names (16 --> 64 chars)
@@ -60419,6 +61472,7 @@ stat v1234[g=even]-veven, v1234
  
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 ! regrid_transforms
 use gtsa056_1
 use gtsa056_2
@@ -60427,14 +61481,14 @@ set mode diag
 define axis/t=15-jan-1982:15-mar-1984:120/unit=hour tax5day
 define axis/x=120e:60w:10/unit=degrees xax10
 define grid/like=u/t=tax5day g5dayg5dayg5dayg5dayg5dayg5dayg5dayg5dayg5dayg5day
- getgrid EX#1     C:  7 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  7 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU1          PSXU      PSYU      PSZT2     TIME14
 define grid/like=u/x=xax10/z=w/t=tax5day g5_10g00abcdefghijklmnopqrstuvwxyz1234567890
  dealloc  dynamic grid PS3DU1          PSXU      PSYU      PSZT2     TIME14
- getgrid EX#1     C:  8 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  8 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU1          PSXU      PSYU      PSZT2     TIME14
  dealloc  dynamic grid PS3DU1          PSXU      PSYU      PSZT2     TIME14
- getgrid EX#1     C:  9 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  9 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DW11         PSXT      PSYT1     PSZW      TIME14
  
 set reg/x=130w:125w/y=0:1.5/z=0:15/t=21-JAN-1982:24-jan-1982
@@ -60444,18 +61498,18 @@ use gtsa056_1    	!kob 4/99
  
 LIST temp[g=g5_10g00abcdefghijklmnopqrstuvwxyz1234567890 at ave]
  dealloc  dynamic grid PS3DW11         PSXT      PSYT1     PSZW      TIME14
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I:   12   12  J:   45   49  K:    1    1  L:    2    3
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:     12     12  J:   45   49  K:    1    1  L:      2      3
  strip regrid on X: TEMP --> G5_10G00ABCDEFGH @AAV
  strip regrid on Z: TEMP --> XNTERMED         @AVE
  strip regrid on T: TEMP --> ZNTERMED         @AVE
- reading TEMP     M: 43 dset:   1 I:   95  106  J:   45   50  K:    1    2  L:    2    5
- regrid  TEMP     M: 42 dset:   1 I:   95  106  J:   45   50  K:    1    2  L:    2    3
- regrid  TEMP     M: 36 dset:   1 I:   95  106  J:   45   50  K:    1    1  L:    2    3
- -DELETE TEMP     M: 42 dset:   1 I:   95  106  J:   45   50  K:    1    2  L:    2    3  M: -999 -999  N: -999 -999
+ reading TEMP     M:249 dset:   1 I:     95    106  J:   45   50  K:    1    2  L:      2      5
+ regrid  TEMP     M:248 dset:   1 I:     95    106  J:   45   50  K:    1    2  L:      2      3
+ regrid  TEMP     M:247 dset:   1 I:     95    106  J:   45   50  K:    1    1  L:      2      3
+ -DELETE TEMP     M:248 dset:   1 I:     95    106  J:   45   50  K:    1    2  L:      2      3  M: -999 -999  N: -999 -999
  regrid XY
- regrid  TEMP     M: 42 dset:   1 I:   12   12  J:   45   49  K:    1    1  L:    2    3
- -DELETE TEMP     M: 36 dset:   1 I:   95  106  J:   45   50  K:    1    1  L:    2    3  M: -999 -999  N: -999 -999
+ regrid  TEMP     M:248 dset:   1 I:     12     12  J:   45   49  K:    1    1  L:      2      3
+ -DELETE TEMP     M:247 dset:   1 I:     95    106  J:   45   50  K:    1    1  L:      2      3  M: -999 -999  N: -999 -999
              VARIABLE : TEMPERATURE (deg. C)
                         regrid: G5_10G00ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890 on X at AAV, on Y at AAV*
              FILENAME : gtsa056_1.cdf
@@ -60468,20 +61522,20 @@ LIST temp[g=g5_10g00abcdefghijklmnopqrstuvwxyz1234567890 at ave]
  25-JAN-1982 00 / 3:  23.88501  23.98344  24.16565  24.39832  24.65027
 LIST temp[g=g5_10g00abcdefghijklmnopqrstuvwxyz1234567890,gx=g5_10g00abcdefghijklmnopqrstuvwxyz1234567890 at ave]
  dealloc  dynamic grid G5_10           XAX10     PSYU      PSZW      TAX5DAY
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I:   12   12  J:   45   49  K:    1    1  L:    2    3
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:     12     12  J:   45   49  K:    1    1  L:      2      3
  strip regrid on X: TEMP --> G5_10            @AVE
  strip regrid on Y: TEMP --> XNTERMED         @LIN
  strip regrid on Z: TEMP --> YNTERMED         @LIN
  strip regrid on T: TEMP --> ZNTERMED         @LIN
- found   TEMP     M: 43 dset:   1 I:   95  106  J:   45   50  K:    1    2  L:    2    5
- regrid  TEMP     M: 36 dset:   1 I:   95  106  J:   45   50  K:    1    2  L:    2    3
- regrid  TEMP     M: 32 dset:   1 I:   95  106  J:   45   50  K:    1    1  L:    2    3
- -DELETE TEMP     M: 36 dset:   1 I:   95  106  J:   45   50  K:    1    2  L:    2    3  M: -999 -999  N: -999 -999
- regrid  TEMP     M: 36 dset:   1 I:   95  106  J:   45   49  K:    1    1  L:    2    3
- -DELETE TEMP     M: 32 dset:   1 I:   95  106  J:   45   50  K:    1    1  L:    2    3  M: -999 -999  N: -999 -999
- regrid  TEMP     M: 32 dset:   1 I:   12   12  J:   45   49  K:    1    1  L:    2    3
- -DELETE TEMP     M: 36 dset:   1 I:   95  106  J:   45   49  K:    1    1  L:    2    3  M: -999 -999  N: -999 -999
+ found   TEMP     M:249 dset:   1 I:     95    106  J:   45   50  K:    1    2  L:      2      5
+ regrid  TEMP     M:247 dset:   1 I:     95    106  J:   45   50  K:    1    2  L:      2      3
+ regrid  TEMP     M:245 dset:   1 I:     95    106  J:   45   50  K:    1    1  L:      2      3
+ -DELETE TEMP     M:247 dset:   1 I:     95    106  J:   45   50  K:    1    2  L:      2      3  M: -999 -999  N: -999 -999
+ regrid  TEMP     M:247 dset:   1 I:     95    106  J:   45   49  K:    1    1  L:      2      3
+ -DELETE TEMP     M:245 dset:   1 I:     95    106  J:   45   50  K:    1    1  L:      2      3  M: -999 -999  N: -999 -999
+ regrid  TEMP     M:245 dset:   1 I:     12     12  J:   45   49  K:    1    1  L:      2      3
+ -DELETE TEMP     M:247 dset:   1 I:     95    106  J:   45   49  K:    1    1  L:      2      3  M: -999 -999  N: -999 -999
              VARIABLE : TEMPERATURE (deg. C)
                         regrid: G5_10 on X at AVE, on Y at LIN, on Z at LIN, on T at LIN
              FILENAME : gtsa056_1.cdf
@@ -60495,18 +61549,18 @@ LIST temp[g=g5_10g00abcdefghijklmnopqrstuvwxyz1234567890,gx=g5_10g00abcdefghijkl
  
 LIST temp[g=g5_10g00abcdefghijklmnopqrstuvwxyz1234567890,gt=g5_10g00abcdefghijklmnopqrstuvwxyz1234567890 at asn]
  dealloc  dynamic grid G5_10           XAX10     PSYU      PSZW      TAX5DAY
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I:   12   12  J:   45   49  K:    1    1  L:    2    3
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:     12     12  J:   45   49  K:    1    1  L:      2      3
  strip regrid on X: TEMP --> G5_10            @LIN
  strip regrid on Z: TEMP --> XNTERMED         @LIN
  strip regrid on T: TEMP --> ZNTERMED         @ASN
- found   TEMP     M: 43 dset:   1 I:   95  106  J:   45   50  K:    1    2  L:    2    5
- regrid  TEMP     M: 36 dset:   1 I:  100  101  J:   45   50  K:    1    2  L:    2    3
- regrid  TEMP     M: 29 dset:   1 I:  100  101  J:   45   50  K:    1    1  L:    2    3
- -DELETE TEMP     M: 36 dset:   1 I:  100  101  J:   45   50  K:    1    2  L:    2    3  M: -999 -999  N: -999 -999
+ found   TEMP     M:249 dset:   1 I:     95    106  J:   45   50  K:    1    2  L:      2      5
+ regrid  TEMP     M:247 dset:   1 I:    100    101  J:   45   50  K:    1    2  L:      2      3
+ regrid  TEMP     M:244 dset:   1 I:    100    101  J:   45   50  K:    1    1  L:      2      3
+ -DELETE TEMP     M:247 dset:   1 I:    100    101  J:   45   50  K:    1    2  L:      2      3  M: -999 -999  N: -999 -999
  regrid XY
- regrid  TEMP     M: 36 dset:   1 I:   12   12  J:   45   49  K:    1    1  L:    2    3
- -DELETE TEMP     M: 29 dset:   1 I:  100  101  J:   45   50  K:    1    1  L:    2    3  M: -999 -999  N: -999 -999
+ regrid  TEMP     M:247 dset:   1 I:     12     12  J:   45   49  K:    1    1  L:      2      3
+ -DELETE TEMP     M:244 dset:   1 I:    100    101  J:   45   50  K:    1    1  L:      2      3  M: -999 -999  N: -999 -999
              VARIABLE : TEMPERATURE (deg. C)
                         regrid: G5_10 on X at LIN, on Y at LIN, on Z at LIN, on T at ASN
              FILENAME : gtsa056_1.cdf
@@ -60523,210 +61577,210 @@ use gtsa056_2	!kob  4/99
 set region/x=180W/y=0/z=5/t=21-JAN-1982:13-JUN-1983
 load temp[i=50:51,j=45:56,k=1:2,l=1:172]  ! preload to save time
  dealloc  dynamic grid G5_10           XAX10     PSYU      PSZW      TAX5DAY
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DT1          PSXT      PSYT1     PSZT2     TIME14
- eval    EX#1     C:  4 dset:   2 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- strip moduloing TEMP on T axis:     1   172 dset:   2
- reading TEMP     M: 29 dset:   2 I:   50   51  J:   45   50  K:    1    2  L:    1  168
- doing moduloing TEMP on T axis:     1   168 dset:   2
+ eval    EX#1     C:  4 dset:   2 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
+ strip moduloing TEMP on T axis:        1      172 dset:   2
+ reading TEMP     M:244 dset:   2 I:     50     51  J:   45   50  K:    1    2  L:      1    168
+ doing moduloing TEMP on T axis:        1      168 dset:   2
 plot temp
  dealloc  dynamic grid PS3DT1          PSXT      PSYT1     PSZT2     TIME14
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DT1          PSXT      PSYT1     PSZT2     TIME14
- eval    EX#1     C:  4 dset:   2 I:   50   50  J:   45   45  K:    1    1  L:    3  170
- found   TEMP     M: 34 dset:   2 I:   50   51  J:   45   50  K:    1    2  L:    1  172
+ eval    EX#1     C:  4 dset:   2 I:     50     50  J:   45   45  K:    1    1  L:      3    170
+ found   TEMP     M:246 dset:   2 I:     50     51  J:   45   50  K:    1    2  L:      1    172
 setting up plot
 PPL plot 760  complete
 plot/over temp[g=u]
  dealloc  dynamic grid PS3DT1          PSXT      PSYT1     PSZT2     TIME14
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU1          PSXU      PSYU      PSZT2     TIME14
- eval    EX#1     C:  4 dset:   2 I:   50   50  J:   45   45  K:    1    1  L:    3  170
- strip moduloing TEMP on T axis:     3   170 dset:   2
+ eval    EX#1     C:  4 dset:   2 I:     50     50  J:   45   45  K:    1    1  L:      3    170
+ strip moduloing TEMP on T axis:        3      170 dset:   2
  strip regrid on X: TEMP --> PS3DU1           @LIN
- found   TEMP     M: 34 dset:   2 I:   50   51  J:   45   50  K:    1    2  L:    1  172
+ found   TEMP     M:246 dset:   2 I:     50     51  J:   45   50  K:    1    2  L:      1    172
  regrid XY
- regrid  TEMP     M: 28 dset:   2 I:   50   50  J:   45   45  K:    1    1  L:    3  168
- doing moduloing TEMP on T axis:     3   168 dset:   2
+ regrid  TEMP     M:243 dset:   2 I:     50     50  J:   45   45  K:    1    1  L:      3    168
+ doing moduloing TEMP on T axis:        3      168 dset:   2
  strip regrid on X: TEMP --> PS3DU1           @LIN
- found   TEMP     M: 34 dset:   2 I:   50   51  J:   45   50  K:    1    2  L:    1  172
+ found   TEMP     M:246 dset:   2 I:     50     51  J:   45   50  K:    1    2  L:      1    172
  regrid XY
- regrid  TEMP     M: 20 dset:   2 I:   50   50  J:   45   45  K:    1    1  L:    1    2
- doing moduloing TEMP on T axis:     1     2 dset:   2
+ regrid  TEMP     M:236 dset:   2 I:     50     50  J:   45   45  K:    1    1  L:      1      2
+ doing moduloing TEMP on T axis:        1        2 dset:   2
 setting up plot
 PPL plot 761  complete
 plot/over temp[g=g5dayg5dayg5dayg5dayg5dayg5dayg5dayg5dayg5dayg5day]
  dealloc  dynamic grid PS3DU1          PSXU      PSYU      PSZT2     TIME14
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   2 I:   50   50  J:   45   45  K:    1    1  L:    2  104
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   2 I:     50     50  J:   45   45  K:    1    1  L:      2    104
  strip regrid on X: TEMP --> G5DAYG5DAYG5DAYG @LIN
  strip regrid on T: TEMP --> XNTERMED         @LIN
- found   TEMP     M: 34 dset:   2 I:   50   51  J:   45   50  K:    1    2  L:    1  172
- regrid  TEMP     M: 18 dset:   2 I:   50   51  J:   45   46  K:    1    1  L:    2  104
+ found   TEMP     M:246 dset:   2 I:     50     51  J:   45   50  K:    1    2  L:      1    172
+ regrid  TEMP     M:234 dset:   2 I:     50     51  J:   45   46  K:    1    1  L:      2    104
  regrid XY
- regrid  TEMP     M: 15 dset:   2 I:   50   50  J:   45   45  K:    1    1  L:    2  104
- -DELETE TEMP     M: 18 dset:   2 I:   50   51  J:   45   46  K:    1    1  L:    2  104  M: -999 -999  N: -999 -999
+ regrid  TEMP     M:232 dset:   2 I:     50     50  J:   45   45  K:    1    1  L:      2    104
+ -DELETE TEMP     M:234 dset:   2 I:     50     51  J:   45   46  K:    1    1  L:      2    104  M: -999 -999  N: -999 -999
 setting up plot
 PPL plot 762  complete
 plot/over temp[g=g5_10g00abcdefghijklmnopqrstuvwxyz1234567890]
  dealloc  dynamic grid G5DAYG5DAYG5DAYGPSXU      PSYU      PSZT2     TAX5DAY
- -DELETE TEMP     M: 15 dset:   2 I:   50   50  J:   45   45  K:    1    1  L:    2  104
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   2 I:    7    7  J:   45   45  K:    1    1  L:    2  104
+ -DELETE TEMP     M:232 dset:   2 I:     50     50  J:   45   45  K:    1    1  L:      2    104
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   2 I:      7      7  J:   45   45  K:    1    1  L:      2    104
  strip regrid on X: TEMP --> G5_10G00ABCDEFGH @LIN
  strip regrid on Z: TEMP --> XNTERMED         @LIN
  strip regrid on T: TEMP --> ZNTERMED         @LIN
- found   TEMP     M: 34 dset:   2 I:   50   51  J:   45   50  K:    1    2  L:    1  172
- regrid  TEMP     M: 15 dset:   2 I:   50   51  J:   45   46  K:    1    2  L:    2  104
- regrid  TEMP     M: 18 dset:   2 I:   50   51  J:   45   46  K:    1    1  L:    2  104
- -DELETE TEMP     M: 15 dset:   2 I:   50   51  J:   45   46  K:    1    2  L:    2  104  M: -999 -999  N: -999 -999
+ found   TEMP     M:246 dset:   2 I:     50     51  J:   45   50  K:    1    2  L:      1    172
+ regrid  TEMP     M:232 dset:   2 I:     50     51  J:   45   46  K:    1    2  L:      2    104
+ regrid  TEMP     M:234 dset:   2 I:     50     51  J:   45   46  K:    1    1  L:      2    104
+ -DELETE TEMP     M:232 dset:   2 I:     50     51  J:   45   46  K:    1    2  L:      2    104  M: -999 -999  N: -999 -999
  regrid XY
- regrid  TEMP     M: 15 dset:   2 I:    7    7  J:   45   45  K:    1    1  L:    2  104
- -DELETE TEMP     M: 18 dset:   2 I:   50   51  J:   45   46  K:    1    1  L:    2  104  M: -999 -999  N: -999 -999
+ regrid  TEMP     M:232 dset:   2 I:      7      7  J:   45   45  K:    1    1  L:      2    104
+ -DELETE TEMP     M:234 dset:   2 I:     50     51  J:   45   46  K:    1    1  L:      2    104  M: -999 -999  N: -999 -999
 setting up plot
 PPL plot 763  complete
 plot/over temp[g=u at ave]
  dealloc  dynamic grid G5_10           XAX10     PSYU      PSZW      TAX5DAY
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU1          PSXU      PSYU      PSZT2     TIME14
- eval    EX#1     C:  4 dset:   2 I:   50   50  J:   45   45  K:    1    1  L:    3  170
- strip moduloing TEMP on T axis:     3   170 dset:   2
+ eval    EX#1     C:  4 dset:   2 I:     50     50  J:   45   45  K:    1    1  L:      3    170
+ strip moduloing TEMP on T axis:        3      170 dset:   2
  strip regrid on X: TEMP --> PS3DU1           @AAV
- found   TEMP     M: 34 dset:   2 I:   50   51  J:   45   50  K:    1    2  L:    1  172
+ found   TEMP     M:246 dset:   2 I:     50     51  J:   45   50  K:    1    2  L:      1    172
  regrid XY
- regrid  TEMP     M: 18 dset:   2 I:   50   50  J:   45   45  K:    1    1  L:    3  168
- doing moduloing TEMP on T axis:     3   168 dset:   2
+ regrid  TEMP     M:234 dset:   2 I:     50     50  J:   45   45  K:    1    1  L:      3    168
+ doing moduloing TEMP on T axis:        3      168 dset:   2
  strip regrid on X: TEMP --> PS3DU1           @AAV
- found   TEMP     M: 34 dset:   2 I:   50   51  J:   45   50  K:    1    2  L:    1  172
+ found   TEMP     M:246 dset:   2 I:     50     51  J:   45   50  K:    1    2  L:      1    172
  regrid XY
- regrid  TEMP     M: 13 dset:   2 I:   50   50  J:   45   45  K:    1    1  L:    1    2
- doing moduloing TEMP on T axis:     1     2 dset:   2
+ regrid  TEMP     M:230 dset:   2 I:     50     50  J:   45   45  K:    1    1  L:      1      2
+ doing moduloing TEMP on T axis:        1        2 dset:   2
 setting up plot
 PPL plot 764  complete
 plot/over temp[g=g5dayg5dayg5dayg5dayg5dayg5dayg5dayg5dayg5dayg5day at ave]
  dealloc  dynamic grid PS3DU1          PSXU      PSYU      PSZT2     TIME14
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   2 I:   50   50  J:   45   45  K:    1    1  L:    2  104
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   2 I:     50     50  J:   45   45  K:    1    1  L:      2    104
  strip regrid on X: TEMP --> G5DAYG5DAYG5DAYG @AAV
  strip regrid on T: TEMP --> XNTERMED         @AVE
- found   TEMP     M: 34 dset:   2 I:   50   51  J:   45   50  K:    1    2  L:    1  172
- regrid  TEMP     M: 12 dset:   2 I:   50   51  J:   45   46  K:    1    1  L:    2  104
+ found   TEMP     M:246 dset:   2 I:     50     51  J:   45   50  K:    1    2  L:      1    172
+ regrid  TEMP     M:229 dset:   2 I:     50     51  J:   45   46  K:    1    1  L:      2    104
  regrid XY
- regrid  TEMP     M: 11 dset:   2 I:   50   50  J:   45   45  K:    1    1  L:    2  104
- -DELETE TEMP     M: 12 dset:   2 I:   50   51  J:   45   46  K:    1    1  L:    2  104  M: -999 -999  N: -999 -999
+ regrid  TEMP     M:228 dset:   2 I:     50     50  J:   45   45  K:    1    1  L:      2    104
+ -DELETE TEMP     M:229 dset:   2 I:     50     51  J:   45   46  K:    1    1  L:      2    104  M: -999 -999  N: -999 -999
 setting up plot
 PPL plot 765  complete
 plot/over temp[g=g5_10g00abcdefghijklmnopqrstuvwxyz1234567890 at ave]
  dealloc  dynamic grid G5DAYG5DAYG5DAYGPSXU      PSYU      PSZT2     TAX5DAY
- -DELETE TEMP     M: 11 dset:   2 I:   50   50  J:   45   45  K:    1    1  L:    2  104
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   2 I:    7    7  J:   45   45  K:    1    1  L:    2  104
+ -DELETE TEMP     M:228 dset:   2 I:     50     50  J:   45   45  K:    1    1  L:      2    104
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   2 I:      7      7  J:   45   45  K:    1    1  L:      2    104
  strip regrid on X: TEMP --> G5_10G00ABCDEFGH @AAV
  strip regrid on Z: TEMP --> XNTERMED         @AVE
  strip regrid on T: TEMP --> ZNTERMED         @AVE
- strip moduloing TEMP on T axis:     2   171 dset:   2
- reading TEMP     M: 11 dset:   2 I:   45   56  J:   45   46  K:    1    2  L:    1  168
- doing moduloing TEMP on T axis:     1   168 dset:   2
- regrid  TEMP     M:  9 dset:   2 I:   45   56  J:   45   46  K:    1    2  L:    2  104
- regrid  TEMP     M: 23 dset:   2 I:   45   56  J:   45   46  K:    1    1  L:    2  104
- -DELETE TEMP     M:  9 dset:   2 I:   45   56  J:   45   46  K:    1    2  L:    2  104  M: -999 -999  N: -999 -999
+ strip moduloing TEMP on T axis:        2      171 dset:   2
+ reading TEMP     M:228 dset:   2 I:     45     56  J:   45   46  K:    1    2  L:      1    168
+ doing moduloing TEMP on T axis:        1      168 dset:   2
+ regrid  TEMP     M:226 dset:   2 I:     45     56  J:   45   46  K:    1    2  L:      2    104
+ regrid  TEMP     M:239 dset:   2 I:     45     56  J:   45   46  K:    1    1  L:      2    104
+ -DELETE TEMP     M:226 dset:   2 I:     45     56  J:   45   46  K:    1    2  L:      2    104  M: -999 -999  N: -999 -999
  regrid XY
- regrid  TEMP     M:  9 dset:   2 I:    7    7  J:   45   45  K:    1    1  L:    2  104
- -DELETE TEMP     M: 23 dset:   2 I:   45   56  J:   45   46  K:    1    1  L:    2  104  M: -999 -999  N: -999 -999
+ regrid  TEMP     M:226 dset:   2 I:      7      7  J:   45   45  K:    1    1  L:      2    104
+ -DELETE TEMP     M:239 dset:   2 I:     45     56  J:   45   46  K:    1    1  L:      2    104  M: -999 -999  N: -999 -999
 setting up plot
 PPL plot 766  complete
 plot/over temp[g=u at asn]
  dealloc  dynamic grid G5_10           XAX10     PSYU      PSZW      TAX5DAY
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU1          PSXU      PSYU      PSZT2     TIME14
- eval    EX#1     C:  4 dset:   2 I:   50   50  J:   45   45  K:    1    1  L:    3  170
- strip moduloing TEMP on T axis:     3   170 dset:   2
+ eval    EX#1     C:  4 dset:   2 I:     50     50  J:   45   45  K:    1    1  L:      3    170
+ strip moduloing TEMP on T axis:        3      170 dset:   2
  strip regrid on X: TEMP --> PS3DU1           @ASN
  strip regrid on Y: TEMP --> XNTERMED         @ASN
- found   TEMP     M: 12 dset:   2 I:   45   56  J:   45   46  K:    1    2  L:    2  171
- regrid  TEMP     M: 23 dset:   2 I:   50   50  J:   45   45  K:    1    1  L:    3  168
- regrid  TEMP     M: 26 dset:   2 I:   50   50  J:   45   45  K:    1    1  L:    3  168
- -DELETE TEMP     M: 23 dset:   2 I:   50   50  J:   45   45  K:    1    1  L:    3  168  M: -999 -999  N: -999 -999
- doing moduloing TEMP on T axis:     3   168 dset:   2
+ found   TEMP     M:229 dset:   2 I:     45     56  J:   45   46  K:    1    2  L:      2    171
+ regrid  TEMP     M:239 dset:   2 I:     50     50  J:   45   45  K:    1    1  L:      3    168
+ regrid  TEMP     M:241 dset:   2 I:     50     50  J:   45   45  K:    1    1  L:      3    168
+ -DELETE TEMP     M:239 dset:   2 I:     50     50  J:   45   45  K:    1    1  L:      3    168  M: -999 -999  N: -999 -999
+ doing moduloing TEMP on T axis:        3      168 dset:   2
  strip regrid on X: TEMP --> PS3DU1           @ASN
  strip regrid on Y: TEMP --> XNTERMED         @ASN
- found   TEMP     M: 11 dset:   2 I:   45   56  J:   45   46  K:    1    2  L:    1  168
- regrid  TEMP     M: 27 dset:   2 I:   50   50  J:   45   45  K:    1    1  L:    1    2
- regrid  TEMP     M: 22 dset:   2 I:   50   50  J:   45   45  K:    1    1  L:    1    2
- -DELETE TEMP     M: 27 dset:   2 I:   50   50  J:   45   45  K:    1    1  L:    1    2  M: -999 -999  N: -999 -999
- doing moduloing TEMP on T axis:     1     2 dset:   2
+ found   TEMP     M:228 dset:   2 I:     45     56  J:   45   46  K:    1    2  L:      1    168
+ regrid  TEMP     M:242 dset:   2 I:     50     50  J:   45   45  K:    1    1  L:      1      2
+ regrid  TEMP     M:237 dset:   2 I:     50     50  J:   45   45  K:    1    1  L:      1      2
+ -DELETE TEMP     M:242 dset:   2 I:     50     50  J:   45   45  K:    1    1  L:      1      2  M: -999 -999  N: -999 -999
+ doing moduloing TEMP on T axis:        1        2 dset:   2
 setting up plot
 PPL plot 767  complete
 plot/over temp[g=g5_10g00abcdefghijklmnopqrstuvwxyz1234567890 at asn]
  dealloc  dynamic grid PS3DU1          PSXU      PSYU      PSZT2     TIME14
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   2 I:    7    7  J:   45   45  K:    1    1  L:    2  104
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   2 I:      7      7  J:   45   45  K:    1    1  L:      2    104
  strip regrid on X: TEMP --> G5_10G00ABCDEFGH @ASN
  strip regrid on Y: TEMP --> XNTERMED         @ASN
  strip regrid on Z: TEMP --> YNTERMED         @ASN
  strip regrid on T: TEMP --> ZNTERMED         @ASN
- reading TEMP     M: 27 dset:   2 I:    7    7  J:   45   45  K:    1    1  L:    2  104
- regrid  TEMP     M: 19 dset:   2 I:    7    7  J:   45   45  K:    1    1  L:    2  104
- regrid  TEMP     M: 10 dset:   2 I:    7    7  J:   45   45  K:    1    1  L:    2  104
- -DELETE TEMP     M: 19 dset:   2 I:    7    7  J:   45   45  K:    1    1  L:    2  104  M: -999 -999  N: -999 -999
- regrid  TEMP     M: 19 dset:   2 I:    7    7  J:   45   45  K:    1    1  L:    2  104
- -DELETE TEMP     M: 10 dset:   2 I:    7    7  J:   45   45  K:    1    1  L:    2  104  M: -999 -999  N: -999 -999
- regrid  TEMP     M: 10 dset:   2 I:    7    7  J:   45   45  K:    1    1  L:    2  104
- -DELETE TEMP     M: 19 dset:   2 I:    7    7  J:   45   45  K:    1    1  L:    2  104  M: -999 -999  N: -999 -999
+ reading TEMP     M:242 dset:   2 I:      7      7  J:   45   45  K:    1    1  L:      2    104
+ regrid  TEMP     M:235 dset:   2 I:      7      7  J:   45   45  K:    1    1  L:      2    104
+ regrid  TEMP     M:227 dset:   2 I:      7      7  J:   45   45  K:    1    1  L:      2    104
+ -DELETE TEMP     M:235 dset:   2 I:      7      7  J:   45   45  K:    1    1  L:      2    104  M: -999 -999  N: -999 -999
+ regrid  TEMP     M:235 dset:   2 I:      7      7  J:   45   45  K:    1    1  L:      2    104
+ -DELETE TEMP     M:227 dset:   2 I:      7      7  J:   45   45  K:    1    1  L:      2    104  M: -999 -999  N: -999 -999
+ regrid  TEMP     M:227 dset:   2 I:      7      7  J:   45   45  K:    1    1  L:      2    104
+ -DELETE TEMP     M:235 dset:   2 I:      7      7  J:   45   45  K:    1    1  L:      2    104  M: -999 -999  N: -999 -999
 setting up plot
 PPL plot 768  complete
 plot/over temp[g=u,gt=u at ave]
  dealloc  dynamic grid G5_10           XAX10     PSYU      PSZW      TAX5DAY
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU1          PSXU      PSYU      PSZT2     TIME14
  dealloc  dynamic grid PS3DU1          PSXU      PSYU      PSZT2     TIME14
  allocate dynamic grid PS3DU1          PSXU      PSYU      PSZT2     TIME14
- eval    EX#1     C:  4 dset:   2 I:   50   50  J:   45   45  K:    1    1  L:    3  170
+ eval    EX#1     C:  4 dset:   2 I:     50     50  J:   45   45  K:    1    1  L:      3    170
  allocate dynamic grid PS3DU1          PSXU      PSYU      PSZT2     TIME14
- found   TEMP     M: 17 dset:   2 I:   50   50  J:   45   45  K:    1    1  L:    3  170
+ found   TEMP     M:233 dset:   2 I:     50     50  J:   45   45  K:    1    1  L:      3    170
  dealloc  dynamic grid PS3DU1          PSXU      PSYU      PSZT2     TIME14
 setting up plot
 PPL plot 769  complete
 plot/over temp[g=g5dayg5dayg5dayg5dayg5dayg5dayg5dayg5dayg5dayg5day,gt=g5dayg5dayg5dayg5dayg5dayg5dayg5dayg5dayg5dayg5day at ave]
  dealloc  dynamic grid PS3DU1          PSXU      PSYU      PSZT2     TIME14
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   2 I:   50   50  J:   45   45  K:    1    1  L:    2  104
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   2 I:     50     50  J:   45   45  K:    1    1  L:      2    104
  strip regrid on X: TEMP --> G5DAYG5DAYG5DAYG @LIN
  strip regrid on T: TEMP --> XNTERMED         @AVE
- found   TEMP     M: 12 dset:   2 I:   45   56  J:   45   46  K:    1    2  L:    2  171
- regrid  TEMP     M: 19 dset:   2 I:   50   51  J:   45   46  K:    1    1  L:    2  104
+ found   TEMP     M:229 dset:   2 I:     45     56  J:   45   46  K:    1    2  L:      2    171
+ regrid  TEMP     M:235 dset:   2 I:     50     51  J:   45   46  K:    1    1  L:      2    104
  regrid XY
- regrid  TEMP     M: 25 dset:   2 I:   50   50  J:   45   45  K:    1    1  L:    2  104
- -DELETE TEMP     M: 19 dset:   2 I:   50   51  J:   45   46  K:    1    1  L:    2  104  M: -999 -999  N: -999 -999
+ regrid  TEMP     M:240 dset:   2 I:     50     50  J:   45   45  K:    1    1  L:      2    104
+ -DELETE TEMP     M:235 dset:   2 I:     50     51  J:   45   46  K:    1    1  L:      2    104  M: -999 -999  N: -999 -999
 setting up plot
 PPL plot 770  complete
 plot/over temp[g=g5_10g00abcdefghijklmnopqrstuvwxyz1234567890,gt=g5_10g00abcdefghijklmnopqrstuvwxyz1234567890 at ave]
  dealloc  dynamic grid G5DAYG5DAYG5DAYGPSXU      PSYU      PSZT2     TAX5DAY
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   2 I:    7    7  J:   45   45  K:    1    1  L:    2  104
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   2 I:      7      7  J:   45   45  K:    1    1  L:      2    104
  strip regrid on X: TEMP --> G5_10            @LIN
  strip regrid on Z: TEMP --> XNTERMED         @LIN
  strip regrid on T: TEMP --> ZNTERMED         @AVE
- found   TEMP     M: 12 dset:   2 I:   45   56  J:   45   46  K:    1    2  L:    2  171
- regrid  TEMP     M: 19 dset:   2 I:   50   51  J:   45   46  K:    1    2  L:    2  104
- regrid  TEMP     M: 21 dset:   2 I:   50   51  J:   45   46  K:    1    1  L:    2  104
- -DELETE TEMP     M: 19 dset:   2 I:   50   51  J:   45   46  K:    1    2  L:    2  104  M: -999 -999  N: -999 -999
+ found   TEMP     M:229 dset:   2 I:     45     56  J:   45   46  K:    1    2  L:      2    171
+ regrid  TEMP     M:235 dset:   2 I:     50     51  J:   45   46  K:    1    2  L:      2    104
+ regrid  TEMP     M:238 dset:   2 I:     50     51  J:   45   46  K:    1    1  L:      2    104
+ -DELETE TEMP     M:235 dset:   2 I:     50     51  J:   45   46  K:    1    2  L:      2    104  M: -999 -999  N: -999 -999
  regrid XY
- regrid  TEMP     M: 19 dset:   2 I:    7    7  J:   45   45  K:    1    1  L:    2  104
- -DELETE TEMP     M: 21 dset:   2 I:   50   51  J:   45   46  K:    1    1  L:    2  104  M: -999 -999  N: -999 -999
+ regrid  TEMP     M:235 dset:   2 I:      7      7  J:   45   45  K:    1    1  L:      2    104
+ -DELETE TEMP     M:238 dset:   2 I:     50     51  J:   45   46  K:    1    1  L:      2    104  M: -999 -999  N: -999 -999
 setting up plot
 PPL plot 771  complete
 plot/over temp[g=g5dayg5dayg5dayg5dayg5dayg5dayg5dayg5dayg5dayg5day,gt=g5dayg5dayg5dayg5dayg5dayg5dayg5dayg5dayg5dayg5day at asn]  ! invalid interpretation of data
  dealloc  dynamic grid G5_10           XAX10     PSYU      PSZW      TAX5DAY
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   2 I:   50   50  J:   45   45  K:    1    1  L:    2  104
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   2 I:     50     50  J:   45   45  K:    1    1  L:      2    104
  strip regrid on X: TEMP --> G5DAYG5DAYG5DAYG @LIN
  strip regrid on T: TEMP --> XNTERMED         @ASN
- found   TEMP     M: 12 dset:   2 I:   45   56  J:   45   46  K:    1    2  L:    2  171
- regrid  TEMP     M: 21 dset:   2 I:   50   51  J:   45   46  K:    1    1  L:    2  104
+ found   TEMP     M:229 dset:   2 I:     45     56  J:   45   46  K:    1    2  L:      2    171
+ regrid  TEMP     M:238 dset:   2 I:     50     51  J:   45   46  K:    1    1  L:      2    104
  regrid XY
- regrid  TEMP     M:  8 dset:   2 I:   50   50  J:   45   45  K:    1    1  L:    2  104
- -DELETE TEMP     M: 21 dset:   2 I:   50   51  J:   45   46  K:    1    1  L:    2  104  M: -999 -999  N: -999 -999
+ regrid  TEMP     M:225 dset:   2 I:     50     50  J:   45   45  K:    1    1  L:      2    104
+ -DELETE TEMP     M:238 dset:   2 I:     50     51  J:   45   46  K:    1    1  L:      2    104  M: -999 -999  N: -999 -999
 setting up plot
 PPL plot 772  complete
  
@@ -60735,6 +61789,7 @@ set mode/last diag
  
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 ! regrid_to_user
  
 use coads_climatology
@@ -60768,8 +61823,8 @@ list/x=160e/y=5s temp[d=2,k=1,g=a[d=1]]
           29.51700
 show grid
  Default grid for DEFINE VARIABLE is ABSTRACT
- Last successful data access was on grid (G108)
-    GRID (G108)
+ Last successful data access was on grid (G104)
+    GRID (G104)
  name       axis              # pts   start                end                 subset
  COADSX    LONGITUDE          180mr   21E                  19E(379)            full
  COADSY    LATITUDE            90 r   89S                  89N                 full
@@ -60797,8 +61852,8 @@ list/x=160e/y=5s temp[d=2,k=1,gy=yax,gx=a[d=1]]
           29.51700
 show grid
  Default grid for DEFINE VARIABLE is ABSTRACT
- Last successful data access was on grid (G108)
-    GRID (G108)
+ Last successful data access was on grid (G104)
+    GRID (G104)
  name       axis              # pts   start                end                 subset
  COADSX    LONGITUDE          180mr   21E                  19E(379)            full
  YAX       LATITUDE            81 r   20S                  20N                 full
@@ -60824,8 +61879,8 @@ list/x=160e/y=5s temp[d=2,k=1,gx=a[d=1],g=gg12345678901234567890]
           29.51700
 show grid
  Default grid for DEFINE VARIABLE is ABSTRACT
- Last successful data access was on grid (G108)
-    GRID (G108)
+ Last successful data access was on grid (G104)
+    GRID (G104)
  name       axis              # pts   start                end                 subset
  COADSX    LONGITUDE          180mr   21E                  19E(379)            full
  YAX       LATITUDE            81 r   20S                  20N                 full
@@ -60930,16 +61985,16 @@ show grid
 load/d=coads_climatology sst[y=-10:10:.1,l=1,x=160e]
 show grid
  Default grid for DEFINE VARIABLE is G
- Last successful data access was on grid (G108)
-    GRID (G108)
+ Last successful data access was on grid (G104)
+    GRID (G104)
  name       axis              # pts   start                end                 subset
  COADSX    LONGITUDE          180mr   21E                  19E(379)            1 pt
- (AX121)   LATITUDE           201 r   10S                  10N                 200 pts
+ (AX121)   LATITUDE           201 r   10S                  10N                 201 pts
  normal    Z
  TIME10    TIME                 3mr   16-JAN 06:00         17-MAR 02:58        1 pt
 show grid/dynamic
 Dynamic grids:
-    GRID (G108)                          use count:   1
+    GRID (G104)                          use count:   1
  name       axis              # pts   start                end
  COADSX    LONGITUDE          180mr   21E                  19E(379)
  (AX121)   LATITUDE           201 r   10S                  10N
@@ -60954,6 +62009,7 @@ set mode/last ignore
  
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
  
 ! dynamic grid commands
  
@@ -60969,8 +62025,10 @@ SHOW GRID mygrid_123456789012345678901234567890
  ZAXLEVITR1_1 DEPTH (m)         1 r-  0                    0
  normal    T
  
-GO bn_reset
+GO bn_reset bn_xml_repl
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_xml_repl
 GO bn_xml_repl
 ! bn_xml_repl.jnl
 ! replace > and < and & with their html equivalents.
@@ -61019,14 +62077,17 @@ sh dat/xml/var
  
 ! ******** V6.5 Additions below ***********
  
-GO bn_reset
+GO bn_reset bn65_bug_fixes
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn65_bug_fixes
 GO bn65_bug_fixes
 ! bn65_bug_fixes.jnl
 ! Fixes that go into v6.5 release
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err64_very_small_latlon
 ! err64_very_small_latlon.jnl
 ! Based on a report and data file from Jean Newman.
@@ -61041,6 +62102,7 @@ shade/i=1:10/j=1:10 bathy
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err64_packed_data
 ! err64_packed_data.jnl
 ! Test writing packed data. Prior to v6.4 this example shows the
@@ -61133,6 +62195,7 @@ list/i=1:15 sst
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO bn_repl_9999999
 ! bn_repl_9999999.jnl
 ! Bug 1717
@@ -61147,6 +62210,7 @@ can view view9999999
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err64_shakey_missingdata
 ! err64_shakey_missingdata.jnl
 ! starting with v6.2 a polygon plot with all missing data.
@@ -61171,6 +62235,7 @@ go polytube polygon/over/key/lev=(0,6,1) xpts,ypts,zpts
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err64_return_precision
 !err64_return_precision.jnl
 ! most of these resulted in *** - format too small.
@@ -61203,6 +62268,7 @@ say `999.999,p=-2`
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err64_parse_equals
 ! err64_parse_equals
 ! Bug1469 (and duplicate 1690)
@@ -61223,6 +62289,7 @@ DEFINE SYMBOL my_sym  = `UPCASE("/lev=(0,30,2)")`
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err64_regrid_noleap
 ! err64_regrid_noleap.jnl
 !
@@ -61266,6 +62333,7 @@ list b[t=15-feb-1150]  ! Now ok??
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err64_polymark_over_calendar
 ! err64_polymark_over_calendar.jnl
 ! bug1722.  Polymark script failed with calendar mismatch
@@ -61283,8 +62351,10 @@ go polymark "poly/ov/nolab/pal=red/line=1" pos pos " " circle .5
  
  
  
-GO bn_reset
+GO bn_reset bn_txtype_dmy
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_txtype_dmy
 GO bn_txtype_dmy
 ! bn_txtype_dmy.jnl
 ! 2/2010 ACM
@@ -61409,8 +62479,10 @@ ppl plot
 plot/y=-1/k=1/t=5-mar-1982:28-mar-1982/x=144w temp
 plot/y=-1/k=1/t=5-mar-1982:28-apr-1982/x=144w temp
  
-GO bn_reset
+GO bn_reset bn_n_open_dsets_sym
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_n_open_dsets_sym
 GO bn_n_open_dsets_sym
  !  bn_n_open_dsets_sym.jnl
 ! Ferret v6.5
@@ -61453,8 +62525,10 @@ sh sym N_OPEN_DSETS
 N_OPEN_DSETS = "0"
  
  
-GO bn_reset
+GO bn_reset bn_multi_decade
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_multi_decade
 GO bn_multi_decade
 ! bn_multi_decade.jnl
 ! New default no-small tics for multi-decade plots
@@ -61517,8 +62591,10 @@ set view v8; plot/trans/nolab/ax=0,0,1,0/hlim=0:1/set tvar
   ppl tics,0.1,0.25
   ppl plot
  
-GO bn_reset
+GO bn_reset bn_show_xml_file
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_show_xml_file
 GO bn_show_xml_file
 ! bn_show_xml_file.jnl
 ! Testing SHOW DATA/OUTFILE
@@ -61638,18 +62714,18 @@ sp cat the_xml_file.xml
    <value><![CDATA[MONTH_IRREG]]></value>
 </attribute>
 </axis>
-<axis name="XAX1_15">
+<axis name="YAX1_5">
 <attribute name="direction" type="char">
-   <value><![CDATA[I]]></value>
+   <value><![CDATA[J]]></value>
 </attribute>
 <attribute name="length" type="short">
-   <value>15</value>
+   <value>5</value>
 </attribute>
 <attribute name="start" type="double">
    <value>1</value>
 </attribute>
 <attribute name="end" type="double">
-   <value>15</value>
+   <value>5</value>
 </attribute>
 <attribute name="point_spacing" type="char">
    <value><![CDATA[even]]></value>
@@ -61661,24 +62737,24 @@ sp cat the_xml_file.xml
    <value><![CDATA[DOUBLE]]></value>
 </attribute>
 <attribute name="axis" type="char">
-   <value><![CDATA[X]]></value>
+   <value><![CDATA[Y]]></value>
 </attribute>
 <attribute name="orig_file_axname" type="char">
-   <value><![CDATA[XAX1_15]]></value>
+   <value><![CDATA[YAX1_5]]></value>
 </attribute>
 </axis>
-<axis name="YAX1_5">
+<axis name="XAX1_15">
 <attribute name="direction" type="char">
-   <value><![CDATA[J]]></value>
+   <value><![CDATA[I]]></value>
 </attribute>
 <attribute name="length" type="short">
-   <value>5</value>
+   <value>15</value>
 </attribute>
 <attribute name="start" type="double">
    <value>1</value>
 </attribute>
 <attribute name="end" type="double">
-   <value>5</value>
+   <value>15</value>
 </attribute>
 <attribute name="point_spacing" type="char">
    <value><![CDATA[even]]></value>
@@ -61690,10 +62766,10 @@ sp cat the_xml_file.xml
    <value><![CDATA[DOUBLE]]></value>
 </attribute>
 <attribute name="axis" type="char">
-   <value><![CDATA[Y]]></value>
+   <value><![CDATA[X]]></value>
 </attribute>
 <attribute name="orig_file_axname" type="char">
-   <value><![CDATA[YAX1_5]]></value>
+   <value><![CDATA[XAX1_15]]></value>
 </attribute>
 </axis>
 </axes>
@@ -61701,13 +62777,15 @@ sp cat the_xml_file.xml
  
  
  
-! GO bn_reset
+! GO bn_reset O bn_encode_url
 ! GO bn_encode_url
  
 ! ******** V6.6 Additions below ***********
  
-GO bn_reset
+GO bn_reset bn66_bug_fixes
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn66_bug_fixes
 GO bn66_bug_fixes
 ! bn66_bug_fixes.jnl
 ! Fixes that go into v6.6 release
@@ -61715,6 +62793,7 @@ GO bn66_bug_fixes
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err65_averages.jnl
  
 use gt4d011
@@ -61805,8 +62884,10 @@ stat temp[z=@ave,t=@ave,y=-2:2]
  
 cancel region
  
-GO bn_reset
+GO bn_reset bn_netcdf4
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_netcdf4
 GO bn_netcdf4
 ! bn_netcdf4.jnl
 ! test syntax for controling NetCDF-4 intput and output.
@@ -61864,11 +62945,11 @@ save/file=nc4_deflate4_defaultchunk.nc/clobber/ncformat=4/deflate/shuffle sst
 sp stat nc4_nodeflate3.nc --printf="Bytes: %s\n"
 Bytes: 197528
 sp stat nc4_deflate4bigchunk.nc --printf="Bytes: %s\n"
-Bytes: 4315436
+Bytes: 4315437
 sp stat nc4_deflate4_xyt.nc --printf="Bytes: %s\n"
-Bytes: 4314796
+Bytes: 4314797
 sp stat nc4_deflate4_defaultchunk.nc --printf="Bytes: %s\n"
-Bytes: 4309089
+Bytes: 4309090
  
 ! Write variable as INT
 CAN DAT/all; can var/all; can mem/all
@@ -61885,9 +62966,9 @@ save/clobber/shuffle=1/file=nc4_inttemp_shuffle_set_list_deflate_chunk.nc temp
 sp stat nc4_inttemp_classic.nc --printf="Bytes: %s\n"
 Bytes: 60560
 sp stat nc4_inttemp_set_list_deflate_chunk.nc --printf="Bytes: %s\n"
-Bytes: 32175
+Bytes: 32176
 sp stat nc4_inttemp_shuffle_set_list_deflate_chunk.nc --printf="Bytes: %s\n"
-Bytes: 32331
+Bytes: 32332
  
 cancel list/all
 set list/ncformat=classic
@@ -61943,8 +63024,10 @@ save/file=nc4_deflate4chunktoobig.nc/clobber/ncformat=4/deflate=1/xchunk=6/ychun
 can mode ignore
  
  
-GO bn_reset
+GO bn_reset bn_scat2grid_bin.jnl
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_scat2grid_bin.jnl
 GO bn_scat2grid_bin.jnl
 ! bn_scat2grid_bin.jnl
 ! Tests of scat2grid_bin and scat2grid_nbin functions.
@@ -61955,12 +63038,12 @@ define axis/t=1-jan-2010:30-mar-2010:1/units=days tin
 define axis/t=1-jan-2010:30-mar-2010:10/units=days tout
 let tt = t[gt=tout,L=1:10]
 sh grid tt
-    GRID (G093)
+    GRID (G099)
  name       axis              # pts   start                end                 subset
  normal    X
  normal    Y
  normal    Z
- TOUT      TIME                10 r   01-JAN-2010 00:00    01-APR-2010 00:00   9 pts
+ TOUT      TIME                10 r   01-JAN-2010 00:00    01-APR-2010 00:00   10 pts
  
  
 define axis/x=0:10:0.05 x10
@@ -62160,12 +63243,12 @@ list/x=2:3 sgrid
  
 let tpts = 39798 + 87*RANDU(I)
 show grid tt
-    GRID (G091)
+    GRID (G093)
  name       axis              # pts   start                end                 subset
  x10       X                  201 r   0                    10                  full
  Y10       Y                  201 r   0                    10                  full
  normal    Z
- TOUT      TIME                10 r   01-JAN-2010 00:00    01-APR-2010 00:00   9 pts
+ TOUT      TIME                10 r   01-JAN-2010 00:00    01-APR-2010 00:00   10 pts
  
 let sgrid = scat2grid_bin_xyt (xpts, ypts, tpts, sample_function, x[gx=xax5], y[gy=yax5], tt)
 SAVE/FILE=a.nc/clobber sgrid
@@ -62281,8 +63364,10 @@ can axis tin
  
 ! *********** v6.62 Additions ***********
  
-GO bn_reset
+GO bn_reset bn_axis_dir_symbols
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_axis_dir_symbols
 GO bn_axis_dir_symbols
 ! bn_axis_dir_symbols.jnl
 ! 5/2010
@@ -62313,8 +63398,10 @@ AX_VERT = "Y"
  
 ! *********** v6.63 Additions ***********
  
-GO bn_reset
+GO bn_reset bn663_bug_fixes
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn663_bug_fixes
 GO bn663_bug_fixes
 ! bn663_bug_fixes.jnl
 ! Fixes that go into v6.63 release
@@ -62322,6 +63409,7 @@ GO bn663_bug_fixes
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err65_dots_in_dashes.jnl
 ! err65_dots_in_dashes.jnl
 ! Test fix to bug 1396: dots where there should
@@ -62342,6 +63430,7 @@ cancel mode meta
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err66_all_missing_lev_v.jnl
 ! err66_all_missing_lev_v.jnl
 ! Ferret hangs with /LEV=V and all missing data
@@ -62351,8 +63440,10 @@ SHADE/L=1/X=60:70/Y=40:50/LEV=v sst
  
 FILL/L=2/X=60:70/Y=40:50/LEV=v sst
  
-GO bn_reset
+GO bn_reset bn_set_axis_regular
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_set_axis_regular
 GO bn_set_axis_regular
 ! bn_set_axis_regular.jnl
 ! Karl Smith, 5/2010
@@ -62551,6 +63642,7 @@ show grid
 ! --- clean up
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 cancel grid mygrid
  
 ! --- read a NetCDF file with the irregular axes and data
@@ -62617,8 +63709,10 @@ show grid
  normal    T
  
  
-GO bn_reset
+GO bn_reset bn_set_cancel_redirect
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_set_cancel_redirect
 GO bn_set_cancel_redirect
 ! bn_set_cancel_redirect.jnl
 ! Karl Smith, 5/2010
@@ -63058,9 +64152,9 @@ list contents
              VARIABLE : { SPAWN:"cat redirect_journal.txt" }
              SUBSET   : 45 points (X)
  1    /  1:" ! NOAA/PMEL TMAP"                                                          
- 2    /  2:" ! FERRET v7.1 (beta/debug)"                                                
- 3    /  3:" ! Linux 2.6.18-417.el5PAE 32-bit - 02/10/17"                               
- 4    /  4:" ! 10-Feb-17 10:08     "                                                    
+ 2    /  2:" ! FERRET v7.11 (beta/debug)"                                               
+ 3    /  3:" ! Linux 2.6.18-419.el5PAE 32-bit - 05/11/17"                               
+ 4    /  4:" ! 11-May-17 10:26     "                                                    
  5    /  5:""                                                                           
  6    /  6:"! "                                                                         
  7    /  7:"!! --- 22. produce some output to stdout and stderr"                        
@@ -63110,8 +64204,10 @@ cancel grid mygrid
  
 !!! NOTE: journal mode is now turned off !!!
  
-GO bn_reset
+GO bn_reset bn_min_max_smoothers
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_min_max_smoothers
 GO bn_min_max_smoothers
 ! bn_min_max_smoothers.jnl
 ! New transforms @SMN and @SMX, smoothers based on the
@@ -63401,8 +64497,10 @@ list/l=1/x=123.5w/y=2.5/z=0:100 temp, temp[k=@med], temp[k=@smx], temp[k=@smn]
 95    / 10:  23.54  24.51  24.51  23.54
  
  
-GO bn_reset
+GO bn_reset bn_vector_symbols
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_vector_symbols
 GO bn_vector_symbols
 ! bn_vector_symbols.jnl
 ! ACM 7/16/21010 Ferret V6.6.3
@@ -63449,8 +64547,10 @@ VECTOR/NOLAB/KEY/I=1:300/J=1:200/LEN=12.2/XSKIP=10/YSKIP=6 i/j,j/i
  
 VECTOR/OVER/KEY/NOLAB/I=1:300/J=1:200/LEN=12.2/XSKIP=10/YSKIP=4 i/j,j/i
  
-GO bn_reset
+GO bn_reset bn_variance_large
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_variance_large
 GO bn_variance_large
 ! bn_variance_large.jnl
 ! Previous to v6.6.4, these returned messages **too big**
@@ -63498,8 +64598,10 @@ SHADE/L=1/LEV=v huge
  
 CANCEL SYMBOL lev*
  
-GO bn_reset
+GO bn_reset bn_labnum_calendar
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_labnum_calendar
 GO bn_labnum_calendar
 ! bn_labnum_calendar.jn.
 ! Define new symbol, when a Calendar label is on
@@ -63521,8 +64623,10 @@ LAB4 = "CALENDAR: NOLEAP"
  
  
 ! *********** v6.65 Additions ***********
-GO bn_reset
+GO bn_reset bn665_bug_fixes
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn665_bug_fixes
 GO bn665_bug_fixes
 ! bn65_bug_fixes.jnl
 ! test various fixes that went into version 6.6.5
@@ -63531,6 +64635,7 @@ GO bn665_bug_fixes
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err664_xml_keep_case
 ! err664_xml_keep_case.jnl
 !
@@ -63720,6 +64825,7 @@ REPEAT/RANGE=1:`nd`/name=m (DEFINE SYMBOL m = `m`; SH AXIS/XML `axis_names[i=($m
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err664_xml_one_point_axis
 ! err664_xml_one_point_axis.jnl
 ! See LAS ticket 969.
@@ -63791,6 +64897,7 @@ SH VAR/XML
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err65_read_epic_cdf
 ! Ned Cokelet reports that the time coordinate is read incorrectly
 ! from this file.  Should translate to  04-MAY-2007 05:02
@@ -63829,6 +64936,7 @@ list ..dimnames
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err664_tax_fcns
 ! err664_tax_fcns.jnl
 ! Fixes for tickets 1766 and 1765
@@ -63899,8 +65007,10 @@ list tax_year(a,a)
  JUL-0005 / 6:"01-JUL-0005"
  
  
-GO bn_reset
+GO bn_reset bn_floatstr
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_floatstr
 GO bn_floatstr
 ! bn_floatstr.jnl
 ! testing new function to convert floating-point
@@ -64024,8 +65134,10 @@ LIST/X=165W:135W/Y=-50/L=1 STRLEN(var)
  135W   / 103:  0.000
  
 ! *********** v6.7 Additions ***********
-GO bn_reset
+GO bn_reset bn67_bug_fixes
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn67_bug_fixes
 GO bn67_bug_fixes
 ! bn67_bug_fixes.jnl
 ! test various fixes that went into version 6.7
@@ -64033,6 +65145,7 @@ GO bn67_bug_fixes
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err665_sum_4d_labels
 ! A multi-dimensioned sum is now done as a 4D transformation.
 ! the labels on a LISTing of the result contained ???
@@ -64049,6 +65162,7 @@ list sst[X=125E,Y=75S:75N at sum,l=1:12 at sum]
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err665_din
 ! err665_din
 ! Fixing incorrect latitude corrections for single-point y axis,
@@ -64118,6 +65232,7 @@ list p[x=279:380 at din,z=0:10 at din]
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err665_centered_lev
 ! err665_centered_lev
 ! Bug 1803; computation of new levels isnt requested for
@@ -64158,6 +65273,7 @@ LEV_DEL = "5"
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err665_hours_since_T
 ! err665_hours_since_T.jnl
 ! Ticket 1806: allow time-axis units string to
@@ -64176,6 +65292,7 @@ T0 = 15-JAN-1901 12:00:00
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err667_att_too_long
 ! err667_att_too_long.jnl
 ! 3/25/2011 ACM
@@ -64226,6 +65343,7 @@ save/file=aa.nc/clobber sfco2
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err667_mode_desperate
 ! err667_mode_desperate
 ! 3/25/2011 ACM
@@ -64237,22 +65355,22 @@ set mode ignore
  
 ! setting too large
 set mode desperate `9999999999`
- !-> set mode desperate   9999999999.000000
+ !-> set mode desperate 9999999999.
 show mode desperate
       MODE            STATE        ARGUMENT
-      DESPERATE     CANCELLED      2560000
+      DESPERATE     CANCELED       2560000
  
 ! another setting too large (previously value
 ! was set to the first 10 digits of this)
 set mode desperate 1234567890123456789
 show mode desperate
       MODE            STATE        ARGUMENT
-      DESPERATE     CANCELLED      2560000
+      DESPERATE     CANCELED       2560000
  
 ! Previously couldnt handle a floating point
 ! input. Now we can.
 set mode desperate `96 * 1024 * 1024`
- !-> set mode desperate   100663296.0000000
+ !-> set mode desperate 100663296.
 show mode desperate
       MODE            STATE        ARGUMENT
       DESPERATE        SET           100663296
@@ -64262,6 +65380,7 @@ cancel mode desperate
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err667_dup_axnames
 ! err667_dup_axnames.jnl
 ! See bug 1750
@@ -64292,6 +65411,7 @@ save/clob/file="justg.nc" g[d=1]
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err667_string_if
 ! err667_string_if.jnl
 ! Previously both of these LIST commands caused a crash.
@@ -64317,6 +65437,7 @@ list IF strings EQ "a" THEN "" ELSE strings
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err667_show_var_twice
  ! err667_show_var_twice.jnl
  ! ticket 1825
@@ -64338,11 +65459,13 @@ sh var airt2[d=1]
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err667_5d_netcdf
 exit/script  ! this test is not valid for 6D Ferret.
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err67_save_append_open
 ! err67_save_append_open.jnl
 ! ticket 1832
@@ -64382,8 +65505,10 @@ sh dat
  
  
  
-GO bn_reset
+GO bn_reset bn_NaN_note
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_NaN_note
 GO bn_NaN_note
 ! bn_NaN_note.jnl
 ! Ferret v6.7  2/2011
@@ -64398,13 +65523,16 @@ USE test0
 ! Now we get the NOTE
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 SET MODE diag
 USE test0
 CANCEL MODE diag
  
 ! *********** v6.71 Additions ***********
-GO bn_reset
+GO bn_reset bn671_bug_fixes
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn671_bug_fixes
 GO bn671_bug_fixes
 ! bn671_bug_fixes.jnl
 ! test various fixes that went into version 6.71
@@ -64412,6 +65540,7 @@ GO bn671_bug_fixes
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err67_tax_modtime
 ! err67_tax_modtime.jnl
 ! 5/17/2011
@@ -64482,6 +65611,7 @@ list tax_units(tvar)
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err67_save_append_open
 ! err67_save_append_open.jnl
 ! ticket 1832
@@ -64522,6 +65652,7 @@ sh dat
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err67_regridding_dyn
 ! err67_regridding_dyn.jnl
 !  6/2011
@@ -64629,6 +65760,7 @@ list/x=330/y=40:90 filled[d=3,gxy=filled[d=2]]
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err67_reverse_bounds
 ! err67_reverse_bounds.jnl
 !
@@ -64671,6 +65803,7 @@ list lev_var, zboxlo[gz=lev_var], zboxhi[gz=lev_var]
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err67_nrst_trans
 ! err67_nrst_trans.jnl
 !
@@ -64697,14 +65830,17 @@ list var
  400   / 11:   ....
  
 ! *********** v6.8 Additions ***********
-GO bn_reset
+GO bn_reset bn68_bug_fixes
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn68_bug_fixes
 GO bn68_bug_fixes
 ! bn68_bug_fixes.jnl
 ! test various fixes that went into version 6.8
 !
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err672_stray_line
 ! err672_stray_line.jnl
 ! bug 1545, present in older versions of Ferret too.
@@ -64725,6 +65861,7 @@ plot/over/vs/nolab/line/sym {148.83, 148.17}, {-29.96, -29.68}
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err672_tax_functions_prec
 ! See ticket 1642: arg 1 of TAX_* functions
 ! is a single-precision variale representing double-precision coords.
@@ -65022,6 +66159,7 @@ can mode ignore
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err672_subscr_precision
 ! err672_subscr_precision.jnl
 ! See ticket 1888.
@@ -65049,6 +66187,7 @@ list/t="02-JUN-2010:13:34:40":"02-JUN-2010:13:34:50" tt
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err672_vert_axislabel
 ! err672_vert_axislabel.jnl
 ! bug 1896
@@ -65079,6 +66218,7 @@ SET MODE/LAST shrink_ylab
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err672_axis_label_prec
 ! See ticket 1907
 ! Axis label format didnt give enough precision for accurate labels
@@ -65112,6 +66252,7 @@ plot v
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err672_long_show_axis
 ! See ticket 1905 - axes with very large number of points overflowed
 ! the format in SHOW AXIS commands
@@ -65127,6 +66268,7 @@ can axis huge
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err672_axis_order
 ! err672_axis_order
 ! See comment 5 under ticket 1774.
@@ -65195,6 +66337,7 @@ list/k=3/i=1 ucov[d=2]
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err672_runoff_page
 ! err672_runoff_page
 ! acm 5/3/2012
@@ -65215,6 +66358,7 @@ SET MODE/LAST shrink_ylab
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err672_samplexy_modulo
 ! err672_samplexy_modulo.jnl
 ! See ticket 1950: samplexy doesnt correctly do modulo operations.
@@ -65273,6 +66417,7 @@ list samplexyt(sst,{160,180,-20},{0,0,0},{`t1`,`t1`,`t1`})
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err672_varnames
 ! err672_varnames.jnl
 ! ticket 1938
@@ -65303,6 +66448,7 @@ CAN MODE IGNORE
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err672_dset_cx
 ! err672_dset_cx.jnl
 ! Ticket 1951: The dataset specified in list x[gx=a[d=1,i=1:3]] is not applied.
@@ -65312,7 +66458,7 @@ let a = x[gx=0:2:1]; save/clob/file=a1.nc a
 sho grid/x a
     GRID (G103)
  name       axis              # pts   start                end                 subset
- (AX137)   X                    3 r   0                    2                   2 pts
+ (AX084)   X                    3 r   0                    2                   3 pts
  normal    Y
  normal    Z
  normal    T
@@ -65326,7 +66472,7 @@ let a = x[gx=1:3:1]; save/clob/file=a2.nc a
 sho grid/x a
     GRID (G103)
  name       axis              # pts   start                end                 subset
- (AX121)   X                    3 r   1                    3                   2 pts
+ (AX121)   X                    3 r   1                    3                   3 pts
  normal    Y
  normal    Z
  normal    T
@@ -65345,14 +66491,14 @@ can var/all; can dat/all
 use a1
 list x[gx=a[d=1]]
              VARIABLE : X
-                        axis AX137
+                        axis AX084
              SUBSET   : 3 points (X)
  0   / 1:  0.000
  1   / 2:  1.000
  2   / 3:  2.000
 list x[gx=a[d=1,i=1:3]]
              VARIABLE : X
-                        axis AX137
+                        axis AX084
              SUBSET   : 3 points (X)
  0   / 1:  0.000
  1   / 2:  1.000
@@ -65367,7 +66513,7 @@ use a2
  
 list x[gx=a[d=1]]
              VARIABLE : X
-                        axis AX137
+                        axis AX084
              SUBSET   : 3 points (X)
  0   / 1:  0.000
  1   / 2:  1.000
@@ -65376,7 +66522,7 @@ list x[gx=a[d=1]]
 ! The bug was that this listed 1,2,3 rather than 0,1,2
 list x[gx=a[d=1,i=1:3]]
              VARIABLE : X
-                        axis AX137
+                        axis AX084
              SUBSET   : 3 points (X)
  0   / 1:  0.000
  1   / 2:  1.000
@@ -65392,14 +66538,16 @@ list x[gx=a[d=1,i=1:3]]
 ! Why is the following different?
 list x[gx=a[d=1],i=1:3]
              VARIABLE : X
-                        axis AX137
+                        axis AX084
              SUBSET   : 3 points (X)
  0   / 1:  0.000
  1   / 2:  1.000
  2   / 3:  2.000
  
-GO bn_reset
+GO bn_reset bn_ifv
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_ifv
 GO bn_ifv
 ! bn_ifv.jnl
 ! test IFV IfValid masking for a variety of combos
@@ -65536,8 +66684,10 @@ list IFV strings EQ "a" THEN "" ELSE strings
  2   / 2:"b"
  3   / 3:"" 
  
-GO bn_reset
+GO bn_reset bn_randu2_randn2
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_randu2_randn2
 GO bn_randu2_randn2
 ! Test randu2 and randn2 with newer random-number algorithm.
 ! 9/2011 acm
@@ -65555,40 +66705,40 @@ can mode ver
              BAD FLAG : -1.E+34       
              SUBSET   : 5 points (X)
              X        : 0.5 to 5.5
-randu2_randn2       0.026
-randu2_randn2       0.186
-randu2_randn2       0.589
-randu2_randn2       0.511
-randu2_randn2       0.341
+randu2_randn2       0.916
+randu2_randn2       0.259
+randu2_randn2       0.317
+randu2_randn2       0.711
+randu2_randn2       0.766
              VARIABLE : RANDU2(XBIG,-1)
              BAD FLAG : -1.E+34       
              SUBSET   : 5 points (X)
              X        : 0.5 to 5.5
-randu2_randn2       0.677
-randu2_randn2       0.915
-randu2_randn2       0.746
-randu2_randn2       0.862
-randu2_randn2       0.655
+randu2_randn2       0.564
+randu2_randn2       0.960
+randu2_randn2       0.788
+randu2_randn2       0.963
+randu2_randn2       0.186
              VARIABLE : RANDU2(XX,0)
              BAD FLAG : -1.E+34       
              SUBSET   : 6 points (X)
              X        : 0.5 to 6.5
-randu2_randn2       0.499
-randu2_randn2       0.713
-randu2_randn2       0.522
-randu2_randn2       0.359
-randu2_randn2       0.086
-randu2_randn2       0.927
+randu2_randn2       0.240
+randu2_randn2       0.294
+randu2_randn2       0.463
+randu2_randn2       0.724
+randu2_randn2       0.994
+randu2_randn2       0.189
              VARIABLE : RANDU2(XX,0)
              BAD FLAG : -1.E+34       
              SUBSET   : 6 points (X)
              X        : 0.5 to 6.5
-randu2_randn2       0.062
-randu2_randn2       0.072
-randu2_randn2       0.578
-randu2_randn2       0.871
-randu2_randn2       0.559
-randu2_randn2       0.794
+randu2_randn2       0.985
+randu2_randn2       0.206
+randu2_randn2       0.226
+randu2_randn2       0.839
+randu2_randn2       0.373
+randu2_randn2       0.900
              VARIABLE : RANDU2(XX,12436)
              BAD FLAG : -1.E+34       
              SUBSET   : 6 points (X)
@@ -65613,40 +66763,40 @@ randu2_randn2       0.900
              BAD FLAG : -1.E+34       
              SUBSET   : 5 points (X)
              X        : 0.5 to 5.5
-randu2_randn2       0.465
-randu2_randn2      -1.153
-randu2_randn2       0.169
-randu2_randn2      -0.620
-randu2_randn2       0.695
+randu2_randn2       0.556
+randu2_randn2       0.820
+randu2_randn2      -0.955
+randu2_randn2       0.631
+randu2_randn2       0.930
              VARIABLE : RANDN2(XBIG,-1)
              BAD FLAG : -1.E+34       
              SUBSET   : 5 points (X)
              X        : 0.5 to 5.5
-randu2_randn2      -0.215
-randu2_randn2      -1.731
-randu2_randn2       0.047
-randu2_randn2      -1.350
-randu2_randn2      -0.507
+randu2_randn2       0.528
+randu2_randn2      -0.587
+randu2_randn2      -0.355
+randu2_randn2      -2.410
+randu2_randn2      -1.040
              VARIABLE : RANDN2(XX,0)
              BAD FLAG : -1.E+34       
              SUBSET   : 6 points (X)
              X        : 0.5 to 6.5
-randu2_randn2       0.917
-randu2_randn2      -1.344
-randu2_randn2       1.842
-randu2_randn2      -0.539
-randu2_randn2       0.872
-randu2_randn2       1.371
+randu2_randn2       0.707
+randu2_randn2      -0.611
+randu2_randn2       0.955
+randu2_randn2       0.005
+randu2_randn2      -0.077
+randu2_randn2       0.280
              VARIABLE : RANDN2(XX,0)
              BAD FLAG : -1.E+34       
              SUBSET   : 6 points (X)
              X        : 0.5 to 6.5
-randu2_randn2      -1.428
-randu2_randn2      -0.704
-randu2_randn2       1.584
-randu2_randn2       1.730
-randu2_randn2      -1.204
-randu2_randn2      -1.123
+randu2_randn2       0.572
+randu2_randn2      -0.151
+randu2_randn2      -0.386
+randu2_randn2      -0.715
+randu2_randn2      -1.644
+randu2_randn2       1.301
              VARIABLE : RANDN2(XX,12436)
              BAD FLAG : -1.E+34       
              SUBSET   : 6 points (X)
@@ -65671,17 +66821,19 @@ randu2_randn2      -0.124
  Column  1: VAR2 is COS(Z[GZ=ZAX]/30) + RANDU2(1+K[GZ=ZAX],-1)
  Column  2: VAR2[Z=@MED:3] is COS(Z[GZ=ZAX]/30) + RANDU2(1+K[GZ=ZAX],-1) (median smoothed by 3 pts on Z)
  Column  3: VAR2[Z=@MED:9] is COS(Z[GZ=ZAX]/30) + RANDU2(1+K[GZ=ZAX],-1) (median smoothed by 9 pts on Z)
-randu2_randn2       1.228       1.228       0.967
-randu2_randn2       0.974       0.974       0.967
-randu2_randn2       0.967       0.967       0.362
-randu2_randn2       0.362       0.362       0.362
-randu2_randn2      -0.251      -0.251       0.362
-randu2_randn2      -0.889      -0.251       0.362
-randu2_randn2      -0.025      -0.025       0.362
-randu2_randn2       0.245       0.245       0.362
- 
-GO bn_reset
-cancel mode verify
+randu2_randn2       1.424       1.424       1.202
+randu2_randn2       1.394       1.394       1.202
+randu2_randn2       1.202       1.202       0.230
+randu2_randn2       0.080       0.080       0.374
+randu2_randn2      -0.813      -0.813       0.374
+randu2_randn2      -0.919      -0.813       0.374
+randu2_randn2       0.230       0.230       0.374
+randu2_randn2       0.374       0.374       0.374
+ 
+GO bn_reset bn_axis_cf
+cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_axis_cf
 GO bn_axis_cf
 ! Ticket 1792: Write axes with CF-compliant units
 ! and with standard name attributes for geophysical attrs.
@@ -65749,8 +66901,10 @@ sp ncdump -h a.nc >> all_ncdump.out
  
  
  
-GO bn_reset
+GO bn_reset bn_repeated_coords
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_repeated_coords
 GO bn_repeated_coords
 ! Test the use of micro-adjusting on NetCDF read
 ! when coordinates are repeated.
@@ -65820,8 +66974,10 @@ list aa[L=1:71:10]
  01-JAN-2001 01:10:00 / 8:  0.6997
  
  
-GO bn_reset
+GO bn_reset bn_xml_header
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_xml_header
 GO bn_xml_header
 ! bn_xml_header.jnl
 ! run the exact script that LAS uses to make XML header files
@@ -66038,8 +67194,10 @@ sp grep -A5 dimension xml_out_string.xml
 </dimensions>
 </data>
  
-GO bn_reset
+GO bn_reset bn_eof_simple
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_eof_simple
 GO bn_eof_simple
 ! bn_eof_simple
 ! Define a simple function with two known functions.
@@ -66661,8 +67819,10 @@ can axis xaxis
  
 exit/script
  
-GO bn_reset
+GO bn_reset bn_eof_simple2
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_eof_simple2
 GO bn_eof_simple2
 ! bn_eof_simple2
 ! Define a simple function with four known functions, two of which are degenerate.
@@ -67024,8 +68184,10 @@ exit/script
  
 ! 6D tests for Ferret v6.8
  
-GO bn_reset
+GO bn_reset bn_interpolate_6d
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_interpolate_6d
 GO bn_interpolate_6d
 ! bn_interpolate_6d.JNL
 ! benchmark interpolation along various axes
@@ -67427,8 +68589,10 @@ LIST v[@xpt, at ypt, at ept, at fpt]
  
 set mode/last calendar
  
-GO bn_reset
+GO bn_reset bn_regrid_6d
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_regrid_6d
 GO bn_regrid_6d
 ! bn_regrid_6d.jnl
 ! version of bn_regrid, using E and F directions.
@@ -68813,8 +69977,10 @@ set mode/last long_label
 set mode/last calendar
  
  
-GO bn_reset
+GO bn_reset bn_syntax_6d
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_syntax_6d
 GO bn_syntax_6d
 ! bn_syntax_6d.JNL
 ! - test syntax interpretation of Program FERRET 6D
@@ -68943,8 +70109,10 @@ cancel variables/all;\
      currently SET data sets:
           3.00000
  
-GO bn_reset
+GO bn_reset bn_expressions_6d
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_expressions_6d
 GO bn_expressions_6d
 ! bn_expressions_6d.jnl
 ! testing expressions syntax in E and F directions.
@@ -69426,8 +70594,10 @@ LIST/n=5:7 FBOXLO, FBOXHI
 6   / 6:  5.50000  6.50000
 7   / 7:  6.50000  7.50000
  
-GO bn_reset
+GO bn_reset bn_direction_fcns_6d
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_direction_fcns_6d
 GO bn_direction_fcns_6d
 ! bn_direction_functions_6d
 ! Tests of sort, sample, reverse, convolve, compress, and compess_by
@@ -69646,8 +70816,10 @@ list compressn_by(fsequence({10,20,30,40,50}),mask)
  4   / 4:     ....     ....
  5   / 5:     ....     ....
  
-GO bn_reset
+GO bn_reset bn_regrid_transforms_6d
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_regrid_transforms_6d
 GO bn_regrid_transforms_6d
 ! bn_regrid_transforms_6d.jnl
 ! benchmark to test regridding transformations and syntax
@@ -69661,7 +70833,7 @@ set mode calendar:years
 define axis/f=23-jan-1982:30-jan-1982:20/unit=hour fax20
 define axis/x=120e:60w:10/unit=degrees xax10
 define grid/like=temp/f=fax20 g5day
- getgrid EX#1     C:  6 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  6 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GGR1            PSXT      PSYT5_89  PSZT1_2   TIME21    EAXIS     FAXIS
  dealloc  dynamic grid GGR1            PSXT      PSYT5_89  PSZT1_2   TIME21    EAXIS     FAXIS
  
@@ -69670,15 +70842,15 @@ set reg/x=130w:125w/y=0:1.5/e=1:2/f=23-JAN-1982:24-jan-1982/t=21-JAN-1982/z=5
 use gtsa056_1_ef    	!kob 4/99
  
 stat temp[g=g5day] - temp[g=g5day at ave]
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip --> EX#1[T=1982 at ITP,D=1]
- eval    EX#1     C:  5 dset:   1 I:  101  105  J:   41   46  K:    1    1  L:    2    3  M:    1    2  N:    1    2
+ eval    EX#1     C:  5 dset:   1 I:    101    105  J:   41   46  K:    1    1  L:      2      3  M:    1    2  N:    1    2
  strip regrid on F: TEMP --> G5DAY            @LIN
- reading TEMP     M:120 dset:   1 I:  101  105  J:   41   46  K:    1    1  L:    2    3  M:    1    2  N:    1    2
- regrid  TEMP     M:118 dset:   1 I:  101  105  J:   41   46  K:    1    1  L:    2    3  M:    1    2  N:    1    2
+ reading TEMP     M:248 dset:   1 I:    101    105  J:   41   46  K:    1    1  L:      2      3  M:    1    2  N:    1    2
+ regrid  TEMP     M:236 dset:   1 I:    101    105  J:   41   46  K:    1    1  L:      2      3  M:    1    2  N:    1    2
  strip regrid on F: TEMP --> G5DAY            @AVE
- reading TEMP     M:114 dset:   1 I:  101  105  J:   41   46  K:    1    1  L:    2    3  M:    1    2  N:    1    2
- regrid  TEMP     M:104 dset:   1 I:  101  105  J:   41   46  K:    1    1  L:    2    3  M:    1    2  N:    1    2
+ found   TEMP     M:248 dset:   1 I:    101    105  J:   41   46  K:    1    1  L:      2      3  M:    1    2  N:    1    2
+ regrid  TEMP     M:232 dset:   1 I:    101    105  J:   41   46  K:    1    1  L:      2      3  M:    1    2  N:    1    2
  doing --> EX#1[T=1982 at ITP,D=1]
  
              TEMP[G=G5DAY] - TEMP[G=G5DAY at AVE]
@@ -69699,17 +70871,17 @@ stat temp[g=g5day] - temp[g=g5day at ave]
  
 ! basic regrid tests
 LIST temp[g=g5day at ave]
- -DELETE EX#1     M: 94 dset:   1 I:  101  105  J:   41   46  K:    1    1  L: -999 -999  M:    1    2  N:    1    2
- -DELETE EX#1     M:112 dset:   1 I:  101  105  J:   41   46  K:    1    1  L:    2    3  M:    1    2  N:    1    2
+ -DELETE EX#1     M:226 dset:   1 I:    101    105  J:   41   46  K:    1    1  L:      2      3  M:    1    2  N:    1    2
+ -DELETE EX#1     M:234 dset:   1 I:    101    105  J:   41   46  K:    1    1  L:   -999   -999  M:    1    2  N:    1    2
  dealloc  dynamic grid G5DAY           PSXT      PSYT5_89  PSZT1_2   TIME21    EAXIS     FAX20
- -DELETE TEMP     M:104 dset:   1 I:  101  105  J:   41   46  K:    1    1  L:    2    3  M:    1    2  N:    1    2
- -DELETE TEMP     M:118 dset:   1 I:  101  105  J:   41   46  K:    1    1  L:    2    3  M:    1    2  N:    1    2
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ -DELETE TEMP     M:232 dset:   1 I:    101    105  J:   41   46  K:    1    1  L:      2      3  M:    1    2  N:    1    2
+ -DELETE TEMP     M:236 dset:   1 I:    101    105  J:   41   46  K:    1    1  L:      2      3  M:    1    2  N:    1    2
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip --> EX#1[T=1982 at ITP,D=1]
- eval    EX#1     C:  5 dset:   1 I:  101  105  J:   41   46  K:    1    1  L:    2    3  M:    1    2  N:    1    2
+ eval    EX#1     C:  5 dset:   1 I:    101    105  J:   41   46  K:    1    1  L:      2      3  M:    1    2  N:    1    2
  strip regrid on F: TEMP --> G5DAY            @AVE
- reading TEMP     M:118 dset:   1 I:  101  105  J:   41   46  K:    1    1  L:    2    3  M:    1    2  N:    1    2
- regrid  TEMP     M:104 dset:   1 I:  101  105  J:   41   46  K:    1    1  L:    2    3  M:    1    2  N:    1    2
+ found   TEMP     M:248 dset:   1 I:    101    105  J:   41   46  K:    1    1  L:      2      3  M:    1    2  N:    1    2
+ regrid  TEMP     M:236 dset:   1 I:    101    105  J:   41   46  K:    1    1  L:      2      3  M:    1    2  N:    1    2
  doing --> TEMP[T=1982 at ITP,D=1]
              VARIABLE : TEMPERATURE (deg. C)
                         regrid: G5DAY on F at AVE
@@ -69751,14 +70923,14 @@ LIST temp[g=g5day at ave]
  0.17S / 41:  43.3538  43.2657  43.1716  43.1285  43.2282
 LIST temp[g=g5day]	
  dealloc  dynamic grid G5DAY           PSXT      PSYT5_89  PSZT1_2   TIME21    EAXIS     FAX20
- -DELETE TEMP     M:104 dset:   1 I:  101  105  J:   41   46  K:    1    1  L:    2    3  M:    1    2  N:    1    2
- -DELETE TEMP     M:112 dset:   1 I:  101  105  J:   41   46  K:    1    1  L: -999 -999  M:    1    2  N:    1    2
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ -DELETE TEMP     M:232 dset:   1 I:    101    105  J:   41   46  K:    1    1  L:   -999   -999  M:    1    2  N:    1    2
+ -DELETE TEMP     M:236 dset:   1 I:    101    105  J:   41   46  K:    1    1  L:      2      3  M:    1    2  N:    1    2
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip --> EX#1[T=1982 at ITP,D=1]
- eval    EX#1     C:  5 dset:   1 I:  101  105  J:   41   46  K:    1    1  L:    2    3  M:    1    2  N:    1    2
+ eval    EX#1     C:  5 dset:   1 I:    101    105  J:   41   46  K:    1    1  L:      2      3  M:    1    2  N:    1    2
  strip regrid on F: TEMP --> G5DAY            @LIN
- reading TEMP     M:112 dset:   1 I:  101  105  J:   41   46  K:    1    1  L:    2    3  M:    1    2  N:    1    2
- regrid  TEMP     M:104 dset:   1 I:  101  105  J:   41   46  K:    1    1  L:    2    3  M:    1    2  N:    1    2
+ found   TEMP     M:248 dset:   1 I:    101    105  J:   41   46  K:    1    1  L:      2      3  M:    1    2  N:    1    2
+ regrid  TEMP     M:236 dset:   1 I:    101    105  J:   41   46  K:    1    1  L:      2      3  M:    1    2  N:    1    2
  doing --> TEMP[T=1982 at ITP,D=1]
              VARIABLE : TEMPERATURE (deg. C)
                         regrid: G5DAY
@@ -69819,16 +70991,16 @@ use gtsa056_1_ef 		!kob 4/99
 set region/x=180E/y=0/f=23-JAN-1982/t=21-JAN-1982/z=5
 plot temp
  dealloc  dynamic grid G5DAY           PSXT      PSYT5_89  PSZT1_2   TIME21    EAXIS     FAX20
- -DELETE TEMP     M: 94 dset:   1 I:  101  105  J:   41   46  K:    1    1  L: -999 -999  M:    1    2  N:    1    2
- -DELETE TEMP     M:104 dset:   1 I:  101  105  J:   41   46  K:    1    1  L:    2    3  M:    1    2  N:    1    2
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ -DELETE TEMP     M:232 dset:   1 I:    101    105  J:   41   46  K:    1    1  L:   -999   -999  M:    1    2  N:    1    2
+ -DELETE TEMP     M:236 dset:   1 I:    101    105  J:   41   46  K:    1    1  L:      2      3  M:    1    2  N:    1    2
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GGR1            PSXT      PSYT5_89  PSZT1_2   TIME21    EAXIS     FAXIS
  strip --> EX#1[F=1982 at ITP,D=1]
  strip --> EX#1[T=1982 at ITP,D=1]
  strip --> EX#1[Y=0 at ITP,D=1]
  strip --> EX#1[X=180E at ITP,D=1]
- eval    EX#1     C:  8 dset:   1 I:   50   51  J:   41   42  K:    1    1  L:    2    3  M:    1    2  N:    1    2
- reading TEMP     M:104 dset:   1 I:   50   51  J:   41   42  K:    1    1  L:    2    3  M:    1    2  N:    1    2
+ eval    EX#1     C:  8 dset:   1 I:     50     51  J:   41   42  K:    1    1  L:      2      3  M:    1    2  N:    1    2
+ reading TEMP     M:236 dset:   1 I:     50     51  J:   41   42  K:    1    1  L:      2      3  M:    1    2  N:    1    2
  doing --> TEMP[X=180E at ITP,D=1]
  doing --> TEMP[Y=0 at ITP,D=1]
  doing --> TEMP[T=1982 at ITP,D=1]
@@ -69837,14 +71009,14 @@ setting up plot
 PPL plot 869  complete
 plot/over temp[g=g5day]
  dealloc  dynamic grid GGR1            PSXT      PSYT5_89  PSZT1_2   TIME21    EAXIS     FAXIS
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip --> EX#1[T=1982 at ITP,D=1]
  strip --> EX#1[Y=0 at ITP,D=1]
  strip --> EX#1[X=180E at ITP,D=1]
- eval    EX#1     C:  7 dset:   1 I:   50   51  J:   41   42  K:    1    1  L:    2    3  M:    1    2  N:    1    1
+ eval    EX#1     C:  7 dset:   1 I:     50     51  J:   41   42  K:    1    1  L:      2      3  M:    1    2  N:    1    1
  strip regrid on F: TEMP --> G5DAY            @LIN
- reading TEMP     M: 86 dset:   1 I:   50   51  J:   41   42  K:    1    1  L:    2    3  M:    1    2  N:    1    2
- regrid  TEMP     M: 58 dset:   1 I:   50   51  J:   41   42  K:    1    1  L:    2    3  M:    1    2  N:    1    1
+ found   TEMP     M:236 dset:   1 I:     50     51  J:   41   42  K:    1    1  L:      2      3  M:    1    2  N:    1    2
+ regrid  TEMP     M:216 dset:   1 I:     50     51  J:   41   42  K:    1    1  L:      2      3  M:    1    2  N:    1    1
  doing --> TEMP[X=180E at ITP,D=1]
  doing --> TEMP[Y=0 at ITP,D=1]
  doing --> TEMP[T=1982 at ITP,D=1]
@@ -69852,18 +71024,18 @@ setting up plot
 PPL plot 870  complete
 plot/over temp[g=g5day at ave]
  dealloc  dynamic grid G5DAY           PSXT      PSYT5_89  PSZT1_2   TIME21    EAXIS     FAX20
- -DELETE TEMP     M: 58 dset:   1 I:   50   51  J:   41   42  K:    1    1  L:    2    3  M:    1    2  N:    1    1
- -DELETE TEMP     M: 72 dset:   1 I: -999 -999  J: -999 -999  K:    1    1  L: -999 -999  M:    1    2  N:    1    1
- -DELETE TEMP     M: 88 dset:   1 I: -999 -999  J: -999 -999  K:    1    1  L:    2    3  M:    1    2  N:    1    1
- -DELETE TEMP     M: 96 dset:   1 I: -999 -999  J:   41   42  K:    1    1  L:    2    3  M:    1    2  N:    1    1
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ -DELETE TEMP     M:216 dset:   1 I:     50     51  J:   41   42  K:    1    1  L:      2      3  M:    1    2  N:    1    1
+ -DELETE TEMP     M:220 dset:   1 I:   -999   -999  J: -999 -999  K:    1    1  L:      2      3  M:    1    2  N:    1    1
+ -DELETE TEMP     M:228 dset:   1 I:   -999   -999  J:   41   42  K:    1    1  L:      2      3  M:    1    2  N:    1    1
+ -DELETE TEMP     M:242 dset:   1 I:   -999   -999  J: -999 -999  K:    1    1  L:   -999   -999  M:    1    2  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip --> EX#1[T=1982 at ITP,D=1]
  strip --> EX#1[Y=0 at ITP,D=1]
  strip --> EX#1[X=180E at ITP,D=1]
- eval    EX#1     C:  7 dset:   1 I:   50   51  J:   41   42  K:    1    1  L:    2    3  M:    1    2  N:    1    1
+ eval    EX#1     C:  7 dset:   1 I:     50     51  J:   41   42  K:    1    1  L:      2      3  M:    1    2  N:    1    1
  strip regrid on F: TEMP --> G5DAY            @AVE
- reading TEMP     M: 96 dset:   1 I:   50   51  J:   41   42  K:    1    1  L:    2    3  M:    1    2  N:    1    1
- regrid  TEMP     M: 88 dset:   1 I:   50   51  J:   41   42  K:    1    1  L:    2    3  M:    1    2  N:    1    1
+ found   TEMP     M:236 dset:   1 I:     50     51  J:   41   42  K:    1    1  L:      2      3  M:    1    2  N:    1    2
+ regrid  TEMP     M:242 dset:   1 I:     50     51  J:   41   42  K:    1    1  L:      2      3  M:    1    2  N:    1    1
  doing --> TEMP[X=180E at ITP,D=1]
  doing --> TEMP[Y=0 at ITP,D=1]
  doing --> TEMP[T=1982 at ITP,D=1]
@@ -69871,18 +71043,18 @@ setting up plot
 PPL plot 871  complete
 plot/over temp[g=g5day at asn]
  dealloc  dynamic grid G5DAY           PSXT      PSYT5_89  PSZT1_2   TIME21    EAXIS     FAX20
- -DELETE TEMP     M: 58 dset:   1 I: -999 -999  J: -999 -999  K:    1    1  L:    2    3  M:    1    2  N:    1    1
- -DELETE TEMP     M: 72 dset:   1 I: -999 -999  J:   41   42  K:    1    1  L:    2    3  M:    1    2  N:    1    1
- -DELETE TEMP     M: 80 dset:   1 I: -999 -999  J: -999 -999  K:    1    1  L: -999 -999  M:    1    2  N:    1    1
- -DELETE TEMP     M: 88 dset:   1 I:   50   51  J:   41   42  K:    1    1  L:    2    3  M:    1    2  N:    1    1
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ -DELETE TEMP     M:216 dset:   1 I:   -999   -999  J: -999 -999  K:    1    1  L:   -999   -999  M:    1    2  N:    1    1
+ -DELETE TEMP     M:220 dset:   1 I:   -999   -999  J: -999 -999  K:    1    1  L:      2      3  M:    1    2  N:    1    1
+ -DELETE TEMP     M:228 dset:   1 I:   -999   -999  J:   41   42  K:    1    1  L:      2      3  M:    1    2  N:    1    1
+ -DELETE TEMP     M:242 dset:   1 I:     50     51  J:   41   42  K:    1    1  L:      2      3  M:    1    2  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip --> EX#1[T=1982 at ITP,D=1]
  strip --> EX#1[Y=0 at ITP,D=1]
  strip --> EX#1[X=180E at ITP,D=1]
- eval    EX#1     C:  7 dset:   1 I:   50   51  J:   41   42  K:    1    1  L:    2    3  M:    1    2  N:    1    1
+ eval    EX#1     C:  7 dset:   1 I:     50     51  J:   41   42  K:    1    1  L:      2      3  M:    1    2  N:    1    1
  strip regrid on F: TEMP --> G5DAY            @ASN
- reading TEMP     M: 88 dset:   1 I:   50   51  J:   41   42  K:    1    1  L:    2    3  M:    1    2  N:    1    1
- regrid  TEMP     M: 80 dset:   1 I:   50   51  J:   41   42  K:    1    1  L:    2    3  M:    1    2  N:    1    1
+ found   TEMP     M:236 dset:   1 I:     50     51  J:   41   42  K:    1    1  L:      2      3  M:    1    2  N:    1    2
+ regrid  TEMP     M:242 dset:   1 I:     50     51  J:   41   42  K:    1    1  L:      2      3  M:    1    2  N:    1    1
  doing --> TEMP[X=180E at ITP,D=1]
  doing --> TEMP[Y=0 at ITP,D=1]
  doing --> TEMP[T=1982 at ITP,D=1]
@@ -69893,17 +71065,17 @@ PPL plot 872  complete
 set region/x=180/y=20s:20n/e=2/t=21-JAN-1982/z=5
 plot temp
  dealloc  dynamic grid G5DAY           PSXT      PSYT5_89  PSZT1_2   TIME21    EAXIS     FAX20
- -DELETE TEMP     M: 58 dset:   1 I: -999 -999  J: -999 -999  K:    1    1  L:    2    3  M:    1    2  N:    1    1
- -DELETE TEMP     M: 72 dset:   1 I: -999 -999  J:   41   42  K:    1    1  L:    2    3  M:    1    2  N:    1    1
- -DELETE TEMP     M: 78 dset:   1 I: -999 -999  J: -999 -999  K:    1    1  L: -999 -999  M:    1    2  N:    1    1
- -DELETE TEMP     M: 80 dset:   1 I:   50   51  J:   41   42  K:    1    1  L:    2    3  M:    1    2  N:    1    1
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ -DELETE TEMP     M:216 dset:   1 I:   -999   -999  J: -999 -999  K:    1    1  L:   -999   -999  M:    1    2  N:    1    1
+ -DELETE TEMP     M:220 dset:   1 I:   -999   -999  J: -999 -999  K:    1    1  L:      2      3  M:    1    2  N:    1    1
+ -DELETE TEMP     M:228 dset:   1 I:   -999   -999  J:   41   42  K:    1    1  L:      2      3  M:    1    2  N:    1    1
+ -DELETE TEMP     M:242 dset:   1 I:     50     51  J:   41   42  K:    1    1  L:      2      3  M:    1    2  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GGR1            PSXT      PSYT5_89  PSZT1_2   TIME21    EAXIS     FAXIS
  strip --> EX#1[F=1982 at ITP,D=1]
  strip --> EX#1[T=1982 at ITP,D=1]
  strip --> EX#1[X=180E at ITP,D=1]
- eval    EX#1     C:  7 dset:   1 I:   50   51  J:    1   84  K:    1    1  L:    2    3  M:    2    2  N:    1    2
- reading TEMP     M: 80 dset:   1 I:   50   51  J:    1   84  K:    1    1  L:    2    3  M:    2    2  N:    1    2
+ eval    EX#1     C:  7 dset:   1 I:     50     51  J:    1   84  K:    1    1  L:      2      3  M:    2    2  N:    1    2
+ reading TEMP     M:242 dset:   1 I:     50     51  J:    1   84  K:    1    1  L:      2      3  M:    2    2  N:    1    2
  doing --> TEMP[X=180E at ITP,D=1]
  doing --> TEMP[T=1982 at ITP,D=1]
  doing --> TEMP[F=1982 at ITP,D=1]
@@ -69911,45 +71083,45 @@ setting up plot
 PPL plot 873  complete
 plot/over temp[g=g5day]
  dealloc  dynamic grid GGR1            PSXT      PSYT5_89  PSZT1_2   TIME21    EAXIS     FAXIS
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip --> EX#1[T=1982 at ITP,D=1]
  strip --> EX#1[X=180E at ITP,D=1]
- eval    EX#1     C:  6 dset:   1 I:   50   51  J:    1   84  K:    1    1  L:    2    3  M:    2    2  N:    1    1
+ eval    EX#1     C:  6 dset:   1 I:     50     51  J:    1   84  K:    1    1  L:      2      3  M:    2    2  N:    1    1
  strip regrid on F: TEMP --> G5DAY            @LIN
- reading TEMP     M:106 dset:   1 I:   50   51  J:    1   84  K:    1    1  L:    2    3  M:    2    2  N:    1    2
- regrid  TEMP     M: 98 dset:   1 I:   50   51  J:    1   84  K:    1    1  L:    2    3  M:    2    2  N:    1    1
+ found   TEMP     M:242 dset:   1 I:     50     51  J:    1   84  K:    1    1  L:      2      3  M:    2    2  N:    1    2
+ regrid  TEMP     M:224 dset:   1 I:     50     51  J:    1   84  K:    1    1  L:      2      3  M:    2    2  N:    1    1
  doing --> TEMP[X=180E at ITP,D=1]
  doing --> TEMP[T=1982 at ITP,D=1]
 setting up plot
 PPL plot 874  complete
 plot/over temp[g=g5day at ave]
  dealloc  dynamic grid G5DAY           PSXT      PSYT5_89  PSZT1_2   TIME21    EAXIS     FAX20
- -DELETE TEMP     M: 74 dset:   1 I: -999 -999  J:    1   84  K:    1    1  L: -999 -999  M:    2    2  N:    1    1
- -DELETE TEMP     M: 82 dset:   1 I: -999 -999  J:    1   84  K:    1    1  L:    2    3  M:    2    2  N:    1    1
- -DELETE TEMP     M: 98 dset:   1 I:   50   51  J:    1   84  K:    1    1  L:    2    3  M:    2    2  N:    1    1
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ -DELETE TEMP     M:212 dset:   1 I:   -999   -999  J:    1   84  K:    1    1  L:   -999   -999  M:    2    2  N:    1    1
+ -DELETE TEMP     M:224 dset:   1 I:     50     51  J:    1   84  K:    1    1  L:      2      3  M:    2    2  N:    1    1
+ -DELETE TEMP     M:240 dset:   1 I:   -999   -999  J:    1   84  K:    1    1  L:      2      3  M:    2    2  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip --> EX#1[T=1982 at ITP,D=1]
  strip --> EX#1[X=180E at ITP,D=1]
- eval    EX#1     C:  6 dset:   1 I:   50   51  J:    1   84  K:    1    1  L:    2    3  M:    2    2  N:    1    1
+ eval    EX#1     C:  6 dset:   1 I:     50     51  J:    1   84  K:    1    1  L:      2      3  M:    2    2  N:    1    1
  strip regrid on F: TEMP --> G5DAY            @AVE
- reading TEMP     M: 98 dset:   1 I:   50   51  J:    1   84  K:    1    1  L:    2    3  M:    2    2  N:    1    1
- regrid  TEMP     M: 82 dset:   1 I:   50   51  J:    1   84  K:    1    1  L:    2    3  M:    2    2  N:    1    1
+ found   TEMP     M:242 dset:   1 I:     50     51  J:    1   84  K:    1    1  L:      2      3  M:    2    2  N:    1    2
+ regrid  TEMP     M:240 dset:   1 I:     50     51  J:    1   84  K:    1    1  L:      2      3  M:    2    2  N:    1    1
  doing --> TEMP[X=180E at ITP,D=1]
  doing --> TEMP[T=1982 at ITP,D=1]
 setting up plot
 PPL plot 875  complete
 plot/over temp[g=g5day at asn]
  dealloc  dynamic grid G5DAY           PSXT      PSYT5_89  PSZT1_2   TIME21    EAXIS     FAX20
- -DELETE TEMP     M: 70 dset:   1 I: -999 -999  J:    1   84  K:    1    1  L: -999 -999  M:    2    2  N:    1    1
- -DELETE TEMP     M: 74 dset:   1 I: -999 -999  J:    1   84  K:    1    1  L:    2    3  M:    2    2  N:    1    1
- -DELETE TEMP     M: 82 dset:   1 I:   50   51  J:    1   84  K:    1    1  L:    2    3  M:    2    2  N:    1    1
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ -DELETE TEMP     M:212 dset:   1 I:   -999   -999  J:    1   84  K:    1    1  L:   -999   -999  M:    2    2  N:    1    1
+ -DELETE TEMP     M:224 dset:   1 I:   -999   -999  J:    1   84  K:    1    1  L:      2      3  M:    2    2  N:    1    1
+ -DELETE TEMP     M:240 dset:   1 I:     50     51  J:    1   84  K:    1    1  L:      2      3  M:    2    2  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip --> EX#1[T=1982 at ITP,D=1]
  strip --> EX#1[X=180E at ITP,D=1]
- eval    EX#1     C:  6 dset:   1 I:   50   51  J:    1   84  K:    1    1  L:    2    3  M:    2    2  N:    1    1
+ eval    EX#1     C:  6 dset:   1 I:     50     51  J:    1   84  K:    1    1  L:      2      3  M:    2    2  N:    1    1
  strip regrid on F: TEMP --> G5DAY            @ASN
- reading TEMP     M: 82 dset:   1 I:   50   51  J:    1   84  K:    1    1  L:    2    3  M:    2    2  N:    1    1
- regrid  TEMP     M: 74 dset:   1 I:   50   51  J:    1   84  K:    1    1  L:    2    3  M:    2    2  N:    1    1
+ found   TEMP     M:242 dset:   1 I:     50     51  J:    1   84  K:    1    1  L:      2      3  M:    2    2  N:    1    2
+ regrid  TEMP     M:240 dset:   1 I:     50     51  J:    1   84  K:    1    1  L:      2      3  M:    2    2  N:    1    1
  doing --> TEMP[X=180E at ITP,D=1]
  doing --> TEMP[T=1982 at ITP,D=1]
 setting up plot
@@ -69975,36 +71147,36 @@ let a2 = _e[ge=e2pt]+_f[gf=f2pt]
  
 list a1[ge=eoffset at ave, gf=fax4day at ave]
  dealloc  dynamic grid G5DAY           PSXT      PSYT5_89  PSZT1_2   TIME21    EAXIS     FAX20
- -DELETE TEMP     M: 66 dset:   1 I: -999 -999  J:    1   84  K:    1    1  L: -999 -999  M:    2    2  N:    1    1
- -DELETE TEMP     M: 70 dset:   1 I: -999 -999  J:    1   84  K:    1    1  L:    2    3  M:    2    2  N:    1    1
- -DELETE TEMP     M: 74 dset:   1 I:   50   51  J:    1   84  K:    1    1  L:    2    3  M:    2    2  N:    1    1
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid A1       C:  7 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ -DELETE TEMP     M:212 dset:   1 I:   -999   -999  J:    1   84  K:    1    1  L:   -999   -999  M:    2    2  N:    1    1
+ -DELETE TEMP     M:224 dset:   1 I:   -999   -999  J:    1   84  K:    1    1  L:      2      3  M:    2    2  N:    1    1
+ -DELETE TEMP     M:240 dset:   1 I:     50     51  J:    1   84  K:    1    1  L:      2      3  M:    2    2  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid A1       C:  7 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G089)          NORMAL    NORMAL    NORMAL    NORMAL    NORMAL    F1PT
  dealloc  dynamic grid (G089)          NORMAL    NORMAL    NORMAL    NORMAL    NORMAL    F1PT
  allocate dynamic grid (G089)          NORMAL    NORMAL    NORMAL    NORMAL    E1PT      NORMAL
  dealloc  dynamic grid (G089)          NORMAL    NORMAL    NORMAL    NORMAL    E1PT      NORMAL
  allocate dynamic grid (G089)          NORMAL    NORMAL    NORMAL    NORMAL    E1PT      F1PT
- allocate dynamic grid (G094)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
- dealloc  dynamic grid (G094)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
- allocate dynamic grid (G094)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
- eval    EX#1     C:  4 dset:   1 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    2  N:    1   16
- allocate dynamic grid (G094)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
- strip regrid on E: A1 --> (G094)           @AVE
+ allocate dynamic grid (G091)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
+ dealloc  dynamic grid (G091)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
+ allocate dynamic grid (G091)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
+ eval    EX#1     C:  4 dset:   1 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    2  N:    1   16
+ allocate dynamic grid (G091)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
+ strip regrid on E: A1 --> (G091)           @AVE
  strip regrid on F: A1 --> ENTERMED         @AVE
- eval    A1       C:  8 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    1  N:    1    1
+ eval    A1       C:  8 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    1  N:    1    1
  allocate dynamic grid (G103)          NORMAL    NORMAL    NORMAL    NORMAL    E1PT      NORMAL
- pseudo  _E       M: 74 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    1  N: -999 -999
- allocate dynamic grid (G098)          NORMAL    NORMAL    NORMAL    NORMAL    NORMAL    F1PT
- pseudo  _F       M: 70 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M: -999 -999  N:    1    1
- -DELETE _F       M: 70 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M: -999 -999  N:    1    1
- dealloc  dynamic grid (G098)          NORMAL    NORMAL    NORMAL    NORMAL    NORMAL    F1PT
- -DELETE _E       M: 74 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    1  N: -999 -999
+ pseudo  _E       M:240 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    1  N: -999 -999
+ allocate dynamic grid (G094)          NORMAL    NORMAL    NORMAL    NORMAL    NORMAL    F1PT
+ pseudo  _F       M:224 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M: -999 -999  N:    1    1
+ -DELETE _F       M:224 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M: -999 -999  N:    1    1
+ dealloc  dynamic grid (G094)          NORMAL    NORMAL    NORMAL    NORMAL    NORMAL    F1PT
+ -DELETE _E       M:240 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    1  N: -999 -999
  dealloc  dynamic grid (G103)          NORMAL    NORMAL    NORMAL    NORMAL    E1PT      NORMAL
- regrid  A1       M: 74 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    1  N:    1   16
- regrid  A1       M: 70 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    2  N:    1   16
- -DELETE A1       M: 74 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    1  N:    1   16
- dealloc  dynamic grid (G094)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
+ regrid  A1       M:240 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    1  N:    1   16
+ regrid  A1       M:224 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    2  N:    1   16
+ -DELETE A1       M:240 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    1  N:    1   16
+ dealloc  dynamic grid (G091)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
              VARIABLE : _E[GE=E1PT]+_F[GF=F1PT]
                         regrid: 1 delta on E at AVE, 96 hour on F at AVE
              SUBSET   : 2 by 16 points (E-FORECAST)
@@ -70027,29 +71199,21 @@ list a1[ge=eoffset at ave, gf=fax4day at ave]
  12-MAR-1982 00 / 15:     ....     ....
  16-MAR-1982 00 / 16:     ....     ....
 list a1[ge=eoffset at sum, gf=fax4day at sum]
- dealloc  dynamic grid (G094)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
- -DELETE A1       M: 70 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    2  N:    1   16
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G094)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
- dealloc  dynamic grid (G094)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
- allocate dynamic grid (G094)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
- eval    EX#1     C:  4 dset:   1 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    2  N:    1   16
- allocate dynamic grid (G094)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
- strip regrid on E: A1 --> (G094)           @SUM
+ dealloc  dynamic grid (G091)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
+ -DELETE A1       M:224 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    2  N:    1   16
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G091)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
+ dealloc  dynamic grid (G091)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
+ allocate dynamic grid (G091)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
+ eval    EX#1     C:  4 dset:   1 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    2  N:    1   16
+ allocate dynamic grid (G091)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
+ strip regrid on E: A1 --> (G091)           @SUM
  strip regrid on F: A1 --> ENTERMED         @SUM
- eval    A1       C:  8 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    1  N:    1    1
- allocate dynamic grid (G103)          NORMAL    NORMAL    NORMAL    NORMAL    E1PT      NORMAL
- pseudo  _E       M: 70 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    1  N: -999 -999
- allocate dynamic grid (G098)          NORMAL    NORMAL    NORMAL    NORMAL    NORMAL    F1PT
- pseudo  _F       M: 74 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M: -999 -999  N:    1    1
- -DELETE _F       M: 74 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M: -999 -999  N:    1    1
- dealloc  dynamic grid (G098)          NORMAL    NORMAL    NORMAL    NORMAL    NORMAL    F1PT
- -DELETE _E       M: 70 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    1  N: -999 -999
- dealloc  dynamic grid (G103)          NORMAL    NORMAL    NORMAL    NORMAL    E1PT      NORMAL
- regrid  A1       M: 70 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    1  N:    1   16
- regrid  A1       M: 74 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    2  N:    1   16
- -DELETE A1       M: 70 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    1  N:    1   16
- dealloc  dynamic grid (G094)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
+ found   A1       M:212 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    1  N:    1    1
+ regrid  A1       M:224 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    1  N:    1   16
+ regrid  A1       M:240 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    2  N:    1   16
+ -DELETE A1       M:224 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    1  N:    1   16
+ dealloc  dynamic grid (G091)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
              VARIABLE : _E[GE=E1PT]+_F[GF=F1PT]
                         regrid: 1 delta on E at SUM, 96 hour on F at SUM
              SUBSET   : 2 by 16 points (E-FORECAST)
@@ -70072,29 +71236,21 @@ list a1[ge=eoffset at sum, gf=fax4day at sum]
  12-MAR-1982 00 / 15:     ....     ....
  16-MAR-1982 00 / 16:     ....     ....
 list a1[ge=eoffset at var, gf=fax4day at var]
- dealloc  dynamic grid (G094)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
- -DELETE A1       M: 74 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    2  N:    1   16
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G094)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
- dealloc  dynamic grid (G094)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
- allocate dynamic grid (G094)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
- eval    EX#1     C:  4 dset:   1 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    2  N:    1   16
- allocate dynamic grid (G094)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
- strip regrid on E: A1 --> (G094)           @VAR
+ dealloc  dynamic grid (G091)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
+ -DELETE A1       M:240 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    2  N:    1   16
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G091)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
+ dealloc  dynamic grid (G091)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
+ allocate dynamic grid (G091)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
+ eval    EX#1     C:  4 dset:   1 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    2  N:    1   16
+ allocate dynamic grid (G091)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
+ strip regrid on E: A1 --> (G091)           @VAR
  strip regrid on F: A1 --> ENTERMED         @VAR
- eval    A1       C:  8 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    1  N:    1    1
- allocate dynamic grid (G103)          NORMAL    NORMAL    NORMAL    NORMAL    E1PT      NORMAL
- pseudo  _E       M: 74 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    1  N: -999 -999
- allocate dynamic grid (G098)          NORMAL    NORMAL    NORMAL    NORMAL    NORMAL    F1PT
- pseudo  _F       M: 70 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M: -999 -999  N:    1    1
- -DELETE _F       M: 70 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M: -999 -999  N:    1    1
- dealloc  dynamic grid (G098)          NORMAL    NORMAL    NORMAL    NORMAL    NORMAL    F1PT
- -DELETE _E       M: 74 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    1  N: -999 -999
- dealloc  dynamic grid (G103)          NORMAL    NORMAL    NORMAL    NORMAL    E1PT      NORMAL
- regrid  A1       M: 74 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    1  N:    1   16
- regrid  A1       M: 70 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    2  N:    1   16
- -DELETE A1       M: 74 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    1  N:    1   16
- dealloc  dynamic grid (G094)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
+ found   A1       M:212 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    1  N:    1    1
+ regrid  A1       M:240 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    1  N:    1   16
+ regrid  A1       M:224 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    2  N:    1   16
+ -DELETE A1       M:240 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    1  N:    1   16
+ dealloc  dynamic grid (G091)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
              VARIABLE : Variance of _E[GE=E1PT]+_F[GF=F1PT]
                         regrid: 1 delta on E at VAR, 96 hour on F at VAR
              SUBSET   : 2 by 16 points (E-FORECAST)
@@ -70118,34 +71274,34 @@ list a1[ge=eoffset at var, gf=fax4day at var]
  16-MAR-1982 00 / 16:........
  
 list a2[ge=eoffset at ave, gf=fax4day at ave]
- dealloc  dynamic grid (G094)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
- -DELETE A1       M: 70 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    2  N:    1   16
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid A2       C:  7 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G094)          NORMAL    NORMAL    NORMAL    NORMAL    NORMAL    F2PT
- dealloc  dynamic grid (G094)          NORMAL    NORMAL    NORMAL    NORMAL    NORMAL    F2PT
- allocate dynamic grid (G094)          NORMAL    NORMAL    NORMAL    NORMAL    E2PT      NORMAL
- dealloc  dynamic grid (G094)          NORMAL    NORMAL    NORMAL    NORMAL    E2PT      NORMAL
- allocate dynamic grid (G094)          NORMAL    NORMAL    NORMAL    NORMAL    E2PT      F2PT
+ dealloc  dynamic grid (G091)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
+ -DELETE A1       M:224 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    2  N:    1   16
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid A2       C:  7 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G091)          NORMAL    NORMAL    NORMAL    NORMAL    NORMAL    F2PT
+ dealloc  dynamic grid (G091)          NORMAL    NORMAL    NORMAL    NORMAL    NORMAL    F2PT
+ allocate dynamic grid (G091)          NORMAL    NORMAL    NORMAL    NORMAL    E2PT      NORMAL
+ dealloc  dynamic grid (G091)          NORMAL    NORMAL    NORMAL    NORMAL    E2PT      NORMAL
+ allocate dynamic grid (G091)          NORMAL    NORMAL    NORMAL    NORMAL    E2PT      F2PT
  allocate dynamic grid (G103)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
  dealloc  dynamic grid (G103)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
  allocate dynamic grid (G103)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
- eval    EX#1     C:  4 dset:   1 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    2  N:    1   16
+ eval    EX#1     C:  4 dset:   1 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    2  N:    1   16
  allocate dynamic grid (G103)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
  strip regrid on E: A2 --> (G103)           @AVE
  strip regrid on F: A2 --> ENTERMED         @AVE
- eval    A2       C:  8 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    2  N:    1   48
- allocate dynamic grid (G098)          NORMAL    NORMAL    NORMAL    NORMAL    E2PT      NORMAL
- pseudo  _E       M: 70 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    2  N: -999 -999
- allocate dynamic grid (G105)          NORMAL    NORMAL    NORMAL    NORMAL    NORMAL    F2PT
- pseudo  _F       M: 74 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M: -999 -999  N:    1   48
- -DELETE _F       M: 74 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M: -999 -999  N:    1   48
- dealloc  dynamic grid (G105)          NORMAL    NORMAL    NORMAL    NORMAL    NORMAL    F2PT
- -DELETE _E       M: 70 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    2  N: -999 -999
- dealloc  dynamic grid (G098)          NORMAL    NORMAL    NORMAL    NORMAL    E2PT      NORMAL
- regrid  A2       M: 70 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    2  N:    1   16
- regrid  A2       M: 74 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    2  N:    1   16
- -DELETE A2       M: 70 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    2  N:    1   16
+ eval    A2       C:  8 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    2  N:    1   48
+ allocate dynamic grid (G094)          NORMAL    NORMAL    NORMAL    NORMAL    E2PT      NORMAL
+ pseudo  _E       M:224 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    2  N: -999 -999
+ allocate dynamic grid (G108)          NORMAL    NORMAL    NORMAL    NORMAL    NORMAL    F2PT
+ pseudo  _F       M:240 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M: -999 -999  N:    1   48
+ -DELETE _F       M:240 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M: -999 -999  N:    1   48
+ dealloc  dynamic grid (G108)          NORMAL    NORMAL    NORMAL    NORMAL    NORMAL    F2PT
+ -DELETE _E       M:224 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    2  N: -999 -999
+ dealloc  dynamic grid (G094)          NORMAL    NORMAL    NORMAL    NORMAL    E2PT      NORMAL
+ regrid  A2       M:224 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    2  N:    1   16
+ regrid  A2       M:240 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    2  N:    1   16
+ -DELETE A2       M:224 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    2  N:    1   16
  dealloc  dynamic grid (G103)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
              VARIABLE : _E[GE=E2PT]+_F[GF=F2PT]
                         regrid: 1 delta on E at AVE, 96 hour on F at AVE
@@ -70170,27 +71326,19 @@ list a2[ge=eoffset at ave, gf=fax4day at ave]
  16-MAR-1982 00 / 16:     ....     ....
 list a2[ge=eoffset at sum, gf=fax4day at sum]
  dealloc  dynamic grid (G103)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
- -DELETE A2       M: 74 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    2  N:    1   16
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ -DELETE A2       M:240 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    2  N:    1   16
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G103)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
  dealloc  dynamic grid (G103)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
  allocate dynamic grid (G103)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
- eval    EX#1     C:  4 dset:   1 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    2  N:    1   16
+ eval    EX#1     C:  4 dset:   1 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    2  N:    1   16
  allocate dynamic grid (G103)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
  strip regrid on E: A2 --> (G103)           @SUM
  strip regrid on F: A2 --> ENTERMED         @SUM
- eval    A2       C:  8 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    2  N:    1   48
- allocate dynamic grid (G098)          NORMAL    NORMAL    NORMAL    NORMAL    E2PT      NORMAL
- pseudo  _E       M: 74 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    2  N: -999 -999
- allocate dynamic grid (G105)          NORMAL    NORMAL    NORMAL    NORMAL    NORMAL    F2PT
- pseudo  _F       M: 70 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M: -999 -999  N:    1   48
- -DELETE _F       M: 70 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M: -999 -999  N:    1   48
- dealloc  dynamic grid (G105)          NORMAL    NORMAL    NORMAL    NORMAL    NORMAL    F2PT
- -DELETE _E       M: 74 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    2  N: -999 -999
- dealloc  dynamic grid (G098)          NORMAL    NORMAL    NORMAL    NORMAL    E2PT      NORMAL
- regrid  A2       M: 74 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    2  N:    1   16
- regrid  A2       M: 70 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    2  N:    1   16
- -DELETE A2       M: 74 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    2  N:    1   16
+ found   A2       M:208 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    2  N:    1   48
+ regrid  A2       M:240 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    2  N:    1   16
+ regrid  A2       M:224 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    2  N:    1   16
+ -DELETE A2       M:240 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    2  N:    1   16
  dealloc  dynamic grid (G103)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
              VARIABLE : _E[GE=E2PT]+_F[GF=F2PT]
                         regrid: 1 delta on E at SUM, 96 hour on F at SUM
@@ -70215,27 +71363,19 @@ list a2[ge=eoffset at sum, gf=fax4day at sum]
  16-MAR-1982 00 / 16:       ....       ....
 list a2[ge=eoffset at var, gf=fax4day at var]
  dealloc  dynamic grid (G103)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
- -DELETE A2       M: 70 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    2  N:    1   16
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ -DELETE A2       M:224 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    2  N:    1   16
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G103)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
  dealloc  dynamic grid (G103)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
  allocate dynamic grid (G103)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
- eval    EX#1     C:  4 dset:   1 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    2  N:    1   16
+ eval    EX#1     C:  4 dset:   1 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    2  N:    1   16
  allocate dynamic grid (G103)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
  strip regrid on E: A2 --> (G103)           @VAR
  strip regrid on F: A2 --> ENTERMED         @VAR
- eval    A2       C:  8 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    2  N:    1   48
- allocate dynamic grid (G098)          NORMAL    NORMAL    NORMAL    NORMAL    E2PT      NORMAL
- pseudo  _E       M: 70 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    2  N: -999 -999
- allocate dynamic grid (G105)          NORMAL    NORMAL    NORMAL    NORMAL    NORMAL    F2PT
- pseudo  _F       M: 74 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M: -999 -999  N:    1   48
- -DELETE _F       M: 74 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M: -999 -999  N:    1   48
- dealloc  dynamic grid (G105)          NORMAL    NORMAL    NORMAL    NORMAL    NORMAL    F2PT
- -DELETE _E       M: 70 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    2  N: -999 -999
- dealloc  dynamic grid (G098)          NORMAL    NORMAL    NORMAL    NORMAL    E2PT      NORMAL
- regrid  A2       M: 70 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    2  N:    1   16
- regrid  A2       M: 74 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    2  N:    1   16
- -DELETE A2       M: 70 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    2  N:    1   16
+ found   A2       M:208 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    2  N:    1   48
+ regrid  A2       M:224 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    2  N:    1   16
+ regrid  A2       M:240 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    2  N:    1   16
+ -DELETE A2       M:224 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    2  N:    1   16
  dealloc  dynamic grid (G103)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
              VARIABLE : Variance of _E[GE=E2PT]+_F[GF=F2PT]
                         regrid: 1 delta on E at VAR, 96 hour on F at VAR
@@ -70263,61 +71403,57 @@ list a2[ge=eoffset at var, gf=fax4day at var]
  
 let a1 = _e[ge=e1pt]
  dealloc  dynamic grid (G103)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
- -DELETE A2       M: 74 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    2  N:    1   16
- -DELETE A2       M: 50 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    2  N:    1   48
- -DELETE A2       M: 56 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    2  N:    1   48
- -DELETE A2       M: 62 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    2  N:    1   48
- dealloc  dynamic grid (G094)          NORMAL    NORMAL    NORMAL    NORMAL    E2PT      F2PT
- -DELETE A1       M: 54 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    1  N:    1    1
- -DELETE A1       M: 64 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    1  N:    1    1
- -DELETE A1       M: 66 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    1  N:    1    1
+ -DELETE A2       M:240 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    2  N:    1   16
+ -DELETE A2       M:208 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    2  N:    1   48
+ dealloc  dynamic grid (G091)          NORMAL    NORMAL    NORMAL    NORMAL    E2PT      F2PT
+ -DELETE A1       M:212 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    1  N:    1    1
  dealloc  dynamic grid (G089)          NORMAL    NORMAL    NORMAL    NORMAL    E1PT      F1PT
 let a2 = _e[ge=e2pt]
 let a4 = _e[ge=e4pt]
  
 list a1[ge=eoffset at max]
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid A1       C:  7 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid A1       C:  7 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G089)          NORMAL    NORMAL    NORMAL    NORMAL    E1PT      NORMAL
  dealloc  dynamic grid (G089)          NORMAL    NORMAL    NORMAL    NORMAL    E1PT      NORMAL
  allocate dynamic grid (G089)          NORMAL    NORMAL    NORMAL    NORMAL    E1PT      NORMAL
- allocate dynamic grid (G094)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
- dealloc  dynamic grid (G094)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
- allocate dynamic grid (G094)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
- eval    EX#1     C:  4 dset:   1 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    2  N: -999 -999
- allocate dynamic grid (G094)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
- strip regrid on E: A1 --> (G094)           @MAX
- eval    A1       C:  7 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    1  N: -999 -999
+ allocate dynamic grid (G091)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
+ dealloc  dynamic grid (G091)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
+ allocate dynamic grid (G091)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
+ eval    EX#1     C:  4 dset:   1 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    2  N: -999 -999
+ allocate dynamic grid (G091)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
+ strip regrid on E: A1 --> (G091)           @MAX
+ eval    A1       C:  7 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    1  N: -999 -999
  allocate dynamic grid (G089)          NORMAL    NORMAL    NORMAL    NORMAL    E1PT      NORMAL
- pseudo  _E       M: 66 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    1  N: -999 -999
+ pseudo  _E       M:212 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    1  N: -999 -999
  dealloc  dynamic grid (G089)          NORMAL    NORMAL    NORMAL    NORMAL    E1PT      NORMAL
- regrid  A1       M: 54 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    2  N: -999 -999
- dealloc  dynamic grid (G094)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
+ regrid  A1       M:240 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    2  N: -999 -999
+ dealloc  dynamic grid (G091)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
              VARIABLE : _E[GE=E1PT]
                         regrid: 1 delta on E at MAX
              SUBSET   : 2 points (E)
  1.1 / 1:     ....
  2.1 / 2:  2.50000
 list a2[ge=eoffset at max]
- -DELETE _E       M: 66 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    1  N: -999 -999
- dealloc  dynamic grid (G094)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
- -DELETE A1       M: 54 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    2  N: -999 -999
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid A2       C:  7 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G094)          NORMAL    NORMAL    NORMAL    NORMAL    E2PT      NORMAL
- dealloc  dynamic grid (G094)          NORMAL    NORMAL    NORMAL    NORMAL    E2PT      NORMAL
- allocate dynamic grid (G094)          NORMAL    NORMAL    NORMAL    NORMAL    E2PT      NORMAL
+ -DELETE _E       M:212 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    1  N: -999 -999
+ dealloc  dynamic grid (G091)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
+ -DELETE A1       M:240 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    2  N: -999 -999
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid A2       C:  7 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G091)          NORMAL    NORMAL    NORMAL    NORMAL    E2PT      NORMAL
+ dealloc  dynamic grid (G091)          NORMAL    NORMAL    NORMAL    NORMAL    E2PT      NORMAL
+ allocate dynamic grid (G091)          NORMAL    NORMAL    NORMAL    NORMAL    E2PT      NORMAL
  allocate dynamic grid (G103)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
  dealloc  dynamic grid (G103)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
  allocate dynamic grid (G103)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
- eval    EX#1     C:  4 dset:   1 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    2  N: -999 -999
+ eval    EX#1     C:  4 dset:   1 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    2  N: -999 -999
  allocate dynamic grid (G103)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
  strip regrid on E: A2 --> (G103)           @MAX
- eval    A2       C:  7 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    2  N: -999 -999
- allocate dynamic grid (G094)          NORMAL    NORMAL    NORMAL    NORMAL    E2PT      NORMAL
- pseudo  _E       M: 54 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    2  N: -999 -999
- dealloc  dynamic grid (G094)          NORMAL    NORMAL    NORMAL    NORMAL    E2PT      NORMAL
- regrid  A2       M: 62 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    2  N: -999 -999
+ eval    A2       C:  7 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    2  N: -999 -999
+ allocate dynamic grid (G091)          NORMAL    NORMAL    NORMAL    NORMAL    E2PT      NORMAL
+ pseudo  _E       M:240 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    2  N: -999 -999
+ dealloc  dynamic grid (G091)          NORMAL    NORMAL    NORMAL    NORMAL    E2PT      NORMAL
+ regrid  A2       M:224 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    2  N: -999 -999
  dealloc  dynamic grid (G103)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
              VARIABLE : _E[GE=E2PT]
                         regrid: 1 delta on E at MAX
@@ -70325,70 +71461,63 @@ list a2[ge=eoffset at max]
  1.1 / 1:  1.50000
  2.1 / 2:  2.50000
 list a4[ge=eoffset at max]
- -DELETE _E       M: 54 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    2  N: -999 -999
+ -DELETE _E       M:240 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    2  N: -999 -999
  dealloc  dynamic grid (G103)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
- -DELETE A2       M: 62 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    2  N: -999 -999
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid A4       C:  7 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ -DELETE A2       M:224 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    2  N: -999 -999
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid A4       C:  7 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G103)          NORMAL    NORMAL    NORMAL    NORMAL    E4PT      NORMAL
  dealloc  dynamic grid (G103)          NORMAL    NORMAL    NORMAL    NORMAL    E4PT      NORMAL
  allocate dynamic grid (G103)          NORMAL    NORMAL    NORMAL    NORMAL    E4PT      NORMAL
- allocate dynamic grid (G098)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
- dealloc  dynamic grid (G098)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
- allocate dynamic grid (G098)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
- eval    EX#1     C:  4 dset:   1 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    2  N: -999 -999
- allocate dynamic grid (G098)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
- strip regrid on E: A4 --> (G098)           @MAX
- eval    A4       C:  7 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    3  N: -999 -999
+ allocate dynamic grid (G094)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
+ dealloc  dynamic grid (G094)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
+ allocate dynamic grid (G094)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
+ eval    EX#1     C:  4 dset:   1 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    2  N: -999 -999
+ allocate dynamic grid (G094)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
+ strip regrid on E: A4 --> (G094)           @MAX
+ eval    A4       C:  7 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    3  N: -999 -999
  allocate dynamic grid (G103)          NORMAL    NORMAL    NORMAL    NORMAL    E4PT      NORMAL
- pseudo  _E       M: 62 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    3  N: -999 -999
+ pseudo  _E       M:224 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    3  N: -999 -999
  dealloc  dynamic grid (G103)          NORMAL    NORMAL    NORMAL    NORMAL    E4PT      NORMAL
- regrid  A4       M: 56 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    2  N: -999 -999
- dealloc  dynamic grid (G098)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
+ regrid  A4       M:244 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    2  N: -999 -999
+ dealloc  dynamic grid (G094)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
              VARIABLE : _E[GE=E4PT]
                         regrid: 1 delta on E at MAX
              SUBSET   : 2 points (E)
  1.1 / 1:  1.50000
  2.1 / 2:  2.50000
 list a4[ge=eoffset at min]
- -DELETE _E       M: 62 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    3  N: -999 -999
- dealloc  dynamic grid (G098)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
- -DELETE A4       M: 56 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    2  N: -999 -999
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G098)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
- dealloc  dynamic grid (G098)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
- allocate dynamic grid (G098)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
- eval    EX#1     C:  4 dset:   1 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    2  N: -999 -999
- allocate dynamic grid (G098)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
- strip regrid on E: A4 --> (G098)           @MIN
- eval    A4       C:  7 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    3  N: -999 -999
- allocate dynamic grid (G103)          NORMAL    NORMAL    NORMAL    NORMAL    E4PT      NORMAL
- pseudo  _E       M: 56 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    3  N: -999 -999
- dealloc  dynamic grid (G103)          NORMAL    NORMAL    NORMAL    NORMAL    E4PT      NORMAL
- regrid  A4       M: 50 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    2  N: -999 -999
- dealloc  dynamic grid (G098)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
+ -DELETE _E       M:224 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    3  N: -999 -999
+ dealloc  dynamic grid (G094)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
+ -DELETE A4       M:244 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    2  N: -999 -999
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G094)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
+ dealloc  dynamic grid (G094)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
+ allocate dynamic grid (G094)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
+ eval    EX#1     C:  4 dset:   1 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    2  N: -999 -999
+ allocate dynamic grid (G094)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
+ strip regrid on E: A4 --> (G094)           @MIN
+ found   A4       M:240 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    3  N: -999 -999
+ regrid  A4       M:244 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    2  N: -999 -999
+ dealloc  dynamic grid (G094)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
              VARIABLE : _E[GE=E4PT]
                         regrid: 1 delta on E at MIN
              SUBSET   : 2 points (E)
  1.1 / 1:  1.50000
  2.1 / 2:  2.00000
 list a4[ge=eoffset at sum] ! 5+5.5+6+6.5=23
- -DELETE _E       M: 56 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    3  N: -999 -999
- dealloc  dynamic grid (G098)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
- -DELETE A4       M: 50 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    2  N: -999 -999
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G098)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
- dealloc  dynamic grid (G098)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
- allocate dynamic grid (G098)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
- eval    EX#1     C:  4 dset:   1 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    2  N: -999 -999
- allocate dynamic grid (G098)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
- strip regrid on E: A4 --> (G098)           @SUM
- eval    A4       C:  7 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    3  N: -999 -999
- allocate dynamic grid (G103)          NORMAL    NORMAL    NORMAL    NORMAL    E4PT      NORMAL
- pseudo  _E       M: 50 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    3  N: -999 -999
- dealloc  dynamic grid (G103)          NORMAL    NORMAL    NORMAL    NORMAL    E4PT      NORMAL
- regrid  A4       M: 74 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    2  N: -999 -999
- dealloc  dynamic grid (G098)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
+ dealloc  dynamic grid (G094)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
+ -DELETE A4       M:244 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    2  N: -999 -999
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G094)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
+ dealloc  dynamic grid (G094)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
+ allocate dynamic grid (G094)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
+ eval    EX#1     C:  4 dset:   1 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    2  N: -999 -999
+ allocate dynamic grid (G094)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
+ strip regrid on E: A4 --> (G094)           @SUM
+ found   A4       M:240 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    3  N: -999 -999
+ regrid  A4       M:244 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    2  N: -999 -999
+ dealloc  dynamic grid (G094)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
              VARIABLE : _E[GE=E4PT]
                         regrid: 1 delta on E at SUM
              SUBSET   : 2 points (E)
@@ -70400,20 +71529,19 @@ define axis/f=1-jan-1990:5-jan-1990:1/units=days eday
 define axis/f=1-jan-1990:5-jan-1990:24/units=hours ehour
 let afcst = _f[gf=eday]
 list afcst
- -DELETE _E       M: 50 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    3  N: -999 -999
- dealloc  dynamic grid (G098)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
- -DELETE A4       M: 74 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    2  N: -999 -999
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid AFCST    C:  7 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G098)          NORMAL    NORMAL    NORMAL    NORMAL    NORMAL    EDAY
- dealloc  dynamic grid (G098)          NORMAL    NORMAL    NORMAL    NORMAL    NORMAL    EDAY
- allocate dynamic grid (G098)          NORMAL    NORMAL    NORMAL    NORMAL    NORMAL    EDAY
- allocate dynamic grid (G098)          NORMAL    NORMAL    NORMAL    NORMAL    NORMAL    EDAY
- eval    EX#1     C:  4 dset:   1 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M: -999 -999  N:    1    5
- eval    AFCST    C:  6 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M: -999 -999  N:    1    5
- allocate dynamic grid (G098)          NORMAL    NORMAL    NORMAL    NORMAL    NORMAL    EDAY
- pseudo  _F       M: 74 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M: -999 -999  N:    1    5
- dealloc  dynamic grid (G098)          NORMAL    NORMAL    NORMAL    NORMAL    NORMAL    EDAY
+ dealloc  dynamic grid (G094)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
+ -DELETE A4       M:244 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    2  N: -999 -999
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid AFCST    C:  7 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G094)          NORMAL    NORMAL    NORMAL    NORMAL    NORMAL    EDAY
+ dealloc  dynamic grid (G094)          NORMAL    NORMAL    NORMAL    NORMAL    NORMAL    EDAY
+ allocate dynamic grid (G094)          NORMAL    NORMAL    NORMAL    NORMAL    NORMAL    EDAY
+ allocate dynamic grid (G094)          NORMAL    NORMAL    NORMAL    NORMAL    NORMAL    EDAY
+ eval    EX#1     C:  4 dset:   1 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M: -999 -999  N:    1    5
+ eval    AFCST    C:  6 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M: -999 -999  N:    1    5
+ allocate dynamic grid (G094)          NORMAL    NORMAL    NORMAL    NORMAL    NORMAL    EDAY
+ pseudo  _F       M:244 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M: -999 -999  N:    1    5
+ dealloc  dynamic grid (G094)          NORMAL    NORMAL    NORMAL    NORMAL    NORMAL    EDAY
              VARIABLE : _F[GF=EDAY]
              SUBSET   : 5 points (FORECAST)
  01-JAN-1990 00 / 1:  32493.0
@@ -70423,8 +71551,8 @@ list afcst
  05-JAN-1990 00 / 5:  32497.0
 show grid
  Default grid for DEFINE VARIABLE is ABSTRACT
- Last successful data access was on grid (G098)
-    GRID (G098)
+ Last successful data access was on grid (G094)
+    GRID (G094)
  name       axis              # pts   start                end                 subset
  normal    X
  normal    Y
@@ -70433,21 +71561,18 @@ show grid
  normal    E
  EDAY      FORECAST             5 r   01-JAN-1990 00:00    05-JAN-1990 00:00   full
 list afcst[gf=ehour at max]
- -DELETE _F       M: 74 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M: -999 -999  N:    1    5
- dealloc  dynamic grid (G098)          NORMAL    NORMAL    NORMAL    NORMAL    NORMAL    EDAY
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G105)          NORMAL    NORMAL    NORMAL    NORMAL    NORMAL    EHOUR
- dealloc  dynamic grid (G105)          NORMAL    NORMAL    NORMAL    NORMAL    NORMAL    EHOUR
- allocate dynamic grid (G105)          NORMAL    NORMAL    NORMAL    NORMAL    NORMAL    EHOUR
- eval    EX#1     C:  4 dset:   1 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M: -999 -999  N:    1    5
- allocate dynamic grid (G105)          NORMAL    NORMAL    NORMAL    NORMAL    NORMAL    EHOUR
- strip regrid on F: AFCST --> (G105)           @MAX
- eval    AFCST    C:  7 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M: -999 -999  N:    1    5
- allocate dynamic grid (G098)          NORMAL    NORMAL    NORMAL    NORMAL    NORMAL    EDAY
- pseudo  _F       M: 74 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M: -999 -999  N:    1    5
- dealloc  dynamic grid (G098)          NORMAL    NORMAL    NORMAL    NORMAL    NORMAL    EDAY
- regrid  AFCST    M: 46 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M: -999 -999  N:    1    5
- dealloc  dynamic grid (G105)          NORMAL    NORMAL    NORMAL    NORMAL    NORMAL    EHOUR
+ -DELETE _F       M:244 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M: -999 -999  N:    1    5
+ dealloc  dynamic grid (G094)          NORMAL    NORMAL    NORMAL    NORMAL    NORMAL    EDAY
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G108)          NORMAL    NORMAL    NORMAL    NORMAL    NORMAL    EHOUR
+ dealloc  dynamic grid (G108)          NORMAL    NORMAL    NORMAL    NORMAL    NORMAL    EHOUR
+ allocate dynamic grid (G108)          NORMAL    NORMAL    NORMAL    NORMAL    NORMAL    EHOUR
+ eval    EX#1     C:  4 dset:   1 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M: -999 -999  N:    1    5
+ allocate dynamic grid (G108)          NORMAL    NORMAL    NORMAL    NORMAL    NORMAL    EHOUR
+ strip regrid on F: AFCST --> (G108)           @MAX
+ found   AFCST    M:224 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M: -999 -999  N:    1    5
+ regrid  AFCST    M:244 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M: -999 -999  N:    1    5
+ dealloc  dynamic grid (G108)          NORMAL    NORMAL    NORMAL    NORMAL    NORMAL    EHOUR
              VARIABLE : _F[GF=EDAY]
                         regrid: 24 hour on F at MAX
              SUBSET   : 5 points (FORECAST)
@@ -70458,8 +71583,8 @@ list afcst[gf=ehour at max]
  05-JAN-1990 00 / 5:  32497.0
 show grid
  Default grid for DEFINE VARIABLE is ABSTRACT
- Last successful data access was on grid (G105)
-    GRID (G105)
+ Last successful data access was on grid (G108)
+    GRID (G108)
  name       axis              # pts   start                end                 subset
  normal    X
  normal    Y
@@ -70471,8 +71596,10 @@ show grid
 set mode/last diag
 set mode/last calendar
  
-GO bn_reset
+GO bn_reset bn_aggregate_e
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_aggregate_e
 GO bn_aggregate_e
 ! bn_aggregate_e.jnl
 ! using the DEFINE DATA/AGGREGATE/E command
@@ -70497,25 +71624,26 @@ show data fourfiles
  
  
 list/i=3 sst[T=@ave]
- getgrid EX#1     C:  5 dset:   5 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G105)          COADSX116_COADSY52_6NORMAL    TIME13    ENSEMBLE  NORMAL
+ getgrid EX#1     C:  5 dset:   5 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G108)          COADSX116_COADSY52_6NORMAL    TIME13    ENSEMBLE  NORMAL
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   5 I:    3    3  J:    1    9  K: -999 -999  L:    1   12  M:    1    4  N: -999 -999
+ eval    EX#1     C:  5 dset:   5 I:      3      3  J:    1    9  K: -999 -999  L:      1     12  M:    1    4  N: -999 -999
  strip --> SST[T=01-JAN00:45:31-DEC06:34 at AVE,D=5]
- strip aggregate gathering SST on E axis:     1     4 dset:   5
- reading SST      M:120 dset:   1 I:    3    3  J:    1    9  K: -999 -999  L:    1   12
- doing aggregate gathering SST on E axis:     1     1 dset:   1
- -DELETE SST      M:120 dset:   1 I:    3    3  J:    1    9  K: -999 -999  L:    1   12
- reading SST      M:120 dset:   3 I:    3    3  J:    1    9  K: -999 -999  L:    1   12
- doing aggregate gathering SST on E axis:     2     2 dset:   3
- -DELETE SST      M:120 dset:   3 I:    3    3  J:    1    9  K: -999 -999  L:    1   12
- reading SST      M:120 dset:   2 I:    3    3  J:    1    9  K: -999 -999  L:    1   12
- doing aggregate gathering SST on E axis:     3     3 dset:   2
- -DELETE SST      M:120 dset:   2 I:    3    3  J:    1    9  K: -999 -999  L:    1   12
- reading SST      M:120 dset:   4 I:    3    3  J:    1    9  K: -999 -999  L:    1   12
- doing aggregate gathering SST on E axis:     4     4 dset:   4
- -DELETE SST      M:120 dset:   4 I:    3    3  J:    1    9  K: -999 -999  L:    1   12
+ strip aggregate gathering SST on E axis:        1        4 dset:   5
+ reading SST      M:248 dset:   1 I:      3      3  J:    1    9  K: -999 -999  L:      1     12
+ doing aggregate gathering SST on E axis:        1        1 dset:   1
+ -DELETE SST      M:248 dset:   1 I:      3      3  J:    1    9  K: -999 -999  L:      1     12
+ reading SST      M:248 dset:   3 I:      3      3  J:    1    9  K: -999 -999  L:      1     12
+ doing aggregate gathering SST on E axis:        2        2 dset:   3
+ -DELETE SST      M:248 dset:   3 I:      3      3  J:    1    9  K: -999 -999  L:      1     12
+ reading SST      M:248 dset:   2 I:      3      3  J:    1    9  K: -999 -999  L:      1     12
+ doing aggregate gathering SST on E axis:        3        3 dset:   2
+ -DELETE SST      M:248 dset:   2 I:      3      3  J:    1    9  K: -999 -999  L:      1     12
+ reading SST      M:248 dset:   4 I:      3      3  J:    1    9  K: -999 -999  L:      1     12
+ doing aggregate gathering SST on E axis:        4        4 dset:   4
+ -DELETE SST      M:248 dset:   4 I:      3      3  J:    1    9  K: -999 -999  L:      1     12
  doing --> SST[T=01-JAN00:45:31-DEC06:34 at AVE,D=5]
+ final --> SST[T=01-JAN00:45:31-DEC06:34 at AVE,D=5]
              VARIABLE : SST_IN (Deg C)
              DATA SET : Ensemble series of 4 datasets patterned on ens1
              FILENAME : fourfiles
@@ -70530,23 +71658,27 @@ list/i=3 sst[T=@ave]
  4   / 4:  114.051  113.765  111.568  109.826  106.903  102.245     ....     ....     ....
  
 show memory/all  ! show memory-resident variables before canceling dataset
- Current size of FERRET memory cache: 25.6 MegaWords  (1 word = 8 bytes)
+    SET MEMORY/SIZE: 25.6 megawords
+    Peak demand: 540 words
+    Current cache: 504 words
 all data in memory:
- SST[D=fourfiles]                  YE    mr:120  blk1:1  nblk:1
-    3  /106W           1  /12N          ...  / ...         ...  /01-JAN 00:45   1  /0.5          ...  / ...
-    3  /104W           9  /30N          ...  / ...         ...  /31-DEC 06:34   4  /4.5          ...  / ...
+ SST[D=fourfiles]                  YE    mr:248 size:72
+         3/106W                1/12N              ... / ...             ... /01-JAN 00:45        1/0.5              ... / ...
+         3/104W                9/30N              ... / ...             ... /31-DEC 06:34        4/4.5              ... / ...
                                                               AVE
- SST[D=fourfiles]                  YTE   mr:118  blk1:2  nblk:1
-    3  /106W           1  /12N          ...  / ...           1  /01-JAN 00:45   1  /0.5          ...  / ...
-    3  /104W           9  /30N          ...  / ...          12  /31-DEC 06:34   4  /4.5          ...  / ...
+ SST[D=fourfiles]                  YTE   mr:242 size:432
+         3/106W                1/12N              ... / ...                1/01-JAN 00:45        1/0.5              ... / ...
+         3/104W                9/30N              ... / ...               12/31-DEC 06:34        4/4.5              ... / ...
  
 cancel data fourfiles
- dealloc  dynamic grid (G105)          COADSX116_COADSY52_6NORMAL    TIME13    ENSEMBLE  NORMAL
+ dealloc  dynamic grid (G108)          COADSX116_COADSY52_6NORMAL    TIME13    ENSEMBLE  NORMAL
  canceling dset fourfiles
- -DELETE SST      M:118 dset:   5 I:    3    3  J:    1    9  K: -999 -999  L:    1   12  M:    1    4  N: -999 -999
- -DELETE SST      M:120 dset:   5 I:    3    3  J:    1    9  K: -999 -999  L: -999 -999  M:    1    4  N: -999 -999
+ -DELETE SST      M:242 dset:   5 I:      3      3  J:    1    9  K: -999 -999  L:      1     12  M:    1    4  N: -999 -999
+ -DELETE SST      M:248 dset:   5 I:      3      3  J:    1    9  K: -999 -999  L:   -999   -999  M:    1    4  N: -999 -999
 show memory/all  ! show memory-resident variables after  canceling dataset
- Current size of FERRET memory cache: 25.6 MegaWords  (1 word = 8 bytes)
+    SET MEMORY/SIZE: 25.6 megawords
+    Peak demand: 540 words
+    Current cache: 0 words
 all data in memory:
  
 ! 12/15 now do again adding COADS to de-align toe dset #s from the sequence #s
@@ -70586,11 +71718,11 @@ let/d=ens3 airt = sst + 1
 let/d=ens4 airt = sst + 1
  
 ENSEMBLE fourfiles = ens1, ens3, ens2, ens4
- getgrid AIRT     C:  5 dset:   4 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid AIRT     C:  5 dset:   4 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GOH1            COADSX116_COADSY52_6NORMAL    TIME13
- getgrid AIRT     C:  5 dset:   3 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid AIRT     C:  5 dset:   3 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GOH1            COADSX116_COADSY52_6NORMAL    TIME13
- getgrid AIRT     C:  5 dset:   5 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid AIRT     C:  5 dset:   5 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GOH1            COADSX116_COADSY52_6NORMAL    TIME13
 show data fourfiles
      currently SET data sets:
@@ -70601,34 +71733,35 @@ show data fourfiles
  
  
 list/i=3 airt[T=@ave]
- getgrid EX#1     C:  5 dset:   6 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G094)          COADSX116_COADSY52_6NORMAL    TIME13    ENSEMBLE  NORMAL
+ getgrid EX#1     C:  5 dset:   6 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G091)          COADSX116_COADSY52_6NORMAL    TIME13    ENSEMBLE  NORMAL
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   6 I:    3    3  J:    1    9  K: -999 -999  L:    1   12  M:    1    4  N: -999 -999
+ eval    EX#1     C:  5 dset:   6 I:      3      3  J:    1    9  K: -999 -999  L:      1     12  M:    1    4  N: -999 -999
  strip --> AIRT[T=01-JAN00:45:31-DEC06:34 at AVE,D=6]
- strip aggregate gathering AIRT on E axis:     1     4 dset:   6
- reading AIRT     M:120 dset:   2 I:    3    3  J:    1    9  K: -999 -999  L:    1   12
- doing aggregate gathering AIRT on E axis:     1     1 dset:   2
- -DELETE AIRT     M:120 dset:   2 I:    3    3  J:    1    9  K: -999 -999  L:    1   12
- eval    AIRT     C:  9 dset:   4 I:    3    3  J:    1    9  K: -999 -999  L:    1   12
- reading SST      M:120 dset:   4 I:    3    3  J:    1    9  K: -999 -999  L:    1   12
- constan cnst     M:114 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- -DELETE cnst     M:114 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- doing aggregate gathering AIRT on E axis:     2     2 dset:   4
- -DELETE AIRT     M:112 dset:   4 I:    3    3  J:    1    9  K: -999 -999  L:    1   12
- eval    AIRT     C:  9 dset:   3 I:    3    3  J:    1    9  K: -999 -999  L:    1   12
- reading SST      M:112 dset:   3 I:    3    3  J:    1    9  K: -999 -999  L:    1   12
- constan cnst     M:114 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- -DELETE cnst     M:114 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- doing aggregate gathering AIRT on E axis:     3     3 dset:   3
- -DELETE AIRT     M:110 dset:   3 I:    3    3  J:    1    9  K: -999 -999  L:    1   12
- eval    AIRT     C:  9 dset:   5 I:    3    3  J:    1    9  K: -999 -999  L:    1   12
- reading SST      M:110 dset:   5 I:    3    3  J:    1    9  K: -999 -999  L:    1   12
- constan cnst     M:114 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- -DELETE cnst     M:114 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- doing aggregate gathering AIRT on E axis:     4     4 dset:   5
- -DELETE AIRT     M:106 dset:   5 I:    3    3  J:    1    9  K: -999 -999  L:    1   12
+ strip aggregate gathering AIRT on E axis:        1        4 dset:   6
+ reading AIRT     M:248 dset:   2 I:      3      3  J:    1    9  K: -999 -999  L:      1     12
+ doing aggregate gathering AIRT on E axis:        1        1 dset:   2
+ -DELETE AIRT     M:248 dset:   2 I:      3      3  J:    1    9  K: -999 -999  L:      1     12
+ eval    AIRT     C:  9 dset:   4 I:      3      3  J:    1    9  K: -999 -999  L:      1     12
+ reading SST      M:248 dset:   4 I:      3      3  J:    1    9  K: -999 -999  L:      1     12
+ constan cnst     M:236 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
+ -DELETE cnst     M:236 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
+ doing aggregate gathering AIRT on E axis:        2        2 dset:   4
+ -DELETE AIRT     M:234 dset:   4 I:      3      3  J:    1    9  K: -999 -999  L:      1     12
+ eval    AIRT     C:  9 dset:   3 I:      3      3  J:    1    9  K: -999 -999  L:      1     12
+ reading SST      M:234 dset:   3 I:      3      3  J:    1    9  K: -999 -999  L:      1     12
+ constan cnst     M:236 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
+ -DELETE cnst     M:236 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
+ doing aggregate gathering AIRT on E axis:        3        3 dset:   3
+ -DELETE AIRT     M:232 dset:   3 I:      3      3  J:    1    9  K: -999 -999  L:      1     12
+ eval    AIRT     C:  9 dset:   5 I:      3      3  J:    1    9  K: -999 -999  L:      1     12
+ reading SST      M:232 dset:   5 I:      3      3  J:    1    9  K: -999 -999  L:      1     12
+ constan cnst     M:236 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
+ -DELETE cnst     M:236 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
+ doing aggregate gathering AIRT on E axis:        4        4 dset:   5
+ -DELETE AIRT     M:228 dset:   5 I:      3      3  J:    1    9  K: -999 -999  L:      1     12
  doing --> AIRT[T=01-JAN00:45:31-DEC06:34 at AVE,D=6]
+ final --> AIRT[T=01-JAN00:45:31-DEC06:34 at AVE,D=6]
              VARIABLE : AIR TEMPERATURE (DEG C)
              DATA SET : Ensemble series of 4 datasets patterned on ens1
              FILENAME : fourfiles
@@ -70644,9 +71777,9 @@ list/i=3 airt[T=@ave]
  
 ! create an ensemble where one member is missing
 ENSEMBLE fourfiles_gap = ens1, -, ens3, ens4
- getgrid AIRT     C:  5 dset:   4 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid AIRT     C:  5 dset:   4 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GOH1            COADSX116_COADSY52_6NORMAL    TIME13
- getgrid AIRT     C:  5 dset:   5 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid AIRT     C:  5 dset:   5 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GOH1            COADSX116_COADSY52_6NORMAL    TIME13
 show data/files fourfiles_gap
      currently SET data sets:
@@ -70661,31 +71794,32 @@ show data/files fourfiles_gap
       7.3: ./ens3.nc
       7.4: ./ens4.nc
 list/i=3 airt[T=@ave]
- getgrid EX#1     C:  5 dset:   7 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G094)          COADSX116_COADSY52_6NORMAL    TIME13    ENSEMBLE  NORMAL
+ getgrid EX#1     C:  5 dset:   7 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G091)          COADSX116_COADSY52_6NORMAL    TIME13    ENSEMBLE  NORMAL
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   7 I:    3    3  J:    1    9  K: -999 -999  L:    1   12  M:    1    4  N: -999 -999
+ eval    EX#1     C:  5 dset:   7 I:      3      3  J:    1    9  K: -999 -999  L:      1     12  M:    1    4  N: -999 -999
  strip --> AIRT[T=01-JAN00:45:31-DEC06:34 at AVE,D=7]
- strip aggregate gathering AIRT on E axis:     1     4 dset:   7
- reading AIRT     M:114 dset:   2 I:    3    3  J:    1    9  K: -999 -999  L:    1   12
- doing aggregate gathering AIRT on E axis:     1     1 dset:   2
- -DELETE AIRT     M:114 dset:   2 I:    3    3  J:    1    9  K: -999 -999  L:    1   12
- dummy AIRT     M:114 dset:5001 I:    3    3  J:    1    9  K: -999 -999  L:    1   12
- doing aggregate gathering AIRT on E axis:     2     2 dset:5001
- -DELETE AIRT     M:114 dset:5001 I:    3    3  J:    1    9  K: -999 -999  L:    1   12
- eval    AIRT     C:  9 dset:   4 I:    3    3  J:    1    9  K: -999 -999  L:    1   12
- reading SST      M:114 dset:   4 I:    3    3  J:    1    9  K: -999 -999  L:    1   12
- constan cnst     M:102 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- -DELETE cnst     M:102 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- doing aggregate gathering AIRT on E axis:     3     3 dset:   4
- -DELETE AIRT     M: 98 dset:   4 I:    3    3  J:    1    9  K: -999 -999  L:    1   12
- eval    AIRT     C:  9 dset:   5 I:    3    3  J:    1    9  K: -999 -999  L:    1   12
- reading SST      M: 98 dset:   5 I:    3    3  J:    1    9  K: -999 -999  L:    1   12
- constan cnst     M:102 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- -DELETE cnst     M:102 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- doing aggregate gathering AIRT on E axis:     4     4 dset:   5
- -DELETE AIRT     M: 96 dset:   5 I:    3    3  J:    1    9  K: -999 -999  L:    1   12
+ strip aggregate gathering AIRT on E axis:        1        4 dset:   7
+ reading AIRT     M:236 dset:   2 I:      3      3  J:    1    9  K: -999 -999  L:      1     12
+ doing aggregate gathering AIRT on E axis:        1        1 dset:   2
+ -DELETE AIRT     M:236 dset:   2 I:      3      3  J:    1    9  K: -999 -999  L:      1     12
+ dummy AIRT     M:236 dset:5001 I:      3      3  J:    1    9  K: -999 -999  L:      1     12
+ doing aggregate gathering AIRT on E axis:        2        2 dset:5001
+ -DELETE AIRT     M:236 dset:5001 I:      3      3  J:    1    9  K: -999 -999  L:      1     12
+ eval    AIRT     C:  9 dset:   4 I:      3      3  J:    1    9  K: -999 -999  L:      1     12
+ found   SST      M:248 dset:   4 I:      3      3  J:    1    9  K: -999 -999  L:      1     12
+ constan cnst     M:236 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
+ -DELETE cnst     M:236 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
+ doing aggregate gathering AIRT on E axis:        3        3 dset:   4
+ -DELETE AIRT     M:220 dset:   4 I:      3      3  J:    1    9  K: -999 -999  L:      1     12
+ eval    AIRT     C:  9 dset:   5 I:      3      3  J:    1    9  K: -999 -999  L:      1     12
+ found   SST      M:232 dset:   5 I:      3      3  J:    1    9  K: -999 -999  L:      1     12
+ constan cnst     M:220 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
+ -DELETE cnst     M:220 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
+ doing aggregate gathering AIRT on E axis:        4        4 dset:   5
+ -DELETE AIRT     M:236 dset:   5 I:      3      3  J:    1    9  K: -999 -999  L:      1     12
  doing --> AIRT[T=01-JAN00:45:31-DEC06:34 at AVE,D=7]
+ final --> AIRT[T=01-JAN00:45:31-DEC06:34 at AVE,D=7]
              VARIABLE : AIR TEMPERATURE (DEG C)
              DATA SET : Ensemble series of 4 datasets patterned on ens1
              FILENAME : fourfiles_gap
@@ -70864,7 +71998,7 @@ show command show
  SHOW MOVIE/ALL
  SHOW VARIABLE/ALL/DATASET/USER/XML/OUTFILE/APPEND/CLOBBER/TREE/LAYERZ/CURVILIN
  SHOW COMMANDS/ALL/BRIEF
- SHOW MEMORY/ALL/TEMPORY/PERMANT/FREE
+ SHOW MEMORY/ALL/DIAGNOST/TEMPORY/PERMANT/FREE
  SHOW GRID/ALL/I/J/K/L/M/N/X/Y/Z/T/E/F/DYNAMIC/XML/OUTFILE/APPEND/CLOBBER
  SHOW VIEWPORT/ALL
  SHOW TRANFORM/ALL
@@ -70979,8 +72113,10 @@ show data/brief
     1> ./coads_climatology.cdf  (default)
  
  
-GO bn_reset
+GO bn_reset bn_6d_lab_mode
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_6d_lab_mode
 GO bn_6d_lab_mode
 ! bn_6d_lab_mode.jnl
 !
@@ -71081,13 +72217,14 @@ set mode diag
 set mode 6d_lab
 list/L=1:8 taux[x=@ave,y=@ave]
  dealloc  dynamic grid PS3DT21         PSXT      PSYT1     PSZT2     TIME14
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS2DU2          PSXU      PSYU      NORMAL    TIME14
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:    1  160  J:    1  100  K: -999 -999  L:    1    8
+ eval    EX#1     C:  5 dset:   1 I:      1    160  J:    1  100  K: -999 -999  L:      1      8
  strip --> TAUX[Y=28.8361S:51.4321N at AV4,D=1]
- reading TAUX     M:104 dset:   1 I:   91  108  J:   35   55  K: -999 -999  L:    1    8
+ reading TAUX     M:226 dset:   1 I:     91    108  J:   35   55  K: -999 -999  L:      1      8
  doing --> TAUX[Y=3.5S:3.5N at AV4,D=1]
+ final --> TAUX[Y=3.5S:3.5N at AV4,D=1]
              VARIABLE : ZONAL WIND STRESS (dynes/cm**2)
              FILENAME : gt4d011.cdf
              SUBSET   : 8 points (TIME)
@@ -71104,12 +72241,12 @@ list/L=1:8 taux[x=@ave,y=@ave]
 cancel mode 6d_lab
 list/L=1:8 taux[x=@sum,y=@sum]
  dealloc  dynamic grid PS2DU2          PSXU      PSYU      NORMAL    TIME14
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS2DU2          PSXU      PSYU      NORMAL    TIME14
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:    1  160  J:    1  100  K: -999 -999  L:    1    8
+ eval    EX#1     C:  5 dset:   1 I:      1    160  J:    1  100  K: -999 -999  L:      1      8
  strip --> TAUX[Y=28.8361S:51.4321N at SM4,D=1]
- reading TAUX     M: 94 dset:   1 I:   91  108  J:   35   55  K: -999 -999  L:    1    8
+ found   TAUX     M:226 dset:   1 I:     91    108  J:   35   55  K: -999 -999  L:      1      8
  doing --> TAUX[Y=3.5S:3.5N at SM4,D=1]
              VARIABLE : ZONAL WIND STRESS (dynes/cm**2)
              FILENAME : gt4d011.cdf
@@ -71131,8 +72268,10 @@ set mode 6d_lab
  
  
 ! *********** v6.82 Additions ***********
-GO bn_reset
+GO bn_reset bn682_bug_fixes
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn682_bug_fixes
 GO bn682_bug_fixes
 ! bn682_bug_fixes.jnl
 ! test various fixes that went into version 6.82
@@ -71140,6 +72279,7 @@ GO bn682_bug_fixes
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err681_dims_direction
 ! err681_dims_direction.jnl
 ! ticket 1955: Code still existed that determined axis direction
@@ -71184,8 +72324,10 @@ sho grid lon_c
 ! *********** v6.83 Additions ***********
 !  (was released as v6.84)
  
-GO bn_reset
+GO bn_reset bn683_bug_fixes
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn683_bug_fixes
 GO bn683_bug_fixes
 ! bn683_bug_fixes.jnl
 ! test various fixes that went into version 6.83
@@ -71193,6 +72335,7 @@ GO bn683_bug_fixes
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err682_shrink_axlab
 ! err682_shrink_axlab.jnl
 ! See ticket 1958. Scripts may want the axis labels to
@@ -71220,6 +72363,7 @@ set mode/last shrink_ylab
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err682_xact_high_prec
 ! err682_xact_high_prec.jnl
 ! based on an example from the Users List,
@@ -71227,6 +72371,8 @@ GO err682_xact_high_prec
  
 ! shows that the @XACT regridding in double-precision Ferret is broken.
  
+! 3/17 *sh* - broke after change to RESHAPE in GCF_IMPOSE_AXES
+!           - fixed it by cleaning up the definition of var_regrid
  
 Let time = {\
  22585.3295833333,\
@@ -71243,11 +72389,14 @@ Let time = {\
 Define Axis /T /From /T0=1-JAN-1950 /Units=days my_axis = time
  
 Let fake_var = T[GT=my_axis]
-Let var = RANDU( fake_var )
-Let var_regrid = RESHAPE( var, fake_var )
+! this was the definition prior to 3/17
+!Let var = RANDU( fake_var )
+!Let var_regrid = RESHAPE( var, fake_var )
+Let var_regrid = RANDU( fake_var )   ! new definition
+ 
  
 List /T="2-nov-2011 07:54":"2-nov-2011 08:04" var_regrid
-             VARIABLE : RESHAPE( VAR, FAKE_VAR )
+             VARIABLE : RANDU( FAKE_VAR )
              SUBSET   : 10 points (TIME)
  02-NOV-2011 07:54:36 /  1:  0.625140
  02-NOV-2011 07:55:36 /  2:  0.220931
@@ -71305,6 +72454,7 @@ List /T="2-nov-2011 07:54:30":"2-nov-2011 07:54:50" var_sec
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err682_if_yes_exit
 ! err682_if_yes_exit.jnl
 ! Ticket 1965
@@ -71321,6 +72471,7 @@ if `test` then exit
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err682_use_no_quotes
 ! err682_use_no_quotes.jnl
 ! See ticket 1974 - on 64-bit machines, this statement causes a crash.
@@ -71334,6 +72485,7 @@ CANCEL MODE ignore
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err682_axis_no_clue
 ! err682_axis_no_clue.jnl
 ! See ticket 1975. The axis sax is intended to be
@@ -71351,6 +72503,7 @@ sh dat
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err682_grid_merge
 ! err682_grid_merge.jnl
 ! Bug 1972. When merging contexts, the calendar time-axis
@@ -71397,6 +72550,7 @@ list b[T=1-JAN-1960:1-JAN-1961]
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err682_scale_no_offset
 ! err682_scale_no_offset.jnl
 ! See ticket 1980 and the report on the Ferret list at
@@ -71432,6 +72586,7 @@ say `sst_rms[x=@nbd,y=@nbd]`  SHOULD BE 30
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err682_append_packed
 ! err682_append_packed.jnl
 ! See ticket 2004. Write packed variable with scale attributes
@@ -71472,8 +72627,10 @@ list temp  ! values should match those above.
  
 set mode/last upcase_output
  
-GO bn_reset
+GO bn_reset bn_outtype
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_outtype
 GO bn_outtype
 ! bn_outtype
 ! Tests of output-type control:
@@ -71507,7 +72664,7 @@ use mytype.nc; sh dat/att mytype.nc; can data mytype
  Variable    VarType(in dset)    AttributeName   AttType     Size OutFlag AttValue
 ------------------------------------------------------------------------------------------
   
- .                               history         CHAR        34   T       FERRET V7.1 (beta/debug) 10-Feb-17
+ .                               history         CHAR        35   T       FERRET V7.11 (beta/debug) 11-May-17
                                  Conventions     CHAR        6    F       CF-1.6
   
 (COADSY46_48)          DOUBLE    units           CHAR        13   T       degrees_north
@@ -71560,7 +72717,7 @@ use mytype.nc; sh dat/att mytype.nc; can data mytype
  Variable    VarType(in dset)    AttributeName   AttType     Size OutFlag AttValue
 ------------------------------------------------------------------------------------------
   
- .                               history         CHAR        34   T       FERRET V7.1 (beta/debug) 10-Feb-17
+ .                               history         CHAR        35   T       FERRET V7.11 (beta/debug) 11-May-17
                                  Conventions     CHAR        6    F       CF-1.6
   
 (COADSY46_48)          DOUBLE    units           CHAR        13   T       degrees_north
@@ -71602,7 +72759,7 @@ use mytype.nc; sh dat/att mytype.nc; can data mytype
  Variable    VarType(in dset)    AttributeName   AttType     Size OutFlag AttValue
 ------------------------------------------------------------------------------------------
   
- .                               history         CHAR        34   T       FERRET V7.1 (beta/debug) 10-Feb-17
+ .                               history         CHAR        35   T       FERRET V7.11 (beta/debug) 11-May-17
                                  Conventions     CHAR        6    F       CF-1.6
   
 (COADSY46_48)          DOUBLE    units           CHAR        13   T       degrees_north
@@ -71644,7 +72801,7 @@ use mytype.nc; sh dat/att mytype.nc; can data mytype
  Variable    VarType(in dset)    AttributeName   AttType     Size OutFlag AttValue
 ------------------------------------------------------------------------------------------
   
- .                               history         CHAR        34   T       FERRET V7.1 (beta/debug) 10-Feb-17
+ .                               history         CHAR        35   T       FERRET V7.11 (beta/debug) 11-May-17
                                  Conventions     CHAR        6    F       CF-1.6
   
 (COADSY46_48)          DOUBLE    units           CHAR        13   T       degrees_north
@@ -71677,7 +72834,7 @@ use mytype.nc; sh dat/att mytype.nc; can data mytype
  Variable    VarType(in dset)    AttributeName   AttType     Size OutFlag AttValue
 ------------------------------------------------------------------------------------------
   
- .                               history         CHAR        34   T       FERRET V7.1 (beta/debug) 10-Feb-17
+ .                               history         CHAR        35   T       FERRET V7.11 (beta/debug) 11-May-17
                                  Conventions     CHAR        6    F       CF-1.6
   
 (COADSY46_48)          DOUBLE    units           CHAR        13   T       degrees_north
@@ -71711,7 +72868,7 @@ use mytype.nc; sh dat/att mytype.nc; can data mytype
  Variable    VarType(in dset)    AttributeName   AttType     Size OutFlag AttValue
 ------------------------------------------------------------------------------------------
   
- .                               history         CHAR        34   T       FERRET V7.1 (beta/debug) 10-Feb-17
+ .                               history         CHAR        35   T       FERRET V7.11 (beta/debug) 11-May-17
                                  Conventions     CHAR        6    F       CF-1.6
   
 (COADSY46_48)          DOUBLE    units           CHAR        13   T       degrees_north
@@ -71774,7 +72931,7 @@ use mytype.nc; sh dat/att mytype.nc; can data mytype
  Variable    VarType(in dset)    AttributeName   AttType     Size OutFlag AttValue
 ------------------------------------------------------------------------------------------
   
- .                               history         CHAR        34   T       FERRET V7.1 (beta/debug) 10-Feb-17
+ .                               history         CHAR        35   T       FERRET V7.11 (beta/debug) 11-May-17
                                  Conventions     CHAR        6    F       CF-1.6
   
 (COADSY46_48)          DOUBLE    units           CHAR        13   T       degrees_north
@@ -71822,7 +72979,7 @@ use mytype.nc; sh dat/att mytype.nc; can data mytype
  Variable    VarType(in dset)    AttributeName   AttType     Size OutFlag AttValue
 ------------------------------------------------------------------------------------------
   
- .                               history         CHAR        34   T       FERRET V7.1 (beta/debug) 10-Feb-17
+ .                               history         CHAR        35   T       FERRET V7.11 (beta/debug) 11-May-17
                                  Conventions     CHAR        6    F       CF-1.6
   
 (COADSY46_48)          DOUBLE    units           CHAR        13   T       degrees_north
@@ -71879,7 +73036,7 @@ use mytype.nc; sh dat/att mytype.nc; can data mytype
  Variable    VarType(in dset)    AttributeName   AttType     Size OutFlag AttValue
 ------------------------------------------------------------------------------------------
   
- .                               history         CHAR        34   T       FERRET V7.1 (beta/debug) 10-Feb-17
+ .                               history         CHAR        35   T       FERRET V7.11 (beta/debug) 11-May-17
                                  Conventions     CHAR        6    F       CF-1.6
   
 (COADSY46_48)          DOUBLE    units           CHAR        13   T       degrees_north
@@ -71917,7 +73074,7 @@ use mytype.nc; sh dat/att mytype.nc; can data mytype
  Variable    VarType(in dset)    AttributeName   AttType     Size OutFlag AttValue
 ------------------------------------------------------------------------------------------
   
- .                               history         CHAR        34   T       FERRET V7.1 (beta/debug) 10-Feb-17
+ .                               history         CHAR        35   T       FERRET V7.11 (beta/debug) 11-May-17
                                  Conventions     CHAR        6    F       CF-1.6
   
 (COADSY46_48)          DOUBLE    units           CHAR        13   T       degrees_north
@@ -71955,7 +73112,7 @@ use mytype.nc; sh dat/att mytype.nc; can data mytype
  Variable    VarType(in dset)    AttributeName   AttType     Size OutFlag AttValue
 ------------------------------------------------------------------------------------------
   
- .                               history         CHAR        34   T       FERRET V7.1 (beta/debug) 10-Feb-17
+ .                               history         CHAR        35   T       FERRET V7.11 (beta/debug) 11-May-17
                                  Conventions     CHAR        6    F       CF-1.6
   
 (COADSY46_48)          DOUBLE    units           CHAR        13   T       degrees_north
@@ -71993,7 +73150,7 @@ use mytype.nc; sh dat/att mytype.nc; can data mytype
  Variable    VarType(in dset)    AttributeName   AttType     Size OutFlag AttValue
 ------------------------------------------------------------------------------------------
   
- .                               history         CHAR        34   T       FERRET V7.1 (beta/debug) 10-Feb-17
+ .                               history         CHAR        35   T       FERRET V7.11 (beta/debug) 11-May-17
                                  Conventions     CHAR        6    F       CF-1.6
   
 (COADSY46_48)          DOUBLE    units           CHAR        13   T       degrees_north
@@ -72027,7 +73184,7 @@ use mytype.nc; sh dat/att mytype.nc; can data mytype
  Variable    VarType(in dset)    AttributeName   AttType     Size OutFlag AttValue
 ------------------------------------------------------------------------------------------
   
- .                               history         CHAR        34   T       FERRET V7.1 (beta/debug) 10-Feb-17
+ .                               history         CHAR        35   T       FERRET V7.11 (beta/debug) 11-May-17
                                  Conventions     CHAR        6    F       CF-1.6
   
 (COADSY46_48)          DOUBLE    units           CHAR        13   T       degrees_north
@@ -72061,8 +73218,10 @@ use mytype.nc; sh dat/att mytype.nc; can data mytype
 ! Go back to default setting.
 can list/outtype
  
-GO bn_reset
+GO bn_reset bn_ribbon_plot
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_ribbon_plot
 GO bn_ribbon_plot
 ! bn_ribbon_plot.jnl
 ! Test color-line-by variable style of plots
@@ -72207,8 +73366,10 @@ RIBBON/vs/over/nolab/thick=3/sym=20/key/set xpts, ypts, var
 ppl shakey,1,0
 ppl ribbon/over
  
-GO bn_reset
+GO bn_reset bn_descr_4digit
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_descr_4digit
 GO bn_descr_4digit
  ! bn_descr_4digit.jnl
  ! See ticket 1969: step files have 3- or 4-digit extensions
@@ -72235,8 +73396,10 @@ list/x=180/y=0 sst
  17-MAY-1900 / 5:  28.41
  17-JUN-1900 / 6:  28.23
  
-GO bn_reset
+GO bn_reset bn_axis_outtype
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_axis_outtype
 GO bn_axis_outtype
 ! bn_axis_outtype.jnl
 !  SET AXIS/OUTTYPE
@@ -72259,7 +73422,7 @@ use mytype.nc; sh dat/att mytype.nc; can data mytype
  Variable    VarType(in dset)    AttributeName   AttType     Size OutFlag AttValue
 ------------------------------------------------------------------------------------------
   
- .                               history         CHAR        34   T       FERRET V7.1 (beta/debug) 10-Feb-17
+ .                               history         CHAR        35   T       FERRET V7.11 (beta/debug) 11-May-17
                                  Conventions     CHAR        6    F       CF-1.6
   
 (COADSY46_48)          FLOAT     units           CHAR        13   T       degrees_north
@@ -72293,7 +73456,7 @@ use mytype.nc; sh dat/att mytype.nc; can data mytype
  Variable    VarType(in dset)    AttributeName   AttType     Size OutFlag AttValue
 ------------------------------------------------------------------------------------------
   
- .                               history         CHAR        34   T       FERRET V7.1 (beta/debug) 10-Feb-17
+ .                               history         CHAR        35   T       FERRET V7.11 (beta/debug) 11-May-17
                                  Conventions     CHAR        6    F       CF-1.6
   
 (COADSY46_48)          FLOAT     units           CHAR        13   T       degrees_north
@@ -72337,7 +73500,7 @@ use mytype.nc; sh dat/att mytype.nc; can data mytype
  Variable    VarType(in dset)    AttributeName   AttType     Size OutFlag AttValue
 ------------------------------------------------------------------------------------------
   
- .                               history         CHAR        34   T       FERRET V7.1 (beta/debug) 10-Feb-17
+ .                               history         CHAR        35   T       FERRET V7.11 (beta/debug) 11-May-17
                                  Conventions     CHAR        6    F       CF-1.6
   
 (COADSY46_48)          DOUBLE    units           CHAR        13   T       degrees_north
@@ -72378,7 +73541,7 @@ use mytype.nc; sh dat/att mytype.nc; can data mytype
  Variable    VarType(in dset)    AttributeName   AttType     Size OutFlag AttValue
 ------------------------------------------------------------------------------------------
   
- .                               history         CHAR        34   T       FERRET V7.1 (beta/debug) 10-Feb-17
+ .                               history         CHAR        35   T       FERRET V7.11 (beta/debug) 11-May-17
                                  Conventions     CHAR        6    F       CF-1.6
   
 (MYHOURS1)             DOUBLE    units           CHAR        31   T       hours since 1901-01-15 00:00:00
@@ -72404,7 +73567,7 @@ use mytype.nc; sh dat/att mytype.nc; can data mytype
  Variable    VarType(in dset)    AttributeName   AttType     Size OutFlag AttValue
 ------------------------------------------------------------------------------------------
   
- .                               history         CHAR        34   T       FERRET V7.1 (beta/debug) 10-Feb-17
+ .                               history         CHAR        35   T       FERRET V7.11 (beta/debug) 11-May-17
                                  Conventions     CHAR        6    F       CF-1.6
   
 (MYHOURS1)             INT       units           CHAR        31   T       hours since 1901-01-15 00:00:00
@@ -72430,7 +73593,7 @@ use mytype.nc; sh dat/att mytype.nc; can data mytype
  Variable    VarType(in dset)    AttributeName   AttType     Size OutFlag AttValue
 ------------------------------------------------------------------------------------------
   
- .                               history         CHAR        34   T       FERRET V7.1 (beta/debug) 10-Feb-17
+ .                               history         CHAR        35   T       FERRET V7.11 (beta/debug) 11-May-17
                                  Conventions     CHAR        6    F       CF-1.6
   
 (MYHOURS1)             DOUBLE    units           CHAR        31   T       hours since 1901-01-15 00:00:00
@@ -72471,8 +73634,10 @@ save/clobber/file=mytype.nc my_data
 cancel mode ignore
  
  
-GO bn_reset
+GO bn_reset bn_axis_nonmonotonic
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_axis_nonmonotonic
 GO bn_axis_nonmonotonic
 ! bn_axis_nonmonotonic.jnl
 ! bn_define_axis doesnt test the case where the varible is not monotonic
@@ -72486,8 +73651,10 @@ define axis/t/units=days tax = tvar
  
 cancel mode ignore
  
-GO bn_reset
+GO bn_reset bn_vec_mod
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_vec_mod
 GO bn_vec_mod
 ! bn_vec_mod.jnl
 ! /MODULO qualifier for the vector command.
@@ -72511,8 +73678,10 @@ vec/MOD/HLIM=-180:180 u,fakev,geolon_c,geolat_c
 can view
  
 ! *********** v6.85 Additions ***********
-GO bn_reset
+GO bn_reset bn685_bug_fixes
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn685_bug_fixes
 GO bn685_bug_fixes
 ! bn685_bug_fixes.jnl
 ! test various fixes that went into version 6.85
@@ -72520,6 +73689,7 @@ GO bn685_bug_fixes
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err684_label_quotes
 ! err684_label_quotes.jnl
 ! See ticket 1298.
@@ -72547,6 +73717,7 @@ label 4.5 .5 0 0 .3 "'hello'"
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err684_context_shape
 ! when limits are omitted with a compressing transformation the grave
 ! accent R=SHAPE erroneously includes the corresponding axis in the shape
@@ -72577,6 +73748,7 @@ XY
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err684_tax_fcns
 !err684_tax_fcns.jnl
 ! See ticket 2043, bug in workaround for single-precision arguments
@@ -72665,6 +73837,7 @@ GO err684_tax_fcns
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err684_save_subset
 ! err684_bug_save_subset
 ! see ticke 2064, precision in internal comparison of coordinate data
@@ -72677,6 +73850,7 @@ save/clobber/file=aa.nc/i=5:15 sh
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err684_save_subset
 ! err684_bug_save_subset
 ! see ticke 2064, precision in internal comparison of coordinate data
@@ -72689,6 +73863,7 @@ save/clobber/file=aa.nc/i=5:15 sh
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err684_line_plot_zero
 ! err684_line_plot_zero.jnl
 ! plot all-zero variable gave blank plot.
@@ -72703,6 +73878,7 @@ YAXIS_MAX = "1.00000000"
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err684_delimited_precision
 ! err684_delimited_precision.jnl
 ! 5/2013 Fixing bug 2066
@@ -72750,6 +73926,7 @@ list/prec=10 day, lon, lat, tim
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err6842_context_shape
 ! err6842_context_shape.jnl
 ! 5/2013 acm
@@ -72802,6 +73979,7 @@ XYT
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err684_evnt_z
 ! err684_evnt_z.jnl
 ! see ticket 2054
@@ -72842,6 +74020,7 @@ list my_var, my_event
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err684_save_expression
 ! err684_save_expression.jnl
 ! Bug 2076. If we write out an expression that has not been defined
@@ -72871,7 +74050,7 @@ variables:
 		A:history = "From coads_climatology" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 10-Feb-17" ;
+		:history = "FERRET V7.11 (beta/debug) 11-May-17" ;
 		:Conventions = "CF-1.6" ;
 data:
 
@@ -72900,7 +74079,7 @@ variables:
 		E410:history = "From coads_climatology" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 10-Feb-17" ;
+		:history = "FERRET V7.11 (beta/debug) 11-May-17" ;
 		:Conventions = "CF-1.6" ;
 data:
 
@@ -72951,7 +74130,7 @@ variables:
 		E410:history = "From coads_climatology" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 10-Feb-17" ;
+		:history = "FERRET V7.11 (beta/debug) 11-May-17" ;
 		:Conventions = "CF-1.6" ;
 data:
 
@@ -72986,6 +74165,7 @@ set mode/last ignore
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err684_degC_axlab
 ! err684_degC_axlab.jnl
 ! ACM 6/2013
@@ -73005,6 +74185,7 @@ set mode/last logo
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err684_null_stringwrite
 ! err684_null_stringwrite.jnl
 ! 18-Jun-2013 ACM
@@ -73027,11 +74208,12 @@ set mode/last ignore
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err684_FillValue_xml
 ! err684_FillValue_xml.jnl
 ! ACM 6/2013
 !
-! See the dataset at http://ferret.pmel.noaa.gov/thredds/dodsC/woa09_1deg_monthly
+! See the dataset at http://ferret.pmel.noaa.gov/pmel/thredds/dodsC/woa09_1deg_monthly
 ! where the "number of" variables have  _FillValues attributes = -2147483647
 ! This value was being written to the xml headers as a float, without enough precision.
 ! See las ticket #761, fixes in show_data_set_vars_xml.F
@@ -73052,7 +74234,7 @@ sh dat/var/xml
    <value><![CDATA[Number of O2 Utilization Observations]]></value>
 </attribute>
 <attribute name="_FillValue" type="float">
-   <value> -2147483647.</value>
+   <value>-2147483647.</value>
 </attribute>
 <attribute name="ferret_datatype" type="char">
    <value><![CDATA[FLOAT]]></value>
@@ -73105,6 +74287,7 @@ sh dat/var/xml
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err684_axticlab
 ! err684_axticlab
 ! 7/10/2013 *acm
@@ -73128,6 +74311,7 @@ cancel mode meta
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err684_dotstart
 ! err684_dotstart.jnl
 ! 12-Jul-2013 ACM
@@ -73154,6 +74338,7 @@ set mode/last ignore
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err684_vfine_to_coarse
  ! err684_vfine_to_coarse
  ! see ticket 2070.
@@ -73283,6 +74468,7 @@ list v eq v_coarse[gf=v at ave]
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err684_repeated_coordindates
 ! err685_repeated_coordindates.jnl
 !  The NOTE about repeated axis coordaintes reported the wrong index location.
@@ -73292,6 +74478,7 @@ use latestOb.nc
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err684_packed_output
 ! err684_packed_output.jnl
 ! See ticket 2089
@@ -73332,6 +74519,7 @@ list/i=1:3 sst
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err684_string_dim_name
 ! err685_string_dim_name.jnl
 ! Ticket 2091. If the string variable shares its dimension name,
@@ -73355,6 +74543,7 @@ list ..varnames
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err684_define_grid
 ! err684_define_grid.jnl
 ! 25-Oct-2013 ACM
@@ -73369,8 +74558,10 @@ define axis/y=54:66:0.5/units=degrees_north lat_ax
 define grid/x=lon_ax/y=lat_ax/z=zax three_d_grd
  
  
-GO bn_reset
+GO bn_reset bn_dsg_e_x
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_dsg_e_x
 GO bn_dsg_e_x
 ! bn_dsg_e.jnl
 !
@@ -73465,8 +74656,10 @@ sh grid pco2
  normal    Z
  normal    T
  
-GO bn_reset
+GO bn_reset bn_nco_append
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_nco_append
 GO bn_nco_append
 ! bn_nco_append.jnl
 ! 5/2013 add a test appending files with ncks
@@ -73516,14 +74709,16 @@ variables:
 		DDAT_ORIG:long_name = "DDAT[GZ=ZAXIS_ORIG at ASN]" ;
 
 // global attributes:
-		:history = "Fri Feb 10 10:11:23 2017: ncks -h -A -h z1.nc append_to_this.nc\n",
-			"FERRET V7.1 (beta/debug) 10-Feb-17" ;
+		:history = "Thu May 11 10:29:16 2017: ncks -h -A -h z1.nc append_to_this.nc\n",
+			"FERRET V7.11 (beta/debug) 11-May-17" ;
 		:Conventions = "CF-1.6" ;
 		:NCO = "4.4.6" ;
 }
  
-GO bn_reset
+GO bn_reset bn_nobounds
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_nobounds
 GO bn_nobounds
 ! bn_nobounds.jnl
 ! The SAVE/NOBOUNDS qualifier causes bounds never to be written
@@ -73551,7 +74746,7 @@ variables:
 		AVAR:long_name = "X[GX=XIRREG]" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 10-Feb-17" ;
+		:history = "FERRET V7.11 (beta/debug) 11-May-17" ;
 		:Conventions = "CF-1.6" ;
 data:
 
@@ -73582,7 +74777,7 @@ variables:
 		AVAR:long_name = "X[GX=XIRREG]" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 10-Feb-17" ;
+		:history = "FERRET V7.11 (beta/debug) 11-May-17" ;
 		:Conventions = "CF-1.6" ;
 data:
 
@@ -73645,7 +74840,7 @@ variables:
 		A:history = "From coads" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 10-Feb-17" ;
+		:history = "FERRET V7.11 (beta/debug) 11-May-17" ;
 		:Conventions = "CF-1.6" ;
 }
  
@@ -73673,13 +74868,15 @@ variables:
 		A:history = "From coads" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 10-Feb-17" ;
+		:history = "FERRET V7.11 (beta/debug) 11-May-17" ;
 		:Conventions = "CF-1.6" ;
 }
  
  
-GO bn_reset
+GO bn_reset bn_write_integer_att
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_write_integer_att
 GO bn_write_integer_att
 ! bn_write_integer_att.jnl
 !  ACM 6/2013
@@ -73712,8 +74909,10 @@ sp ncdump a.nc | grep numberOfObservations
  
  
  
-GO bn_reset
+GO bn_reset bn_descriptor_mc
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_descriptor_mc
 GO bn_descriptor_mc
 ! bn_descriptor_mc.jnl
 ! 7/2013 ACM
@@ -73750,8 +74949,10 @@ list /x=300/y=10 sst
  16-MAY-0000 / 3:  27.39
  16-JUN-0000 / 4:  27.65
  
-GO bn_reset
+GO bn_reset bn_plot_color_only
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_plot_color_only
 GO bn_plot_color_only
 ! bn_plot_color_only.jnl
 ! 9/20/2013 ACM
@@ -73828,8 +75029,10 @@ set mode/last ignore
  
  
  
-GO bn_reset
+GO bn_reset bn_vtree
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_vtree
 GO bn_vtree
 ! bn_tree.jnl
  
@@ -74988,8 +76191,10 @@ vtree=all tempz4
  
  
 ! *********** v6.86 Additions ***********
-GO bn_reset
+GO bn_reset bn686_bug_fixes
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn686_bug_fixes
 GO bn686_bug_fixes
 ! bn686_bug_fixes
 ! test various fixes that went into version 6.86
@@ -74997,6 +76202,7 @@ GO bn686_bug_fixes
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err685_ribbon_by_val
 ! err685_ribbon_by_val.jnl
 ! 11/21/2013
@@ -75012,6 +76218,7 @@ plot/vs/line/thick/ribbon/MISS=black/PAL=ocean_temp xpts, ypts, fpts
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err685_ppl_palette
 ! err685_ppl_palette.jnl
 ! Further fix for ticket 2049. If the palette or pattern file
@@ -75041,6 +76248,7 @@ pattern solid
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err685_show_grid_e
 ! err685_show_grid_e.jnl
 ! See ticket 2122
@@ -75107,6 +76315,7 @@ sh grid /f gensy
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err685_lowercaseAxis
 ! err685_lowercaseAxis.jnl
 ! Ticket  2126
@@ -75172,6 +76381,7 @@ list/L=1:5 aa
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err685_redefine_uvar_att
 ! err685_redefine_uvar_att.jnl
 ! ticket 2127 Redefine an attribute for a
@@ -75184,6 +76394,7 @@ define att/type=STRING  a.ival = 99
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err685_use_no_extension
 ! Ticket 2128: if no extension, we should try .cdf, .nc, .des
 !  but .des was not being tried.
@@ -75220,6 +76431,7 @@ set mode/last ignore
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err685_samplexy
 ! err685_samplexy.jnl
 ! Fix for ticket 2137. out-of-bounds error
@@ -75242,6 +76454,7 @@ list  samplexy(sst[x=290:310,y=0:20], lon, lat)
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err685_shade_set
 ! err685_shade_set.jnl
 !
@@ -75289,6 +76502,7 @@ set mode/last logo
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err686_individual_levels
 ! err686_individual_levels.jnl
 ! Ticket 2142
@@ -75317,8 +76531,10 @@ LEV_NUM = "4"
 LEV_DEL = "5"
  
  
-GO bn_reset
+GO bn_reset bn_long_symnames
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_long_symnames
 GO bn_long_symnames
 ! bn_long_symnames.jnl
 ! *ACM* 11/22/2013
@@ -75357,8 +76573,10 @@ show symbol q*
 Q23456789012345678901234567890Q23456789012345678901234567890Q23456789012345678901234567890Q23456789012345678901234567890 = "5"
 Q23456789012345678901234567890Q23456789012345678901234567890Q23456789012345678901234567890Q23456789012345678901234567XXX = "6"
  
-GO bn_reset
+GO bn_reset bn_strdim
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_strdim
 GO bn_strdim
 ! bn_strdim.jnl
 ! Keep the string dimension name and size from the intput file
@@ -75385,7 +76603,7 @@ variables:
 		LABELS:history = "From http://dunkel.pmel.noaa.gov:8930/thredds/dodsC/data/atmos3.ncml" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 10-Feb-17" ;
+		:history = "FERRET V7.11 (beta/debug) 11-May-17" ;
 		:Conventions = "CF-1.6" ;
 }
  
@@ -75408,13 +76626,15 @@ variables:
 		STRVAR:long_name = "mystrings" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 10-Feb-17" ;
+		:history = "FERRET V7.11 (beta/debug) 11-May-17" ;
 		:Conventions = "CF-1.6" ;
 }
  
  
-GO bn_reset
+GO bn_reset bn_single_colorlev
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_single_colorlev
 GO bn_single_colorlev
 ! bn_single_colorlev.jnl
 ! Ticket 2123, mis-labeled color bars when
@@ -75435,8 +76655,10 @@ fill/lev=(20,30,10)/L=1 sst
  
  
 ! *********** v6.9 Additions ***********
-GO bn_reset
+GO bn_reset bn69_bug_fixes
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn69_bug_fixes
 GO bn69_bug_fixes
 ! bn69_bug_fixes
 ! test various fixes that went into version 6.9
@@ -75444,6 +76666,7 @@ GO bn69_bug_fixes
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err686_long_list_varnames
 ! err686_long_list_varnames.jnl
 !
@@ -75531,6 +76754,7 @@ list etopo2_depth
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err686_faxis_label
 ! err686_faxis_label.jnl
 ! 3/11/2014 ACM
@@ -75564,6 +76788,7 @@ LAB5 = "FORECAST : 03-JAN-2000 00:00 JULIAN"
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err686_dup_axnames
 ! err686_dup_axnames
 ! Ticket 1750
@@ -75632,7 +76857,7 @@ variables:
 		B:history = "From b" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 10-Feb-17" ;
+		:history = "FERRET V7.11 (beta/debug) 11-May-17" ;
 		:Conventions = "CF-1.6" ;
 }
  
@@ -75662,7 +76887,7 @@ variables:
 		A:history = "From a" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 10-Feb-17" ;
+		:history = "FERRET V7.11 (beta/debug) 11-May-17" ;
 		:Conventions = "CF-1.6" ;
 }
  
@@ -75683,7 +76908,7 @@ variables:
 		B:history = "From b" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 10-Feb-17" ;
+		:history = "FERRET V7.11 (beta/debug) 11-May-17" ;
 		:Conventions = "CF-1.6" ;
 }
  
@@ -75704,7 +76929,7 @@ variables:
 		B:history = "From b" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 10-Feb-17" ;
+		:history = "FERRET V7.11 (beta/debug) 11-May-17" ;
 		:Conventions = "CF-1.6" ;
 }
  
@@ -75726,7 +76951,7 @@ variables:
 		B:history = "From b" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 10-Feb-17" ;
+		:history = "FERRET V7.11 (beta/debug) 11-May-17" ;
 		:Conventions = "CF-1.6" ;
 }
  
@@ -75739,6 +76964,7 @@ set mode/last ignore
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err686_cancel_invalid_var
 ! err686_cancel_invalid_var
 ! ticket 2159
@@ -75762,6 +76988,7 @@ shade/x=161.1:161.3/y=0.2:0.4/L=1 sst
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err686_redef_ascii_att
 ! err686_redef_ascii_att.jnl
 ! Bug 2161
@@ -75800,6 +77027,7 @@ sh att v1
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err686_sho_nonexist_att
 ! err686_sho_nonexist_att.jnl
 ! See ticket 2133
@@ -75815,6 +77043,7 @@ set mode/last ignore
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err686_set_var_name
 ! err686_set_var_name.jnl
 ! ticket 2152
@@ -75903,8 +77132,10 @@ set var/name=diff w
  
 SET MODE/LAST ignore
  
-GO bn_reset
+GO bn_reset bn_bad_axis_bounds
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_bad_axis_bounds
 GO bn_bad_axis_bounds
 ! bn_bad_axis_bounds
 ! Ticket 2146 If there are invalid axis bounds
@@ -75921,8 +77152,10 @@ show data
  TEMP2    TEMP[GT=MONTH_IRREG at ASN]         1:1       1:1       1:1       1:12
  
  
-GO bn_reset
+GO bn_reset bn_enter_exit_GO
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_enter_exit_GO
 GO bn_enter_exit_GO
 ! GO bn_enter_exit_GO
 ! Lines to allow trace of GO scripts:
@@ -75991,8 +77224,10 @@ plot/i=1:15/color=red/thick i
  
 cancel redirect
  
-GO bn_reset
+GO bn_reset bn_stddev
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_stddev
 GO bn_stddev
 ! bn_std.jnl
 ! New StdDev transform
@@ -76055,8 +77290,10 @@ list/y=3/l=1 temp[z=@std,x=@std]
              TIME     : 17-AUG-1982 12:00
           1.037
  
-GO bn_reset
+GO bn_reset bn_set_axis_name
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_set_axis_name
 GO bn_set_axis_name
 ! bn_set_axis_name.jnl
 ! ticket 2160 Implementing new qualifier SET AXIS/NAME
@@ -76147,7 +77384,7 @@ sh dat/att
  Variable    VarType(in dset)    AttributeName   AttType     Size OutFlag AttValue
 ------------------------------------------------------------------------------------------
   
- .                               history         CHAR        34   T       FERRET V7.1 (beta/debug) 10-Feb-17
+ .                               history         CHAR        35   T       FERRET V7.11 (beta/debug) 11-May-17
                                  Conventions     CHAR        6    F       CF-1.6
   
 (x_in_meters)          DOUBLE    units           CHAR        6    T       meters
@@ -76164,7 +77401,7 @@ sh dat/att
  Variable    VarType(in dset)    AttributeName   AttType     Size OutFlag AttValue
 ------------------------------------------------------------------------------------------
   
- .                               history         CHAR        34   T       FERRET V7.1 (beta/debug) 10-Feb-17
+ .                               history         CHAR        35   T       FERRET V7.11 (beta/debug) 11-May-17
                                  Conventions     CHAR        6    F       CF-1.6
   
 (x_in_meters)          DOUBLE    units           CHAR        6    T       meters
@@ -76181,7 +77418,7 @@ sh dat/att
  Variable    VarType(in dset)    AttributeName   AttType     Size OutFlag AttValue
 ------------------------------------------------------------------------------------------
   
- .                               history         CHAR        34   T       FERRET V7.1 (beta/debug) 10-Feb-17
+ .                               history         CHAR        35   T       FERRET V7.11 (beta/debug) 11-May-17
                                  Conventions     CHAR        6    F       CF-1.6
   
 (x_in_meters)          DOUBLE    units           CHAR        6    T       meters
@@ -76208,57 +77445,61 @@ set axis/name=.fr x_in_meters
  
 set mode/last ignore
  
-GO bn_reset
+GO bn_reset bn_let_remote
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_let_remote
 GO bn_let_remote
 ! bn_let_remote.jnl
 ! Tests of the F-TDS LET/REMOTE
 ! 6/2016 installed NVODS on new-bock server
 ! 9/2016 load smaller subsets of the data
+! 4/2017 Update thredds server urls. To find the right URL, go to the dataset
+!        in the NVODS server, and hit the "Export to Desktop Application"
+!        button. The .jnl address is the correct F-TDS URL.
  
 ! See if the F-TDS is working and bail if not.
- 
 let status = TEST_OPENDAP("http://ferret.pmel.noaa.gov/nvods/thredds/dodsC/las/COADS-climatology/data_coads_climatology.jnl")
 load status
 if `status NE 0` then EXIT/SCRIPT
  !-> if 0 then EXIT/SCRIPT
  
-use "http://ferret.pmel.noaa.gov/nvods/thredds/dodsC/las/woa05_monthly/data_ferret.pmel.noaa.gov_thredds_dodsC_data_PMEL_WOA05nc_monthly_t0112mn1.nc.jnl"
-let/D=1/remote myvar = t0112mn1[k=1:5 at sum]
-let/D=1/remote ave_z = t0112mn1[z=0:20 at ave]
+use "http://ferret.pmel.noaa.gov/nvods/thredds/dodsC/las/woa05_annual/data_ferret.pmel.noaa.gov_pmel_thredds_dodsC_data_PMEL_WOA05nc_annual_t00an1.nc.jnl"
+let/D=1/remote myvar = t00an1[k=1:5 at sum]
+let/D=1/remote ave_z = t00an1[z=0:20 at ave]
 sh var
  Created by DEFINE VARIABLE:
-     AVE_Z[D=data_ferret.pmel.noaa.gov_thredds_dodsC_data_PMEL_WOA05nc_monthly_t0112mn1.nc.jnl] (/REMOTE) = T0112MN1[Z=0:20 at AVE]
-     MYVAR[D=data_ferret.pmel.noaa.gov_thredds_dodsC_data_PMEL_WOA05nc_monthly_t0112mn1.nc.jnl] (/REMOTE) = T0112MN1[K=1:5 at SUM]
+     AVE_Z[D=data_ferret.pmel.noaa.gov_pmel_thredds_dodsC_data_PMEL_WOA05nc_annual_t00an1.nc.jnl] (/REMOTE) = T00AN1[Z=0:20 at AVE]
+     MYVAR[D=data_ferret.pmel.noaa.gov_pmel_thredds_dodsC_data_PMEL_WOA05nc_annual_t00an1.nc.jnl] (/REMOTE) = T00AN1[K=1:5 at SUM]
  >>> Definitions that replace any file variable of same name:
      STATUS = TEST_OPENDAP("http://ferret.pmel.noaa.gov/nvods/thredds/dodsC/las/COADS-climatology/data_coads_climatology.jnl")
 set view ul; shade/l=7/x=180:200/y=20:30 myvar
 set view ur; shade/l=3/x=180:200/y=20:30 ave_z
  
 list/l=7/x=300:310/y=15 myvar, ave_z
-             DATA SET: http://ferret.pmel.noaa.gov/nvods/thredds/dodsC/las/woa05_monthly/data_ferret.pmel.noaa.gov_thredds_dodsC_data_PMEL_WOA05nc_monthly_t0112mn1.nc.jnl
+             DATA SET: http://ferret.pmel.noaa.gov/nvods/thredds/dodsC/las/woa05_annual/data_ferret.pmel.noaa.gov_pmel_thredds_dodsC_data_PMEL_WOA05nc_annual_t00an1.nc.jnl
              LONGITUDE: 60W to 50W
              LATITUDE: 15N (interpolated)
-             TIME: 14-JUL 12:00
- Column  1: MYVAR is T0112MN1[K=1:5 at SUM]
- Column  2: AVE_Z is T0112MN1[Z=0:20 at AVE]
+             TIME: 02-JUL-0003 05:27
+ Column  1: MYVAR is T00AN1[K=1:5 at SUM]
+ Column  2: AVE_Z is T00AN1[Z=0:20 at AVE]
              MYVAR   AVE_Z
-59.5W / 301:  138.8  27.89
-58.5W / 302:  139.2  27.91
-57.5W / 303:  139.4  27.95
-56.5W / 304:  140.4  28.14
-55.5W / 305:  137.4  27.62
-54.5W / 306:  135.3  27.32
-53.5W / 307:  134.0  27.07
-52.5W / 308:  136.4  27.34
-51.5W / 309:   ....   ....
-50.5W / 310:  135.1  27.19
- 
-let/D=1/remote ave_t = t0112mn1[L=1:12 at ave]
+59.5W / 301:  136.6  27.41
+58.5W / 302:  136.4  27.37
+57.5W / 303:  136.2  27.31
+56.5W / 304:  135.8  27.24
+55.5W / 305:  135.3  27.15
+54.5W / 306:  134.9  27.05
+53.5W / 307:  134.4  26.95
+52.5W / 308:  133.8  26.84
+51.5W / 309:  133.3  26.72
+50.5W / 310:  132.7  26.60
+ 
+let/D=1/remote ave_t = t00an1[L=1:12 at ave]
 set view ll; shade/z=0/x=180:200/y=20:30 ave_t
  
-let/D=1/remote/units="`t0112mn1,ret=units`"/title="Summer average Temperature" ave_summer = t0112mn1[t=15-jun:15-sep at ave]
- !-> DEFINE VARIABLE/D=1/remote/units="deg C"/title="Summer average Temperature" ave_summer = t0112mn1[t=15-jun:15-sep at ave]
+let/D=1/remote/units="`t00an1,ret=units`"/title="Summer average Temperature" ave_summer = t00an1[t=15-jun:15-sep at ave]
+ !-> DEFINE VARIABLE/D=1/remote/units="deg C"/title="Summer average Temperature" ave_summer = t00an1[t=15-jun:15-sep at ave]
 set view lr; shade/z=0/x=180:200/y=20:30 ave_summer
  
 can view
@@ -76266,15 +77507,15 @@ can data/all; can var/all
  
 ! open another dataset, define more remote variables
  
-use "http://ferret.pmel.noaa.gov/nvods/thredds/dodsC/las/woa05_monthly/data_ferret.pmel.noaa.gov_thredds_dodsC_data_PMEL_WOA05nc_monthly_t0112mn1.nc.jnl"
+use "http://ferret.pmel.noaa.gov/nvods/thredds/dodsC/las/woa05_annual/data_ferret.pmel.noaa.gov_pmel_thredds_dodsC_data_PMEL_WOA05nc_annual_t00an1.nc.jnl"
 use "http://ferret.pmel.noaa.gov/nvods/thredds/dodsC/las/COADS-climatology/data_coads_climatology.jnl"
 let/D=2/remote sstsum = sst[L=1:5 at sum]
 let/D=2/remote airtsum = airt[L=1:5 at sum]
 sh dat
      currently SET data sets:
-    1> http://ferret.pmel.noaa.gov/nvods/thredds/dodsC/las/woa05_monthly/data_ferret.pmel.noaa.gov_thredds_dodsC_data_PMEL_WOA05nc_monthly_t0112mn1.nc.jnl
+    1> http://ferret.pmel.noaa.gov/nvods/thredds/dodsC/las/woa05_annual/data_ferret.pmel.noaa.gov_pmel_thredds_dodsC_data_PMEL_WOA05nc_annual_t00an1.nc.jnl
  name     title                             I         J         K         L
- T0112MN1 Temperature                      1:360     1:180     1:24      1:12
+ T00AN1   Temperature                      1:360     1:180     1:33      1:1
  
     2> http://ferret.pmel.noaa.gov/nvods/thredds/dodsC/las/COADS-climatology/data_coads_climatology.jnl  (default)
  name     title                             I         J         K         L
@@ -76351,10 +77592,10 @@ list/y=-5/x=130w:110w combo
  
 can dat/all; can var/all
  
-use "http://ferret.pmel.noaa.gov/nvods/thredds/dodsC/las/woa05_monthly/data_ferret.pmel.noaa.gov_thredds_dodsC_data_PMEL_WOA05nc_monthly_t0112mn1.nc.jnl"
+use "http://ferret.pmel.noaa.gov/nvods/thredds/dodsC/las/woa05_annual/data_ferret.pmel.noaa.gov_pmel_thredds_dodsC_data_PMEL_WOA05nc_annual_t00an1.nc.jnl"
  
 ! This is ok let/remote/D=
-let/D=1/remote myvar = t0112mn1[z=1:100 at ave]
+let/D=1/remote myvar = t00an1[z=1:100 at ave]
  
 ! Intentional errors:
  
@@ -76362,17 +77603,17 @@ let/D=1/remote myvar = t0112mn1[z=1:100 at ave]
 ! the remote server so the same datsets are not open there.
  
 set mode ignore
-let/D=1/remote rvar = t0112mn1[d=1,z=1:100 at ave]
+let/D=1/remote rvar = t00an1[d=1,z=1:100 at ave]
  
  
 ! But, require LET/D= with /REMOTE
-let/remote rvar = t0112mn1[d=1,z=1:100 at ave]
+let/remote rvar = t00an1[d=1,z=1:100 at ave]
  
 ! If expressions involve local variables not defined in the remote dset,
 ! then the variable can be computed but not as a remote-var.
  
 let a = 12
-let/D=1/remote avar = a*t0112mn1[L=@ave]
+let/D=1/remote avar = a*t00an1[L=@ave]
 list/x=300/y=15 avar
  
 SET MODE/LAST ignore
@@ -76381,36 +77622,38 @@ SET MODE/LAST ignore
 let/D=1/remote a = 12
 sho dat
      currently SET data sets:
-    1> http://ferret.pmel.noaa.gov/nvods/thredds/dodsC/las/woa05_monthly/data_ferret.pmel.noaa.gov_thredds_dodsC_data_PMEL_WOA05nc_monthly_t0112mn1.nc.jnl  (default)
+    1> http://ferret.pmel.noaa.gov/nvods/thredds/dodsC/las/woa05_annual/data_ferret.pmel.noaa.gov_pmel_thredds_dodsC_data_PMEL_WOA05nc_annual_t00an1.nc.jnl  (default)
  name     title                             I         J         K         L
- T0112MN1 Temperature                      1:360     1:180     1:24      1:12
+ T00AN1   Temperature                      1:360     1:180     1:33      1:1
  ------------------------------
- A[D=data_ferret.pmel.noaa.gov_thredds_dodsC_data_PMEL_WOA05nc_monthly_t0112mn1.nc.jnl] (/REMOTE) = 12
- AVAR[D=data_ferret.pmel.noaa.gov_thredds_dodsC_data_PMEL_WOA05nc_monthly_t0112mn1.nc.jnl] (/REMOTE) = A*T0112MN1[L=@AVE]
- MYVAR[D=data_ferret.pmel.noaa.gov_thredds_dodsC_data_PMEL_WOA05nc_monthly_t0112mn1.nc.jnl] (/REMOTE) = T0112MN1[Z=1:100 at AVE]
+ A[D=data_ferret.pmel.noaa.gov_pmel_thredds_dodsC_data_PMEL_WOA05nc_annual_t00an1.nc.jnl] (/REMOTE) = 12
+ AVAR[D=data_ferret.pmel.noaa.gov_pmel_thredds_dodsC_data_PMEL_WOA05nc_annual_t00an1.nc.jnl] (/REMOTE) = A*T00AN1[L=@AVE]
+ MYVAR[D=data_ferret.pmel.noaa.gov_pmel_thredds_dodsC_data_PMEL_WOA05nc_annual_t00an1.nc.jnl] (/REMOTE) = T00AN1[Z=1:100 at AVE]
  
 list/x=300/y=15/z=0:100 avar
-             VARIABLE : A*T0112MN1[L=@AVE]
-             FILENAME : data_ferret.pmel.noaa.gov_thredds_dodsC_data_PMEL_WOA05nc_monthly_t0112mn1.nc.jnl
-             FILEPATH : http://ferret.pmel.noaa.gov/nvods/thredds/dodsC/las/woa05_monthly/
+             VARIABLE : A*T00AN1[L=@AVE]
+             FILENAME : data_ferret.pmel.noaa.gov_pmel_thredds_dodsC_data_PMEL_WOA05nc_annual_t00an1.nc.jnl
+             FILEPATH : http://ferret.pmel.noaa.gov/nvods/thredds/dodsC/las/woa05_annual/
              SUBSET   : 7 points (DEPTH (m))
              LONGITUDE: 60W (interpolated)
              LATITUDE : 15N (interpolated)
-             TIME     : 01-JAN 12:00 to 30-DEC 06:00
- 0      / 1:  329.8
- 10     / 2:  329.4
- 20     / 3:  329.2
- 30     / 4:  328.7
- 50     / 5:  325.1
- 75     / 6:  315.3
- 100    / 7:  302.9
+             TIME     : 01-JUL 00:00 to 02-JUL 00:00
+ 0      / 1:  329.3
+ 10     / 2:  329.1
+ 20     / 3:  328.8
+ 30     / 4:  328.2
+ 50     / 5:  324.4
+ 75     / 6:  313.9
+ 100    / 7:  300.0
  
 can dat/all; can var/all
  
  
 ! *********** v6.93 Additions ***********
-GO bn_reset
+GO bn_reset bn691_bug_fixes
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn691_bug_fixes
 GO bn691_bug_fixes
 ! bn691_bug_fixes
 ! test various fixes that went into version 6.91
@@ -76418,6 +77661,7 @@ GO bn691_bug_fixes
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err69_arg_type_error
 ! err69_arg_type_error
 ! See ticket 2169
@@ -76480,6 +77724,7 @@ set mode /last ignore
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err69_bad_bounds
 ! err69_bad_bounds.jnl
 ! See ticket 2170
@@ -76552,6 +77797,7 @@ set mode/last ignore
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err69_const_array
 ! err69_const_array.jnl
 ! 5/8/2014  ACM
@@ -76587,6 +77833,7 @@ set mode/last ignore
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err69_multi_label_ascii
 ! err69_multi_label_ascii.jnl
 ! 5/2014  ACM
@@ -76620,6 +77867,7 @@ label .55 .2 0 0 .16 "@ASEscape_color_not_font<NL>@P2 at SRred_1<NL>@P3 at SRgreen_2
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err69_ens_badvalue
 ! err69_ens_badvalue.jnl
 !
@@ -76655,6 +77903,7 @@ list/y=29.25  MAIZE_YIELD[d=1], MAIZE_YIELD[d=2], MAIZE_YIELD[d=3],  MAIZE_YIELD
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err69_ribbon_by_levels
 ! err69_ribbon_by_levels.jnl
 ! ACM 5/19/2014
@@ -76680,6 +77929,7 @@ RIBBON/vs/line/thick/lev=(1,20,1)/fast/pal=ten_by_levels xpts,ypts,var
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err69_ribbon_histogram
 ! err69_ribbon_histogram.jnl
 ! ACM 5/24/2014
@@ -76707,6 +77957,7 @@ ribbon/vs/line/thick/lev=10h xpts,ypts,var
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err69_repl_scinot
 ! err69_repl_scinot.jnl
 ! ticket 2175
@@ -76734,6 +77985,7 @@ say (`a`)
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err691_bnds_case
 ! err691_bnds_case
 ! 6/30/14
@@ -76748,6 +78000,7 @@ set mode/last upcase_output
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err69_plot_vs_labs
 ! err69_plot_vs_labs.jnl
 ! ticket 2187: the axis labels on the dependent axis
@@ -76785,6 +78038,7 @@ LABY = "A[X=150W:90W at AVE]"
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err69_levels_v
 ! err69_levels_v.jnl
 ! Ferret ticket 2186, and LAS ticket 1598
@@ -76810,6 +78064,7 @@ LEV_MAX = "open-ended"
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err69_letd_dsetnum
 ! err69_letd_dsetnum.jnl
 !  Ticket 2189. Previously the grave-accent expression didn't get
@@ -76829,6 +78084,7 @@ sh dat
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err69_long_string_to_xml
 ! err69_long_string_to_xml.jnl
 ! ticket 2190  8-8-2014
@@ -76847,6 +78103,7 @@ sp cat out.xml
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err69_fill_trans
 ! err69_fill_trans.jnl
 ! ticket 2196. Visible only if bounds-checking is turned on.
@@ -76895,6 +78152,7 @@ list myvar[x=6 at fav:18]
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err69_load_big_grid
 ! err69_load_big_grid
 ! ticket 1758
@@ -76912,29 +78170,40 @@ def axis/z=1:20:1 zaxis
 define axis/t=1-jan-2000:1-jan-2005:1/units=days  longtime
 let bigvar = x[gx=xaxis]+y[gy=yaxis] + z[gz=zaxis] + t[gt=longtime]
 sh grid bigvar
-    GRID (G091)
+    GRID (G093)
  name       axis              # pts   start                end                 subset
  XAXIS     X                  360 r   1                    360                 full
  YAXIS     Y                  180 r   1                    180                 full
  ZAXIS     Z                   20 r   1                    20                  full
  LONGTIME  TIME              1828 r   01-JAN-2000 00:00    01-JAN-2005 00:00   full
 load bigvar
+    To fulfill this request would exceed the current SET MEMORY/SIZE= limit of 25.6 megawords
+    At the moment that the memory limit was reached
+    memory was committed as follows:
+        - to objects used in computation: : 1297828 (5.1%)
+    The size of the requested object was: : 2369088000 (9254%)
  
 ! also was an incorrect size.
 define axis/t=1-jan-2000:1-jan-2010:1/units=days  longtime
 sh grid bigvar
-    GRID (G091)
+    GRID (G093)
  name       axis              # pts   start                end                 subset
  XAXIS     X                  360 r   1                    360                 full
  YAXIS     Y                  180 r   1                    180                 full
  ZAXIS     Z                   20 r   1                    20                  full
  LONGTIME  TIME              3654 r   01-JAN-2000 00:00    01-JAN-2010 00:00   full
 load bigvar
+    To fulfill this request would exceed the current SET MEMORY/SIZE= limit of 25.6 megawords
+    At the moment that the memory limit was reached
+    memory was committed as follows:
+        - to objects used in computation: : 1299654 (5.1%)
+    The size of the requested object was: : 4735584000 (18498%)
  
 cancel mode ignore
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err69_write_attribute
 ! err69_write_attribute.jnl
 ! Bug 1863
@@ -77073,6 +78342,7 @@ sp rm aa.nc bb.nc
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err69_isready_status_errmsgs
 ! err69_isready_status_errmsgs
 ! ticket 2197
@@ -77096,6 +78366,7 @@ set mode/last ignore
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err69_isready_status_errmsgs
 ! err69_isready_status_errmsgs
 ! ticket 2197
@@ -77119,6 +78390,7 @@ set mode/last ignore
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err69_countervar_context
 ! err69_countervar_context.jnl
 ! ACM 10/3/2014
@@ -77143,6 +78415,7 @@ can region
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err69_label_backspace
 ! err69_label_backspace
 ! Ticket 2203:  \\ before a character backspaces before
@@ -77154,6 +78427,7 @@ label .5 .5 0 0 1 "El Nin\\^@MA45 at SRo\!"
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err69_isready_and_regridding
 ! err69_isready_and_regridding.jnl
 ! Ticket 2204: A `var,return=isready` sends Ferret into a hanged
@@ -77199,6 +78473,7 @@ ENDIF
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err69_vtree_and_uvar_regrid
 ! err69_vtree_and_uvar_regrid.jnl
 ! Ticket 2206: This lead to a crash.
@@ -77224,6 +78499,7 @@ c is ready and AVAILABLE
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err69_vtree_cancel_axis
 ! err69_vtree_cancel_axis
 ! Ticket 2201: After a return=isready,
@@ -77251,6 +78527,7 @@ cancel axis xax2
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err69_isready_bugs
 ! err69_isready_bugs.jnl
 ! Tickets 2201 and 2215
@@ -77305,6 +78582,7 @@ m
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err691_substring_arg
 ! err693_substring_arg
 ! ACM 12/10/2014
@@ -77316,8 +78594,10 @@ list substring("hello",1,-3)
  
 set mode/last ignore
  
-GO bn_reset
+GO bn_reset bn_append_dsg
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_append_dsg
 GO bn_append_dsg
 ! bn_append_dsg.jnl
 !From SOCAT 3: appending to a dsg file where the new variable is on the obs
@@ -77396,14 +78676,16 @@ variables:
 		:geospatial_lat_max = 29.07 ;
 		:time_coverage_start = "2006-06-10T23:48:00Z" ;
 		:time_converage_end = "2006-06-11T00:12:00Z" ;
-		:history = "FERRET V7.1 (beta/debug) 10-Feb-17" ;
+		:history = "FERRET V7.11 (beta/debug) 11-May-17" ;
 }
  
 set mode/last upcase
  
  
-GO bn_reset
+GO bn_reset bn_global_atts
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_global_atts
 GO bn_global_atts
 ! bn_global_atts
 ! NOTE With the fix for ticket 2241, we need to add CANCEL MODE UPCASE.
@@ -77492,7 +78774,7 @@ variables:
 		lon360:history = "added to test_save_dsg.nc" ;
 
 // global attributes:
-		:history = "CruiseDsgNcFile 1.0FERRET V7.1 (beta/debug) 10-Feb-17" ;
+		:history = "CruiseDsgNcFile 1.0FERRET V7.11 (beta/debug) 11-May-17" ;
 		:featureType = "Trajectory" ;
 		:Conventions = "Some other conventionsCF-1.6" ;
 		:geospatial_lon_min = -92.77 ;
@@ -77519,15 +78801,17 @@ can dat/all; use anew_global.nc
 sh att .
      attributes for dataset: ./anew_global.nc
  ..history = Subset of etopo20,
- FERRET V7.1 (beta/debug) 10-Feb-17 
+ FERRET V7.11 (beta/debug) 11-May-17 
  ..Conventions = Existing conventions note, , CF-1.6 
  
  
 set mode/last upcase
  
  
-GO bn_reset
+GO bn_reset bn_conventions_history
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_conventions_history
 GO bn_conventions_history
 ! bn_conventions_history.jnl
 ! ticket 2169:
@@ -77552,11 +78836,13 @@ can dat/all; use conventions_history
 ! The new attibutes
 sh att .
      attributes for dataset: ./conventions_history.nc
- ..history = The history of the fileFERRET V7.1 (beta/debug) 10-Feb-17 
+ ..history = The history of the fileFERRET V7.11 (beta/debug) 11-May-17 
  ..Conventions = Conventions for variables named V2CF-1.6 
  
-GO bn_reset
+GO bn_reset bn_center_key_labels
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_center_key_labels
 GO bn_center_key_labels
 ! bn_center_key_labels
 !  6/2014
@@ -77603,8 +78889,10 @@ can data coads_climatology
 shade temp
  
  
-GO bn_reset
+GO bn_reset bn_wgt_transform
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_wgt_transform
 GO bn_wgt_transform
 ! bn_wgt_transform.jnl  test new @WGT transform,
 ! returns weights used in the equiv. average or integral transform
@@ -77710,8 +78998,10 @@ list/y=1.5/x=130w/z=8:43.5/t=1-sep-1982 temp[z=@wgt]
  35    / 4:  10.00
  45    / 5:   3.50
  
-GO bn_reset
+GO bn_reset bn_show_outfile
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_show_outfile
 GO bn_show_outfile
 ! bn_show_outfile
 ! Adding tests for SHOW/OUTFILE=
@@ -78376,8 +79666,10 @@ f is ready and AVAILABLE
  
  
  
-GO bn_reset
+GO bn_reset bn_date1900_array
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_date1900_array
 GO bn_date1900_array
 ! bn_date1900_array.jnl
 ! Let date1900 accept an array of date strings, returning a list
@@ -78428,8 +79720,10 @@ list t[gt=taxis]
  30-JUL-2002 00 / 3:  37465.
  
  
-GO bn_reset
+GO bn_reset bn_spawn_size
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_spawn_size
 GO bn_spawn_size
 ! bn_spawn_size.jnl
 ! Added 9/9/2014
@@ -78508,8 +79802,10 @@ say `name_len, return=isize`
 sp rm bn_spawn_size*.dat bn_spawn_size*.cdf
  
  
-GO bn_reset
+GO bn_reset bn_polygon_log
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_polygon_log
 GO bn_polygon_log
 ! bn_polygon_log.jnl
 ! polygon plots on a log axis need tests
@@ -78547,8 +79843,10 @@ set mode/last ignore
  
 ! *********** v6.94Additions ***********
  
-GO bn_reset
+GO bn_reset bn694_bug_fixes
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn694_bug_fixes
 GO bn694_bug_fixes
 ! bn694_bug_fixes
 ! test various fixes that went into version 6.94
@@ -78558,6 +79856,7 @@ GO bn694_bug_fixes
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err693_upcase_quoted_name
 ! err693_upcase_quoted_name.jnl
 ! ticket 2050. Names are saved in uppercase
@@ -78582,6 +79881,7 @@ set mode/last upcase
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err693_isready_hang
 ! err693_isready_hang.jnl
 ! ACM 12/10/2014
@@ -78609,6 +79909,7 @@ IF `a,r=isready` THEN; let/title="`a,r=title`" a5 = a; ENDIF
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err693_isready_dyn_grid_crash   ! 12/23/2014
 let/unit="m" b = x[gx=1:5:1]
 say "`b,r=unit`"     ! this causes dynamic grid of b to be created
@@ -78624,6 +79925,7 @@ VTREE b2
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err693_attr_in_gcfcn
 ! err693_attr_in_gcfcn.jnl
 ! ACM 12/10/2014
@@ -78663,6 +79965,7 @@ list is_element_of_str (a, {"Kelvin", "Celsius", "DEG C"})
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err693_inconsistent_quote
 ! inconsistent interpretation of surrounding double quotes
 ! the original source of the problem is in PARSE_COMMAND
@@ -78684,6 +79987,7 @@ LIST "foobar"           ! error: lists the value instead
 ! IF-THEN flow tests
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err693_if_then_flow_2214
 ! bug 2214
 ! If we put the "say hi" in parentheses, this seems to work.
@@ -78715,6 +80019,7 @@ CORRECT
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err693_if_then_flow_2211
 ! bug #2211
  
@@ -78725,6 +80030,7 @@ ELSE
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err693_if_then_flow_1860
 ! from bug 1860
 ! continue line found within grave accents
@@ -78740,6 +80046,7 @@ CORRECT IF THIS DISPLAYS
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err693_if_then_flow_1446
 ! testing ticket 1446
  
@@ -78754,6 +80061,7 @@ ENDIF
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err693_if_then_flow_1681
 ! testing ticker 1681
  
@@ -78782,6 +80090,7 @@ endif
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err693_if_then_flow_1706
 ! testing ticket 1706
 !
@@ -78798,6 +80107,7 @@ ENDIF
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err693_if_then_flow_1368   ! Jan 28, 2010, Ferret version 5.812
 ! testing ticket 1368 - first found in Ferret v5.812 (Jan 28, 2010)
  
@@ -78830,6 +80140,7 @@ ENDIF
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err693_ribbon_start_missing
 ! err693_ribbon_start_missing
 ! 1/6/2015 ACM
@@ -78880,6 +80191,7 @@ let vvar = {,1.e7,,271,319}
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err691_pt_in_poly
 ! err691_pt_in_poly
 ! ticket 1961: modulo longitude for pt_in_poly
@@ -78928,6 +80240,7 @@ list minmax(pts)
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err693_undetected_regrid_dset
 ! err693_undetected_regrid_dset.jnl    - Jan 2015
  
@@ -78947,11 +80260,12 @@ set mode/last ignore
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err693_line_over_axis
 ! Ticket 2232: line plots overlaid the plot axes
 show mode meta
       MODE            STATE        ARGUMENT
-      METAFILE      CANCELLED      metafile.plt
+      METAFILE      CANCELED       metafile.plt
 ! line plot with /VS draw on top of the axes
 let xval = {0.0, 0.2, 1.0, 0.8, 0}
 let yval = {0.0, 1.1, 1.1, 0.0, 0}
@@ -78965,6 +80279,7 @@ plot/ribbon/vs/line/thick=3/over/nolab/pal=green_light xval, yval, yval
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err693_save_packed
 ! err693_save_packed.jnl
 ! ticket 2240: bug writing multiple vars with one SAVE when scaled
@@ -78976,6 +80291,7 @@ save/clobber/file=a.nc QA_OF_SEAICE_CONC_CDR, GODDARD_MERGED_SEAICE_CONC
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err693_subspan_trans
 ! err693_subspan_trans
 ! bug 2241  3/9/2015
@@ -78990,37 +80306,31 @@ let b = a[x=@min]
  
 set mode diag
 say `a[x=@min]`
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GSI1            COADSX51_1NORMAL    NORMAL    NORMAL
- eval    EX#1     C:  4 dset:   2 I:    0   83  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  4 dset:   2 I:      0     83  J: -999 -999  K: -999 -999  L:   -999   -999
  strip --> A[X=25E:25E(385)@MIN,D=2]
- strip modulo-void-filling A on X axis:     0    83 dset:   2
- strip moduloing A on X axis:     0    82 dset:   2
- reading A        M: 86 dset:   2 I:    1   82  J: -999 -999  K: -999 -999  L: -999 -999
- doing moduloing A on X axis:     1    82 dset:   2
- doing modulo-void-filling A on X axis:     0    82 dset:   2
+ strip modulo-void-filling A on X axis:        0       83 dset:   2
+ strip moduloing A on X axis:        0       82 dset:   2
+ reading A        M:246 dset:   2 I:      1     82  J: -999 -999  K: -999 -999  L:   -999   -999
+ doing moduloing A on X axis:        1       82 dset:   2
+ doing modulo-void-filling A on X axis:        0       82 dset:   2
  doing --> A[X=25E:25E(385)@MIN,D=2]
- -DELETE A        M: 62 dset:   2 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
+ -DELETE A        M:238 dset:   2 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
  !-> MESSAGE/CONTINUE 25.27740573883057
 25.27740573883057
  
 ! This previously resulted in an error.
 say `b`
  dealloc  dynamic grid GSI1            COADSX51_1NORMAL    NORMAL    NORMAL
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid B        C:  7 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid B        C:  7 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GSI1            COADSX51_1NORMAL    NORMAL    NORMAL
  allocate dynamic grid GSI1            COADSX51_1NORMAL    NORMAL    NORMAL
- eval    EX#1     C:  4 dset:   2 I:    0   83  J: -999 -999  K: -999 -999  L: -999 -999
- eval    B        C:  6 dset:   2 I:    0   83  J: -999 -999  K: -999 -999  L: -999 -999
- strip --> A[X=25E:25E(385)@MIN,D=2]
- strip modulo-void-filling A on X axis:     0    83 dset:   2
- strip moduloing A on X axis:     0    82 dset:   2
- reading A        M: 62 dset:   2 I:    1   82  J: -999 -999  K: -999 -999  L: -999 -999
- doing moduloing A on X axis:     1    82 dset:   2
- doing modulo-void-filling A on X axis:     0    82 dset:   2
- doing --> A[X=25E:25E(385)@MIN,D=2]
- -DELETE B        M: 44 dset:   2 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  4 dset:   2 I:      0     83  J: -999 -999  K: -999 -999  L:   -999   -999
+ eval    B        C:  6 dset:   2 I:      0     83  J: -999 -999  K: -999 -999  L:   -999   -999
+ found   A        M:241 dset:   2 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
+ -DELETE B        M:240 dset:   2 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
  !-> MESSAGE/CONTINUE 25.27740573883057
 25.27740573883057
  
@@ -79056,6 +80366,7 @@ bad
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err693_repeat_err
 !   err693_repeat_err.jnl
 ! test fix for ticket 2244: Error handling in REPEAT
@@ -79087,6 +80398,7 @@ set mode/last ignore
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err693_edit_useratt
 ! err693_edit_useratt.jnl
 ! ticket 2249: set attribute properties for user-defined variable
@@ -79142,6 +80454,7 @@ list/x=135.402W:135.321W/y=58.609 elev
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err693_redef_rec_axis
 ! err693_redef_rec_axis.jnl
 ! ticket 2271. Redefining the record axis meant
@@ -79176,6 +80489,7 @@ show data/full
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err693_frame_types
 ! bn_frame_types.jnl
 ! Ticket 2275
@@ -79200,6 +80514,7 @@ set mode/last ignore
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err693_shape
 ! err693_shape.jnl
 ! bug 2273 shape of variable with various subexpressions
@@ -79224,6 +80539,7 @@ say `sst,r=isize`  `a,r=isize` `a_anom,r=isize`
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err693_ef_axis_precision
  ! NOAA/PMEL TMAP
  ! FERRET v6.94
@@ -79255,6 +80571,7 @@ q
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err693_string_results
 ! err693_string_results.jnl
 ! Ticket 2234, the LIST B returned the numeric pointer to the string.
@@ -79276,6 +80593,7 @@ list d
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err693_lev_nv_over
 ! err693_lev_nv_over.jnl
 ! The polygon command with /LEV=20V caused a crash; levels settings incorrect.
@@ -79296,6 +80614,7 @@ GO polymark polygon/over/lev=20v/key/title="SST"  xpts,ypts,sst,square, 0.5
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err693_fcn_of_attvar
 ! err693_fcn_of_attvar.jnl
 ! Ticket 2291 Function of attribute-expression
@@ -79347,6 +80666,7 @@ list ysequence(dncase(sst.dimnames))
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err693_isize_and_gcfcn
 ! err693_isize_and_gcfcn.jnl
 ! ticket 2213
@@ -79358,7 +80678,7 @@ can mode verify
 8
     GRID XABSTRACT
  name       axis              # pts   start                end                 subset
- ABSTRACT  X             99999999 r   1                    1.E+08              7 pts
+ ABSTRACT  X             99999999 r   1                    1.E+08              8 pts
  normal    Y
  normal    Z
  normal    T
@@ -79404,6 +80724,7 @@ can mode verify
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err693_ribbon_scale
 ! err693_ribbon_scale.jnl
 ! ticket 2295: the vertical scale is mis-computed
@@ -79416,11 +80737,12 @@ plot/ribbon/key var,color
 ! should be -82 to -80
 sh sym yaxis*
 YAXIS_REVERSED = "0"
-YAXIS_MIN = "-82.0000000"
-YAXIS_MAX = "-80.0000000"
+YAXIS_MIN = "-72.9000000"
+YAXIS_MAX = "-89.1000000"
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err693_parse_curly
 ! err693_parse_curly.jnl
 ! the sub-routine defines a string variable containing commands for overlays in
@@ -79534,6 +80856,7 @@ define symbol overcommands = `p1s_ov`
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err693_list_missing
 ! err693_list_missing.jnl
  
@@ -79555,6 +80878,7 @@ list a,b
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err693_shf_subscr
 ! err693_shf_subscr.jnl
 ! ticket 2231  Subscripts used to compute @SHF-1 at the low end of the axis
@@ -79597,6 +80921,7 @@ list/k=3:4 zdiff_t
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err693_shift_w_region
 ! err693_shift_w_region
 ! Ticket 2300.  In fact with bounds checking on, the list a[i=@shf] would have
@@ -79630,6 +80955,7 @@ list a[i=@shf]
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err693_scalar_grids
 ! err693_scalar_grids.jnl
 ! See ticket 1602
@@ -79698,8 +81024,10 @@ list b[x=@ave,k=@ave]
  
  
  
-GO bn_reset
+GO bn_reset bn_permute_ascii
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_permute_ascii
 GO bn_permute_ascii
 ! bn_permute_ascii.jnl
 ! test permutations when reading ascii data, in E and F directions
@@ -80007,8 +81335,10 @@ list tm
  4   / 4: -28.54  -8.39
  
  
-GO bn_reset
+GO bn_reset bn_lon_lat_time_string
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_lon_lat_time_string
 GO bn_lon_lat_time_string
 ! bn_lon_lat_time_string.jnl
 ! Test function written for LAS, to create profile labels from
@@ -80042,8 +81372,10 @@ list lon_lat_time_string(lon, lat, time, tt, "my_string")
  3   / 3:"my_string_340.5E_15.03S_04-JAN-2001"
  
  
-GO bn_reset
+GO bn_reset bn_save_justdim
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_save_justdim
 GO bn_save_justdim
 ! bn_save_justdim.jnl
 ! When a dataset has axes that are dimensions but not 1-D coordinate variables,
@@ -80075,8 +81407,10 @@ sp ncdump a.nc >> all_ncdump.out
  
 SET MODE/LAST upcase_output
  
-GO bn_reset
+GO bn_reset bn_time2d
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_time2d
 GO bn_time2d
 ! bn_time2d.jnl
 ! 1/30/2015 ACM
@@ -80110,8 +81444,10 @@ set att/like=time time2d
 shade time2d
 shade/trans time2d
  
-GO bn_reset
+GO bn_reset bn_legend_labels
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_legend_labels
 GO bn_legend_labels
 ! bn_legend_labels.jnl
 ! The legend labels on a multi-line plot describe the
@@ -80140,8 +81476,10 @@ LAB7 = "January"
 LAB9 = "March"
 LAB8 = "February"
  
-GO bn_reset
+GO bn_reset bn_DQ
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_DQ
 GO bn_DQ
 ! bn_DQ.jnl  *sh* 2/2015
 ! test the use of _DQ_ and _SQ_ in lieu of " and '
@@ -80641,14 +81979,17 @@ plot/vlim=-2:2/hlim=_DQ_1-jan-1980_DQ_:_DQ_15-feb-1980:12:00_DQ_ \
  
 ! *********** v6.95Additions ***********
  
-GO bn_reset
+GO bn_reset bn695_bug_fixes
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn695_bug_fixes
 GO bn695_bug_fixes
 ! bn695_bug_fixes
 ! test various fixes that went into version 6.95
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err694_shf_missing
 ! err694_shf_missing.jnl
 ! Test the fix for ticket 2314
@@ -80702,6 +82043,7 @@ list/x=10:30/y=-60/l=1  sst[i=@shf:3]
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err694_longname_showdat
 ! err694_longname_showdat.jnl
 ! ticket 2317
@@ -80750,6 +82092,7 @@ sp rm WestCoastCarbon_9d9c_f562_77b5_5.nc
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err693_std4d
 ! err693_std4d
 ! Check fix to ticket 2319: std transform in multi-dimensions
@@ -80796,8 +82139,10 @@ list astd^2, avar, avar_calc, astd_e_f^2
 I / *:     5.778  5.778   5.778  0.4444
  
  
-GO bn_reset
+GO bn_reset bn_f_tax_fcns
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_f_tax_fcns
 GO bn_f_tax_fcns
 ! bn_f_from_tax_fcns.jnl
 ! test tax_* functions returning results from a
@@ -81065,8 +82410,10 @@ LIST/N=1:15 TAX_TSTEP(ff, "`reset_date`")
  01-JAN-1902 00:01:05 / 14:  65.00000
  01-JAN-1902 00:01:10 / 15:  70.00000
  
-GO bn_reset
+GO bn_reset bn_fmrc
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_fmrc
 GO bn_fmrc
 ! bn_fmrc.jnl
 ! initial test of DEFINE DATA/F
@@ -81081,7 +82428,7 @@ use "run4.nc"
 define data/hide/F/agg fourfiles = 1,2,3,4
  
 sh grid sst
-    GRID (G091)
+    GRID (G093)
  name       axis              # pts   start                end                 subset
  LON1      LONGITUDE           10mr   109W                 91W                 full
  LAT       LATITUDE             9 r   13N                  29N                 full
@@ -81130,8 +82477,10 @@ list/L=1:6/n=1:4 `sst._ftime2d`
  07-JAN-2010 12 / 4:   7.00000   8.00000   9.00000  10.00000  11.00000  12.00000
  
  
-GO bn_reset
+GO bn_reset bn_return_defined
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_return_defined
 GO bn_return_defined
 ! bn_return_defined.jnl
 ! 5/3/2015 *acm*
@@ -81155,8 +82504,10 @@ say `temp,return=defined`
  !-> MESSAGE/CONTINUE 0
 0
  
-GO bn_reset
+GO bn_reset bn_can_var_noerr
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_can_var_noerr
 GO bn_can_var_noerr
 ! bn_can_var_noerr.jnl
 ! CANCEL VARIABLE/NOERROR
@@ -81204,8 +82555,10 @@ cancel var/noerror/all
 show var
  Created by DEFINE VARIABLE:
  
-GO bn_reset
+GO bn_reset bn_annotate
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_annotate
 GO bn_annotate
 ! bn_annotate.jnl
 ! The command ANNOTATE /USER/NORM/NOUSER/XPOS/YPOS/HALIGN/VALIGN/ANGLE/SIZE
@@ -81483,8 +82836,10 @@ shad/set/i=1:2/j=1:2 i+j; def anno/nou/ypos=0 "My Lab"; ppl plot
 shad/set/i=1:2/j=1:2 i+j; def anno/nou/xpos=0/hal=1/val=0 "My Lab"; ppl plot
 shad/set/i=1:2/j=1:2 i+j; def anno/nou/user/xpos=0/ypos=0 "My Lab"; ppl plot
  
-GO bn_reset
+GO bn_reset bn_auxiliary
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_auxiliary
 GO bn_auxiliary
 ! bn_auxiliary.jnl:  exercise auxiliary coordinate regridding
  
@@ -81648,7 +83003,7 @@ SHOW GRID
  name       axis              # pts   start                end                 subset
  XAXLEVITR101_102 LONGITUDE     2mr   120.5E               121.5E              full
  YAXLEVITR41_42 LATITUDE        2 r   49.5S                48.5S               full
- ZAXLEVITR DEPTH (m)           20 i-  0                    5000                10 pts
+ ZAXLEVITR DEPTH (m)           20 i-  0                    5000                11 pts
  normal    T
  
 ! use aux var regridding.  Target coordinate points match the source points
@@ -81660,11 +83015,11 @@ SET MODE diagnostic
 LET tempz = temp[gz(depth)=zpts]
 LIST/PREC=7 tempz
  dealloc  dynamic grid GAO1            XAXLEVITR1YAXLEVITR4ZAXLEVITR NORMAL
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid TEMPZ    C:  7 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid DEPTH    C:  9 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid TEMPZ    C:  7 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid DEPTH    C:  9 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GAO1            XAXLEVITR1YAXLEVITR4ZAXLEVITR NORMAL
- getgrid ZPTS     C:  9 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid ZPTS     C:  9 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G096)          NORMAL    NORMAL    (AX113)   NORMAL
  dealloc  dynamic grid (G096)          NORMAL    NORMAL    (AX113)   NORMAL
  allocate dynamic grid (G096)          NORMAL    NORMAL    (AX113)   NORMAL
@@ -81672,19 +83027,19 @@ LIST/PREC=7 tempz
  dealloc  dynamic grid (G088)          XAXLEVITR1YAXLEVITR4(AX113)   NORMAL
  allocate dynamic grid (G088)          XAXLEVITR1YAXLEVITR4(AX113)   NORMAL
  allocate dynamic grid (G088)          XAXLEVITR1YAXLEVITR4(AX113)   NORMAL
- eval    EX#1     C:  4 dset:   1 I:    1    2  J:    1    2  K:    1    5  L: -999 -999
- eval    TEMPZ    C:  6 dset:   1 I:    1    2  J:    1    2  K:    1    5  L: -999 -999
+ eval    EX#1     C:  4 dset:   1 I:      1      2  J:    1    2  K:    1    5  L:   -999   -999
+ eval    TEMPZ    C:  6 dset:   1 I:      1      2  J:    1    2  K:    1    5  L:   -999   -999
  allocate dynamic grid (G088)          XAXLEVITR1YAXLEVITR4(AX113)   NORMAL
  strip regrid on Z: TEMP --> (G088)           @LIN
- eval    DEPTH    C:  9 dset:   1 I:    1    2  J:    1    2  K:    1   20  L: -999 -999
- pseudo  Z        M: 86 dset:   1 I: -999 -999  J: -999 -999  K:    1   20  L: -999 -999
- constan cnst     M: 82 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- reading TEMP     M: 80 dset:   1 I:    1    2  J:    1    2  K:    1    1  L: -999 -999
- -DELETE cnst     M: 82 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- -DELETE tpry     M: 72 dset:   0 I:    1    2  J:    1    2  K:    1    1  L: -999 -999  M: -999 -999  N: -999 -999
- -DELETE Z        M: 86 dset:   1 I: -999 -999  J: -999 -999  K:    1   20  L: -999 -999
- reading TEMP     M: 86 dset:   1 I:    1    2  J:    1    2  K:    7   12  L: -999 -999
- auxgrd  TEMP     M: 72 dset:   1 I:    1    2  J:    1    2  K:    1    5  L: -999 -999
+ eval    DEPTH    C:  9 dset:   1 I:      1      2  J:    1    2  K:    1   20  L:   -999   -999
+ pseudo  Z        M:246 dset:   1 I:   -999   -999  J: -999 -999  K:    1   20  L:   -999   -999
+ constan cnst     M:244 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
+ found   TEMP     M:248 dset:   1 I:      1      2  J:    1    2  K:    1   11  L:   -999   -999
+ -DELETE cnst     M:244 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
+ -DELETE tpry     M:243 dset:   0 I:      1      2  J:    1    2  K:    1    1  L:   -999   -999  M: -999 -999  N: -999 -999
+ -DELETE Z        M:246 dset:   1 I:   -999   -999  J: -999 -999  K:    1   20  L:   -999   -999
+ reading TEMP     M:246 dset:   1 I:      1      2  J:    1    2  K:    7   12  L:   -999   -999
+ auxgrd  TEMP     M:243 dset:   1 I:      1      2  J:    1    2  K:    1    5  L:   -999   -999
  dealloc  dynamic grid (G088)          XAXLEVITR1YAXLEVITR4(AX113)   NORMAL
              VARIABLE : TEMP[GZ(DEPTH)=ZPTS]
              FILENAME : levitus_3d_subset.nc
@@ -81708,7 +83063,7 @@ LIST/PREC=7 tempz
  49.5S / 1:  4.879000  5.102500
 SHOW GRID tempz
  dealloc  dynamic grid (G088)          XAXLEVITR1YAXLEVITR4(AX113)   NORMAL
- getgrid EX#1     C:  7 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  7 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G088)          XAXLEVITR1YAXLEVITR4(AX113)   NORMAL
     GRID (G088)
  name       axis              # pts   start                end                 subset
@@ -81792,11 +83147,11 @@ LIST/PREC=7 tempz_alt
  48.5S / 2:  7.726000  7.917999
  49.5S / 1:  6.843000  7.021999
 SHOW GRID tempz_alt
-    GRID (G098)
+    GRID (G094)
  name       axis              # pts   start                end                 subset
  XAXLEVITR101_102 LONGITUDE     2mr   120.5E               121.5E              full
  YAXLEVITR41_42 LATITUDE        2 r   49.5S                48.5S               full
- (AX122)   Z                    5 r   2                    10                  4 pts
+ (AX122)   Z                    5 r   2                    10                  5 pts
  normal    T
  
 !! do same regrid using the shorhand semi-automated notation
@@ -81817,7 +83172,7 @@ LIST/PREC=7 tempz_1pt
  48.5S / 2:  7.725600  7.917999
  49.5S / 1:  6.836600  7.016000
 SHOW GRID/z tempz_1pt
-    GRID (G091)
+    GRID (G093)
  name       axis              # pts   start                end                 subset
  XAXLEVITR101_102 LONGITUDE     2mr   120.5E               121.5E              full
  YAXLEVITR41_42 LATITUDE        2 r   49.5S                48.5S               full
@@ -85254,8 +86609,10 @@ CANC MODE VERIFY
               1         2         3         4         5
           20.75000  24.00000  20.75000      ....  20.75000
  
-GO bn_reset
+GO bn_reset bn_plot_ribbon_gaploc
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_plot_ribbon_gaploc
 GO bn_plot_ribbon_gaploc
 ! bn_plot_ribbon_gaploc.jnl
 ! 7/20/2015 *acm*  new PLOT/VS/RIBBON/GAPLOC
@@ -85296,8 +86653,10 @@ plot/vs/thick/line/sym=21/siz=0.3/gap xpts, 10*ypts, 10.1*ypts, 9.93*ypts, gvar
 plot/ov/nolab/vs/thick/line/sym=21/siz=.3/gapl xpts, color, gvar
 set mode/last ignore
  
-GO bn_reset
+GO bn_reset bn_time_short_axes
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_time_short_axes
 GO bn_time_short_axes
 ! bn_time_short_axes.jnl
 ! testing time axis style with HH:MM on the time axis labels.
@@ -85327,8 +86686,10 @@ shade/trans/t="21-aug-2015:00:00":"21-aug-2015:04:30" var2d
 fill/trans/t="21-aug-2015:01:15":"21-aug-2015:03:30" var2d
 shade/trans/t="21-aug-2015:01:15":"21-aug-2015:12:00" var2d
  
-GO bn_reset
+GO bn_reset bn_floatstr_extended
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_floatstr_extended
 GO bn_floatstr_extended
 ! bn_floatstr_extended.jnl
 ! test use of Integer and zero-filled formats in FLOATSTR function (Ferret v6.95)
@@ -85565,14 +86926,17 @@ LIST/X=165W/L=1 var1[j=1:40:2], var2[j=1:40:2]
  
 ! *********** v6.96 Additions ***********
  
-GO bn_reset
+GO bn_reset bn696_bug_fixes
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn696_bug_fixes
 GO bn696_bug_fixes
 ! bn696_bug_fixes
 ! test various fixes that went into version 6.96
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err695_bounds_match_axis
 ! err695_bounds_match_axis.jnl
 ! ticket 2321.
@@ -85601,6 +86965,7 @@ sh grid/l=1:4444 temp
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err695_show_dat_nodata
 ! err695_show_dat_nodata.jnl
 ! ticket 2322
@@ -85633,16 +86998,17 @@ SET MODE/LAST ignore
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err695_grave_prec
 ! err695_grave_prec
 ! Bug 2323. Large numbers had incorrect results on grave-accent
 ! evaluations, returning only 8 digits of precision
  
 list/nohead/p=16 1234567890123456, `1234567890123456`
- !-> list/nohead/p=16 1234567890123456,   1234567890123456.
+ !-> list/nohead/p=16 1234567890123456, 1234567890123456.
 I / *:     1234567890123456.  1234567890123456.
 list/nohead/p=16 -1234567890123.456, `-1234567890123.456`
- !-> list/nohead/p=16 -1234567890123.456,  -1234567890123.456
+ !-> list/nohead/p=16 -1234567890123.456, -1234567890123.456
 I / *:    -1234567890123.456 -1234567890123.456
  
 ! this was ok
@@ -85652,10 +87018,10 @@ I / *:     1.234567890123456  1.123456789012346
  
 ! check output when asking for lower precision
 list/nohead/p=9 1234567890123456, `1234567890123456`
- !-> list/nohead/p=9 1234567890123456,   1234567890123456.
+ !-> list/nohead/p=9 1234567890123456, 1234567890123456.
 I / *:     1.23456789E+15  1.23456789E+15
 list/nohead/p=6 1234567890123456, `1234567890123456`
- !-> list/nohead/p=6 1234567890123456,   1234567890123456.
+ !-> list/nohead/p=6 1234567890123456, 1234567890123456.
 I / *:     1.23457E+15  1.23457E+15
  
 let var = 1.23456e+34
@@ -85667,8 +87033,10 @@ say `var,prec=4`
  !-> MESSAGE/CONTINUE 1.235E+34
 1.235E+34
  
-GO bn_reset
+GO bn_reset bn_bin_regrid
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_bin_regrid
 GO bn_bin_regrid
 ! bin regridding tests
  
@@ -85725,9 +87093,8 @@ LIST dest, var[G$1=dcoarse at ave], var[G$1=dcoarse at BIN], var[G$1=dcoarse at NBIN]
  
 LIST dest, var[G$1=dcoarse]
  !-> LIST dest, var[GX=dcoarse]
-             X: 0.5 to 5.5
- Column  1: DEST is _X[GX=DCOARSE]
- Column  2: VAR[G=1 delta on X] is RESHAPE(SBIN, _X[GX=IRR]) (regrid: 1 delta on X)
+ Column  1: DEST[X=0.5:5.5] is _X[GX=DCOARSE]
+ Column  2: VAR[G=1 delta on X,X=1.5:5.5] is RESHAPE(SBIN, _X[GX=IRR]) (regrid: 1 delta on X)
              DEST     VAR
 1   / 1:  1.000000      ....
 2   / 2:  2.000000      ....
@@ -85788,9 +87155,8 @@ LIST dest, var[G$1=dcoarse at ave], var[G$1=dcoarse at BIN], var[G$1=dcoarse at NBIN]
  
 LIST dest, var[G$1=dcoarse]
  !-> LIST dest, var[GY=dcoarse]
-             Y: 0.5 to 5.5
- Column  1: DEST is _Y[GY=DCOARSE]
- Column  2: VAR[G=1 delta on Y] is RESHAPE(SBIN, _Y[GY=IRR]) (regrid: 1 delta on Y)
+ Column  1: DEST[Y=0.5:5.5] is _Y[GY=DCOARSE]
+ Column  2: VAR[G=1 delta on Y,Y=1.5:5.5] is RESHAPE(SBIN, _Y[GY=IRR]) (regrid: 1 delta on Y)
              DEST     VAR
 1   / 1:  1.000000      ....
 2   / 2:  2.000000      ....
@@ -85851,9 +87217,8 @@ LIST dest, var[G$1=dcoarse at ave], var[G$1=dcoarse at BIN], var[G$1=dcoarse at NBIN]
  
 LIST dest, var[G$1=dcoarse]
  !-> LIST dest, var[GZ=dcoarse]
-             Z: 0.5 to 5.5
- Column  1: DEST is _Z[GZ=DCOARSE]
- Column  2: VAR[G=1 delta on Z] is RESHAPE(SBIN, _Z[GZ=IRR]) (regrid: 1 delta on Z)
+ Column  1: DEST[Z=0.5:5.5] is _Z[GZ=DCOARSE]
+ Column  2: VAR[G=1 delta on Z,Z=1.5:5.5] is RESHAPE(SBIN, _Z[GZ=IRR]) (regrid: 1 delta on Z)
              DEST     VAR
 1   / 1:  1.000000      ....
 2   / 2:  2.000000      ....
@@ -85914,9 +87279,8 @@ LIST dest, var[G$1=dcoarse at ave], var[G$1=dcoarse at BIN], var[G$1=dcoarse at NBIN]
  
 LIST dest, var[G$1=dcoarse]
  !-> LIST dest, var[GT=dcoarse]
-             T: 0.5 to 5.5
- Column  1: DEST is _T[GT=DCOARSE]
- Column  2: VAR[G=1 delta on T] is RESHAPE(SBIN, _T[GT=IRR]) (regrid: 1 delta on T)
+ Column  1: DEST[T=0.5:5.5] is _T[GT=DCOARSE]
+ Column  2: VAR[G=1 delta on T,T=1.5:5.5] is RESHAPE(SBIN, _T[GT=IRR]) (regrid: 1 delta on T)
              DEST     VAR
 1   / 1:  1.000000      ....
 2   / 2:  2.000000      ....
@@ -85977,9 +87341,8 @@ LIST dest, var[G$1=dcoarse at ave], var[G$1=dcoarse at BIN], var[G$1=dcoarse at NBIN]
  
 LIST dest, var[G$1=dcoarse]
  !-> LIST dest, var[GE=dcoarse]
-             E: 0.5 to 5.5
- Column  1: DEST is _E[GE=DCOARSE]
- Column  2: VAR[G=1 delta on E] is RESHAPE(SBIN, _E[GE=IRR]) (regrid: 1 delta on E)
+ Column  1: DEST[E=0.5:5.5] is _E[GE=DCOARSE]
+ Column  2: VAR[G=1 delta on E,E=1.5:5.5] is RESHAPE(SBIN, _E[GE=IRR]) (regrid: 1 delta on E)
              DEST     VAR
 1   / 1:  1.000000      ....
 2   / 2:  2.000000      ....
@@ -86040,9 +87403,8 @@ LIST dest, var[G$1=dcoarse at ave], var[G$1=dcoarse at BIN], var[G$1=dcoarse at NBIN]
  
 LIST dest, var[G$1=dcoarse]
  !-> LIST dest, var[GF=dcoarse]
-             F: 0.5 to 5.5
- Column  1: DEST is _F[GF=DCOARSE]
- Column  2: VAR[G=1 delta on F] is RESHAPE(SBIN, _F[GF=IRR]) (regrid: 1 delta on F)
+ Column  1: DEST[F=0.5:5.5] is _F[GF=DCOARSE]
+ Column  2: VAR[G=1 delta on F,F=1.5:5.5] is RESHAPE(SBIN, _F[GF=IRR]) (regrid: 1 delta on F)
              DEST     VAR
 1   / 1:  1.000000      ....
 2   / 2:  2.000000      ....
@@ -86054,14 +87416,17 @@ LIST dest, var[G$1=dcoarse]
 ! *********** v6.97 Additions ***********
 !            (released as V7.0)
  
-GO bn_reset
+GO bn_reset bn697_bug_fixes
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn697_bug_fixes
 GO bn697_bug_fixes
 ! bn697_bug_fixes
 ! test various fixes that went into version 6.97
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err696_only_inf_lev
 ! Bug 2326: levels with only a value and (inf) or (-inf)
 ! should show values less-equal or greater-equal to that level.
@@ -86089,6 +87454,7 @@ set view ur; shade/key=horiz/lev=(-inf)(22)(inf) sst
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err696_plot_ax_ppl
 ! err696_plot_ax_ppl.jnl
 ! ticket 2327
@@ -86172,6 +87538,7 @@ plot/i=1:199 i*cos(i/10)
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err696_ft_calendars
 ! err696_ft_calendars.jnl
 ! see ticket 2332: check for matching calendars when
@@ -86198,6 +87565,7 @@ can data/all
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err696_centerlab_restore
 ! err696_centerlab_restore
 ! Ticket 2331.
@@ -86258,6 +87626,7 @@ polygon/trans/i=1:20/nolab/key=horiz  xpts+xsqr, ypts+ysqr, x*x/10
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err696_time_overlay
 ! err696_time_overlay
 ! bug 2334, first plot/over takes too long and the line is incorrect.
@@ -86265,23 +87634,24 @@ GO err696_time_overlay
 def ax/t="1-jan-0001":"1-jan-0009":1/unit="year"/t0="1-jan-0001"/cal=noleap tax_nlp
 def ax/t="1-jan-0001":"1-jan-0009":1/unit="year"/t0="1-jan-0001"/cal=julian tax_jul
 sp date
-Fri Feb 10 10:11:59 PST 2017
+Thu May 11 10:29:53 PDT 2017
 set view upper
 plot t[gt=tax_nlp]
 plot/ov/vs/line/dash {1,1}, 1e6*{-1,1}
 sp date
-Fri Feb 10 10:11:59 PST 2017
+Thu May 11 10:29:53 PDT 2017
  
 sp date
-Fri Feb 10 10:11:59 PST 2017
+Thu May 11 10:29:53 PDT 2017
 set view lower
 plot t[gt=tax_jul]
 plot/ov/vs/line/dash {2,2}, 1e6*{-1,1}
 sp date
-Fri Feb 10 10:11:59 PST 2017
+Thu May 11 10:29:54 PDT 2017
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err696_save_noupcase
 ! err696_save_noupcase
 ! Ticket 2336: When UPCASE canceled an extra upcase axis
@@ -86334,7 +87704,7 @@ variables:
 		var:long_name = "0*TT + X[GX=XAX]" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 10-Feb-17" ;
+		:history = "FERRET V7.11 (beta/debug) 11-May-17" ;
 		:Conventions = "CF-1.6" ;
 }
  
@@ -86342,6 +87712,7 @@ set mode/last upcase
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err696_argument_blanks
 ! err696_argument_blanks.jnl
 ! Ticket 2343: quoted argument with a blank at the end.
@@ -86378,6 +87749,7 @@ Hi Hi there my friend
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err696_annotate_numeric
 ! err696_annotate_numeric
 ! 1/7/2016
@@ -86410,6 +87782,7 @@ annotate/nouser/xpos=1/ypos=0.5 1,2,3,4,5
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err696_e_component_mem_crptn
 ! canceling of an E aggregation dataset is leaving
 ! corrupted variables in memory as seen by the variable names "%%"
@@ -86440,28 +87813,37 @@ list/i=3 sst[T=@ave]
  4   / 4:  114.0514  113.7646  111.5685  109.8262  106.9033  102.2446      ....      ....      ....
  
 show mem/all
- Current size of FERRET memory cache: 25.6 MegaWords  (1 word = 8 bytes)
+    SET MEMORY/SIZE: 25.6 megawords
+    Peak demand: 540 words
+    Current cache: 504 words
 all data in memory:
- SST[D=fourfiles]                  YE    mr:188  blk1:1  nblk:1
-    3  /106W           1  /12N          ...  / ...         ...  /01-JAN 00:45   1  /0.5          ...  / ...
-    3  /104W           9  /30N          ...  / ...         ...  /31-DEC 06:34   4  /4.5          ...  / ...
+ SST[D=fourfiles]                  YE    mr:242 size:72
+         3/106W                1/12N              ... / ...             ... /01-JAN 00:45        1/0.5              ... / ...
+         3/104W                9/30N              ... / ...             ... /31-DEC 06:34        4/4.5              ... / ...
                                                               AVE
- SST[D=fourfiles]                  YTE   mr:187  blk1:2  nblk:1
-    3  /106W           1  /12N          ...  / ...           1  /01-JAN 00:45   1  /0.5          ...  / ...
-    3  /104W           9  /30N          ...  / ...          12  /31-DEC 06:34   4  /4.5          ...  / ...
+ SST[D=fourfiles]                  YTE   mr:196 size:432
+         3/106W                1/12N              ... / ...                1/01-JAN 00:45        1/0.5              ... / ...
+         3/104W                9/30N              ... / ...               12/31-DEC 06:34        4/4.5              ... / ...
  
 cancel data fourfiles
 show mem/all
- Current size of FERRET memory cache: 25.6 MegaWords  (1 word = 8 bytes)
+    SET MEMORY/SIZE: 25.6 megawords
+    Peak demand: 540 words
+    Current cache: 0 words
 all data in memory:
  
 exit
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err696_mem_err_report
 ! err696_mem_err_report.jnl
 ! 1/21/2016 *acm*
+! V702: *sh* 2/17 - This script depends upon the specific formatting
+! of the error string, when memory is exceeded
+! Tweaked it to match the new formatting
+ 
 ! Ticket 2354: The error message shows the wrong number for memory needed.
 !
 ! Try to load some data larger than the default amount of memory
@@ -86478,7 +87860,7 @@ define axis/t=1-jan-2000:1-jan-2005:1/units=days  longtime
  
 let bigvar = x[gx=xaxis]+y[gy=yaxis] + z[gz=zaxis] + t[gt=longtime]
 sh grid bigvar
-    GRID (G094)
+    GRID (G091)
  name       axis              # pts   start                end                 subset
  XAXIS     X                  360 r   1                    360                 full
  YAXIS     Y                  180 r   1                    180                 full
@@ -86488,25 +87870,24 @@ sh grid bigvar
  
 set mode ignore
 load/l=1:5 bigvar
+    To fulfill this request would exceed the current SET MEMORY/SIZE= limit of 2 megawords
+    At the moment that the memory limit was reached
+    memory was committed as follows:
+        - to objects used in computation: : 1296005 (65%)
+    The size of the requested object was: : 6480000 (324%)
  
 ! Previously the number Mwords shown was too low
 show sym fer_last_error
-FER_LAST_ERROR = "**ERROR: request exceeds memory setting: 13 Mwords were requested. "
+FER_LAST_ERROR = "**ERROR: request exceeds memory setting"
 cancel mode ignore
  
-! Get the number Ferret says it needs
-let ms1 = `strrindex("($fer_last_error)", ":")`
- !-> DEFINE VARIABLE ms1 = 40
-let ms2 = `strindex("($fer_last_error)", "Mword")`
- !-> DEFINE VARIABLE ms2 = 45
-let siz = substring("($fer_last_error)", `ms1+1`, `ms2-ms1-1`)
- !-> DEFINE VARIABLE siz = substring("**ERROR: request exceeds memory setting: 13 Mwords were requested. ", 41, 4)
- 
-! Increase memory accordingly
+! V702:  we no longer have to parse the error string.
+! Instead look at PEAK_MEMORY
  
-set mem/siz=`siz`
- !-> set mem/siz= 13
+SET MEMORY/SIZE=15
 load/l=1:5 bigvar
+SHOW SYMBOL ($PEAK_MEMORY)
+ !-> SHOW SYMBOL 7776005
  
 ! restore default
 set mem/siz=`memsize`
@@ -86515,6 +87896,7 @@ set mem/siz=`memsize`
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err696_multiple_slashes
 ! err696_multiple_slashes.jnl
 ! 1/25/2016 *acm*
@@ -86559,9 +87941,9 @@ fill/($regqual)($plotqual) sst
  !-> CONTOUR/FILL//x=300:360///y=-20:20/L=3/pal=grayscale/line//key=cont sst
  
 ! command lines with urls unchanged
-IF `test_opendap("http://ferret.pmel.noaa.gov/thredds/dodsC/data/PMEL/COADS/coads_sst.cdf") EQ 0` THEN
+IF `test_opendap("http://ferret.pmel.noaa.gov/pmel/thredds/dodsC/data/PMEL/COADS/coads_sst.cdf") EQ 0` THEN
  !-> IF 1 THEN
-   set data///format=cdf http://ferret.pmel.noaa.gov/thredds/dodsC/data/PMEL/COADS/coads_sst.cdf
+   set data///format=cdf http://ferret.pmel.noaa.gov/pmel/thredds/dodsC/data/PMEL/COADS/coads_sst.cdf
    let//d=coads_sst myvar = 1
    sh dat
      currently SET data sets:
@@ -86569,7 +87951,7 @@ IF `test_opendap("http://ferret.pmel.noaa.gov/thredds/dodsC/data/PMEL/COADS/coad
  name     title                             I         J         K         L
  SST      SEA SURFACE TEMPERATURE          1:180     1:90      ...       1:3
  
-    2> http://ferret.pmel.noaa.gov/thredds/dodsC/data/PMEL/COADS/coads_sst.cdf  (default)
+    2> http://ferret.pmel.noaa.gov/pmel/thredds/dodsC/data/PMEL/COADS/coads_sst.cdf  (default)
  name     title                             I         J         K         L
  SST      Sea Surface Temperature          1:180     1:90      ...       1:1680
  ------------------------------
@@ -86653,6 +88035,7 @@ repeat/l=1:2 (set reg/x=1:4//)
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err696_2d_time_overlay
 ! err696_2d_time_overlay.jnl
 ! ticket 2360: 2-D time overlay plots have never worked.
@@ -86702,6 +88085,7 @@ shade/ov/pal=grayscale/lev f2
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err696_singlevec_over
 ! err696_singlevec_over.jnl
 ! Ticket 2365: overlay a single vector. If
@@ -86745,6 +88129,7 @@ PPL_VECLEN = "  27.2"
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err696_return_type
 ! err696_return_type
 ! See ticket #2367
@@ -86798,6 +88183,7 @@ list allcat
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err696_hovmuller_mod_fill
 ! err696_hovmuller_mod_fill.jnl
 ! 3/7/2016 ACM
@@ -86813,6 +88199,7 @@ fill/lin/t=1-jan-0000:31-dec-0001/hlim=1-jan-0000:1-jan-0001/x=180/lev=8 sst
  
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go err696_repeat_escapes.jnl
 ! err696_repeat_escapes.jnl
 ! Ticket 2376 - parsing error with escaped grave-accent syntax
@@ -86860,6 +88247,7 @@ repeat/k=1:3 (rep/i=1:2 (sp echo \``a`\`))
  
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go err696_red_keylab.jnl
 ! err696_red_keylab.jnl
 ! Ticket 2375: outline and labels of color key were
@@ -86874,6 +88262,7 @@ fill/over/nolab/key/lev=v,2min temp
  
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go err696_poly_over_label
 ! err696_poly_over_label
 ! Tiket 2396: incorrect label in the lower
@@ -86941,6 +88330,7 @@ ppl list labels  ! shows cvar for lab2
  
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go err696_def_ax_f
 ! err696_def_ax_f.jnl
 ! See ticket 2380
@@ -86988,6 +88378,7 @@ list _t[gt=aax]
  
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go err696_mode_cal_f
 ! err696_mode_cal_f.jnl
 ! ticket 2399 MODE CALENDAR and F calendar axes
@@ -87051,6 +88442,7 @@ LAB1 = "F (DAY) : 1.5"
  
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go err696_def_ax_edges
 ! err696_def_ax_edges
 ! See ticket 2400
@@ -87168,6 +88560,7 @@ def ax/edge/x xax = edges[i=1:4]; sh axis xax; list x[gx=xax]
  
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go err696_write_no_dim
 ! err696_write_no_dim.jnl
 ! ticket 2241: save a subset of a variable whose grid
@@ -87213,7 +88606,7 @@ variables:
 		TEMP:history = "From /home/data/socat/socatV3/11SS/11SS20140225.nc" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 10-Feb-17" ;
+		:history = "FERRET V7.11 (beta/debug) 11-May-17" ;
 		:Conventions = "CF-1.6" ;
 data:
 
@@ -87223,6 +88616,7 @@ data:
  
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go err696_mod_sub_fln
 ! err696_mod_sub_fln.jnl
 ! Ticket 2366, @FLN on a modulo subspan axis
@@ -87291,6 +88685,7 @@ list/x=-180:720 b, b[x=@fln]
  
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go err696_subspan_transforms
 ! err696_subspan_transforms.jnl
 ! See ticket 2364.  Results previously
@@ -88090,6 +89485,7 @@ can var a; can ax xaxis; use a.nc
  
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go err696_subspan_mod_in_expr
 ! err696_subspan_mod_in_expr.jnl
 ! ticket 1845: a subspan modulo due to context info buried
@@ -88121,6 +89517,7 @@ XAXIS_MAX = "145.345261"
  
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go err696_shade_subspan_clim
 ! err696_shade_subspan_clim
 ! See ticket 2404
@@ -88164,10 +89561,12 @@ XAXIS_MAX = "243.000000"
  
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 ! go err696_subspan_mod_strides  ! do this test in bn_gif
  
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go err696_def_att
 ! err696_def_att.jnl
 ! tickets 2415, 2416
@@ -88223,6 +89622,7 @@ sp ncdump a.nc | grep -i sst
  
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go err696_return_prec
 ! err696_return_prec.jnl
 ! ACM 5/16 See ticket 2389.
@@ -88285,7 +89685,7 @@ say `1.55555551e8,p=14`
  !-> MESSAGE/CONTINUE 155555551
 155555551
 say `1.555555001e8,p=14`
- !-> MESSAGE/CONTINUE   155555500.1
+ !-> MESSAGE/CONTINUE 155555500.1
 155555500.1
  
  
@@ -88293,6 +89693,7 @@ say `1.555555001e8,p=14`
  
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go err686_show_xml_letd
 ! ! bn_show_xml_letd
 ! Testing SHOW DATA/VAR/XML with a let/D variable
@@ -88326,8 +89727,10 @@ sp grep "var name" out.xml
 <var name="v2">
 <var name="u2">
  
-GO bn_reset
+GO bn_reset bn_aggregate_t
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_aggregate_t
 GO bn_aggregate_t
 ! bn_aggregate_t.jnl
 ! 9/12/2015 *sh* tweak to put all test files into "tmp" subdirectory
@@ -89371,9 +90774,9 @@ canc data/all
 ! show grid/T below was eliminated by the "clean_draconian" script)
 ! 1/17/2017 changes due to backing off auto-detection of truemonth axes, tkt 2497
  
-IF `test_opendap("http://ferret.pmel.noaa.gov/thredds/dodsC/data/ferret/test_coads_monthly_air_2012.nc") EQ 0` THEN
+IF `test_opendap("http://ferret.pmel.noaa.gov/pmel/thredds/dodsC/data/ferret/test_coads_monthly_air_2012.nc") EQ 0` THEN
  !-> IF 1 THEN
-   tseries COADS = http://ferret.pmel.noaa.gov/thredds/dodsC/data/ferret/test_coads_monthly_air_2012.nc, http://ferret.pmel.noaa.gov/thredds/dodsC/data/ferret/test_coads_monthly_air_2013.nc, http://ferret.pmel.noaa.gov/thredds/dodsC/data/ferret/test_coads_monthly_air_2014.nc
+   tseries COADS = http://ferret.pmel.noaa.gov/pmel/thredds/dodsC/data/ferret/test_coads_monthly_air_2012.nc, http://ferret.pmel.noaa.gov/pmel/thredds/dodsC/data/ferret/test_coads_monthly_air_2013.nc, http://ferret.pmel.noaa.gov/pmel/thredds/dodsC/data/ferret/test_coads_monthly_air_2014.nc
 show data COADS
      currently SET data sets:
     1> COADS  (default)
@@ -89457,8 +90860,10 @@ show data/br
     1> myagg3  (default)
 cancel data/all
  
-GO bn_reset
+GO bn_reset bn_unquoted_args
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_unquoted_args
 GO bn_unquoted_args
 ! bn_unquoted_args.jnl
 ! 12/2015 -- a hack change to PPARSE_COMMAND to allow users to omit
@@ -89535,24 +90940,24 @@ show data/brief
     3> tmp/test3.nc  (default)
 canc data/all
  
-IF `test_opendap("http://ferret.pmel.noaa.gov/thredds/dodsC/data/PMEL/COADS/coads_sst.cdf") EQ 0` THEN
+IF `test_opendap("http://ferret.pmel.noaa.gov/pmel/thredds/dodsC/data/PMEL/COADS/coads_sst.cdf") EQ 0` THEN
  !-> IF 1 THEN
-  use "http://ferret.pmel.noaa.gov/thredds/dodsC/data/PMEL/COADS/coads_sst.cdf"
+  use "http://ferret.pmel.noaa.gov/pmel/thredds/dodsC/data/PMEL/COADS/coads_sst.cdf"
   show data/brief
      currently SET data sets:
-    1> http://ferret.pmel.noaa.gov/thredds/dodsC/data/PMEL/COADS/coads_sst.cdf  (default)
+    1> http://ferret.pmel.noaa.gov/pmel/thredds/dodsC/data/PMEL/COADS/coads_sst.cdf  (default)
   canc data/all
-  use http://ferret.pmel.noaa.gov/thredds/dodsC/data/PMEL/COADS/coads_sst.cdf
+  use http://ferret.pmel.noaa.gov/pmel/thredds/dodsC/data/PMEL/COADS/coads_sst.cdf
   show data/brief
      currently SET data sets:
-    1> http://ferret.pmel.noaa.gov/thredds/dodsC/data/PMEL/COADS/coads_sst.cdf  (default)
+    1> http://ferret.pmel.noaa.gov/pmel/thredds/dodsC/data/PMEL/COADS/coads_sst.cdf  (default)
   canc data/all
-  use tmp/test1.nc, "tmp/test2.nc", http://ferret.pmel.noaa.gov/thredds/dodsC/data/PMEL/COADS/coads_sst.cdf
+  use tmp/test1.nc, "tmp/test2.nc", http://ferret.pmel.noaa.gov/pmel/thredds/dodsC/data/PMEL/COADS/coads_sst.cdf
   show data/brief
      currently SET data sets:
     1> tmp/test1.nc
     2> tmp/test2.nc
-    3> http://ferret.pmel.noaa.gov/thredds/dodsC/data/PMEL/COADS/coads_sst.cdf  (default)
+    3> http://ferret.pmel.noaa.gov/pmel/thredds/dodsC/data/PMEL/COADS/coads_sst.cdf  (default)
   canc data/all
 ELSE
 ENDIF
@@ -89665,8 +91070,10 @@ set mode/last ignore
  
  
  
-GO bn_reset
+GO bn_reset bn_long_lists
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_long_lists
 GO bn_long_lists
 ! bn_long_lists.jnl
 ! See ticket 2337
@@ -89810,8 +91217,10 @@ let file_list = {\
  
 set mode/last ignore
  
-GO bn_reset
+GO bn_reset bn_show_uvar_grid
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_show_uvar_grid
 GO bn_show_uvar_grid
 ! bn_show_uvar_grid.jnl
 ! Add notes to the output of SHOW GRID for variables and expressions
@@ -89826,7 +91235,7 @@ use coads_climatology
 show grid sst[x=240:320,y=0,t=@ave]
     GRID GSQ1
  name       axis              # pts   start                end                 subset
- COADSX    LONGITUDE          180mr   21E                  19E(379)            39 pts
+ COADSX    LONGITUDE          180mr   21E                  19E(379)            40 pts
  COADSY    LATITUDE            90 r   89S                  89N                 1 pt
  normal    Z
  TIME10    TIME                 3mr   16-JAN 06:00         17-MAR 02:58        compressed
@@ -89835,10 +91244,10 @@ show grid sst[x=240:320,y=0,t=@ave]
 show grid sst[x=0:540,L=1:15]
     GRID GSQ1
  name       axis              # pts   start                end                 subset
- COADSX    LONGITUDE          180mr   21E                  19E(379)            269 pts
+ COADSX    LONGITUDE          180mr   21E                  19E(379)            270 pts
  COADSY    LATITUDE            90 r   89S                  89N                 full
  normal    Z
- TIME10    TIME                 3mr   16-JAN 06:00         17-MAR 02:58        14 pts
+ TIME10    TIME                 3mr   16-JAN 06:00         17-MAR 02:58        15 pts
  
 ! Constant: full abstract grid
 show grid 1
@@ -89863,7 +91272,7 @@ let var = {1,2,4,8}  ! Note that show grid {1,2,4,8} fails: bug
 show grid var
     GRID XABSTRACT
  name       axis              # pts   start                end                 subset
- ABSTRACT  X             99999999 r   1                    1.E+08              3 pts
+ ABSTRACT  X             99999999 r   1                    1.E+08              4 pts
  normal    Y
  normal    Z
  normal    T
@@ -89927,7 +91336,7 @@ show grid var
     GRID (G086)
  name       axis              # pts   start                end                 subset
  COADSX    LONGITUDE          180mr   21E                  19E(379)            1 pt
- (AX111)   LATITUDE           201 r   10S                  10N                 200 pts
+ (AX111)   LATITUDE           201 r   10S                  10N                 201 pts
  normal    Z
  TIME10    TIME                 3mr   16-JAN 06:00         17-MAR 02:58        1 pt
  
@@ -89935,8 +91344,8 @@ show grid var
 show grid sst[i=1:180:3,j=1:90:2]
     GRID (G085)
  name       axis              # pts   start                end                 subset
- (AX113)   LONGITUDE           60 r   21E                  15E(375)            59 pts
- (AX133)   LATITUDE            45 r   89S                  87N                 44 pts
+ (AX113)   LONGITUDE           60 r   21E                  15E(375)            60 pts
+ (AX133)   LATITUDE            45 r   89S                  87N                 45 pts
  normal    Z
  TIME10    TIME                 3mr   16-JAN 06:00         17-MAR 02:58        full
  
@@ -89951,7 +91360,7 @@ sh grid vwnd_days
  COADSX    LONGITUDE          180mr   21E                  19E(379)            full
  COADSY    LATITUDE            90 r   89S                  89N                 full
  normal    Z
- DAX       TIME              1096 r   01-JAN-1980 00:00    31-DEC-1982 00:00   44 pts
+ DAX       TIME              1096 r   01-JAN-1980 00:00    31-DEC-1982 00:00   45 pts
  
 let vwnd_clim = vwnd[gt=month_irreg at mod]
 sh grid vwnd_clim[L=4:9]
@@ -89960,7 +91369,7 @@ sh grid vwnd_clim[L=4:9]
  COADSX    LONGITUDE          180mr   21E                  19E(379)            full
  COADSY    LATITUDE            90 r   89S                  89N                 full
  normal    Z
- MONTH_IRREG TIME              12mi   16-JAN 12:00         15-DEC 17:49        5 pts
+ MONTH_IRREG TIME              12mi   16-JAN 12:00         15-DEC 17:49        6 pts
  
 can dat/all
 use coads_climatology
@@ -89981,7 +91390,7 @@ show grid var
     GRID GSQ1
  name       axis              # pts   start                end                 subset
  COADSX    LONGITUDE          180mr   21E                  19E(379)            full
- COADSY    LATITUDE            90 r   89S                  89N                 29 pts
+ COADSY    LATITUDE            90 r   89S                  89N                 30 pts
  normal    Z
  TIME10    TIME                 3mr   16-JAN 06:00         17-MAR 02:58        full
  
@@ -90001,7 +91410,7 @@ show grid var
  name       axis              # pts   start                end                 subset
  XAXLEVITR101_102 LONGITUDE     2mr   120.5E               121.5E              full
  YAXLEVITR41_42 LATITUDE        2 r   49.5S                48.5S               full
- ZAXLEVITR DEPTH (m)           20 i-  0                    5000                6 pts
+ ZAXLEVITR DEPTH (m)           20 i-  0                    5000                7 pts
  normal    T
  
  
@@ -90043,7 +91452,7 @@ show grid ffta(sample_function + temp[d=levitus_3d_subset,z=0:40])
  name       axis              # pts   start                end                 subset
  XAXLEVITR101_102 LONGITUDE     2mr   120.5E               121.5E              full
  YAXLEVITR41_42 LATITUDE        2 r   49.5S                48.5S               full
- ZAXLEVITR DEPTH (m)           20 i-  0                    5000                3 pts
+ ZAXLEVITR DEPTH (m)           20 i-  0                    5000                4 pts
  (AX125)   T (CYC/HOURS)      182 r   0.00011447           0.020833            (axis from grid-changing func)
  
 can dat/all
@@ -90068,7 +91477,7 @@ sh grid tempz[z=100:400]
  name       axis              # pts   start                end                 subset
  XAXLEVITR101_102 LONGITUDE     2mr   120.5E               121.5E              full
  YAXLEVITR41_42 LATITUDE        2 r   49.5S                48.5S               full
- (AX111)   Z                    5 r   100                  500                 3 pts
+ (AX111)   Z                    5 r   100                  500                 4 pts
  normal    T
  
 ! and with a grid-changing function thrown in
@@ -90101,8 +91510,10 @@ show grid rvtempzax[z=100:300]
  ZAX       Z (METERS)           5 r   100                  500                 (axis from grid-changing func)
  normal    T
  
-GO bn_reset
+GO bn_reset bn_aggregate_f
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_aggregate_f
 GO bn_aggregate_f
 ! bn_aggregate_f.F
 ! 12/2015 *sh*
@@ -91443,8 +92854,10 @@ SH DATA/BR/HIDDEN
  
 set mode/last ignore
  
-GO bn_reset
+GO bn_reset bn_aggregate_tef
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_aggregate_tef
 GO bn_aggregate_tef
 ! bn_aggregate_tef.F
 ! 2/2016 *sh*
@@ -92016,7 +93429,7 @@ SHOW DATA/ATT t_f04_e3_1v ! note atts im_everwhere vs im_not_everwhere
  Variable    VarType(in dset)    AttributeName   AttType     Size OutFlag AttValue
 ------------------------------------------------------------------------------------------
   
- .                               history         CHAR        34   T       FERRET V7.1 (beta/debug) 10-Feb-17
+ .                               history         CHAR        35   T       FERRET V7.11 (beta/debug) 11-May-17
                                  Conventions     CHAR        6    F       CF-1.6
   
 (XAX)                  DOUBLE    point_spacing   CHAR        4    T       even
@@ -92438,18 +93851,18 @@ set mode/last ignore
  
 CANCEL DATA/ALL
  
-GO bn_reset
-cancel mode verify
+!GO bn_reset
 ! Add this to the gif benchmark tests
 ! GO bn_hovmuller_overlays
  
-GO bn_reset
-cancel mode verify
+!GO bn_reset
 ! Add this to the gif benchmark tests
 ! GO bn_labels_on_taxis
  
-GO bn_reset
+GO bn_reset bn_dataset_qualifier
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_dataset_qualifier
 GO bn_dataset_qualifier
 ! bn_dataset_qualifier
 ! see ticket 2632
@@ -92514,7 +93927,7 @@ save/clobber/file=a.nc/outtype=float elev[d=1]
 use a.nc
 sh att .
      attributes for dataset: ./a.nc
- ..history = FERRET V7.1 (beta/debug) 10-Feb-17 
+ ..history = FERRET V7.11 (beta/debug) 11-May-17 
  ..Conventions = CF-1.6 
  ..dt_internal = 15
 sh att elev
@@ -92535,7 +93948,7 @@ save/clobber/file=a.nc/outtype=float elev[d=1]
 use a.nc
 sh att .
      attributes for dataset: ./a.nc
- ..history = FERRET V7.1 (beta/debug) 10-Feb-17 
+ ..history = FERRET V7.11 (beta/debug) 11-May-17 
  ..Conventions = CF-1.6 
 sh att elev
      attributes for dataset: ./a.nc
@@ -92559,7 +93972,7 @@ show grid
     GRID (G200)
  name       axis              # pts   start                end                 subset
  COADSX    LONGITUDE          180mr   21E                  19E(379)            1 pt
- (AX110)   LATITUDE           201 r   10S                  10N                 200 pts
+ (AX110)   LATITUDE           201 r   10S                  10N                 201 pts
  normal    Z
  TIME10    TIME                 3mr   16-JAN 06:00         17-MAR 02:58        1 pt
  
@@ -92580,7 +93993,6 @@ list/DAT=3 a
 list/DAT=3 temp.history
              VARIABLE : TEMP.HISTORY
              FILENAME : levitus_climatology.cdf
-             X        : 1
         "From levitus_climatology"
  
 ! PLOT, SHADE, FILL, CONTOUR, VECTOR, STAT
@@ -92654,18 +94066,22 @@ plot/dash/x=180/z=0/DATASET=1 temp
 ! VECTOR/FLOW/DATA=/DENSITY
 flow/DAT=2/den=3/L=3 taux,tauy
  
-GO bn_reset
+GO bn_reset bn_speedtest
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_speedtest
 GO bn_speedtest
 ! bn_speedtest.jnl
 ! issue large numbers of commands, timing with clock time
 can mode verify
-10K LET commands LET a = 0 takes  1.82  seconds
-Second 10K LET commands LET a = 0 takes  4.042  seconds
-5K LOAD with transform takes  6.544  seconds
+10K LET commands LET a = 0 takes  1.884999999999991  seconds
+Second 10K LET commands LET a = 0 takes  4.168  seconds
+5K LOAD with transform takes  6.682  seconds
  
-GO bn_reset
+GO bn_reset bn_show_noupcase
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_show_noupcase
 GO bn_show_noupcase
 ! bn_show_noupcase.jnl
 ! 1/2016 ticket 1796
@@ -92689,7 +94105,7 @@ show var
 show grid MyUpperLowerCaseVar
     GRID (G204)
  name       axis              # pts   start                end                 subset
- ABSTRACT  X             99999999 r   1                    1.E+08              9 pts
+ ABSTRACT  X             99999999 r   1                    1.E+08              10 pts
  normal    Y
  normal    Z
  tday      TIME                31 r   01-JAN-1999 00:00    31-JAN-1999 00:00   full
@@ -92758,6 +94174,7 @@ show data
  
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
  
  
 ! xml output
@@ -93716,8 +95133,10 @@ SHO VAR/XML
 set mode/last upcase
  
  
-GO bn_reset
+GO bn_reset bn_letd_attributes
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_letd_attributes
 GO bn_letd_attributes
 ! bn_letd_attributes.jnl
 ! Allow for the same variable name defined with LET/D in multiple datasets.
@@ -93963,8 +95382,10 @@ save/clobber/file=a.nc myvar[d=2]
 sp ncdump -h a.nc >> all_ncdump.out
  
  
-GO bn_reset
+GO bn_reset bn_list_clim_axes
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_list_clim_axes
 GO bn_list_clim_axes
 ! bn_list_clim_axes.jnl
 ! *acm* 3/16
@@ -94105,8 +95526,10 @@ CALENDAR = ALL_LEAP
       11>  16-NOV 00:00:00       30         01-NOV 00:00:00         320
       12>  16-DEC 12:00:00       31         01-DEC 00:00:00         350.5
  
-GO bn_reset
+GO bn_reset bn_climatology_attr
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_climatology_attr
 GO bn_climatology_attr
 ! bn_climatology_attr.jnl
 ! *acm* 3/16  See ticket 2278
@@ -94191,8 +95614,10 @@ show att `vname[i=1]`
  E494.long_name = 3*CLIM1 
  
  
-GO bn_reset
+GO bn_reset bn_plot_along
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_plot_along
 GO bn_plot_along
 ! BN_PLOT_ALONG
  
@@ -94266,8 +95691,10 @@ LET sin_block = SIN(T[l=1:100]/10)*block
 LET ens_sin_block = sin_block*( (20+_E[m=1:20])/20 )
 PLOT/ALONG=t ens_sin_block[i=1,j=2,k=3]
  
-GO bn_reset
+GO bn_reset bn_show_commands
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_show_commands
 GO bn_show_commands
 ! bn_show_commands.jnl
 ! Testing results for ticket 2078: SHOW COMMAND cmnd subcmnd
@@ -94351,7 +95778,7 @@ sho command sho
  SHOW MOVIE/ALL
  SHOW VARIABLE/ALL/DATASET/USER/XML/OUTFILE/APPEND/CLOBBER/TREE/LAYERZ/CURVILIN
  SHOW COMMANDS/ALL/BRIEF
- SHOW MEMORY/ALL/TEMPORY/PERMANT/FREE
+ SHOW MEMORY/ALL/DIAGNOST/TEMPORY/PERMANT/FREE
  SHOW GRID/ALL/I/J/K/L/M/N/X/Y/Z/T/E/F/DYNAMIC/XML/OUTFILE/APPEND/CLOBBER
  SHOW VIEWPORT/ALL
  SHOW TRANFORM/ALL
@@ -94384,7 +95811,7 @@ sho command sho v  ! SHOW VARIABLE
 sho command sho c  ! SHOW COMMANDS
  SHOW COMMANDS/ALL/BRIEF
 sho command sho me ! SHOW MEMORY
- SHOW MEMORY/ALL/TEMPORY/PERMANT/FREE
+ SHOW MEMORY/ALL/DIAGNOST/TEMPORY/PERMANT/FREE
 sho command sho g  ! SHOW GRID
  SHOW GRID/ALL/I/J/K/L/M/N/X/Y/Z/T/E/F/DYNAMIC/XML/OUTFILE/APPEND/CLOBBER
 sho command sho vi ! SHOW VIEWPORT
@@ -94659,14 +96086,16 @@ sho command/brief sp
 sho command/brief st
  STAT
 sho command/brief u
- USER
+ Not a recognized command: u
+ 
+ Use SHOW ALIAS to see alternative command names
 sho command/brief v
  VECTOR
  
  
 ! All the commands, no subcommands, no qualifiers
 SHOW COMMAND/BRIEF
- Commands in Program FERRET (beta/debug) version7.1:
+ Commands in Program FERRET (beta/debug) version7.11:
  SET
  SHOW
  CANCEL
@@ -94686,7 +96115,6 @@ SHOW COMMAND/BRIEF
  STAT
  SHADE
  SPAWN
- USER
  WIRE
  QUERY
  IF
@@ -94728,8 +96156,10 @@ SHOW COMMAND/BRIEF sho da
  SHOW DATA
  
  
-GO bn_reset
+GO bn_reset bn_plot_decimate
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_plot_decimate
 GO bn_plot_decimate
 ! BN_PLOT_SKIP
  
@@ -94818,14 +96248,17 @@ LET ens_sin_block = sin_block*( (20+_E[m=1:20])/20 )
 PLOT/SKIP=($deci)/ALONG=t ens_sin_block[i=1,j=2,k=3]
  !-> PLOT/SKIP=5/ALONG=t ens_sin_block[i=1,j=2,k=3]
  
-GO bn_reset
+GO bn_reset bn_auto_tprec
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_auto_tprec
 GO bn_auto_tprec
 ! bn_auto_tprec.jnl
 ! See ticket 2405
 ! Time labels on plots always just get the precision from MODE CALENDAR
 ! Instead, use the same logic as is used for text labels, automatically adjust.
 ! (later make this the default setting??)
+! acm* 3/17 check the URL with TEST_OPENDAP befor trying to open it.
  
 set mode calendar:auto
 show mode calendar
@@ -94924,12 +96357,16 @@ shade/title="hours "/l=3/k=1/x=60:70/y=-40:-30 ttim; sh sym  lab($labnum_t)
 LAB2 = "TIME : 01-JAN-2001 12:00"
  
 ! Reynolds SST weekly, even 7-day spacing
-use http://ferret.pmel.noaa.gov/thredds/dodsC/data/PMEL/reynolds_sst_wk.nc
+ 
+IF `test_opendap("http://ferret.pmel.noaa.gov/pmel/thredds/dodsC/data/PMEL/reynolds_sst_wk.nc") NE 0` THEN EXIT/SCRIPT
+ !-> IF 0 THEN EXIT/SCRIPT
+ 
+use http://ferret.pmel.noaa.gov/pmel/thredds/dodsC/data/PMEL/reynolds_sst_wk.nc
 list/x=180/y=0/l=20:25 fsst
              VARIABLE : Filtered Weekly SST Means (deg C)
              DATA SET : Reynolds Optimum Interpolation Weekly SST Analysis
              FILENAME : reynolds_sst_wk.nc
-             FILEPATH : http://ferret.pmel.noaa.gov/thredds/dodsC/data/PMEL/
+             FILEPATH : http://ferret.pmel.noaa.gov/pmel/thredds/dodsC/data/PMEL/
              SUBSET   : 6 points (TIME)
              LONGITUDE: 180E (interpolated)
              LATITUDE : 0 (interpolated)
@@ -94999,8 +96436,10 @@ LAB2 = "TIME : 16-AUG-1952 12:00"
 !GO bn_reset
 !GO bn_warn_subspan
  
-GO bn_reset
+GO bn_reset bn_coordvars_atts
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_coordvars_atts
 GO bn_coordvars_atts
 ! bn_coordvars_atts.jnl
 ! 5/2016 *acm*  see ticket 2413
@@ -95065,8 +96504,10 @@ list/nohead ..coordnames
  
 ! *********** v7.1 Additions ***********
  
-GO bn_reset
+GO bn_reset bn710_bug_fixes
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn710_bug_fixes
 GO bn710_bug_fixes
 ! bn710_bug_fixes.jnl
 ! test various fixes that went into version 7.1
@@ -95076,6 +96517,7 @@ GO bn710_bug_fixes
 ! Bug 2445 missing or repeated coords when axis marked as regular
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go err700_reg_axis_check
 ! err700_reg_axis_check.jnl
 ! Ticket 2445: regular axis, test for valid line_delta
@@ -95136,6 +96578,7 @@ list yax
 ! Bug 2446 include script name on warning about unclosed IF block
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go err700_unclosed_if
 ! err71_unclosed_if.jnl
 ! Ticket 2446
@@ -95155,6 +96598,7 @@ let b = 1
 ! Bug 2446 inheriting attributes
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go err700_inherit_all
 ! err700_inherit_all.jnl
 ! Ticket 2447: If all attributes are inherited, missing-value flags
@@ -95206,6 +96650,7 @@ list b
 ! Bug 2458  Subspan modulo grids and SAMPLEXY
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go err700_samplexy_subspan_modulo
 ! err700_samplexy_subspan_modulo.jnl
 ! 7/29/2016 ACM
@@ -95405,6 +96850,7 @@ list samplexyt(sst, -80, 22, `t[gt=sst,l=1]`)
 ! Bug 2463  SHADE/LEVELS and single-color data
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go err700_levels_one_level
 ! err700_levels_one_level.jnl
 ! Ticket 2436. If the data has just one value, then shade it with
@@ -95428,6 +96874,7 @@ can view
 ! Bug xxxx  Only examine key labels that are actually going to be printed
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go err700_key
 use coads_climatology
 set window/aspect=0.7 1
@@ -95439,6 +96886,7 @@ frame /file=err700_key.gif
 ! Bug 2468 Symbol AX_HORIZ corrupted by an overlay
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go err700_ax_horiz
 ! err700_ax_horiz.jnl
 ! 8/30/2016 *acm* Ticket 2468
@@ -95474,6 +96922,7 @@ AX_HORIZ = "X"
 ! Bug 2470 Symbol LEV_DEL incorrect on a LEV=(lo,hi,delta)
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go err700_lev_del_symb
 ! err700_lev_del_symb.jnl
 ! 9/9/2016
@@ -95547,6 +96996,7 @@ LEV_MAX = "24.4"
 ! Bug 2466 Graticule lines too dense on time plots
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go err700_timegrat
 !err700_timegrat.jnl
 ! 22-sep-2016 *acm*
@@ -95580,6 +97030,7 @@ set view right; plot/trans/grat=(color=light_blue)/z=20/t=16-SEP-2016:19-sep-201
 ! Bug 2465 parsing errors on commands with expressions involving attrbutes
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go err700_attribute_parsing
 ! err700_attribute_parsing.jnl
 ! See ticket 2465. Parsing errors for commands with attribute references
@@ -95619,23 +97070,14 @@ list/nohead strindex(..title, "file")
  
  
 ! Bug 2477 plot axes are not fully drawn, some /VS plots
-go bn_reset
-cancel mode verify
-go err700_vs_plot_axes
-! err700_vs_plot_axes.jnl
-! See ticket 2477, in some cases the plot axes are not fully drawn
-! 11/2016 ACM
- 
- 
-USE err700_vs_data.nc
- 
-! only with PLOT/VS plots, only with SYMBOLS not PLOT/VS/LINE
-PLOT/VS/THICK/COLOR=red/SIZ=0.2 lon,lat
-FRAME/FILE=bn_axis_vs.gif
+! move this to bn_gif.jnl
+! go bn_reset
+! go err700_vs_plot_axes
  
 ! Bug 2483. Fixing axis-ends symbols XAXIS_MIN,XAXIS_MAX, YAXIS_MIN,YAXIS_MAX
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go err700_axis_dates
 ! err700_axis_dates.jnl
 ! See ticket 2483. 11/10/2016 ACM
@@ -95719,6 +97161,7 @@ I / *:    "23-OCT-2015 01:00" "23-OCT-2015 13:00"
 ! Bug 2489. Attribute climatology_time_range not defined on an expression
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go err700_clim_attr_expression
 ! err700_clim_attr_expression.jnl
 ! Ticket 2489
@@ -95752,6 +97195,7 @@ show att `vname[i=1]`
 ! on /HLOG or /VLOG plots
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go err700_ribbon_vlog
 ! err700_ribbon_vlog.jnl
 ! 1/3/2017 *acm*
@@ -95776,6 +97220,7 @@ frame/file=bn_ribbon_vlog.gif
 ! Bug 2492: single-variable listings with /form=comma or /form=tab
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go err700_list_comma
 ! err700_list_comma.jnl
 ! 1/4/2017 Fixes for ticket 2492: for single-variable listings, /FORM=comma and /FORM=tab
@@ -95894,6 +97339,7 @@ list/norow/nohead/L=1:3/K=1/i=95/j=40/form=tab taux
 ! Bug 2493: T aggregation when there are E or F axes
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go err700_aggT_5d
 ! err700_aggT_5d.jnl
 ! 1/6/2017 ACM  Ticket 2493
@@ -95977,6 +97423,7 @@ list/i=3/j=2 thetao
 ! Bug 2495: shift on overlay of time series plot on 2d time plot
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go err700_time_overlay
 ! err700_time_overlay.jnl
 ! bug 2495
@@ -96003,6 +97450,7 @@ plot/trans/over/color=blue cos(tt/3000) + 0.5
 ! Bug 2494:  drawing a single-cell shade plot
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go err700_shade_singlecell
 ! err700_shade_singlecell.jnl
 ! Ticket 2494, drawing a single-cell shade plot
@@ -96044,6 +97492,7 @@ shade/pal=rnb2 iijj[x=74.5w,y=39.9:40.8]
 !           where coordinates are very near grid-cell edges.
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go err700_coords
 ! err700_coords.jnl
 ! 1/17/2017
@@ -96087,18 +97536,18 @@ set mode diag
 save/clob/file=a.nc c
  dealloc  dynamic grid GAY2            XAX1_21   NORMAL    NORMAL    NORMAL
  dealloc  dynamic grid GG              XAX1_20   NORMAL    NORMAL    NORMAL
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid C        C:  7 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid C        C:  7 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G208)          C2D_AX_X  NORMAL    NORMAL    NORMAL
  dealloc  dynamic grid (G208)          C2D_AX_X  NORMAL    NORMAL    NORMAL
  allocate dynamic grid (G208)          C2D_AX_X  NORMAL    NORMAL    NORMAL
  allocate dynamic grid (G208)          C2D_AX_X  NORMAL    NORMAL    NORMAL
- eval    EX#1     C:  4 dset:   1 I:   11   31  J: -999 -999  K: -999 -999  L: -999 -999
- eval    C        C:  6 dset:   0 I:   11   31  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  4 dset:   1 I:     11     31  J: -999 -999  K: -999 -999  L:   -999   -999
+ eval    C        C:  6 dset:   0 I:     11     31  J: -999 -999  K: -999 -999  L:   -999   -999
  allocate dynamic grid (G208)          C2D_AX_X  NORMAL    NORMAL    NORMAL
- pseudo  X        M: 97 dset:   0 I:   11   31  J: -999 -999  K: -999 -999  L: -999 -999
+ pseudo  X        M:244 dset:   0 I:     11     31  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid (G208)          C2D_AX_X  NORMAL    NORMAL    NORMAL
- -DELETE C        M: 95 dset:   0 I:   11   30  J: -999 -999  K: -999 -999  L: -999 -999
+ -DELETE C        M:241 dset:   0 I:     11     30  J: -999 -999  K: -999 -999  L:   -999   -999
  
 set mode /last diag
  
@@ -96106,6 +97555,7 @@ set mode /last diag
 ! Bug 2499: Define a single-point axis with bounds
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go err700_define_1pt_axis
 ! err700_define_1pt_axis.jnl
 ! Ticket 2499: regular axis, test for valid line_delta
@@ -96141,6 +97591,7 @@ sh axis/t tax
 ! Bug 2498: time unit error in F-aggregation of some OPENDAP datasets
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go err700_aggregate_from_fmrc
 ! err700_aggregate_from_fmrc.jnl
 ! 1/2017 *acm*
@@ -96174,6 +97625,7 @@ SHOW GRID zeta
 ! Bug 2504: modulo axes and coordinates
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go err700_modulo
 ! err700_modulo.jnl
 ! See ticket 2504. Axis defintions where bounds are not given, and Ferret
@@ -96309,6 +97761,7 @@ T0 = 1-JAN-0000
 ! Bug 1480: saving modulo axis with too big a region
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go err700_save_mod_att
 ! err700_save_mod_att.jnl
 ! ticket 1480: do not write a modulo axis when saving a modulo
@@ -96342,11 +97795,12 @@ variables:
 		VAR:long_name = "X[GX=XLON]" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 10-Feb-17" ;
+		:history = "FERRET V7.11 (beta/debug) 11-May-17" ;
 		:Conventions = "CF-1.6" ;
 }
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
  
 ! Now set a region and write data. The axis length would be 362.5
 use a1
@@ -96400,12 +97854,13 @@ variables:
 		VAR:history = "From a1" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 10-Feb-17" ;
+		:history = "FERRET V7.11 (beta/debug) 11-May-17" ;
 		:Conventions = "CF-1.6" ;
 }
  
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 use a
 sh axis `var,return=xaxis`
  !-> sh axis XLONN7_136
@@ -96415,6 +97870,7 @@ sh axis `var,return=xaxis`
  
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
  
 ! Now set a bigger region and write data. The axis length is 372.5
 use a1
@@ -96445,12 +97901,13 @@ variables:
 		VAR:history = "From a1" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 10-Feb-17" ;
+		:history = "FERRET V7.11 (beta/debug) 11-May-17" ;
 		:Conventions = "CF-1.6" ;
 }
  
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 use a
 sh axis `var,return=xaxis`
  !-> sh axis XLONN7_141
@@ -96474,6 +97931,7 @@ save/clobber/file=a.nc/y=0/l=1 sst
  
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 use a
 sh att (`sst,return=xaxis`)
  !-> sh att (COADSXN9_170)
@@ -96497,6 +97955,7 @@ show axis `sst,return=xaxis`
 ! Bug 2502: FMRC regridding sensitive to insignificant floating-point differences in time
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go err700_fmrcdiag
 ! err700_fmrcdiag.jnl
 ! these particular datasets (quarterly forecasts of two years of monthly data)
@@ -96608,6 +98067,7 @@ FRAME /FILE=forecast_leadview.gif
 ! Bug 2331: Labeling the labels in line-plot legends.
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 Go err700_legend_labels
 ! err700_legend_labels.jnl
 ! See ticket 2231:
@@ -96718,8 +98178,58 @@ PLOT/OVER/KEY=TITLE my_var2[Y=@loc:-1]
 PLOT/OVER/KEY=TITLE 10+cos(T[gt=tdays]/200)
  
  
-GO bn_reset
+! Bug 2507: time aggregations with same time axis in different grids per file
+go bn_reset
+cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Go err700_aggt_dup_grids
+! err700_aggt_dup_grids
+! 2/15/2017 ACM
+! Bug 2507: new time axis is identical in two tseries aggregation.
+!  It exists in more than one grid. Previously the new time axis
+!  was swapped into only one of the grids for the second aggregation.
+ 
+! Define some datsets, with two variables with different grids each
+! using a common time axis.
+ 
+use  tmp/tagg_irreg_1.nc
+define axis/x=1:1:1 xax1
+let newvar = x[gx=xax1] + myvar
+save/clobber/file=a1.nc myvar, newvar
+can dat/all
+use  tmp/tagg_irreg_2.nc
+save/clobber/file=a2.nc myvar, newvar
+ 
+can dat/all; can var/all
+ 
+! Define two aggregations; the second should share the time axis
+! that was set up in the first.
+sp ln -sf a1.nc b1.nc
+sp ln -sf a2.nc b2.nc
+ 
+tseries a2var = a1.nc, a2.nc
+tseries b2var = b1.nc, b2.nc
+ 
+! previously the time axis of the second variable in b2var was
+! listed as length 10
+sh dat
+     currently SET data sets:
+    1> a2var
+ name     title                             I         J         K         L
+ MYVAR    SIN(T[GT=TDAY_IR]/10) + L[GT=TD  ...       ...       ...       1:20
+ NEWVAR   X[GX=XAX1] + MYVAR               1:1       ...       ...       1:20
+ 
+    2> b2var  (default)
+ name     title                             I         J         K         L
+ MYVAR    SIN(T[GT=TDAY_IR]/10) + L[GT=TD  ...       ...       ...       1:20
+ NEWVAR   X[GX=XAX1] + MYVAR               1:1       ...       ...       1:20
+ 
+ 
+ 
+GO bn_reset bn_delim_datetime
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_delim_datetime
 GO bn_delim_datetime
 ! bn_delim_datetime.jnl
 ! ACM 7/2016
@@ -96919,8 +98429,10 @@ set mode/last ignore
  
  
  
-GO bn_reset
+GO bn_reset bn_aggregate_u
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_aggregate_u
 GO bn_aggregate_u
 ! bn_aggregate_u.jnl
 ! Union aggregations including tests of UNION in combination
@@ -97393,17 +98905,17 @@ SHOW DATA/brief/files
 16-JUL-1952 12:00 -> 16-JUN-1953 00:00    tmp/f03_e2_tu3.nc
  
    13> t_f_u01_e1     Union aggregation
-          time-dependent data files:
-31-DEC-1899 23:59 -> 31-DEC-1899 23:59    t_f_u01_e1
- 
+          Member datasets:
+      13.1: t_f01_e1
+      13.2: t_f01_e1_3
    14> t_f_u01_e2     Union aggregation
-          time-dependent data files:
-31-DEC-1899 23:59 -> 31-DEC-1899 23:59    t_f_u01_e2
- 
+          Member datasets:
+      14.1: t_f01_e2
+      14.2: t_f01_e2_3
    16> t_f_u02_e2     Union aggregation
-          time-dependent data files:
-31-DEC-1899 23:59 -> 31-DEC-1899 23:59    t_f_u02_e2
- 
+          Member datasets:
+      16.1: t_f02_e2
+      16.2: t_f02_e2_3
    22> tuef  (default)  Forecast aggregation
           Member datasets:
       22.1: tue_f01
@@ -97502,8 +99014,10 @@ CANCEL DATA/ALL
  
  
  
-GO bn_reset
+GO bn_reset bn_ez_noupcase
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_ez_noupcase
 GO bn_ez_noupcase
 ! bn_ez_noupcase.jnl
 ! 7/2016 *acm* see ticket 2454
@@ -97552,7 +99066,7 @@ variables:
 		abc:history = "From abc.dat" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 10-Feb-17" ;
+		:history = "FERRET V7.11 (beta/debug) 11-May-17" ;
 		:Conventions = "CF-1.6" ;
 }
  
@@ -97639,14 +99153,16 @@ variables:
 		latitude:history = "From bn_delimited_read_1.dat" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 10-Feb-17" ;
+		:history = "FERRET V7.11 (beta/debug) 11-May-17" ;
 		:Conventions = "CF-1.6" ;
 }
  
 set mode/last upcase
  
-GO bn_reset
+GO bn_reset bn_spawn_fail
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_spawn_fail
 GO bn_spawn_fail
 ! bn_spawn_fail.jnl
 !  See ticket 2453
@@ -97660,8 +99176,10 @@ sp rm nothing.dat
 sp grep modulus non_COARDS.cdl
 sp cp nofile.dat not_either.dat
  
-GO bn_reset
+GO bn_reset bn_ave_of_ave
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_ave_of_ave
 GO bn_ave_of_ave
 ! bn_ave_of_ave.jnl
 ! see ticket 2469
@@ -97732,8 +99250,10 @@ list a[t=@MAX] - a_xtrns[t=@MAX]
           0.0000000
  
  
-GO bn_reset
+GO bn_reset bn_agg_member_syntax
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_agg_member_syntax
 GO bn_agg_member_syntax
 ! bn_agg_member_syntax
  
@@ -97880,6 +99400,37 @@ set mode/last ignore
 cancel data/all
 cancel var/all
  
+! Union datasets and SHOW DATA/MEMBERS
+union tmp/uagg_1.nc,tmp/uagg_2.nc,tmp/uagg_3.nc,tmp/uagg_4.nc
+show data/members
+     currently SET data sets:
+    5> ./bn_agg_member_syntax.jnl  (default)  Union aggregation
+ name     title                             I         J         K         L
+ SST      sst                              1:5       1:4       ...       1:10
+ TEMP     temp                             1:5       1:4       ...       1:10
+ U        U                                1:5       1:4       ...       1:10
+ V        V                                1:5       1:4       ...       1:10
+ 
+          Member datasets:
+      5.1: tmp/uagg_1.nc
+      5.2: tmp/uagg_2.nc
+      5.3: tmp/uagg_3.nc
+      5.4: tmp/uagg_4.nc
+show data 5.2
+     currently SET data sets:
+    2> tmp/uagg_2.nc
+ name     title                             I         J         K         L
+ TEMP     temp                             1:5       1:4       ...       1:10
+ 
+show data 5.3
+     currently SET data sets:
+    3> tmp/uagg_3.nc
+ name     title                             I         J         K         L
+ U        U                                1:5       1:4       ...       1:10
+ 
+ 
+cancel data/all
+ 
 ! Tests for Ensembles
 let files = SPAWN("ls -1 ens*.nc")
 ensemble my_ens = files
@@ -97967,6 +99518,7 @@ stat sst[d=5] - sst[d=5.3]   ! ensemble minus member #3
  Mean    value: 13.481 (unweighted average)
  Standard deviation: 30.317
  
+ 
 ! deliberate errors
 set mode ignore
  
@@ -97976,8 +99528,10 @@ stat/br sst[d=5.30]    ! not this many members
 set mode/last ignore
  
  
-GO bn_reset
+GO bn_reset bn_true_monthly
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_true_monthly
 GO bn_true_monthly
 ! bn_true_monthly.jnl
 ! examples defining axes with /DEFINE AXIS/MONTHLY
@@ -98308,7 +99862,7 @@ sh dat/att
  Variable    VarType(in dset)    AttributeName   AttType     Size OutFlag AttValue
 ------------------------------------------------------------------------------------------
   
- .                               history         CHAR        34   T       FERRET V7.1 (beta/debug) 10-Feb-17
+ .                               history         CHAR        35   T       FERRET V7.11 (beta/debug) 11-May-17
                                  Conventions     CHAR        6    F       CF-1.6
   
 (TAXIS1)               DOUBLE    axis            CHAR        1    T       T
@@ -98377,7 +99931,7 @@ sh dat/att
  Variable    VarType(in dset)    AttributeName   AttType     Size OutFlag AttValue
 ------------------------------------------------------------------------------------------
   
- .                               history         CHAR        34   T       FERRET V7.1 (beta/debug) 10-Feb-17
+ .                               history         CHAR        35   T       FERRET V7.11 (beta/debug) 11-May-17
                                  Conventions     CHAR        6    F       CF-1.6
   
 (TAXIS1)               DOUBLE    axis            CHAR        1    T       T
@@ -98448,7 +100002,7 @@ sh dat/att
  Variable    VarType(in dset)    AttributeName   AttType     Size OutFlag AttValue
 ------------------------------------------------------------------------------------------
   
- .                               history         CHAR        34   T       FERRET V7.1 (beta/debug) 10-Feb-17
+ .                               history         CHAR        35   T       FERRET V7.11 (beta/debug) 11-May-17
                                  Conventions     CHAR        6    F       CF-1.6
   
 (TAXIS1)               DOUBLE    axis            CHAR        1    T       T
@@ -98625,7 +100179,7 @@ let var = {1,2,3,4,5,6,7,8,9,10,11,12}
 let tvar = reshape(var,t[gt=taxis])
 list/L=1:23 tvar
              VARIABLE : RESHAPE(VAR,T[GT=TAXIS])
-             SUBSET   : 23 points (TIME)
+             SUBSET   : 12 points (TIME)
  16-JAN-2010 12 /  1:   1.00000
  15-FEB-2010 00 /  2:   2.00000
  16-MAR-2010 12 /  3:   3.00000
@@ -98638,17 +100192,11 @@ list/L=1:23 tvar
  16-OCT-2010 12 / 10:  10.00000
  16-NOV-2010 00 / 11:  11.00000
  16-DEC-2010 12 / 12:  12.00000
- 16-JAN-2011 17 / 13:   1.00000
- 15-FEB-2011 05 / 14:   2.00000
- 16-MAR-2011 17 / 15:   3.00000
- 16-APR-2011 05 / 16:   4.00000
- 16-MAY-2011 17 / 17:   5.00000
- 16-JUN-2011 05 / 18:   6.00000
- 16-JUL-2011 17 / 19:   7.00000
- 16-AUG-2011 17 / 20:   8.00000
- 16-SEP-2011 05 / 21:   9.00000
- 16-OCT-2011 17 / 22:  10.00000
- 16-NOV-2011 05 / 23:  11.00000
+! *sh* 3/17:  a possible alternative syntax:
+!  let var = TSEQUENCE({1,2,3,4,5,6,7,8,9,10,11,12})
+!  let tvar = var[gt=taxis at asn]
+! Since this is a fairly common need -- creating a line along some axis
+! should we offer a new function AXSEQUENCE(array, axis)  ?
  
 ! Striding on a monthly axis
  
@@ -98735,13 +100283,3509 @@ define axis/x=1:5:1/monthly aaxis
  
 cancel mode ignore
  
-! Note the release notes for v7.1 should include mention of memory-leak fixes. For example see this exchange:
-! http://www.pmel.noaa.gov/maillists/tmap/ferret_users/fu_2017/msg00025.html
+ 
+! *********** v7.2 Additions ***********
+ 
+GO bn_reset bn720_bug_fixes
+cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn720_bug_fixes
+GO bn720_bug_fixes
+! bn720_bug_fixes.jnl
+! test various fixes that went into version 7.2
+! 2/17 *acm*
+!
+ 
+GO bn_reset
+cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+GO err71_uvar_strides
+! err710_uvar_strides
+! see ticket 2511: crash when doing strides on the user-variable
+ 
+ 
+use coads_climatology
+ 
+! this is ok using a file variable
+let y_vec = x[gx=sst,x=0:360:30]
+list y_vec
+             VARIABLE : X[GX=SST,X=0:360:30]
+             FILENAME : coads_climatology.cdf
+             SUBSET   : 13 points (LONGITUDE)
+ 0E     /  1:    0.0000
+ 30E    /  2:   30.0000
+ 60E    /  3:   60.0000
+ 90E    /  4:   90.0000
+ 120E   /  5:  120.0000
+ 150E   /  6:  150.0000
+ 180E   /  7:  180.0000
+ 150W   /  8:  210.0000
+ 120W   /  9:  240.0000
+ 90W    / 10:  270.0000
+ 60W    / 11:  300.0000
+ 30W    / 12:  330.0000
+ 0E     / 13:  360.0000
+ 
+! but this gave a crash on loading the variable.
+let s = sst
+let y_vec = x[gx=s,x=0:360:30]
+list y_vec
+             VARIABLE : X[GX=S,X=0:360:30]
+             FILENAME : coads_climatology.cdf
+             SUBSET   : 13 points (X)
+ 0     /  1:    0.0000
+ 30    /  2:   30.0000
+ 60    /  3:   60.0000
+ 90    /  4:   90.0000
+ 120   /  5:  120.0000
+ 150   /  6:  150.0000
+ 180   /  7:  180.0000
+ 210   /  8:  210.0000
+ 240   /  9:  240.0000
+ 270   / 10:  270.0000
+ 300   / 11:  300.0000
+ 330   / 12:  330.0000
+ 360   / 13:  360.0000
+ 
+GO bn_reset
+cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+GO err71_prec_return
+! err71_prec_return.jnl
+! Ticket 2510, `prec=hh` doesn't work when the data is very
+! near an integer.
+ 
+ 
+let a=1+1e-12
+ 
+! This should show the 001 at the end
+list/nohead/norow/prec=13 `a,prec=13`
+ !-> list/nohead/norow/prec=13 1.000000000001
+   1.000000000001
+ 
+! This does not have the 001 at the end
+list/nohead/norow/prec=13 `a,prec=12`
+ !-> list/nohead/norow/prec=13 1
+   1.000000000000
+ 
+! The example from the ticket, with one more.
+list/nohead/norow/prec=12 {`1 + 0.1`, `1 + 1e-7`, `1 + 1e-8`, `1 + 1e-10`} - 1
+ !-> list/nohead/norow/prec=12 {1.1, 1.0000001, 1.00000001, 1.0000000001} - 1
+   0.100000000000
+   0.000000100000
+   0.000000010000
+   0.000000000100
+ 
+GO bn_reset
+cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+GO err71_save_rigid
+! err71_save_rigid.jnl
+! Ticket 2513: SAVE/RIGID with irregular axis wrote a bad file.
+ 
+! Define a variable on an irregular axis.
+ 
+let var = {123, 234, 345, 456, 567, 678, 789}
+define axis/t/t0=1-jan-2015/units=day tax = \
+{ 312.1, 312.7, 313.4, 314.2, 314.7, 315.4, 316.1}
+ 
+let vart = reshape(var, t[gt=tax])
+ 
+! Save with /RIGID. Previously this wrote a file with
+! both bounds and edges attributes on the time axis.
+! It wrote the edges variable, not the bounds.
+ 
+! Starting with this version, write bounds if needed when
+! writing with /RIGID. Only write edges if they said /EDGES.
+ 
+save/clobber/rigid/file=a.nc vart
+sp ncdump a.nc
+netcdf a {
+dimensions:
+	TAX = 7 ;
+	bnds = 2 ;
+variables:
+	double TAX(TAX) ;
+		TAX:point_spacing = "uneven" ;
+		TAX:axis = "T" ;
+		TAX:units = "day since 2015-01-01 00:00:00" ;
+		TAX:time_origin = "1-JAN-2015" ;
+		TAX:standard_name = "time" ;
+		TAX:bounds = "TAX_bnds" ;
+	double TAX_bnds(TAX, bnds) ;
+	double VART(TAX) ;
+		VART:missing_value = -1.e+34 ;
+		VART:_FillValue = -1.e+34 ;
+		VART:long_name = "RESHAPE(VAR, T[GT=TAX])" ;
+
+// global attributes:
+		:history = "FERRET V7.11 (beta/debug) 11-May-17" ;
+		:Conventions = "CF-1.6" ;
+data:
+
+ TAX = 312.1, 312.7, 313.4, 314.2, 314.7, 315.4, 316.1 ;
+
+ TAX_bnds =
+  311.8, 312.4,
+  312.4, 313.05,
+  313.05, 313.8,
+  313.8, 314.45,
+  314.45, 315.05,
+  315.05, 315.75,
+  315.75, 316.45 ;
+
+ VART = 123, 234, 345, 456, 567, 678, 789 ;
+}
+ 
+cancel var/all
+ 
+! The grid was messed up - this gave an error
+use a
+show grid vart
+    GRID GSI1
+ name       axis              # pts   start                end                 subset
+ normal    X
+ normal    Y
+ normal    Z
+ TAX3      TIME                 7 i   09-NOV-2015 02:24    13-NOV-2015 02:24   full
+ 
+ 
+! move this to bn_gif.jnl
+! GO bn_reset
+! GO err71_plotvs_mode_label
+ 
+GO bn_reset
+cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+GO err71_set_redirect
+! err71_set_redirect.jnl
+! 3/2017 ACM
+! redirect results to a file with a path.
+! See ticket 2521, the path was previously rejected if it contains dashes
+ 
+spawn "mkdir -p sub-dir"
+!
+! Previously this resulted in an error.
+set redirect /tee /file="./sub-dir/redirect_stdout.txt" /clobber  stderr stdout
+ 
+! write to the file and look at the results
+ 
+show symbol ferret_precision, ferret_memory
+FERRET_PRECISION = "double"
+FERRET_MEMORY = "25.6"
+cancel redirect
+let contents = { spawn:"cat ./sub-dir/redirect_stdout.txt" }
+list contents
+             VARIABLE : { SPAWN:"cat ./sub-dir/redirect_stdout.txt" }
+             SUBSET   : 7 points (X)
+ 1   / 1:" "                                          
+ 2   / 2:"! write to the file and look at the results"
+ 3   / 3:" "                                          
+ 4   / 4:"show symbol ferret_precision, ferret_memory"
+ 5   / 5:"FERRET_PRECISION = "double""                
+ 6   / 6:"FERRET_MEMORY = "25.6""                     
+ 7   / 7:"cancel redirect"                            
+cancel var contents
+ 
+sp rm -rf sub-dir
+ 
+GO bn_reset
+cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+GO err71_set_redirect
+! err71_set_redirect.jnl
+! 3/2017 ACM
+! redirect results to a file with a path.
+! See ticket 2521, the path was previously rejected if it contains dashes
+ 
+spawn "mkdir -p sub-dir"
+!
+! Previously this resulted in an error.
+set redirect /tee /file="./sub-dir/redirect_stdout.txt" /clobber  stderr stdout
+ 
+! write to the file and look at the results
+ 
+show symbol ferret_precision, ferret_memory
+FERRET_PRECISION = "double"
+FERRET_MEMORY = "25.6"
+cancel redirect
+let contents = { spawn:"cat ./sub-dir/redirect_stdout.txt" }
+list contents
+             VARIABLE : { SPAWN:"cat ./sub-dir/redirect_stdout.txt" }
+             SUBSET   : 7 points (X)
+ 1   / 1:" "                                          
+ 2   / 2:"! write to the file and look at the results"
+ 3   / 3:" "                                          
+ 4   / 4:"show symbol ferret_precision, ferret_memory"
+ 5   / 5:"FERRET_PRECISION = "double""                
+ 6   / 6:"FERRET_MEMORY = "25.6""                     
+ 7   / 7:"cancel redirect"                            
+cancel var contents
+ 
+sp rm -rf sub-dir
+ 
+GO bn_reset
+cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+GO err71_err_attrib_overrun
+! err71_err_attrib_overrun.jnl
+! See ticket 2523
+ 
+! this ends with a segment fault sensitive to any changes
+! presumably a buffer over-run
+ 
+! the crash is occuring because of a buffer over-run
+! in IS_ATTRIB_VAL we call CREATE_TEMP_MEM_VAR to create an mr of size=1
+! later we call INIT_C_STRING_ARRAY and tell it to initialize this mr array
+! using a length nvdims=3  ==> OVERRUN
+ 
+! This bug never reared its head in the pre-dynamic memory Ferret, because
+! the buffers couldn't really be over-run, since they were part of a huge
+! static memory block
+ 
+! other INIT_* calls in IS_ATTRIB_VAL may have a similar issue
+ 
+ 
+set mode diag
+ 
+use ocean_atlas_temp
+use gt4d011
+use levitus_climatology
+ 
+use coads_climatology
+ 
+let lnames = ..dimnames[d=2]
+ 
+CANCEL DATA/ALL
+ canceling dset ./ocean_atlas_temp.cdf
+ canceling dset ./gt4d011.cdf
+ canceling dset ./levitus_climatology.cdf
+ canceling dset ./coads_climatology.cdf
+ 
+! this line seems to be essential making the crash happen
+PPL TICS .125,.25,.125,.25 !reset tics to default
+ 
+use coads_climatology
+ 
+let a = sst[d=1].dimnames
+show mem/diag   ! looks like no dynamic memory actions have occured
+    No split/gather occurred in the last evaluation
+    Total table slots: 500
+    Free table slots: 500
+    Un-cached variables: 0
+    SET MEMORY/SIZE: 25.6 megawords
+    Peak demand: 0 words
+    Current cache: 0 words
+ 
+! resulted in a seg fault (on 32-bit stout)
+list a[i=2]
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid A        C:  7 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
+ eval    A        C:  6 dset:   1 I:      2      2  J: -999 -999  K: -999 -999  L:   -999   -999
+ attrib_val attr     M:234 dset:   1 I:      2      2  J: -999 -999  K: -999 -999  L:   -999   -999
+             VARIABLE : SST[D=coads_climatology].DIMNAMES
+             FILENAME : coads_climatology.cdf
+             X        : 2
+        "COADSY"
+ 
+ 
+GO bn_reset
+cancel mode verify
+ dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
+ -DELETE A        M:237 dset:   1 I:      2      2  J: -999 -999  K: -999 -999  L:   -999   -999
+ dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
+ -DELETE attr     M:234 dset:   1 I:      2      2  J: -999 -999  K: -999 -999  L:   -999   -999
+ canceling dset ./coads_climatology.cdf
+ooooooooooooooooooooooooooooooooooooooooooo
+GO err71_user_var_attrib
+! err71_user_var_attrib.jnl
+! See ticket 2132
+ 
+! command was trying to list dataset information for a user variable
+!
+ 
+let a = 1
+define att a.myAttr = "whatever"
+show att a.myAttr
+ a.myAttr = whatever 
+ 
+ 
+GO bn_reset
+cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+GO err71_save_bounds
+! err71_save_bounds
+! Ticket 2524. The SAVE command previously gave an error
+ 
+define axis/t time = {1,2,4}
+use write_int_att.nc
+ 
+! Tell Ferret to use the axis names from the file, and write data
+cancel mode upcase
+save/file=a.nc/clobber mhchla
+ 
+! move this to bn_gif.jnl
+! GO bn_reset
+! GO err71_vs_constant
+ 
+GO bn_reset bn_compressed_gather
+cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_compressed_gather
+GO bn_compressed_gather
+! bn_compressed_gather.jnl
+! 11/2016 (for trac #2428 enhancement)
+! updated 3/17 for dynamic memory and using SHOW MEM/DIAG
+ 
+! force a split/gather operation due to a T=@ave
+ 
+! in previous versions of Ferret the split could not occur on the transformed
+! axis, so the X axis would have been used.  Here the T=@ave axis will be used
+ 
+! Give us something to look at while we run these tests which dont make plots
+plot/noax/nolab/vlim=0:1/i=4:5 i
+annotate/norm/x=0/y=0.5 "@AC... running bn_compressed_gather"
+ 
+! ******* tests of  T=@DIN and T=@ave ******
+define axis/x=1:1001:1 xax
+define axis/y=1:10:1 yax
+define axis/T=1:1000:1 tax
+ 
+let xt = (x[gx=xax]-501) + 0*y[gy=yax] + T[gt=tax]
+ 
+* note: SUM of integers 1 to 1000 = N(N+1)/2 ==> 500500
+*       stat average of (x[gx=xax]-501) is zero
+*       so the full 2D stat mean should be 500500
+ 
+! there are 10*1000*1001 points in the full grid => ~10M
+! given the necessary cautions (see IS_STRIP and MODE FRUGAL),
+! a size of 12 for sure requires a gather operation
+! confirm gathering is occuring by looking at the diagnostic output
+ 
+!set mode desperate: 400000
+SET MEMORY/SIZE=12
+ 
+stat xt[l=@din]
+ 
+             (X[GX=XAX]-501) + 0*Y[GY=YAX] + T[GT=TAX]
+             X: 0.5 to 1002
+             Y: 0.5 to 10.5
+             Z:  N/A
+             T: 0.5 to 1000.5 (integrated)
+             E:  N/A
+             F:  N/A
+             DATA SET: N/A
+ 
+ Total # of data points: 10010 (1001*10*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 500
+ Maximum value: 1000500
+ Mean    value: 500500 (unweighted average)
+ Standard deviation: 288978
+SHOW MEMORY/DIAGNOSTIC   ! look at peak memory usage
+    Last gather
+        Variable    Axis   Xform     Chunk    Repeated
+        XT             T     DIN       209           1
+    Total table slots: 500
+    Free table slots: 494
+    Un-cached variables: 0
+    SET MEMORY/SIZE: 12 megawords
+    Peak demand: 2.122329 megawords
+    Current cache: 10.03002 megawords
+ 
+! many variations on this test
+! note that in the first case peak memory will show as ZERO.
+! The first SET MEMORY command resets the peak memory to zero, and
+! then the expression "xt[l=@din]" gets found without re-computation
+! having been computed just above
+GO bn_compressed_gather.sub xt[l=@din] 40 12
+ 
+ Total # of data points: 10010 (1001*10*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 500
+ Maximum value: 1000500
+ Mean    value: 500500 (unweighted average)
+    SET MEMORY/SIZE: 40 megawords
+    Peak demand: 20020 words
+    Current cache: 10.03002 megawords
+ 
+ Total # of data points: 10010 (1001*10*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 500
+ Maximum value: 1000500
+ Mean    value: 500500 (unweighted average)
+    SET MEMORY/SIZE: 12 megawords
+    Peak demand: 2.122329 megawords
+    Current cache: 10.03002 megawords
+COMPRESSED GATHER success on expression xt[l=@din]
+ 
+! altered limits syntax
+GO bn_compressed_gather.sub xt[l=1:1000 at din] 40 12
+ 
+ Total # of data points: 10010 (1001*10*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 500
+ Maximum value: 1000500
+ Mean    value: 500500 (unweighted average)
+    SET MEMORY/SIZE: 40 megawords
+    Peak demand: 20020 words
+    Current cache: 10.030021 megawords
+ 
+ Total # of data points: 10010 (1001*10*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 500
+ Maximum value: 1000500
+ Mean    value: 500500 (unweighted average)
+    SET MEMORY/SIZE: 12 megawords
+    Peak demand: 2.122329 megawords
+    Current cache: 10.03002 megawords
+COMPRESSED GATHER success on expression xt[l=1:1000 at din]
+ 
+! test T=@AVE
+GO bn_compressed_gather.sub xt[l=@ave]  40 12
+ 
+ Total # of data points: 10010 (1001*10*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 0.5
+ Maximum value: 1000.5
+ Mean    value: 500.5 (unweighted average)
+    SET MEMORY/SIZE: 40 megawords
+    Peak demand: 7.007 megawords
+    Current cache: 10.030021 megawords
+ 
+ Total # of data points: 10010 (1001*10*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 0.5
+ Maximum value: 1000.5
+ Mean    value: 500.5 (unweighted average)
+    SET MEMORY/SIZE: 12 megawords
+    Peak demand: 2.122329 megawords
+    Current cache: 10.03002 megawords
+COMPRESSED GATHER success on expression xt[l=@ave]
+ 
+! various partial grid points at end
+GO bn_compressed_gather.sub xt[T=@ave]  40 12
+ 
+ Total # of data points: 10010 (1001*10*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 0.5
+ Maximum value: 1000.5
+ Mean    value: 500.5 (unweighted average)
+    SET MEMORY/SIZE: 40 megawords
+    Peak demand: 7.007 megawords
+    Current cache: 10.030021 megawords
+ 
+ Total # of data points: 10010 (1001*10*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 0.5
+ Maximum value: 1000.5
+ Mean    value: 500.5 (unweighted average)
+    SET MEMORY/SIZE: 12 megawords
+    Peak demand: 2.122329 megawords
+    Current cache: 10.03002 megawords
+COMPRESSED GATHER success on expression xt[T=@ave]
+GO bn_compressed_gather.sub xt[T=0.5:1000.5 at ave]  40 12
+ 
+ Total # of data points: 10010 (1001*10*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 0.5
+ Maximum value: 1000.5
+ Mean    value: 500.5 (unweighted average)
+    SET MEMORY/SIZE: 40 megawords
+    Peak demand: 7.007 megawords
+    Current cache: 10.030021 megawords
+ 
+ Total # of data points: 10010 (1001*10*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 0.5
+ Maximum value: 1000.5
+ Mean    value: 500.5 (unweighted average)
+    SET MEMORY/SIZE: 12 megawords
+    Peak demand: 2.122329 megawords
+    Current cache: 10.03002 megawords
+COMPRESSED GATHER success on expression xt[T=0.5:1000.5 at ave]
+GO bn_compressed_gather.sub xt[T=0.6:1000.4 at ave]  40 12
+ 
+ Total # of data points: 10010 (1001*10*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 0.5
+ Maximum value: 1000.5
+ Mean    value: 500.5 (unweighted average)
+    SET MEMORY/SIZE: 40 megawords
+    Peak demand: 7.007 megawords
+    Current cache: 10.030021 megawords
+ 
+ Total # of data points: 10010 (1001*10*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 0.5
+ Maximum value: 1000.5
+ Mean    value: 500.5 (unweighted average)
+    SET MEMORY/SIZE: 12 megawords
+    Peak demand: 2.122329 megawords
+    Current cache: 10.03002 megawords
+COMPRESSED GATHER success on expression xt[T=0.6:1000.4 at ave]
+GO bn_compressed_gather.sub xt[T=1:1000 at ave]  40 12
+ 
+ Total # of data points: 10010 (1001*10*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 0.5
+ Maximum value: 1000.5
+ Mean    value: 500.5 (unweighted average)
+    SET MEMORY/SIZE: 40 megawords
+    Peak demand: 7.007 megawords
+    Current cache: 10.030021 megawords
+ 
+ Total # of data points: 10010 (1001*10*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 0.5
+ Maximum value: 1000.5
+ Mean    value: 500.5 (unweighted average)
+    SET MEMORY/SIZE: 12 megawords
+    Peak demand: 2.122329 megawords
+    Current cache: 10.03002 megawords
+COMPRESSED GATHER success on expression xt[T=1:1000 at ave]
+GO bn_compressed_gather.sub xt[T=1.2:999.8 at ave] 40 12
+ 
+ Total # of data points: 10010 (1001*10*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 0.5
+ Maximum value: 1000.5
+ Mean    value: 500.5 (unweighted average)
+    SET MEMORY/SIZE: 40 megawords
+    Peak demand: 7.007 megawords
+    Current cache: 10.030021 megawords
+ 
+ Total # of data points: 10010 (1001*10*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 0.5
+ Maximum value: 1000.5
+ Mean    value: 500.5 (unweighted average)
+    SET MEMORY/SIZE: 12 megawords
+    Peak demand: 2.122329 megawords
+    Current cache: 10.03002 megawords
+COMPRESSED GATHER success on expression xt[T=1.2:999.8 at ave]
+ 
+! *********************************************************
+! ******* tests of "4D" @DIN and @ave ******
+define axis/x=1:200:1 xax
+define axis/y=1:200:1 yax
+define axis/z=1:200:1 zax
+define axis/T=1:2:1  tax
+let xyz  = 0*X[gx=xax] + 0*Y[gy=yax] + Z[gz=zax]
+let xyzt = 0*X[gx=xax] + 0*Y[gy=yax] + Z[gz=zax] + 0*T[gt=tax]
+ 
+* note: SUM of Z is N*(N+1)/2 = 20100
+* area integral in XY is 200*200=40,000
+* total integral is 804,000,000 (8.04*E8)
+ 
+* 3D XYZ test
+* 2d slice size = 200*200 = 40,000
+* 3d full size is 8,000,000  - so 10,000,000 is bigger
+ 
+! confirm gathering is occuring by looking at the diagnostic output
+cancel memory/all
+!set mode desp: 2000000
+set memory/size = 2  ! 2M v 8M: requires split/gather
+! will split into 4 pieces (1/4 of 8,000,000 fits into 2,000,000)
+! so z=1:50; then =51:100, Z=101:150, Z=151:200
+stat xyz[x=@din,y=@din,z=@din]
+ 
+             0*X[GX=XAX] + 0*Y[GY=YAX] + Z[GZ=ZAX]
+             X: 0.5 to 200.5 (XYZ integ.)
+             Y: 0.5 to 200.5 (XYZ integ.)
+             Z: 0.5 to 200.5 (XYZ integ.)
+             T:  N/A
+             E:  N/A
+             F:  N/A
+             DATA SET: N/A
+ 
+ Total # of data points: 1 (1*1*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 8.04E+08
+ Maximum value: 8.04E+08
+ Mean    value: 8.04E+08 (unweighted average)
+SHOW MEMORY/DIAGNOSTIC   ! look at peak memory usage
+    Last gather
+        Variable    Axis   Xform     Chunk    Repeated
+        XYZ            Z     IN4         8           1
+    Total table slots: 500
+    Free table slots: 493
+    Un-cached variables: 0
+    SET MEMORY/SIZE: 2 megawords
+    Peak demand: 360010 words
+    Current cache: 1.920002 megawords
+ 
+! the clean version of same test
+GO bn_compressed_gather.sub xyz[x=@din,y=@din,z=@din] 20 2
+ 
+ Total # of data points: 1 (1*1*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 8.04E+08
+ Maximum value: 8.04E+08
+ Mean    value: 8.04E+08 (unweighted average)
+    SET MEMORY/SIZE: 20 megawords
+    Peak demand: 2 words
+    Current cache: 1.920002 megawords
+ 
+ Total # of data points: 1 (1*1*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 8.04E+08
+ Maximum value: 8.04E+08
+ Mean    value: 8.04E+08 (unweighted average)
+    SET MEMORY/SIZE: 2 megawords
+    Peak demand: 360010 words
+    Current cache: 1.920002 megawords
+COMPRESSED GATHER success on expression xyz[x=@din,y=@din,z=@din]
+ 
+! also do the average, which will provide a comparison result for the test
+! that follows
+! average along Z is 100.5
+GO bn_compressed_gather.sub xyz[x=@ave,y=@ave,z=@ave] 20 2
+ 
+ Total # of data points: 1 (1*1*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 100.5
+ Maximum value: 100.5
+ Mean    value: 100.5 (unweighted average)
+    SET MEMORY/SIZE: 20 megawords
+    Peak demand: 3.520089 megawords
+    Current cache: 8.000003 megawords
+ 
+ Total # of data points: 1 (1*1*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 100.5
+ Maximum value: 100.5
+ Mean    value: 100.5 (unweighted average)
+    SET MEMORY/SIZE: 2 megawords
+    Peak demand: 360010 words
+    Current cache: 1.920002 megawords
+COMPRESSED GATHER success on expression xyz[x=@ave,y=@ave,z=@ave]
+ 
+! Since the T axis has only 2 points, the arithmetic above shows that the
+! chunks to be gathered will still be too large after splitting on T, which
+! in theory would trigger further splitting along Z.  However, there is only
+! one opportunity to process compressed axis splitting -- in IS_STRIP
+! at the time that it is stripping off the compressed transformation.  But
+! a "4D" transform is stripped in a single operation. We choose an axis that
+! is long enough to break into sufficiently small fragments
+set memory/size = 6  ! 16M points in grid, 8M in each T-chunk
+stat xyzt[x=@ave,y=@ave,z=@ave,t=@ave]
+ 
+             0*X[GX=XAX] + 0*Y[GY=YAX] + Z[GZ=ZAX] + 0*T[GT=TAX]
+             X: 0.5 to 200.5 (XYZT ave)
+             Y: 0.5 to 200.5 (XYZT ave)
+             Z: 0.5 to 200.5 (XYZT ave)
+             T: 0.5 to 2.5 (XYZT ave)
+             E:  N/A
+             F:  N/A
+             DATA SET: N/A
+ 
+ Total # of data points: 1 (1*1*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 100.5
+ Maximum value: 100.5
+ Mean    value: 100.5 (unweighted average)
+show mem/diagnostic
+    Last gather
+        Variable    Axis   Xform     Chunk    Repeated
+        XYZT           Z     AV4        13           1
+    Total table slots: 500
+    Free table slots: 493
+    Un-cached variables: 0
+    SET MEMORY/SIZE: 6 megawords
+    Peak demand: 1.560004 megawords
+    Current cache: 5.600002 megawords
+ 
+! test splitting along 2 axes in succession by making T=@AVE into a separate
+! averaging operation
+CANCEL MEMORY/ALL
+LET xyzave = xyzt[x=@ave,y=@ave,z=@ave]
+!set mode desp: 2000000
+set memory/size = 6  ! 2M v 8M: requires split/gather
+stat xyzave[t=@ave]
+ 
+             XYZT[X=@AVE,Y=@AVE,Z=@AVE]
+             X: 0.5 to 200.5
+             Y: 0.5 to 200.5
+             Z: 0.5 to 200.5
+             T: 0.5 to 2.5 (averaged)
+             E:  N/A
+             F:  N/A
+             DATA SET: N/A
+ 
+ Total # of data points: 1 (1*1*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 100.5
+ Maximum value: 100.5
+ Mean    value: 100.5 (unweighted average)
+SHOW MEMORY/DIAGNOSTIC   ! look at peak memory usage
+    Last gather
+        Variable    Axis   Xform     Chunk    Repeated
+        XYZAVE         T     AVE         1           1
+        XYZT           Z     AV4        26           2
+    Total table slots: 500
+    Free table slots: 492
+    Un-cached variables: 0
+    SET MEMORY/SIZE: 6 megawords
+    Peak demand: 2.080005 megawords
+    Current cache: 4.880005 megawords
+ 
+! *********************************************************
+! ******* tests of T= @var and @std ******
+! the @var and @std transformation had to be switched to
+! a single pass algorithm in order to implement split/gather
+define axis/x=1:10000:1 xax
+define axis/T=1:1001:1 tax
+ 
+let xt = 0*x[gx=xax] + T[gt=tax]
+let constant = 0*X[gx=xax] + 0*T[gt=tax] + 1234
+let xt_zero_mean = 0*X[gx=xax] + (T[gt=tax]-501) + 1234
+ 
+* note: sum of a sequence 1 to N of square integers is [N*(N+1)*(2N+1)]/6
+* T-501 is 2 sequences: -500 to 1 and 1 to 500, therefore sum is
+* 2 * [500*501*1001]/6 = 83583500
+* mean of this sequence is 83583500/1001 = 83500
+* ==> look for this as the correct answer to variance
+ 
+! confirm gathering is occuring by looking at the diagnostic output
+!set mode desperate: 400000
+set memory/size= 12
+stat constant[l=@var]
+ 
+             Variance of 0*X[GX=XAX] + 0*T[GT=TAX] + 1234
+             X: 0.5 to 10001
+             Y:  N/A
+             Z:  N/A
+             T: 0.5 to 1001.5 (variance)
+             E:  N/A
+             F:  N/A
+             DATA SET: N/A
+ 
+ Total # of data points: 10000 (10000*1*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 0
+ Maximum value: 0
+ Mean    value: 0 (unweighted average)
+ Standard deviation: 0
+SHOW MEMORY/DIAGNOSTIC   ! look at peak memory usage
+    Last gather
+        Variable    Axis   Xform     Chunk    Repeated
+        CONSTANT       T     VAR       209           1
+    Total table slots: 500
+    Free table slots: 494
+    Un-cached variables: 0
+    SET MEMORY/SIZE: 12 megawords
+    Peak demand: 4.210001 megawords
+    Current cache: 10.04 megawords
+ 
+! clean test
+cancel memory/all
+GO bn_compressed_gather.sub constant[l=@var] 40 12
+ 
+ Total # of data points: 10000 (10000*1*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 0
+ Maximum value: 0
+ Mean    value: 0 (unweighted average)
+    SET MEMORY/SIZE: 40 megawords
+    Peak demand: 13.980001 megawords
+    Current cache: 10.04 megawords
+ 
+ Total # of data points: 10000 (10000*1*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 0
+ Maximum value: 0
+ Mean    value: 0 (unweighted average)
+    SET MEMORY/SIZE: 12 megawords
+    Peak demand: 4.210001 megawords
+    Current cache: 10.04 megawords
+COMPRESSED GATHER success on expression constant[l=@var]
+ 
+! known result
+GO bn_compressed_gather.sub xt_zero_mean[l=@var] 40 12
+ 
+ Total # of data points: 10000 (10000*1*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 83500
+ Maximum value: 83500
+ Mean    value: 83500 (unweighted average)
+    SET MEMORY/SIZE: 40 megawords
+    Peak demand: 13.980001 megawords
+    Current cache: 10.040001 megawords
+ 
+ Total # of data points: 10000 (10000*1*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 83500
+ Maximum value: 83500
+ Mean    value: 83500 (unweighted average)
+    SET MEMORY/SIZE: 12 megawords
+    Peak demand: 4.210001 megawords
+    Current cache: 10.04 megawords
+COMPRESSED GATHER success on expression xt_zero_mean[l=@var]
+ 
+! adding a constant doesn't effect the variance
+GO bn_compressed_gather.sub xt[l=@var] 40 12
+ 
+ Total # of data points: 10000 (10000*1*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 83500
+ Maximum value: 83500
+ Mean    value: 83500 (unweighted average)
+    SET MEMORY/SIZE: 40 megawords
+    Peak demand: 7.02 megawords
+    Current cache: 10.040001 megawords
+ 
+ Total # of data points: 10000 (10000*1*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 83500
+ Maximum value: 83500
+ Mean    value: 83500 (unweighted average)
+    SET MEMORY/SIZE: 12 megawords
+    Peak demand: 2.130209 megawords
+    Current cache: 10.04 megawords
+COMPRESSED GATHER success on expression xt[l=@var]
+ 
+! same test, but  on @std (only one line of code difference so limited test)
+* square root of 83500 is 288.96366553599779.
+* Note: previous Ferret versions gave a consistent value
+*  Minimum value: 288.9636655359978
+*  Maximum value: 288.9636655359978
+*  Mean    value: 288.9636655359978
+* Now (11/16) we are getting slight variations in the 16th decimal (see"6")
+*  Minimum value: 288.9636655359978
+*  Maximum value: 288.9636655359978
+*  Mean    value: 288.9636655359976
+* *sh* @std differs from @var only by taking a SQRT() in the finalization step.
+*      I suspect this is an artifact of the compiler optimization level
+GO bn_compressed_gather.sub xt[l=@std] 4000000 400000
+ 
+ Total # of data points: 10000 (10000*1*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 288.9636655359978
+ Maximum value: 288.9636655359978
+ Mean    value: 288.9636655360099 (unweighted average)
+    SET MEMORY/SIZE: 4000000 megawords
+    Peak demand: 10.04 megawords
+    Current cache: 10.040001 megawords
+ 
+ Total # of data points: 10000 (10000*1*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 288.9636655359978
+ Maximum value: 288.9636655359978
+ Mean    value: 288.9636655360099 (unweighted average)
+    SET MEMORY/SIZE: 400000 megawords
+    Peak demand: 10.04 megawords
+    Current cache: 10.04 megawords
+COMPRESSED GATHER success on expression xt[l=@std]
+ 
+ 
+! *********************************************************
+! ******* tests of "4D" @var and @std ******
+! the @var and @srd transformation had to be switched to
+! a single pass algorithm in order to implement split/gather
+define axis/x=1:200:1 xax
+define axis/y=1:200:1 yax
+define axis/z=1:201:1 zax
+define axis/T=1:200:1 tax
+! adding a constant doesn't effect variance
+let constant = 0*X[gx=xax] + 0*Y[gy=yax] + 0*Z[gz=zax] + 1234
+let xyz = 0*X[gx=xax] + 0*Y[gy=yax] + Z[gz=zax] + 1
+let xyz_zero_mean = 0*X[gx=xax] + 0*Y[gy=yax] + (Z[gz=zax]-101)
+ 
+* note: sum of a sequence 1 to N of square integers is [N*(N+1)*(2N+1)]/6
+* Z-101 is 2 sequences: -100 to -1 and 1 to 100, therefore sum is
+* 2 * [100*101*201]/6 = 676700
+* so the average is 676700/201 = 3366.666666 ...
+* At every XY point we have the identical sequence in Z, so the variance is
+* the same as the single Z sequence
+ 
+* 3D XYZ test
+* 2d slice size = 200*200 = 40,000
+* 3d full size is 8,000,000  - so 10,000,000 is bigger
+cancel memory/all
+!set mode desp: 2000000
+set memory/size = 2  ! 2M v 8M: requires split/gather
+! will split into 4 pieces (1/4 of 8,000,000 fits into 2,000,000)
+! so z=1:50; then =51:100, Z=101:150, Z=151:200
+LIST/PREC=12 constant[x=@var,y=@var,z=@var]
+             VARIABLE : 0*X[GX=XAX] + 0*Y[GY=YAX] + 0*Z[GZ=ZAX] + 1234
+             X        : 0.5 to 200.5 (XYZ variance)
+             Y        : 0.5 to 200.5 (XYZ variance)
+             Z        : 0.5 to 201.5 (XYZ variance)
+          0.000000000000
+ 
+! variance of a constant is zero
+GO bn_compressed_gather.sub constant[x=@var,y=@var,z=@var] 20 2
+ 
+ Total # of data points: 1 (1*1*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 0
+ Maximum value: 0
+ Mean    value: 0 (unweighted average)
+    SET MEMORY/SIZE: 20 megawords
+    Peak demand: 3 words
+    Current cache: 1.640003 megawords
+ 
+ Total # of data points: 1 (1*1*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 0
+ Maximum value: 0
+ Mean    value: 0 (unweighted average)
+    SET MEMORY/SIZE: 2 megawords
+    Peak demand: 640004 words
+    Current cache: 1.640003 megawords
+COMPRESSED GATHER success on expression constant[x=@var,y=@var,z=@var]
+ 
+! confirm that we get the result computed above
+GO bn_compressed_gather.sub xyz_zero_mean[x=@var,y=@var,z=@var]  20 2
+ 
+ Total # of data points: 1 (1*1*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 3366.7
+ Maximum value: 3366.7
+ Mean    value: 3366.7 (unweighted average)
+    SET MEMORY/SIZE: 20 megawords
+    Peak demand: 3.52009 megawords
+    Current cache: 8.040004 megawords
+ 
+ Total # of data points: 1 (1*1*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 3366.7
+ Maximum value: 3366.7
+ Mean    value: 3366.7 (unweighted average)
+    SET MEMORY/SIZE: 2 megawords
+    Peak demand: 360011 words
+    Current cache: 1.640003 megawords
+COMPRESSED GATHER success on expression xyz_zero_mean[x=@var,y=@var,z=@var]
+LIST/PREC=12 xyz_zero_mean[x=@var,y=@var,z=@var]
+             VARIABLE : 0*X[GX=XAX] + 0*Y[GY=YAX] + (Z[GZ=ZAX]-101)
+             X        : 0.5 to 200.5 (XYZ variance)
+             Y        : 0.5 to 200.5 (XYZ variance)
+             Z        : 0.5 to 201.5 (XYZ variance)
+          3366.66666667
+ 
+! confirm that adding a constant does not change the result
+GO bn_compressed_gather.sub xyz[x=@var,y=@var,z=@var]  20 2
+ 
+ Total # of data points: 1 (1*1*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 3366.7
+ Maximum value: 3366.7
+ Mean    value: 3366.7 (unweighted average)
+    SET MEMORY/SIZE: 20 megawords
+    Peak demand: 6.960004 megawords
+    Current cache: 9.680006 megawords
+ 
+ Total # of data points: 1 (1*1*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 3366.7
+ Maximum value: 3366.7
+ Mean    value: 3366.7 (unweighted average)
+    SET MEMORY/SIZE: 2 megawords
+    Peak demand: 640004 words
+    Current cache: 1.640003 megawords
+COMPRESSED GATHER success on expression xyz[x=@var,y=@var,z=@var]
+LIST/PREC=12 xyz[x=@var,y=@var,z=@var]
+             VARIABLE : 0*X[GX=XAX] + 0*Y[GY=YAX] + Z[GZ=ZAX] + 1
+             X        : 0.5 to 200.5 (XYZ variance)
+             Y        : 0.5 to 200.5 (XYZ variance)
+             Z        : 0.5 to 201.5 (XYZ variance)
+          3366.66666667
+ 
+CANCEL MEMORY/ALL  ! IF PRESENT THIS PREVENTS THE MEMORY CORRUPTION
+! confirm the @std gives the square root of the variance
+! SQRT(676700/201) = 58.022983951764034269074805569046
+GO bn_compressed_gather.sub xyz[x=@std,y=@std,z=@std]  20 2
+ 
+ Total # of data points: 1 (1*1*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 58.023
+ Maximum value: 58.023
+ Mean    value: 58.023 (unweighted average)
+    SET MEMORY/SIZE: 20 megawords
+    Peak demand: 6.960004 megawords
+    Current cache: 8.040003 megawords
+ 
+ Total # of data points: 1 (1*1*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 58.023
+ Maximum value: 58.023
+ Mean    value: 58.023 (unweighted average)
+    SET MEMORY/SIZE: 2 megawords
+    Peak demand: 640004 words
+    Current cache: 1.640003 megawords
+COMPRESSED GATHER success on expression xyz[x=@std,y=@std,z=@std]
+LIST/PREC=12 xyz[x=@std,y=@std,z=@std]
+             VARIABLE : 0*X[GX=XAX] + 0*Y[GY=YAX] + Z[GZ=ZAX] + 1
+             X        : 0.5 to 200.5 (XYZ stddev)
+             Y        : 0.5 to 200.5 (XYZ stddev)
+             Z        : 0.5 to 201.5 (XYZ stddev)
+          58.0229839518
+ 
+ 
+! add more tests here
+! the highest liklihood of problem is in the formulation of "the next chunk"
+! when IS_TRANS requests the next piece to be gathered
+! ... variations on inner and outer limits
+!     (i.e. averaging an expression with limits embedded inside of it
+!      where the averaging limits may or may not match the inner limits)
+! ... file variable, vs user variables
+! ... embedded functions, especially grid-changing functions
+!
+! ... test irregular axes (unequal weighting) and see how significant are
+!     the changes in results from old Ferret (particularly on @var)
+ 
+ 
+GO bn_reset bn_dynamic_gather
+cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_dynamic_gather
+GO bn_dynamic_gather
+! bn_dynamic_gather.jnl
+! *sh* 3/2017
+ 
+! There's not really anything "dynamic" about this benchmark, except that it
+! excercises the split/gather improvements that were implemented together with
+! dynamic memory management
+ 
+ 
+ 
+ 
+! Give us something to look at while we run these tests which dont make plots
+plot/noax/nolab/vlim=0:1/i=4:5 i
+annotate/norm/x=0/y=0.5 "@AC... running bn_dynamic_gather"
+ 
+ 
+! **************************************
+! create the test data
+spawn "mkdir -p tmp"     ! tmp directory to store files
+ 
+! see if the test file already exists
+SPAWN "ls tmp/test_dyn_mem.nc"
+IF ($SPAWN_STATUS) THEN
+ !-> IF 0 THEN
+ELSE
+  define symbol saved_memory_size = ($FERRET_MEMORY)
+ !-> define symbol saved_memory_size = 2
+  set mem/size=50
+  define axis/x=1:1000:1 x1000
+  define axis/y=1:1000:1 y1000
+  define axis/z=1:2:1 z2
+  define axis/t=1:10:1 t10
+  define grid/x=x1000/y=y1000/z=z2/t=t10 gg
+  let v = x[g=gg]+y[g=gg]+z[g=gg]+t[g=gg]
+  save/clobber/file="tmp/test_dyn_mem.nc" v
+  define axis/t=1:1000:1 t1000
+  define axis/x=1:10:1   x10
+  define axis/y=1:100:1  y100
+  define axis/z=1:4:1 z4
+  let v1000 = x[gx=x10]+y[gy=y100]+z[gz=z4]+t[gt=t1000]
+  save/append/file="tmp/test_dyn_mem.nc" v1000
+  cancel variable/all
+  cancel mem/all
+  set memory/size=($saved_memory_size)
+ !-> set memory/size=2
+ENDIF
+ 
+! ************************************
+ 
+use tmp/test_dyn_mem.nc
+show data
+     currently SET data sets:
+    1> tmp/test_dyn_mem.nc  (default)
+ name     title                             I         J         K         L
+ v        X[G=GG]+Y[G=GG]+Z[G=GG]+T[G=GG]  1:1000    1:1000    1:2       1:10
+ v1000    X[GX=X10]+Y[GY=Y100]+Z[GZ=Z4]+T  1:10      1:100     1:4       1:1000
+ 
+ 
+! excercise under the least strict memory management
+CANCEL MODE FRUGAL
+GO bn_dynamic_gather.sub
+! bn_dynamic_gather.sub
+ 
+! this subroutine to get called repeatedly for different values of MODE FRUGAL
+ 
+!**************
+! remember to test:
+! - MODE FRUGAL
+! done - case of no single axis long enough
+! done - case of transformed axis not long enough, but another is
+! 2-axis split including compressed
+! 2-axis split not including
+! 3-axis splits
+!    -- with slowest axis GT 5 in length
+!    -- with slowest axis LT 5 and second slowest GT 50
+! - modulo regrid examples
+! 2d and 3d @AVE
+! mixed @AVE and @DIN
+!*************
+ 
+! **************************************************
+! test memory that is too small to accommodate the result
+! this request will fail trying to get the third argument
+set mode ignore
+set memory/siz=1.99
+stat/brief v[i=101:200,j=101:200,k=1,l=1:10 at ave], v[i=101:200,j=101:200,k=2,l=1:10 at ave], v[l=1:10 at ave]
+    At the moment that the memory limit was reached
+    argument 3 was being evaluated: V[L=1:10 at AVE]
+    memory was committed as follows:
+        - to arguments 1-2: 40000 (2%)
+        - to objects used in computation: : 0 (0%)
+    The size of the requested object was: : 2000000 (101%)
+cancel mode ignore
+ 
+! **************************************************
+! if memory size is large enough to accommodate the result data plus
+! its accumulation buffer(s) when split along the compressed axis (4M)
+! then it can choose to use the compressed axis.
+! The smallest chunk along that axis is 1000x1000x2x1 ==> 2M
+set memory/siz=6
+stat/brief v[l=1:10 at ave]
+ 
+ Total # of data points: 2000000 (1000*1000*2*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 8.5
+ Maximum value: 2007.5
+ Mean    value: 1008 (unweighted average)
+show memory/diagnostic   ! T axis split, chunk size = 1, peak mem=6
+    Last gather
+        Variable    Axis   Xform     Chunk    Repeated
+        V              T     AVE         1           1
+    Total table slots: 500
+    Free table slots: 498
+    Un-cached variables: 0
+    SET MEMORY/SIZE: 6 megawords
+    Peak demand: 6 megawords
+    Current cache: 6 megawords
+show memory/all          ! in memory following the last chunk
+    SET MEMORY/SIZE: 6 megawords
+    Peak demand: 6 megawords
+    Current cache: 6 megawords
+all data in memory:
+ V[D=test_dyn_mem]                 XYZ   mr:231 size:4000000
+         1/0.5                 1/0.5                 1/0.5              ... /0.5
+      1000/1001             1000/1000.5              2/2.5              ... /10.5
+                                                              AVE
+ V[D=test_dyn_mem]                 XYZ   mr:246 size:2000000
+         1/0.5                 1/0.5                 1/0.5                10/9.5
+      1000/1001             1000/1000.5              2/2.5                10/10.5
+ 
+cancel memory/all
+ 
+! **************************************************
+! Since @VAR requires two buffers - the total size of the result is 2M+2*2M=6M
+! if we were to split along T the size of a chunk would be 1000x1000x2x1 = 2M
+! So the total memory needed would be 6M+2M=8M to split along T
+set memory/size=8
+stat/brief v[l=1:10 at var]
+ 
+ Total # of data points: 2000000 (1000*1000*2*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 8.25
+ Maximum value: 8.25
+ Mean    value: 8.25 (unweighted average)
+show memory/diagnostic   ! T axis split, chunk size = 1, peak mem=8
+    Last gather
+        Variable    Axis   Xform     Chunk    Repeated
+        V              T     VAR         1           1
+    Total table slots: 500
+    Free table slots: 498
+    Un-cached variables: 0
+    SET MEMORY/SIZE: 8 megawords
+    Peak demand: 8 megawords
+    Current cache: 8 megawords
+cancel memory/all
+ 
+! **************************************************
+! if memory size is NOT large enough to accommodate the result data plus
+! its accumulation buffer(s) then it cannot split along T
+set memory/siz=5.9
+stat/brief v[l=1:10 at ave]
+ 
+ Total # of data points: 2000000 (1000*1000*2*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 8.5
+ Maximum value: 2007.5
+ Mean    value: 1008 (unweighted average)
+show memory/diagnostic   ! Y axis split, big chunk size = 1
+    Last gather
+        Variable    Axis   Xform     Chunk    Repeated
+        V              Y     AVE       162           1
+    Total table slots: 500
+    Free table slots: 496
+    Un-cached variables: 0
+    SET MEMORY/SIZE: 5.9 megawords
+    Peak demand: 5.888 megawords
+    Current cache: 3.32 megawords
+cancel memory/all
+ 
+! **************************************************
+! memory barely large enough to accommodate the result (2M), and the
+! smallest achievable chunk
+! splitting along the Y axis, the smallest chunk size is 1000x1x2x10 ==> 20000
+! and the average of a single chunk (incl buffer) is 1000x1x2x1*2 ==> 4000
+set memory/siz=2.024
+stat/brief v[l=1:10 at ave]
+ 
+ Total # of data points: 2000000 (1000*1000*2*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 8.5
+ Maximum value: 2007.5
+ Mean    value: 1008 (unweighted average)
+show memory/diagnostic ! Y axis split, chunk size=1, peak mem=2.024
+    Last gather
+        Variable    Axis   Xform     Chunk    Repeated
+        V              Y     AVE         1           1
+    Total table slots: 500
+    Free table slots: 497
+    Un-cached variables: 0
+    SET MEMORY/SIZE: 2.024 megawords
+    Peak demand: 2.024 megawords
+    Current cache: 2.024 megawords
+show memory/all        ! in memory following the last chunk
+    SET MEMORY/SIZE: 2.024 megawords
+    Peak demand: 2.024 megawords
+    Current cache: 2.024 megawords
+all data in memory:
+ V[D=test_dyn_mem]                 XYZ   mr:234 size:2000000
+         1/0.5                 1/0.5                 1/0.5              ... /0.5
+      1000/1001             1000/1000.5              2/2.5              ... /10.5
+                                                              AVE
+ V[D=test_dyn_mem]                 XZ    mr:237 size:4000
+         1/0.5              1000/999.5               1/0.5              ... /0.5
+      1000/1001             1000/1000.5              2/2.5              ... /10.5
+                                                              AVE
+ V[D=test_dyn_mem]                 XZT   mr:246 size:20000
+         1/0.5              1000/999.5               1/0.5                 1/0.5
+      1000/1001             1000/1000.5              2/2.5                10/10.5
+ 
+cancel memory/all
+ 
+! **************************************************
+! Since @VAR requires two buffers - the total size of the result is 2M+2*2M=6M
+! if we were to split along T the size of a chunk would be 1000x1000x2x1 = 2M
+! So the total memory needed would be 6M+2M=8M.  So the current SET MEMORY=6
+! is not enuf mem to split along the T axis
+set memory/siz=6
+stat/brief v[l=1:10 at var]
+ 
+ Total # of data points: 2000000 (1000*1000*2*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 8.25
+ Maximum value: 8.25
+ Mean    value: 8.25 (unweighted average)
+show memory/diagnostic   ! Y axis split
+    Last gather
+        Variable    Axis   Xform     Chunk    Repeated
+        V              Y     VAR       153           1
+    Total table slots: 500
+    Free table slots: 496
+    Un-cached variables: 0
+    SET MEMORY/SIZE: 6 megawords
+    Peak demand: 5.978 megawords
+    Current cache: 5.05 megawords
+cancel memory/all
+ 
+! **************************************************
+! 3D averaging  v[x=@ave,y=@ave,z=@ave,L=1]
+! result size will be 1x1x1x1*2 = 2
+! chunk size if split along Z will be 1000x1000x1x1 = 1M
+! chunk size if split along Y will be 1000x1x2x1    = 2K
+ 
+! this request can succeed by splitting along Z
+set memory/siz=1.001
+stat/brief v[x=@ave,y=@ave,z=@ave,L=1]
+ 
+ Total # of data points: 1 (1*1*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 1003.5
+ Maximum value: 1003.5
+ Mean    value: 1003.5 (unweighted average)
+show memory/diagnostic     ! Z axis split
+    Last gather
+        Variable    Axis   Xform     Chunk    Repeated
+        V              Z     AV4         1           1
+    Total table slots: 500
+    Free table slots: 498
+    Un-cached variables: 0
+    SET MEMORY/SIZE: 1.001 megawords
+    Peak demand: 1.000002 megawords
+    Current cache: 1.000002 megawords
+cancel memory/all
+ 
+! **************************************************
+! but if memory is so small that the Z axis of 2 points does not provide
+! enough size reduction, then we choose to split along Y
+set memory/siz=.99
+stat/brief v[x=@ave,y=@ave,z=@ave,L=1]
+ 
+ Total # of data points: 1 (1*1*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 1003.5
+ Maximum value: 1003.5
+ Mean    value: 1003.5 (unweighted average)
+show memory/diagnostic     ! Y axis split
+    Last gather
+        Variable    Axis   Xform     Chunk    Repeated
+        V              Y     AV4       494           1
+    Total table slots: 500
+    Free table slots: 498
+    Un-cached variables: 0
+    SET MEMORY/SIZE: 990000 words
+    Peak demand: 988002 words
+    Current cache: 24002 words
+cancel memory/all
+ 
+! **************************************************
+! multiple transformations on a single expression
+! Use of these expressions **is a bad idea in Ferret**
+! he "potential size" of the source data is 1000x1000x20x10=20M
+! we just get aggressive about memory saving: choose the longest axis
+! preferring an uncompressed axis if available
+! Here we see a triple level strip: Z-T-Y
+! (SHOW MEM/DIAG repeats on each of the 2 K values)
+set memory/siz=.99
+stat/brief v[x=@ave,y=@ave,L=@SUM]
+ 
+ Total # of data points: 2 (1*1*2*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 10075
+ Maximum value: 10085
+ Mean    value: 10080 (unweighted average)
+show memory/diagnostic        !  split on Z-(T-Y,T-Y)
+    Last gather
+        Variable    Axis   Xform     Chunk    Repeated
+        V              Z     SUM         1           1
+        V              T     SUM         1           1
+        V              Y     AV4       989          10
+        V              T     SUM         1           1
+        V              Y     AV4       989          10
+    Total table slots: 500
+    Free table slots: 496
+    Un-cached variables: 0
+    SET MEMORY/SIZE: 990000 words
+    Peak demand: 989006 words
+    Current cache: 11006 words
+cancel memory/all
+ 
+! **************************************************
+! now the same situation, but where Z is compressed as well
+! Z is not stripped off because other axes are longer
+set memory/siz=.99
+stat/brief v[x=@ave,y=@ave,z=@ave,L=@SUM]
+ 
+ Total # of data points: 1 (1*1*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 10080
+ Maximum value: 10080
+ Mean    value: 10080 (unweighted average)
+show memory/diagnostic       ! split on T-Y
+    Last gather
+        Variable    Axis   Xform     Chunk    Repeated
+        V              T     SUM         1           1
+        V              Y     AV4       494          10
+    Total table slots: 500
+    Free table slots: 497
+    Un-cached variables: 0
+    SET MEMORY/SIZE: 990000 words
+    Peak demand: 988004 words
+    Current cache: 24004 words
+cancel memory/all
+ 
+! **************************************************
+! multiple transformation again
+! first strip YZT at AVE. Split the long Y axis, no further split needed
+set memory/siz=.99
+stat/brief v[x=@SUM,y=@ave,z=@ave,L=@ave]
+ 
+ Total # of data points: 1 (1*1*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 1008000
+ Maximum value: 1008000
+ Mean    value: 1008000 (unweighted average)
+show memory/diagnostic      ! split on Y
+    Last gather
+        Variable    Axis   Xform     Chunk    Repeated
+        V              Y     AV4        24           1
+    Total table slots: 500
+    Free table slots: 494
+    Un-cached variables: 0
+    SET MEMORY/SIZE: 990000 words
+    Peak demand: 480962 words
+    Current cache: 802562 words
+cancel memory/all
+ 
+! **************************************************
+! MODULO REGRID
+ 
+! v1000 is 10x100x4x1000
+! for gt=@mod the full result size is 10x100x4x12 ==>  48,000
+ 
+define axis/mod/t=1:12:1 t12mod
+ 
+!**************************************************
+set mem/size=10   ! bigger than needed
+stat/brief v1000[gt=t12mod at mod]
+ 
+ Total # of data points: 48000 (10*100*4*12*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 500
+ Maximum value: 618
+ Mean    value: 559 (unweighted average)
+show mem/diag     ! note peak size demand a bit over 4
+    No split/gather occurred in the last evaluation
+    Total table slots: 500
+    Free table slots: 498
+    Un-cached variables: 0
+    SET MEMORY/SIZE: 10 megawords
+    Peak demand: 4.144 megawords
+    Current cache: 4.048 megawords
+canc mem/all
+ 
+!**************************************************
+set mem/size=4
+stat/brief v1000[gt=t12mod at mod]
+ 
+ Total # of data points: 48000 (10*100*4*12*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 500
+ Maximum value: 618
+ Mean    value: 559 (unweighted average)
+show mem/diag              ! big z chunks (3 on ax of len 4)
+    Last gather
+        Variable    Axis   Xform     Chunk    Repeated
+        V1000          Z                 3           1
+    Total table slots: 500
+    Free table slots: 496
+    Un-cached variables: 0
+    SET MEMORY/SIZE: 4 megawords
+    Peak demand: 3.108 megawords
+    Current cache: 1.096 megawords
+canc mem/all
+ 
+!**************************************************
+set mem/size=1
+stat/brief v1000[gt=t12mod at mod]
+ 
+ Total # of data points: 48000 (10*100*4*12*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 500
+ Maximum value: 618
+ Mean    value: 559 (unweighted average)
+show mem/diag              !  big y chunks (22 on ax of len 100)
+    Last gather
+        Variable    Axis   Xform     Chunk    Repeated
+        V1000          Y                22           1
+    Total table slots: 500
+    Free table slots: 496
+    Un-cached variables: 0
+    SET MEMORY/SIZE: 1000000 words
+    Peak demand: 959680 words
+    Current cache: 544320 words
+canc mem/all
+ 
+!**************************************************
+! if the chunk size is 1, then each chunk src is 10x1x4x1000 ==> 40000
+! and requires a result plus 2 buffers:          10x1x4x12*3 ==>  1440
+! plus the full result size in IS_GATHER                     ==> 48000
+!                                                      total ==> 89440
+set mem/size=.09
+stat/brief v1000[gt=t12mod at mod]
+ 
+ Total # of data points: 48000 (10*100*4*12*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 500
+ Maximum value: 618
+ Mean    value: 559 (unweighted average)
+show mem/diag              !  y chunk size = 1
+    Last gather
+        Variable    Axis   Xform     Chunk    Repeated
+        V1000          Y                 1           1
+    Total table slots: 500
+    Free table slots: 496
+    Un-cached variables: 0
+    SET MEMORY/SIZE: 90000 words
+    Peak demand: 89440 words
+    Current cache: 88960 words
+canc mem/all
+ 
+ 
+! ************** USER VARIABLES ********************
+let a = v[k=1]
+let b = v[k=2]
+let c = a + b
+let d = a + c
+ 
+! for comparison: memory management to average a simple file variable
+set memory/siz=3
+stat/brief v[l=1:10 at ave,k=1]
+ 
+ Total # of data points: 1000000 (1000*1000*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 8.5
+ Maximum value: 2006.5
+ Mean    value: 1007.5 (unweighted average)
+show memory/diagnostic   ! T axis split, chunk size = 1, peak mem=6
+    Last gather
+        Variable    Axis   Xform     Chunk    Repeated
+        V              T     AVE         1           1
+    Total table slots: 500
+    Free table slots: 498
+    Un-cached variables: 0
+    SET MEMORY/SIZE: 3 megawords
+    Peak demand: 3 megawords
+    Current cache: 3 megawords
+cancel memory/all
+ 
+! compare to memory management averaging user variables
+! not split on T because more memory is needed for components of calculation
+set memory/siz=3
+ 
+stat/brief a[l=1:10 at ave]
+ 
+ Total # of data points: 1000000 (1000*1000*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 8.5
+ Maximum value: 2006.5
+ Mean    value: 1007.5 (unweighted average)
+show memory/diagnostic   ! X axis split, chunk size = 1, peak mem=1.82
+    Last gather
+        Variable    Axis   Xform     Chunk    Repeated
+        A              Y     AVE        47           1
+    Total table slots: 500
+    Free table slots: 491
+    Un-cached variables: 0
+    SET MEMORY/SIZE: 3 megawords
+    Peak demand: 1.94 megawords
+    Current cache: 2.884 megawords
+cancel memory/all
+ 
+stat/brief d[l=1:10 at ave]
+ 
+ Total # of data points: 1000000 (1000*1000*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 26.5
+ Maximum value: 6020.5
+ Mean    value: 3023.5 (unweighted average)
+show memory/diagnostic   ! X axis split, chunk size = 1, peak mem=2.23
+    Last gather
+        Variable    Axis   Xform     Chunk    Repeated
+        D              Y     AVE        47           1
+    Total table slots: 500
+    Free table slots: 489
+    Un-cached variables: 0
+    SET MEMORY/SIZE: 3 megawords
+    Peak demand: 2.41 megawords
+    Current cache: 2.84 megawords
+cancel memory/all
+ 
+! progressively more frugal mem mgmt is needed as multiple results accumulate
+stat/brief a[i=1:500,l=1:10 at ave], b[i=1:500,l=1:10 at ave], c[i=1:500,l=1:10 at ave], d[i=1:500,l=1:10 at ave]
+ 
+ Total # of data points: 500000 (500*1000*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 8.5
+ Maximum value: 1506.5
+ Mean    value: 757.5 (unweighted average)
+ 
+ Total # of data points: 500000 (500*1000*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 9.5
+ Maximum value: 1507.5
+ Mean    value: 758.5 (unweighted average)
+ 
+ Total # of data points: 500000 (500*1000*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 18
+ Maximum value: 3014
+ Mean    value: 1516 (unweighted average)
+ 
+ Total # of data points: 500000 (500*1000*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 26.5
+ Maximum value: 4520.5
+ Mean    value: 2273.5 (unweighted average)
+show memory/diagnostic   ! X axis split, chunk size = 1, peak mem=2.23
+    Last gather
+        Variable    Axis   Xform     Chunk    Repeated
+        A              T     AVE         1           1
+        B              Y     AVE        71           1
+        C              Y     AVE        47           1
+        D              Y     AVE        23           1
+    Total table slots: 500
+    Free table slots: 487
+    Un-cached variables: 0
+    SET MEMORY/SIZE: 3 megawords
+    Peak demand: 2.845 megawords
+    Current cache: 2.979 megawords
+cancel memory/all
+ 
+! if the initial arguments take up too much memory we cannot succeed
+set mode ignore
+stat/brief a[l=1:10 at ave], b[l=1:10 at ave], c[l=1:10 at ave], d[l=1:10 at ave]
+    At the moment that the memory limit was reached
+    argument 3 was being evaluated: C[L=1:10 at AVE]
+    memory was committed as follows:
+        - to arguments 1-2: 2000000 (67%)
+        - to objects used in computation: : 0 (0%)
+    The size of the requested object was: : 1000000 (33%)
+show memory/diagnostic   ! X axis split, chunk size = 1, peak mem=2.23
+    Last gather
+        Variable    Axis   Xform     Chunk    Repeated
+        A              Y     AVE        47           1
+        B              Y     AVE        23           1
+    Total table slots: 500
+    Free table slots: 491
+    Un-cached variables: 0
+    SET MEMORY/SIZE: 3 megawords
+    Peak demand: 2.46 megawords
+    Current cache: 2.794 megawords
+cancel mode ignore
+cancel memory/all
+ 
+ 
+! now run the same tests under 3 different FRUGAL levels
+! save the outputs so they can be compared
+ 
+! excercise under the least strict memory management
+CANCEL REDIRECT
+SET REDIRECT/CLOBBER/FILE=bn_dynamic_gather_0.out
+SET REDIRECT/CLOBBER/FILE=bn_dynamic_gather_30.out
+SET REDIRECT/CLOBBER/FILE=bn_dynamic_gather_60.out
+ 
+! now compare the three output logs:
+! differences in *how* the results are computed are fine
+! differences in what the results are would be problems
+SAY **************************************************
+**************************************************
+SAY ************* DIFF FRUGAL 0 TO 30 ****************
+************* DIFF FRUGAL 0 TO 30 ****************
+SPAWN diff bn_dynamic_gather_0.out bn_dynamic_gather_30.out
+1c1
+< CANCEL MODE FRUGAL
+---
+> SET MODE FRUGAL    ! 30%
+4c4
+<       FRUGAL        CANCELED            30
+---
+>       FRUGAL           SET              30
+56c56
+<         V              T     AVE         1           1
+---
+>         V              Y     AVE        91           1
+58c58
+<     Free table slots: 498
+---
+>     Free table slots: 496
+61,62c61,62
+<     Peak demand: 6 megawords
+<     Current cache: 6 megawords
+---
+>     Peak demand: 4.184 megawords
+>     Current cache: 4.524 megawords
+65,66c65,66
+<     Peak demand: 6 megawords
+<     Current cache: 6 megawords
+---
+>     Peak demand: 4.184 megawords
+>     Current cache: 4.524 megawords
+68c68
+<  V[D=test_dyn_mem]                 XYZ   mr:226 size:4000000
+---
+>  V[D=test_dyn_mem]                 XYZ   mr:212 size:2000000
+72,73c72,77
+<  V[D=test_dyn_mem]                 XYZ   mr:243 size:2000000
+<          1/0.5                 1/0.5                 1/0.5                10/9.5
+---
+>  V[D=test_dyn_mem]                 XYZ   mr:226 size:360000
+>          1/0.5               911/910.5               1/0.5              ... /0.5
+>       1000/1001             1000/1000.5              2/2.5              ... /10.5
+>                                                               AVE
+>  V[D=test_dyn_mem]                 XYZT  mr:243 size:1800000
+>          1/0.5               911/910.5               1/0.5                 1/0.5
+75a80,83
+>  V[D=test_dyn_mem]                 XYZ   mr:231 size:364000
+>          1/0.5               820/819.5               1/0.5              ... /0.5
+>       1000/1001              910/910.5               2/2.5              ... /10.5
+>                                                               AVE
+93c101
+<         V              T     VAR         1           1
+---
+>         V              Y     VAR       138           1
+95c103
+<     Free table slots: 498
+---
+>     Free table slots: 494
+98,99c106,107
+<     Peak demand: 8 megawords
+<     Current cache: 8 megawords
+---
+>     Peak demand: 5.588 megawords
+>     Current cache: 7.3 megawords
+116c124
+<         V              Y     AVE       162           1
+---
+>         V              Y     AVE        88           1
+118c126
+<     Free table slots: 496
+---
+>     Free table slots: 494
+121,122c129,130
+<     Peak demand: 5.888 megawords
+<     Current cache: 3.32 megawords
+---
+>     Peak demand: 4.112 megawords
+>     Current cache: 5.232 megawords
+141a150
+>         V              T     AVE         6         999
+143c152
+<     Free table slots: 497
+---
+>     Free table slots: 496
+146c155
+<     Peak demand: 2.024 megawords
+---
+>     Peak demand: 2.016 megawords
+150c159
+<     Peak demand: 2.024 megawords
+---
+>     Peak demand: 2.016 megawords
+161,162c170,171
+<  V[D=test_dyn_mem]                 XZT   mr:243 size:20000
+<          1/0.5              1000/999.5               1/0.5                 1/0.5
+---
+>  V[D=test_dyn_mem]                 XZT   mr:212 size:8000
+>          1/0.5              1000/999.5               1/0.5                 7/6.5
+164a174,177
+>  V[D=test_dyn_mem]                 XZT   mr:243 size:12000
+>          1/0.5              1000/999.5               1/0.5                 1/0.5
+>       1000/1001             1000/1000.5              2/2.5                 6/6.5
+>  
+183c196
+<         V              Y     VAR       153           1
+---
+>         V              Y     VAR        84           1
+188,189c201,202
+<     Peak demand: 5.978 megawords
+<     Current cache: 5.05 megawords
+---
+>     Peak demand: 4.184 megawords
+>     Current cache: 4.48 megawords
+210c223
+<         V              Z     AV4         1           1
+---
+>         V              Y     AV4       350           1
+215,216c228,229
+<     Peak demand: 1.000002 megawords
+<     Current cache: 1.000002 megawords
+---
+>     Peak demand: 700002 words
+>     Current cache: 600002 words
+233c246
+<         V              Y     AV4       494           1
+---
+>         V              Y     AV4       346           1
+238,239c251,252
+<     Peak demand: 988002 words
+<     Current cache: 24002 words
+---
+>     Peak demand: 692002 words
+>     Current cache: 616002 words
+263c276
+<         V              Y     AV4       989          10
+---
+>         V              Y     AV4       692          10
+265c278
+<         V              Y     AV4       989          10
+---
+>         V              Y     AV4       692          10
+270,271c283,284
+<     Peak demand: 989006 words
+<     Current cache: 11006 words
+---
+>     Peak demand: 692006 words
+>     Current cache: 308006 words
+289c302
+<         V              Y     AV4       494          10
+---
+>         V              Y     AV4       346          10
+294,295c307,308
+<     Peak demand: 988004 words
+<     Current cache: 24004 words
+---
+>     Peak demand: 692004 words
+>     Current cache: 616004 words
+312c325
+<         V              Y     AV4        24           1
+---
+>         V              Y     AV4        17           1
+314c327
+<     Free table slots: 494
+---
+>     Free table slots: 492
+317,318c330,331
+<     Peak demand: 480962 words
+<     Current cache: 802562 words
+---
+>     Peak demand: 340682 words
+>     Current cache: 962602 words
+360c373
+<         V1000          Z                 3           1
+---
+>         V1000          Z                 2           1
+365,366c378,379
+<     Peak demand: 3.108 megawords
+<     Current cache: 1.096 megawords
+---
+>     Peak demand: 2.12 megawords
+>     Current cache: 2.096 megawords
+381c394
+<         V1000          Y                22           1
+---
+>         V1000          Y                15           1
+386,387c399,400
+<     Peak demand: 959680 words
+<     Current cache: 544320 words
+---
+>     Peak demand: 669600 words
+>     Current cache: 460000 words
+406a420
+>         V1000          Z                 2          99
+408c422
+<     Free table slots: 496
+---
+>     Free table slots: 493
+411,412c425,426
+<     Peak demand: 89440 words
+<     Current cache: 88960 words
+---
+>     Peak demand: 69200 words
+>     Current cache: 89440 words
+434c448
+<         V              T     AVE         1           1
+---
+>         V              Y     AVE        91           1
+436c450
+<     Free table slots: 498
+---
+>     Free table slots: 496
+439,440c453,454
+<     Peak demand: 3 megawords
+<     Current cache: 3 megawords
+---
+>     Peak demand: 2.092 megawords
+>     Current cache: 2.262 megawords
+457c471
+<         A              Y     AVE        47           1
+---
+>         A              Y     AVE        26           1
+459c473
+<     Free table slots: 491
+---
+>     Free table slots: 487
+462,463c476,477
+<     Peak demand: 1.94 megawords
+<     Current cache: 2.884 megawords
+---
+>     Peak demand: 1.52 megawords
+>     Current cache: 2.98 megawords
+476c490
+<         D              Y     AVE        47           1
+---
+>         D              Y     AVE        26           1
+478c492
+<     Free table slots: 489
+---
+>     Free table slots: 487
+481,482c495,496
+<     Peak demand: 2.41 megawords
+<     Current cache: 2.84 megawords
+---
+>     Peak demand: 1.78 megawords
+>     Current cache: 2.836 megawords
+514,517c528,531
+<         A              T     AVE         1           1
+<         B              Y     AVE        71           1
+<         C              Y     AVE        47           1
+<         D              Y     AVE        23           1
+---
+>         A              Y     AVE        76           1
+>         B              Y     AVE        59           1
+>         C              Y     AVE        42           1
+>         D              Y     AVE        26           1
+519c533
+<     Free table slots: 487
+---
+>     Free table slots: 484
+522,523c536,537
+<     Peak demand: 2.845 megawords
+<     Current cache: 2.979 megawords
+---
+>     Peak demand: 2.39 megawords
+>     Current cache: 2.918 megawords
+538,539c552,553
+<         A              Y     AVE        47           1
+<         B              Y     AVE        23           1
+---
+>         A              Y     AVE        26           1
+>         B              Y     AVE         9           1
+541c555
+<     Free table slots: 491
+---
+>     Free table slots: 481
+544,545c558,559
+<     Peak demand: 2.46 megawords
+<     Current cache: 2.794 megawords
+---
+>     Peak demand: 2.18 megawords
+>     Current cache: 2.922 megawords
+551c565
+< ! excercise under the default memory management
+---
+> ! excercise under pretty strict memory management
+ 
+SAY **************************************************
+**************************************************
+SAY ************* DIFF FRUGAL 0 TO 60 ****************
+************* DIFF FRUGAL 0 TO 60 ****************
+SPAWN diff bn_dynamic_gather_0.out bn_dynamic_gather_60.out
+1c1
+< CANCEL MODE FRUGAL
+---
+> SET MODE FRUGAL:60
+4c4
+<       FRUGAL        CANCELED            30
+---
+>       FRUGAL           SET              60
+56c56
+<         V              T     AVE         1           1
+---
+>         V              Y     AVE        16           1
+58c58
+<     Free table slots: 498
+---
+>     Free table slots: 478
+61,62c61,62
+<     Peak demand: 6 megawords
+<     Current cache: 6 megawords
+---
+>     Peak demand: 2.384 megawords
+>     Current cache: 5.712 megawords
+65,66c65,66
+<     Peak demand: 6 megawords
+<     Current cache: 6 megawords
+---
+>     Peak demand: 2.384 megawords
+>     Current cache: 5.712 megawords
+68c68
+<  V[D=test_dyn_mem]                 XYZ   mr:226 size:4000000
+---
+>  V[D=test_dyn_mem]                 XYZ   mr:242 size:2000000
+72,73c72,77
+<  V[D=test_dyn_mem]                 XYZ   mr:243 size:2000000
+<          1/0.5                 1/0.5                 1/0.5                10/9.5
+---
+>  V[D=test_dyn_mem]                 XYZ   mr:230 size:32000
+>          1/0.5               993/992.5               1/0.5              ... /0.5
+>       1000/1001             1000/1000.5              2/2.5              ... /10.5
+>                                                               AVE
+>  V[D=test_dyn_mem]                 XYZT  mr:184 size:160000
+>          1/0.5               993/992.5               1/0.5                 1/0.5
+75a80,155
+>  V[D=test_dyn_mem]                 XYZ   mr:180 size:64000
+>          1/0.5               977/976.5               1/0.5              ... /0.5
+>       1000/1001              992/992.5               2/2.5              ... /10.5
+>                                                               AVE
+>  V[D=test_dyn_mem]                 XYZT  mr:196 size:320000
+>          1/0.5               977/976.5               1/0.5                 1/0.5
+>       1000/1001              992/992.5               2/2.5                10/10.5
+>  
+>  V[D=test_dyn_mem]                 XYZ   mr:188 size:64000
+>          1/0.5               961/960.5               1/0.5              ... /0.5
+>       1000/1001              976/976.5               2/2.5              ... /10.5
+>                                                               AVE
+>  V[D=test_dyn_mem]                 XYZT  mr:212 size:320000
+>          1/0.5               961/960.5               1/0.5                 1/0.5
+>       1000/1001              976/976.5               2/2.5                10/10.5
+>  
+>  V[D=test_dyn_mem]                 XYZ   mr:200 size:64000
+>          1/0.5               945/944.5               1/0.5              ... /0.5
+>       1000/1001              960/960.5               2/2.5              ... /10.5
+>                                                               AVE
+>  V[D=test_dyn_mem]                 XYZT  mr:226 size:320000
+>          1/0.5               945/944.5               1/0.5                 1/0.5
+>       1000/1001              960/960.5               2/2.5                10/10.5
+>  
+>  V[D=test_dyn_mem]                 XYZ   mr:224 size:64000
+>          1/0.5               929/928.5               1/0.5              ... /0.5
+>       1000/1001              944/944.5               2/2.5              ... /10.5
+>                                                               AVE
+>  V[D=test_dyn_mem]                 XYZT  mr:231 size:320000
+>          1/0.5               929/928.5               1/0.5                 1/0.5
+>       1000/1001              944/944.5               2/2.5                10/10.5
+>  
+>  V[D=test_dyn_mem]                 XYZ   mr:229 size:64000
+>          1/0.5               913/912.5               1/0.5              ... /0.5
+>       1000/1001              928/928.5               2/2.5              ... /10.5
+>                                                               AVE
+>  V[D=test_dyn_mem]                 XYZT  mr:237 size:320000
+>          1/0.5               913/912.5               1/0.5                 1/0.5
+>       1000/1001              928/928.5               2/2.5                10/10.5
+>  
+>  V[D=test_dyn_mem]                 XYZ   mr:234 size:64000
+>          1/0.5               897/896.5               1/0.5              ... /0.5
+>       1000/1001              912/912.5               2/2.5              ... /10.5
+>                                                               AVE
+>  V[D=test_dyn_mem]                 XYZT  mr:243 size:320000
+>          1/0.5               897/896.5               1/0.5                 1/0.5
+>       1000/1001              912/912.5               2/2.5                10/10.5
+>  
+>  V[D=test_dyn_mem]                 XYZ   mr:241 size:64000
+>          1/0.5               881/880.5               1/0.5              ... /0.5
+>       1000/1001              896/896.5               2/2.5              ... /10.5
+>                                                               AVE
+>  V[D=test_dyn_mem]                 XYZT  mr:247 size:320000
+>          1/0.5               881/880.5               1/0.5                 1/0.5
+>       1000/1001              896/896.5               2/2.5                10/10.5
+>  
+>  V[D=test_dyn_mem]                 XYZ   mr:244 size:64000
+>          1/0.5               865/864.5               1/0.5              ... /0.5
+>       1000/1001              880/880.5               2/2.5              ... /10.5
+>                                                               AVE
+>  V[D=test_dyn_mem]                 XYZT  mr:248 size:320000
+>          1/0.5               865/864.5               1/0.5                 1/0.5
+>       1000/1001              880/880.5               2/2.5                10/10.5
+>  
+>  V[D=test_dyn_mem]                 XYZ   mr:249 size:64000
+>          1/0.5               849/848.5               1/0.5              ... /0.5
+>       1000/1001              864/864.5               2/2.5              ... /10.5
+>                                                               AVE
+>  V[D=test_dyn_mem]                 XYZT  mr:228 size:320000
+>          1/0.5               849/848.5               1/0.5                 1/0.5
+>       1000/1001              864/864.5               2/2.5                10/10.5
+>  
+>  V[D=test_dyn_mem]                 XYZ   mr:239 size:64000
+>          1/0.5               833/832.5               1/0.5              ... /0.5
+>       1000/1001              848/848.5               2/2.5              ... /10.5
+>                                                               AVE
+93c173
+<         V              T     VAR         1           1
+---
+>         V              Y     VAR        46           1
+95c175
+<     Free table slots: 498
+---
+>     Free table slots: 488
+98,99c178,179
+<     Peak demand: 8 megawords
+<     Current cache: 8 megawords
+---
+>     Peak demand: 3.196 megawords
+>     Current cache: 7.944 megawords
+116c196
+<         V              Y     AVE       162           1
+---
+>         V              Y     AVE        14           1
+118c198
+<     Free table slots: 496
+---
+>     Free table slots: 474
+121,122c201,202
+<     Peak demand: 5.888 megawords
+<     Current cache: 3.32 megawords
+---
+>     Peak demand: 2.336 megawords
+>     Current cache: 5.896 megawords
+141a222
+>         V              T     AVE         2         999
+143c224
+<     Free table slots: 497
+---
+>     Free table slots: 493
+146c227
+<     Peak demand: 2.024 megawords
+---
+>     Peak demand: 2.008 megawords
+150c231
+<     Peak demand: 2.024 megawords
+---
+>     Peak demand: 2.008 megawords
+153c234
+<  V[D=test_dyn_mem]                 XYZ   mr:231 size:2000000
+---
+>  V[D=test_dyn_mem]                 XYZ   mr:247 size:2000000
+157c238
+<  V[D=test_dyn_mem]                 XZ    mr:237 size:4000
+---
+>  V[D=test_dyn_mem]                 XZ    mr:248 size:4000
+161,162c242,243
+<  V[D=test_dyn_mem]                 XZT   mr:243 size:20000
+<          1/0.5              1000/999.5               1/0.5                 1/0.5
+---
+>  V[D=test_dyn_mem]                 XZT   mr:242 size:4000
+>          1/0.5              1000/999.5               1/0.5                 9/8.5
+164a246,261
+>  V[D=test_dyn_mem]                 XZT   mr:243 size:4000
+>          1/0.5              1000/999.5               1/0.5                 7/6.5
+>       1000/1001             1000/1000.5              2/2.5                 8/8.5
+>  
+>  V[D=test_dyn_mem]                 XZT   mr:244 size:4000
+>          1/0.5              1000/999.5               1/0.5                 5/4.5
+>       1000/1001             1000/1000.5              2/2.5                 6/6.5
+>  
+>  V[D=test_dyn_mem]                 XZT   mr:245 size:4000
+>          1/0.5              1000/999.5               1/0.5                 3/2.5
+>       1000/1001             1000/1000.5              2/2.5                 4/4.5
+>  
+>  V[D=test_dyn_mem]                 XZT   mr:249 size:4000
+>          1/0.5              1000/999.5               1/0.5                 1/0.5
+>       1000/1001             1000/1000.5              2/2.5                 2/2.5
+>  
+183c280
+<         V              Y     VAR       153           1
+---
+>         V              Y     VAR        15           1
+185c282
+<     Free table slots: 496
+---
+>     Free table slots: 478
+188,189c285,286
+<     Peak demand: 5.978 megawords
+<     Current cache: 5.05 megawords
+---
+>     Peak demand: 2.39 megawords
+>     Current cache: 5.86 megawords
+210c307
+<         V              Z     AV4         1           1
+---
+>         V              Y     AV4       200           1
+212c309
+<     Free table slots: 498
+---
+>     Free table slots: 497
+215,216c312,313
+<     Peak demand: 1.000002 megawords
+<     Current cache: 1.000002 megawords
+---
+>     Peak demand: 400002 words
+>     Current cache: 800002 words
+233c330
+<         V              Y     AV4       494           1
+---
+>         V              Y     AV4       197           1
+235c332
+<     Free table slots: 498
+---
+>     Free table slots: 496
+238,239c335,336
+<     Peak demand: 988002 words
+<     Current cache: 24002 words
+---
+>     Peak demand: 394002 words
+>     Current cache: 818002 words
+263c360
+<         V              Y     AV4       989          10
+---
+>         V              Y     AV4       395          10
+265c362
+<         V              Y     AV4       989          10
+---
+>         V              Y     AV4       395          10
+267c364
+<     Free table slots: 496
+---
+>     Free table slots: 495
+270,271c367,368
+<     Peak demand: 989006 words
+<     Current cache: 11006 words
+---
+>     Peak demand: 395006 words
+>     Current cache: 605006 words
+289c386
+<         V              Y     AV4       494          10
+---
+>         V              Y     AV4       197          10
+291c388
+<     Free table slots: 497
+---
+>     Free table slots: 495
+294,295c391,392
+<     Peak demand: 988004 words
+<     Current cache: 24004 words
+---
+>     Peak demand: 394004 words
+>     Current cache: 818004 words
+312c409
+<         V              Y     AV4        24           1
+---
+>         V              Y     AV4         9           1
+314c411
+<     Free table slots: 494
+---
+>     Free table slots: 486
+317,318c414,415
+<     Peak demand: 480962 words
+<     Current cache: 802562 words
+---
+>     Peak demand: 180362 words
+>     Current cache: 922202 words
+339c436,438
+<     No split/gather occurred in the last evaluation
+---
+>     Last gather
+>         Variable    Axis   Xform     Chunk    Repeated
+>         V1000          Z                 3           1
+341c440
+<     Free table slots: 498
+---
+>     Free table slots: 495
+344,345c443,444
+<     Peak demand: 4.144 megawords
+<     Current cache: 4.048 megawords
+---
+>     Peak demand: 3.108 megawords
+>     Current cache: 4.096 megawords
+360c459
+<         V1000          Z                 3           1
+---
+>         V1000          Z                 1           1
+362c461
+<     Free table slots: 496
+---
+>     Free table slots: 492
+365,366c464,465
+<     Peak demand: 3.108 megawords
+<     Current cache: 1.096 megawords
+---
+>     Peak demand: 1.084 megawords
+>     Current cache: 3.096 megawords
+381c480
+<         V1000          Y                22           1
+---
+>         V1000          Y                 8           1
+383c482
+<     Free table slots: 496
+---
+>     Free table slots: 492
+386,387c485,486
+<     Peak demand: 959680 words
+<     Current cache: 544320 words
+---
+>     Peak demand: 379520 words
+>     Current cache: 861440 words
+406a506
+>         V1000          Z                 3         100
+408c508
+<     Free table slots: 496
+---
+>     Free table slots: 488
+411,412c511,512
+<     Peak demand: 89440 words
+<     Current cache: 88960 words
+---
+>     Peak demand: 58840 words
+>     Current cache: 89560 words
+434c534
+<         V              T     AVE         1           1
+---
+>         V              Y     AVE        16           1
+436c536
+<     Free table slots: 498
+---
+>     Free table slots: 478
+439,440c539,540
+<     Peak demand: 3 megawords
+<     Current cache: 3 megawords
+---
+>     Peak demand: 1.192 megawords
+>     Current cache: 2.856 megawords
+457c557
+<         A              Y     AVE        47           1
+---
+>         A              Y     AVE         4           1
+459c559
+<     Free table slots: 491
+---
+>     Free table slots: 431
+462,463c562,563
+<     Peak demand: 1.94 megawords
+<     Current cache: 2.884 megawords
+---
+>     Peak demand: 1.08 megawords
+>     Current cache: 2.984 megawords
+476c576
+<         D              Y     AVE        47           1
+---
+>         D              Y     AVE         4           1
+478c578
+<     Free table slots: 489
+---
+>     Free table slots: 442
+481,482c581,582
+<     Peak demand: 2.41 megawords
+<     Current cache: 2.84 megawords
+---
+>     Peak demand: 1.12 megawords
+>     Current cache: 2.992 megawords
+514,517c614,617
+<         A              T     AVE         1           1
+<         B              Y     AVE        71           1
+<         C              Y     AVE        47           1
+<         D              Y     AVE        23           1
+---
+>         A              Y     AVE        33           1
+>         B              Y     AVE        23           1
+>         C              Y     AVE        14           1
+>         D              Y     AVE         4           1
+519c619
+<     Free table slots: 487
+---
+>     Free table slots: 439
+522,523c622,623
+<     Peak demand: 2.845 megawords
+<     Current cache: 2.979 megawords
+---
+>     Peak demand: 2.06 megawords
+>     Current cache: 2.996 megawords
+538,539c638,639
+<         A              Y     AVE        47           1
+<         B              Y     AVE        23           1
+---
+>         A              Y     AVE         4           1
+>         B              Y     AVE         9           1
+541c641
+<     Free table slots: 491
+---
+>     Free table slots: 481
+544,545c644,645
+<     Peak demand: 2.46 megawords
+<     Current cache: 2.794 megawords
+---
+>     Peak demand: 2.18 megawords
+>     Current cache: 2.922 megawords
+551d650
+< ! excercise under the default memory management
+ 
+ 
+! deliberate error
+SET MODE IGNORE
+SET MODE FRUGAL:95
+SET MODE/LAST IGNORE
+ 
+ 
+GO bn_reset bn_stat_precision
+cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_stat_precision
+GO bn_stat_precision
+! bn_stat_precision.jnl
+! 3/2017 *acm* Ticket 2512
+ 
+! The stat command self-adjusts precision to make the
+! min and max listed distinct
+ 
+let var = {1907.1,1907.05,1907.11}
+stat/br var
+ 
+ Total # of data points: 3 (3*1*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 1907.05
+ Maximum value: 1907.11
+ Mean    value: 1907.08667 (unweighted average)
+ 
+let var = {1907.001,1907.0005,1907.0011}
+stat/br var
+ 
+ Total # of data points: 3 (3*1*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 1907.0005
+ Maximum value: 1907.0011
+ Mean    value: 1907.00087 (unweighted average)
+ 
+let var = {221907.001,221907.0005,221907.0011}
+stat/br var
+ 
+ Total # of data points: 3 (3*1*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 221907.0005
+ Maximum value: 221907.0011
+ Mean    value: 221907.0008666667 (unweighted average)
+ 
+ 
+! STAT/PREC controls the precision, writing more or less digits
+ 
+stat/br/prec=5 var
+ 
+ Total # of data points: 3 (3*1*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 221907
+ Maximum value: 221907
+ Mean    value: 221907 (unweighted average)
+stat/br/prec=12 var
+ 
+ Total # of data points: 3 (3*1*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 221907.0005
+ Maximum value: 221907.0011
+ Mean    value: 221907.000867 (unweighted average)
+ 
+! some more examples
+let var = 30*randu(1+i[i=1:10])
+stat/br var
+ 
+ Total # of data points: 10 (10*1*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 2.7871
+ Maximum value: 27.002
+ Mean    value: 15.77 (unweighted average)
+stat/br/prec=3 var
+ 
+ Total # of data points: 10 (10*1*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 2.79
+ Maximum value: 27
+ Mean    value: 15.8 (unweighted average)
+stat/br/prec=7 var
+ 
+ Total # of data points: 10 (10*1*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 2.787087
+ Maximum value: 27.00225
+ Mean    value: 15.76991 (unweighted average)
+stat/br/prec=12 var
+ 
+ Total # of data points: 10 (10*1*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 2.78708674143
+ Maximum value: 27.002246751
+ Mean    value: 15.76991222 (unweighted average)
+ 
+GO bn_reset bn_plot_vs_with_time
+cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_plot_vs_with_time
+GO bn_plot_vs_with_time
+! bn_plot_vs_with_time.jnl
+! See ticket 2246
+! 3/27/2017 *ACM*
+ 
+! PLOT/VS plots automatically draw a formatted time axis
+! when one of the variables has calendar units and time origin
+ 
+! (Currently allow just one axis to be time formatted)
+ 
+can mode logo
+ 
+! Date units syntax days since 1982-01-01 is valid
+ 
+define axis/t=1:500:10/units=days/t0="01-jan-1982" tax
+let/units="days since 1982-01-01" mytime2 = t[gt=tax]
+ 
+let myvar2 = RANDU(mytime2)
+plot/vs/line mytime2, myvar2
+plot/vs/over/sym/color=red mytime2[L=1:50:2], myvar2[L=1:50:2]
+ 
+! time axis on the vertical
+ 
+! Date syntax days since 01-jan-1982 is also valid.
+define axis/t=1:500:10/units=days/t0="01-jan-1982" tax
+let/units="days since 01-jan-1982" mytime2 = t[gt=tax]
+ 
+plot/vs/line myvar2, mytime2
+plot/vs/over/sym/color=red/line  myvar2[L=1:50:2],  mytime2[L=1:50:2]
+ 
+! LAS style plots:
+! Dataset with pressure,temperature on ZT grid. Define a time variable
+! send it to PLOT/VS to draw plots with time-formatted axis, plain
+! 2-variable plots and plot/vs plots.
+! Define variables as if gridded T-Z data in spurs dataset
+ 
+define axis/t="25-JAN-2017:23:00":"02-FEB-2017 10:00":12/units=hours/t0=1-jan-2017 time
+define axis/z=1:50:4/units=m/depth zaxis
+let/title=pressure/units=m pres=z[gz=zaxis] + 0.3*randu(t[gt=time])
+let/title=temperature/units="Deg C" temp = 20 - z[gz=zaxis] + 10*randu(t[gt=time])
+ 
+! Define a time variable
+let/units="`pres,return=tunits` since `pres,return=t0`" ttvar = t[gt=temp] + 0*temp
+ !-> DEFINE VARIABLE/units="HOURS since 1-JAN-2017" ttvar = t[gt=temp] + 0*temp
+ 
+! time on horizontal axis
+set v ul; plot/vs/ribbon/sym=17/thick/vlim=50:0  ttvar, pres, temp
+ 
+! time on vertical axis
+set v ur; plot/vs/ribbon/sym=17/thick/hlim=50:0  pres, ttvar, temp
+ 
+! More time axis styles
+ 
+define axis/t=1-jan-2016:1-jan-2017:45/units=days/t0=1-jan-1970 time
+let/title=pressure/units=m pres=z[gz=zaxis] + 0.3*randu(t[gt=time])
+let/title=temperature/units="Deg C" temp = 20 - z[gz=zaxis] + 10*randu(t[gt=time])
+let/units="`pres,return=tunits` since `pres,return=t0`" ttvar = t[gt=temp] + 0*temp
+ !-> DEFINE VARIABLE/units="DAYS since 1-JAN-1970" ttvar = t[gt=temp] + 0*temp
+ 
+set v ll; plot/vs/ribbon/sym=17/thick/vlim=50:0  ttvar, pres, temp
+ 
+define axis/t=1-jan-2001:1-jan-2012:181/units=days/t0=1-jan-1970 time
+let/title=pressure/units=m pres=z[gz=zaxis] + 0.3*randu(t[gt=time])
+let/title=temperature/units="Deg C" temp = 20 - z[gz=zaxis] + 10*randu(t[gt=time])
+let/units="`pres,return=tunits` since `pres,return=t0`" ttvar = t[gt=temp] + 0*temp
+ !-> DEFINE VARIABLE/units="DAYS since 1-JAN-1970" ttvar = t[gt=temp] + 0*temp
+ 
+set v lr; plot/vs/ribbon/sym=17/thick/vlim=50:0  ttvar, pres, temp
+ 
+ 
+set mode/last logo
+ 
+GO bn_reset bn_dot_product
+cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_dot_product
+GO bn_dot_product
+sh func dot*
+DOT(VAR1,VAR2,IDIM)
+    Compute the inner product of two variables along given dimension
+    VAR1: Variable 1
+    VAR2: Variable 2
+    IDIM: Dimension (e.g.1,2,...)
+DOT_X(VAR1,VAR2)
+    Compute the inner product of two variables along X-axis
+    VAR1: Variable 1
+    VAR2: Variable 2
+DOT_Y(VAR1,VAR2)
+    Compute the inner product of two variables along Y-axis
+    VAR1: Variable 1
+    VAR2: Variable 2
+DOT_Z(VAR1,VAR2)
+    Compute the inner product of two variables along Z-axis
+    VAR1: Variable 1
+    VAR2: Variable 2
+DOT_T(VAR1,VAR2)
+    Compute the inner product of two variables along T-axis
+    VAR1: Variable 1
+    VAR2: Variable 2
+DOT_E(VAR1,VAR2)
+    Compute the inner product of two variables along E-axis
+    VAR1: Variable 1
+    VAR2: Variable 2
+DOT_F(VAR1,VAR2)
+    Compute the inner product of two variables along F-axis
+    VAR1: Variable 1
+    VAR2: Variable 2
+ 
+! A call to dot(var1, var2, dir) translates into call to
+! function dot_q(var1,var2) where q is the pax direction
+! corresponding to dir=1,2,...,6
+ 
+set list/pre=7
+ 
+define axis/x=1:5:1 xpax
+define axis/y=0.1:0.3:0.1 ypax
+define axis/z=0.01:0.04:0.01 zpax
+define axis/e=-3:-1:1 epax
+define axis/f=-0.4:-0.1:0.1 fpax
+ 
+let var1 = x[gx=xpax]
+let var2 = 1+0*x[gx=xpax]
+list var1, var2
+             X: 0.5 to 5.5
+ Column  1: VAR1 is X[GX=XPAX]
+ Column  2: VAR2 is 1+0*X[GX=XPAX]
+             VAR1     VAR2
+1   / 1:  1.000000  1.000000
+2   / 2:  2.000000  1.000000
+3   / 3:  3.000000  1.000000
+4   / 4:  4.000000  1.000000
+5   / 5:  5.000000  1.000000
+list  dot(var1, var2, 1)
+             VARIABLE : DOT(VAR1, VAR2, 1)
+          15.00000
+!can var/all
+ 
+let var1 = x[gx=xpax]
+let var2 = 1+0*x[gx=xpax]
+list  dot_x(var1, var2)
+             VARIABLE : DOT_X(VAR1, VAR2)
+          15.00000
+ 
+let var1 = y[gy=ypax]
+let var2 = 1+0*y[gy=ypax]
+list var1, var2
+             Y: 0.05 to 0.4
+ Column  1: VAR1 is Y[GY=YPAX]
+ Column  2: VAR2 is 1+0*Y[GY=YPAX]
+               VAR1     VAR2
+0.1  / 1:  0.1000000  1.000000
+0.2  / 2:  0.2000000  1.000000
+0.3  / 3:  0.3000000  1.000000
+list  dot(var1, var2, 2)
+             VARIABLE : DOT(VAR1, VAR2, 2)
+          0.6000000
+ 
+let var1 = z[gz=zpax]
+let var2 = 1+0*z[gz=zpax]
+list var1, var2
+             Z: 0.005 to 0.045
+ Column  1: VAR1 is Z[GZ=ZPAX]
+ Column  2: VAR2 is 1+0*Z[GZ=ZPAX]
+                 VAR1     VAR2
+0.01  / 1:  0.01000000  1.000000
+0.02  / 2:  0.02000000  1.000000
+0.03  / 3:  0.03000000  1.000000
+0.04  / 4:  0.04000000  1.000000
+list  dot(var1, var2, 3)
+             VARIABLE : DOT(VAR1, VAR2, 3)
+          0.10000000
+ 
+let var1 = L[gt=month_reg]
+let var2 = 1+0*L[gt=month_reg]
+list var1, var2
+             TIME: 01-JAN 00:45 to 31-DEC 06:34
+ Column  1: VAR1 is L[GT=MONTH_REG]
+ Column  2: VAR2 is 1+0*L[GT=MONTH_REG]
+                      VAR1     VAR2
+16-JAN      /  1:   1.00000  1.000000
+15-FEB      /  2:   2.00000  1.000000
+17-MAR      /  3:   3.00000  1.000000
+16-APR      /  4:   4.00000  1.000000
+16-MAY      /  5:   5.00000  1.000000
+16-JUN      /  6:   6.00000  1.000000
+16-JUL      /  7:   7.00000  1.000000
+16-AUG      /  8:   8.00000  1.000000
+15-SEP      /  9:   9.00000  1.000000
+16-OCT      / 10:  10.00000  1.000000
+15-NOV      / 11:  11.00000  1.000000
+16-DEC      / 12:  12.00000  1.000000
+list  dot(var1, var2, 4)
+             VARIABLE : DOT(VAR1, VAR2, 4)
+          78.00000
+ 
+let var1 = _e[ge=epax]
+let var2 = 1+0*_e[ge=epax]
+list var1, var2
+             E: -3.5 to -0.5
+ Column  1: VAR1 is _E[GE=EPAX]
+ Column  2: VAR2 is 1+0*_E[GE=EPAX]
+              VAR1     VAR2
+-3   / 1: -3.000000  1.000000
+-2   / 2: -2.000000  1.000000
+-1   / 3: -1.000000  1.000000
+list  dot(var1, var2, 5)
+             VARIABLE : DOT(VAR1, VAR2, 5)
+         -6.000000
+ 
+let var1 = _f[gf=fpax]
+let var2 = 1+0*_f[gf=fpax]
+list var1, var2
+             F: -0.45 to -0.05
+ Column  1: VAR1 is _F[GF=FPAX]
+ Column  2: VAR2 is 1+0*_F[GF=FPAX]
+                VAR1     VAR2
+-0.4  / 1: -0.4000000  1.000000
+-0.3  / 2: -0.3000000  1.000000
+-0.2  / 3: -0.2000000  1.000000
+-0.1  / 4: -0.1000000  1.000000
+list  dot(var1, var2, 6)
+             VARIABLE : DOT(VAR1, VAR2, 6)
+         -1.000000
+ 
+let axy = x[gx=xpax] + y[gy=ypax]
+let bxz = 0*x[gx=xpax]+  10*Z[GZ=Zpax]
+list axy, bxz
+             X: 0.5 to 5.5
+             Y: 0.05 to 0.4
+             Z: 0.005 to 0.045
+ Column  1: AXY is X[GX=XPAX] + Y[GY=YPAX]
+ Column  2: BXZ is 0*X[GX=XPAX]+  10*Z[GZ=ZPAX]
+              AXY      BXZ
+ ---- K:1 Z:   0.01
+ ---- J:1 Y:   0.1
+1   / 1:  1.100000  0.1000000
+2   / 2:  2.100000  0.1000000
+3   / 3:  3.100000  0.1000000
+4   / 4:  4.100000  0.1000000
+5   / 5:  5.100000  0.1000000
+ ---- J:2 Y:   0.2
+1   / 1:  1.200000  0.1000000
+2   / 2:  2.200000  0.1000000
+3   / 3:  3.200000  0.1000000
+4   / 4:  4.200000  0.1000000
+5   / 5:  5.200000  0.1000000
+ ---- J:3 Y:   0.3
+1   / 1:  1.300000  0.1000000
+2   / 2:  2.300000  0.1000000
+3   / 3:  3.300000  0.1000000
+4   / 4:  4.300000  0.1000000
+5   / 5:  5.300000  0.1000000
+ ---- K:2 Z:   0.02
+ ---- J:1 Y:   0.1
+1   / 1:  1.100000  0.2000000
+2   / 2:  2.100000  0.2000000
+3   / 3:  3.100000  0.2000000
+4   / 4:  4.100000  0.2000000
+5   / 5:  5.100000  0.2000000
+ ---- J:2 Y:   0.2
+1   / 1:  1.200000  0.2000000
+2   / 2:  2.200000  0.2000000
+3   / 3:  3.200000  0.2000000
+4   / 4:  4.200000  0.2000000
+5   / 5:  5.200000  0.2000000
+ ---- J:3 Y:   0.3
+1   / 1:  1.300000  0.2000000
+2   / 2:  2.300000  0.2000000
+3   / 3:  3.300000  0.2000000
+4   / 4:  4.300000  0.2000000
+5   / 5:  5.300000  0.2000000
+ ---- K:3 Z:   0.03
+ ---- J:1 Y:   0.1
+1   / 1:  1.100000  0.3000000
+2   / 2:  2.100000  0.3000000
+3   / 3:  3.100000  0.3000000
+4   / 4:  4.100000  0.3000000
+5   / 5:  5.100000  0.3000000
+ ---- J:2 Y:   0.2
+1   / 1:  1.200000  0.3000000
+2   / 2:  2.200000  0.3000000
+3   / 3:  3.200000  0.3000000
+4   / 4:  4.200000  0.3000000
+5   / 5:  5.200000  0.3000000
+ ---- J:3 Y:   0.3
+1   / 1:  1.300000  0.3000000
+2   / 2:  2.300000  0.3000000
+3   / 3:  3.300000  0.3000000
+4   / 4:  4.300000  0.3000000
+5   / 5:  5.300000  0.3000000
+ ---- K:4 Z:   0.04
+ ---- J:1 Y:   0.1
+1   / 1:  1.100000  0.4000000
+2   / 2:  2.100000  0.4000000
+3   / 3:  3.100000  0.4000000
+4   / 4:  4.100000  0.4000000
+5   / 5:  5.100000  0.4000000
+ ---- J:2 Y:   0.2
+1   / 1:  1.200000  0.4000000
+2   / 2:  2.200000  0.4000000
+3   / 3:  3.200000  0.4000000
+4   / 4:  4.200000  0.4000000
+5   / 5:  5.200000  0.4000000
+ ---- J:3 Y:   0.3
+1   / 1:  1.300000  0.4000000
+2   / 2:  2.300000  0.4000000
+3   / 3:  3.300000  0.4000000
+4   / 4:  4.300000  0.4000000
+5   / 5:  5.300000  0.4000000
+list dot(axy, bxz, 1)
+             VARIABLE : DOT(AXY, BXZ, 1)
+             SUBSET   : 3 by 4 points (Y-Z)
+                0.1       0.2       0.3    
+                 1         2         3
+ 0.01  / 1:  1.550000  1.600000  1.650000
+ 0.02  / 2:  3.100000  3.200000  3.300000
+ 0.03  / 3:  4.650000  4.800000  4.950000
+ 0.04  / 4:  6.200000  6.400000  6.600000
+ 
+let byz = y[gy=ypax]+  10*Z[GZ=Zpax]
+list dot(axy, byz, 2)
+             VARIABLE : DOT(AXY, BYZ, 2)
+             SUBSET   : 5 by 4 points (X-Z)
+                1         2         3         4         5      
+                 1         2         3         4         5
+ 0.01  / 1:  1.100000  2.000000  2.900000  3.800000  4.700000
+ 0.02  / 2:  1.460000  2.660000  3.860000  5.060000  6.260000
+ 0.03  / 3:  1.820000  3.320000  4.820000  6.320000  7.820000
+ 0.04  / 4:  2.180000  3.980000  5.780000  7.580000  9.380000
+ 
+let lvar = L[gt=month_reg] - 1
+let axyt = axy + lvar
+let multi_dot = dot(axyt, byz, 2)
+save/file=a.nc/clobber multi_dot
+ 
+can var multi_dot
+use a.nc
+!  This should be the same as dot(axy, byz, 2)
+list/l=1 multi_dot
+             VARIABLE : DOT(AXYT, BYZ, 2)
+             FILENAME : a.nc
+             SUBSET   : 5 by 4 points (X-Z)
+             TIME     : 16-JAN 06:00
+                1         2         3         4         5      
+                 1         2         3         4         5
+ 0.01  / 1:  1.100000  2.000000  2.900000  3.800000  4.700000
+yes? q
+ 0.02  / 2:  1.460000  2.660000  3.860000  5.060000  6.260000
+ 0.03  / 3:  1.820000  3.320000  4.820000  6.320000  7.820000
+ 0.04  / 4:  2.180000  3.980000  5.780000  7.580000  9.380000
+ 
+!  z and t
+ 
+ 
+let axz = x[gx=xpax] + z[gz=zpax]
+let bzt = 0*z[gz=zpax]+  10*L[gt=month_reg]
+list dot(axz, bzt, 3)
+             VARIABLE : DOT(AXZ, BZT, 3)
+             SUBSET   : 5 by 12 points (X-TIME)
+                       1         2         3         4         5      
+                        1         2         3         4         5
+ 16-JAN      /  1:    41.000    81.000   121.000   161.000   201.000
+ 15-FEB      /  2:    82.000   162.000   242.000   322.000   402.000
+ 17-MAR      /  3:   123.000   243.000   363.000   483.000   603.000
+ 16-APR      /  4:   164.000   324.000   484.000   644.000   804.000
+ 16-MAY      /  5:   205.000   405.000   605.000   805.000  1005.000
+ 16-JUN      /  6:   246.000   486.000   726.000   966.000  1206.000
+ 16-JUL      /  7:   287.000   567.000   847.000  1127.000  1407.000
+ 16-AUG      /  8:   328.000   648.000   968.000  1288.000  1608.000
+ 15-SEP      /  9:   369.000   729.000  1089.000  1449.000  1809.000
+ 16-OCT      / 10:   410.000   810.000  1210.000  1610.000  2010.000
+ 15-NOV      / 11:   451.000   891.000  1331.000  1771.000  2211.000
+ 16-DEC      / 12:   492.000   972.000  1452.000  1932.000  2412.000
+ 
+let ayt = y[gy=ypax]+ 10*L[gt=month_reg]
+list dot(ayt, bzt, 4)
+             VARIABLE : DOT(AYT, BZT, 4)
+             SUBSET   : 3 by 4 points (Y-Z)
+                0.1       0.2       0.3    
+                 1         2         3
+ 0.01  / 1:  65078.00  65156.00  65234.00
+ 0.02  / 2:  65078.00  65156.00  65234.00
+ 0.03  / 3:  65078.00  65156.00  65234.00
+ 0.04  / 4:  65078.00  65156.00  65234.00
+ 
+ 
+let xvar = x[gx=xpax] - 1
+let axyt = ayt + xvar
+let multi_dot = dot(axyt, bzt, 4)
+save/file=a.nc/clobber multi_dot
+ 
+can var multi_dot
+use a.nc
+!  This should be the same as dot(ayt, bzt, 4)
+list/i=1 multi_dot
+             VARIABLE : DOT(AXYT, BYZ, 2)
+             FILENAME : a.nc
+             SUBSET   : 4 by 12 points (Z-TIME)
+             X        : 1
+                      0.01      0.02      0.03      0.04    
+                        1         2         3         4
+ 16-JAN      /  1:   1.10000   1.46000   1.82000   2.18000
+ 15-FEB      /  2:   2.00000   2.66000   3.32000   3.98000
+ 17-MAR      /  3:   2.90000   3.86000   4.82000   5.78000
+ 16-APR      /  4:   3.80000   5.06000   6.32000   7.58000
+ 16-MAY      /  5:   4.70000   6.26000   7.82000   9.38000
+ 16-JUN      /  6:   5.60000   7.46000   9.32000  11.18000
+ 16-JUL      /  7:   6.50000   8.66000  10.82000  12.98000
+ 16-AUG      /  8:   7.40000   9.86000  12.32000  14.78000
+ 15-SEP      /  9:   8.30000  11.06000  13.82000  16.58000
+ 16-OCT      / 10:   9.20000  12.26000  15.32000  18.38000
+ 15-NOV      / 11:  10.10000  13.46000  16.82000  20.18000
+ 16-DEC      / 12:  11.00000  14.66000  18.32000  21.98000
+ 
+can dat/all
+ 
+!  e and f
+ 
+let ayf = _f[gf=fpax] + y[gy=ypax]
+let bfe = 0*_f[gf=fpax]+  10*_e[ge=epax]
+list dot(ayf, bfe, 6)
+             VARIABLE : DOT(AYF, BFE, 6)
+             SUBSET   : 3 by 3 points (Y-E)
+               0.1       0.2       0.3    
+                1         2         3
+ -3   / 1:  18.00000   6.00000  -6.00000
+ -2   / 2:  12.00000   4.00000  -4.00000
+ -1   / 3:   6.00000   2.00000  -2.00000
+ 
+let aze = z[gz=zpax]+ 10*_e[ge=epax]
+list dot(aze, bfe, 5)
+             VARIABLE : DOT(AZE, BFE, 5)
+             SUBSET   : 4 by 4 points (Z-F)
+               0.01      0.02      0.03      0.04    
+                 1         2         3         4
+ -0.4  / 1:  1399.400  1398.800  1398.200  1397.600
+ -0.3  / 2:  1399.400  1398.800  1398.200  1397.600
+ -0.2  / 3:  1399.400  1398.800  1398.200  1397.600
+ -0.1  / 4:  1399.400  1398.800  1398.200  1397.600
+ 
+let xvar = x[gx=xpax] - 1
+let azex = aze + xvar
+let multi_dot = dot(azex, bfe, 5)
+save/file=a.nc/clobber multi_dot
+ 
+can var multi_dot
+use a.nc
+!  This should be the same as dot(azex, bfe, 5)
+list/i=1 multi_dot
+             VARIABLE : DOT(AZEX, BFE, 5)
+             FILENAME : a.nc
+             SUBSET   : 4 by 4 points (Z-F)
+             X        : 1
+               0.01      0.02      0.03      0.04    
+                 1         2         3         4
+ -0.4  / 1:  1399.400  1398.800  1398.200  1397.600
+ -0.3  / 2:  1399.400  1398.800  1398.200  1397.600
+ -0.2  / 3:  1399.400  1398.800  1398.200  1397.600
+ -0.1  / 4:  1399.400  1398.800  1398.200  1397.600
+ 
+cancel list/precision
+
+GO bn_reset bn_cache_management
+cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_cache_management
+GO bn_cache_management
+! bn_cache_management.jnl
+ 
+ ! 1/2017 - try to force Ferret into a complex juggling of dependencies
+! and cache maintenance in order to reproduce the problem seen in trac
+! ticket #2485 (from Ned Cokelet)
+ 
+! Ferret's cache of memory-resident results is full when it holds 500 of them.
+! At that point it must delete cached results to make room for new variables.
+! It is supposed to chose the cached result that has not been used for the
+! longest time, AND that is not being "protected" because it is needed in a
+! pending calculation.  This script is intended to exercise that behavior.
+ 
+! Memory footprint needed:
+! Each dataset contains 7 variables of 1 Mword each
+! VTREE reveals that the "result" variable requires 78 intermediate variables
+! of size 1Mword (plus 7 small ones)
+! Of these only 12 variables needed in the top level "result" sum calculation
+! Each of the top level variables in turn requires ?25? component variables
+! But the top level variables need these components only in sequence.
+! So if no split-gather is performed, Ferret requires ~12+25=37 Mwords
+ 
+DEFINE SYMBOL saved_memory_size = ($FERRET_MEMORY)
+ !-> DEFINE SYMBOL saved_memory_size = 3
+ 
+SET MEMORY/SIZE=20
+CANCEL MEMORY/ALL
+ 
+DEFINE SYMBOL nsets = 20
+ 
+define axis/x=1:1000000:1 xmillion
+ 
+! aside: to demonstrate lmitations of ferret memory management prior to
+! dynamic memory, use
+!     yes? set memory/size=37
+!     yes? GO test_auto_cache_delete 0 20
+ 
+! see if the test files already exist
+SPAWN "mkdir -p tmp"     ! tmp directory to store files
+SPAWN ls tmp/test_auto_cache_($nsets).nc
+ !-> SPAWN ls tmp/test_auto_cache_20.nc
+IF ($SPAWN_STATUS) THEN
+ !-> IF 0 THEN
+ELSE
+ say creating test files
+creating test files
+ cancel mode verify
+ENDIF
+ 
+! open the many input datasets
+REPEAT/k=1:($nsets)  USE tmp/test_auto_cache_`k`.nc
+ !-> REPEAT/k=1:20  USE tmp/test_auto_cache_`k`.nc
+!-> REPEAT: K=1
+ !-> SET DAT/FORM=CDF tmp/test_auto_cache_1.nc
+!-> REPEAT: K=2
+ !-> SET DAT/FORM=CDF tmp/test_auto_cache_2.nc
+!-> REPEAT: K=3
+ !-> SET DAT/FORM=CDF tmp/test_auto_cache_3.nc
+!-> REPEAT: K=4
+ !-> SET DAT/FORM=CDF tmp/test_auto_cache_4.nc
+!-> REPEAT: K=5
+ !-> SET DAT/FORM=CDF tmp/test_auto_cache_5.nc
+!-> REPEAT: K=6
+ !-> SET DAT/FORM=CDF tmp/test_auto_cache_6.nc
+!-> REPEAT: K=7
+ !-> SET DAT/FORM=CDF tmp/test_auto_cache_7.nc
+!-> REPEAT: K=8
+ !-> SET DAT/FORM=CDF tmp/test_auto_cache_8.nc
+!-> REPEAT: K=9
+ !-> SET DAT/FORM=CDF tmp/test_auto_cache_9.nc
+!-> REPEAT: K=10
+ !-> SET DAT/FORM=CDF tmp/test_auto_cache_10.nc
+!-> REPEAT: K=11
+ !-> SET DAT/FORM=CDF tmp/test_auto_cache_11.nc
+!-> REPEAT: K=12
+ !-> SET DAT/FORM=CDF tmp/test_auto_cache_12.nc
+!-> REPEAT: K=13
+ !-> SET DAT/FORM=CDF tmp/test_auto_cache_13.nc
+!-> REPEAT: K=14
+ !-> SET DAT/FORM=CDF tmp/test_auto_cache_14.nc
+!-> REPEAT: K=15
+ !-> SET DAT/FORM=CDF tmp/test_auto_cache_15.nc
+!-> REPEAT: K=16
+ !-> SET DAT/FORM=CDF tmp/test_auto_cache_16.nc
+!-> REPEAT: K=17
+ !-> SET DAT/FORM=CDF tmp/test_auto_cache_17.nc
+!-> REPEAT: K=18
+ !-> SET DAT/FORM=CDF tmp/test_auto_cache_18.nc
+!-> REPEAT: K=19
+ !-> SET DAT/FORM=CDF tmp/test_auto_cache_19.nc
+!-> REPEAT: K=20
+ !-> SET DAT/FORM=CDF tmp/test_auto_cache_20.nc
+ 
+! define a huge tree of variables
+let  r_one      = RESHAPE(one,X[gx=xmillion])
+let  r_ten      = RESHAPE(ten,X[gx=xmillion])
+let  r_hundred  = RESHAPE(hundred,X[gx=xmillion])
+let  r_thousand = RESHAPE(thousand,X[gx=xmillion])
+let  r_tenthou  = RESHAPE(tenthou,X[gx=xmillion])
+let  r_hundthou = RESHAPE(hundthou,X[gx=xmillion])
+let  r_million  = RESHAPE(million,X[gx=xmillion])
+ 
+let a_one     = r_one[X=@ave]
+let a_ten     = r_ten[X=@ave]
+let a_hundred = r_hundred[X=@ave]
+let a_thousand= r_thousand[X=@ave]
+let a_tenthou = r_tenthou[X=@ave]
+let a_hundthou= r_hundthou[X=@ave]
+let a_million = r_million[X=@ave]
+ 
+let one_2      = a_one
+let ten_2      = a_ten
+let hundred_2  = a_hundred
+let thousand_2 = a_thousand
+let tenthou_2  = a_tenthou
+let hundthou_2 = a_hundthou
+let million_2  = a_million
+ 
+let one_3      = a_one
+let ten_3      = a_ten
+let hundred_3  = a_hundred
+let thousand_3 = a_thousand
+let tenthou_3  = a_tenthou
+let hundthou_3 = a_hundthou
+let million_3  = a_million
+ 
+let result_31 = \
+one_3 + ten_3 + hundred_3 + thousand_3 + tenthou_3 + hundthou_3 + million_3
+ 
+let result_21 = \
+one_2 + ten_2 + hundred_2 + thousand_2 + tenthou_2 + hundthou_2 + million_2
+ 
+let result_32 = \
+one_3 + ten_3 + hundred_3 + thousand_3 + tenthou_3 + hundthou_3 + million_3
+ 
+let result_22 = \
+one_2 + ten_2 + hundred_2 + thousand_2 + tenthou_2 + hundthou_2 + million_2
+ 
+let result = result_31 + result_21 + result_32 + result_22 + \
+a_one + a_ten + a_hundred + a_thousand + a_tenthou + a_hundthou + a_million
+ 
+! process all of the datasets in turn
+! ==> WATCH HOW THE NUMBER OF FREE SLOTS IS PROGRESSIVELY EXHAUSTED
+! This proves that we are exercising the limits of table space
+sp rm -f test_auto_cache.out
+REPEAT/k=1:($nsets)  \
+(list/nohead/file=test_auto_cache.out/append result[d=test_auto_cache_`k`.nc];\
+SHOW MEMORY/DIAG)
+ !-> REPEAT/k=1:20  (list/nohead/file=test_auto_cache.out/append result[d=test_auto_cache_`k`.nc];SHOW MEMORY/DIAG)
+!-> REPEAT: K=1
+ !-> list/nohead/file=test_auto_cache.out/append result[d=test_auto_cache_1.nc]
+    No split/gather occurred in the last evaluation
+    Total table slots: 500
+    Free table slots: 432
+    Un-cached variables: 0
+    SET MEMORY/SIZE: 20 megawords
+    Peak demand: 8.020001 megawords
+    Current cache: 14.21004 megawords
+!-> REPEAT: K=2
+ !-> list/nohead/file=test_auto_cache.out/append result[d=test_auto_cache_2.nc]
+    No split/gather occurred in the last evaluation
+    Total table slots: 500
+    Free table slots: 385
+    Un-cached variables: 0
+    SET MEMORY/SIZE: 20 megawords
+    Peak demand: 8.020001 megawords
+    Current cache: 7.42008 megawords
+!-> REPEAT: K=3
+ !-> list/nohead/file=test_auto_cache.out/append result[d=test_auto_cache_3.nc]
+    No split/gather occurred in the last evaluation
+    Total table slots: 500
+    Free table slots: 331
+    Un-cached variables: 0
+    SET MEMORY/SIZE: 20 megawords
+    Peak demand: 8.020001 megawords
+    Current cache: 7.63012 megawords
+!-> REPEAT: K=4
+ !-> list/nohead/file=test_auto_cache.out/append result[d=test_auto_cache_4.nc]
+    No split/gather occurred in the last evaluation
+    Total table slots: 500
+    Free table slots: 277
+    Un-cached variables: 0
+    SET MEMORY/SIZE: 20 megawords
+    Peak demand: 8.020001 megawords
+    Current cache: 7.84016 megawords
+!-> REPEAT: K=5
+ !-> list/nohead/file=test_auto_cache.out/append result[d=test_auto_cache_5.nc]
+    No split/gather occurred in the last evaluation
+    Total table slots: 500
+    Free table slots: 223
+    Un-cached variables: 0
+    SET MEMORY/SIZE: 20 megawords
+    Peak demand: 8.020001 megawords
+    Current cache: 8.0502 megawords
+!-> REPEAT: K=6
+ !-> list/nohead/file=test_auto_cache.out/append result[d=test_auto_cache_6.nc]
+    No split/gather occurred in the last evaluation
+    Total table slots: 500
+    Free table slots: 169
+    Un-cached variables: 0
+    SET MEMORY/SIZE: 20 megawords
+    Peak demand: 8.020001 megawords
+    Current cache: 8.26024 megawords
+!-> REPEAT: K=7
+ !-> list/nohead/file=test_auto_cache.out/append result[d=test_auto_cache_7.nc]
+    No split/gather occurred in the last evaluation
+    Total table slots: 500
+    Free table slots: 115
+    Un-cached variables: 0
+    SET MEMORY/SIZE: 20 megawords
+    Peak demand: 8.020001 megawords
+    Current cache: 8.47028 megawords
+!-> REPEAT: K=8
+ !-> list/nohead/file=test_auto_cache.out/append result[d=test_auto_cache_8.nc]
+    No split/gather occurred in the last evaluation
+    Total table slots: 500
+    Free table slots: 61
+    Un-cached variables: 0
+    SET MEMORY/SIZE: 20 megawords
+    Peak demand: 8.020001 megawords
+    Current cache: 8.68032 megawords
+!-> REPEAT: K=9
+ !-> list/nohead/file=test_auto_cache.out/append result[d=test_auto_cache_9.nc]
+    No split/gather occurred in the last evaluation
+    Total table slots: 500
+    Free table slots: 7
+    Un-cached variables: 0
+    SET MEMORY/SIZE: 20 megawords
+    Peak demand: 8.020001 megawords
+    Current cache: 8.89036 megawords
+!-> REPEAT: K=10
+ !-> list/nohead/file=test_auto_cache.out/append result[d=test_auto_cache_10.nc]
+    No split/gather occurred in the last evaluation
+    Total table slots: 500
+    Free table slots: 1
+    Un-cached variables: 0
+    SET MEMORY/SIZE: 20 megawords
+    Peak demand: 8.020001 megawords
+    Current cache: 8.890366 megawords
+!-> REPEAT: K=11
+ !-> list/nohead/file=test_auto_cache.out/append result[d=test_auto_cache_11.nc]
+    No split/gather occurred in the last evaluation
+    Total table slots: 500
+    Free table slots: 1
+    Un-cached variables: 0
+    SET MEMORY/SIZE: 20 megawords
+    Peak demand: 8.020001 megawords
+    Current cache: 8.890366 megawords
+!-> REPEAT: K=12
+ !-> list/nohead/file=test_auto_cache.out/append result[d=test_auto_cache_12.nc]
+    No split/gather occurred in the last evaluation
+    Total table slots: 500
+    Free table slots: 1
+    Un-cached variables: 0
+    SET MEMORY/SIZE: 20 megawords
+    Peak demand: 8.020001 megawords
+    Current cache: 8.890366 megawords
+!-> REPEAT: K=13
+ !-> list/nohead/file=test_auto_cache.out/append result[d=test_auto_cache_13.nc]
+    No split/gather occurred in the last evaluation
+    Total table slots: 500
+    Free table slots: 1
+    Un-cached variables: 0
+    SET MEMORY/SIZE: 20 megawords
+    Peak demand: 8.020001 megawords
+    Current cache: 8.890366 megawords
+!-> REPEAT: K=14
+ !-> list/nohead/file=test_auto_cache.out/append result[d=test_auto_cache_14.nc]
+    No split/gather occurred in the last evaluation
+    Total table slots: 500
+    Free table slots: 1
+    Un-cached variables: 0
+    SET MEMORY/SIZE: 20 megawords
+    Peak demand: 8.020001 megawords
+    Current cache: 8.890366 megawords
+!-> REPEAT: K=15
+ !-> list/nohead/file=test_auto_cache.out/append result[d=test_auto_cache_15.nc]
+    No split/gather occurred in the last evaluation
+    Total table slots: 500
+    Free table slots: 1
+    Un-cached variables: 0
+    SET MEMORY/SIZE: 20 megawords
+    Peak demand: 8.020001 megawords
+    Current cache: 8.890366 megawords
+!-> REPEAT: K=16
+ !-> list/nohead/file=test_auto_cache.out/append result[d=test_auto_cache_16.nc]
+    No split/gather occurred in the last evaluation
+    Total table slots: 500
+    Free table slots: 1
+    Un-cached variables: 0
+    SET MEMORY/SIZE: 20 megawords
+    Peak demand: 8.020001 megawords
+    Current cache: 8.890366 megawords
+!-> REPEAT: K=17
+ !-> list/nohead/file=test_auto_cache.out/append result[d=test_auto_cache_17.nc]
+    No split/gather occurred in the last evaluation
+    Total table slots: 500
+    Free table slots: 1
+    Un-cached variables: 0
+    SET MEMORY/SIZE: 20 megawords
+    Peak demand: 8.020001 megawords
+    Current cache: 8.890366 megawords
+!-> REPEAT: K=18
+ !-> list/nohead/file=test_auto_cache.out/append result[d=test_auto_cache_18.nc]
+    No split/gather occurred in the last evaluation
+    Total table slots: 500
+    Free table slots: 1
+    Un-cached variables: 0
+    SET MEMORY/SIZE: 20 megawords
+    Peak demand: 8.020001 megawords
+    Current cache: 8.890366 megawords
+!-> REPEAT: K=19
+ !-> list/nohead/file=test_auto_cache.out/append result[d=test_auto_cache_19.nc]
+    No split/gather occurred in the last evaluation
+    Total table slots: 500
+    Free table slots: 1
+    Un-cached variables: 0
+    SET MEMORY/SIZE: 20 megawords
+    Peak demand: 8.020001 megawords
+    Current cache: 8.890366 megawords
+!-> REPEAT: K=20
+ !-> list/nohead/file=test_auto_cache.out/append result[d=test_auto_cache_20.nc]
+    No split/gather occurred in the last evaluation
+    Total table slots: 500
+    Free table slots: 1
+    Un-cached variables: 0
+    SET MEMORY/SIZE: 20 megawords
+    Peak demand: 8.020001 megawords
+    Current cache: 8.890366 megawords
+ 
+! success
+vtree result
+   in default dataset test_auto_cache_20
+   RESULT = RESULT_31 + RESULT_21 + RESULT_32 + RESULT_22 + A_ONE + A_TEN + A_HUNDRED + A_THOUSAND + A_TENTHOU + A_HUNDTHOU + A_MILLION
+     RESULT_31 = ONE_3 + TEN_3 + HUNDRED_3 + THOUSAND_3 + TENTHOU_3 + HUNDTHOU_3 + MILLION_3
+       ONE_3 = A_ONE
+         A_ONE = R_ONE[X=@AVE]
+           R_ONE = RESHAPE(ONE,X[GX=XMILLION])
+             (C001,V002) = RESHAPE(ONE,X[GX=XMILLION])
+               (C013,V002) = X[GX=XMILLION]
+       TEN_3 = A_TEN
+         A_TEN = R_TEN[X=@AVE]
+           R_TEN = RESHAPE(TEN,X[GX=XMILLION])
+             (C001,V005) = RESHAPE(TEN,X[GX=XMILLION])
+               (C013,V005) = X[GX=XMILLION]
+       HUNDRED_3 = A_HUNDRED
+         A_HUNDRED = R_HUNDRED[X=@AVE]
+           R_HUNDRED = RESHAPE(HUNDRED,X[GX=XMILLION])
+             (C001,V008) = RESHAPE(HUNDRED,X[GX=XMILLION])
+               (C017,V008) = X[GX=XMILLION]
+       THOUSAND_3 = A_THOUSAND
+         A_THOUSAND = R_THOUSAND[X=@AVE]
+           R_THOUSAND = RESHAPE(THOUSAND,X[GX=XMILLION])
+             (C001,V011) = RESHAPE(THOUSAND,X[GX=XMILLION])
+               (C018,V011) = X[GX=XMILLION]
+       TENTHOU_3 = A_TENTHOU
+         A_TENTHOU = R_TENTHOU[X=@AVE]
+           R_TENTHOU = RESHAPE(TENTHOU,X[GX=XMILLION])
+             (C001,V014) = RESHAPE(TENTHOU,X[GX=XMILLION])
+               (C017,V014) = X[GX=XMILLION]
+       HUNDTHOU_3 = A_HUNDTHOU
+         A_HUNDTHOU = R_HUNDTHOU[X=@AVE]
+           R_HUNDTHOU = RESHAPE(HUNDTHOU,X[GX=XMILLION])
+             (C001,V017) = RESHAPE(HUNDTHOU,X[GX=XMILLION])
+               (C018,V017) = X[GX=XMILLION]
+       MILLION_3 = A_MILLION
+         A_MILLION = R_MILLION[X=@AVE]
+           R_MILLION = RESHAPE(MILLION,X[GX=XMILLION])
+             (C001,V020) = RESHAPE(MILLION,X[GX=XMILLION])
+               (C017,V020) = X[GX=XMILLION]
+     RESULT_21 = ONE_2 + TEN_2 + HUNDRED_2 + THOUSAND_2 + TENTHOU_2 + HUNDTHOU_2 + MILLION_2
+       ONE_2 = A_ONE
+         A_ONE =  (defined above)
+       TEN_2 = A_TEN
+         A_TEN =  (defined above)
+       HUNDRED_2 = A_HUNDRED
+         A_HUNDRED =  (defined above)
+       THOUSAND_2 = A_THOUSAND
+         A_THOUSAND =  (defined above)
+       TENTHOU_2 = A_TENTHOU
+         A_TENTHOU =  (defined above)
+       HUNDTHOU_2 = A_HUNDTHOU
+         A_HUNDTHOU =  (defined above)
+       MILLION_2 = A_MILLION
+         A_MILLION =  (defined above)
+     RESULT_32 = ONE_3 + TEN_3 + HUNDRED_3 + THOUSAND_3 + TENTHOU_3 + HUNDTHOU_3 + MILLION_3
+       ONE_3 =  (defined above)
+       TEN_3 =  (defined above)
+       HUNDRED_3 =  (defined above)
+       THOUSAND_3 =  (defined above)
+       TENTHOU_3 =  (defined above)
+       HUNDTHOU_3 =  (defined above)
+       MILLION_3 =  (defined above)
+     RESULT_22 = ONE_2 + TEN_2 + HUNDRED_2 + THOUSAND_2 + TENTHOU_2 + HUNDTHOU_2 + MILLION_2
+       ONE_2 =  (defined above)
+       TEN_2 =  (defined above)
+       HUNDRED_2 =  (defined above)
+       THOUSAND_2 =  (defined above)
+       TENTHOU_2 =  (defined above)
+       HUNDTHOU_2 =  (defined above)
+       MILLION_2 =  (defined above)
+     A_ONE =  (defined above)
+     A_TEN =  (defined above)
+     A_HUNDRED =  (defined above)
+     A_THOUSAND =  (defined above)
+     A_TENTHOU =  (defined above)
+     A_HUNDTHOU =  (defined above)
+     A_MILLION =  (defined above)
+! show that the calculation result never varied
+spawn cat test_auto_cache.out
+          5555555.
+          5555555.
+          5555555.
+          5555555.
+          5555555.
+          5555555.
+          5555555.
+          5555555.
+          5555555.
+          5555555.
+          5555555.
+          5555555.
+          5555555.
+          5555555.
+          5555555.
+          5555555.
+          5555555.
+          5555555.
+          5555555.
+          5555555.
+ 
+! clean up
+SET MEMORY/SIZE=($saved_memory_size)
+ !-> SET MEMORY/SIZE=3
+ 
+GO bn_reset bn_transp_choose
+cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_transp_choose
+GO bn_transp_choose
+! bn_transp_choose.jnl
+!  Test the TRANSPOSE function which chooses which of the
+! transpose_ functions to run based on arguments
+ 
+can mem
+sh func transpose
+TRANSPOSE(VAR,DIM1,DIM2)
+    Compute the transpose along two given dimensions
+    VAR: Variable to transpose
+    DIM1: Dimension 1 for transpose (1,2,...)
+    DIM2: Dimension 2 for transpose (1,2,...)
+ 
+use gt4d011
+ 
+list/K=1/l=1 u[i=91:100,j=35:45]
+             VARIABLE : ZONAL VELOCITY (cm/sec)
+             FILENAME : gt4d011.cdf
+             SUBSET   : 10 by 11 points (LONGITUDE-LATITUDE)
+             DEPTH (m): 5
+             TIME     : 17-AUG-1982 12:00
+              139W   138W   137W   136W   135W   134W   133W   132W   131W   130W   
+               91     92     93     94     95     96     97     98     99    100
+ 0     / 45:  -8.20 -19.89 -28.29 -25.75 -16.70 -11.70 -11.69 -13.85 -17.12 -21.07
+ 0.33S / 44:   1.59  -6.13 -13.69 -15.25 -11.03  -7.87  -7.10  -7.63  -9.21 -12.26
+ 0.67S / 43:   5.32   1.48  -3.07  -5.89  -5.82  -5.23  -4.74  -4.33  -4.43  -6.13
+ 1S    / 42:   4.21   2.98   1.52  -0.92  -2.98  -3.76  -3.56  -2.80  -2.14  -2.69
+ 1.33S / 41:   0.84   0.81   1.58   0.30  -2.14  -2.93  -2.57  -1.80  -1.01  -0.84
+ 1.67S / 40:  -2.97  -2.36  -0.43  -0.56  -2.17  -2.25  -1.77  -1.32  -0.77  -0.35
+ 2S    / 39:  -5.92  -4.46  -2.65  -1.48  -1.97  -1.38  -1.01  -1.15  -1.17  -1.00
+ 2.33S / 38:  -7.43  -5.01  -2.65  -0.75  -0.32   0.16   0.24  -0.26  -0.54  -0.55
+ 2.67S / 37:  -7.90  -5.72  -2.76  -0.71   0.17   0.87   0.49  -0.46  -1.02  -1.12
+ 3S    / 36:  -7.76  -5.38  -2.21  -0.01   0.83   1.06   0.35  -1.04  -2.12  -2.57
+ 3.33S / 35:  -6.68  -4.47  -2.20  -0.62  -0.06  -0.21  -1.41  -2.79  -3.67  -4.03
+let var = transpose (u[i=91:100,j=35:41], 1, 2)
+list/K=1/l=1 var
+             VARIABLE : TRANSPOSE (U[I=91:100,J=35:41], 1, 2)
+             FILENAME : gt4d011.cdf
+             SUBSET   : 7 by 10 points (X-Y)
+             DEPTH (m): 5
+             TIME     : 17-AUG-1982 12:00
+               1      2      3      4      5      6      7    
+               1      2      3      4      5      6      7
+ 1    /  1: -6.680 -7.762 -7.904 -7.426 -5.923 -2.970  0.842
+ 2    /  2: -4.470 -5.381 -5.718 -5.006 -4.457 -2.359  0.813
+ 3    /  3: -2.198 -2.209 -2.764 -2.647 -2.652 -0.425  1.580
+ 4    /  4: -0.620 -0.005 -0.710 -0.755 -1.478 -0.555  0.299
+ 5    /  5: -0.058  0.828  0.170 -0.324 -1.974 -2.169 -2.136
+ 6    /  6: -0.214  1.056  0.875  0.164 -1.383 -2.248 -2.932
+ 7    /  7: -1.413  0.347  0.486  0.235 -1.009 -1.767 -2.566
+ 8    /  8: -2.788 -1.040 -0.455 -0.259 -1.149 -1.316 -1.802
+ 9    /  9: -3.674 -2.118 -1.018 -0.536 -1.167 -0.772 -1.006
+ 10   / 10: -4.028 -2.566 -1.120 -0.550 -1.001 -0.346 -0.835
+ 
+! same as transpose_xy function
+list/k=1/l=1 transpose_xy(u[i=91:100,j=35:41])
+             VARIABLE : TRANSPOSE_XY(U[I=91:100,J=35:41])
+             FILENAME : gt4d011.cdf
+             SUBSET   : 7 by 10 points (X-Y)
+             DEPTH (m): 5
+             TIME     : 17-AUG-1982 12:00
+               1      2      3      4      5      6      7    
+               1      2      3      4      5      6      7
+ 1    /  1: -6.680 -7.762 -7.904 -7.426 -5.923 -2.970  0.842
+ 2    /  2: -4.470 -5.381 -5.718 -5.006 -4.457 -2.359  0.813
+ 3    /  3: -2.198 -2.209 -2.764 -2.647 -2.652 -0.425  1.580
+ 4    /  4: -0.620 -0.005 -0.710 -0.755 -1.478 -0.555  0.299
+ 5    /  5: -0.058  0.828  0.170 -0.324 -1.974 -2.169 -2.136
+ 6    /  6: -0.214  1.056  0.875  0.164 -1.383 -2.248 -2.932
+ 7    /  7: -1.413  0.347  0.486  0.235 -1.009 -1.767 -2.566
+ 8    /  8: -2.788 -1.040 -0.455 -0.259 -1.149 -1.316 -1.802
+ 9    /  9: -3.674 -2.118 -1.018 -0.536 -1.167 -0.772 -1.006
+ 10   / 10: -4.028 -2.566 -1.120 -0.550 -1.001 -0.346 -0.835
+ 
+! Combine transpose with other operations
+let vari = u - v
+list/l=1 vari[i=91:100,j=35:41,k=1:5 at ave]
+             VARIABLE : U - V
+             FILENAME : gt4d011.cdf
+             SUBSET   : 10 by 7 points (LONGITUDE-LATITUDE)
+             DEPTH (m): 0 to 50 (averaged)
+             TIME     : 17-AUG-1982 12:00
+              139W   138W   137W   136W   135W   134W   133W   132W   131W   130W   
+               91     92     93     94     95     96     97     98     99    100
+ 1.33S / 41:  31.96  33.88  35.22  32.52  26.48  23.46  23.71  26.69  30.92  34.16
+ 1.67S / 40:  25.82  27.64  29.79  29.00  24.90  23.10  23.50  25.89  29.37  32.46
+ 2S    / 39:  20.82  22.59  24.84  25.83  23.44  22.68  23.09  24.69  27.27  29.79
+ 2.33S / 38:  17.62  19.51  22.20  24.22  22.98  22.48  22.74  23.81  25.76  27.66
+ 2.67S / 37:  15.96  17.53  20.70  22.98  22.23  22.31  22.43  23.10  24.59  25.95
+ 3S    / 36:  14.43  16.40  19.31  21.57  20.87  20.95  20.89  21.14  22.19  23.48
+ 3.33S / 35:  13.00  14.83  17.21  19.11  18.28  18.32  18.33  18.69  19.60  20.46
+let var = transpose (vari[i=91:100,j=35:41,k=1:5 at ave], 1, 2)
+list/l=1 var
+             VARIABLE : TRANSPOSE (VARI[I=91:100,J=35:41,K=1:5 at AVE], 1, 2)
+             FILENAME : gt4d011.cdf
+             SUBSET   : 7 by 10 points (X-Y)
+             TIME     : 17-AUG-1982 12:00
+               1      2      3      4      5      6      7    
+               1      2      3      4      5      6      7
+ 1    /  1:  13.00  14.43  15.96  17.62  20.82  25.82  31.96
+ 2    /  2:  14.83  16.40  17.53  19.51  22.59  27.64  33.88
+ 3    /  3:  17.21  19.31  20.70  22.20  24.84  29.79  35.22
+ 4    /  4:  19.11  21.57  22.98  24.22  25.83  29.00  32.52
+ 5    /  5:  18.28  20.87  22.23  22.98  23.44  24.90  26.48
+ 6    /  6:  18.32  20.95  22.31  22.48  22.68  23.10  23.46
+ 7    /  7:  18.33  20.89  22.43  22.74  23.09  23.50  23.71
+ 8    /  8:  18.69  21.14  23.10  23.81  24.69  25.89  26.69
+ 9    /  9:  19.60  22.19  24.59  25.76  27.27  29.37  30.92
+ 10   / 10:  20.46  23.48  25.95  27.66  29.79  32.46  34.16
+ 
  
 !  *********** Always do a bn_reset  ***********
 !  *********** make sure things clean up well **
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
  
 ! version 2.3 requires exit/command *sh* 3/92
 exit/command
@@ -98751,9 +103795,9 @@ yes? ! run bn_all_ef tests
 yes? 
 yes? GO bn_all_ef
  	NOAA/PMEL TMAP
- 	FERRET v7.1 (beta/debug)
- 	Linux 2.6.18-417.el5PAE 32-bit - 02/10/17
- 	10-Feb-17 10:13     
+ 	FERRET v7.11 (beta/debug)
+ 	Linux 2.6.18-419.el5PAE 32-bit - 05/11/17
+ 	11-May-17 10:36     
 
 SET MODE VERIFY
 ! bn_all_ef.jnl
@@ -98762,6 +103806,7 @@ SET MODE VERIFY
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO bn_ef_external_functions.jnl
 ! Tests of external functions that are distributed as shared object files.
  
@@ -98896,21 +103941,21 @@ list a - sst[l=@ave]
              TIME     : 01-JAN 00:45 to 01-APR 08:12
                   1S      
                   45
- 151E   / 66:  3.553E-15
+ 151E   / 66: -3.553E-15
  153E   / 67:  0.000E+00
- 155E   / 68:  3.553E-15
+ 155E   / 68:  0.000E+00
  157E   / 69:  0.000E+00
- 159E   / 70:  3.553E-15
- 161E   / 71:  3.553E-15
- 163E   / 72:  3.553E-15
- 165E   / 73:  0.000E+00
- 167E   / 74:  3.553E-15
- 169E   / 75:  3.553E-15
- 171E   / 76: -3.553E-15
- 173E   / 77:  3.553E-15
- 175E   / 78:  0.000E+00
- 177E   / 79:  3.553E-15
- 179E   / 80:  3.553E-15
+ 159E   / 70: -3.553E-15
+ 161E   / 71:  0.000E+00
+ 163E   / 72: -3.553E-15
+ 165E   / 73: -3.553E-15
+ 167E   / 74:  0.000E+00
+ 169E   / 75: -3.553E-15
+ 171E   / 76:  0.000E+00
+ 173E   / 77: -3.553E-15
+ 175E   / 78:  3.553E-15
+ 177E   / 79:  0.000E+00
+ 179E   / 80:  0.000E+00
  
 can region
 let a = x[i=1:9,k=1:5] + t[l=1:5]
@@ -99538,6 +104583,7 @@ set mode/last ignore_errors
  
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go bn_fcn_calls.jnl
 ! Simple tests of external functions
 ! these are not otherwise tested in the benchmarkd
@@ -99569,7 +104615,7 @@ variables:
 		MY_VAR:long_name = "T[GT=T5]" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 10-Feb-17" ;
+		:history = "FERRET V7.11 (beta/debug) 11-May-17" ;
 		:Conventions = "CF-1.6" ;
 data:
 
@@ -99594,7 +104640,7 @@ variables:
 		MY_VAR:long_name = "T[GT=T5]" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 10-Feb-17" ;
+		:history = "FERRET V7.11 (beta/debug) 11-May-17" ;
 		:Conventions = "CF-1.6" ;
 data:
 
@@ -99618,7 +104664,7 @@ variables:
 		B:long_name = "\"one line of text\"" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 10-Feb-17" ;
+		:history = "FERRET V7.11 (beta/debug) 11-May-17" ;
 		:Conventions = "CF-1.6" ;
 data:
 
@@ -99657,7 +104703,7 @@ variables:
 		D:history = "From test_string" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 10-Feb-17" ;
+		:history = "FERRET V7.11 (beta/debug) 11-May-17" ;
 		:Conventions = "CF-1.6" ;
 data:
 
@@ -99692,7 +104738,7 @@ variables:
 		B:long_name = "SAMPLEJ(YSEQUENCE({\"a\",\"b\",,\"d\",\"e\",\"f\"}),{2,,1})" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 10-Feb-17" ;
+		:history = "FERRET V7.11 (beta/debug) 11-May-17" ;
 		:Conventions = "CF-1.6" ;
 data:
 
@@ -99733,7 +104779,7 @@ variables:
 		V:long_name = "T[GT=MONTH_IRREG]" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 10-Feb-17" ;
+		:history = "FERRET V7.11 (beta/debug) 11-May-17" ;
 		:Conventions = "CF-1.6" ;
 data:
 
@@ -99790,7 +104836,7 @@ variables:
 		V:history = "From coads_vwnd" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 10-Feb-17" ;
+		:history = "FERRET V7.11 (beta/debug) 11-May-17" ;
 		:Conventions = "CF-1.6" ;
 data:
 
@@ -99847,7 +104893,7 @@ variables:
 		V:history = "From coads_vwnd" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 10-Feb-17" ;
+		:history = "FERRET V7.11 (beta/debug) 11-May-17" ;
 		:Conventions = "CF-1.6" ;
 data:
 
@@ -99902,7 +104948,7 @@ variables:
 		T2:long_name = "Z[GZ=ZIRR]" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 10-Feb-17" ;
+		:history = "FERRET V7.11 (beta/debug) 11-May-17" ;
 		:Conventions = "CF-1.6" ;
 data:
 
@@ -99950,7 +104996,7 @@ variables:
 		V:history = "From coads_climatology" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 10-Feb-17" ;
+		:history = "FERRET V7.11 (beta/debug) 11-May-17" ;
 		:Conventions = "CF-1.6" ;
 data:
 
@@ -100044,7 +105090,7 @@ variables:
 		SST:units = "Deg C" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 10-Feb-17" ;
+		:history = "FERRET V7.11 (beta/debug) 11-May-17" ;
 		:Conventions = "CF-1.6" ;
 data:
 
@@ -100114,7 +105160,7 @@ variables:
 		SST:units = "Deg C" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 10-Feb-17" ;
+		:history = "FERRET V7.11 (beta/debug) 11-May-17" ;
 		:Conventions = "CF-1.6" ;
 data:
 
@@ -100165,7 +105211,7 @@ variables:
 		V:long_name = "X[GX=XAX] +Z[GZ=ZAX] + T[GT=TAX]" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 10-Feb-17" ;
+		:history = "FERRET V7.11 (beta/debug) 11-May-17" ;
 		:Conventions = "CF-1.6" ;
 data:
 
@@ -100240,7 +105286,7 @@ variables:
 		A:long_name = "T[GT=TIME]" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 10-Feb-17" ;
+		:history = "FERRET V7.11 (beta/debug) 11-May-17" ;
 		:Conventions = "CF-1.6" ;
 data:
 
@@ -100267,7 +105313,7 @@ variables:
 		X_:long_name_mod = "axis ABSTRACT" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 10-Feb-17" ;
+		:history = "FERRET V7.11 (beta/debug) 11-May-17" ;
 		:Conventions = "CF-1.6" ;
 		:title = "a long title longer than 80 characters a123456789b123456789c123456789d123456789e123456789f123456789g123456789h123456789" ;
 data:
@@ -100291,7 +105337,7 @@ variables:
 		A:history = "From x" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 10-Feb-17" ;
+		:history = "FERRET V7.11 (beta/debug) 11-May-17" ;
 		:Conventions = "CF-1.6" ;
 		:title = "a long title, longer than the previous limit of 80 characters.  Previously various buffers were set to 80, and storage in ds_title was also too short." ;
 data:
@@ -100318,11 +105364,11 @@ variables:
 		A:history = "From t0_cdc" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 10-Feb-17" ;
+		:history = "FERRET V7.11 (beta/debug) 11-May-17" ;
 		:Conventions = "CF-1.6" ;
 }
 bn_long_revision_num.jnl --- history attribute
-		:history = "FERRET V7.1 (beta/debug) 10-Feb-17" ;
+		:history = "FERRET V7.11 (beta/debug) 11-May-17" ;
 bn_bounds_defineax.jnl --- N+1 def of bounds.
 netcdf irrxzt {
 dimensions:
@@ -100353,7 +105399,7 @@ variables:
 		V:long_name = "X[GX=XAX] +Z[GZ=ZAX] + T[GT=TAX]" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 10-Feb-17" ;
+		:history = "FERRET V7.11 (beta/debug) 11-May-17" ;
 		:Conventions = "CF-1.6" ;
 data:
 
@@ -100425,7 +105471,7 @@ variables:
 		VAR_B:long_name = "my strings" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 10-Feb-17" ;
+		:history = "FERRET V7.11 (beta/debug) 11-May-17" ;
 		:Conventions = "CF-1.6" ;
 data:
 
@@ -100469,7 +105515,7 @@ variables:
 		SST:units = "Deg C" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 10-Feb-17" ;
+		:history = "FERRET V7.11 (beta/debug) 11-May-17" ;
 		:Conventions = "CF-1.6" ;
 data:
 
@@ -100511,7 +105557,7 @@ variables:
 		SST:units = "Deg C" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 10-Feb-17" ;
+		:history = "FERRET V7.11 (beta/debug) 11-May-17" ;
 		:Conventions = "CF-1.6" ;
 data:
 
@@ -100619,7 +105665,7 @@ variables:
 		ELEV:history = "From err491_attval" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 10-Feb-17" ;
+		:history = "FERRET V7.11 (beta/debug) 11-May-17" ;
 		:Conventions = "CF-1.6" ;
 }
 bn_attributes.jnl --- 6 after CANCEL MODE upcase_output
@@ -100660,7 +105706,7 @@ variables:
 		Elev:history = "From err491_attval" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 10-Feb-17" ;
+		:history = "FERRET V7.11 (beta/debug) 11-May-17" ;
 		:Conventions = "CF-1.6" ;
 }
 bn_attributes.jnl --- 7 outtput flags to control attribute output
@@ -100683,7 +105729,7 @@ variables:
 		BB:another_attr = 6.f ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 10-Feb-17" ;
+		:history = "FERRET V7.11 (beta/debug) 11-May-17" ;
 		:Conventions = "CF-1.6" ;
 data:
 
@@ -100709,7 +105755,7 @@ variables:
 		BB:another_attr = 6.f ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 10-Feb-17" ;
+		:history = "FERRET V7.11 (beta/debug) 11-May-17" ;
 		:Conventions = "CF-1.6" ;
 data:
 
@@ -100729,7 +105775,7 @@ variables:
 		BB:long_name = "{3,4.5,6,7,4}" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 10-Feb-17" ;
+		:history = "FERRET V7.11 (beta/debug) 11-May-17" ;
 		:Conventions = "CF-1.6" ;
 data:
 
@@ -100750,7 +105796,7 @@ variables:
 		BB:long_name = "{3,4.5,6,7,4}" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 10-Feb-17" ;
+		:history = "FERRET V7.11 (beta/debug) 11-May-17" ;
 		:Conventions = "CF-1.6" ;
 data:
 
@@ -100793,7 +105839,7 @@ variables:
 		TEMP:units = "Deg C" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 10-Feb-17" ;
+		:history = "FERRET V7.11 (beta/debug) 11-May-17" ;
 		:Conventions = "CF-1.6" ;
 }
 bn_attributes.jnl --- 12 Check that settings hold for child axis.
@@ -100833,7 +105879,7 @@ variables:
 		TEMP:units = "Deg C" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 10-Feb-17" ;
+		:history = "FERRET V7.11 (beta/debug) 11-May-17" ;
 		:Conventions = "CF-1.6" ;
 }
 bn_attributes.jnl --- 13 cancel output of attributes of the variable.
@@ -100871,7 +105917,7 @@ variables:
 		TEMP:units = "Deg C" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 10-Feb-17" ;
+		:history = "FERRET V7.11 (beta/debug) 11-May-17" ;
 		:Conventions = "CF-1.6" ;
 }
 bn_attributes.jnl --- 14 attributes of data from ez data.
@@ -100900,7 +105946,7 @@ variables:
 		A3:history = "From EZ.DAT" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 10-Feb-17" ;
+		:history = "FERRET V7.11 (beta/debug) 11-May-17" ;
 		:Conventions = "CF-1.6" ;
 data:
 
@@ -100933,7 +105979,7 @@ variables:
 		V4:history = "From EZ.DAT" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 10-Feb-17" ;
+		:history = "FERRET V7.11 (beta/debug) 11-May-17" ;
 		:Conventions = "CF-1.6" ;
 data:
 
@@ -100959,7 +106005,7 @@ variables:
 		A:four = "theory" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 10-Feb-17" ;
+		:history = "FERRET V7.11 (beta/debug) 11-May-17" ;
 		:Conventions = "CF-1.6" ;
 data:
 
@@ -101005,7 +106051,7 @@ variables:
 		ELEV:history = "From err491_attval" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 10-Feb-17" ;
+		:history = "FERRET V7.11 (beta/debug) 11-May-17" ;
 		:Conventions = "CF-1.6" ;
 		:simulation = "K-Bay OAR3d model (200m)" ;
 		:start_date = "980105000000" ;
@@ -101112,7 +106158,7 @@ variables:
 		TEMP:units = "deg. C" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 10-Feb-17" ;
+		:history = "FERRET V7.11 (beta/debug) 11-May-17" ;
 		:Conventions = "CF-1.6" ;
 		:dt_internal = 15. ;
 }
@@ -101154,7 +106200,7 @@ variables:
 		ELEV:history = "From err491_attval" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 10-Feb-17" ;
+		:history = "FERRET V7.11 (beta/debug) 11-May-17" ;
 		:Conventions = "CF-1.6" ;
 data:
 
@@ -101237,7 +106283,7 @@ variables:
 		RIGUE:history = "From test0" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 10-Feb-17" ;
+		:history = "FERRET V7.11 (beta/debug) 11-May-17" ;
 		:Conventions = "CF-1.6" ;
 data:
 
@@ -101274,7 +106320,7 @@ variables:
 		B:long_name = "hello" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 10-Feb-17" ;
+		:history = "FERRET V7.11 (beta/debug) 11-May-17" ;
 		:Conventions = "CF-1.6" ;
 data:
 
@@ -101314,7 +106360,7 @@ variables:
 		VWND:units = "M/S" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 10-Feb-17" ;
+		:history = "FERRET V7.11 (beta/debug) 11-May-17" ;
 		:Conventions = "CF-1.6" ;
 data:
 
@@ -101365,7 +106411,7 @@ variables:
 		T2:history = "From coads_vwnd" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 10-Feb-17" ;
+		:history = "FERRET V7.11 (beta/debug) 11-May-17" ;
 		:Conventions = "CF-1.6" ;
 data:
 
@@ -101424,7 +106470,7 @@ variables:
 		T2:history = "From gt4d011" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 10-Feb-17" ;
+		:history = "FERRET V7.11 (beta/debug) 11-May-17" ;
 		:Conventions = "CF-1.6" ;
 }
 netcdf a {
@@ -101469,7 +106515,7 @@ variables:
 		T2:history = "From gt4d011" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 10-Feb-17" ;
+		:history = "FERRET V7.11 (beta/debug) 11-May-17" ;
 		:Conventions = "CF-1.6" ;
 }
 netcdf a {
@@ -101512,7 +106558,7 @@ variables:
 		T2:history = "From gt4d011" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 10-Feb-17" ;
+		:history = "FERRET V7.11 (beta/debug) 11-May-17" ;
 		:Conventions = "CF-1.6" ;
 }
 netcdf a {
@@ -101547,7 +106593,7 @@ variables:
 		TEMP:units = "DEG C" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 10-Feb-17" ;
+		:history = "FERRET V7.11 (beta/debug) 11-May-17" ;
 		:Conventions = "CF-1.6" ;
 }
 netcdf a {
@@ -101581,7 +106627,7 @@ variables:
 		TWO:history = "From levitus_climatology" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 10-Feb-17" ;
+		:history = "FERRET V7.11 (beta/debug) 11-May-17" ;
 		:Conventions = "CF-1.6" ;
 }
 bn_attributes.jnl --- 27 attributes of  user-defined axes
@@ -101611,7 +106657,7 @@ variables:
 		AXY:long_name = "RESHAPE (A,RVAR)" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 10-Feb-17" ;
+		:history = "FERRET V7.11 (beta/debug) 11-May-17" ;
 		:Conventions = "CF-1.6" ;
 }
 bn_attributes.jnl --- 28 Define a new global attribute
@@ -101640,7 +106686,7 @@ variables:
 		BROILED:history = "From test0" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 10-Feb-17" ;
+		:history = "FERRET V7.11 (beta/debug) 11-May-17" ;
 		:Conventions = "CF-1.6" ;
 		:glob = "Global attribute" ;
 		:FERRET_comment = "File written via LAS. Attributes are inherited from originating dataset" ;
@@ -101701,7 +106747,7 @@ variables:
 		FAREN:history = "From gt4d011" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 10-Feb-17" ;
+		:history = "FERRET V7.11 (beta/debug) 11-May-17" ;
 		:Conventions = "CF-1.6" ;
 }
 netcdf a {
@@ -101746,7 +106792,7 @@ variables:
 		FAREN:history = "From gt4d011" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 10-Feb-17" ;
+		:history = "FERRET V7.11 (beta/debug) 11-May-17" ;
 		:Conventions = "CF-1.6" ;
 }
 netcdf a {
@@ -101765,7 +106811,7 @@ variables:
 		A:long_name = "X[GX=XAX]" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 10-Feb-17" ;
+		:history = "FERRET V7.11 (beta/debug) 11-May-17" ;
 		:Conventions = "CF-1.6" ;
 data:
 
@@ -101795,7 +106841,7 @@ variables:
 		A:long_name = "X[GX=XAX]" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 10-Feb-17" ;
+		:history = "FERRET V7.11 (beta/debug) 11-May-17" ;
 		:Conventions = "CF-1.6" ;
 data:
 
@@ -101825,7 +106871,7 @@ variables:
 		A:long_name = "X[GX=XAX]" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 10-Feb-17" ;
+		:history = "FERRET V7.11 (beta/debug) 11-May-17" ;
 		:Conventions = "CF-1.6" ;
 data:
 
@@ -101878,7 +106924,7 @@ variables:
 		TEMP:units = "Deg C" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 10-Feb-17" ;
+		:history = "FERRET V7.11 (beta/debug) 11-May-17" ;
 		:Conventions = "CF-1.6" ;
 }
 netcdf a {
@@ -101920,7 +106966,7 @@ variables:
 		TEMP:units = "Deg C" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 10-Feb-17" ;
+		:history = "FERRET V7.11 (beta/debug) 11-May-17" ;
 		:Conventions = "CF-1.6" ;
 }
 netcdf a {
@@ -101938,7 +106984,7 @@ variables:
 		V:long_name = "Y[GY=YAXIS]" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 10-Feb-17" ;
+		:history = "FERRET V7.11 (beta/debug) 11-May-17" ;
 		:Conventions = "CF-1.6" ;
 }
 err611_set_var_ez.jnl --- 
@@ -101957,7 +107003,7 @@ variables:
 		MY_ASC:history = "From dat.dat" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 10-Feb-17" ;
+		:history = "FERRET V7.11 (beta/debug) 11-May-17" ;
 		:Conventions = "CF-1.6" ;
 }
 netcdf a {
@@ -101975,7 +107021,7 @@ variables:
 		MY_UNF:history = "From unf.dat" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 10-Feb-17" ;
+		:history = "FERRET V7.11 (beta/debug) 11-May-17" ;
 		:Conventions = "CF-1.6" ;
 }
 bn_attributes.jnl --- SET VAR/OUTTYPE for user variable
@@ -101992,7 +107038,7 @@ variables:
 		A:long_name = "{1.1,2.2,3.3}" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 10-Feb-17" ;
+		:history = "FERRET V7.11 (beta/debug) 11-May-17" ;
 		:Conventions = "CF-1.6" ;
 data:
 
@@ -102013,7 +107059,7 @@ variables:
 		A:long_name = "{ 3.77, 4.00, 4.10, 4.33, 4.38, 4.27, 4.31, 4.40, 4.75, 5.01, 5.27, 5.52}" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 10-Feb-17" ;
+		:history = "FERRET V7.11 (beta/debug) 11-May-17" ;
 		:Conventions = "CF-1.6" ;
 data:
 
@@ -102076,7 +107122,7 @@ variables:
 		newvar:history = "From a" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 10-Feb-17" ;
+		:history = "FERRET V7.11 (beta/debug) 11-May-17" ;
 		:Conventions = "CF-1.6" ;
 }
 bn_keep_axisnames.jnl --- test SAVE/KEEP_AXISNAMES
@@ -102103,7 +107149,7 @@ variables:
 		A:long_name = "X[GX=X100] + T[GT=T31]" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 10-Feb-17" ;
+		:history = "FERRET V7.11 (beta/debug) 11-May-17" ;
 		:Conventions = "CF-1.6" ;
 }
 bn_keep_axisnames.jnl --- without /KEEP_AXISNAMES
@@ -102130,7 +107176,7 @@ variables:
 		A:long_name = "X[GX=X100] + T[GT=T31]" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 10-Feb-17" ;
+		:history = "FERRET V7.11 (beta/debug) 11-May-17" ;
 		:Conventions = "CF-1.6" ;
 }
 bn_axis_cf.jnl, degrees_east, degrees_north, std names on axes:
@@ -102196,7 +107242,7 @@ variables:
 		ZUP:long_name = "Z[GZ=ZAXUP]" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 10-Feb-17" ;
+		:history = "FERRET V7.11 (beta/debug) 11-May-17" ;
 		:Conventions = "CF-1.6" ;
 }
 bn_axis_cf.jnl, Convert forms of DEG, degrees to degrees_east:
@@ -102228,7 +107274,7 @@ variables:
 		Y_:long_name_mod = "axis YFIFTEEN" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 10-Feb-17" ;
+		:history = "FERRET V7.11 (beta/debug) 11-May-17" ;
 		:Conventions = "CF-1.6" ;
 }
 bn_axis_cf.jnl, Downcase units, e.g. in time axis DAYS since
@@ -102261,7 +107307,7 @@ variables:
 		XYTVAR:history = "From bn_strides" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 10-Feb-17" ;
+		:history = "FERRET V7.11 (beta/debug) 11-May-17" ;
 		:Conventions = "CF-1.6" ;
 }
 netcdf a {
@@ -102286,7 +107332,7 @@ variables:
 		TIME:history = "From http://tds.climatedatacloud.com/thredds/dodsC/ensembles/nmme_gfdl/TwoD" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 10-Feb-17" ;
+		:history = "FERRET V7.11 (beta/debug) 11-May-17" ;
 		:Conventions = "CF-1.6" ;
 data:
 
@@ -102324,7 +107370,7 @@ variables:
 		time:history = "From http://tds.climatedatacloud.com/thredds/dodsC/ensembles/nmme_gfdl/TwoD" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 10-Feb-17" ;
+		:history = "FERRET V7.11 (beta/debug) 11-May-17" ;
 		:Conventions = "CF-1.6" ;
 data:
 
@@ -102350,7 +107396,7 @@ variables:
 		MYVAR:history = "From coads_climatology" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 10-Feb-17" ;
+		:history = "FERRET V7.11 (beta/debug) 11-May-17" ;
 		:Conventions = "CF-1.6" ;
 }
 netcdf a {
@@ -102364,7 +107410,7 @@ variables:
 		MYVAR:history = "From levitus_climatology" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 10-Feb-17" ;
+		:history = "FERRET V7.11 (beta/debug) 11-May-17" ;
 		:Conventions = "CF-1.6" ;
 }
 -----
@@ -102378,29 +107424,33 @@ yes?
 yes? 
 yes? GO bn_startupfile
  	NOAA/PMEL TMAP
- 	FERRET v7.1 (beta/debug)
- 	Linux 2.6.18-417.el5PAE 32-bit - 02/10/17
- 	10-Feb-17 10:13     
+ 	FERRET v7.11 (beta/debug)
+ 	Linux 2.6.18-419.el5PAE 32-bit - 05/11/17
+ 	11-May-17 10:36     
 
 CAN MODE VERIFY
- Current size of FERRET memory cache: 31 MegaWords  (1 word = 8 bytes)
+    SET MEMORY/SIZE: 31 megawords
+    Peak demand: 0 words
+    Current cache: 0 words
 PPL$XPIXEL = "656"
 PPL$YPIXEL = "492"
 BYTEORDER = "LITTLE"
-FERRET_VERSION = "7.1"
-FERRET_PLATFORM = "Linux 2.6.18-417.el5PAE 32-bit"
+FERRET_VERSION = "7.11"
+FERRET_PLATFORM = "Linux 2.6.18-419.el5PAE 32-bit"
 FERRET_PRECISION = "double"
 NETCDF_VERSION = "4.3.2 of Dec 16 2014 12:21:13 $"
 FERRET_MEMORY = "31"
-SESSION_DATE = "10-Feb-17"
-SESSION_TIME = "10:13"
-SESSION_PID = "26264"
-DELTA_CPU = "0.041993"
-CLOCK_SECS = "0.395"
-CURRENT_DATE = "10-Feb-17"
-CURRENT_TIME = "10:13:45"
+SESSION_DATE = "11-May-17"
+SESSION_TIME = "10:36"
+SESSION_PID = "18648"
+DELTA_CPU = "0.043992"
+CLOCK_SECS = "0.247"
+CURRENT_DATE = "11-May-17"
+CURRENT_TIME = "10:36:29"
 N_OPEN_DSETS = "0"
 PROGRAM_NAME = "Ferret"
+PEAK_MEMORY = "0"
+SPAWN_STATUS = "1"
 GO_FILE = "./bn_startupfile.jnl"
 LAST_GO_FILE = "./bn_startupfile.jnl"
 PPL$FORMAT = "(3F10.2)"
@@ -102421,7 +107471,7 @@ PPL$VIEW_X = "0.000"
 PPL$VIEW_Y = "0.000"
 PPL$VIEW_Z = "0.000"
 PPL$COMMAND_FILE = "$$MEMBUF$$"
-WIN_TITLE = "10-Feb-17:10:13"
+WIN_TITLE = "11-May-17:10:36"
 VP_WIDTH = "10.2"
 VP_HEIGHT = "8.8"
 VP_SCALE = "1"
@@ -102432,27 +107482,27 @@ VP_XHI = "1"
 VP_YLO = "0"
 VP_YHI = "1"
       MODE            STATE        ARGUMENT
-      DIAGNOSTIC    CANCELLED           99
-      VERIFY        CANCELLED      DEFAULT
-      INTERPOLATE   CANCELLED
-      IGNORE_ERROR  CANCELLED
-      STUPID        CANCELLED
+      DIAGNOSTIC    CANCELED            99
+      VERIFY        CANCELED       DEFAULT
+      INTERPOLATE   CANCELED
+      IGNORE_ERROR  CANCELED
+      STUPID        CANCELED
       JOURNAL          SET         startup_tests.jnl
       LONG_LABEL       SET               1
-      LATIT_LABEL   CANCELLED            1
+      LATIT_LABEL   CANCELED             1
       DEPTH_LABEL      SET              -4
       CALENDAR         SET         minutes
       E_LABEL          SET               1
       F_LABEL          SET         minutes
       ASCII_FONT       SET
       SEGMENT          SET
-      WAIT          CANCELLED
-      DESPERATE     CANCELLED      3100000
+      WAIT          CANCELED
+      DESPERATE     CANCELED       2560000
       GKS              SET
       REFRESH          SET
       METAFILE         SET         startup_tests.plt
-      PPLLIST       CANCELLED      ppllist.out
-      GUI           CANCELLED
+      PPLLIST       CANCELED       ppllist.out
+      GUI           CANCELED
       LOGO             SET
       LABELS           SET
       GRATICULE        SET
@@ -102460,10 +107510,11 @@ VP_YHI = "1"
       UPCASE_OUTPU     SET
       NLEVELS          SET             100
       NODATA_LAB       SET
-      SHRINK_YLAB   CANCELLED
-      CURVILINEAR   CANCELLED
-      LAYERZ        CANCELLED
+      SHRINK_YLAB   CANCELED
+      CURVILINEAR   CANCELED
+      LAYERZ        CANCELED
       6D_LAB           SET
+      FRUGAL           SET              30
      currently SET data sets:
     1> ./gtbc011.cdf  (default)
  name     title                             I         J         K         L
@@ -102484,9 +107535,9 @@ yes?
 yes? 
 yes? GO bn_gif
  	NOAA/PMEL TMAP
- 	FERRET v7.1 (beta/debug)
- 	Linux 2.6.18-417.el5PAE 32-bit - 02/10/17
- 	10-Feb-17 10:13     
+ 	FERRET v7.11 (beta/debug)
+ 	Linux 2.6.18-419.el5PAE 32-bit - 05/11/17
+ 	11-May-17 10:36     
 
 ! bn450_gif.JNL - copied from bn450_plot.jnl
 ! this journal file only tests the writing of gif file in batch mode using
@@ -102670,6 +107721,7 @@ frame/trans/file=testbackground.gif
 ! has trouble when running the benchmarks from remote desktop
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go err491_long_gif_name
 ! err491_long_gif_name.jnl
 ! *sh* 4/99 - test 175 character gif name
@@ -102705,6 +107757,7 @@ set win/siz=1/asp=1
 ! New benchmark gif outputs in v6.97
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO bn_hovmuller_overlays
 ! bn_hovmuller_overlays.jnl
 ! Previously a time series plot overlaid oon a Hovmuller plot did not
@@ -102712,6 +107765,7 @@ GO bn_hovmuller_overlays
 ! See ticket 2344
  
 ! 1/6/2016 ACM
+! acm* 3/17 check the URL with TEST_OPENDAP befor trying to open it.
  
 ! run this in the gif benchmarks.
  
@@ -102762,10 +107816,13 @@ PLOT/OVER/thick/y=8 my_var+10
 ! Like the dataset example from the FAQ
 set view ll6
  
-use "http://ferret.pmel.noaa.gov/thredds/dodsC/data/PMEL/COADS/coads_sst.cdf"
-set region/x=40w/y=10n:60n/t=15-jan-1982:15-dec-1983
-shade sst
-plot/over/thick/TITLE="at 20"  sst[y=@LOC:20]
+IF `test_opendap("http://ferret.pmel.noaa.gov/pmel/thredds/dodsC/data/PMEL/COADS/coads_sst.cdf") EQ 0` THEN
+ !-> IF 1 THEN
+   use "http://ferret.pmel.noaa.gov/pmel/thredds/dodsC/data/PMEL/COADS/coads_sst.cdf"
+   set region/x=40w/y=10n:60n/t=15-jan-1982:15-dec-1983
+   shade sst
+   plot/over/thick/TITLE="at 20"  sst[y=@LOC:20]
+ENDIF
  
 can data/all
 can region
@@ -102773,19 +107830,20 @@ can region
 ! vector plots with a time series
 set view lr6
  
-use "http://ferret.pmel.noaa.gov/thredds/dodsC/data/PMEL/COADS/coads_uwnd.cdf"
-use "http://ferret.pmel.noaa.gov/thredds/dodsC/data/PMEL/COADS/coads_vwnd.cdf"
- 
-vec/x=0/y=-10:10/t=1-jan-1980:1-jan-1990 uwnd[d=1], vwnd[d=2]
- 
-let wspd = (uwnd[d=1]*uwnd[d=1] + vwnd[d=2]*vwnd[d=2])^0.5
-plot/over/color=red/thick/x=0/t=1-jan-1980:1-jan-1990 wspd[y=-10:10 at ave]
- 
-FRAME/FILE=bn_hovmuller_overlays.gif
- 
+IF `test_opendap("http://ferret.pmel.noaa.gov/pmel/thredds/dodsC/data/PMEL/COADS/coads_uwnd.cdf") EQ 0 AND\
+ test_opendap("http://ferret.pmel.noaa.gov/pmel/thredds/dodsC/data/PMEL/COADS/coads_uwnd.cdf") EQ 0` THEN
+ !-> IF 1 THEN
+   use "http://ferret.pmel.noaa.gov/pmel/thredds/dodsC/data/PMEL/COADS/coads_uwnd.cdf"
+   use "http://ferret.pmel.noaa.gov/pmel/thredds/dodsC/data/PMEL/COADS/coads_vwnd.cdf"
+   vec/x=0/y=-10:10/t=1-jan-1980:1-jan-1990 uwnd[d=1], vwnd[d=2]
+   let wspd = (uwnd[d=1]*uwnd[d=1] + vwnd[d=2]*vwnd[d=2])^0.5
+   plot/over/color=red/thick/x=0/t=1-jan-1980:1-jan-1990 wspd[y=-10:10 at ave]
+   FRAME/FILE=bn_hovmuller_overlays.gif
+ENDIF
  
 Go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO bn_labels_on_taxis
 ! bn_labels_on_taxis.jnl
 ! tests of labels and overlays on time axes
@@ -102931,6 +107989,7 @@ FRAME/FILE=bn_labels_on_taxis.gif
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err696_contour_conset
 ! err696_contour_conset.jnl
 ! Ticket 2351. The PPL CONSET command had stopped working to set
@@ -102991,6 +108050,7 @@ frame/file=bn_contour_conset.gif
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err696_subspan_mod_strides
 ! err696_subspan_mod_strides
 ! See ticket 513. Axis is subspan modulo, and strides
@@ -103014,6 +108074,145 @@ shade/over d10[i=1:10:2,j=1:10]
  
 frame/file=bn_subspan_mod_strides.gif
  
+GO bn_reset
+cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+GO err71_plotvs_mode_label
+! err71_plotvs_mode_label.jnl
+!  *acm*3/17/17 Ticket 2517:
+! MODE LONG_LABEL, MODE LATIT_LABEL need to apply
+! to PLOT/VS plots.
+ 
+can mode logo
+ 
+set mode long_lab
+set mode latit_lab
+ 
+let/title="|Roll|"/units="degree" abscissa_roll = {0, 20}
+let/title="Wind Speed"/units="kn" ordinate_spd  = {0, 0}
+ 
+! labeled lon/lat axes. Units of "degrees" is taken to be degrees
+! east or north depending on which plot axis it is drawn on.
+ 
+set view ul
+plot/vs/line/vlimits=-20:20 abscissa_roll, ordinate_spd
+set view ur
+plot/vs/line/hlimits=-20:20 ordinate_spd, abscissa_roll
+ 
+! These modes turn off lon/lat axis labeling
+ 
+cancel mode long_lab
+cancel mode latit_lab
+ 
+set view ll
+plot/vs/line/vlimits=-20:20 abscissa_roll, ordinate_spd
+set view lr
+plot/vs/line/hlimits=-20:20 ordinate_spd, abscissa_roll
+ 
+! Explicit units units of degrees_east and degrees_north:
+! degrees_east draws longitude labeling on whichever plot axis
+! the associated variable is drawn, and likewise for degrees_north.
+! Setting or cancelling the label modes applies to the variable
+! units not the plot-axis direction.
+ 
+cancel view
+set mode long_lab
+set mode latit_lab
+ 
+let/title="East"/units="degrees_east" lon = {10,20,30}
+let/title="North"/units="degrees_north" lat = {-10,0,10}
+ 
+! longitude axis on the horizontal, latitude axis on the vertical
+ 
+set view ul; plot/vs/line/sym/hlim=0:40/vlim=-20:20 lon, lat
+annotate/norm/x=0.1/y=0.9/siz=0.1 "long TRUE  latit TRUE"
+ 
+! latitude axis on the horizontal, longitude axis on the vertical
+ 
+set view ur; plot/vs/line/sym/hlim=0:40/vlim=-20:20 lat,lon
+annotate/norm/x=0.1/y=0.9/siz=0.1 "long vertical  latit horizontal"
+ 
+! longitude axis on the horizontal, latitude axis on the vertical
+! but with latitude labeling turned off
+ 
+set mode long_lab
+cancel mode latit_lab
+set view ll; plot/vs/line/sym/hlim=0:40/vlim=-20:20 lon, lat
+annotate/norm/x=0.1/y=0.9/siz=0.1 "long TRUE  latit FALSE"
+ 
+! latitude axis on the horizontal, longitude axis on the vertical
+! but with longitude labeling turned off
+ 
+cancel mode long_lab
+set mode latit_lab
+set view lr; plot/vs/line/sym/hlim=0:40/vlim=-20:20 lat,lon
+annotate/norm/x=0.1/y=0.9/siz=0.1 "long FALSE  latit TRUE"
+ 
+frame/file=lon_lat_label_controls.gif
+ 
+ 
+! Restore default settings
+set mode long_lab
+set mode latit_lab
+ 
+set mode/last logo
+ 
+GO bn_reset
+cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+GO err700_vs_plot_axes
+! err700_vs_plot_axes.jnl
+! See ticket 2477, in some cases the plot axes are not fully drawn
+! 11/2016 ACM
+ 
+ 
+USE err700_vs_data.nc
+ 
+! only with PLOT/VS plots, only with SYMBOLS not PLOT/VS/LINE
+PLOT/VS/THICK/COLOR=red/SIZ=0.2 lon,lat
+FRAME/FILE=bn_axis_vs.gif
+ 
+GO bn_reset
+cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+GO err71_vs_constant
+! err71_vs_constant.jnl
+! See ticket 2318, defining plot axes when data is constant
+! 4/2017 acm
+ 
+! The axis ranges had been set as val-1, val+1 which
+! worked poorly for large or small data values
+ 
+ 
+ 
+ 
+def view/xlim=   0,.333/ylim=0,.5 ll6   ! ok
+def view/xlim=   0,.333/ylim=.5,1 ul6   ! long tic labels
+def view/xlim=.333,.666/ylim=0,.5 lm6   ! long tic labels, logo corrupted
+def view/xlim=.333,.666/ylim=.5,1 um6   ! plot positioning and labels are corrupted
+def view/xlim=.666,   1/ylim=0,.5 lr6   ! no plot at all
+def view/xlim=.666,   1/ylim=.5,1 ur6   ! no vertical tic labels
+ 
+ 
+set view ul6; plot/vs/color/thick/line/sym/siz=0.2 {1,2},  1e4*{1,1}
+set view um6; plot/vs/color/thick/line/sym/siz=0.2 {1,2},  1e5*{1,1}
+set view ur6; plot/vs/color/thick/line/sym/siz=0.2 {1,2},  1e6*{1,1}
+set view ll6; plot/vs/color/thick/line/sym/siz=0.2 {1,2},  1e7*{1,1}
+set view lm6; plot/vs/color/thick/line/sym/siz=0.2 {1,2},  1e8*{1,1}
+set view lr6; plot/vs/color/thick/line/sym/siz=0.2 {1,2}, 1e-2*{1,1}
+ 
+frame/file=bn_vs_const_value.gif
+ 
+! With constant data value as the first argument
+ 
+can view
+set view ul6; plot/vs/color/thick/line/sym/siz=0.2  1e4*{1,1}, {1,2}
+set view um6; plot/vs/color/thick/line/sym/siz=0.2  1e5*{1,1}, {1,2}
+set view ur6; plot/vs/color/thick/line/sym/siz=0.2  1e6*{1,1}, {1,2}
+set view ll6; plot/vs/color/thick/line/sym/siz=0.2  1e7*{1,1}, {1,2}
+set view lm6; plot/vs/color/thick/line/sym/siz=0.2  1e8*{1,1}, {1,2}
+set view lr6; plot/vs/color/thick/line/sym/siz=0.2 1e-2*{1,1}, {1,2}
+ 
 exit/command
 yes? ! this "shell" is used because the Unix redirection fails to echo commands
 yes? ! from the top level command file
@@ -103023,9 +108222,9 @@ yes?
 yes? 
 yes? GO bn_ps
  	NOAA/PMEL TMAP
- 	FERRET v7.1 (beta/debug)
- 	Linux 2.6.18-417.el5PAE 32-bit - 02/10/17
- 	10-Feb-17 10:13     
+ 	FERRET v7.11 (beta/debug)
+ 	Linux 2.6.18-419.el5PAE 32-bit - 05/11/17
+ 	11-May-17 10:36     
 
 ! bn450_ps.JNL - copied from bn450_plot.jnl
 ! this journal file only tests the writing of ps files in batch mode using
@@ -103137,9 +108336,9 @@ yes?
 yes? 
 yes? GO bn_batch_metafile
  	NOAA/PMEL TMAP
- 	FERRET v7.1 (beta/debug)
- 	Linux 2.6.18-417.el5PAE 32-bit - 02/10/17
- 	10-Feb-17 10:13     
+ 	FERRET v7.11 (beta/debug)
+ 	Linux 2.6.18-419.el5PAE 32-bit - 05/11/17
+ 	11-May-17 10:36     
 
 ! bn_batch_metafile.jnl
 ! Run at the end of the benchmark scripts, starting ferret with the flags
@@ -103223,4 +108422,4 @@ set window/location=0.1,0.1/title="another title"
  
 set mode/last logo
 exit/command
-Ended at Fri Feb 10 10:13:50 PST 2017
+Ended at Thu May 11 10:36:34 PDT 2017
diff --git a/bench/ansley_official.rhel6-64_err b/bench/ansley_official.rhel6-64_err
index 08ff712..acf11e1 100644
--- a/bench/ansley_official.rhel6-64_err
+++ b/bench/ansley_official.rhel6-64_err
@@ -1,10 +1,10 @@
 Procedure run_all to run all FERRET benchmarks
-Running FERRET version /home/users/ansley/build/trunk/FERRET/fer/ferret_c
--rwxr-xr-x. 1 ansley oerdnewp 115666462 Feb 15 11:18 /home/users/ansley/build/trunk/FERRET/fer/ferret_c
-Using external functions from /home/users/ansley/build/trunk/FERRET/external_functions/ext_func
+Running FERRET version /home/users/ansley/build/working/FERRET/fer/ferret_c
+-rwxr-xr-x. 1 ansley tmap 117386464 Jul 12 09:46 /home/users/ansley/build/working/FERRET/fer/ferret_c
+Using external functions from /home/users/ansley/build/working/FERRET/external_functions/ext_func
 Running the tests of external functions y
 Benchmark run by ansley
-Note: ticket 2507
+Note: v7.2
 ncdump output will be in all_ncdump.out, and appended to this log file 
 ***** Restricting Ferret paths to bench directory *****
 FER_DAT=.
@@ -13,18 +13,20 @@ FER_DATA_THREDDS= http://ferret.pmel.noaa.gov/geoide/geoIDECleanCatalog.xml /hom
 FER_DESCR=.
 FER_DIR=.
 FER_DSETS=.
-FER_EXTERNAL_FUNCTIONS=/home/users/ansley/build/trunk/FERRET/external_functions/ext_func
-FER_FONTS=/home/users/ansley/ferret_distributions/rhel6_64/ppl/fonts
-FER_GO=. /home/users/ansley/ferret_distributions/rhel6_64/go /home/users/ansley/ferret_distributions/rhel6_64/examples /home/users/ansley/ferret_distributions/rhel6_64/contrib
+FER_EXTERNAL_FUNCTIONS=/home/users/ansley/build/working/FERRET/external_functions/ext_func
+FER_FONTS=/home/users/tmap/ferret/rhel6-x86_64-linux/ppl/fonts
+FER_GO=. /home/users/tmap/ferret/rhel6-x86_64-linux/go /home/users/tmap/ferret/rhel6-x86_64-linux/examples /home/users/tmap/ferret/rhel6-x86_64-linux/contrib
 FER_GRIDS=.
-FER_LIBS=/home/users/ansley/ferret_distributions/rhel6_64/lib
-FER_PALETTE=. /home/users/ansley/ferret_distributions/rhel6_64/ppl
+FER_LIBS=/home/users/tmap/ferret/rhel6-x86_64-linux/lib
+FER_PALETTE=. /home/users/tmap/ferret/rhel6-x86_64-linux/ppl
 FER_WEB_BROWSER=firefox
-PWD=/home/users/ansley/build/trunk/FERRET/bench
+PWD=/home/users/ansley/build/working/FERRET/bench
 PYFER_EXTERNAL_FUNCTIONS=/home/users/tmap/ferret/rhel6-x86_64-linux/ext_func/pylibs
-Beginning at Wed Feb 15 11:27:20 PST 2017
+Beginning at Wed Jul 12 09:51:20 PDT 2017
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_syntax
            *** NOTE: /FILES is deprecated.  Use /MEMBERS
         SET EXPRESSION has not been given or implied
  **ERROR: unknown command qualifier: notaqualifier
@@ -35,6 +37,8 @@ that
 \! ignore (err cuz bang gets escaped)
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_dollar
  **ERROR: invalid command: Value needed for argument 3 in command
           GO bn_dollar hello
 message/cont $3
@@ -85,6 +89,8 @@ say ($100)
 say ($10)0
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_grave
  **ERROR: command syntax: unpaired grave accents: message/continue "2+2=`2+2"
 message/continue "2+2=`2+2"
  **ERROR: variable unknown or not in data set: GARBAGE
@@ -127,6 +133,8 @@ MESSAGE/CONTINUE `sst,return=Xsize`
 MESSAGE/CONTINUE `sst,return=trash`
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_letd
  **ERROR: unknown data set: NOEXIST
 DEFINE VARIABLE/d=noexist a = b
  **ERROR: variable unknown or not in data set: AIRT[D=GT4D011]
@@ -137,6 +145,8 @@ can var
  LISTing to file v1file.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_if
  **ERROR: invalid command: ENDIF can only be used in an IF clause
 ENDIF
  **ERROR: command syntax: ELIF cannot be used in single line IF
@@ -155,6 +165,8 @@ elif
            *** NOTE: Unclosed IF statement ... assuming ENDIF, in script ./bn_if.jnl
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_expressions
  **ERROR: command syntax: IF I GT 3 THEN ( IF I LT 5 THEN I ELSE -9 ) ELSE .333
           Cannot use multiple IFs in an expression
 LIST/ORDER=X  IF I GT 3 THEN ( IF I LT 5 THEN I ELSE -9 ) ELSE .333
@@ -166,6 +178,8 @@ DEFINE VARIABLE A = IF I LT 5 THEN I ELSE -9
 load a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16,a17,a18,a19,a20,a21
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_geometry
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
  PERMANENT data cleared from memory
@@ -177,6 +191,8 @@ load a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16,a17,a18,a19,a20,a21
 LIST X[I=1:5] - X[I=6:9]
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_output
  LISTing to file WV.J34K56L7
  LISTing to file test.dat
  LISTing to file test.dat
@@ -185,14 +201,22 @@ LIST X[I=1:5] - X[I=6:9]
 LIST/FILE=test.gt/FORMAT=TMAP/L=1:3 v,v^0.5
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_in_plane
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_compress
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_interpolate
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_regrid
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
 Replacing definition of axis XFINE
@@ -202,9 +226,13 @@ Replacing definition of axis YCOARSE
 Replacing definition of grid G24
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_ez
  LISTing to file test.unf
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_plot
  **ERROR: dimensions improperly specified: specified data is not a line
            - its a 2D region: "plot/i=1:10/j=1:20/nolabel i+j"
 plot/i=1:10/j=1:20/nolabel i+j
@@ -267,6 +295,8 @@ cont/over/i=1:10/thick=4 i
 cont/over/i=1:10/sigdig=-1 i
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_curv
 Replacing definition of axis LON_FIELD_I_AXIS
 Replacing definition of axis LON_FIELD_J_AXIS
 Replacing definition of axis LAT_FIELD_I_AXIS
@@ -284,6 +314,8 @@ shade/nolabel sst, x_page[j=1:12], y_page
 shade/nolabel sst, x_page[j=1:12], y_page
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_symbols
  **ERROR: command syntax: illegal name: TEST*
 define symbol test* = hello
  **ERROR: invalid command: Value needed for argument 5 in command
@@ -303,8 +335,12 @@ message/continue ($t2"|solong>really hello|bye|")
            *** NOTE: Valid symbol t2 choices are: solong>really hello|bye|
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_comma_delimited
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_dynamic_grids
  **ERROR: unknown defining grid: GX=NOEXIST
 list temp[gx=noexist]
  **ERROR: command syntax: P=NOEXIST
@@ -347,12 +383,8 @@ list tu
 list tu
  **ERROR: regridding: Axis orientation not matching request:GX=PSYU
 list tu
- Cached data cleared from memory
- **ERROR: request exceeds memory setting: 50 Mwords were requested.
+ **ERROR: request exceeds memory setting
 list temp[gz=z999999,z=5:15]
-           *** NOTE: You can use SET MEMORY/SIZE=xxx to increase memory.
-           *** NOTE: The "Memory use" section of the FERRET Users Guide has further tips.
- Cached data cleared from memory
            *** NOTE: Ambiguous coordinates on X axis: X[X=0.1:10:1.5] +  X[X=1.1:11:1.5]
            *** NOTE: Ambiguous coordinates on X axis: X[X=0.1:10:1.5] +  X[X=1.1:11:1.5]
            *** NOTE: Ambiguous coordinates on X axis: TEMP[I=101:120:4]+X[I=101:120:4]
@@ -375,6 +407,8 @@ list a
 list a
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_cdf
  LISTing to file test0a.cdf
  LISTing to file test0b.cdf
  LISTing to file test0c.cdf
@@ -488,12 +522,16 @@ list/format=cdf/l=13/append/file=test_abs.cdf l1
            *** NOTE: Axis coordinates are decreasing-ordered. Reversing ordering for axis Y1010_REV
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_regrid_transforms
  **ERROR: regridding: G=W - more than 1 target grid
 load temp[g=u,g=w]
  **ERROR: unknown defining grid: G=X --> g=user-or-pseudo-var not allowed
 load temp[g=x]
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_axis_limits
  **ERROR: command syntax: xlimits
 plot/xlimits i
  **ERROR: command syntax: xlimits= i
@@ -512,8 +550,12 @@ plot/xlimits=1:2: i
 plot/xlimits=5:5 i
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_movie
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_ez_order
  LISTing to file test_perm10.dat
  LISTing to file test_perm24.dat
  LISTing to file test_perm48.dat
@@ -526,10 +568,16 @@ Replacing definition of grid G24
  LISTing to file test_stream.unf
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_user
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_stream
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_mc
  **TMAP ERR: Attempt to access unsupported feature
              Descriptor requests delta of 0, please use 1
              Data set: ./coads_clim_bad_delta.des
@@ -542,72 +590,81 @@ set data coads_clim_step_order.des
 list sst
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_negative_t
 Replacing definition of axis TAX
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_xact_regrid
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_gc_functions
 Replacing definition of axis TIME
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn491_bug_fixes.jnl
  LISTing to file test.cdf
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis TAX
 Replacing definition of axis TAX
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
- Cached data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_odd_variable_name
  **ERROR: command syntax: v2-and-minus
           - before and is illegal
 list v2-and-minus
- **ERROR: dimensions improperly specified: 99999999 words were requested.
+ **ERROR: illegal limits: Limits must be provided for pseudo-variable.
 list x
-           *** NOTE: Check for unspecified limits on an ABSTRACT axis
-           *** NOTE: Use the SHOW GRID command to see the axes
- **ERROR: dimensions improperly specified: 99999999 words were requested.
+ **ERROR: illegal limits: Limits must be provided for pseudo-variable.
 list i
-           *** NOTE: Check for unspecified limits on an ABSTRACT axis
-           *** NOTE: Use the SHOW GRID command to see the axes
  **ERROR: command syntax: v2-and-minus[i=5:15 at ddc]
           - before and is illegal
 list v2-and-minus[i=5:15 at ddc]
- Cached data cleared from memory
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_test_stream
  LISTing to file permutedBinaryTest.dat
  LISTing to file junk.dat
 Replacing definition of axis XAX
 Replacing definition of axis YAX
 Replacing definition of axis ZAX
 Replacing definition of axis TAX
- **ERROR: request exceeds memory setting: 48000 Mwords were requested.
+ **ERROR: request exceeds memory setting
 load num
-           *** NOTE: You can use SET MEMORY/SIZE=xxx to increase memory.
-           *** NOTE: The "Memory use" section of the FERRET Users Guide has further tips.
 Replacing definition of axis YAX
 Replacing definition of axis ZAX
 Replacing definition of axis TAX
- **ERROR: request exceeds memory setting: 2000 Mwords were requested.
+ **ERROR: request exceeds memory setting
 load num
-           *** NOTE: You can use SET MEMORY/SIZE=xxx to increase memory.
-           *** NOTE: The "Memory use" section of the FERRET Users Guide has further tips.
 Replacing definition of axis XAX
 Replacing definition of axis YAX
 Replacing definition of axis ZAX
@@ -624,6 +681,8 @@ SET DATA/EZ/var=num/order=vxyzt/grid=mygrid junk.dat
 SET DATA/EZ/var=num/type=i3/grid=mygrid/form=stream junk.dat
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_define_axes
 Replacing definition of axis XAX
 Replacing definition of axis XAX
 Replacing definition of axis XAX
@@ -679,47 +738,68 @@ Replacing definition of axis XAX2
 Replacing definition of axis XAX2
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_pattern
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_polygon
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn500_bug_fixes
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis TCAL
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file out.cdf
  LISTing to file out.cdf
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
            *** NOTE: /UNIT=MONTHS is ambiguous ... using 1/12 of 365.2425 days
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  **ERROR: command syntax: noname(i)
           unknown function "noname"
 stat i, noname(i)
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_sample
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
  PERMANENT data cleared from memory
@@ -758,6 +838,8 @@ stat i, noname(i)
  TEMPORARY data cleared from memory
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_strides_revs_perms
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
  PERMANENT data cleared from memory
@@ -778,6 +860,8 @@ LIST/i=2:4:2 VAR
            *** NOTE: Stride value not a factor of axis length
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_non_COARDS_netCDF
            *** NOTE: Coordinates out of order or missing on axis UNORDERED_AXIS at subscript 4
            *** NOTE: A dummy axis of subscripts will be used
            *** NOTE: Coordinates out of order or missing on axis GAPPY_AXIS at subscript 3
@@ -785,9 +869,13 @@ LIST/i=2:4:2 VAR
            *** NOTE: Axis coordinates are decreasing-ordered. Reversing ordering for axis BACKWARDS_AXIS
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_cache_hits
 Replacing definition of grid GX
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_regrid_to_user
 Replacing definition of axis YAX
 Replacing definition of grid GG2
  **ERROR: unknown defining grid: G=NO_EXIST
@@ -799,6 +887,8 @@ Replacing definition of axis Y2
 Replacing definition of grid MYGRID
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_calendar
 Replacing definition of axis TDAYS
 Replacing definition of axis TDAYS
 Replacing definition of axis TDAYS
@@ -826,6 +916,8 @@ Replacing definition of grid TGRID
            *** NOTE: /UNIT=MONTHS  ... using 1/12 of 365.25 days
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_dash_dot
  **ERROR: command syntax: dash=(1., 2.)
           DASH[=(dn1,up1,dn2,up2)] takes 4 arguments or no argument
 plot/dash=(1., 2.)/color=red/thick/i=1:1000 sin(62.8*(i+10) )
@@ -834,24 +926,33 @@ plot/dash=(1., 2.)/color=red/thick/i=1:1000 sin(62.8*(i+10) )
 plot/dash=(-1., 2., 3., 4.)/i=1:1000 sin(62.8*(i+20) )
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_flowlines
  Using every   2th vector in the Y direction
  Using every   2th vector in the Y direction
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  Using every   2th vector in the X direction
  Using every   2th vector in the Y direction
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_logaxes
 Replacing definition of axis DLOG
 Replacing definition of axis DLOG
  **ERROR: value out of legal range: Limits for log axis negative or too small: -9.00 : 0.00
 plot/hlog fcn
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_internal_external_functions
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis DAYT
 Replacing definition of grid TGRID
  **ERROR: error in external function
@@ -859,6 +960,7 @@ LIST vw_fft
 Replacing definition of grid TGRID
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis X10
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
@@ -868,33 +970,47 @@ Replacing definition of axis X10
            *** NOTE: Axis is in use by grid G10X5
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Replacing definition of axis XAXS
+Replacing definition of axis YAXS
+Replacing definition of axis ZAXS
+Replacing definition of axis TAXS
+Replacing definition of grid MYGRD
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  **ERROR: illegal limits: VWND does not contain L=102:150
           Data are available in L =    1:60
 list tsorted_indices, tsorted_wnd
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  **ERROR: error in external function
 list/l=1:2 eofxyfcn
  **ERROR: error in external function
@@ -903,10 +1019,13 @@ list/i=1:3/j=1:3 eofstat
 list/i=1:2 eoftime
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  **ERROR: command syntax: strindex("Ferret is fun for the whole family - real family fun")
           The strindex function has an incorrect number of arguments
 list strindex("Ferret is fun for the whole family - real family fun")
@@ -924,16 +1043,23 @@ list substring("Have you fed your ferret today")
 list strcat ("All work and no play")
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_modulo_strides
  LISTing to file test_modulo.cdf
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
@@ -943,6 +1069,8 @@ list strcat ("All work and no play")
            *** NOTE: Stride value not a factor of axis length
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_axis_viewports
 Re-defining viewport MID
 Re-defining viewport MID2
 Re-defining viewport LLAX
@@ -951,6 +1079,8 @@ Re-defining viewport ULAX
 Re-defining viewport URAX
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_strings
  **ERROR: command syntax: "string2"}
 list e
  **ERROR: command syntax: 5, "string2"}
@@ -994,10 +1124,16 @@ list/nohead SIN({"a","b","c"})
 list/nohead MAX("a",{"a","b","c"})
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_axcontrol
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_vec_curv
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_delimited_read
 Replacing definition of axis X1
 Replacing definition of grid G1
 Replacing definition of axis TAX
@@ -1018,21 +1154,29 @@ SET DATA/FORM=delimited/type="da,da, date2"  bn_delimited_read_date_time.dat
 SET DATA/EZ/form=delim/delim="/,,,:" bn_delimited_read_date_time.dat
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn541_bug_fixes
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file test_good_order.cdf
  LISTing to file test_bad_order.cdf
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis T2
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Re-defining viewport LL6
 Re-defining viewport UL6
 Re-defining viewport LM6
@@ -1041,41 +1185,52 @@ Re-defining viewport LR6
 Re-defining viewport UR6
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis XAX
 Replacing definition of axis YAX
 Replacing definition of axis ZAX
 Replacing definition of axis TAX
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file profiles.nc
  LISTing to file profiles.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file test_100x100.nc
- Cached data cleared from memory
- Cached data cleared from memory
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis XAX
 Replacing definition of axis YAX
 Replacing definition of grid MYGRID
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_cancel_axes
  LISTing to file longax.dat
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
            *** NOTE: Axis has repeated values -- micro-adjusting ...
            *** NOTE: Axis has repeated values -- micro-adjusting ...
            *** NOTE: Axis has repeated values -- micro-adjusting ...
@@ -1088,29 +1243,39 @@ Replacing definition of grid MYGRID
            *** NOTE: Axis has repeated values -- micro-adjusting ...
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
            *** NOTE: regarding ./test_axes.nc ...
            *** NOTE: Climatological axes test_irreg, test_seas defined
+ LISTing to file longaxspace.dat
+Replacing definition of axis XAX
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn542_bug_fixes
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
            *** NOTE: /UNIT=MONTHS is ambiguous ... using 1/12 of 365.2425 days
            *** NOTE: /UNIT=MONTHS  ... using 1/12 of 365.25 days
 Replacing definition of axis TAX2
            *** NOTE: /UNIT=MONTHS  ... using 1/12 of 365.25 days
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file string4d.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
            *** NOTE: regarding ./test_axes.nc ...
            *** NOTE: Climatological axes test_irreg, test_seas defined
            *** NOTE: Not deleted: TEST_IRREG
-           *** NOTE: Axis is in use by grid (G023)
+           *** NOTE: Axis is in use by grid (G015)
            *** NOTE: Not deleted: XEVEN
            *** NOTE: Axis is in use by grid EVEN
            *** NOTE: Not deleted: XODD
@@ -1165,6 +1330,8 @@ Replacing definition of axis TAX2
            *** NOTE: Axis is in use by grid G5_10
            *** NOTE: Not deleted: X5
            *** NOTE: Axis is in use by grid GSRC
+           *** NOTE: Not deleted: XAX
+           *** NOTE: Axis is in use by grid GFORMAT
            *** NOTE: Not deleted: Y5
            *** NOTE: Axis is in use by grid G10X5
            *** NOTE: Not deleted: TIME1
@@ -1207,12 +1374,10 @@ Replacing definition of axis TAX2
            *** NOTE: Axis is in use by grid JGRID
            *** NOTE: Not deleted: MONTHT
            *** NOTE: Axis is in use by grid TGRID
-           *** NOTE: Not deleted: x10
+           *** NOTE: Not deleted: X10
            *** NOTE: Axis is in use by grid G10X5
            *** NOTE: Not deleted: YAX
            *** NOTE: Axis is in use by grid GFORMAT
-           *** NOTE: Not deleted: XAX
-           *** NOTE: Axis is in use by grid GFORMAT
            *** NOTE: Not deleted: TIME5
            *** NOTE: Axis is in use by grid GLB1
            *** NOTE: Not deleted: COADSX
@@ -1236,7 +1401,7 @@ Replacing definition of axis TAX2
            *** NOTE: Not deleted: TIME4
            *** NOTE: Axis is in use by grid GXYT
            *** NOTE: Not deleted: TEST_IRREG
-           *** NOTE: Axis is in use by grid (G023)
+           *** NOTE: Axis is in use by grid (G015)
            *** NOTE: Not deleted: PSZW
            *** NOTE: Axis is in use by grid G5_10
            *** NOTE: Not deleted: ZAXLEVITR1_1
@@ -1295,6 +1460,8 @@ Replacing definition of axis TAX2
            *** NOTE: Axis is in use by grid G5_10
            *** NOTE: Not deleted: X5
            *** NOTE: Axis is in use by grid GSRC
+           *** NOTE: Not deleted: XAX
+           *** NOTE: Axis is in use by grid GFORMAT
            *** NOTE: Not deleted: Y5
            *** NOTE: Axis is in use by grid G10X5
            *** NOTE: Not deleted: TIME1
@@ -1337,12 +1504,10 @@ Replacing definition of axis TAX2
            *** NOTE: Axis is in use by grid JGRID
            *** NOTE: Not deleted: MONTHT
            *** NOTE: Axis is in use by grid TGRID
-           *** NOTE: Not deleted: x10
+           *** NOTE: Not deleted: X10
            *** NOTE: Axis is in use by grid G10X5
            *** NOTE: Not deleted: YAX
            *** NOTE: Axis is in use by grid GFORMAT
-           *** NOTE: Not deleted: XAX
-           *** NOTE: Axis is in use by grid GFORMAT
            *** NOTE: Not deleted: TIME5
            *** NOTE: Axis is in use by grid GLB1
            *** NOTE: Not deleted: COADSX
@@ -1371,30 +1536,23 @@ Replacing definition of axis TAX2
            *** NOTE: Axis is in use by grid GG2
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_subspan_modulo
  LISTing to file test_mod.cdf
-           *** NOTE: Shell command returned failure flag: ncdump -h test_nomod.cdf | grep modulo
  LISTing to file test_mod.cdf
-           *** NOTE: Shell command returned failure flag: ncdump -h test_nomod.cdf | grep modulo
  LISTing to file test_mod.cdf
-           *** NOTE: Shell command returned failure flag: ncdump -h test_nomod.cdf | grep modulo
  **ERROR: improper grid or axis definition: Axis length exceeds modulo length
 define axis/x=130e:500:10/modulo=360 xsub
  LISTing to file test_mod.cdf
-           *** NOTE: Shell command returned failure flag: ncdump -h test_nomod.cdf | grep modulo
  LISTing to file test_mod.cdf
-           *** NOTE: Shell command returned failure flag: ncdump -h test_nomod.cdf | grep modulo
  LISTing to file test_mod.cdf
-           *** NOTE: Shell command returned failure flag: ncdump -h test_nomod.cdf | grep modulo
  LISTing to file test_mod.cdf
-           *** NOTE: Shell command returned failure flag: ncdump -h test_nomod.cdf | grep modulo
  LISTing to file test_mod.cdf
-           *** NOTE: Shell command returned failure flag: ncdump -h test_nomod.cdf | grep modulo
  LISTing to file test_mod.cdf
-           *** NOTE: Shell command returned failure flag: ncdump -h test_nomod.cdf | grep modulo
  LISTing to file test_mod.cdf
-           *** NOTE: Shell command returned failure flag: ncdump -h test_nomod.cdf | grep modulo
  LISTing to file test_subspan_modulo.nc
  LISTing to file test_subspan_modulo.nc
  LISTing to file test_subspan_modulo.nc
@@ -1408,52 +1566,74 @@ define axis/x=130e:500:10/modulo=360 xsub
            *** NOTE: Stride value not a factor of axis length
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_dots
            *** NOTE: /THICKNESS ignored  on /SYMBOL=DOT
            *** NOTE: /SIZE= ignored  on /SYMBOL=DOT
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_lev_symbols
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_mode_logo_lab
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
- PERMANENT data cleared from memory
- TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_modulo_attribute
            *** NOTE: Undecipherable value of netCDF attribute modulo on variable lon_moderr
            *** NOTE: modulo = "j"
            *** NOTE: Undecipherable value of netCDF attribute modulo on variable time_moderr
            *** NOTE: modulo = "j"
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn550_bug_fixes
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn551_bug_fixes
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Re-defining viewport MID
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Re-defining viewport MID1
 Re-defining viewport MID2
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis TAX
 Replacing definition of axis TAX
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis XAX
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn552_bug_fixes
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  **ERROR: value out of legal range: # of contour levels > 500  (3283)
 CONTOUR/L=1/LEV=0.01d sst
  **ERROR: value out of legal range: # of contour levels > 500  (3283)
@@ -1464,18 +1644,22 @@ SHADE/L=1/LEV=0.01d sst
 POLYGON/KEY/LEV=0.01d/coord_ax=Z  PLMxpoly+PLMxpolymark, PLMypoly+PLMypolymark, PLMpolydata
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
            *** NOTE: Valid calendars are GREGORIAN NOLEAP    JULIAN    360_DAY   ALL_LEAP
            *** NOTE: calendar attribute on axis "TIME" is not recognized: BADNAME
            *** NOTE: A dummy axis of subscripts will be used
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 ls: cannot access input.txt: No such file or directory
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis XAX
 Replacing definition of axis YAX
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  **ERROR: invalid command:  use RETURN= shape,size,grid,title,bad,t0,f0,units,dset,
             dsetnum,dsetpath,dsettitle,*size,*start,*end,
             *units,*axis,nc_scale,nc_offset,user_scale,user_offset,
@@ -1484,22 +1668,28 @@ Replacing definition of axis YAX
 MESSAGE/CONTINUE `axy, return=xx`
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis XAX
  LISTing to file a.dat
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis YAX
 Replacing definition of axis Z1
            *** NOTE: /UNIT=MONTHS is ambiguous ... using 1/12 of 365.2425 days
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file clim.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
            *** NOTE: Coordinates missing on axis LONGITUDE at subscript -2033
            *** NOTE: A dummy axis of subscripts will be used
            *** NOTE: Coordinates missing on axis LATITUDE at subscript -2033
@@ -1510,31 +1700,45 @@ Replacing definition of axis Z1
 list/t=1-jan-1990 dummy
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_set_var_scale_off.jnl
  **ERROR: invalid command: Can SET VARIABLE/OFFSET= only with NetCDF datasets
 SET VAR/OFFSET=1 x1
  **ERROR: invalid command: Can SET VARIABLE/SCALEFAC= only with NetCDF datasets
 SET VAR/SCALE=10 x2
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_longvarnames.jnl
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file longvname.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file longvname.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_shakey.jnl
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_eof_4d.jnl
  LISTing to file eofsp.cdf
  LISTing to file eofti.cdf
  LISTing to file eofst.cdf
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_abstract_axis_names.jnl
  LISTing to file confuse_xz.nc
  LISTing to file confuse_yz.nc
  LISTing to file confuse_yt.nc
@@ -1545,19 +1749,24 @@ SET VAR/SCALE=10 x2
  LISTing to file confuse_yzt.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_many_polygons.jnl
 Replacing definition of axis YQ
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
- PERMANENT data cleared from memory
- TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_fill_irregular.jnl
 Replacing definition of axis TAX
 Replacing definition of axis XAX
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_xml_output.jnl
  LISTing to file a.nc
  LISTing to file b.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 SHO VAR/XML
 SHO VAR/XML
 SHO VAR/XML
@@ -1569,16 +1778,25 @@ SHOW VAR/XML
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_test_nan.jnl
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn553_bug_fixes.jnl
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_graticules.jnl
  Using every   5th vector in the X direction
  Using every   3th vector in the Y direction
  Using every   2th vector in the X direction
@@ -1590,6 +1808,8 @@ Replacing definition of axis TAX
 Replacing definition of axis TAX
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_repeat_range.jnl
  TEMPORARY data cleared from memory
  **ERROR: invalid command: REPEAT/NAME requires /RANGE
 rep/name=a say `a`
@@ -1621,25 +1841,34 @@ repeat/range=3:1:-1/name=a list a
 repeat/range=3:1:-1/name=a list a
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn554_bug_fixes.jnl
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  **ERROR: illegal limits: "TEMP" does not exist at T=AUG-1980:JAN-1982
           Axis extremes are T=AUG-1982:JAN-1983
 list/t=1-aug-1980:1-jan-1982/i=92/j=35 temp
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis XAX
 Replacing definition of axis YAX
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis TAX1
 Replacing definition of axis TAX2
 Replacing definition of axis TAX1
@@ -1648,6 +1877,7 @@ Replacing definition of axis TAX1
 Replacing definition of axis TAX2
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
  PERMANENT data cleared from memory
@@ -1663,29 +1893,39 @@ Replacing definition of grid AGRID
  TEMPORARY data cleared from memory
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis X_AX
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis TAX
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  TEMPORARY data cleared from memory
  TEMPORARY data cleared from memory
  TEMPORARY data cleared from memory
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis XAX
 Replacing definition of axis YAX
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_bounds.jnl
  LISTing to file a.nc
  LISTing to file a.nc
  LISTing to file a.nc
@@ -1715,13 +1955,12 @@ def axis/t/bounds tax= {12, 12.2, 36, 36.2, 60, 60.2, 84, 84.2, 108} , {0,24, 0,
            *** NOTE: Axis is in use by grid GFORMAT
  LISTing to file a.nc
  LISTing to file a.nc
-           *** NOTE: Cannot have both /BOUNDS and /RIGID Ignoring /RIGID
  LISTing to file a.nc
            *** NOTE: Cannot have both /BOUNDS and /EDGES Ignoring /EDGES
  LISTing to file a.nc
 Replacing definition of axis XAX
 Replacing definition of axis ZAX
-Replacing definition of axis tax
+Replacing definition of axis TAX
  LISTing to file irrxzt.nc
  LISTing to file a.nc
  LISTing to file a.nc
@@ -1741,11 +1980,15 @@ Replacing definition of axis tax
            *** NOTE: Substituting coordinate midpoints
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_all_leap.jnl
 Replacing definition of grid TGRID
  **ERROR: command syntax: Invalid calendar name. Names are, GREGORIAN, NOLEAP, JULIAN, 360_DAY, ALL_LEAP
 def axis/t/cal=nogood/t=1-jan-2000:1-jan-2010:1/units=months tax
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_reset_attributes.jnl
            *** NOTE: Units  not recognized: something
            *** NOTE: They will not be convertible:
            *** NOTE: Units  not recognized: something
@@ -1760,89 +2003,122 @@ Replacing definition of axis TAX
 Replacing definition of axis XAX
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn570_bug_fixes.jnl
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
            *** NOTE: /UNIT=MONTHS  ... using 1/12 of 365.00 days
 Replacing definition of axis TAX
 Replacing definition of axis ZAX
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis XAX
  LISTing to file xlong.nc
  LISTing to file xlongshift.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis TAX
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_modstats.jnl
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_mc_vary_scale.jnl
  TEMPORARY data cleared from memory
  TEMPORARY data cleared from memory
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_plot_nokey.jnl
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn580_bug_fixes.jnl
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis XAX
 Replacing definition of axis YAX
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Re-defining viewport VP_1
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis XAX
 Replacing definition of axis YAX
 Replacing definition of axis ZAX
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis XAX
 Replacing definition of axis YAX
 Replacing definition of axis XAX
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis XFINE
 Replacing definition of axis YFINE
  LISTing to file fine.dat
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  **ERROR: illegal limits: One-point independent axis: Requires a /HLIMIT or /VLIMIT specification
 plot/sym/siz=0.3 0*t[gt=vwnd]
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
            *** NOTE: /UNIT=MONTHS  ... using 1/12 of 365.00 days
 Replacing definition of axis TAX
  LISTing to file aa.nc
  LISTing to file cc.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  **ERROR: First argument is a letter of the alphabet
 query/ignore $1%q|a|b|c|d|<First argument is a letter of the alphabet%
  **ERROR: invalid command: Valid value needed for argument $2
@@ -1875,31 +2151,46 @@ message/continue ($t2"|solong>really hello|bye|")
            *** NOTE: Valid symbol t2 choices are: solong>really hello|bye|
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  **ERROR: invalid command: delta non-positive on X axis of EX#1
 list/l=1/j=40/i=0:300:0 sst
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file 10a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_inf_levels.jnl
 Replacing definition of axis XQ
 Replacing definition of axis YQ
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_regulart.jnl
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_labwid.jnl
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_redefine_taxis_mc.jnl
 Replacing definition of axis TIME1
            *** NOTE: grid GHB2 used by data set coads_clim
            *** NOTE: Redefinition may alter apparent contents of data set
@@ -1908,6 +2199,8 @@ Replacing definition of axis TIME1
            *** NOTE: Redefinition may alter apparent contents of data set
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_illegal_axisname.jnl
 Replacing definition of axis COADSX.ILLEGAL
            *** NOTE: grid GEX2 used by data set illeg_axname
            *** NOTE: Redefinition may alter apparent contents of data set
@@ -1920,38 +2213,57 @@ Replacing definition of axis COADSY.ILLEGAL
            *** NOTE: Redefinition may alter apparent contents of data set
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_exit_script.jnl
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_exit_cycle.jnl
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_curv_mod.jnl
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_shade_keycont.jnl
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn581_bug_fixes.jnl
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis TIME
  LISTing to file a.nc
  TEMPORARY data cleared from memory
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file longtitle.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file longtitle.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis TAX
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
            *** NOTE: /UNIT=MONTHS is ambiguous ... using 1/12 of 365.2425 days
  **ERROR: improper grid or axis definition: error in start,end,delta
 DEFINE AXIS/T0="1-JAN-1861"/UNITS=months/t myt
@@ -1960,39 +2272,58 @@ DEFINE AXIS/T0="1-JAN-1861"/UNITS=months/t myt
 DEFINE AXIS/T0="1-JAN-1861"/UNITS=months/T/CALENDAR=noleap myt
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file t0_cdc.nc
  LISTing to file my_cdc_timeaxis.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis TGREG
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_tab_comma_multivar.jnl
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_element_functions.jnl
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_long_revision_num.jnl
  LISTing to file revision.nc
 
 Bailing out of external function "ffta":
 	 Time axis must be a regular axis
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_window_title.jnl
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_last_error.jnl
  **ERROR: command syntax: IF I GT 3 THEN ( IF I LT 5 THEN I ELSE -9 ) ELSE .333
           Cannot use multiple IFs in an expression
 LIST/ORDER=X  IF I GT 3 THEN ( IF I LT 5 THEN I ELSE -9 ) ELSE .333
@@ -2013,11 +2344,17 @@ repeat/range=1:3/name=L (use coads_climatology; list/nohead [sst=I=1,j=1])
 LOAD vw_fft
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_deg_min.jnl
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_dp_readscale.jnl
  TEMPORARY data cleared from memory
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_bounds_defineax.jnl
 Replacing definition of axis TAX
 Replacing definition of axis XAX
 Replacing definition of axis ZAX
@@ -2027,6 +2364,8 @@ Replacing definition of axis ZAX
 Replacing definition of axis ZAX2
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_attributes.jnl
  **ERROR: invalid command: SHOW ATTRIBUTE given with no argument
 sho att/all
  **ERROR: unknown data set: d=2
@@ -2038,28 +2377,37 @@ sho att salt.nonsense
 sho att/all .
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
            *** NOTE: Axis coordinates are decreasing-ordered. Reversing ordering for axis l
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
            *** NOTE: Axis coordinates are decreasing-ordered. Reversing ordering for axis l
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
            *** NOTE: Changing the value of attribute temp.pp
            *** NOTE: Changing the length  of attribute temp.pp
            *** NOTE: Changing the value of attribute temp.some_text
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
            *** NOTE: Changing the value of attribute temp.long_name
            *** NOTE: Changing the value of attribute temp.units
            *** NOTE: Changing the value of attribute temp.missing_value
@@ -2078,8 +2426,10 @@ list coadsx.units
 set att (COADSX81_81).axis = "Z"
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
            *** NOTE: Changing the value of attribute temp.pp
            *** NOTE: Changing the length  of attribute temp.pp
            *** NOTE: Changing the value of attribute temp.some_text
@@ -2093,21 +2443,25 @@ set att (COADSX81_81).axis = "Z"
            *** NOTE: Changing the value of attribute temp.pp
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file a.nc
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file a.nc
  LISTing to file a.nc
  LISTing to file a.nc
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file a.nc
  LISTing to file a.nc
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file a.nc
  LISTing to file a.nc
 Replacing definition of axis XAX
@@ -2117,14 +2471,17 @@ Replacing definition of axis TAX
 Replacing definition of grid MYGRID
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file a.nc
  LISTing to file a.nc
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file a.nc
            *** NOTE: Converting data type of missing_value NC_FLOAT to match output type of variable NC_INT
  LISTing to file a.nc
@@ -2137,6 +2494,7 @@ Replacing definition of grid MYGRID
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file a.nc
            *** NOTE: Changing the value of attribute (COADSX).point_spacing
            *** NOTE: Changing the value of attribute (COADSY).point_spacing
@@ -2154,6 +2512,7 @@ set var/outtype=char broiled
 set var/outtype=garbage broiled
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
            *** NOTE: Changing the value of attribute (PSXT).units
  LISTing to file a.nc
  LISTing to file a.nc
@@ -2162,17 +2521,21 @@ set var/outtype=garbage broiled
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file a.nc
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis X2AX
            *** NOTE: Changing the value of attribute (z4ax).positive
  LISTing to file string4d.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
            *** NOTE: Changing the value of attribute (TIME7).units
            *** NOTE: Changing the value of attribute (TIME7).units
            *** NOTE: Changing the value of attribute (TIME7).time_origin
@@ -2183,29 +2546,35 @@ Replacing definition of axis TIME
  LISTing to file a.nc
  LISTing to file a.nc
  LISTing to file a.nc
-syntax error, unexpected WORD_STRING, expecting WORD_WORD
-context: Error { code = 404; message = "data/PMEL/COADS/coads_nothing.cdf"^;};
 CURL Error: Couldn't resolve host name
 curl error details: 
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_transforms.jnl
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_variance.jnl
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_linecolors.jnl
            *** NOTE: New # of line colors will take effect on next new window: SET WIN/NEW then define pen colors
  Using every   3th vector in the X direction
  Using every   4th vector in the Y direction
            *** NOTE: New number of line colors will take effect on next new window: SET WIN/NEW or SET WIN/CLEAR
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_cdf_errmsg.jnl
  **TMAP ERR: non-existent or not on line
              this_is_not_a_file.nc
 SET DAT/FORM=CDF this_is_not_a_file.nc
  **Internet Data error
              NetCDF: file not found (OPeNDAP/netCDF Error code -90)
-             Data set: http://ferret.pmel.noaa.gov/thredds/dodsC/data/PMEL/COADS/coads_nothing.cdf
-SET DAT/FORM=CDF "http://ferret.pmel.noaa.gov/thredds/dodsC/data/PMEL/COADS/coads_nothing.cdf"
+             Data set: http://ferret.pmel.noaa.gov/pmel/thredds/dodsC/data/PMEL/COADS/coads_nothing.cdf
+SET DAT/FORM=CDF "http://ferret.pmel.noaa.gov/pmel/thredds/dodsC/data/PMEL/COADS/coads_nothing.cdf"
  **Internet Data error
              NetCDF: I/O failure (OPeNDAP/netCDF Error code -68)
              Data set: http://noserver/a/nofile.cdf
@@ -2217,48 +2586,65 @@ SET DAT/FORM=CDF  "http://noserver/a/nofile.cdf"
 SET DAT/FORM=CDF asc.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn600_bug_fixes.jnl
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file err581_subspanx_fill_bug.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis XIR
  LISTing to file xyir.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  **ERROR: illegal use of transformation:  not all dimensions present on grid
 shade sst[x=@var,k=@var]
  **ERROR: illegal use of transformation:  not all dimensions present on grid
 shade sst[t=@AVE,Z=@ave]
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
            *** NOTE: /UNIT=MONTHS  ... using 1/12 of 360.00 days
  LISTing to file t3file.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file 0000_a.nc
  LISTing to file subdir/a.nc
  LISTing to file subdir/0000_a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
            *** NOTE: /UNIT=MONTHS is ambiguous ... using 1/12 of 365.2425 days
 Replacing definition of axis TAX
  LISTing to file a.nc
@@ -2267,80 +2653,101 @@ Replacing definition of axis TAX
            *** NOTE: cannot parse "units since date", date= "event"; leaving units string
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
-Replacing definition of axis tax
+ooooooooooooooooooooooooooooooooooooooooooo
+Replacing definition of axis TAX
            *** NOTE: Invalid I axis limits ignored: TEMP
  **ERROR: dimensions improperly specified: specified data is not a line
            - its a 2D region: "plot/i=100/k=1 temp[x=122.5W]"
 plot/i=100/k=1 temp[x=122.5W]
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis XAX
 Replacing definition of axis XAX
 Replacing definition of axis XAX
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
- Cached data cleared from memory
- Cached data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn601_bug_fixes.jnl
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file b.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file b.nc
  LISTing to file b.nc
-NetCDF: Variable not found (OPeNDAP/netCDF Error code -49)
- TAX3_bnds not found. Attempt to append irregular coordinates to NetCDF axis which has no bounds attribute. Write data originally with the /BOUNDS qualifier.
-LIST/FORMAT=CDF/CLOBBER/FILE=b.nc v
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
            *** NOTE: /UNIT=MONTHS is ambiguous ... using 1/12 of 365.2425 days
 Replacing definition of axis TIME9
            *** NOTE: grid GSQ1 used by data set coads_climatology
            *** NOTE: Redefinition may alter apparent contents of data set
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis TIME
  LISTing to file a.nc
  LISTing to file t2.nc
  LISTing to file t12.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file out.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_set_strides.jnl
  **ERROR: invalid command: it is a child axis already
 set axis/stride=2/offset=1 (AX052)
  **ERROR: invalid command: not a strided axis: COADSX
@@ -2356,21 +2763,31 @@ cancel axis/stride COADSX
 set axis/stride=2 NORMAL
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_lsl_lowpass.jnl
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_return_xmod_tmod.jnl
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn602_bug_fixes
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file noleap.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
            *** NOTE: Units on axis "ALTITUDE" are not recognized: Pa
            *** NOTE: They will not be convertible:
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file tripolar_missing_lon.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
@@ -2378,10 +2795,15 @@ CURL Error: Couldn't resolve host name
 curl error details: 
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_modnbd.jnl
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_fifty_files.jnl
            *** NOTE: Coordinates missing on axis LONGITUDE at subscript -1187
            *** NOTE: A dummy axis of subscripts will be used
            *** NOTE: Coordinates missing on axis LATITUDE at subscript -1187
@@ -2412,133 +2834,184 @@ curl error details:
            *** NOTE: Axis coordinates are decreasing-ordered. Reversing ordering for axis Y1010_REV
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn603_bug_fixes
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_set_var_name.jnl
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_memory_symbol
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
- Cached data cleared from memory
- Cached data cleared from memory
- Cached data cleared from memory
- Cached data cleared from memory
- PERMANENT data cleared from memory
- TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn605_bug_fixes
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn608_bug_fixes
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file a.nc
  LISTing to file b.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis XAX
 Replacing definition of axis YAX
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  **ERROR: invalid command: "300": Number of contour levels must be between 1 and 250
 SHADE/LEV=300/I=1:100/J=1:100 i+j
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_shade_trim
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_mode_nlevels
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn61_bug_fixes
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_test_opendap
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn611_bug_fixes
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis XAX
  LISTing to file a.nc
  LISTing to file b.nc
  LISTing to file b.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file a.nc
  LISTing to file a.nc
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file z1.nc
  LISTing to file z2.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis TIME
 Replacing definition of axis TIME
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis TIME
  LISTing to file a.nc
  LISTing to file b.nc
  LISTing to file b.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_no_valid_on_plot
  Using every   5th vector in the X direction
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_median
 Replacing definition of axis ZAX
  **ERROR: value out of legal range: Median smoother length must be odd
 plot/trans var, var[z=@med:4]
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn614_bug_fixes
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis TIME
 Replacing definition of axis TIME
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis TIME
  LISTing to file a.nc
  LISTing to file b.nc
  LISTing to file b.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
            *** NOTE: Units on axis "ENS" are not recognized: count
            *** NOTE: They will not be convertible:
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file 1a.dat
  LISTing to file 3a.dat
  LISTing to file 5a.dat
@@ -2547,51 +3020,70 @@ Replacing definition of axis TIME
  LISTing to file 11a.dat
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  **ERROR: variable unknown or not in data set: A_REGRID[D=1,GT=B[D=2]@MOD]
 LIST a_regrid[D=1,GT=b[D=2]@MOD]
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file dat.dat
  LISTing to file a.nc
  LISTing to file unf.dat
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file lonlat.dat
  LISTing to file lonlat.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file a.nc
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis TAX
 Replacing definition of grid GG
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file a.nc
  LISTing to file b.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_mode_nodata_lab
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_proleptic_gregorian_calendar
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_string_ngd_nbd
            *** NOTE: @NGD of string variable, counting null strings as missing
            *** NOTE: @NBD of string variable, counting null strings as missing
 Replacing definition of axis XAX
@@ -2619,21 +3111,33 @@ Replacing definition of axis TAX
            *** NOTE: @NGD of string variable, counting null strings as missing
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_cat_string
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_sort_strings
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_samplexyt
 Replacing definition of axis X1
 Replacing definition of axis Y1
 Replacing definition of grid G1
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_last_go_file.jnl
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_cancel_upcase_uservar.jnl
  LISTing to file a.nc
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_cdf_keepax.jnl
  LISTing to file test0a.cdf
  LISTing to file test0b.cdf
  LISTing to file test0c.cdf
@@ -2830,69 +3334,102 @@ show grid ijkl
            *** NOTE: Axis coordinates are decreasing-ordered. Reversing ordering for axis Y1010_REV
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_keep_axisnames.jnl
  LISTing to file a.nc
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_key_label_minmax.jnl
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn62_bug_fixes.jnl
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis TAX
 Replacing definition of grid TGRID
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_convolve.jnl
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_tax_tstep.jnl
  LISTing to file a.nc
 Replacing definition of axis TSEC
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_grads_z.jnl
 Replacing definition of axis CAXIS
            *** NOTE: grid GMY1 used by data set grads_bug_file
            *** NOTE: Redefinition may alter apparent contents of data set
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_clock_syms
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn63_bug_fixes.jnl
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file a.nc
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
            *** NOTE: /UNIT=MONTHS is ambiguous ... using 1/12 of 365.2425 days
 Replacing definition of axis TAX
            *** NOTE: New # of line colors will take effect on next new window: SET WIN/NEW then define pen colors
            *** NOTE: New number of line colors will take effect on next new window: SET WIN/NEW or SET WIN/CLEAR
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
            *** NOTE: Axis coordinates are decreasing-ordered. Reversing ordering for axis ZAXLEVITR
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file xz.nc
  TEMPORARY data cleared from memory
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file t_bug.nc
 Replacing definition of axis T_AXIS
  LISTing to file t_bug.nc
@@ -2901,48 +3438,72 @@ NetCDF: Variable not found (OPeNDAP/netCDF Error code -49)
 LIST/FORMAT=CDF/FILE=t_bug.nc/APPEND var
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  **ERROR: invalid command: offset must be greater than or equal to zero
 SET AXIS/STRIDE=12/OFFSET=-1 truemonth
  **ERROR: invalid command: stride must be greater than zero
 SET AXIS/STRIDE=-1/OFFSET=1 truemonth
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_axis_reversed_syms
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_isdepth
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_var_hist_levels.jnl
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn64_bug_fixes
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis TAX
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_long_grid_names
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis YAX
 Replacing definition of grid GG123456789012345678902
  **ERROR: unknown defining grid: G=NO_EXIST12345678901234567890
 load/x=160e/y=5s temp[d=2,k=1,g=no_exist12345678901234567890]
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_xml_repl
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn65_bug_fixes
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
            *** NOTE: Units on axis "ENS" are not recognized: count
            *** NOTE: They will not be convertible:
  LISTing to file mypack.nc
@@ -2954,25 +3515,37 @@ load/x=160e/y=5s temp[d=2,k=1,g=no_exist12345678901234567890]
            *** NOTE: They will not be convertible:
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis TAX
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis TAX
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_txtype_dmy
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_n_open_dsets_sym
  LISTing to file list_of_numbers.dat
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_multi_decade
 Re-defining viewport V1
 Re-defining viewport V1
 Re-defining viewport V2
@@ -2984,14 +3557,21 @@ Re-defining viewport V7
 Re-defining viewport V8
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_show_xml_file
  LISTing to file b.nc
  LISTing to file dummy.dat
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn66_bug_fixes
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_netcdf4
  Restoring default chunk cache settings
  Restoring default chunk cache settings
  PERMANENT data cleared from memory
@@ -3026,30 +3606,43 @@ LIST/FORMAT=CDF/file=nc4_deflate4_t1.nc/clobber/ncformat=4/deflate/shuffle/tchun
 LIST/FORMAT=CDF/file=nc4_deflate4chunktoobig.nc/clobber/ncformat=4/deflate=1/xchunk=6/ychunk=18/tchunk=15 sst
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_scat2grid_bin.jnl
  LISTing to file a.nc
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
-           *** NOTE: Not deleted: x10
+           *** NOTE: Not deleted: X10
            *** NOTE: Axis is in use by grid G10X5
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_axis_dir_symbols
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn663_bug_fixes
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_set_axis_regular
 Replacing definition of grid MYGRID
            *** NOTE: Axis reset to be regular (evenly-spaced): MYX
            *** NOTE: Axis is already regular: MYX
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
            *** NOTE: Axis reset to be regular (evenly-spaced): MYX1
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_set_cancel_redirect
  Use the GO command to name a file of FERRET commands to be executed.
      e.g.   yes? GO filename
  
@@ -3105,22 +3698,35 @@ show grid garbage
  Use "GO/HELP filename" to read documentation in  the file to be executed.
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_min_max_smoothers
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_vector_symbols
  Using every   8th vector in the X direction
  Using every   7th vector in the Y direction
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_variance_large
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_labnum_calendar
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn665_bug_fixes
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file a.nc
 
 Bailing out of external function "tax_year":
@@ -3128,15 +3734,22 @@ Bailing out of external function "tax_year":
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis TAX
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_floatstr
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn67_bug_fixes
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis XAX
 Replacing definition of axis YAX
 Replacing definition of axis ZAX
@@ -3144,19 +3757,26 @@ Replacing definition of axis YAX
 Replacing definition of axis YAX
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file aa.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  **ERROR: value out of legal range: illegal mode argument. Negative or > 1.e+9,
-set mode desperate   9999999999.000000
+set mode desperate 9999999999.
  **ERROR: value out of legal range: illegal mode argument. Negative or > 1.e+9,
 set mode desperate 1234567890123456789
+           *** NOTE: MODE DESPERATE is deprecated. Use MODE FRUGAL
+           *** NOTE: MODE DESPERATE is deprecated. Use MODE FRUGAL
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file g.nc
 Replacing definition of axis YAX_DUP_AXNAMES
  LISTing to file h.nc
@@ -3165,33 +3785,45 @@ Replacing definition of axis YAX_DUP_AXNAMES
  LISTing to file justg.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file a.nc
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_NaN_note
            *** NOTE: Axis coordinates are decreasing-ordered. Reversing ordering for axis l
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
            *** NOTE: No missing_value or _FillValue attribute. Using NaN for variable: broiled
            *** NOTE: Axis coordinates are decreasing-ordered. Reversing ordering for axis l
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn671_bug_fixes
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  **ERROR: error in external function
 list/L=15:20 tax_year(t[gt=tvar],tvar)
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file a.nc
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file cc.nc
  LISTing to file c1.nc
  TEMPORARY data cleared from memory
@@ -3199,40 +3831,54 @@ list/L=15:20 tax_year(t[gt=tvar],tvar)
  TEMPORARY data cleared from memory
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
            *** NOTE: Axis coordinates are decreasing-ordered. Reversing ordering for axis lev
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis XAX
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn68_bug_fixes
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis TAXIS
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis XAX
            *** NOTE: Adjusting Y-axis label size from 0.100 to 0.089, to avoid running off page.
            *** NOTE: Adjusting Y-axis label size from 0.100 to 0.089, to avoid running off page.
            *** NOTE: Adjusting Y-axis label size from 0.100 to 0.030, to avoid running off page.
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
            *** NOTE: Axis coordinates are decreasing-ordered. Reversing ordering for axis RLATU79_961_9
            *** NOTE: Axis coordinates are decreasing-ordered. Reversing ordering for axis RLATU79_961_9
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
            *** NOTE: Adjusting Y-axis label size from 0.100 to 0.089, to avoid running off page.
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  **ERROR: command syntax: illegal name, matches an operator: AND
 DEFINE VARIABLE AND = 5
  **ERROR: command syntax: illegal name, matches an operator: OR
@@ -3255,10 +3901,13 @@ DEFINE VARIABLE IF  = 5
 DEFINE VARIABLE ELSE = 5
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file a1.nc
  LISTing to file a2.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_ifv
  **ERROR: command syntax: IFV I GT 3 THEN ( IFV I LT 5 THEN I ELSE -9 ) ELSE .333
           Cannot use multiple IFs in an expression
 LIST/ORDER=X  IFV I GT 3 THEN ( IFV I LT 5 THEN I ELSE -9 ) ELSE .333
@@ -3268,6 +3917,8 @@ LIST/ORDER=X  IFV I GT 3 THEN ( IFV I LT 5 THEN I ELSE -9 ) ELSE .333
 DEFINE VARIABLE A = ifv I LT 5 THEN I ELSE -9
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_randu2_randn2
  TEMPORARY data cleared from memory
  TEMPORARY data cleared from memory
  TEMPORARY data cleared from memory
@@ -3277,6 +3928,8 @@ DEFINE VARIABLE A = ifv I LT 5 THEN I ELSE -9
 Replacing definition of axis ZAX
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_axis_cf
 Replacing definition of axis XAX
  LISTing to file a.nc
 Replacing definition of axis YAX
@@ -3290,6 +3943,8 @@ Replacing definition of axis TAXIS
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_repeated_coords
            *** NOTE: Axis has repeated values -- micro-adjusting TMIN
            *** NOTE: Coordinates out of order or missing on axis TMIN at subscript 4
            *** NOTE: A dummy axis of subscripts will be used
@@ -3297,6 +3952,8 @@ Replacing definition of axis TAXIS
 Replacing definition of axis TNEW
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_xml_header
 
 Bailing out of external function "eofsvd_stat":
 	There are no spatial locations having complete time series.
@@ -3308,6 +3965,8 @@ Bailing out of external function "eofsvd_tfunc":
 	There are no spatial locations having complete time series.
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_eof_simple
 Replacing definition of axis YAXIS
 Replacing definition of axis TAXIS
 Replacing definition of axis XAXIS
@@ -3319,10 +3978,16 @@ list eofsvd_space(spacegap)
 list eofsvd_tfunc(spacegap)
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_eof_simple2
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_interpolate_6d
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_regrid_6d
 Replacing definition of grid EVEN
 Replacing definition of grid G1
 Replacing definition of grid G2
@@ -3351,8 +4016,12 @@ Replacing definition of grid G24
 Replacing definition of grid G48
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_syntax_6d
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_expressions_6d
  **ERROR: command syntax: IF _m GT 3 THEN ( IF _m LT 5 THEN _m ELSE -9 ) ELSE .333
           Cannot use multiple IFs in an expression
 LIST/order=e  IF _m GT 3 THEN ( IF _m LT 5 THEN _m ELSE -9 ) ELSE .333
@@ -3364,12 +4033,18 @@ DEFINE VARIABLE A = IF _m LT 5 THEN _m ELSE -9
 load a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16,a17,a18,a19,a20,a21
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_direction_fcns_6d
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_regrid_transforms_6d
 Replacing definition of grid G5DAY
 Replacing definition of axis FAX4DAY
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_aggregate_e
            *** NOTE: Variable "AIRT" excluded from aggregate: Not found in all member datasets
            *** NOTE: Variable "AIRT" excluded from aggregate: Not found in all member datasets
            *** NOTE: /FILES is deprecated.  Use /MEMBERS
@@ -3395,38 +4070,55 @@ DEFINE DATA/AGGREGAT/E windy = 1,2
            *** NOTE: Dataset used in aggregation.  Canceling aggregation, more
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_6d_lab_mode
            *** NOTE: MODE 6D_lab is deprecated. Leave the mode set; output automatically adjusts to 4D or 6D grids
            *** NOTE: MODE 6D_lab is deprecated. Leave the mode set; output automatically adjusts to 4D or 6D grids
            *** NOTE: MODE 6D_lab is deprecated. Leave the mode set; output automatically adjusts to 4D or 6D grids
            *** NOTE: MODE 6D_lab is deprecated. Leave the mode set; output automatically adjusts to 4D or 6D grids
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn682_bug_fixes
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn683_bug_fixes
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
            *** NOTE: Adjusting Y-axis label size from 0.100 to 0.001, to avoid running off page.
            *** NOTE: Adjusting Y-axis label size from 0.100 to 0.001, to avoid running off page.
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file a.nc
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_outtype
  LISTing to file mytype.nc
  LISTing to file mytype.nc
            *** NOTE: Converting data type of missing_value NC_FLOAT to match output type of variable NC_DOUBLE
@@ -3443,10 +4135,16 @@ DEFINE DATA/AGGREGAT/E windy = 1,2
  LISTing to file mytype.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_ribbon_plot
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_descr_4digit
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_axis_outtype
  LISTing to file mytype.nc
  LISTing to file mytype.nc
            *** NOTE: Converting data type of missing_value NC_FLOAT to match output type of variable NC_DOUBLE
@@ -3465,38 +4163,54 @@ LIST/FORMAT=CDF/clobber/file=mytype.nc my_data
  LISTing to file mytype.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_axis_nonmonotonic
  **ERROR: improper grid or axis definition: data for DEFINE AXIS/FROM_VARIABLE is not monotonically increasing at index 12
 define axis/t/units=days tax = tvar
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_vec_mod
  Using every   9th vector in the X direction
  Using every   9th vector in the X direction
  Using every   9th vector in the X direction
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn685_bug_fixes
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis TDAY
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file aa.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file aa.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file a.nc
  LISTing to file aa.nc
  LISTing to file aa.nc
@@ -3509,16 +4223,21 @@ NetCDF: Numeric conversion not representable (OPeNDAP/netCDF Error code -60)
  data in attribute _FillValue not representable in output type NC_INT
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file a.nc
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  **ERROR: command syntax: .HELLO
 list .hello
  **ERROR: variable unknown or not in data set: A.UNITS
@@ -3533,6 +4252,7 @@ list ..history
 list ..history
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis AXI
 Replacing definition of axis AXI_COARSE
 Replacing definition of axis AXI
@@ -3545,21 +4265,31 @@ Replacing definition of axis AXI
 Replacing definition of axis AXI_COARSE
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file sst_new.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis ZAX
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_dsg_e_x
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_nco_append
  LISTing to file append_to_this.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_nobounds
 Replacing definition of axis XIRREG
  LISTing to file a.nc
  LISTing to file a.nc
@@ -3570,11 +4300,17 @@ Replacing definition of axis XIRREG
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_write_integer_att
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_descriptor_mc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_plot_color_only
            *** NOTE: New # of line colors will take effect on next new window: SET WIN/NEW then define pen colors
            *** NOTE: New number of line colors will take effect on next new window: SET WIN/NEW or SET WIN/CLEAR
  **ERROR: command syntax: COLOR
@@ -3585,6 +4321,8 @@ plot/i=1:100/over/COLOR 0.6*sin(i/7)
 plot/i=1:100/ribbon/COLOR sin(i/6),0.6*sin(i/7)
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_vtree
 Replacing definition of axis ZAX
            *** NOTE: Variable "FVX" excluded from aggregate: Not found in all member datasets
            *** NOTE: Variable "FVZ" excluded from aggregate: Not found in all member datasets
@@ -3605,20 +4343,28 @@ Replacing definition of axis Y1
 Replacing definition of axis ZAX
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn686_bug_fixes
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
            *** NOTE: Changing the type of attribute a.ival
            *** NOTE: Changing the value of attribute a.ival
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  **TMAP ERR: non-existent or not on line
              nosuchfile.nc
 SET DAT/FORM=CDF nosuchfile.nc
@@ -3634,29 +4380,43 @@ SET DAT/FORM=CDF snoopy
 SET DAT/FORM=CDF snoopy.dat
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
            *** NOTE: regarding ./climatological_axes.cdf ...
            *** NOTE: Climatological axes SEASONAL_REG, MONTH_REG, and MONTH_IRREG defined
  TEMPORARY data cleared from memory
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_long_symnames
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_strdim
  LISTing to file a.nc
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_single_colorlev
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn69_bug_fixes
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file a.nc
 Replacing definition of axis XAXIS_TEST
  LISTing to file b.nc
@@ -3665,25 +4425,27 @@ Replacing definition of axis XAXIS_TEST
  LISTing to file c.nc
  LISTing to file c.nc
  LISTing to file c.nc
-syntax error, unexpected WORD_STRING, expecting WORD_WORD
-context: Error { code = 500; message = "Error processing XML header file /usr/local/src/nvods/tomcat/content/las/conf/server/temp/6790FDCBF64A0E6EFAA6A20D854071E0/header.xml (No such file or directory)"^;};
  LISTing to file nc
  **TMAP ERR: error in line definition
              file coords dont match variable coords on axis XAXIS_TEST
 LIST/FORMAT=CDF/clobber/keep/file=nc b,a[d=1]
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
            *** NOTE: Changing the value of attribute v1.long_name
            *** NOTE: Changing the value of attribute v1.units
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  **ERROR: attribute undefined or invalid attribute name: temp.noexist[d=levitus_climatology]
           attribute noexist not found for variable TEMP
 show att temp.noexist[d=levitus_climatology]
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  **ERROR: invalid command: illegal new name.  Variable b already defined
 set var/name=b a
  **ERROR: invalid command: illegal new name.  Variable b already defined
@@ -3696,16 +4458,24 @@ set var/name=psi myvar
 set var/name=diff w
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_bad_axis_bounds
            *** NOTE: Axis definition error on axis: MONTH_IRREG. Bounds describe cells that overlap one another
            *** NOTE: Error in bounds "MONTH_IRREG_bnds" or bounds do not enclose point on axis MONTH_IRREG
            *** NOTE: Substituting coordinate midpoints
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_enter_exit_GO
 Replacing definition of axis TAX
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_stddev
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_set_axis_name
  LISTing to file a.nc
  LISTing to file a.nc
  LISTing to file b.nc
@@ -3720,6 +4490,8 @@ set axis/name=45 x_in_meters
 set axis/name=.fr x_in_meters
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_let_remote
            *** NOTE: netCDF bounds variable definition error
            *** NOTE: Bounds definition "time_bnds" points to no existing axis
            *** NOTE: Ignoring BOUNDS attribute
@@ -3757,32 +4529,36 @@ set axis/name=.fr x_in_meters
            *** NOTE: Bounds definition "lon_bnds" points to no existing axis
            *** NOTE: Ignoring BOUNDS attribute
  **ERROR: command syntax: /REMOTE variable expression may not contain [d=
-DEFINE VARIABLE/D=1/remote rvar = t0112mn1[d=1,z=1:100 at ave]
+DEFINE VARIABLE/D=1/remote rvar = t00an1[d=1,z=1:100 at ave]
  **ERROR: command syntax: /REMOTE variable definition must also specify /D=
-DEFINE VARIABLE/remote rvar = t0112mn1[d=1,z=1:100 at ave]
+DEFINE VARIABLE/remote rvar = t00an1[d=1,z=1:100 at ave]
  **netCDF error
              Unable to open URL with REMOTE variable definitions:
-             Data set: http://ferret.pmel.noaa.gov/nvods/thredds/dodsC/las/woa05_monthly/data_ferret.pmel.noaa.gov_thredds_dodsC_data_PMEL_WOA05nc_monthly_t0112mn1.nc.jnl
+             Data set: http://ferret.pmel.noaa.gov/nvods/thredds/dodsC/las/woa05_annual/data_ferret.pmel.noaa.gov_pmel_thredds_dodsC_data_PMEL_WOA05nc_annual_t00an1.nc.jnl
  **TMAP ERR: attribute reading error
              Unable to get varid for LET/REMOTE variable: NetCDF: Variable not found (OPeNDAP/netCDF Error code -49)
-             Data set: http://ferret.pmel.noaa.gov/nvods/thredds/dodsC/las/woa05_monthly/data_ferret.pmel.noaa.gov_thredds_dodsC_data_PMEL_WOA05nc_monthly_t0112mn1.nc.jnl
+             Data set: http://ferret.pmel.noaa.gov/nvods/thredds/dodsC/las/woa05_annual/data_ferret.pmel.noaa.gov_pmel_thredds_dodsC_data_PMEL_WOA05nc_annual_t00an1.nc.jnl
  **TMAP ERR: attribute reading error
              Unable to get bad-value for LET/REMOTE variable: NetCDF: Attribute not found (OPeNDAP/netCDF Error code -43)
-             Data set: http://ferret.pmel.noaa.gov/nvods/thredds/dodsC/las/woa05_monthly/data_ferret.pmel.noaa.gov_thredds_dodsC_data_PMEL_WOA05nc_monthly_t0112mn1.nc.jnl
+             Data set: http://ferret.pmel.noaa.gov/nvods/thredds/dodsC/las/woa05_annual/data_ferret.pmel.noaa.gov_pmel_thredds_dodsC_data_PMEL_WOA05nc_annual_t00an1.nc.jnl
  **netCDF error
              NetCDF: Variable not found (OPeNDAP/netCDF Error code -49)
-             Data set: http://ferret.pmel.noaa.gov/nvods/thredds/dodsC/las/woa05_monthly/data_ferret.pmel.noaa.gov_thredds_dodsC_data_PMEL_WOA05nc_monthly_t0112mn1.nc.jnl
+             Data set: http://ferret.pmel.noaa.gov/nvods/thredds/dodsC/las/woa05_annual/data_ferret.pmel.noaa.gov_pmel_thredds_dodsC_data_PMEL_WOA05nc_annual_t00an1.nc.jnl
 list/x=300/y=15 avar
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn691_bug_fixes
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  **ERROR: invalid command: string/numeric data type mix-up. Argument 3 : TAX_DATESTRING
 list tax_datestring (tt[L=3], tt, 5)
  **ERROR: invalid command: string/numeric data type mix-up. Argument 2 : TAX_DATESTRING
 list tax_datestring (tt[L=3], "my_tax", "minutes")
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
            *** NOTE: Error in bounds "TAX_BB_PTSPAC_bnds" or bounds do not enclose point on axis TAX_BB_PTSPAC
            *** NOTE: Substituting coordinate midpoints
            *** NOTE: Error in bounds "TAX_BB_EVEN_NOENC_bnds" or bounds do not enclose point on axis TAX_BB_EVEN_NOENC
@@ -3791,6 +4567,7 @@ list tax_datestring (tt[L=3], "my_tax", "minutes")
            *** NOTE: Substituting coordinate midpoints
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  **ERROR: command syntax: must be a constant COS(1)
 list {cos(1), sin(0)}
  **ERROR: command syntax: must be a constant 0-180
@@ -3801,43 +4578,52 @@ list {0.1, 0.2, 1./5.}
 list {5*3+1, 2+3}
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis TAX
  LISTing to file tval.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file out.xml
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis XAXIS
- **ERROR: request exceeds memory setting: 4739 Mwords were requested.
+ **ERROR: request exceeds memory setting
 load bigvar
-           *** NOTE: You can use SET MEMORY/SIZE=xxx to increase memory.
-           *** NOTE: The "Memory use" section of the FERRET Users Guide has further tips.
 Replacing definition of axis LONGTIME
- **ERROR: request exceeds memory setting: 9472 Mwords were requested.
+ **ERROR: request exceeds memory setting
 load bigvar
-           *** NOTE: You can use SET MEMORY/SIZE=xxx to increase memory.
-           *** NOTE: The "Memory use" section of the FERRET Users Guide has further tips.
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
            *** NOTE: Ambiguous coordinates on X axis: TEMP[X=@AVE,Y=@AVE,L=1,D=1] + SST[X=@AVE,Y=@AVE,T=@AVE,D=2]
            *** NOTE: Ambiguous coordinates on Y axis: TEMP[X=@AVE,Y=@AVE,L=1,D=1] + SST[X=@AVE,Y=@AVE,T=@AVE,D=2]
  LISTing to file aa.nc
@@ -3847,6 +4633,7 @@ load bigvar
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  **ERROR: variable unknown or not in data set: A
 list a
  **ERROR: variable unknown or not in data set: A
@@ -3857,6 +4644,7 @@ list b
 shade a
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  **ERROR: variable unknown or not in data set: A
 list a
  **ERROR: variable unknown or not in data set: A
@@ -3867,39 +4655,58 @@ list b
 shade a
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  **ERROR: value out of legal range: Negative argument to function. Argument 3 : SUBSTRING
 list substring("hello",1,-2)
  **ERROR: value out of legal range: Negative argument to function. Argument 3 : SUBSTRING
 list substring("hello",1,-3)
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_append_dsg
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_global_atts
  LISTing to file anew_global.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_conventions_history
  LISTing to file conventions_history.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_center_key_labels
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_wgt_transform
 Replacing definition of axis X2
 Replacing definition of axis Y2
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_show_outfile
 Replacing definition of axis ZAX
            *** NOTE: Variable "FVX" excluded from aggregate: Not found in all member datasets
            *** NOTE: Variable "FVZ" excluded from aggregate: Not found in all member datasets
@@ -3917,8 +4724,12 @@ list e
 list f
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_date1900_array
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_spawn_size
  LISTing to file bn_spawn_size1.cdf
  LISTing to file bn_spawn_size2.cdf
  LISTing to file bn_spawn_size3.cdf
@@ -3933,65 +4744,90 @@ list f
  LISTing to file bn_spawn_size14.dat
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_polygon_log
  **ERROR: value out of legal range: X coordinates on log axis negative or too small : -0.850
 poly/i=1:100/vlog xbad+xsqr,ybad+ysqr,x*x/10
  **ERROR: value out of legal range: X coordinates on log axis negative or too small : -0.689E-02
 poly/i=1:100/hlog xbad+xsqr,ybad+ysqr,x*x/10
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn694_bug_fixes
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file aa.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis TIME
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  **ERROR: unknown data set: BAD_D
 stat/l=1/x=180/y=0 a
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  **ERROR: invalid command: REPEAT what ?
 repeat/range=1:2/name=row
  **ERROR: invalid command: REPEAT what ?
 repeat/range=1:2/name=row
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis XAX
 Replacing definition of axis YAX
  LISTing to file a.nc
@@ -4004,6 +4840,7 @@ Replacing definition of axis TREDEF
            *** NOTE: Redefinition may alter apparent contents of data set
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  **ERROR: invalid command: illegal format type - must be "GIF"
           frame/format=hdf/file=a.hdf
 frame/format=hdf/file=a.hdf
@@ -4012,80 +4849,118 @@ frame/format=hdf/file=a.hdf
 frame/file=a.png
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis FAXIS
 Replacing definition of axis EAXIS
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  TEMPORARY data cleared from memory
  TEMPORARY data cleared from memory
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_permute_ascii
 Replacing definition of grid GRID3D
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_lon_lat_time_string
 Replacing definition of axis TAXIS
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_save_justdim
  LISTing to file a.nc
            *** NOTE: Saving E or F axis with time axis uses /RIGID in time
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_time2d
            *** NOTE: /UNIT=MONTHS is ambiguous ... using 1/12 of 365.2425 days
 Replacing definition of axis TAXIS
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_legend_labels
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_DQ
            *** NOTE: Changing the value of attribute foobar.some_text
            *** NOTE: Changing the value of attribute foobar.some_text
 Replacing definition of grid GG
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn695_bug_fixes
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 rm: cannot remove `WestCoastCarbon_9d9c_f562_77b5_5.nc': No such file or directory
-           *** NOTE: Shell command returned failure flag: rm WestCoastCarbon_9d9c_f562_77b5_5.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_f_tax_fcns
  LISTing to file a.nc
 Replacing definition of axis FSEC
            *** NOTE: grid GSI1 used by data set a
            *** NOTE: Redefinition may alter apparent contents of data set
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_fmrc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_return_defined
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_can_var_noerr
  **ERROR: variable unknown or not in data set: B
 cancel var b,a
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_annotate
  **ERROR: command syntax: xpos=a2
 annotate/nouser/xpos=a2/ypos=0/halign=1/valign=0/angle=-45/siz=0.15 "My Lab"
  **ERROR: command syntax: ypos=b
@@ -4120,6 +4995,8 @@ def anno/nou/xpos=0/hal=1/val=0 "My Lab"
 def anno/nou/user/xpos=0/ypos=0 "My Lab"
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_auxiliary
 Replacing definition of axis ZAX
  LISTing to file layerz_test_data.txt
  **ERROR: variable unknown or not in data set: (data set ok ?): noexist
@@ -4127,10 +5004,12 @@ SET VAR/layerz=depth noexist
            *** NOTE: Ambiguous coordinates on Z axis: TEMP6D-TEMPZ6D
  **ERROR: invalid command: auxiliary variable DEPTH6D has a T axis not found on variable TEMP
 LIST/PREC=7 tempz6d_unmatch
-Replacing definition of axis xax
+Replacing definition of axis XAX
 Replacing definition of axis ZAX
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_plot_ribbon_gaploc
  **ERROR: command syntax: PLOT/VS/RIBBON/GAPLOC plot needs 4 arguments
 plot/vs/thick/line/sym=21/siz=.3/ribbon/gap xpts, 10*ypts, color
  **ERROR: command syntax: PLOT/GAPLOC applies only to PLOT/VS/RIBBON
@@ -4139,16 +5018,24 @@ plot/vs/thick/line/sym=21/siz=0.3/gap xpts, 10*ypts, 10.1*ypts, 9.93*ypts, gvar
 plot/ov/nolab/vs/thick/line/sym=21/siz=.3/gapl xpts, color, gvar
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_time_short_axes
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_floatstr_extended
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn696_bug_fixes
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
            *** NOTE: Units on axis "pfull1_1" are not recognized: hpa
            *** NOTE: They will not be convertible:
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  **ERROR: unknown data set: noexist
 SHOW DATA noexist
  **ERROR: unknown data set: 2
@@ -4157,8 +5044,11 @@ SHOW DATA 2
 SHOW DATA/ATT noexist
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_bin_regrid
 Replacing definition of axis DCOARSE
 Replacing definition of axis IRR
 Replacing definition of axis DCOARSE
@@ -4171,80 +5061,98 @@ Replacing definition of axis DCOARSE
 Replacing definition of axis IRR
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn697_bug_fixes
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  **TMAP ERR: error in axis attributes
              Calendar definitions on T and F axes must match
              Data file: ./ft_cal_one.nc
 SET DAT/FORM=CDF ft_cal_mixed.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis tday
 Replacing definition of axis xax
  LISTing to file myfile.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
            *** NOTE: Variable "AIRT" excluded from aggregate: Not found in all member datasets
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
- Cached data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis LONGTIME
- **ERROR: request exceeds memory setting: 13 Mwords were requested.
+ **ERROR: request exceeds memory setting
 load/l=1:5 bigvar
-           *** NOTE: You can use SET MEMORY/SIZE=xxx to increase memory.
-           *** NOTE: The "Memory use" section of the FERRET Users Guide has further tips.
- Cached data cleared from memory
- Cached data cleared from memory
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis XAX
            *** NOTE: Not deleted: XAX
            *** NOTE: Axis is in use by grid GFORMAT
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis TAX1
 Replacing definition of axis TAX2
 Replacing definition of axis TAX2
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  Using every   4th vector in the Y direction
-Replacing definition of axis xax
-Replacing definition of axis yax
+Replacing definition of axis XAX
+Replacing definition of axis YAX
  Using every   4th vector in the Y direction
  Using every   4th vector in the Y direction
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis F_AX
 Replacing definition of axis AAX
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis T_AXIS
 Replacing definition of axis T_AXIS
 Replacing definition of axis F_AXIS
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis XAX
 Replacing definition of axis XAX
 Replacing definition of axis XAX
@@ -4253,38 +5161,49 @@ Replacing definition of axis XAX
 Replacing definition of axis XAX
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis XAX
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis XAXIS
  LISTing to file a.nc
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis TAX
  LISTing to file a.nc
            *** NOTE: Not deleted: TAX
            *** NOTE: Axis is in use by grid TGRID
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file a.nc
            *** NOTE: Changing the type of attribute sst.newch
            *** NOTE: Changing the value of attribute sst.newch
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_aggregate_t
 Replacing definition of axis TDAY
  LISTing to file tmp/tagg_reg_1.nc
  LISTing to file tmp/tagg_reg_2.nc
@@ -4357,7 +5276,7 @@ Replacing definition of axis TDAY_TVAR
  LISTing to file tmp/tagg_single_4.nc
  LISTing to file tmp/tagg_single_5.nc
  LISTing to file tmp/tagg_single_6.nc
-           *** NOTE: Not deleted: tday
+           *** NOTE: Not deleted: TDAY
            *** NOTE: Axis is in use by grid (G088)
            *** NOTE: /FILES is deprecated.  Use /MEMBERS
            *** NOTE: /FILES is deprecated.  Use /MEMBERS
@@ -4391,6 +5310,8 @@ define data/agg/t MYsing_irreg_agg4 = tmp/tagg_single_1.nc, tmp/tagg_single_1.nc
 define data/agg/t MYsing_irreg_agg4 = tmp/tagg_single_1.nc, tmp/tagg_single_2.nc,tmp/tagg_single_4.nc, tmp/tagg_single_5.nc, tmp/tagg_single_5.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_unquoted_args
  LISTing to file tmp/test1.nc
  LISTing to file tmp/test2.nc
  LISTing to file tmp/test3.nc
@@ -4406,11 +5327,13 @@ go/garbage tmp/testMe
  **ERROR: unknown command qualifier: garbage
 go/garbage "tmp/testMe"
  **ERROR: unknown command qualifier: garbage
-go/garbage /home/users/ansley/build/trunk/FERRET/bench/tmp/testMe.jnl
+go/garbage /home/users/ansley/build/working/FERRET/bench/tmp/testMe.jnl
  **ERROR: unknown command qualifier: garbage
-go/garbage "/home/users/ansley/build/trunk/FERRET/bench/tmp/testMe.jnl"
+go/garbage "/home/users/ansley/build/working/FERRET/bench/tmp/testMe.jnl"
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_long_lists
  **ERROR: command syntax: command line too long -- exceeds 2048
 DEFINE VARIABLE a={1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7 [...]
  **ERROR: variable unknown or not in data set: A
@@ -4421,10 +5344,14 @@ load a
 "/archive/ccsp/ipcc_ar4/CM2.1U-D4_1860-2000-AllForc_H1/pp/atmos/ts/monthly/100yr/atmos.0020.t_surf.nc","/archive/ccsp/ipcc_ar4/CM2.1U-D4_1860-2000-AllForc_H1/pp/atmos/ts/monthly/100yr/atmos.0021.t_surf.nc","/archive/ccsp/ipcc_ar4/CM2.1U-D4_1860-2000-AllForc_H1/pp/atmos/ts/monthly/100yr/atmos.0022.t_surf.nc","/archive/ccsp/ipcc_ar4/CM2.1U-D4_1860-2000-AllForc_H1/pp/atmos/ts/monthly/100yr/atmos.0023.t_surf.nc","/archive/ccsp/ipcc_ar4/CM2.1U-D4_1860-2000-AllForc_H1/pp/atmos/ts/monthly/100yr [...]
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_show_uvar_grid
 Replacing definition of axis DAYT
 Replacing definition of axis ZAX
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_aggregate_f
 Replacing definition of axis XAX
 Replacing definition of axis YAX
  LISTing to file tmp/fcst_1.nc
@@ -4470,177 +5397,8 @@ DEFINE DATA/AGGREGAT/F my_fmrc = XCAT(files,"tmp/consecutive_month_fcst.nc")
 DEFINE DATA/AGGREGAT/F my_fmrc = XCAT(files,"tmp/irregular_start_time_fcst.nc")
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
-Replacing definition of axis YAX
-Replacing definition of axis ZAX
-Replacing definition of axis TRUEMONTH
- LISTing to file tmp/f01_e1_t1.nc
- LISTing to file tmp/f01_e1_t2.nc
- LISTing to file tmp/f01_e1_t3.nc
- LISTing to file tmp/f01_e2_t1.nc
- LISTing to file tmp/f01_e2_t2.nc
- LISTing to file tmp/f01_e2_t3.nc
- LISTing to file tmp/f01_e3_t1.nc
- LISTing to file tmp/f01_e3_t2.nc
- LISTing to file tmp/f01_e3_t3.nc
- LISTing to file tmp/f01_e4_t1.nc
- LISTing to file tmp/f01_e4_t2.nc
- LISTing to file tmp/f01_e4_t3.nc
- LISTing to file tmp/f01_e5_t1.nc
- LISTing to file tmp/f01_e5_t2.nc
- LISTing to file tmp/f01_e5_t3.nc
- LISTing to file tmp/f02_e1_t1.nc
- LISTing to file tmp/f02_e1_t2.nc
- LISTing to file tmp/f02_e1_t3.nc
- LISTing to file tmp/f02_e2_t1.nc
- LISTing to file tmp/f02_e2_t2.nc
- LISTing to file tmp/f02_e2_t3.nc
- LISTing to file tmp/f02_e3_t1.nc
- LISTing to file tmp/f02_e3_t2.nc
- LISTing to file tmp/f02_e3_t3.nc
- LISTing to file tmp/f02_e4_t1.nc
- LISTing to file tmp/f02_e4_t2.nc
- LISTing to file tmp/f02_e4_t3.nc
- LISTing to file tmp/f02_e5_t1.nc
- LISTing to file tmp/f02_e5_t2.nc
- LISTing to file tmp/f02_e5_t3.nc
- LISTing to file tmp/f03_e1_t1.nc
- LISTing to file tmp/f03_e1_t2.nc
- LISTing to file tmp/f03_e1_t3.nc
- LISTing to file tmp/f03_e2_t1.nc
- LISTing to file tmp/f03_e2_t2.nc
- LISTing to file tmp/f03_e2_t3.nc
- LISTing to file tmp/f03_e3_t1.nc
- LISTing to file tmp/f03_e3_t2.nc
- LISTing to file tmp/f03_e3_t3.nc
- LISTing to file tmp/f03_e4_t1.nc
- LISTing to file tmp/f03_e4_t2.nc
- LISTing to file tmp/f03_e4_t3.nc
- LISTing to file tmp/f03_e5_t1.nc
- LISTing to file tmp/f03_e5_t2.nc
- LISTing to file tmp/f03_e5_t3.nc
- LISTing to file tmp/f04_e1_t1.nc
- LISTing to file tmp/f04_e1_t2.nc
- LISTing to file tmp/f04_e1_t3.nc
- LISTing to file tmp/f04_e2_t1.nc
- LISTing to file tmp/f04_e2_t2.nc
- LISTing to file tmp/f04_e2_t3.nc
- LISTing to file tmp/f04_e3_t1.nc
- LISTing to file tmp/f04_e3_t2.nc
- LISTing to file tmp/f04_e3_t3.nc
- LISTing to file tmp/f04_e4_t1.nc
- LISTing to file tmp/f04_e4_t2.nc
- LISTing to file tmp/f04_e4_t3.nc
- LISTing to file tmp/f04_e5_t1.nc
- LISTing to file tmp/f04_e5_t2.nc
- LISTing to file tmp/f04_e5_t3.nc
- LISTing to file tmp/f05_e1_t1.nc
- LISTing to file tmp/f05_e1_t2.nc
- LISTing to file tmp/f05_e1_t3.nc
- LISTing to file tmp/f05_e2_t1.nc
- LISTing to file tmp/f05_e2_t2.nc
- LISTing to file tmp/f05_e2_t3.nc
- LISTing to file tmp/f05_e3_t1.nc
- LISTing to file tmp/f05_e3_t2.nc
- LISTing to file tmp/f05_e3_t3.nc
- LISTing to file tmp/f05_e4_t1.nc
- LISTing to file tmp/f05_e4_t2.nc
- LISTing to file tmp/f05_e4_t3.nc
- LISTing to file tmp/f05_e5_t1.nc
- LISTing to file tmp/f05_e5_t2.nc
- LISTing to file tmp/f05_e5_t3.nc
- LISTing to file tmp/f06_e1_t1.nc
- LISTing to file tmp/f06_e1_t2.nc
- LISTing to file tmp/f06_e1_t3.nc
- LISTing to file tmp/f06_e2_t1.nc
- LISTing to file tmp/f06_e2_t2.nc
- LISTing to file tmp/f06_e2_t3.nc
- LISTing to file tmp/f06_e3_t1.nc
- LISTing to file tmp/f06_e3_t2.nc
- LISTing to file tmp/f06_e3_t3.nc
- LISTing to file tmp/f06_e4_t1.nc
- LISTing to file tmp/f06_e4_t2.nc
- LISTing to file tmp/f06_e4_t3.nc
- LISTing to file tmp/f06_e5_t1.nc
- LISTing to file tmp/f06_e5_t2.nc
- LISTing to file tmp/f06_e5_t3.nc
- LISTing to file tmp/f07_e1_t1.nc
- LISTing to file tmp/f07_e1_t2.nc
- LISTing to file tmp/f07_e1_t3.nc
- LISTing to file tmp/f07_e2_t1.nc
- LISTing to file tmp/f07_e2_t2.nc
- LISTing to file tmp/f07_e2_t3.nc
- LISTing to file tmp/f07_e3_t1.nc
- LISTing to file tmp/f07_e3_t2.nc
- LISTing to file tmp/f07_e3_t3.nc
- LISTing to file tmp/f07_e4_t1.nc
- LISTing to file tmp/f07_e4_t2.nc
- LISTing to file tmp/f07_e4_t3.nc
- LISTing to file tmp/f07_e5_t1.nc
- LISTing to file tmp/f07_e5_t2.nc
- LISTing to file tmp/f07_e5_t3.nc
- LISTing to file tmp/f08_e1_t1.nc
- LISTing to file tmp/f08_e1_t2.nc
- LISTing to file tmp/f08_e1_t3.nc
- LISTing to file tmp/f08_e2_t1.nc
- LISTing to file tmp/f08_e2_t2.nc
- LISTing to file tmp/f08_e2_t3.nc
- LISTing to file tmp/f08_e3_t1.nc
- LISTing to file tmp/f08_e3_t2.nc
- LISTing to file tmp/f08_e3_t3.nc
- LISTing to file tmp/f08_e4_t1.nc
- LISTing to file tmp/f08_e4_t2.nc
- LISTing to file tmp/f08_e4_t3.nc
- LISTing to file tmp/f08_e5_t1.nc
- LISTing to file tmp/f08_e5_t2.nc
- LISTing to file tmp/f08_e5_t3.nc
- LISTing to file tmp/f09_e1_t1.nc
- LISTing to file tmp/f09_e1_t2.nc
- LISTing to file tmp/f09_e1_t3.nc
- LISTing to file tmp/f09_e2_t1.nc
- LISTing to file tmp/f09_e2_t2.nc
- LISTing to file tmp/f09_e2_t3.nc
- LISTing to file tmp/f09_e3_t1.nc
- LISTing to file tmp/f09_e3_t2.nc
- LISTing to file tmp/f09_e3_t3.nc
- LISTing to file tmp/f09_e4_t1.nc
- LISTing to file tmp/f09_e4_t2.nc
- LISTing to file tmp/f09_e4_t3.nc
- LISTing to file tmp/f09_e5_t1.nc
- LISTing to file tmp/f09_e5_t2.nc
- LISTing to file tmp/f09_e5_t3.nc
- LISTing to file tmp/f10_e1_t1.nc
- LISTing to file tmp/f10_e1_t2.nc
- LISTing to file tmp/f10_e1_t3.nc
- LISTing to file tmp/f10_e2_t1.nc
- LISTing to file tmp/f10_e2_t2.nc
- LISTing to file tmp/f10_e2_t3.nc
- LISTing to file tmp/f10_e3_t1.nc
- LISTing to file tmp/f10_e3_t2.nc
- LISTing to file tmp/f10_e3_t3.nc
- LISTing to file tmp/f10_e4_t1.nc
- LISTing to file tmp/f10_e4_t2.nc
- LISTing to file tmp/f10_e4_t3.nc
- LISTing to file tmp/f10_e5_t1.nc
- LISTing to file tmp/f10_e5_t2.nc
- LISTing to file tmp/f10_e5_t3.nc
- LISTing to file tmp/f11_e1_t1.nc
- LISTing to file tmp/f11_e1_t2.nc
- LISTing to file tmp/f11_e1_t3.nc
- LISTing to file tmp/f11_e2_t1.nc
- LISTing to file tmp/f11_e2_t2.nc
- LISTing to file tmp/f11_e2_t3.nc
- LISTing to file tmp/f11_e3_t1.nc
- LISTing to file tmp/f11_e3_t2.nc
- LISTing to file tmp/f11_e3_t3.nc
- LISTing to file tmp/f11_e4_t1.nc
- LISTing to file tmp/f11_e4_t2.nc
- LISTing to file tmp/f11_e4_t3.nc
- LISTing to file tmp/f11_e5_t1.nc
- LISTing to file tmp/f11_e5_t2.nc
- LISTing to file tmp/f11_e5_t3.nc
- LISTing to file tmp/f04_e3_t1_1v.nc
- LISTing to file tmp/f04_e3_t2_1v.nc
- LISTing to file tmp/f04_e3_t3_1v.nc
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_aggregate_tef
            *** NOTE: Variable "FCST_2" excluded from aggregate: Not found in all member datasets
  **ERROR: error defining aggregate dataset: grid definition of FCST_2 has changed on axis X of agg member 3
 list/x=150E/y=15n/L=10 fcst_2
@@ -4666,32 +5424,41 @@ DEFINE DATA/AGGREGAT/E bad_ens = te_f01, te_f03, te_f04
 DEFINE DATA/AGGREGAT/F bad_fmrc = tf_e1, tf_e3, tf_e4
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
- PERMANENT data cleared from memory
- TEMPORARY data cleared from memory
- PERMANENT data cleared from memory
- TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_dataset_qualifier
  LISTing to file a.nc
  LISTing to file a.nc
 Replacing definition of axis XAX10
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_speedtest
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_show_noupcase
 Replacing definition of axis tday
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 SHO VAR/XML
 SHO VAR/XML
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_letd_attributes
  LISTing to file a.nc
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_list_clim_axes
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
-Replacing definition of axis tax
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_climatology_attr
+Replacing definition of axis TAX
  LISTing to file a.nc
  LISTing to file a.nc
 Replacing definition of axis TAX
@@ -4702,100 +5469,130 @@ Replacing definition of axis TAX
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_plot_along
            *** NOTE: Decimating PLOT/ALONG lines to /KEY limit of 40
            *** NOTE: Decimating PLOT/ALONG lines to /NOKEY limit of 200
            *** NOTE: Decimating PLOT/ALONG lines to /KEY limit of 40
            *** NOTE: Decimating PLOT/ALONG lines to /NOKEY limit of 200
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_show_commands
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_plot_decimate
            *** NOTE: Decimating PLOT/ALONG lines to /KEY limit of 40
            *** NOTE: Decimating PLOT/ALONG lines to /NOKEY limit of 200
            *** NOTE: Decimating PLOT/ALONG lines to /KEY limit of 40
            *** NOTE: Decimating PLOT/ALONG lines to /NOKEY limit of 200
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_auto_tprec
 Replacing definition of axis TAX
 Replacing definition of axis TAX
 Replacing definition of axis TAX
 Replacing definition of axis TAX
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_coordvars_atts
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn710_bug_fixes
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
            *** NOTE: unrepairable repeated axis coords on axis xax at subscript -4161
            *** NOTE: A dummy axis of subscripts will be used
            *** NOTE: unrepairable repeated axis coords on axis yax at subscript -4161
            *** NOTE: A dummy axis of subscripts will be used
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
            *** NOTE: Unclosed IF statement ... assuming ENDIF, in script ./unclosed_if.sub
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis YAXIS
  LISTing to file a.nc
 Replacing definition of axis TAX
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis TAX
 Replacing definition of axis ZAX
 Replacing definition of axis TAX
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
- PERMANENT data cleared from memory
- TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis TAXIS
 Replacing definition of axis XAXIS
 Replacing definition of axis YAXIS
 Replacing definition of axis TAXIS
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis TAX
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis TAX
 Replacing definition of axis YAXIS
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis XLON
 Replacing definition of axis YLAT
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
            *** NOTE: Axis has repeated values -- micro-adjusting ...
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis TAX
  LISTing to file a.nc
            *** NOTE: Not deleted: TAX
            *** NOTE: Axis is in use by grid TGRID
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  **TMAP ERR: attribute already defined
              coordinates for variable ZETA
              Data set: testdata
@@ -4813,39 +5610,51 @@ Replacing definition of axis TAX
              Data set: testdata
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis XAX
 Replacing definition of axis XAX
 Replacing definition of axis TAX2
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis XLON
  LISTing to file a1.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file a.nc
            *** NOTE: Requested region on modulo axis XLONN7_141 is larger than modulo length. Modulo attribute not written.
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis TDAYS
 Replacing definition of axis YAX
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file a1.nc
  LISTing to file a2.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_delim_datetime
 Replacing definition of axis TIMAX
 Replacing definition of axis TIMAX
 Replacing definition of axis TIMAX
@@ -4861,7 +5670,9 @@ list index,edtim,udtim,udate,edate
 list index,edtim,udtim,udate,edate
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
-Replacing definition of axis tax
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_aggregate_u
+Replacing definition of axis TAX
  LISTing to file tmp/uagg_1.nc
  LISTing to file tmp/uagg_2.nc
  LISTing to file tmp/uagg_3.nc
@@ -4874,6 +5685,7 @@ Replacing definition of axis tax
 Replacing definition of axis XAX
 Replacing definition of axis YAX
 Replacing definition of axis ZAX
+Replacing definition of axis TRUEMONTH
  LISTing to file tmp/f01_e1_tu1.nc
  LISTing to file tmp/f01_e1_tu2.nc
  LISTing to file tmp/f01_e1_tu3.nc
@@ -4898,23 +5710,26 @@ Replacing definition of axis ZAX
            *** NOTE: /FILES is deprecated.  Use /MEMBERS
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_ez_noupcase
  LISTing to file abc.dat
  LISTing to file a.nc
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_spawn_fail
 ls: cannot access notafile.nowhere: No such file or directory
-           *** NOTE: Shell command returned failure flag: ls notafile.nowhere
-           *** NOTE: Shell command returned failure flag: grep "this text is not in the file" bn_all.jnl
 rm: cannot remove `nothing.dat': No such file or directory
-           *** NOTE: Shell command returned failure flag: rm nothing.dat
-           *** NOTE: Shell command returned failure flag: grep modulus non_COARDS.cdl
 cp: cannot stat `nofile.dat': No such file or directory
-           *** NOTE: Shell command returned failure flag: cp nofile.dat not_either.dat
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_ave_of_ave
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_agg_member_syntax
  **ERROR: unknown data set: D=5.3
 stat/br fcst[d=5.3]
  **ERROR: unknown data set: D=12.30
@@ -4929,6 +5744,8 @@ stat/br sst[d=4.1]
 stat/br sst[d=5.30]
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_true_monthly
            *** NOTE: /UNIT=MONTHS is ambiguous ... using 1/12 of 365.2425 days
            *** NOTE: True monthly axis has an implicit /EDGES qualifier
 Replacing definition of axis TAXIS
@@ -4996,13 +5813,399 @@ def axis/t/t0=1-jan-2000/monthly/bounds tax={1.2, 2, 3.2, 5, 7, 8.4, 9}, {0.5,1.
 define axis/x=1:5:1/monthly aaxis
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn720_bug_fixes
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Replacing definition of axis TAX
+ LISTing to file a.nc
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Replacing definition of axis TIME
+ LISTing to file a.nc
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+ LISTing to file a.nc
+ LISTing to file a.nc
+ LISTing to file a.nc
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+ LISTing to file a.nc
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+ LISTing to file a.nc
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+ **ERROR: PPLUS command syntax error: Symbol not found PPLUS show nosymbol
+pplus show nosymbol
+ **ERROR: PPLUS command syntax error: Symbol not found PPLUS show
+ppl show
+ **ERROR: PPLUS command syntax error:  Command not recognized: PPLUS NONSENSE
+PPL nonsense
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Replacing definition of axis tax
+           *** NOTE: Ambiguous coordinates on T axis: S1*A
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+ **ERROR: invalid command: Mismatched parentheses within REPEAT loop
+repeat/range=1:3:1/name=count (def sym count = `count`; say 3; message/continue))
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_compressed_gather
+Replacing definition of axis xax
+Replacing definition of axis yax
+Replacing definition of axis tax
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+Replacing definition of axis xax
+Replacing definition of axis yax
+Replacing definition of axis zax
+Replacing definition of axis tax
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+Replacing definition of axis xax
+Replacing definition of axis tax
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+Replacing definition of axis xax
+Replacing definition of axis zax
+Replacing definition of axis tax
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_dynamic_gather
+ **ERROR: request exceeds memory setting: Requested result is larger than the available memory
+stat/brief v[i=101:200,j=101:200,k=1,l=1:10 at ave], v[i=101:200,j=101:200,k=2,l=1:10 at ave], v[l=1:10 at ave]
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ **ERROR: request exceeds memory setting: Requested result is larger than the available memory
+stat/brief a[l=1:10 at ave], b[l=1:10 at ave], c[l=1:10 at ave], d[l=1:10 at ave]
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+           *** NOTE: No active redirects to cancel
+ **ERROR: request exceeds memory setting: Requested result is larger than the available memory
+stat/brief v[i=101:200,j=101:200,k=1,l=1:10 at ave], v[i=101:200,j=101:200,k=2,l=1:10 at ave], v[l=1:10 at ave]
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ **ERROR: request exceeds memory setting: Requested result is larger than the available memory
+stat/brief a[l=1:10 at ave], b[l=1:10 at ave], c[l=1:10 at ave], d[l=1:10 at ave]
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ **ERROR: request exceeds memory setting: Requested result is larger than the available memory
+stat/brief v[i=101:200,j=101:200,k=1,l=1:10 at ave], v[i=101:200,j=101:200,k=2,l=1:10 at ave], v[l=1:10 at ave]
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ **ERROR: request exceeds memory setting: Requested result is larger than the available memory
+stat/brief a[l=1:10 at ave], b[l=1:10 at ave], c[l=1:10 at ave], d[l=1:10 at ave]
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ **ERROR: request exceeds memory setting: Requested result is larger than the available memory
+stat/brief v[i=101:200,j=101:200,k=1,l=1:10 at ave], v[i=101:200,j=101:200,k=2,l=1:10 at ave], v[l=1:10 at ave]
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ **ERROR: request exceeds memory setting: Requested result is larger than the available memory
+stat/brief a[l=1:10 at ave], b[l=1:10 at ave], c[l=1:10 at ave], d[l=1:10 at ave]
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ **ERROR: value out of legal range: illegal mode argument. Must be 0 to 90 percent 95
+SET MODE FRUGAL:95
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_stat_precision
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_plot_vs_with_time
+Replacing definition of axis tax
+Replacing definition of axis time
+Replacing definition of axis zaxis
+Replacing definition of axis time
+Replacing definition of axis time
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_dot_product
+ LISTing to file a.nc
+ LISTing to file a.nc
+ LISTing to file a.nc
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_cache_management
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ LISTing to file test_auto_cache.out
+ LISTing to file test_auto_cache.out
+ LISTing to file test_auto_cache.out
+ LISTing to file test_auto_cache.out
+ LISTing to file test_auto_cache.out
+ LISTing to file test_auto_cache.out
+ LISTing to file test_auto_cache.out
+ LISTing to file test_auto_cache.out
+ LISTing to file test_auto_cache.out
+ LISTing to file test_auto_cache.out
+ LISTing to file test_auto_cache.out
+ LISTing to file test_auto_cache.out
+ LISTing to file test_auto_cache.out
+ LISTing to file test_auto_cache.out
+ LISTing to file test_auto_cache.out
+ LISTing to file test_auto_cache.out
+ LISTing to file test_auto_cache.out
+ LISTing to file test_auto_cache.out
+ LISTing to file test_auto_cache.out
+ LISTing to file test_auto_cache.out
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_transp_choose
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_iin_regrid
+ **ERROR: regridding: @IIN regridding must be to axis with same grid-cell sizes
+list a[gx=alinenew at iin]
+Replacing definition of axis alinenew
+Replacing definition of axis alinenew
+Replacing definition of axis alinenew
+ TEMPORARY data cleared from memory
+Replacing definition of axis aline
+Replacing definition of axis aline_edges
+Replacing definition of axis aline
+Replacing definition of axis aline_edges
+Replacing definition of axis otheraxis
+Replacing definition of axis aline
+Replacing definition of axis aline_edges
+Replacing definition of axis otheraxis
+Replacing definition of axis aline
+Replacing definition of axis aline_edges
+Replacing definition of axis aline
+Replacing definition of axis aline_edges
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  **ERROR: command syntax: unknown region name: @w
 set region/@w
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
- Cached data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  **ERROR: dimensions improperly specified: specified data is not a line
            - its a 2D region: "plot/i=1:10/j=1:20/nolabel i+j"
 plot/i=1:10/j=1:20/nolabel i+j
@@ -5045,8 +6248,10 @@ Re-defining viewport UM6
  Using every   2th vector in the Y direction
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Re-defining viewport UL6
 Re-defining viewport UM6
 Re-defining viewport UR6
@@ -5056,12 +6261,33 @@ Replacing definition of axis TDAYS
  Using every   4th vector in the X direction
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis TAX
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis XAX
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Re-defining viewport LL6
+Re-defining viewport UL6
+Re-defining viewport LM6
+Re-defining viewport UM6
+Re-defining viewport LR6
+Re-defining viewport UR6
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  **ERROR: dimensions improperly specified: specified data is not a line
            - its a 2D region: "plot/i=1:10/j=1:20/nolabel i+j"
 plot/i=1:10/j=1:20/nolabel i+j
@@ -5093,4 +6319,4 @@ vector/i=1:10/j=1:20/nolabel i/j,j/i,i+j
 Re-defining viewport LM6
 Re-defining viewport UM6
            *** NOTE: Cannot create new windows when batch mode set
-Ended at Wed Feb 15 11:30:09 PST 2017
+Ended at Wed Jul 12 09:57:45 PDT 2017
diff --git a/bench/ansley_official.rhel6-64_log b/bench/ansley_official.rhel6-64_log
index e506c95..06a15bb 100644
--- a/bench/ansley_official.rhel6-64_log
+++ b/bench/ansley_official.rhel6-64_log
@@ -1,10 +1,10 @@
 Procedure run_all to run all FERRET benchmarks
-Running FERRET version /home/users/ansley/build/trunk/FERRET/fer/ferret_c
--rwxr-xr-x. 1 ansley oerdnewp 115666462 Feb 15 11:18 /home/users/ansley/build/trunk/FERRET/fer/ferret_c
-Using external functions from /home/users/ansley/build/trunk/FERRET/external_functions/ext_func
+Running FERRET version /home/users/ansley/build/working/FERRET/fer/ferret_c
+-rwxr-xr-x. 1 ansley tmap 117386464 Jul 12 09:46 /home/users/ansley/build/working/FERRET/fer/ferret_c
+Using external functions from /home/users/ansley/build/working/FERRET/external_functions/ext_func
 Running the tests of external functions y
 Benchmark run by ansley
-Note: ticket 2507
+Note: v7.2
 ncdump output will be in all_ncdump.out, and appended to this log file 
 ***** Restricting Ferret paths to bench directory *****
 FER_DAT=.
@@ -13,16 +13,16 @@ FER_DATA_THREDDS= http://ferret.pmel.noaa.gov/geoide/geoIDECleanCatalog.xml /hom
 FER_DESCR=.
 FER_DIR=.
 FER_DSETS=.
-FER_EXTERNAL_FUNCTIONS=/home/users/ansley/build/trunk/FERRET/external_functions/ext_func
-FER_FONTS=/home/users/ansley/ferret_distributions/rhel6_64/ppl/fonts
-FER_GO=. /home/users/ansley/ferret_distributions/rhel6_64/go /home/users/ansley/ferret_distributions/rhel6_64/examples /home/users/ansley/ferret_distributions/rhel6_64/contrib
+FER_EXTERNAL_FUNCTIONS=/home/users/ansley/build/working/FERRET/external_functions/ext_func
+FER_FONTS=/home/users/tmap/ferret/rhel6-x86_64-linux/ppl/fonts
+FER_GO=. /home/users/tmap/ferret/rhel6-x86_64-linux/go /home/users/tmap/ferret/rhel6-x86_64-linux/examples /home/users/tmap/ferret/rhel6-x86_64-linux/contrib
 FER_GRIDS=.
-FER_LIBS=/home/users/ansley/ferret_distributions/rhel6_64/lib
-FER_PALETTE=. /home/users/ansley/ferret_distributions/rhel6_64/ppl
+FER_LIBS=/home/users/tmap/ferret/rhel6-x86_64-linux/lib
+FER_PALETTE=. /home/users/tmap/ferret/rhel6-x86_64-linux/ppl
 FER_WEB_BROWSER=firefox
-PWD=/home/users/ansley/build/trunk/FERRET/bench
+PWD=/home/users/ansley/build/working/FERRET/bench
 PYFER_EXTERNAL_FUNCTIONS=/home/users/tmap/ferret/rhel6-x86_64-linux/ext_func/pylibs
-Beginning at Wed Feb 15 11:27:20 PST 2017
+Beginning at Wed Jul 12 09:51:20 PDT 2017
 ! BN500_ALL.JNL
 ! - run all the benchmark tests
 ! - ordered (more or less) from least to most complex
@@ -148,9 +148,12 @@ Beginning at Wed Feb 15 11:27:20 PST 2017
 ! Include this statement to compare the outupt of 6D Ferret with
 ! previous 4D benchmark logs.
 ! cancel mode 6d_lab
+! V702 *sh* 3/17 - added dynamic memory benchmarks.  Tweaked a couple of others
  
-GO bn_reset
+GO bn_reset bn_syntax
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_syntax
 GO bn_syntax
 ! bn401_syntax.JNL
 ! - test syntax interpretation of Program FERRET
@@ -434,11 +437,11 @@ region W
 ! SET - SHOW - CANCEL  MODE
 SHOW MODES
       MODE            STATE        ARGUMENT
-      DIAGNOSTIC    CANCELLED           99
+      DIAGNOSTIC    CANCELED            99
       VERIFY           SET         DEFAULT
-      INTERPOLATE   CANCELLED
-      IGNORE_ERROR  CANCELLED
-      STUPID        CANCELLED
+      INTERPOLATE   CANCELED
+      IGNORE_ERROR  CANCELED
+      STUPID        CANCELED
       JOURNAL          SET         ferret.jnl
       LONG_LABEL       SET               1
       LATIT_LABEL      SET               1
@@ -448,32 +451,33 @@ SHOW MODES
       F_LABEL          SET         minutes
       ASCII_FONT       SET
       SEGMENT          SET
-      WAIT          CANCELLED
-      DESPERATE     CANCELLED      2560000
+      WAIT          CANCELED
+      DESPERATE     CANCELED       2560000
       GKS              SET
       REFRESH          SET
-      METAFILE      CANCELLED      metafile.plt
-      PPLLIST       CANCELLED      ppllist.out
-      GUI           CANCELLED
+      METAFILE      CANCELED       metafile.plt
+      PPLLIST       CANCELED       ppllist.out
+      GUI           CANCELED
       LOGO             SET
       LABELS           SET
-      GRATICULE     CANCELLED
+      GRATICULE     CANCELED
       LINECOLORS       SET               6
       UPCASE_OUTPU     SET
       NLEVELS          SET              30
       NODATA_LAB       SET
-      SHRINK_YLAB   CANCELLED
-      CURVILINEAR   CANCELLED
-      LAYERZ        CANCELLED
+      SHRINK_YLAB   CANCELED
+      CURVILINEAR   CANCELED
+      LAYERZ        CANCELED
       6D_LAB           SET
+      FRUGAL           SET              30
 SET MODE IGNORE_ERROR
 SHOW MODES
       MODE            STATE        ARGUMENT
-      DIAGNOSTIC    CANCELLED           99
+      DIAGNOSTIC    CANCELED            99
       VERIFY           SET         DEFAULT
-      INTERPOLATE   CANCELLED
+      INTERPOLATE   CANCELED
       IGNORE_ERROR     SET
-      STUPID        CANCELLED
+      STUPID        CANCELED
       JOURNAL          SET         ferret.jnl
       LONG_LABEL       SET               1
       LATIT_LABEL      SET               1
@@ -483,32 +487,33 @@ SHOW MODES
       F_LABEL          SET         minutes
       ASCII_FONT       SET
       SEGMENT          SET
-      WAIT          CANCELLED
-      DESPERATE     CANCELLED      2560000
+      WAIT          CANCELED
+      DESPERATE     CANCELED       2560000
       GKS              SET
       REFRESH          SET
-      METAFILE      CANCELLED      metafile.plt
-      PPLLIST       CANCELLED      ppllist.out
-      GUI           CANCELLED
+      METAFILE      CANCELED       metafile.plt
+      PPLLIST       CANCELED       ppllist.out
+      GUI           CANCELED
       LOGO             SET
       LABELS           SET
-      GRATICULE     CANCELLED
+      GRATICULE     CANCELED
       LINECOLORS       SET               6
       UPCASE_OUTPU     SET
       NLEVELS          SET              30
       NODATA_LAB       SET
-      SHRINK_YLAB   CANCELLED
-      CURVILINEAR   CANCELLED
-      LAYERZ        CANCELLED
+      SHRINK_YLAB   CANCELED
+      CURVILINEAR   CANCELED
+      LAYERZ        CANCELED
       6D_LAB           SET
+      FRUGAL           SET              30
 CANCEL MODE IGNORE_ERROR
 SHOW MODES
       MODE            STATE        ARGUMENT
-      DIAGNOSTIC    CANCELLED           99
+      DIAGNOSTIC    CANCELED            99
       VERIFY           SET         DEFAULT
-      INTERPOLATE   CANCELLED
-      IGNORE_ERROR  CANCELLED
-      STUPID        CANCELLED
+      INTERPOLATE   CANCELED
+      IGNORE_ERROR  CANCELED
+      STUPID        CANCELED
       JOURNAL          SET         ferret.jnl
       LONG_LABEL       SET               1
       LATIT_LABEL      SET               1
@@ -518,27 +523,28 @@ SHOW MODES
       F_LABEL          SET         minutes
       ASCII_FONT       SET
       SEGMENT          SET
-      WAIT          CANCELLED
-      DESPERATE     CANCELLED      2560000
+      WAIT          CANCELED
+      DESPERATE     CANCELED       2560000
       GKS              SET
       REFRESH          SET
-      METAFILE      CANCELLED      metafile.plt
-      PPLLIST       CANCELLED      ppllist.out
-      GUI           CANCELLED
+      METAFILE      CANCELED       metafile.plt
+      PPLLIST       CANCELED       ppllist.out
+      GUI           CANCELED
       LOGO             SET
       LABELS           SET
-      GRATICULE     CANCELLED
+      GRATICULE     CANCELED
       LINECOLORS       SET               6
       UPCASE_OUTPU     SET
       NLEVELS          SET              30
       NODATA_LAB       SET
-      SHRINK_YLAB   CANCELLED
-      CURVILINEAR   CANCELLED
-      LAYERZ        CANCELLED
+      SHRINK_YLAB   CANCELED
+      CURVILINEAR   CANCELED
+      LAYERZ        CANCELED
       6D_LAB           SET
+      FRUGAL           SET              30
 SHOW MODE STUPID
       MODE            STATE        ARGUMENT
-      STUPID        CANCELLED
+      STUPID        CANCELED
 SET MODE STUPID
 SHOW MODE STUPID
       MODE            STATE        ARGUMENT
@@ -546,7 +552,7 @@ SHOW MODE STUPID
 SET MODE/LAST STUPID
 SHOW MODE STUPID
       MODE            STATE        ARGUMENT
-      STUPID        CANCELLED
+      STUPID        CANCELED
  
 ! new modes 5/93
 set mode journal newjournal.jnl
@@ -574,12 +580,12 @@ ppl list plot
 cancel mode journal
 show mode journal
       MODE            STATE        ARGUMENT
-      JOURNAL       CANCELLED      ferret.jnl
+      JOURNAL       CANCELED       ferret.jnl
  
 ! new 1/94  (syntax check also applies to modes journal and ppllist)
 show mode metafile
       MODE            STATE        ARGUMENT
-      METAFILE      CANCELLED      metafile.plt
+      METAFILE      CANCELED       metafile.plt
 set mode metafile newmetafile1.plt
 show mode metafile
       MODE            STATE        ARGUMENT
@@ -739,56 +745,62 @@ SHOW VARIABLES
  
 ! SHOW MEMORY , LOAD
 SHOW MEMORY
- Current size of FERRET memory cache: 25.6 MegaWords  (1 word = 8 bytes)
+    SET MEMORY/SIZE: 25.6 megawords
+    Peak demand: 18 words
+    Current cache: 5 words
 SHOW MEMORY/TEMPORARY
- Current size of FERRET memory cache: 25.6 MegaWords  (1 word = 8 bytes)
+    SET MEMORY/SIZE: 25.6 megawords
+    Peak demand: 18 words
+    Current cache: 5 words
 data loaded without /PERMANENT:
- SALT[D=gt4d011]                   X     mr:3  blk1:1  nblk:1
-  101  /130W          50  /1.3N           1  /0              5  /07-SEP-1982
-  105  /125W          50  /1.7N           1  /10             5  /13-SEP-1982
+ SALT[D=gt4d011]                   X     mr:3 size:5
+       101/130W               50/1.3N                1/0                   5/07-SEP-1982
+       105/125W               50/1.7N                1/10                  5/13-SEP-1982
  
 SHOW MEMORY/PERMANENT
- Current size of FERRET memory cache: 25.6 MegaWords  (1 word = 8 bytes)
+    SET MEMORY/SIZE: 25.6 megawords
+    Peak demand: 18 words
+    Current cache: 5 words
 data loaded with /PERMANENT:
 SHOW MEMORY/ALL
- Current size of FERRET memory cache: 25.6 MegaWords  (1 word = 8 bytes)
+    SET MEMORY/SIZE: 25.6 megawords
+    Peak demand: 18 words
+    Current cache: 5 words
 all data in memory:
- SALT[D=gt4d011]                   X     mr:3  blk1:1  nblk:1
-  101  /130W          50  /1.3N           1  /0              5  /07-SEP-1982
-  105  /125W          50  /1.7N           1  /10             5  /13-SEP-1982
+ SALT[D=gt4d011]                   X     mr:3 size:5
+       101/130W               50/1.3N                1/0                   5/07-SEP-1982
+       105/125W               50/1.7N                1/10                  5/13-SEP-1982
  
  
 LET A=i
 LOAD/PERM/I=1:5 A
 SHOW MEMORY
- Current size of FERRET memory cache: 25.6 MegaWords  (1 word = 8 bytes)
+    SET MEMORY/SIZE: 25.6 megawords
+    Peak demand: 18 words
+    Current cache: 15 words
+    Permanent: 5 words
 SHOW MEMORY/FREE
- Current size of FERRET memory cache: 25.6 MegaWords  (1 word = 8 bytes)
-            total memory table slots: 500
-            total memory blocks: 2000
-            memory block size: 12800
- 
-            number of free memory blocks: 1997
-            largest free region: 1997
-            number of free regions: 1
-            free memory table slots: 497
-            number of UN-CACHED variables: 0
-            number of /PERMANENT variables: 1
-            number of blocks used /PERM: 1
+    SET MEMORY/SIZE: 25.6 megawords
+    Peak demand: 18 words
+    Current cache: 15 words
+    Permanent: 5 words
+    Total table slots: 500
+    Free table slots: 497
+    Un-cached variables: 0
+    number of /PERMANENT variables: 1
+    memory used for /PERM: 5
 LOAD/TEMPORARY/I=1:5 A
 SHOW MEMORY
- Current size of FERRET memory cache: 25.6 MegaWords  (1 word = 8 bytes)
+    SET MEMORY/SIZE: 25.6 megawords
+    Peak demand: 18 words
+    Current cache: 10 words
 SHOW MEMORY/FREE
- Current size of FERRET memory cache: 25.6 MegaWords  (1 word = 8 bytes)
-            total memory table slots: 500
-            total memory blocks: 2000
-            memory block size: 12800
- 
-            number of free memory blocks: 1998
-            largest free region: 1997
-            number of free regions: 2
-            free memory table slots: 498
-            number of UN-CACHED variables: 0
+    SET MEMORY/SIZE: 25.6 megawords
+    Peak demand: 18 words
+    Current cache: 10 words
+    Total table slots: 500
+    Free table slots: 498
+    Un-cached variables: 0
  
 ! REPEAT
 REPEAT/L=1:3 LIST/I=1:6/ORDER=X 1/(I+L)
@@ -1072,8 +1084,10 @@ J1111111112222222222333333333344444444445555555555666666666677777777778888888888
  
 cancel mode metafile      !9/97
  
-GO bn_reset
+GO bn_reset bn_dollar
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_dollar
 GO bn_dollar hello    ! test command arg
 ! test this with GO journal hello
  
@@ -1245,8 +1259,10 @@ set mode ignore
 set mode/last ignore
  
 ! added in bn400
-GO bn_reset
+GO bn_reset bn_grave
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_grave
 GO bn_grave
 ! bn420_grave
 ! benchmark to test evaluation of grave accent-enclosed expressions
@@ -1394,14 +1410,14 @@ set mode diagnostic
 let sst2 = sst[l=5:8]
 say `sst, return=size`    ! should only do a GETGRID
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME
  !-> MESSAGE/CONTINUE 48600
 48600
 say `sst2,return=lend`    ! should inherit L=5:8
  dealloc  dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid SST2     C:  7 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid SST2     C:  7 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME
  allocate dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME
  !-> MESSAGE/CONTINUE 8
@@ -1520,41 +1536,41 @@ let a = XSEQUENCE(J[j=1:5])
 set mode diagnostic
 say `a,return=isize`          ! full evaluation occurs
  dealloc  dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid A        C:  7 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid (C01,V08 C:  9 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid (C11,V08 C: 11 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid A        C:  7 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid (C01,V08 C:  9 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid (C11,V08 C: 11 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  dealloc  dynamic grid ABSTRACT        ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT
- pass #2 (C11,V08 C: 11 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- -DELETE X        M:  2 dset:   0 I:  160  160  J: -999 -999  K: -999 -999  L: -999 -999
+ pass #2 (C11,V08 C: 11 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ -DELETE X        M:  2 dset:   0 I:    160    160  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- eval    A        C:  6 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- eval    (C01,V08 C:  8 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- eval    (C11,V08 C: 10 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- pseudo  J        M:  2 dset:   0 I: -999 -999  J:    1    5  K: -999 -999  L: -999 -999
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
+ eval    A        C:  6 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
+ eval    (C01,V08 C:  8 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
+ eval    (C11,V08 C: 10 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
+ pseudo  J        M:  2 dset:   0 I:   -999   -999  J:    1    5  K: -999 -999  L:   -999   -999
  !-> MESSAGE/CONTINUE 5
 5
 say `a[i=2:3],return=isize`   ! full evaluation is bypassed
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- -DELETE J        M:  2 dset:   0 I: -999 -999  J:    1    5  K: -999 -999  L: -999 -999
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ -DELETE J        M:  2 dset:   0 I:   -999   -999  J:    1    5  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- found   A        M: 10 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
+ found   A        M: 10 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
  !-> MESSAGE/CONTINUE 2
 2
 say `a[i=100:200],return=isize`    ! correct starting with Ferret v694 (tkt 2213)
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- eval    A        C:  6 dset:   0 I:  100  200  J: -999 -999  K: -999 -999  L: -999 -999
- eval    (C01,V08 C:  8 dset:   0 I:  100  200  J: -999 -999  K: -999 -999  L: -999 -999
- found   (C11,V08 M:  5 dset:   0 I: -999 -999  J:    1    5  K: -999 -999  L: -999 -999
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
+ eval    A        C:  6 dset:   0 I:    100    200  J: -999 -999  K: -999 -999  L:   -999   -999
+ eval    (C01,V08 C:  8 dset:   0 I:    100    200  J: -999 -999  K: -999 -999  L:   -999   -999
+ found   (C11,V08 M:  5 dset:   0 I:   -999   -999  J:    1    5  K: -999 -999  L:   -999   -999
  !-> MESSAGE/CONTINUE 5
 5
 set mode/last diagnostic
@@ -1572,8 +1588,10 @@ set mode/last ignore_errors
  
  
 ! added in bn420
-GO bn_reset
+GO bn_reset bn_letd
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_letd
 GO bn_letd
 ! bn420_letd.jnl
 ! 9/1/95
@@ -1850,8 +1868,10 @@ list q[d=v12file]
  
  
 ! added in bn430
-GO bn_reset
+GO bn_reset bn_if
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_if
 GO bn_if
 ! bn430_if
 ! 5/6/96
@@ -1945,8 +1965,10 @@ IF yes THEN
   say ---->... now inside of IF clause
 ---->... now inside of IF clause
  
-GO bn_reset
+GO bn_reset bn_expressions
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_expressions
 GO bn_expressions
 ! bn450_expressions.JNL
 ! test all manner of expressions
@@ -2476,8 +2498,10 @@ LIST/L=5:7 TBOXLO, TBOXHI
 6   / 6:  5.500  6.500
 7   / 7:  6.500  7.500
  
-GO bn_reset
+GO bn_reset bn_geometry
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_geometry
 GO bn_geometry
 ! bn200_geometry.JNL
 ! benchmark various geometries for accessing FERRET data
@@ -3069,10 +3093,10 @@ DEFINE REGION/I=101:105/J=46:50/K=1:5/L=1:5 R4D
 SET REG R4D
 SET EXPRESSION temp
 LOAD		! load full 4-D region
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DT2          PSXT      PSYT      PSZT      TIME1
- eval    EX#1     C:  4 dset:   1 I:  101  105  J:   46   50  K:    1    5  L:    1    5
- reading TEMP     M: 31 dset:   1 I:  101  105  J:   46   50  K:    1    5  L:    1    5
+ eval    EX#1     C:  4 dset:   1 I:    101    105  J:   46   50  K:    1    5  L:      1      5
+ reading TEMP     M: 31 dset:   1 I:    101    105  J:   46   50  K:    1    5  L:      1      5
 GO bn_geometry.sub
 ! BN200_GEOMETRY.SUB
 ! list the variable vtest on variuos geometries
@@ -3082,8 +3106,8 @@ GO bn_geometry.sub
 ! lines of data
 LIST/@JPT/@KPT/@LPT/ORDER=X
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:  101  105  J:   46   46  K:    1    1  L:    1    1
- found   TEMP     M: 31 dset:   1 I:  101  105  J:   46   50  K:    1    5  L:    1    5
+ eval    EX#1     C:  5 dset:   1 I:    101    105  J:   46   46  K:    1    1  L:      1      1
+ found   TEMP     M: 31 dset:   1 I:    101    105  J:   46   50  K:    1    5  L:      1      5
              VARIABLE : TEMPERATURE (deg. C)
              FILENAME : gt4d011.cdf
              SUBSET   : 5 points (LONGITUDE)
@@ -3093,11 +3117,11 @@ LIST/@JPT/@KPT/@LPT/ORDER=X
           129.5W 128.5W 127.5W 126.5W 125.5W 
           101    102    103    104    105
           25.78  25.80  25.82  25.80  25.74
- -DELETE TEMP     M: 29 dset:   1 I:  101  105  J:   46   46  K:    1    1  L:    1    1
+ -DELETE TEMP     M: 29 dset:   1 I:    101    105  J:   46   46  K:    1    1  L:      1      1
 LIST/@IPT/@KPT/@LPT/ORDER=Y
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:  101  101  J:   46   50  K:    1    1  L:    1    1
- found   TEMP     M: 31 dset:   1 I:  101  105  J:   46   50  K:    1    5  L:    1    5
+ eval    EX#1     C:  5 dset:   1 I:    101    101  J:   46   50  K:    1    1  L:      1      1
+ found   TEMP     M: 31 dset:   1 I:    101    105  J:   46   50  K:    1    5  L:      1      5
              VARIABLE : TEMPERATURE (deg. C)
              FILENAME : gt4d011.cdf
              SUBSET   : 5 points (LATITUDE)
@@ -3107,11 +3131,11 @@ LIST/@IPT/@KPT/@LPT/ORDER=Y
            0.17N  0.5N   0.83N  1.17N  1.5N  
            46     47     48     49     50
           25.78  25.90  26.04  26.22  26.42
- -DELETE TEMP     M: 29 dset:   1 I:   46   50  J:  101  101  K:    1    1  L:    1    1
+ -DELETE TEMP     M: 29 dset:   1 I:     46     50  J:  101  101  K:    1    1  L:      1      1
 LIST/@IPT/@JPT/@LPT/ORDER=Z
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:  101  101  J:   46   46  K:    1    5  L:    1    1
- found   TEMP     M: 31 dset:   1 I:  101  105  J:   46   50  K:    1    5  L:    1    5
+ eval    EX#1     C:  5 dset:   1 I:    101    101  J:   46   46  K:    1    5  L:      1      1
+ found   TEMP     M: 31 dset:   1 I:    101    105  J:   46   50  K:    1    5  L:      1      5
              VARIABLE : TEMPERATURE (deg. C)
              FILENAME : gt4d011.cdf
              SUBSET   : 5 points (DEPTH (m))
@@ -3121,11 +3145,11 @@ LIST/@IPT/@JPT/@LPT/ORDER=Z
            5      15     25     35     45    
             1      2      3      4      5
           25.78  25.67  25.51  25.35  25.16
- -DELETE TEMP     M: 29 dset:   1 I:    1    5  J:  101  101  K:   46   46  L:    1    1
+ -DELETE TEMP     M: 29 dset:   1 I:      1      5  J:  101  101  K:   46   46  L:      1      1
 LIST/@IPT/@JPT/@KPT/ORDER=T
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:  101  101  J:   46   46  K:    1    1  L:    1    5
- found   TEMP     M: 31 dset:   1 I:  101  105  J:   46   50  K:    1    5  L:    1    5
+ eval    EX#1     C:  5 dset:   1 I:    101    101  J:   46   46  K:    1    1  L:      1      5
+ found   TEMP     M: 31 dset:   1 I:    101    105  J:   46   50  K:    1    5  L:      1      5
              VARIABLE : TEMPERATURE (deg. C)
              FILENAME : gt4d011.cdf
              SUBSET   : 5 points (TIME)
@@ -3135,13 +3159,13 @@ LIST/@IPT/@JPT/@KPT/ORDER=T
            1982   1982   1982   1982   1982  
             1      2      3      4      5
           25.78  25.98  26.18  26.39  26.62
- -DELETE TEMP     M: 29 dset:   1 I:    1    5  J:  101  101  K:   46   46  L:    1    1
+ -DELETE TEMP     M: 29 dset:   1 I:      1      5  J:  101  101  K:   46   46  L:      1      1
  
 ! planes of data
 LIST/@KPT/@LPT	!XY
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:  101  105  J:   46   50  K:    1    1  L:    1    1
- found   TEMP     M: 31 dset:   1 I:  101  105  J:   46   50  K:    1    5  L:    1    5
+ eval    EX#1     C:  5 dset:   1 I:    101    105  J:   46   50  K:    1    1  L:      1      1
+ found   TEMP     M: 31 dset:   1 I:    101    105  J:   46   50  K:    1    5  L:      1      5
              VARIABLE : TEMPERATURE (deg. C)
              FILENAME : gt4d011.cdf
              SUBSET   : 5 by 5 points (LONGITUDE-LATITUDE)
@@ -3154,11 +3178,11 @@ LIST/@KPT/@LPT	!XY
  0.83N / 48:  26.04  26.10  26.13  26.11  26.06
  0.5N  / 47:  25.90  25.94  25.96  25.94  25.89
  0.17N / 46:  25.78  25.80  25.82  25.80  25.74
- -DELETE TEMP     M: 29 dset:   1 I:  101  105  J:   46   50  K:    1    1  L:    1    1
+ -DELETE TEMP     M: 29 dset:   1 I:    101    105  J:   46   50  K:    1    1  L:      1      1
 LIST/@JPT/@LPT	!XZ
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:  101  105  J:   46   46  K:    1    5  L:    1    1
- found   TEMP     M: 31 dset:   1 I:  101  105  J:   46   50  K:    1    5  L:    1    5
+ eval    EX#1     C:  5 dset:   1 I:    101    105  J:   46   46  K:    1    5  L:      1      1
+ found   TEMP     M: 31 dset:   1 I:    101    105  J:   46   50  K:    1    5  L:      1      5
              VARIABLE : TEMPERATURE (deg. C)
              FILENAME : gt4d011.cdf
              SUBSET   : 5 by 5 points (LONGITUDE-DEPTH (m))
@@ -3171,11 +3195,11 @@ LIST/@JPT/@LPT	!XZ
  25    / 3:  25.51  25.53  25.54  25.53  25.48
  35    / 4:  25.35  25.36  25.36  25.34  25.29
  45    / 5:  25.16  25.15  25.12  25.07  25.02
- -DELETE TEMP     M: 29 dset:   1 I:  101  105  J:    1    5  K:   46   46  L:    1    1
+ -DELETE TEMP     M: 29 dset:   1 I:    101    105  J:    1    5  K:   46   46  L:      1      1
 LIST/@JPT/@KPT	!XT
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:  101  105  J:   46   46  K:    1    1  L:    1    5
- found   TEMP     M: 31 dset:   1 I:  101  105  J:   46   50  K:    1    5  L:    1    5
+ eval    EX#1     C:  5 dset:   1 I:    101    105  J:   46   46  K:    1    1  L:      1      5
+ found   TEMP     M: 31 dset:   1 I:    101    105  J:   46   50  K:    1    5  L:      1      5
              VARIABLE : TEMPERATURE (deg. C)
              FILENAME : gt4d011.cdf
              SUBSET   : 5 by 5 points (LONGITUDE-TIME)
@@ -3188,11 +3212,11 @@ LIST/@JPT/@KPT	!XT
  29-AUG-1982 16 / 3:  26.18  26.13  26.07  26.01  25.97
  04-SEP-1982 18 / 4:  26.39  26.31  26.24  26.18  26.15
  10-SEP-1982 20 / 5:  26.62  26.55  26.47  26.40  26.36
- -DELETE TEMP     M: 29 dset:   1 I:  101  105  J:    1    5  K:   46   46  L:    1    1
+ -DELETE TEMP     M: 29 dset:   1 I:    101    105  J:    1    5  K:   46   46  L:      1      1
 LIST/@IPT/@LPT	!YZ
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:  101  101  J:   46   50  K:    1    5  L:    1    1
- found   TEMP     M: 31 dset:   1 I:  101  105  J:   46   50  K:    1    5  L:    1    5
+ eval    EX#1     C:  5 dset:   1 I:    101    101  J:   46   50  K:    1    5  L:      1      1
+ found   TEMP     M: 31 dset:   1 I:    101    105  J:   46   50  K:    1    5  L:      1      5
              VARIABLE : TEMPERATURE (deg. C)
              FILENAME : gt4d011.cdf
              SUBSET   : 5 by 5 points (LATITUDE-DEPTH (m))
@@ -3205,11 +3229,11 @@ LIST/@IPT/@LPT	!YZ
  25    / 3:  25.51  25.68  25.90  26.12  26.35
  35    / 4:  25.35  25.58  25.86  26.11  26.35
  45    / 5:  25.16  25.41  25.77  26.10  26.35
- -DELETE TEMP     M: 29 dset:   1 I:   46   50  J:    1    5  K:  101  101  L:    1    1
+ -DELETE TEMP     M: 29 dset:   1 I:     46     50  J:    1    5  K:  101  101  L:      1      1
 LIST/@IPT/@KPT	!YT
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:  101  101  J:   46   50  K:    1    1  L:    1    5
- found   TEMP     M: 31 dset:   1 I:  101  105  J:   46   50  K:    1    5  L:    1    5
+ eval    EX#1     C:  5 dset:   1 I:    101    101  J:   46   50  K:    1    1  L:      1      5
+ found   TEMP     M: 31 dset:   1 I:    101    105  J:   46   50  K:    1    5  L:      1      5
              VARIABLE : TEMPERATURE (deg. C)
              FILENAME : gt4d011.cdf
              SUBSET   : 5 by 5 points (LATITUDE-TIME)
@@ -3222,11 +3246,11 @@ LIST/@IPT/@KPT	!YT
  29-AUG-1982 16 / 3:  26.18  26.30  26.46  26.65  26.86
  04-SEP-1982 18 / 4:  26.39  26.51  26.67  26.85  27.05
  10-SEP-1982 20 / 5:  26.62  26.72  26.87  27.03  27.17
- -DELETE TEMP     M: 29 dset:   1 I:   46   50  J:    1    5  K:  101  101  L:    1    1
+ -DELETE TEMP     M: 29 dset:   1 I:     46     50  J:    1    5  K:  101  101  L:      1      1
 LIST/@IPT/@JPT	!ZT
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:  101  101  J:   46   46  K:    1    5  L:    1    5
- found   TEMP     M: 31 dset:   1 I:  101  105  J:   46   50  K:    1    5  L:    1    5
+ eval    EX#1     C:  5 dset:   1 I:    101    101  J:   46   46  K:    1    5  L:      1      5
+ found   TEMP     M: 31 dset:   1 I:    101    105  J:   46   50  K:    1    5  L:      1      5
              VARIABLE : TEMPERATURE (deg. C)
              FILENAME : gt4d011.cdf
              SUBSET   : 5 by 5 points (DEPTH (m)-TIME)
@@ -3239,13 +3263,13 @@ LIST/@IPT/@JPT	!ZT
  29-AUG-1982 16 / 3:  26.18  26.08  25.93  25.79  25.60
  04-SEP-1982 18 / 4:  26.39  26.31  26.16  26.04  25.83
  10-SEP-1982 20 / 5:  26.62  26.53  26.36  26.25  26.04
- -DELETE TEMP     M: 29 dset:   1 I:    1    5  J:    1    5  K:  101  101  L:   46   46
+ -DELETE TEMP     M: 29 dset:   1 I:      1      5  J:    1    5  K:  101  101  L:     46     46
  
 ! cubes of data
 LIST/@LPT
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:  101  105  J:   46   50  K:    1    5  L:    1    1
- found   TEMP     M: 31 dset:   1 I:  101  105  J:   46   50  K:    1    5  L:    1    5
+ eval    EX#1     C:  5 dset:   1 I:    101    105  J:   46   50  K:    1    5  L:      1      1
+ found   TEMP     M: 31 dset:   1 I:    101    105  J:   46   50  K:    1    5  L:      1      5
              VARIABLE : TEMPERATURE (deg. C)
              FILENAME : gt4d011.cdf
              SUBSET   : 5 by 5 by 5 points (LONGITUDE-LATITUDE-DEPTH (m))
@@ -3282,11 +3306,11 @@ LIST/@LPT
  0.83N / 48:  25.77  25.81  25.82  25.81  25.76
  0.5N  / 47:  25.41  25.43  25.41  25.38  25.32
  0.17N / 46:  25.16  25.15  25.12  25.07  25.02
- -DELETE TEMP     M: 29 dset:   1 I:  101  105  J:   46   50  K:    1    5  L:    1    1
+ -DELETE TEMP     M: 29 dset:   1 I:    101    105  J:   46   50  K:    1    5  L:      1      1
 LIST/@KPT
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:  101  105  J:   46   50  K:    1    1  L:    1    5
- found   TEMP     M: 31 dset:   1 I:  101  105  J:   46   50  K:    1    5  L:    1    5
+ eval    EX#1     C:  5 dset:   1 I:    101    105  J:   46   50  K:    1    1  L:      1      5
+ found   TEMP     M: 31 dset:   1 I:    101    105  J:   46   50  K:    1    5  L:      1      5
              VARIABLE : TEMPERATURE (deg. C)
              FILENAME : gt4d011.cdf
              SUBSET   : 5 by 5 by 5 points (LONGITUDE-LATITUDE-TIME)
@@ -3323,11 +3347,11 @@ LIST/@KPT
  0.83N / 48:  26.87  26.75  26.62  26.54  26.52
  0.5N  / 47:  26.72  26.63  26.52  26.45  26.43
  0.17N / 46:  26.62  26.55  26.47  26.40  26.36
- -DELETE TEMP     M: 29 dset:   1 I:  101  105  J:   46   50  K:    1    5  L:    1    1
+ -DELETE TEMP     M: 29 dset:   1 I:    101    105  J:   46   50  K:    1    5  L:      1      1
 LIST/@JPT
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:  101  105  J:   46   46  K:    1    5  L:    1    5
- found   TEMP     M: 31 dset:   1 I:  101  105  J:   46   50  K:    1    5  L:    1    5
+ eval    EX#1     C:  5 dset:   1 I:    101    105  J:   46   46  K:    1    5  L:      1      5
+ found   TEMP     M: 31 dset:   1 I:    101    105  J:   46   50  K:    1    5  L:      1      5
              VARIABLE : TEMPERATURE (deg. C)
              FILENAME : gt4d011.cdf
              SUBSET   : 5 by 5 by 5 points (LONGITUDE-DEPTH (m)-TIME)
@@ -3364,11 +3388,11 @@ LIST/@JPT
  25    / 3:  26.36  26.31  26.19  26.08  26.03
  35    / 4:  26.25  26.21  26.09  25.98  25.92
  45    / 5:  26.04  26.01  25.93  25.84  25.77
- -DELETE TEMP     M: 29 dset:   1 I:  101  105  J:    1    5  K:    1    5  L:   46   46
+ -DELETE TEMP     M: 29 dset:   1 I:    101    105  J:    1    5  K:    1    5  L:     46     46
 LIST/@IPT
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:  101  101  J:   46   50  K:    1    5  L:    1    5
- found   TEMP     M: 31 dset:   1 I:  101  105  J:   46   50  K:    1    5  L:    1    5
+ eval    EX#1     C:  5 dset:   1 I:    101    101  J:   46   50  K:    1    5  L:      1      5
+ found   TEMP     M: 31 dset:   1 I:    101    105  J:   46   50  K:    1    5  L:      1      5
              VARIABLE : TEMPERATURE (deg. C)
              FILENAME : gt4d011.cdf
              SUBSET   : 5 by 5 by 5 points (LATITUDE-DEPTH (m)-TIME)
@@ -3405,12 +3429,12 @@ LIST/@IPT
  25    / 3:  26.36  26.59  26.78  26.95  27.09
  35    / 4:  26.25  26.53  26.78  26.95  27.09
  45    / 5:  26.04  26.32  26.68  26.95  27.09
- -DELETE TEMP     M: 29 dset:   1 I:   46   50  J:    1    5  K:    1    5  L:  101  101
+ -DELETE TEMP     M: 29 dset:   1 I:     46     50  J:    1    5  K:    1    5  L:    101    101
  
 ! 4D region
 LOAD
- eval    EX#1     C:  4 dset:   1 I:  101  105  J:   46   50  K:    1    5  L:    1    5
- found   TEMP     M: 31 dset:   1 I:  101  105  J:   46   50  K:    1    5  L:    1    5
+ eval    EX#1     C:  4 dset:   1 I:    101    105  J:   46   50  K:    1    5  L:      1      5
+ found   TEMP     M: 31 dset:   1 I:    101    105  J:   46   50  K:    1    5  L:      1      5
 SET MODE/LAST DIAGNOSTIC
  
 ! ******** disk-resident file variable ************
@@ -3433,11 +3457,11 @@ GO bn_geometry.sub
  
 ! lines of data
 LIST/@JPT/@KPT/@LPT/ORDER=X
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DT2          PSXT      PSYT      PSZT      TIME1
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:  101  105  J:   46   46  K:    1    1  L:    1    1
- reading TEMP     M: 31 dset:   1 I:  101  105  J:   46   46  K:    1    1  L:    1    1
+ eval    EX#1     C:  5 dset:   1 I:    101    105  J:   46   46  K:    1    1  L:      1      1
+ reading TEMP     M: 31 dset:   1 I:    101    105  J:   46   46  K:    1    1  L:      1      1
              VARIABLE : TEMPERATURE (deg. C)
              FILENAME : gt4d011.cdf
              SUBSET   : 5 points (LONGITUDE)
@@ -3449,8 +3473,8 @@ LIST/@JPT/@KPT/@LPT/ORDER=X
           25.78  25.80  25.82  25.80  25.74
 LIST/@IPT/@KPT/@LPT/ORDER=Y
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:  101  101  J:   46   50  K:    1    1  L:    1    1
- reading TEMP     M: 29 dset:   1 I:  101  101  J:   46   50  K:    1    1  L:    1    1
+ eval    EX#1     C:  5 dset:   1 I:    101    101  J:   46   50  K:    1    1  L:      1      1
+ reading TEMP     M: 29 dset:   1 I:    101    101  J:   46   50  K:    1    1  L:      1      1
              VARIABLE : TEMPERATURE (deg. C)
              FILENAME : gt4d011.cdf
              SUBSET   : 5 points (LATITUDE)
@@ -3462,8 +3486,8 @@ LIST/@IPT/@KPT/@LPT/ORDER=Y
           25.78  25.90  26.04  26.22  26.42
 LIST/@IPT/@JPT/@LPT/ORDER=Z
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:  101  101  J:   46   46  K:    1    5  L:    1    1
- reading TEMP     M: 28 dset:   1 I:  101  101  J:   46   46  K:    1    5  L:    1    1
+ eval    EX#1     C:  5 dset:   1 I:    101    101  J:   46   46  K:    1    5  L:      1      1
+ reading TEMP     M: 28 dset:   1 I:    101    101  J:   46   46  K:    1    5  L:      1      1
              VARIABLE : TEMPERATURE (deg. C)
              FILENAME : gt4d011.cdf
              SUBSET   : 5 points (DEPTH (m))
@@ -3475,8 +3499,8 @@ LIST/@IPT/@JPT/@LPT/ORDER=Z
           25.78  25.67  25.51  25.35  25.16
 LIST/@IPT/@JPT/@KPT/ORDER=T
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:  101  101  J:   46   46  K:    1    1  L:    1    5
- reading TEMP     M: 27 dset:   1 I:  101  101  J:   46   46  K:    1    1  L:    1    5
+ eval    EX#1     C:  5 dset:   1 I:    101    101  J:   46   46  K:    1    1  L:      1      5
+ reading TEMP     M: 27 dset:   1 I:    101    101  J:   46   46  K:    1    1  L:      1      5
              VARIABLE : TEMPERATURE (deg. C)
              FILENAME : gt4d011.cdf
              SUBSET   : 5 points (TIME)
@@ -3490,8 +3514,8 @@ LIST/@IPT/@JPT/@KPT/ORDER=T
 ! planes of data
 LIST/@KPT/@LPT	!XY
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:  101  105  J:   46   50  K:    1    1  L:    1    1
- reading TEMP     M: 26 dset:   1 I:  101  105  J:   46   50  K:    1    1  L:    1    1
+ eval    EX#1     C:  5 dset:   1 I:    101    105  J:   46   50  K:    1    1  L:      1      1
+ reading TEMP     M: 26 dset:   1 I:    101    105  J:   46   50  K:    1    1  L:      1      1
              VARIABLE : TEMPERATURE (deg. C)
              FILENAME : gt4d011.cdf
              SUBSET   : 5 by 5 points (LONGITUDE-LATITUDE)
@@ -3506,8 +3530,8 @@ LIST/@KPT/@LPT	!XY
  0.17N / 46:  25.78  25.80  25.82  25.80  25.74
 LIST/@JPT/@LPT	!XZ
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:  101  105  J:   46   46  K:    1    5  L:    1    1
- reading TEMP     M: 25 dset:   1 I:  101  105  J:   46   46  K:    1    5  L:    1    1
+ eval    EX#1     C:  5 dset:   1 I:    101    105  J:   46   46  K:    1    5  L:      1      1
+ reading TEMP     M: 25 dset:   1 I:    101    105  J:   46   46  K:    1    5  L:      1      1
              VARIABLE : TEMPERATURE (deg. C)
              FILENAME : gt4d011.cdf
              SUBSET   : 5 by 5 points (LONGITUDE-DEPTH (m))
@@ -3522,8 +3546,8 @@ LIST/@JPT/@LPT	!XZ
  45    / 5:  25.16  25.15  25.12  25.07  25.02
 LIST/@JPT/@KPT	!XT
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:  101  105  J:   46   46  K:    1    1  L:    1    5
- reading TEMP     M: 24 dset:   1 I:  101  105  J:   46   46  K:    1    1  L:    1    5
+ eval    EX#1     C:  5 dset:   1 I:    101    105  J:   46   46  K:    1    1  L:      1      5
+ reading TEMP     M: 24 dset:   1 I:    101    105  J:   46   46  K:    1    1  L:      1      5
              VARIABLE : TEMPERATURE (deg. C)
              FILENAME : gt4d011.cdf
              SUBSET   : 5 by 5 points (LONGITUDE-TIME)
@@ -3538,8 +3562,8 @@ LIST/@JPT/@KPT	!XT
  10-SEP-1982 20 / 5:  26.62  26.55  26.47  26.40  26.36
 LIST/@IPT/@LPT	!YZ
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:  101  101  J:   46   50  K:    1    5  L:    1    1
- reading TEMP     M: 23 dset:   1 I:  101  101  J:   46   50  K:    1    5  L:    1    1
+ eval    EX#1     C:  5 dset:   1 I:    101    101  J:   46   50  K:    1    5  L:      1      1
+ reading TEMP     M: 23 dset:   1 I:    101    101  J:   46   50  K:    1    5  L:      1      1
              VARIABLE : TEMPERATURE (deg. C)
              FILENAME : gt4d011.cdf
              SUBSET   : 5 by 5 points (LATITUDE-DEPTH (m))
@@ -3554,8 +3578,8 @@ LIST/@IPT/@LPT	!YZ
  45    / 5:  25.16  25.41  25.77  26.10  26.35
 LIST/@IPT/@KPT	!YT
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:  101  101  J:   46   50  K:    1    1  L:    1    5
- reading TEMP     M: 22 dset:   1 I:  101  101  J:   46   50  K:    1    1  L:    1    5
+ eval    EX#1     C:  5 dset:   1 I:    101    101  J:   46   50  K:    1    1  L:      1      5
+ reading TEMP     M: 22 dset:   1 I:    101    101  J:   46   50  K:    1    1  L:      1      5
              VARIABLE : TEMPERATURE (deg. C)
              FILENAME : gt4d011.cdf
              SUBSET   : 5 by 5 points (LATITUDE-TIME)
@@ -3570,8 +3594,8 @@ LIST/@IPT/@KPT	!YT
  10-SEP-1982 20 / 5:  26.62  26.72  26.87  27.03  27.17
 LIST/@IPT/@JPT	!ZT
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:  101  101  J:   46   46  K:    1    5  L:    1    5
- reading TEMP     M: 21 dset:   1 I:  101  101  J:   46   46  K:    1    5  L:    1    5
+ eval    EX#1     C:  5 dset:   1 I:    101    101  J:   46   46  K:    1    5  L:      1      5
+ reading TEMP     M: 21 dset:   1 I:    101    101  J:   46   46  K:    1    5  L:      1      5
              VARIABLE : TEMPERATURE (deg. C)
              FILENAME : gt4d011.cdf
              SUBSET   : 5 by 5 points (DEPTH (m)-TIME)
@@ -3588,8 +3612,8 @@ LIST/@IPT/@JPT	!ZT
 ! cubes of data
 LIST/@LPT
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:  101  105  J:   46   50  K:    1    5  L:    1    1
- reading TEMP     M: 20 dset:   1 I:  101  105  J:   46   50  K:    1    5  L:    1    1
+ eval    EX#1     C:  5 dset:   1 I:    101    105  J:   46   50  K:    1    5  L:      1      1
+ reading TEMP     M: 20 dset:   1 I:    101    105  J:   46   50  K:    1    5  L:      1      1
              VARIABLE : TEMPERATURE (deg. C)
              FILENAME : gt4d011.cdf
              SUBSET   : 5 by 5 by 5 points (LONGITUDE-LATITUDE-DEPTH (m))
@@ -3628,8 +3652,8 @@ LIST/@LPT
  0.17N / 46:  25.16  25.15  25.12  25.07  25.02
 LIST/@KPT
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:  101  105  J:   46   50  K:    1    1  L:    1    5
- reading TEMP     M: 19 dset:   1 I:  101  105  J:   46   50  K:    1    1  L:    1    5
+ eval    EX#1     C:  5 dset:   1 I:    101    105  J:   46   50  K:    1    1  L:      1      5
+ reading TEMP     M: 19 dset:   1 I:    101    105  J:   46   50  K:    1    1  L:      1      5
              VARIABLE : TEMPERATURE (deg. C)
              FILENAME : gt4d011.cdf
              SUBSET   : 5 by 5 by 5 points (LONGITUDE-LATITUDE-TIME)
@@ -3668,8 +3692,8 @@ LIST/@KPT
  0.17N / 46:  26.62  26.55  26.47  26.40  26.36
 LIST/@JPT
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:  101  105  J:   46   46  K:    1    5  L:    1    5
- reading TEMP     M: 18 dset:   1 I:  101  105  J:   46   46  K:    1    5  L:    1    5
+ eval    EX#1     C:  5 dset:   1 I:    101    105  J:   46   46  K:    1    5  L:      1      5
+ reading TEMP     M: 18 dset:   1 I:    101    105  J:   46   46  K:    1    5  L:      1      5
              VARIABLE : TEMPERATURE (deg. C)
              FILENAME : gt4d011.cdf
              SUBSET   : 5 by 5 by 5 points (LONGITUDE-DEPTH (m)-TIME)
@@ -3708,8 +3732,8 @@ LIST/@JPT
  45    / 5:  26.04  26.01  25.93  25.84  25.77
 LIST/@IPT
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:  101  101  J:   46   50  K:    1    5  L:    1    5
- reading TEMP     M: 17 dset:   1 I:  101  101  J:   46   50  K:    1    5  L:    1    5
+ eval    EX#1     C:  5 dset:   1 I:    101    101  J:   46   50  K:    1    5  L:      1      5
+ reading TEMP     M: 17 dset:   1 I:    101    101  J:   46   50  K:    1    5  L:      1      5
              VARIABLE : TEMPERATURE (deg. C)
              FILENAME : gt4d011.cdf
              SUBSET   : 5 by 5 by 5 points (LATITUDE-DEPTH (m)-TIME)
@@ -3749,8 +3773,8 @@ LIST/@IPT
  
 ! 4D region
 LOAD
- eval    EX#1     C:  4 dset:   1 I:  101  105  J:   46   50  K:    1    5  L:    1    5
- reading TEMP     M: 16 dset:   1 I:  101  105  J:   46   50  K:    1    5  L:    1    5
+ eval    EX#1     C:  4 dset:   1 I:    101    105  J:   46   50  K:    1    5  L:      1      5
+ reading TEMP     M: 16 dset:   1 I:    101    105  J:   46   50  K:    1    5  L:      1      5
 SET MODE/LAST DIAGNOSTIC
  
 ! ******** diagnostic variable ************
@@ -3772,13 +3796,16 @@ SET MODE/LAST IGNORE_ERRORS
  
  
  
-GO bn_reset
-cancel mode verify
 set mode ignore		! needed for AIX   11/94
+GO bn_reset   bn_output
+cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_output
 GO bn_output
 ! bn200_output.JNL
 ! - test various output methods in FERRET
 ! rev 0.0  4/27/90 *sh*
+! 4/17 *acm* LIST/CLOBBER files (these are removed by run_all too)
  
 LET v = 1000*i + 100*j + 10*k + l
 SET REGION/I=1:2/J=3:4/K=5:6/L=7:8
@@ -6751,20 +6778,23 @@ LIST
 2   / 2:  2467.  2.000  4.000  6.000  7.000
 CANCEL LIST/ALL
 SET LIST/FILE=AUTO-X
-LIST/FILE
-LIST/FILE=test.dat
+LIST/CLOBBER/FILE
+LIST/CLOBBER/FILE=test.dat
 LIST/FILE=test.dat/APPEND
-LIST/FILE=test.unf/FORMAT=UNFORMATTED
+LIST/CLOBBER/FILE=test.unf/FORMAT=UNFORMATTED
 ! V6.8 we no longer write this file type
 SET MODE IGNORE
 LIST/FILE=test.gt/FORMAT=TMAP/L=1:3 v,v^0.5
 SET MODE/LAST IGNORE
 CANCEL LIST
+ 
 cancel list/format
 can mode ignore		! needed for AIX
  
-GO bn_reset
+GO bn_reset bn_in_plane
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_in_plane
 GO bn_in_plane
 ! bn200_in_plane.JNL
 ! benchmark various geometries with in-plane transformation applied (@SBX)
@@ -7280,8 +7310,10 @@ LIST/ORDER=T v[t=@sbx,i=@ave,j=@ave,k=@ave]
             2      3      4
          -2.855 -1.567 -0.836
  
-GO bn_reset
+GO bn_reset bn_compress
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_compress
 GO bn_compress
 ! bn200_compress.JNL
 ! benchmark various geometries obtained by compressing FERRET data with @AVE
@@ -7789,8 +7821,10 @@ LIST/ORDER=X v[i=@ave,j=@ave,k=@ave,l=@ave]
 ! remove call to bn200_compress.sub_qady for portable benchmarks *kob* 5/99
 ! ****
  
-GO bn_reset
+GO bn_reset bn_interpolate
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_interpolate
 GO bn_interpolate
 ! bn200_interpolate.JNL
 ! benchmark interpolation along various axes
@@ -8187,8 +8221,10 @@ LIST v[@xpt, at ypt, at zpt, at tpt]
              T        : 1.0005 (interpolated)
           1113.00
  
-GO bn_reset
+GO bn_reset bn_regrid
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_regrid
 GO bn_regrid
 ! bn200_regrid.JNL
 ! test regridding
@@ -9567,8 +9603,10 @@ list a24[g=g48]-a48
  05-JAN-1980 00 / 3: -438312.
  07-JAN-1980 00 / 4: -438312.
  
-GO bn_reset
+GO bn_reset bn_ez
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_ez
 GO bn_ez		! changed from bn200_ez 8/10/95
 ! bn401_ez.JNL
 ! test all manner of accessing non-TMAP data files
@@ -9583,7 +9621,7 @@ SHOW DATA/FULL
  
  name     title                             I         J         K         L
  V1       V1                               1:5       ...       ...       ...
-               on grid (G007) with -1.E+34 for missing data
+               on grid (G008) with -1.E+34 for missing data
              X=0.5:5.5  
  
  /FORMAT = FREE
@@ -9613,10 +9651,10 @@ SHOW DATA/FULL
  
  name     title                             I         J         K         L
  X1       X1                               1:5       ...       ...       ...
-               on grid (G007) with -1.E+34 for missing data
+               on grid (G008) with -1.E+34 for missing data
              X=0.5:5.5  
  X2       X2                               1:5       ...       ...       ...
-               on grid (G007) with -1.E+34 for missing data
+               on grid (G008) with -1.E+34 for missing data
              X=0.5:5.5  
  
  /FORMAT = FREE
@@ -9649,10 +9687,10 @@ SHOW DATA/FULL
  
  name     title                             I         J         K         L
  X1       X1                               1:15      ...       ...       ...
-               on grid (G007) with -1.E+34 for missing data
+               on grid (G008) with -1.E+34 for missing data
              X=0.5:15.5  
  X2       X2                               1:15      ...       ...       ...
-               on grid (G007) with -1.E+34 for missing data
+               on grid (G008) with -1.E+34 for missing data
              X=0.5:15.5  
  
  /FORMAT = FREE
@@ -9693,10 +9731,10 @@ SHOW DATA/FULL
  
  name     title                             I         J         K         L
  X1       X1                               1:15      ...       ...       ...
-               on grid (G007) with -1.E+34 for missing data
+               on grid (G008) with -1.E+34 for missing data
              X=0.5:15.5  
  X2       X2                               1:15      ...       ...       ...
-               on grid (G007) with -1.E+34 for missing data
+               on grid (G008) with -1.E+34 for missing data
              X=0.5:15.5  
  
  /FORMAT = FREE
@@ -9731,10 +9769,10 @@ SHOW DATA/FULL
  
  name     title                             I         J         K         L
  X1       X1                               1:15      ...       ...       ...
-               on grid (G007) with -1.E+34 for missing data
+               on grid (G008) with -1.E+34 for missing data
              X=0.5:15.5  
  X2       X2                               1:15      ...       ...       ...
-               on grid (G007) with -1.E+34 for missing data
+               on grid (G008) with -1.E+34 for missing data
              X=0.5:15.5  
  
  /FORMAT = FREE
@@ -9766,10 +9804,10 @@ SHOW DATA/FULL
  
  name     title                             I         J         K         L
  X1       X1                               1:15      ...       ...       ...
-               on grid (G007) with -1.E+34 for missing data
+               on grid (G008) with -1.E+34 for missing data
              X=0.5:15.5  
  X2       X2                               1:15      ...       ...       ...
-               on grid (G007) with -1.E+34 for missing data
+               on grid (G008) with -1.E+34 for missing data
              X=0.5:15.5  
  
  /FORMAT = (3(F14.0,F7.0))
@@ -9804,10 +9842,10 @@ SHOW DATA/FULL
  
  name     title                             I         J         K         L
  X1       X1                               1:15      ...       ...       ...
-               on grid (G007) with -1.E+34 for missing data
+               on grid (G008) with -1.E+34 for missing data
              X=0.5:15.5  
  X2       X2                               1:15      ...       ...       ...
-               on grid (G007) with -1.E+34 for missing data
+               on grid (G008) with -1.E+34 for missing data
              X=0.5:15.5  
  
  /FORMAT = (3(F14.0,F7.0)/)
@@ -9922,6 +9960,10 @@ SHOW DATA
  
  
 ! truncate reading by grid size limit
+! V702: *sh* note that with 3 columns of pairs and a request to read only
+! 8 values total, the final record is incomplete.  These final values
+! **do not get initialized**.  This has been reported in trac #2509
+! The presence of uninitialized values can throw off the formatting of the output
 DEFINE AXIS/X=1:8:1 xez3
 DEFINE GRID/X=XEZ3 GEZ3
 FILE/VAR="X1,X2"/COLUMNS=6/GRID=GEZ3 EZ.DAT
@@ -9950,8 +9992,8 @@ LIST X1
  4   / 4:  0.355000
  5   / 5:  0.379000
  6   / 6:  0.393000
- 7   / 7:  0.410000
- 8   / 8:  0.417000
+ 7   / 7:  0.000000
+ 8   / 8:  0.000000
 SHOW DATA
      currently SET data sets:
     1> ./EZ.DAT  (default)
@@ -9988,8 +10030,10 @@ PPL ECHO ON		! added 10/27/93
  
 ! 10/97 *kob* now set mode metafile
 set mode metafile bnplot.plt
-GO bn_reset
+GO bn_reset bn_plot
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_plot
 GO bn_plot		! upgraded from bn320_plot 10/1/97 *kob*
 ! bn450_plot.JNL - updated 9/97 from bn320_plot.jnl
 ! upgraded from bn320 to provide method for testing batch mode.  Also remove
@@ -10192,9 +10236,11 @@ set mode/last logo
  
 !added in bn450 10/97 *kob*
 ! moved to right after bn450_plot to capture metafiles *kob* 2/98
-GO bn_reset
-cancel mode verify
 ! 2/98 changed bn450_curv to bn491_curv - just some cosmetic changes *kob*
+GO bn_reset bn_curv
+cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_curv
 GO bn_curv
 cancel mode ignore
 !
@@ -10387,8 +10433,10 @@ SET WINDOW/CLEAR/SIZE=0.2 ! 8/25/92
 ! 10/97 *kob* now cancel mode metafile
 cancel mode metafile
  
-GO bn_reset
+GO bn_reset bn_symbols
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_symbols
 GO bn_symbols	! added 6/22/95
 ! bn420_symbols
 ! benchmark to test machinery of symbol definition and use
@@ -10411,20 +10459,23 @@ show symbols/all
 PPL$XPIXEL = "406"
 PPL$YPIXEL = "406"
 BYTEORDER = "LITTLE"
-FERRET_VERSION = "7.1"
-FERRET_PLATFORM = "Linux 2.6.32-642.13.1.el6.x86_64 64-bit"
+FERRET_VERSION = "7.2"
+FERRET_PLATFORM = "Linux 2.6.32-696.3.2.el6.x86_64 64-bit"
 FERRET_PRECISION = "double"
-NETCDF_VERSION = "4.4.0 of Feb  4 2016 19:21:00 $"
+NETCDF_VERSION = "4.4.1.1 of Jun 26 2017 08:42:09 $"
 FERRET_MEMORY = "25.6"
-SESSION_DATE = "15-Feb-17"
-SESSION_TIME = "11:27"
-SESSION_PID = "9470"
-DELTA_CPU = "5.86611"
-CLOCK_SECS = "7.974"
-CURRENT_DATE = "15-Feb-17"
-CURRENT_TIME = "11:27:28"
+SESSION_DATE = "12-Jul-17"
+SESSION_TIME = "09:51"
+SESSION_PID = "4428"
+DELTA_CPU = "11.9522"
+CLOCK_SECS = "13.908"
+CURRENT_DATE = "12-Jul-17"
+CURRENT_TIME = "09:51:33"
 N_OPEN_DSETS = "0"
 PROGRAM_NAME = "Ferret"
+PEAK_MEMORY = "0"
+SPAWN_OK = "1"
+SPAWN_STATUS = "0"
  
 ! define some symbols ... syntax variations
 define symbol s1 = hello
@@ -10440,20 +10491,23 @@ show symbol/all
 PPL$XPIXEL = "406"
 PPL$YPIXEL = "406"
 BYTEORDER = "LITTLE"
-FERRET_VERSION = "7.1"
-FERRET_PLATFORM = "Linux 2.6.32-642.13.1.el6.x86_64 64-bit"
+FERRET_VERSION = "7.2"
+FERRET_PLATFORM = "Linux 2.6.32-696.3.2.el6.x86_64 64-bit"
 FERRET_PRECISION = "double"
-NETCDF_VERSION = "4.4.0 of Feb  4 2016 19:21:00 $"
+NETCDF_VERSION = "4.4.1.1 of Jun 26 2017 08:42:09 $"
 FERRET_MEMORY = "25.6"
-SESSION_DATE = "15-Feb-17"
-SESSION_TIME = "11:27"
-SESSION_PID = "9470"
-DELTA_CPU = "0.006999"
-CLOCK_SECS = "7.98"
-CURRENT_DATE = "15-Feb-17"
-CURRENT_TIME = "11:27:28"
+SESSION_DATE = "12-Jul-17"
+SESSION_TIME = "09:51"
+SESSION_PID = "4428"
+DELTA_CPU = "0.018997"
+CLOCK_SECS = "13.927"
+CURRENT_DATE = "12-Jul-17"
+CURRENT_TIME = "09:51:33"
 N_OPEN_DSETS = "0"
 PROGRAM_NAME = "Ferret"
+PEAK_MEMORY = "0"
+SPAWN_OK = "1"
+SPAWN_STATUS = "0"
 S1 = "hello"
 S2 = ""hello""
 S3 = "hello and goodbye"
@@ -10461,9 +10515,11 @@ NUM = "3"
 T$DOLLAR = "hi"
 T_HELLO = "hi"
 show symbol s*
-SESSION_DATE = "15-Feb-17"
-SESSION_TIME = "11:27"
-SESSION_PID = "9470"
+SESSION_DATE = "12-Jul-17"
+SESSION_TIME = "09:51"
+SESSION_PID = "4428"
+SPAWN_OK = "1"
+SPAWN_STATUS = "0"
 S1 = "hello"
 S2 = ""hello""
 S3 = "hello and goodbye"
@@ -10473,15 +10529,19 @@ S2 = ""hello""
 ! exercise CANCEL SYMBOL
 cancel symbol s2
 show symbol s*
-SESSION_DATE = "15-Feb-17"
-SESSION_TIME = "11:27"
-SESSION_PID = "9470"
+SESSION_DATE = "12-Jul-17"
+SESSION_TIME = "09:51"
+SESSION_PID = "4428"
+SPAWN_OK = "1"
+SPAWN_STATUS = "0"
 S1 = "hello"
 S3 = "hello and goodbye"
 show symbol S*
-SESSION_DATE = "15-Feb-17"
-SESSION_TIME = "11:27"
-SESSION_PID = "9470"
+SESSION_DATE = "12-Jul-17"
+SESSION_TIME = "09:51"
+SESSION_PID = "4428"
+SPAWN_OK = "1"
+SPAWN_STATUS = "0"
 S1 = "hello"
 S3 = "hello and goodbye"
 cancel symbol s2	! already deleted
@@ -10515,9 +10575,9 @@ Q23456789012345678901234567XXXAAAAA = "6"
 ! show the upper left coordinate limits labels as symbols
 plot/i=1:100/y=10/z=5/set_up SIN(I/6)+Y+Z
 show symbol lab*
-LAB1 = "FERRET (beta/debug) Ver.7.1"
+LAB1 = "FERRET (beta/debug) Ver.7.2"
 LAB2 = "NOAA/PMEL TMAP"
-LAB3 = "15-FEB-2017 11:27:28"
+LAB3 = "12-JUL-2017 09:51:33"
 LABX = "X"
 LAB4 = "Y : 10"
 LABNUM_Y = "4"
@@ -10612,24 +10672,29 @@ show symbols/all
 PPL$XPIXEL = "406"
 PPL$YPIXEL = "406"
 BYTEORDER = "LITTLE"
-FERRET_VERSION = "7.1"
-FERRET_PLATFORM = "Linux 2.6.32-642.13.1.el6.x86_64 64-bit"
+FERRET_VERSION = "7.2"
+FERRET_PLATFORM = "Linux 2.6.32-696.3.2.el6.x86_64 64-bit"
 FERRET_PRECISION = "double"
-NETCDF_VERSION = "4.4.0 of Feb  4 2016 19:21:00 $"
+NETCDF_VERSION = "4.4.1.1 of Jun 26 2017 08:42:09 $"
 FERRET_MEMORY = "25.6"
-SESSION_DATE = "15-Feb-17"
-SESSION_TIME = "11:27"
-SESSION_PID = "9470"
-DELTA_CPU = "0.013998"
-CLOCK_SECS = "7.994"
-CURRENT_DATE = "15-Feb-17"
-CURRENT_TIME = "11:27:28"
+SESSION_DATE = "12-Jul-17"
+SESSION_TIME = "09:51"
+SESSION_PID = "4428"
+DELTA_CPU = "0.040993"
+CLOCK_SECS = "13.968"
+CURRENT_DATE = "12-Jul-17"
+CURRENT_TIME = "09:51:34"
 N_OPEN_DSETS = "0"
 PROGRAM_NAME = "Ferret"
+PEAK_MEMORY = "201"
+SPAWN_OK = "1"
+SPAWN_STATUS = "0"
  
  
-GO bn_reset
+GO bn_reset bn_comma_delimited
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_comma_delimited
 GO bn_comma_delimited	! added 10/2/95
 ! bn420_comma_delimited
  
@@ -12234,8 +12299,8 @@ LIST/FORMAT=comma/precision=9 randu(i)*temp*1e7
              DEPTH (m): 15
              TIME     : 10-SEP-1982 20:00
    135.5W   ,134.5W   
-1.5S,  166750845.,  202088412.
-1.167S,  166162833.,  201366579.
+1.5S,166750845.,202088412.
+1.167S,166162833.,201366579.
  
 ! small number formatting test
 set region/i=95:96/j=41:42/k=2/l=5
@@ -12289,8 +12354,10 @@ LIST/FORMAT=comma/precision=5 10*j+i
 2,21,22,23,24,25
 3,31,32,33,34,35
  
-GO bn_reset
+GO bn_reset bn_dynamic_grids
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_dynamic_grids
 GO bn_dynamic_grids	! added 9/27/95, V420 ->V491 4/98
 ! bn420_dynamic_grids
 ! 9/95-9/11/95 - test the creation, destruction, and use of dynamic grids
@@ -12475,6 +12542,11 @@ let save_mem = ($ferret_memory)
 set mem/siz = 10
  
 list temp[gz=z999999,z=5:15]	! err during regrid
+    To fulfill this request would exceed the current SET MEMORY/SIZE= limit of 10 megawords
+    At the moment that the memory limit was reached
+    memory was committed as follows:
+        - to objects used in computation: : 50 (5.E-04%)
+    The size of the requested object was: : 24999975 (250%)
 show grid/dynamic
 Dynamic grids:
     GRID (G004)                          use count:   1
@@ -12564,6 +12636,7 @@ Dynamic grids:
  
 list temp[gx=w]
              VARIABLE : TEMPERATURE (deg. C)
+                        regrid: TEMP
              FILENAME : gtsa056_1.cdf
              SUBSET   : 5 by 5 points (LONGITUDE-LATITUDE)
              DEPTH (m): 5
@@ -13004,7 +13077,7 @@ show grid/x
  Last successful data access was on grid (G004)
     GRID (G004)
  name       axis              # pts   start                end                 subset
- (AX009)   X                    5 i   1                    6561                4 pts
+ (AX009)   X                    5 i   1                    6561                5 pts
  normal    Y
  normal    Z
  normal    T
@@ -13957,8 +14030,10 @@ set axis/modulo psxt
  
 set mode/last diag
  
-GO bn_reset
+GO bn_reset bn_cdf
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_cdf
 GO bn_cdf
 ! bn320_cdf
 ! benchmark to test netCDF input and output
@@ -14539,7 +14614,7 @@ show data/full
                on grid G016_NYZ with -1.E+34 for missing data
              X=130E:140E  
  JK       J1+K1                            ...       5:10      5:15      ...
-               on grid G008_NXT with -1.E+34 for missing data
+               on grid G007_NXT with -1.E+34 for missing data
              Y=21.11S:12.52S  Z=40:190  
  IJK      TEMP[L=@AVE]                    70:72      1:100     1:27      ...
        (T=15-MAR-1983 09:30:15-MAR-1983 11:30)
@@ -14850,8 +14925,10 @@ list/x=180 fcn_rev_sub
  0    / 11:  0.000000
  1S   / 10:  0.316573
  
-GO bn_reset
+GO bn_reset bn_regrid_transforms
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_regrid_transforms
 GO bn_regrid_transforms
 ! bn500_regrid_transforms
 ! benchmark to test regridding transformations and syntax
@@ -14882,14 +14959,14 @@ set mode diag
 define axis/t=15-jan-1982:15-mar-1984:120/unit=hour tax5day
 define axis/x=120e:60w:10/unit=degrees xax10
 define grid/like=u/t=tax5day g5day
- getgrid EX#1     C:  6 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  6 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU1          PSXU      PSYU      PSZT      TIME1
 define grid/like=u/x=xax10/z=w/t=tax5day g5_10
  dealloc  dynamic grid PS3DU1          PSXU      PSYU      PSZT      TIME1
- getgrid EX#1     C:  7 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  7 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU1          PSXU      PSYU      PSZT      TIME1
  dealloc  dynamic grid PS3DU1          PSXU      PSYU      PSZT      TIME1
- getgrid EX#1     C:  8 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  8 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DW11         PSXT1     PSYT      PSZW      TIME1
  
 set reg/x=130w:125w/y=0:1.5/z=0:15/t=21-JAN-1982:24-jan-1982
@@ -14901,109 +14978,95 @@ use gtsa056_1    	!kob 4/99
 set mode ignore
 load temp[g=@lin]    ! no target grid specified
  dealloc  dynamic grid PS3DW11         PSXT1     PSYT      PSZW      TIME1
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DT2          PSXT1     PSYT      PSZT      TIME2
- eval    EX#1     C:  4 dset:   1 I:  101  105  J:   45   50  K:    1    2  L:    3    4
- reading TEMP     M: 57 dset:   1 I:  101  105  J:   45   50  K:    1    2  L:    3    4
+ eval    EX#1     C:  4 dset:   1 I:    101    105  J:   45   50  K:    1    2  L:      3      4
+ reading TEMP     M:120 dset:   1 I:    101    105  J:   45   50  K:    1    2  L:      3      4
 load temp[gx=@ave]   ! no target grid specified
  dealloc  dynamic grid PS3DT2          PSXT1     PSYT      PSZT      TIME2
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DT2          PSXT1     PSYT      PSZT      TIME2
- eval    EX#1     C:  4 dset:   1 I:  101  105  J:   45   50  K:    1    2  L:    3    4
- reading TEMP     M: 55 dset:   1 I:  101  105  J:   45   50  K:    1    2  L:    3    4
+ eval    EX#1     C:  4 dset:   1 I:    101    105  J:   45   50  K:    1    2  L:      3      4
+ found   TEMP     M:120 dset:   1 I:    101    105  J:   45   50  K:    1    2  L:      3      4
 load temp[g=u,g=w]   ! more than 1 target grid
  dealloc  dynamic grid PS3DT2          PSXT1     PSYT      PSZT      TIME2
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
 load temp[g=x]       ! g=user-or-pseudo-var not allowed
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
 set mode/last ignore
  
 ! valid syntax tests
 load temp
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DT2          PSXT1     PSYT      PSZT      TIME2
- eval    EX#1     C:  4 dset:   1 I:  101  105  J:   45   50  K:    1    2  L:    3    4
- reading TEMP     M: 45 dset:   1 I:  101  105  J:   45   50  K:    1    2  L:    3    4
+ eval    EX#1     C:  4 dset:   1 I:    101    105  J:   45   50  K:    1    2  L:      3      4
+ found   TEMP     M:120 dset:   1 I:    101    105  J:   45   50  K:    1    2  L:      3      4
 load temp[g=u]
  dealloc  dynamic grid PS3DT2          PSXT1     PSYT      PSZT      TIME2
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- eval    EX#1     C:  4 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    3    4
+ eval    EX#1     C:  4 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      3      4
  strip regrid on X: TEMP --> PS3DU2           @LIN
- reading TEMP     M: 43 dset:   1 I:  100  106  J:   45   50  K:    1    2  L:    3    4
+ reading TEMP     M:116 dset:   1 I:    100    106  J:   45   50  K:    1    2  L:      3      4
  regrid XY
- regrid  TEMP     M: 40 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    3    4
+ regrid  TEMP     M:114 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      3      4
 load temp[g=u at lin]
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- eval    EX#1     C:  4 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    3    4
- strip regrid on X: TEMP --> PS3DU2           @LIN
- reading TEMP     M: 36 dset:   1 I:  100  106  J:   45   50  K:    1    2  L:    3    4
- regrid XY
- regrid  TEMP     M: 34 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    3    4
+ eval    EX#1     C:  4 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      3      4
+ found   TEMP     M:114 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      3      4
 load temp[g=u at ave,gy=@asn]
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- eval    EX#1     C:  4 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    3    4
+ eval    EX#1     C:  4 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      3      4
  strip regrid on X: TEMP --> PS3DU2           @AVE
  strip regrid on Y: TEMP --> XNTERMED         @ASN
- reading TEMP     M: 33 dset:   1 I:  100  106  J:   45   49  K:    1    2  L:    3    4
- regrid  TEMP     M: 31 dset:   1 I:  100  106  J:   45   49  K:    1    2  L:    3    4
- regrid  TEMP     M: 30 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    3    4
- -DELETE TEMP     M: 31 dset:   1 I:  100  106  J:   45   49  K:    1    2  L:    3    4  M: -999 -999  N: -999 -999
+ found   TEMP     M:116 dset:   1 I:    100    106  J:   45   50  K:    1    2  L:      3      4
+ regrid  TEMP     M:113 dset:   1 I:    100    106  J:   45   49  K:    1    2  L:      3      4
+ regrid  TEMP     M:112 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      3      4
+ -DELETE TEMP     M:113 dset:   1 I:    100    106  J:   45   49  K:    1    2  L:      3      4  M: -999 -999  N: -999 -999
 load temp[g=u at lin,gy=@asn]
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- eval    EX#1     C:  4 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    3    4
+ eval    EX#1     C:  4 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      3      4
  strip regrid on X: TEMP --> PS3DU2           @LIN
  strip regrid on Y: TEMP --> XNTERMED         @ASN
- reading TEMP     M: 31 dset:   1 I:  100  106  J:   45   49  K:    1    2  L:    3    4
- regrid  TEMP     M: 28 dset:   1 I:  100  106  J:   45   49  K:    1    2  L:    3    4
- regrid  TEMP     M: 25 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    3    4
- -DELETE TEMP     M: 28 dset:   1 I:  100  106  J:   45   49  K:    1    2  L:    3    4  M: -999 -999  N: -999 -999
+ found   TEMP     M:116 dset:   1 I:    100    106  J:   45   50  K:    1    2  L:      3      4
+ regrid  TEMP     M:113 dset:   1 I:    100    106  J:   45   49  K:    1    2  L:      3      4
+ regrid  TEMP     M:108 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      3      4
+ -DELETE TEMP     M:113 dset:   1 I:    100    106  J:   45   49  K:    1    2  L:      3      4  M: -999 -999  N: -999 -999
 load temp[g=u,gx=@ave,gy=@asn]
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- eval    EX#1     C:  4 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    3    4
- strip regrid on X: TEMP --> PS3DU2           @AVE
- strip regrid on Y: TEMP --> XNTERMED         @ASN
- reading TEMP     M: 28 dset:   1 I:  100  106  J:   45   49  K:    1    2  L:    3    4
- regrid  TEMP     M: 22 dset:   1 I:  100  106  J:   45   49  K:    1    2  L:    3    4
- regrid  TEMP     M: 21 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    3    4
- -DELETE TEMP     M: 22 dset:   1 I:  100  106  J:   45   49  K:    1    2  L:    3    4  M: -999 -999  N: -999 -999
+ eval    EX#1     C:  4 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      3      4
+ found   TEMP     M:112 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      3      4
 load temp[gx=u]  		! changed V4.20 --> implicit regrid
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G009)          PSXU      PSYT      PSZT      TIME2
  dealloc  dynamic grid (G009)          PSXU      PSYT      PSZT      TIME2
  allocate dynamic grid (G009)          PSXU      PSYT      PSZT      TIME2
- eval    EX#1     C:  4 dset:   1 I:  100  105  J:   45   50  K:    1    2  L:    3    4
+ eval    EX#1     C:  4 dset:   1 I:    100    105  J:   45   50  K:    1    2  L:      3      4
  allocate dynamic grid (G009)          PSXU      PSYT      PSZT      TIME2
  strip regrid on X: TEMP --> (G009)           @LIN
- reading TEMP     M: 22 dset:   1 I:  100  106  J:   45   50  K:    1    2  L:    3    4
- regrid  TEMP     M: 16 dset:   1 I:  100  105  J:   45   50  K:    1    2  L:    3    4
+ found   TEMP     M:116 dset:   1 I:    100    106  J:   45   50  K:    1    2  L:      3      4
+ regrid  TEMP     M:113 dset:   1 I:    100    105  J:   45   50  K:    1    2  L:      3      4
  dealloc  dynamic grid (G009)          PSXU      PSYT      PSZT      TIME2
 stat temp[g=u] - temp[g=u at ave,gx=u at lin,gy=u at lin,gz=u at lin,gt=u at lin]  ! == 0
  dealloc  dynamic grid (G009)          PSXU      PSYT      PSZT      TIME2
- -DELETE TEMP     M: 16 dset:   1 I:  100  105  J:   45   50  K:    1    2  L:    3    4
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ -DELETE TEMP     M:113 dset:   1 I:    100    105  J:   45   50  K:    1    2  L:      3      4
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- eval    EX#1     C:  4 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    3    4
- strip regrid on X: TEMP --> PS3DU2           @LIN
- reading TEMP     M: 16 dset:   1 I:  100  106  J:   45   50  K:    1    2  L:    3    4
- regrid XY
- regrid  TEMP     M: 14 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    3    4
+ eval    EX#1     C:  4 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      3      4
+ found   TEMP     M:114 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      3      4
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- strip regrid on X: TEMP --> PS3DU2           @LIN
- reading TEMP     M: 12 dset:   1 I:  100  106  J:   45   50  K:    1    2  L:    3    4
- regrid XY
- regrid  TEMP     M: 11 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    3    4
+ found   TEMP     M:114 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      3      4
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
  
              TEMP[G=U] - TEMP[G=U at AVE,GX=U at LIN,GY=U at LIN,GZ=U at LIN,GT=U at LIN]
@@ -15022,23 +15085,18 @@ stat temp[g=u] - temp[g=u at ave,gx=u at lin,gy=u at lin,gz=u at lin,gt=u at lin]  ! == 0
  Mean    value: 0 (unweighted average)
  Standard deviation: 0
 stat temp[g=u,gx=@ave] - temp[gx=@ave,g=u]    ! == 0
- -DELETE EX#1     M: 10 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    3    4
+ -DELETE EX#1     M:113 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      3      4
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- eval    EX#1     C:  4 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    3    4
+ eval    EX#1     C:  4 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      3      4
  strip regrid on X: TEMP --> PS3DU2           @AVE
  strip regrid on Y: TEMP --> XNTERMED         @LIN
- reading TEMP     M: 10 dset:   1 I:  100  106  J:   45   50  K:    1    2  L:    3    4
- regrid  TEMP     M:  7 dset:   1 I:  100  106  J:   45   49  K:    1    2  L:    3    4
- regrid  TEMP     M: 53 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    3    4
- -DELETE TEMP     M:  7 dset:   1 I:  100  106  J:   45   49  K:    1    2  L:    3    4  M: -999 -999  N: -999 -999
- strip regrid on X: TEMP --> PS3DU2           @AVE
- strip regrid on Y: TEMP --> XNTERMED         @LIN
- reading TEMP     M:  7 dset:   1 I:  100  106  J:   45   50  K:    1    2  L:    3    4
- regrid  TEMP     M: 27 dset:   1 I:  100  106  J:   45   49  K:    1    2  L:    3    4
- regrid  TEMP     M: 24 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    3    4
- -DELETE TEMP     M: 27 dset:   1 I:  100  106  J:   45   49  K:    1    2  L:    3    4  M: -999 -999  N: -999 -999
+ found   TEMP     M:116 dset:   1 I:    100    106  J:   45   50  K:    1    2  L:      3      4
+ regrid  TEMP     M:113 dset:   1 I:    100    106  J:   45   49  K:    1    2  L:      3      4
+ regrid  TEMP     M:107 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      3      4
+ -DELETE TEMP     M:113 dset:   1 I:    100    106  J:   45   49  K:    1    2  L:      3      4  M: -999 -999  N: -999 -999
+ found   TEMP     M:107 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      3      4
  
              TEMP[G=U,GX=@AVE] - TEMP[GX=@AVE,G=U]
              LONGITUDE: 130W to 125W
@@ -15058,15 +15116,15 @@ stat temp[g=u,gx=@ave] - temp[gx=@ave,g=u]    ! == 0
  
 ! basic regrid tests
 LIST temp[g=u at ave]
- -DELETE EX#1     M: 27 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    3    4
+ -DELETE EX#1     M:113 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      3      4
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- eval    EX#1     C:  4 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    3    4
+ eval    EX#1     C:  4 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      3      4
  strip regrid on X: TEMP --> PS3DU2           @AAV
- reading TEMP     M: 27 dset:   1 I:  100  106  J:   45   50  K:    1    2  L:    3    4
+ found   TEMP     M:116 dset:   1 I:    100    106  J:   45   50  K:    1    2  L:      3      4
  regrid XY
- regrid  TEMP     M: 49 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    3    4
+ regrid  TEMP     M:113 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      3      4
              VARIABLE : TEMPERATURE (deg. C)
                         regrid: U on X at AAV, on Y at AAV
              FILENAME : gtsa056_1.cdf
@@ -15101,18 +15159,13 @@ LIST temp[g=u at ave]
  0     / 45:  23.5391  23.4697  23.4454  23.5341  23.7437  23.9152
 LIST temp[g=u,gx=u at ave]	! V4.20 mod
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- eval    EX#1     C:  4 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    3    4
+ eval    EX#1     C:  4 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      3      4
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- strip regrid on X: TEMP --> PS3DU2           @AVE
- strip regrid on Y: TEMP --> XNTERMED         @LIN
- reading TEMP     M: 18 dset:   1 I:  100  106  J:   45   50  K:    1    2  L:    3    4
- regrid  TEMP     M: 48 dset:   1 I:  100  106  J:   45   49  K:    1    2  L:    3    4
- regrid  TEMP     M: 23 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    3    4
- -DELETE TEMP     M: 48 dset:   1 I:  100  106  J:   45   49  K:    1    2  L:    3    4  M: -999 -999  N: -999 -999
+ found   TEMP     M:107 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      3      4
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
              VARIABLE : TEMPERATURE (deg. C)
                         regrid: U on X at AVE, on Y at LIN
@@ -15148,18 +15201,18 @@ LIST temp[g=u,gx=u at ave]	! V4.20 mod
  0     / 45:  23.5391  23.4697  23.4454  23.5341  23.7437  23.9152
 LIST temp[g=u,gy=u at ave]	! V4.20 mod
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- eval    EX#1     C:  4 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    3    4
+ eval    EX#1     C:  4 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      3      4
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
  strip regrid on X: TEMP --> PS3DU2           @LIN
  strip regrid on Y: TEMP --> XNTERMED         @AVE
- reading TEMP     M: 48 dset:   1 I:  100  106  J:   45   50  K:    1    2  L:    3    4
- regrid  TEMP     M:  6 dset:   1 I:  100  106  J:   45   49  K:    1    2  L:    3    4
- regrid  TEMP     M: 39 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    3    4
- -DELETE TEMP     M:  6 dset:   1 I:  100  106  J:   45   49  K:    1    2  L:    3    4  M: -999 -999  N: -999 -999
+ found   TEMP     M:116 dset:   1 I:    100    106  J:   45   50  K:    1    2  L:      3      4
+ regrid  TEMP     M: 90 dset:   1 I:    100    106  J:   45   49  K:    1    2  L:      3      4
+ regrid  TEMP     M: 85 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      3      4
+ -DELETE TEMP     M: 90 dset:   1 I:    100    106  J:   45   49  K:    1    2  L:      3      4  M: -999 -999  N: -999 -999
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
              VARIABLE : TEMPERATURE (deg. C)
                         regrid: U on X at LIN, on Y at AVE
@@ -15195,16 +15248,13 @@ LIST temp[g=u,gy=u at ave]	! V4.20 mod
  0     / 45:  23.5391  23.4697  23.4454  23.5341  23.7437  23.9152
 LIST temp[g=u,gz=u at ave]	! V4.20 mod
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- eval    EX#1     C:  4 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    3    4
+ eval    EX#1     C:  4 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      3      4
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- strip regrid on X: TEMP --> PS3DU2           @LIN
- reading TEMP     M:  6 dset:   1 I:  100  106  J:   45   50  K:    1    2  L:    3    4
- regrid XY
- regrid  TEMP     M: 15 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    3    4
+ found   TEMP     M:114 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      3      4
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
              VARIABLE : TEMPERATURE (deg. C)
                         regrid: U
@@ -15240,16 +15290,13 @@ LIST temp[g=u,gz=u at ave]	! V4.20 mod
  0     / 45:  23.5391  23.4697  23.4454  23.5341  23.7437  23.9152
 LIST temp[g=u,gt=u at ave]	! V4.20 mod, etc --> many more similar syntax chgs
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- eval    EX#1     C:  4 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    3    4
+ eval    EX#1     C:  4 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      3      4
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- strip regrid on X: TEMP --> PS3DU2           @LIN
- reading TEMP     M: 37 dset:   1 I:  100  106  J:   45   50  K:    1    2  L:    3    4
- regrid XY
- regrid  TEMP     M: 32 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    3    4
+ found   TEMP     M:114 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      3      4
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
              VARIABLE : TEMPERATURE (deg. C)
                         regrid: U
@@ -15286,13 +15333,10 @@ LIST temp[g=u,gt=u at ave]	! V4.20 mod, etc --> many more similar syntax chgs
  
 LIST temp[g=u]
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- eval    EX#1     C:  4 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    3    4
- strip regrid on X: TEMP --> PS3DU2           @LIN
- reading TEMP     M: 19 dset:   1 I:  100  106  J:   45   50  K:    1    2  L:    3    4
- regrid XY
- regrid  TEMP     M: 13 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    3    4
+ eval    EX#1     C:  4 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      3      4
+ found   TEMP     M:114 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      3      4
              VARIABLE : TEMPERATURE (deg. C)
                         regrid: U
              FILENAME : gtsa056_1.cdf
@@ -15327,15 +15371,15 @@ LIST temp[g=u]
  0     / 45:  23.5391  23.4697  23.4454  23.5341  23.7437  23.9152
 LIST temp[g=u at asn]
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- eval    EX#1     C:  4 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    3    4
+ eval    EX#1     C:  4 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      3      4
  strip regrid on X: TEMP --> PS3DU2           @ASN
  strip regrid on Y: TEMP --> XNTERMED         @ASN
- reading TEMP     M:  3 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    3    4
- regrid  TEMP     M:  1 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    3    4
- regrid  TEMP     M: 26 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    3    4
- -DELETE TEMP     M:  1 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    3    4  M: -999 -999  N: -999 -999
+ found   TEMP     M:116 dset:   1 I:    100    106  J:   45   50  K:    1    2  L:      3      4
+ regrid  TEMP     M: 90 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      3      4
+ regrid  TEMP     M: 77 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      3      4
+ -DELETE TEMP     M: 90 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      3      4  M: -999 -999  N: -999 -999
              VARIABLE : TEMPERATURE (deg. C)
                         regrid: U on X at ASN, on Y at ASN
              FILENAME : gtsa056_1.cdf
@@ -15370,18 +15414,18 @@ LIST temp[g=u at asn]
  0     / 45:  23.6210  23.5135  23.4199  23.3768  23.4767  23.6893
 LIST temp[g=u,gx=u at asn]
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- eval    EX#1     C:  4 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    3    4
+ eval    EX#1     C:  4 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      3      4
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
  strip regrid on X: TEMP --> PS3DU2           @ASN
  strip regrid on Y: TEMP --> XNTERMED         @LIN
- reading TEMP     M:  1 dset:   1 I:  100  105  J:   45   50  K:    1    2  L:    3    4
- regrid  TEMP     M: 52 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    3    4
- regrid  TEMP     M: 29 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    3    4
- -DELETE TEMP     M: 52 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    3    4  M: -999 -999  N: -999 -999
+ found   TEMP     M:116 dset:   1 I:    100    106  J:   45   50  K:    1    2  L:      3      4
+ regrid  TEMP     M: 90 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      3      4
+ regrid  TEMP     M: 74 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      3      4
+ -DELETE TEMP     M: 90 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      3      4  M: -999 -999  N: -999 -999
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
              VARIABLE : TEMPERATURE (deg. C)
                         regrid: U on X at ASN, on Y at LIN
@@ -15417,18 +15461,13 @@ LIST temp[g=u,gx=u at asn]
  0     / 45:  23.5798  23.4985  23.4409  23.4500  23.6182  23.8692
 LIST temp[g=u,gy=u at asn]
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- eval    EX#1     C:  4 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    3    4
+ eval    EX#1     C:  4 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      3      4
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- strip regrid on X: TEMP --> PS3DU2           @LIN
- strip regrid on Y: TEMP --> XNTERMED         @ASN
- reading TEMP     M: 52 dset:   1 I:  100  106  J:   45   49  K:    1    2  L:    3    4
- regrid  TEMP     M: 20 dset:   1 I:  100  106  J:   45   49  K:    1    2  L:    3    4
- regrid  TEMP     M: 56 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    3    4
- -DELETE TEMP     M: 20 dset:   1 I:  100  106  J:   45   49  K:    1    2  L:    3    4  M: -999 -999  N: -999 -999
+ found   TEMP     M:108 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      3      4
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
              VARIABLE : TEMPERATURE (deg. C)
                         regrid: U on X at LIN, on Y at ASN
@@ -15464,16 +15503,13 @@ LIST temp[g=u,gy=u at asn]
  0     / 45:  23.5673  23.4667  23.3983  23.4267  23.5830  23.7431
 LIST temp[g=u,gz=u at asn]
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- eval    EX#1     C:  4 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    3    4
+ eval    EX#1     C:  4 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      3      4
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- strip regrid on X: TEMP --> PS3DU2           @LIN
- reading TEMP     M: 20 dset:   1 I:  100  106  J:   45   50  K:    1    2  L:    3    4
- regrid XY
- regrid  TEMP     M: 51 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    3    4
+ found   TEMP     M:114 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      3      4
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
              VARIABLE : TEMPERATURE (deg. C)
                         regrid: U
@@ -15509,16 +15545,13 @@ LIST temp[g=u,gz=u at asn]
  0     / 45:  23.5391  23.4697  23.4454  23.5341  23.7437  23.9152
 LIST temp[g=u,gt=u at asn]
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- eval    EX#1     C:  4 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    3    4
+ eval    EX#1     C:  4 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      3      4
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- strip regrid on X: TEMP --> PS3DU2           @LIN
- reading TEMP     M: 44 dset:   1 I:  100  106  J:   45   50  K:    1    2  L:    3    4
- regrid XY
- regrid  TEMP     M: 42 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    3    4
+ found   TEMP     M:114 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      3      4
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
              VARIABLE : TEMPERATURE (deg. C)
                         regrid: U
@@ -15556,15 +15589,15 @@ LIST temp[g=u,gt=u at asn]
 ! Z and T axes different
 LIST temp[g=g5day at ave]
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    2    3
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      2      3
  strip regrid on X: TEMP --> G5DAY            @AAV
  strip regrid on T: TEMP --> XNTERMED         @AVE
- reading TEMP     M: 41 dset:   1 I:  100  106  J:   45   50  K:    1    2  L:    2    5
- regrid  TEMP     M: 38 dset:   1 I:  100  106  J:   45   50  K:    1    2  L:    2    3
+ reading TEMP     M: 90 dset:   1 I:    100    106  J:   45   50  K:    1    2  L:      2      5
+ regrid  TEMP     M: 58 dset:   1 I:    100    106  J:   45   50  K:    1    2  L:      2      3
  regrid XY
- regrid  TEMP     M: 35 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    2    3
- -DELETE TEMP     M: 38 dset:   1 I:  100  106  J:   45   50  K:    1    2  L:    2    3  M: -999 -999  N: -999 -999
+ regrid  TEMP     M: 15 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      2      3
+ -DELETE TEMP     M: 58 dset:   1 I:    100    106  J:   45   50  K:    1    2  L:      2      3  M: -999 -999  N: -999 -999
              VARIABLE : TEMPERATURE (deg. C)
                         regrid: G5DAY on X at AAV, on Y at AAV, on T at AVE
              FILENAME : gtsa056_1.cdf
@@ -15599,18 +15632,18 @@ LIST temp[g=g5day at ave]
  0     / 45:  23.5376  23.4796  23.4768  23.5746  23.7580  23.8929
 LIST temp[g=g5day,gx=g5day at ave]
  dealloc  dynamic grid G5DAY           PSXU      PSYU      PSZT      TAX5DAY
- -DELETE TEMP     M: 35 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    2    3
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    2    3
+ -DELETE TEMP     M: 15 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      2      3
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      2      3
  strip regrid on X: TEMP --> G5DAY            @AVE
  strip regrid on Y: TEMP --> XNTERMED         @LIN
  strip regrid on T: TEMP --> YNTERMED         @LIN
- reading TEMP     M: 35 dset:   1 I:  100  106  J:   45   50  K:    1    2  L:    2    5
- regrid  TEMP     M: 38 dset:   1 I:  100  106  J:   45   50  K:    1    2  L:    2    3
- regrid  TEMP     M:  9 dset:   1 I:  100  106  J:   45   49  K:    1    2  L:    2    3
- -DELETE TEMP     M: 38 dset:   1 I:  100  106  J:   45   50  K:    1    2  L:    2    3  M: -999 -999  N: -999 -999
- regrid  TEMP     M: 38 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    2    3
- -DELETE TEMP     M:  9 dset:   1 I:  100  106  J:   45   49  K:    1    2  L:    2    3  M: -999 -999  N: -999 -999
+ found   TEMP     M: 90 dset:   1 I:    100    106  J:   45   50  K:    1    2  L:      2      5
+ regrid  TEMP     M: 15 dset:   1 I:    100    106  J:   45   50  K:    1    2  L:      2      3
+ regrid  TEMP     M: 58 dset:   1 I:    100    106  J:   45   49  K:    1    2  L:      2      3
+ -DELETE TEMP     M: 15 dset:   1 I:    100    106  J:   45   50  K:    1    2  L:      2      3  M: -999 -999  N: -999 -999
+ regrid  TEMP     M: 15 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      2      3
+ -DELETE TEMP     M: 58 dset:   1 I:    100    106  J:   45   49  K:    1    2  L:      2      3  M: -999 -999  N: -999 -999
              VARIABLE : TEMPERATURE (deg. C)
                         regrid: G5DAY on X at AVE, on Y at LIN, on T at LIN
              FILENAME : gtsa056_1.cdf
@@ -15645,17 +15678,17 @@ LIST temp[g=g5day,gx=g5day at ave]
  0     / 45:  23.5390  23.4739  23.4601  23.5581  23.7626  23.9173
 LIST temp[g=g5day,gy=g5day at ave]
  dealloc  dynamic grid G5DAY           PSXU      PSYU      PSZT      TAX5DAY
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    2    3
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      2      3
  strip regrid on X: TEMP --> G5DAY            @LIN
  strip regrid on Y: TEMP --> XNTERMED         @AVE
  strip regrid on T: TEMP --> YNTERMED         @LIN
- reading TEMP     M:  9 dset:   1 I:  100  106  J:   45   50  K:    1    2  L:    2    5
- regrid  TEMP     M:  8 dset:   1 I:  100  106  J:   45   50  K:    1    2  L:    2    3
- regrid  TEMP     M:  5 dset:   1 I:  100  106  J:   45   49  K:    1    2  L:    2    3
- -DELETE TEMP     M:  8 dset:   1 I:  100  106  J:   45   50  K:    1    2  L:    2    3  M: -999 -999  N: -999 -999
- regrid  TEMP     M:  8 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    2    3
- -DELETE TEMP     M:  5 dset:   1 I:  100  106  J:   45   49  K:    1    2  L:    2    3  M: -999 -999  N: -999 -999
+ found   TEMP     M: 90 dset:   1 I:    100    106  J:   45   50  K:    1    2  L:      2      5
+ regrid  TEMP     M: 58 dset:   1 I:    100    106  J:   45   50  K:    1    2  L:      2      3
+ regrid  TEMP     M:110 dset:   1 I:    100    106  J:   45   49  K:    1    2  L:      2      3
+ -DELETE TEMP     M: 58 dset:   1 I:    100    106  J:   45   50  K:    1    2  L:      2      3  M: -999 -999  N: -999 -999
+ regrid  TEMP     M: 58 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      2      3
+ -DELETE TEMP     M:110 dset:   1 I:    100    106  J:   45   49  K:    1    2  L:      2      3  M: -999 -999  N: -999 -999
              VARIABLE : TEMPERATURE (deg. C)
                         regrid: G5DAY on X at LIN, on Y at AVE, on T at LIN
              FILENAME : gtsa056_1.cdf
@@ -15690,15 +15723,15 @@ LIST temp[g=g5day,gy=g5day at ave]
  0     / 45:  23.5390  23.4739  23.4601  23.5581  23.7626  23.9173
 LIST temp[g=g5day,gz=g5day at ave]
  dealloc  dynamic grid G5DAY           PSXU      PSYU      PSZT      TAX5DAY
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    2    3
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      2      3
  strip regrid on X: TEMP --> G5DAY            @LIN
  strip regrid on T: TEMP --> XNTERMED         @LIN
- reading TEMP     M:  5 dset:   1 I:  100  106  J:   45   50  K:    1    2  L:    2    5
- regrid  TEMP     M:  2 dset:   1 I:  100  106  J:   45   50  K:    1    2  L:    2    3
+ found   TEMP     M: 90 dset:   1 I:    100    106  J:   45   50  K:    1    2  L:      2      5
+ regrid  TEMP     M:110 dset:   1 I:    100    106  J:   45   50  K:    1    2  L:      2      3
  regrid XY
- regrid  TEMP     M: 47 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    2    3
- -DELETE TEMP     M:  2 dset:   1 I:  100  106  J:   45   50  K:    1    2  L:    2    3  M: -999 -999  N: -999 -999
+ regrid  TEMP     M: 41 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      2      3
+ -DELETE TEMP     M:110 dset:   1 I:    100    106  J:   45   50  K:    1    2  L:      2      3  M: -999 -999  N: -999 -999
              VARIABLE : TEMPERATURE (deg. C)
                         regrid: G5DAY
              FILENAME : gtsa056_1.cdf
@@ -15733,15 +15766,15 @@ LIST temp[g=g5day,gz=g5day at ave]
  0     / 45:  23.5390  23.4739  23.4601  23.5581  23.7626  23.9173
 LIST temp[g=g5day,gt=g5day at ave]
  dealloc  dynamic grid G5DAY           PSXU      PSYU      PSZT      TAX5DAY
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    2    3
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      2      3
  strip regrid on X: TEMP --> G5DAY            @LIN
  strip regrid on T: TEMP --> XNTERMED         @AVE
- reading TEMP     M:  2 dset:   1 I:  100  106  J:   45   50  K:    1    2  L:    2    5
- regrid  TEMP     M: 17 dset:   1 I:  100  106  J:   45   50  K:    1    2  L:    2    3
+ found   TEMP     M: 90 dset:   1 I:    100    106  J:   45   50  K:    1    2  L:      2      5
+ regrid  TEMP     M:110 dset:   1 I:    100    106  J:   45   50  K:    1    2  L:      2      3
  regrid XY
- regrid  TEMP     M:  4 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    2    3
- -DELETE TEMP     M: 17 dset:   1 I:  100  106  J:   45   50  K:    1    2  L:    2    3  M: -999 -999  N: -999 -999
+ regrid  TEMP     M: 31 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      2      3
+ -DELETE TEMP     M:110 dset:   1 I:    100    106  J:   45   50  K:    1    2  L:      2      3  M: -999 -999  N: -999 -999
              VARIABLE : TEMPERATURE (deg. C)
                         regrid: G5DAY on X at LIN, on Y at LIN, on T at AVE
              FILENAME : gtsa056_1.cdf
@@ -15777,15 +15810,9 @@ LIST temp[g=g5day,gt=g5day at ave]
  
 LIST temp[g=g5day]
  dealloc  dynamic grid G5DAY           PSXU      PSYU      PSZT      TAX5DAY
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    2    3
- strip regrid on X: TEMP --> G5DAY            @LIN
- strip regrid on T: TEMP --> XNTERMED         @LIN
- reading TEMP     M: 17 dset:   1 I:  100  106  J:   45   50  K:    1    2  L:    2    5
- regrid  TEMP     M: 46 dset:   1 I:  100  106  J:   45   50  K:    1    2  L:    2    3
- regrid XY
- regrid  TEMP     M: 50 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    2    3
- -DELETE TEMP     M: 46 dset:   1 I:  100  106  J:   45   50  K:    1    2  L:    2    3  M: -999 -999  N: -999 -999
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      2      3
+ found   TEMP     M: 41 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      2      3
              VARIABLE : TEMPERATURE (deg. C)
                         regrid: G5DAY
              FILENAME : gtsa056_1.cdf
@@ -15820,17 +15847,17 @@ LIST temp[g=g5day]
  0     / 45:  23.5390  23.4739  23.4601  23.5581  23.7626  23.9173
 LIST temp[g=g5day at asn]
  dealloc  dynamic grid G5DAY           PSXU      PSYU      PSZT      TAX5DAY
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    2    3
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      2      3
  strip regrid on X: TEMP --> G5DAY            @ASN
  strip regrid on Y: TEMP --> XNTERMED         @ASN
  strip regrid on T: TEMP --> YNTERMED         @ASN
- reading TEMP     M: 46 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    2    3
- regrid  TEMP     M: 54 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    2    3
- regrid  TEMP     M: 58 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    2    3
- -DELETE TEMP     M: 54 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    2    3  M: -999 -999  N: -999 -999
- regrid  TEMP     M: 54 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    2    3
- -DELETE TEMP     M: 58 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    2    3  M: -999 -999  N: -999 -999
+ found   TEMP     M: 90 dset:   1 I:    100    106  J:   45   50  K:    1    2  L:      2      5
+ regrid  TEMP     M:110 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      2      3
+ regrid  TEMP     M: 98 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      2      3
+ -DELETE TEMP     M:110 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      2      3  M: -999 -999  N: -999 -999
+ regrid  TEMP     M:110 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      2      3
+ -DELETE TEMP     M: 98 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      2      3  M: -999 -999  N: -999 -999
              VARIABLE : TEMPERATURE (deg. C)
                         regrid: G5DAY on X at ASN, on Y at ASN, on T at ASN
              FILENAME : gtsa056_1.cdf
@@ -15865,17 +15892,17 @@ LIST temp[g=g5day at asn]
  0     / 45:  23.6083  23.5263  23.4345  23.3357  23.3000  23.4491
 LIST temp[g=g5day,gx=g5day at asn]
  dealloc  dynamic grid G5DAY           PSXU      PSYU      PSZT      TAX5DAY
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    2    3
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      2      3
  strip regrid on X: TEMP --> G5DAY            @ASN
  strip regrid on Y: TEMP --> XNTERMED         @LIN
  strip regrid on T: TEMP --> YNTERMED         @LIN
- reading TEMP     M: 58 dset:   1 I:  100  105  J:   45   50  K:    1    2  L:    2    5
- regrid  TEMP     M: 59 dset:   1 I:  100  105  J:   45   50  K:    1    2  L:    2    3
- regrid  TEMP     M: 60 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    2    3
- -DELETE TEMP     M: 59 dset:   1 I:  100  105  J:   45   50  K:    1    2  L:    2    3  M: -999 -999  N: -999 -999
- regrid  TEMP     M: 59 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    2    3
- -DELETE TEMP     M: 60 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    2    3  M: -999 -999  N: -999 -999
+ found   TEMP     M: 90 dset:   1 I:    100    106  J:   45   50  K:    1    2  L:      2      5
+ regrid  TEMP     M: 98 dset:   1 I:    100    105  J:   45   50  K:    1    2  L:      2      3
+ regrid  TEMP     M: 94 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      2      3
+ -DELETE TEMP     M: 98 dset:   1 I:    100    105  J:   45   50  K:    1    2  L:      2      3  M: -999 -999  N: -999 -999
+ regrid  TEMP     M: 98 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      2      3
+ -DELETE TEMP     M: 94 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      2      3  M: -999 -999  N: -999 -999
              VARIABLE : TEMPERATURE (deg. C)
                         regrid: G5DAY on X at ASN, on Y at LIN, on T at LIN
              FILENAME : gtsa056_1.cdf
@@ -15910,17 +15937,17 @@ LIST temp[g=g5day,gx=g5day at asn]
  0     / 45:  23.5791  23.4988  23.4489  23.4714  23.6448  23.8804
 LIST temp[g=g5day,gy=g5day at asn]
  dealloc  dynamic grid G5DAY           PSXU      PSYU      PSZT      TAX5DAY
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    2    3
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      2      3
  strip regrid on X: TEMP --> G5DAY            @LIN
  strip regrid on Y: TEMP --> XNTERMED         @ASN
  strip regrid on T: TEMP --> YNTERMED         @LIN
- reading TEMP     M: 60 dset:   1 I:  100  106  J:   45   49  K:    1    2  L:    2    5
- regrid  TEMP     M: 61 dset:   1 I:  100  106  J:   45   49  K:    1    2  L:    2    3
- regrid  TEMP     M: 62 dset:   1 I:  100  106  J:   45   49  K:    1    2  L:    2    3
- -DELETE TEMP     M: 61 dset:   1 I:  100  106  J:   45   49  K:    1    2  L:    2    3  M: -999 -999  N: -999 -999
- regrid  TEMP     M: 61 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    2    3
- -DELETE TEMP     M: 62 dset:   1 I:  100  106  J:   45   49  K:    1    2  L:    2    3  M: -999 -999  N: -999 -999
+ found   TEMP     M: 90 dset:   1 I:    100    106  J:   45   50  K:    1    2  L:      2      5
+ regrid  TEMP     M: 94 dset:   1 I:    100    106  J:   45   49  K:    1    2  L:      2      3
+ regrid  TEMP     M: 91 dset:   1 I:    100    106  J:   45   49  K:    1    2  L:      2      3
+ -DELETE TEMP     M: 94 dset:   1 I:    100    106  J:   45   49  K:    1    2  L:      2      3  M: -999 -999  N: -999 -999
+ regrid  TEMP     M: 94 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      2      3
+ -DELETE TEMP     M: 91 dset:   1 I:    100    106  J:   45   49  K:    1    2  L:      2      3  M: -999 -999  N: -999 -999
              VARIABLE : TEMPERATURE (deg. C)
                         regrid: G5DAY on X at LIN, on Y at ASN, on T at LIN
              FILENAME : gtsa056_1.cdf
@@ -15955,15 +15982,9 @@ LIST temp[g=g5day,gy=g5day at asn]
  0     / 45:  23.5643  23.4665  23.4073  23.4453  23.5998  23.7470
 LIST temp[g=g5day,gz=g5day at asn]
  dealloc  dynamic grid G5DAY           PSXU      PSYU      PSZT      TAX5DAY
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    2    3
- strip regrid on X: TEMP --> G5DAY            @LIN
- strip regrid on T: TEMP --> XNTERMED         @LIN
- reading TEMP     M: 62 dset:   1 I:  100  106  J:   45   50  K:    1    2  L:    2    5
- regrid  TEMP     M: 63 dset:   1 I:  100  106  J:   45   50  K:    1    2  L:    2    3
- regrid XY
- regrid  TEMP     M: 64 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    2    3
- -DELETE TEMP     M: 63 dset:   1 I:  100  106  J:   45   50  K:    1    2  L:    2    3  M: -999 -999  N: -999 -999
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      2      3
+ found   TEMP     M: 41 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      2      3
              VARIABLE : TEMPERATURE (deg. C)
                         regrid: G5DAY
              FILENAME : gtsa056_1.cdf
@@ -15998,15 +16019,15 @@ LIST temp[g=g5day,gz=g5day at asn]
  0     / 45:  23.5390  23.4739  23.4601  23.5581  23.7626  23.9173
 LIST temp[g=g5day,gt=g5day at asn]
  dealloc  dynamic grid G5DAY           PSXU      PSYU      PSZT      TAX5DAY
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    2    3
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      2      3
  strip regrid on X: TEMP --> G5DAY            @LIN
  strip regrid on T: TEMP --> XNTERMED         @ASN
- reading TEMP     M: 63 dset:   1 I:  100  106  J:   45   50  K:    1    2  L:    2    3
- regrid  TEMP     M: 65 dset:   1 I:  100  106  J:   45   50  K:    1    2  L:    2    3
+ found   TEMP     M: 90 dset:   1 I:    100    106  J:   45   50  K:    1    2  L:      2      5
+ regrid  TEMP     M: 91 dset:   1 I:    100    106  J:   45   50  K:    1    2  L:      2      3
  regrid XY
- regrid  TEMP     M: 66 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    2    3
- -DELETE TEMP     M: 65 dset:   1 I:  100  106  J:   45   50  K:    1    2  L:    2    3  M: -999 -999  N: -999 -999
+ regrid  TEMP     M: 75 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      2      3
+ -DELETE TEMP     M: 91 dset:   1 I:    100    106  J:   45   50  K:    1    2  L:      2      3  M: -999 -999  N: -999 -999
              VARIABLE : TEMPERATURE (deg. C)
                         regrid: G5DAY on X at LIN, on Y at LIN, on T at ASN
              FILENAME : gtsa056_1.cdf
@@ -16043,18 +16064,18 @@ LIST temp[g=g5day,gt=g5day at asn]
 ! all 4 axes different
 LIST temp[g=g5_10 at ave]
  dealloc  dynamic grid G5DAY           PSXU      PSYU      PSZT      TAX5DAY
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I:   12   12  J:   45   49  K:    1    1  L:    2    3
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:     12     12  J:   45   49  K:    1    1  L:      2      3
  strip regrid on X: TEMP --> G5_10            @AAV
  strip regrid on Z: TEMP --> XNTERMED         @AVE
  strip regrid on T: TEMP --> ZNTERMED         @AVE
- reading TEMP     M: 65 dset:   1 I:   95  106  J:   45   50  K:    1    2  L:    2    5
- regrid  TEMP     M: 67 dset:   1 I:   95  106  J:   45   50  K:    1    2  L:    2    3
- regrid  TEMP     M: 68 dset:   1 I:   95  106  J:   45   50  K:    1    1  L:    2    3
- -DELETE TEMP     M: 67 dset:   1 I:   95  106  J:   45   50  K:    1    2  L:    2    3  M: -999 -999  N: -999 -999
+ reading TEMP     M: 91 dset:   1 I:     95    106  J:   45   50  K:    1    2  L:      2      5
+ regrid  TEMP     M: 68 dset:   1 I:     95    106  J:   45   50  K:    1    2  L:      2      3
+ regrid  TEMP     M: 37 dset:   1 I:     95    106  J:   45   50  K:    1    1  L:      2      3
+ -DELETE TEMP     M: 68 dset:   1 I:     95    106  J:   45   50  K:    1    2  L:      2      3  M: -999 -999  N: -999 -999
  regrid XY
- regrid  TEMP     M: 67 dset:   1 I:   12   12  J:   45   49  K:    1    1  L:    2    3
- -DELETE TEMP     M: 68 dset:   1 I:   95  106  J:   45   50  K:    1    1  L:    2    3  M: -999 -999  N: -999 -999
+ regrid  TEMP     M: 68 dset:   1 I:     12     12  J:   45   49  K:    1    1  L:      2      3
+ -DELETE TEMP     M: 37 dset:   1 I:     95    106  J:   45   50  K:    1    1  L:      2      3  M: -999 -999  N: -999 -999
              VARIABLE : TEMPERATURE (deg. C)
                         regrid: G5_10 on X at AAV, on Y at AAV, on Z at AVE, on T at AVE
              FILENAME : gtsa056_1.cdf
@@ -16067,21 +16088,21 @@ LIST temp[g=g5_10 at ave]
  25-JAN-1982 00 / 3:  23.8850  23.9834  24.1657  24.3983  24.6503
 LIST temp[g=g5_10,gx=g5_10 at ave]
  dealloc  dynamic grid G5_10           XAX10     PSYU      PSZW      TAX5DAY
- -DELETE TEMP     M: 67 dset:   1 I:   12   12  J:   45   49  K:    1    1  L:    2    3
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I:   12   12  J:   45   49  K:    1    1  L:    2    3
+ -DELETE TEMP     M: 68 dset:   1 I:     12     12  J:   45   49  K:    1    1  L:      2      3
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:     12     12  J:   45   49  K:    1    1  L:      2      3
  strip regrid on X: TEMP --> G5_10            @AVE
  strip regrid on Y: TEMP --> XNTERMED         @LIN
  strip regrid on Z: TEMP --> YNTERMED         @LIN
  strip regrid on T: TEMP --> ZNTERMED         @LIN
- reading TEMP     M: 67 dset:   1 I:   95  106  J:   45   50  K:    1    2  L:    2    5
- regrid  TEMP     M: 68 dset:   1 I:   95  106  J:   45   50  K:    1    2  L:    2    3
- regrid  TEMP     M: 69 dset:   1 I:   95  106  J:   45   50  K:    1    1  L:    2    3
- -DELETE TEMP     M: 68 dset:   1 I:   95  106  J:   45   50  K:    1    2  L:    2    3  M: -999 -999  N: -999 -999
- regrid  TEMP     M: 68 dset:   1 I:   95  106  J:   45   49  K:    1    1  L:    2    3
- -DELETE TEMP     M: 69 dset:   1 I:   95  106  J:   45   50  K:    1    1  L:    2    3  M: -999 -999  N: -999 -999
- regrid  TEMP     M: 69 dset:   1 I:   12   12  J:   45   49  K:    1    1  L:    2    3
- -DELETE TEMP     M: 68 dset:   1 I:   95  106  J:   45   49  K:    1    1  L:    2    3  M: -999 -999  N: -999 -999
+ found   TEMP     M: 91 dset:   1 I:     95    106  J:   45   50  K:    1    2  L:      2      5
+ regrid  TEMP     M: 68 dset:   1 I:     95    106  J:   45   50  K:    1    2  L:      2      3
+ regrid  TEMP     M: 37 dset:   1 I:     95    106  J:   45   50  K:    1    1  L:      2      3
+ -DELETE TEMP     M: 68 dset:   1 I:     95    106  J:   45   50  K:    1    2  L:      2      3  M: -999 -999  N: -999 -999
+ regrid  TEMP     M: 68 dset:   1 I:     95    106  J:   45   49  K:    1    1  L:      2      3
+ -DELETE TEMP     M: 37 dset:   1 I:     95    106  J:   45   50  K:    1    1  L:      2      3  M: -999 -999  N: -999 -999
+ regrid  TEMP     M: 37 dset:   1 I:     12     12  J:   45   49  K:    1    1  L:      2      3
+ -DELETE TEMP     M: 68 dset:   1 I:     95    106  J:   45   49  K:    1    1  L:      2      3  M: -999 -999  N: -999 -999
              VARIABLE : TEMPERATURE (deg. C)
                         regrid: G5_10 on X at AVE, on Y at LIN, on Z at LIN, on T at LIN
              FILENAME : gtsa056_1.cdf
@@ -16094,20 +16115,20 @@ LIST temp[g=g5_10,gx=g5_10 at ave]
  25-JAN-1982 00 / 3:  23.8774  23.9728  24.1535  24.3857  24.6381
 LIST temp[g=g5_10,gy=g5_10 at ave]
  dealloc  dynamic grid G5_10           XAX10     PSYU      PSZW      TAX5DAY
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I:   12   12  J:   45   49  K:    1    1  L:    2    3
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:     12     12  J:   45   49  K:    1    1  L:      2      3
  strip regrid on X: TEMP --> G5_10            @LIN
  strip regrid on Y: TEMP --> XNTERMED         @AVE
  strip regrid on Z: TEMP --> YNTERMED         @LIN
  strip regrid on T: TEMP --> ZNTERMED         @LIN
- reading TEMP     M: 68 dset:   1 I:  100  101  J:   45   50  K:    1    2  L:    2    5
- regrid  TEMP     M: 70 dset:   1 I:  100  101  J:   45   50  K:    1    2  L:    2    3
- regrid  TEMP     M: 71 dset:   1 I:  100  101  J:   45   50  K:    1    1  L:    2    3
- -DELETE TEMP     M: 70 dset:   1 I:  100  101  J:   45   50  K:    1    2  L:    2    3  M: -999 -999  N: -999 -999
- regrid  TEMP     M: 70 dset:   1 I:  100  101  J:   45   49  K:    1    1  L:    2    3
- -DELETE TEMP     M: 71 dset:   1 I:  100  101  J:   45   50  K:    1    1  L:    2    3  M: -999 -999  N: -999 -999
- regrid  TEMP     M: 71 dset:   1 I:   12   12  J:   45   49  K:    1    1  L:    2    3
- -DELETE TEMP     M: 70 dset:   1 I:  100  101  J:   45   49  K:    1    1  L:    2    3  M: -999 -999  N: -999 -999
+ found   TEMP     M: 91 dset:   1 I:     95    106  J:   45   50  K:    1    2  L:      2      5
+ regrid  TEMP     M: 68 dset:   1 I:    100    101  J:   45   50  K:    1    2  L:      2      3
+ regrid  TEMP     M: 20 dset:   1 I:    100    101  J:   45   50  K:    1    1  L:      2      3
+ -DELETE TEMP     M: 68 dset:   1 I:    100    101  J:   45   50  K:    1    2  L:      2      3  M: -999 -999  N: -999 -999
+ regrid  TEMP     M: 68 dset:   1 I:    100    101  J:   45   49  K:    1    1  L:      2      3
+ -DELETE TEMP     M: 20 dset:   1 I:    100    101  J:   45   50  K:    1    1  L:      2      3  M: -999 -999  N: -999 -999
+ regrid  TEMP     M: 20 dset:   1 I:     12     12  J:   45   49  K:    1    1  L:      2      3
+ -DELETE TEMP     M: 68 dset:   1 I:    100    101  J:   45   49  K:    1    1  L:      2      3  M: -999 -999  N: -999 -999
              VARIABLE : TEMPERATURE (deg. C)
                         regrid: G5_10 on X at LIN, on Y at AVE, on Z at LIN, on T at LIN
              FILENAME : gtsa056_1.cdf
@@ -16120,18 +16141,18 @@ LIST temp[g=g5_10,gy=g5_10 at ave]
  25-JAN-1982 00 / 3:  23.7491  23.7562  23.8550  24.0158  24.2086
 LIST temp[g=g5_10,gz=g5_10 at ave]
  dealloc  dynamic grid G5_10           XAX10     PSYU      PSZW      TAX5DAY
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I:   12   12  J:   45   49  K:    1    1  L:    2    3
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:     12     12  J:   45   49  K:    1    1  L:      2      3
  strip regrid on X: TEMP --> G5_10            @LIN
  strip regrid on Z: TEMP --> XNTERMED         @AVE
  strip regrid on T: TEMP --> ZNTERMED         @LIN
- reading TEMP     M: 70 dset:   1 I:  100  101  J:   45   50  K:    1    2  L:    2    5
- regrid  TEMP     M: 72 dset:   1 I:  100  101  J:   45   50  K:    1    2  L:    2    3
- regrid  TEMP     M: 73 dset:   1 I:  100  101  J:   45   50  K:    1    1  L:    2    3
- -DELETE TEMP     M: 72 dset:   1 I:  100  101  J:   45   50  K:    1    2  L:    2    3  M: -999 -999  N: -999 -999
+ found   TEMP     M: 91 dset:   1 I:     95    106  J:   45   50  K:    1    2  L:      2      5
+ regrid  TEMP     M: 68 dset:   1 I:    100    101  J:   45   50  K:    1    2  L:      2      3
+ regrid  TEMP     M: 42 dset:   1 I:    100    101  J:   45   50  K:    1    1  L:      2      3
+ -DELETE TEMP     M: 68 dset:   1 I:    100    101  J:   45   50  K:    1    2  L:      2      3  M: -999 -999  N: -999 -999
  regrid XY
- regrid  TEMP     M: 72 dset:   1 I:   12   12  J:   45   49  K:    1    1  L:    2    3
- -DELETE TEMP     M: 73 dset:   1 I:  100  101  J:   45   50  K:    1    1  L:    2    3  M: -999 -999  N: -999 -999
+ regrid  TEMP     M: 68 dset:   1 I:     12     12  J:   45   49  K:    1    1  L:      2      3
+ -DELETE TEMP     M: 42 dset:   1 I:    100    101  J:   45   50  K:    1    1  L:      2      3  M: -999 -999  N: -999 -999
              VARIABLE : TEMPERATURE (deg. C)
                         regrid: G5_10 on X at LIN, on Y at LIN, on Z at AVE, on T at LIN
              FILENAME : gtsa056_1.cdf
@@ -16144,18 +16165,18 @@ LIST temp[g=g5_10,gz=g5_10 at ave]
  25-JAN-1982 00 / 3:  23.7491  23.7562  23.8550  24.0158  24.2086
 LIST temp[g=g5_10,gt=g5_10 at ave]
  dealloc  dynamic grid G5_10           XAX10     PSYU      PSZW      TAX5DAY
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I:   12   12  J:   45   49  K:    1    1  L:    2    3
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:     12     12  J:   45   49  K:    1    1  L:      2      3
  strip regrid on X: TEMP --> G5_10            @LIN
  strip regrid on Z: TEMP --> XNTERMED         @LIN
  strip regrid on T: TEMP --> ZNTERMED         @AVE
- reading TEMP     M: 73 dset:   1 I:  100  101  J:   45   50  K:    1    2  L:    2    5
- regrid  TEMP     M: 74 dset:   1 I:  100  101  J:   45   50  K:    1    2  L:    2    3
- regrid  TEMP     M: 75 dset:   1 I:  100  101  J:   45   50  K:    1    1  L:    2    3
- -DELETE TEMP     M: 74 dset:   1 I:  100  101  J:   45   50  K:    1    2  L:    2    3  M: -999 -999  N: -999 -999
+ found   TEMP     M: 91 dset:   1 I:     95    106  J:   45   50  K:    1    2  L:      2      5
+ regrid  TEMP     M: 42 dset:   1 I:    100    101  J:   45   50  K:    1    2  L:      2      3
+ regrid  TEMP     M: 49 dset:   1 I:    100    101  J:   45   50  K:    1    1  L:      2      3
+ -DELETE TEMP     M: 42 dset:   1 I:    100    101  J:   45   50  K:    1    2  L:      2      3  M: -999 -999  N: -999 -999
  regrid XY
- regrid  TEMP     M: 74 dset:   1 I:   12   12  J:   45   49  K:    1    1  L:    2    3
- -DELETE TEMP     M: 75 dset:   1 I:  100  101  J:   45   50  K:    1    1  L:    2    3  M: -999 -999  N: -999 -999
+ regrid  TEMP     M: 42 dset:   1 I:     12     12  J:   45   49  K:    1    1  L:      2      3
+ -DELETE TEMP     M: 49 dset:   1 I:    100    101  J:   45   50  K:    1    1  L:      2      3  M: -999 -999  N: -999 -999
              VARIABLE : TEMPERATURE (deg. C)
                         regrid: G5_10 on X at LIN, on Y at LIN, on Z at LIN, on T at AVE
              FILENAME : gtsa056_1.cdf
@@ -16169,20 +16190,20 @@ LIST temp[g=g5_10,gt=g5_10 at ave]
  
 LIST temp[g=g5_10 at asn]
  dealloc  dynamic grid G5_10           XAX10     PSYU      PSZW      TAX5DAY
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I:   12   12  J:   45   49  K:    1    1  L:    2    3
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:     12     12  J:   45   49  K:    1    1  L:      2      3
  strip regrid on X: TEMP --> G5_10            @ASN
  strip regrid on Y: TEMP --> XNTERMED         @ASN
  strip regrid on Z: TEMP --> YNTERMED         @ASN
  strip regrid on T: TEMP --> ZNTERMED         @ASN
- reading TEMP     M: 75 dset:   1 I:   12   12  J:   45   49  K:    1    1  L:    2    3
- regrid  TEMP     M: 76 dset:   1 I:   12   12  J:   45   49  K:    1    1  L:    2    3
- regrid  TEMP     M: 77 dset:   1 I:   12   12  J:   45   49  K:    1    1  L:    2    3
- -DELETE TEMP     M: 76 dset:   1 I:   12   12  J:   45   49  K:    1    1  L:    2    3  M: -999 -999  N: -999 -999
- regrid  TEMP     M: 76 dset:   1 I:   12   12  J:   45   49  K:    1    1  L:    2    3
- -DELETE TEMP     M: 77 dset:   1 I:   12   12  J:   45   49  K:    1    1  L:    2    3  M: -999 -999  N: -999 -999
- regrid  TEMP     M: 77 dset:   1 I:   12   12  J:   45   49  K:    1    1  L:    2    3
- -DELETE TEMP     M: 76 dset:   1 I:   12   12  J:   45   49  K:    1    1  L:    2    3  M: -999 -999  N: -999 -999
+ reading TEMP     M: 49 dset:   1 I:     12     12  J:   45   49  K:    1    1  L:      2      3
+ regrid  TEMP     M: 28 dset:   1 I:     12     12  J:   45   49  K:    1    1  L:      2      3
+ regrid  TEMP     M:118 dset:   1 I:     12     12  J:   45   49  K:    1    1  L:      2      3
+ -DELETE TEMP     M: 28 dset:   1 I:     12     12  J:   45   49  K:    1    1  L:      2      3  M: -999 -999  N: -999 -999
+ regrid  TEMP     M: 28 dset:   1 I:     12     12  J:   45   49  K:    1    1  L:      2      3
+ -DELETE TEMP     M:118 dset:   1 I:     12     12  J:   45   49  K:    1    1  L:      2      3  M: -999 -999  N: -999 -999
+ regrid  TEMP     M:118 dset:   1 I:     12     12  J:   45   49  K:    1    1  L:      2      3
+ -DELETE TEMP     M: 28 dset:   1 I:     12     12  J:   45   49  K:    1    1  L:      2      3  M: -999 -999  N: -999 -999
              VARIABLE : TEMPERATURE (deg. C)
                         regrid: G5_10 on X at ASN, on Y at ASN, on Z at ASN, on T at ASN
              FILENAME : gtsa056_1.cdf
@@ -16195,20 +16216,20 @@ LIST temp[g=g5_10 at asn]
  25-JAN-1982 00 / 3:  29.5787  29.5737  29.5698  29.5546  29.5421
 LIST temp[g=g5_10,gx=g5_10 at asn]
  dealloc  dynamic grid G5_10           XAX10     PSYU      PSZW      TAX5DAY
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I:   12   12  J:   45   49  K:    1    1  L:    2    3
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:     12     12  J:   45   49  K:    1    1  L:      2      3
  strip regrid on X: TEMP --> G5_10            @ASN
  strip regrid on Y: TEMP --> XNTERMED         @LIN
  strip regrid on Z: TEMP --> YNTERMED         @LIN
  strip regrid on T: TEMP --> ZNTERMED         @LIN
- reading TEMP     M: 76 dset:   1 I:   12   12  J:   45   50  K:    1    2  L:    2    5
- regrid  TEMP     M: 78 dset:   1 I:   12   12  J:   45   50  K:    1    2  L:    2    3
- regrid  TEMP     M: 79 dset:   1 I:   12   12  J:   45   50  K:    1    1  L:    2    3
- -DELETE TEMP     M: 78 dset:   1 I:   12   12  J:   45   50  K:    1    2  L:    2    3  M: -999 -999  N: -999 -999
- regrid  TEMP     M: 78 dset:   1 I:   12   12  J:   45   49  K:    1    1  L:    2    3
- -DELETE TEMP     M: 79 dset:   1 I:   12   12  J:   45   50  K:    1    1  L:    2    3  M: -999 -999  N: -999 -999
- regrid  TEMP     M: 79 dset:   1 I:   12   12  J:   45   49  K:    1    1  L:    2    3
- -DELETE TEMP     M: 78 dset:   1 I:   12   12  J:   45   49  K:    1    1  L:    2    3  M: -999 -999  N: -999 -999
+ reading TEMP     M: 28 dset:   1 I:     12     12  J:   45   50  K:    1    2  L:      2      5
+ regrid  TEMP     M: 83 dset:   1 I:     12     12  J:   45   50  K:    1    2  L:      2      3
+ regrid  TEMP     M: 82 dset:   1 I:     12     12  J:   45   50  K:    1    1  L:      2      3
+ -DELETE TEMP     M: 83 dset:   1 I:     12     12  J:   45   50  K:    1    2  L:      2      3  M: -999 -999  N: -999 -999
+ regrid  TEMP     M: 83 dset:   1 I:     12     12  J:   45   49  K:    1    1  L:      2      3
+ -DELETE TEMP     M: 82 dset:   1 I:     12     12  J:   45   50  K:    1    1  L:      2      3  M: -999 -999  N: -999 -999
+ regrid  TEMP     M: 82 dset:   1 I:     12     12  J:   45   49  K:    1    1  L:      2      3
+ -DELETE TEMP     M: 83 dset:   1 I:     12     12  J:   45   49  K:    1    1  L:      2      3  M: -999 -999  N: -999 -999
              VARIABLE : TEMPERATURE (deg. C)
                         regrid: G5_10 on X at ASN, on Y at LIN, on Z at LIN, on T at LIN
              FILENAME : gtsa056_1.cdf
@@ -16221,20 +16242,20 @@ LIST temp[g=g5_10,gx=g5_10 at asn]
  25-JAN-1982 00 / 3:  29.5636  29.5536  29.5355  29.5146  29.5054
 LIST temp[g=g5_10,gy=g5_10 at asn]
  dealloc  dynamic grid G5_10           XAX10     PSYU      PSZW      TAX5DAY
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I:   12   12  J:   45   49  K:    1    1  L:    2    3
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:     12     12  J:   45   49  K:    1    1  L:      2      3
  strip regrid on X: TEMP --> G5_10            @LIN
  strip regrid on Y: TEMP --> XNTERMED         @ASN
  strip regrid on Z: TEMP --> YNTERMED         @LIN
  strip regrid on T: TEMP --> ZNTERMED         @LIN
- reading TEMP     M: 78 dset:   1 I:  100  101  J:   45   49  K:    1    2  L:    2    5
- regrid  TEMP     M: 80 dset:   1 I:  100  101  J:   45   49  K:    1    2  L:    2    3
- regrid  TEMP     M: 81 dset:   1 I:  100  101  J:   45   49  K:    1    1  L:    2    3
- -DELETE TEMP     M: 80 dset:   1 I:  100  101  J:   45   49  K:    1    2  L:    2    3  M: -999 -999  N: -999 -999
- regrid  TEMP     M: 80 dset:   1 I:  100  101  J:   45   49  K:    1    1  L:    2    3
- -DELETE TEMP     M: 81 dset:   1 I:  100  101  J:   45   49  K:    1    1  L:    2    3  M: -999 -999  N: -999 -999
- regrid  TEMP     M: 81 dset:   1 I:   12   12  J:   45   49  K:    1    1  L:    2    3
- -DELETE TEMP     M: 80 dset:   1 I:  100  101  J:   45   49  K:    1    1  L:    2    3  M: -999 -999  N: -999 -999
+ found   TEMP     M: 91 dset:   1 I:     95    106  J:   45   50  K:    1    2  L:      2      5
+ regrid  TEMP     M: 83 dset:   1 I:    100    101  J:   45   49  K:    1    2  L:      2      3
+ regrid  TEMP     M:100 dset:   1 I:    100    101  J:   45   49  K:    1    1  L:      2      3
+ -DELETE TEMP     M: 83 dset:   1 I:    100    101  J:   45   49  K:    1    2  L:      2      3  M: -999 -999  N: -999 -999
+ regrid  TEMP     M: 83 dset:   1 I:    100    101  J:   45   49  K:    1    1  L:      2      3
+ -DELETE TEMP     M:100 dset:   1 I:    100    101  J:   45   49  K:    1    1  L:      2      3  M: -999 -999  N: -999 -999
+ regrid  TEMP     M:100 dset:   1 I:     12     12  J:   45   49  K:    1    1  L:      2      3
+ -DELETE TEMP     M: 83 dset:   1 I:    100    101  J:   45   49  K:    1    1  L:      2      3  M: -999 -999  N: -999 -999
              VARIABLE : TEMPERATURE (deg. C)
                         regrid: G5_10 on X at LIN, on Y at ASN, on Z at LIN, on T at LIN
              FILENAME : gtsa056_1.cdf
@@ -16247,18 +16268,18 @@ LIST temp[g=g5_10,gy=g5_10 at asn]
  25-JAN-1982 00 / 3:  23.7745  23.7236  23.7888  23.9212  24.1104
 LIST temp[g=g5_10,gz=g5_10 at asn]
  dealloc  dynamic grid G5_10           XAX10     PSYU      PSZW      TAX5DAY
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I:   12   12  J:   45   49  K:    1    1  L:    2    3
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:     12     12  J:   45   49  K:    1    1  L:      2      3
  strip regrid on X: TEMP --> G5_10            @LIN
  strip regrid on Z: TEMP --> XNTERMED         @ASN
  strip regrid on T: TEMP --> ZNTERMED         @LIN
- reading TEMP     M: 80 dset:   1 I:  100  101  J:   45   50  K:    1    1  L:    2    5
- regrid  TEMP     M: 82 dset:   1 I:  100  101  J:   45   50  K:    1    1  L:    2    3
- regrid  TEMP     M: 83 dset:   1 I:  100  101  J:   45   50  K:    1    1  L:    2    3
- -DELETE TEMP     M: 82 dset:   1 I:  100  101  J:   45   50  K:    1    1  L:    2    3  M: -999 -999  N: -999 -999
+ found   TEMP     M: 91 dset:   1 I:     95    106  J:   45   50  K:    1    2  L:      2      5
+ regrid  TEMP     M: 83 dset:   1 I:    100    101  J:   45   50  K:    1    1  L:      2      3
+ regrid  TEMP     M: 79 dset:   1 I:    100    101  J:   45   50  K:    1    1  L:      2      3
+ -DELETE TEMP     M: 83 dset:   1 I:    100    101  J:   45   50  K:    1    1  L:      2      3  M: -999 -999  N: -999 -999
  regrid XY
- regrid  TEMP     M: 82 dset:   1 I:   12   12  J:   45   49  K:    1    1  L:    2    3
- -DELETE TEMP     M: 83 dset:   1 I:  100  101  J:   45   50  K:    1    1  L:    2    3  M: -999 -999  N: -999 -999
+ regrid  TEMP     M: 83 dset:   1 I:     12     12  J:   45   49  K:    1    1  L:      2      3
+ -DELETE TEMP     M: 79 dset:   1 I:    100    101  J:   45   50  K:    1    1  L:      2      3  M: -999 -999  N: -999 -999
              VARIABLE : TEMPERATURE (deg. C)
                         regrid: G5_10 on X at LIN, on Y at LIN, on Z at ASN, on T at LIN
              FILENAME : gtsa056_1.cdf
@@ -16271,18 +16292,18 @@ LIST temp[g=g5_10,gz=g5_10 at asn]
  25-JAN-1982 00 / 3:  23.9591  23.9559  24.0305  24.1636  24.3350
 LIST temp[g=g5_10,gt=g5_10 at asn]
  dealloc  dynamic grid G5_10           XAX10     PSYU      PSZW      TAX5DAY
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I:   12   12  J:   45   49  K:    1    1  L:    2    3
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:     12     12  J:   45   49  K:    1    1  L:      2      3
  strip regrid on X: TEMP --> G5_10            @LIN
  strip regrid on Z: TEMP --> XNTERMED         @LIN
  strip regrid on T: TEMP --> ZNTERMED         @ASN
- reading TEMP     M: 83 dset:   1 I:  100  101  J:   45   50  K:    1    2  L:    2    3
- regrid  TEMP     M: 84 dset:   1 I:  100  101  J:   45   50  K:    1    2  L:    2    3
- regrid  TEMP     M: 85 dset:   1 I:  100  101  J:   45   50  K:    1    1  L:    2    3
- -DELETE TEMP     M: 84 dset:   1 I:  100  101  J:   45   50  K:    1    2  L:    2    3  M: -999 -999  N: -999 -999
+ found   TEMP     M: 91 dset:   1 I:     95    106  J:   45   50  K:    1    2  L:      2      5
+ regrid  TEMP     M: 79 dset:   1 I:    100    101  J:   45   50  K:    1    2  L:      2      3
+ regrid  TEMP     M: 67 dset:   1 I:    100    101  J:   45   50  K:    1    1  L:      2      3
+ -DELETE TEMP     M: 79 dset:   1 I:    100    101  J:   45   50  K:    1    2  L:      2      3  M: -999 -999  N: -999 -999
  regrid XY
- regrid  TEMP     M: 84 dset:   1 I:   12   12  J:   45   49  K:    1    1  L:    2    3
- -DELETE TEMP     M: 85 dset:   1 I:  100  101  J:   45   50  K:    1    1  L:    2    3  M: -999 -999  N: -999 -999
+ regrid  TEMP     M: 79 dset:   1 I:     12     12  J:   45   49  K:    1    1  L:      2      3
+ -DELETE TEMP     M: 67 dset:   1 I:    100    101  J:   45   50  K:    1    1  L:      2      3  M: -999 -999  N: -999 -999
              VARIABLE : TEMPERATURE (deg. C)
                         regrid: G5_10 on X at LIN, on Y at LIN, on Z at LIN, on T at ASN
              FILENAME : gtsa056_1.cdf
@@ -16300,121 +16321,121 @@ canc reg
 set reg/l=1:3  ! x,y,z unspecified
 load temp
  dealloc  dynamic grid G5_10           XAX10     PSYU      PSZW      TAX5DAY
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DT2          PSXT1     PSYT      PSZT      TIME2
- eval    EX#1     C:  4 dset:   1 I:    1  160  J:    1  100  K:    1   27  L:    1    3
- reading TEMP     M: 85 dset:   1 I:    1  160  J:    5   89  K:    1    2  L:    1    3
+ eval    EX#1     C:  4 dset:   1 I:      1    160  J:    1  100  K:    1   27  L:      1      3
+ reading TEMP     M: 67 dset:   1 I:      1    160  J:    5   89  K:    1    2  L:      1      3
 load temp[g=u]
  dealloc  dynamic grid PS3DT2          PSXT1     PSYT      PSZT      TIME2
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- eval    EX#1     C:  4 dset:   1 I:    1  160  J:    1  100  K:    1   27  L:    1    3
+ eval    EX#1     C:  4 dset:   1 I:      1    160  J:    1  100  K:    1   27  L:      1      3
  strip regrid on X: TEMP --> PS3DU2           @LIN
- strip modulo-void-filling TEMP on X axis:     1   161 dset:   1
- reading TEMP     M: 86 dset:   1 I:    1  160  J:    5   89  K:    1    2  L:    1    3
- doing modulo-void-filling TEMP on X axis:     1   160 dset:   1
+ strip modulo-void-filling TEMP on X axis:        1      161 dset:   1
+ found   TEMP     M: 67 dset:   1 I:      1    160  J:    5   89  K:    1    2  L:      1      3
+ doing modulo-void-filling TEMP on X axis:        1      160 dset:   1
  regrid XY
- regrid  TEMP     M: 88 dset:   1 I:    1  160  J:    1  100  K:    1    2  L:    1    3
+ regrid  TEMP     M: 50 dset:   1 I:      1    160  J:    1  100  K:    1    2  L:      1      3
 load temp[g=u at lin]
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- eval    EX#1     C:  4 dset:   1 I:    1  160  J:    1  100  K:    1   27  L:    1    3
+ eval    EX#1     C:  4 dset:   1 I:      1    160  J:    1  100  K:    1   27  L:      1      3
  strip regrid on X: TEMP --> PS3DU2           @LIN
- strip modulo-void-filling TEMP on X axis:     1   161 dset:   1
- reading TEMP     M: 89 dset:   1 I:    1  160  J:    5   89  K:    1    2  L:    1    3
- doing modulo-void-filling TEMP on X axis:     1   160 dset:   1
+ strip modulo-void-filling TEMP on X axis:        1      161 dset:   1
+ found   TEMP     M: 61 dset:   1 I:      1    161  J:    5   89  K:    1    2  L:      1      3
+ doing modulo-void-filling TEMP on X axis:        1      160 dset:   1
  regrid XY
- regrid  TEMP     M: 91 dset:   1 I:    1  160  J:    1  100  K:    1    2  L:    1    3
+ regrid  TEMP     M: 27 dset:   1 I:      1    160  J:    1  100  K:    1    2  L:      1      3
  
 load temp[g=u at ave]
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- eval    EX#1     C:  4 dset:   1 I:    1  160  J:    1  100  K:    1   27  L:    1    3
+ eval    EX#1     C:  4 dset:   1 I:      1    160  J:    1  100  K:    1   27  L:      1      3
  strip regrid on X: TEMP --> PS3DU2           @AAV
- strip modulo-void-filling TEMP on X axis:     1   161 dset:   1
- reading TEMP     M: 92 dset:   1 I:    1  160  J:    5   89  K:    1    2  L:    1    3
- doing modulo-void-filling TEMP on X axis:     1   160 dset:   1
+ strip modulo-void-filling TEMP on X axis:        1      161 dset:   1
+ found   TEMP     M: 38 dset:   1 I:      1    161  J:    5   89  K:    1    2  L:      1      3
+ doing modulo-void-filling TEMP on X axis:        1      160 dset:   1
  regrid XY
- regrid  TEMP     M: 94 dset:   1 I:    1  160  J:    1  100  K:    1    2  L:    1    3
+ regrid  TEMP     M: 14 dset:   1 I:      1    160  J:    1  100  K:    1    2  L:      1      3
 load temp[g=u,gx=u at ave]
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- eval    EX#1     C:  4 dset:   1 I:    1  160  J:    1  100  K:    1   27  L:    1    3
+ eval    EX#1     C:  4 dset:   1 I:      1    160  J:    1  100  K:    1   27  L:      1      3
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
  strip regrid on X: TEMP --> PS3DU2           @AVE
- strip modulo-void-filling TEMP on X axis:     1   161 dset:   1
+ strip modulo-void-filling TEMP on X axis:        1      161 dset:   1
  strip regrid on Y: TEMP --> XNTERMED         @LIN
- reading TEMP     M: 95 dset:   1 I:    1  160  J:    5   89  K:    1    2  L:    1    3
- regrid  TEMP     M: 96 dset:   1 I:    1  160  J:    1  100  K:    1    2  L:    1    3
- doing modulo-void-filling TEMP on X axis:     1   160 dset:   1
- regrid  TEMP     M: 98 dset:   1 I:    1  160  J:    1  100  K:    1    2  L:    1    3
- -DELETE TEMP     M: 97 dset:   1 I:    1  161  J:    1  100  K:    1    2  L:    1    3  M: -999 -999  N: -999 -999
+ found   TEMP     M: 19 dset:   1 I:      1    161  J:    5   89  K:    1    2  L:      1      3
+ regrid  TEMP     M: 13 dset:   1 I:      1    160  J:    1  100  K:    1    2  L:      1      3
+ doing modulo-void-filling TEMP on X axis:        1      160 dset:   1
+ regrid  TEMP     M: 59 dset:   1 I:      1    160  J:    1  100  K:    1    2  L:      1      3
+ -DELETE TEMP     M: 12 dset:   1 I:      1    161  J:    1  100  K:    1    2  L:      1      3  M: -999 -999  N: -999 -999
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
 load temp[g=u,gy=u at ave]
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- eval    EX#1     C:  4 dset:   1 I:    1  160  J:    1  100  K:    1   27  L:    1    3
+ eval    EX#1     C:  4 dset:   1 I:      1    160  J:    1  100  K:    1   27  L:      1      3
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
  strip regrid on X: TEMP --> PS3DU2           @LIN
- strip modulo-void-filling TEMP on X axis:     1   161 dset:   1
+ strip modulo-void-filling TEMP on X axis:        1      161 dset:   1
  strip regrid on Y: TEMP --> XNTERMED         @AVE
- reading TEMP     M: 97 dset:   1 I:    1  160  J:    5   89  K:    1    2  L:    1    3
- regrid  TEMP     M: 99 dset:   1 I:    1  160  J:    1  100  K:    1    2  L:    1    3
- doing modulo-void-filling TEMP on X axis:     1   160 dset:   1
- regrid  TEMP     M:101 dset:   1 I:    1  160  J:    1  100  K:    1    2  L:    1    3
- -DELETE TEMP     M:100 dset:   1 I:    1  161  J:    1  100  K:    1    2  L:    1    3  M: -999 -999  N: -999 -999
+ found   TEMP     M: 19 dset:   1 I:      1    161  J:    5   89  K:    1    2  L:      1      3
+ regrid  TEMP     M: 12 dset:   1 I:      1    160  J:    1  100  K:    1    2  L:      1      3
+ doing modulo-void-filling TEMP on X axis:        1      160 dset:   1
+ regrid  TEMP     M: 95 dset:   1 I:      1    160  J:    1  100  K:    1    2  L:      1      3
+ -DELETE TEMP     M: 18 dset:   1 I:      1    161  J:    1  100  K:    1    2  L:      1      3  M: -999 -999  N: -999 -999
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
  
 load temp[g=u at asn]
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- eval    EX#1     C:  4 dset:   1 I:    1  160  J:    1  100  K:    1   27  L:    1    3
+ eval    EX#1     C:  4 dset:   1 I:      1    160  J:    1  100  K:    1   27  L:      1      3
  strip regrid on X: TEMP --> PS3DU2           @ASN
  strip regrid on Y: TEMP --> XNTERMED         @ASN
- reading TEMP     M:100 dset:   1 I:    1  160  J:    5   89  K:    1    2  L:    1    3
- regrid  TEMP     M:102 dset:   1 I:    1  160  J:    1  100  K:    1    2  L:    1    3
- regrid  TEMP     M:103 dset:   1 I:    1  160  J:    1  100  K:    1    2  L:    1    3
- -DELETE TEMP     M:102 dset:   1 I:    1  160  J:    1  100  K:    1    2  L:    1    3  M: -999 -999  N: -999 -999
+ found   TEMP     M: 19 dset:   1 I:      1    161  J:    5   89  K:    1    2  L:      1      3
+ regrid  TEMP     M: 18 dset:   1 I:      1    160  J:    1  100  K:    1    2  L:      1      3
+ regrid  TEMP     M: 11 dset:   1 I:      1    160  J:    1  100  K:    1    2  L:      1      3
+ -DELETE TEMP     M: 18 dset:   1 I:      1    160  J:    1  100  K:    1    2  L:      1      3  M: -999 -999  N: -999 -999
 load temp[g=u,gx=u at asn]
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- eval    EX#1     C:  4 dset:   1 I:    1  160  J:    1  100  K:    1   27  L:    1    3
+ eval    EX#1     C:  4 dset:   1 I:      1    160  J:    1  100  K:    1   27  L:      1      3
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
  strip regrid on X: TEMP --> PS3DU2           @ASN
  strip regrid on Y: TEMP --> XNTERMED         @LIN
- reading TEMP     M:102 dset:   1 I:    1  160  J:    5   89  K:    1    2  L:    1    3
- regrid  TEMP     M:104 dset:   1 I:    1  160  J:    1  100  K:    1    2  L:    1    3
- regrid  TEMP     M:105 dset:   1 I:    1  160  J:    1  100  K:    1    2  L:    1    3
- -DELETE TEMP     M:104 dset:   1 I:    1  160  J:    1  100  K:    1    2  L:    1    3  M: -999 -999  N: -999 -999
+ found   TEMP     M: 19 dset:   1 I:      1    161  J:    5   89  K:    1    2  L:      1      3
+ regrid  TEMP     M: 18 dset:   1 I:      1    160  J:    1  100  K:    1    2  L:      1      3
+ regrid  TEMP     M: 10 dset:   1 I:      1    160  J:    1  100  K:    1    2  L:      1      3
+ -DELETE TEMP     M: 18 dset:   1 I:      1    160  J:    1  100  K:    1    2  L:      1      3  M: -999 -999  N: -999 -999
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
 load temp[g=u,gy=u at asn]
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- eval    EX#1     C:  4 dset:   1 I:    1  160  J:    1  100  K:    1   27  L:    1    3
+ eval    EX#1     C:  4 dset:   1 I:      1    160  J:    1  100  K:    1   27  L:      1      3
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
  strip regrid on X: TEMP --> PS3DU2           @LIN
- strip modulo-void-filling TEMP on X axis:     1   161 dset:   1
+ strip modulo-void-filling TEMP on X axis:        1      161 dset:   1
  strip regrid on Y: TEMP --> XNTERMED         @ASN
- reading TEMP     M:104 dset:   1 I:    1  160  J:    5   89  K:    1    2  L:    1    3
- regrid  TEMP     M:106 dset:   1 I:    1  160  J:    1  100  K:    1    2  L:    1    3
- doing modulo-void-filling TEMP on X axis:     1   160 dset:   1
- regrid  TEMP     M:108 dset:   1 I:    1  160  J:    1  100  K:    1    2  L:    1    3
- -DELETE TEMP     M:107 dset:   1 I:    1  161  J:    1  100  K:    1    2  L:    1    3  M: -999 -999  N: -999 -999
+ found   TEMP     M: 19 dset:   1 I:      1    161  J:    5   89  K:    1    2  L:      1      3
+ regrid  TEMP     M: 18 dset:   1 I:      1    160  J:    1  100  K:    1    2  L:      1      3
+ doing modulo-void-filling TEMP on X axis:        1      160 dset:   1
+ regrid  TEMP     M:  7 dset:   1 I:      1    160  J:    1  100  K:    1    2  L:      1      3
+ -DELETE TEMP     M:  8 dset:   1 I:      1    161  J:    1  100  K:    1    2  L:      1      3  M: -999 -999  N: -999 -999
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
  
 canc reg
@@ -16422,86 +16443,86 @@ use gtsa056_2		!kob 4/99
 set reg/i=101:105/j=41:42  ! z,t unspecified
 load temp[g=u]
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU1          PSXU      PSYU      PSZT      TIME1
- eval    EX#1     C:  4 dset:   2 I:  101  105  J:   41   42  K:    1   27  L:    1  168
+ eval    EX#1     C:  4 dset:   2 I:    101    105  J:   41   42  K:    1   27  L:      1    168
  strip regrid on X: TEMP --> PS3DU1           @LIN
- reading TEMP     M:107 dset:   2 I:  101  106  J:   41   43  K:    1    2  L:    1  168
+ reading TEMP     M:  8 dset:   2 I:    101    106  J:   41   43  K:    1    2  L:      1    168
  regrid XY
- regrid  TEMP     M:109 dset:   2 I:  101  105  J:   41   42  K:    1    2  L:    1  168
+ regrid  TEMP     M:  6 dset:   2 I:    101    105  J:   41   42  K:    1    2  L:      1    168
  
 load temp[g=u at ave]
  dealloc  dynamic grid PS3DU1          PSXU      PSYU      PSZT      TIME1
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU1          PSXU      PSYU      PSZT      TIME1
- eval    EX#1     C:  4 dset:   2 I:  101  105  J:   41   42  K:    1   27  L:    1  168
+ eval    EX#1     C:  4 dset:   2 I:    101    105  J:   41   42  K:    1   27  L:      1    168
  strip regrid on X: TEMP --> PS3DU1           @AAV
- reading TEMP     M:110 dset:   2 I:  101  106  J:   41   43  K:    1    2  L:    1  168
+ found   TEMP     M:  8 dset:   2 I:    101    106  J:   41   43  K:    1    2  L:      1    168
  regrid XY
- regrid  TEMP     M:111 dset:   2 I:  101  105  J:   41   42  K:    1    2  L:    1  168
+ regrid  TEMP     M:  2 dset:   2 I:    101    105  J:   41   42  K:    1    2  L:      1    168
 load temp[g=u,gz=u at ave]
  dealloc  dynamic grid PS3DU1          PSXU      PSYU      PSZT      TIME1
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU1          PSXU      PSYU      PSZT      TIME1
  dealloc  dynamic grid PS3DU1          PSXU      PSYU      PSZT      TIME1
  allocate dynamic grid PS3DU1          PSXU      PSYU      PSZT      TIME1
- eval    EX#1     C:  4 dset:   2 I:  101  105  J:   41   42  K:    1   27  L:    1  168
+ eval    EX#1     C:  4 dset:   2 I:    101    105  J:   41   42  K:    1   27  L:      1    168
  allocate dynamic grid PS3DU1          PSXU      PSYU      PSZT      TIME1
  strip regrid on X: TEMP --> PS3DU1           @LIN
- reading TEMP     M:112 dset:   2 I:  101  106  J:   41   43  K:    1    2  L:    1  168
+ found   TEMP     M:  8 dset:   2 I:    101    106  J:   41   43  K:    1    2  L:      1    168
  regrid XY
- regrid  TEMP     M:113 dset:   2 I:  101  105  J:   41   42  K:    1    2  L:    1  168
+ regrid  TEMP     M:103 dset:   2 I:    101    105  J:   41   42  K:    1    2  L:      1    168
  dealloc  dynamic grid PS3DU1          PSXU      PSYU      PSZT      TIME1
 load temp[g=u,gt=u at ave]
  dealloc  dynamic grid PS3DU1          PSXU      PSYU      PSZT      TIME1
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU1          PSXU      PSYU      PSZT      TIME1
  dealloc  dynamic grid PS3DU1          PSXU      PSYU      PSZT      TIME1
  allocate dynamic grid PS3DU1          PSXU      PSYU      PSZT      TIME1
- eval    EX#1     C:  4 dset:   2 I:  101  105  J:   41   42  K:    1   27  L:    1  168
+ eval    EX#1     C:  4 dset:   2 I:    101    105  J:   41   42  K:    1   27  L:      1    168
  allocate dynamic grid PS3DU1          PSXU      PSYU      PSZT      TIME1
  strip regrid on X: TEMP --> PS3DU1           @LIN
- reading TEMP     M:114 dset:   2 I:  101  106  J:   41   43  K:    1    2  L:    1  168
+ found   TEMP     M:  8 dset:   2 I:    101    106  J:   41   43  K:    1    2  L:      1    168
  regrid XY
- regrid  TEMP     M:115 dset:   2 I:  101  105  J:   41   42  K:    1    2  L:    1  168
+ regrid  TEMP     M: 97 dset:   2 I:    101    105  J:   41   42  K:    1    2  L:      1    168
  dealloc  dynamic grid PS3DU1          PSXU      PSYU      PSZT      TIME1
  
 load temp[g=u at asn]
  dealloc  dynamic grid PS3DU1          PSXU      PSYU      PSZT      TIME1
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU1          PSXU      PSYU      PSZT      TIME1
- eval    EX#1     C:  4 dset:   2 I:  101  105  J:   41   42  K:    1   27  L:    1  168
+ eval    EX#1     C:  4 dset:   2 I:    101    105  J:   41   42  K:    1   27  L:      1    168
  strip regrid on X: TEMP --> PS3DU1           @ASN
  strip regrid on Y: TEMP --> XNTERMED         @ASN
- reading TEMP     M:116 dset:   2 I:  101  105  J:   41   42  K:    1    2  L:    1  168
- regrid  TEMP     M:117 dset:   2 I:  101  105  J:   41   42  K:    1    2  L:    1  168
- regrid  TEMP     M:118 dset:   2 I:  101  105  J:   41   42  K:    1    2  L:    1  168
- -DELETE TEMP     M:117 dset:   2 I:  101  105  J:   41   42  K:    1    2  L:    1  168  M: -999 -999  N: -999 -999
+ found   TEMP     M:  8 dset:   2 I:    101    106  J:   41   43  K:    1    2  L:      1    168
+ regrid  TEMP     M: 88 dset:   2 I:    101    105  J:   41   42  K:    1    2  L:      1    168
+ regrid  TEMP     M: 69 dset:   2 I:    101    105  J:   41   42  K:    1    2  L:      1    168
+ -DELETE TEMP     M: 88 dset:   2 I:    101    105  J:   41   42  K:    1    2  L:      1    168  M: -999 -999  N: -999 -999
 load temp[g=u,gz=u at asn]
  dealloc  dynamic grid PS3DU1          PSXU      PSYU      PSZT      TIME1
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU1          PSXU      PSYU      PSZT      TIME1
  dealloc  dynamic grid PS3DU1          PSXU      PSYU      PSZT      TIME1
  allocate dynamic grid PS3DU1          PSXU      PSYU      PSZT      TIME1
- eval    EX#1     C:  4 dset:   2 I:  101  105  J:   41   42  K:    1   27  L:    1  168
+ eval    EX#1     C:  4 dset:   2 I:    101    105  J:   41   42  K:    1   27  L:      1    168
  allocate dynamic grid PS3DU1          PSXU      PSYU      PSZT      TIME1
  strip regrid on X: TEMP --> PS3DU1           @LIN
- reading TEMP     M:117 dset:   2 I:  101  106  J:   41   43  K:    1    2  L:    1  168
+ found   TEMP     M:  8 dset:   2 I:    101    106  J:   41   43  K:    1    2  L:      1    168
  regrid XY
- regrid  TEMP     M:119 dset:   2 I:  101  105  J:   41   42  K:    1    2  L:    1  168
+ regrid  TEMP     M: 88 dset:   2 I:    101    105  J:   41   42  K:    1    2  L:      1    168
  dealloc  dynamic grid PS3DU1          PSXU      PSYU      PSZT      TIME1
 load temp[g=u,gt=u at asn]
  dealloc  dynamic grid PS3DU1          PSXU      PSYU      PSZT      TIME1
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU1          PSXU      PSYU      PSZT      TIME1
  dealloc  dynamic grid PS3DU1          PSXU      PSYU      PSZT      TIME1
  allocate dynamic grid PS3DU1          PSXU      PSYU      PSZT      TIME1
- eval    EX#1     C:  4 dset:   2 I:  101  105  J:   41   42  K:    1   27  L:    1  168
+ eval    EX#1     C:  4 dset:   2 I:    101    105  J:   41   42  K:    1   27  L:      1    168
  allocate dynamic grid PS3DU1          PSXU      PSYU      PSZT      TIME1
  strip regrid on X: TEMP --> PS3DU1           @LIN
- reading TEMP     M:120 dset:   2 I:  101  106  J:   41   43  K:    1    2  L:    1  168
+ found   TEMP     M:  8 dset:   2 I:    101    106  J:   41   43  K:    1    2  L:      1    168
  regrid XY
- regrid  TEMP     M:121 dset:   2 I:  101  105  J:   41   42  K:    1    2  L:    1  168
+ regrid  TEMP     M: 64 dset:   2 I:    101    105  J:   41   42  K:    1    2  L:      1    168
  dealloc  dynamic grid PS3DU1          PSXU      PSYU      PSZT      TIME1
 SET MODE/LAST IGNORE	! V.5 change
  
@@ -16515,71 +16536,68 @@ use gtsa056_1 		!kob 4/99
 set region/x=130E:90W/y=0/z=5/t=21-JAN-1982
 plot temp
  dealloc  dynamic grid PS3DU1          PSXU      PSYU      PSZT      TIME1
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DT2          PSXT1     PSYT      PSZT      TIME2
  strip --> EX#1[T=21-JAN-198200:00 at ITP,D=1]
  strip --> EX#1[Y=0 at ITP,D=1]
- eval    EX#1     C:  6 dset:   1 I:    1  140  J:   45   46  K:    1    1  L:    2    3
- reading TEMP     M:122 dset:   1 I:    1  140  J:   45   46  K:    1    1  L:    2    3
+ eval    EX#1     C:  6 dset:   1 I:      1    140  J:   45   46  K:    1    1  L:      2      3
+ found   TEMP     M: 19 dset:   1 I:      1    161  J:    5   89  K:    1    2  L:      1      3
  doing --> TEMP[Y=0 at ITP,D=1]
  doing --> TEMP[T=21-JAN-198200:00 at ITP,D=1]
 setting up plot
 PPL plot 76   complete
 plot/over temp[g=u]
  dealloc  dynamic grid PS3DT2          PSXT1     PSYT      PSZT      TIME2
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
  strip --> EX#1[T=21-JAN-198200:00 at ITP,D=1]
  strip --> EX#1[Y=0 at ITP,D=1]
- eval    EX#1     C:  6 dset:   1 I:    0  140  J:   44   45  K:    1    1  L:    2    3
- strip moduloing TEMP on X axis:     0   140 dset:   1
- strip regrid on X: TEMP --> PS3DU2           @LIN
- reading TEMP     M:125 dset:   1 I:    1  141  J:   44   46  K:    1    1  L:    2    3
- regrid XY
- regrid  TEMP     M:126 dset:   1 I:    1  140  J:   44   45  K:    1    1  L:    2    3
- doing moduloing TEMP on X axis:     1   140 dset:   1
+ eval    EX#1     C:  6 dset:   1 I:      0    140  J:   44   45  K:    1    1  L:      2      3
+ strip moduloing TEMP on X axis:        0      140 dset:   1
+ found   TEMP     M: 27 dset:   1 I:      1    160  J:    1  100  K:    1    2  L:      1      3
+ doing moduloing TEMP on X axis:        1      140 dset:   1
  doing --> TEMP[Y=0 at ITP,D=1]
  doing --> TEMP[T=21-JAN-198200:00 at ITP,D=1]
 setting up plot
 PPL plot 77   complete
 plot/over temp[g=g5day]
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip --> EX#1[T=21-JAN-198200:00 at ITP,D=1]
  strip --> EX#1[Y=0 at ITP,D=1]
- eval    EX#1     C:  6 dset:   1 I:    0  140  J:   44   45  K:    1    1  L:    2    3
- strip moduloing TEMP on X axis:     0   140 dset:   1
+ eval    EX#1     C:  6 dset:   1 I:      0    140  J:   44   45  K:    1    1  L:      2      3
+ strip moduloing TEMP on X axis:        0      140 dset:   1
  strip regrid on X: TEMP --> G5DAY            @LIN
  strip regrid on T: TEMP --> XNTERMED         @LIN
- reading TEMP     M:130 dset:   1 I:    1  141  J:   44   46  K:    1    1  L:    2    5
- regrid  TEMP     M:131 dset:   1 I:    1  141  J:   44   46  K:    1    1  L:    2    3
+ reading TEMP     M:102 dset:   1 I:      1    141  J:   44   46  K:    1    1  L:      2      5
+ regrid  TEMP     M: 96 dset:   1 I:      1    141  J:   44   46  K:    1    1  L:      2      3
  regrid XY
- regrid  TEMP     M:132 dset:   1 I:    1  140  J:   44   45  K:    1    1  L:    2    3
- -DELETE TEMP     M:131 dset:   1 I:    1  141  J:   44   46  K:    1    1  L:    2    3  M: -999 -999  N: -999 -999
- doing moduloing TEMP on X axis:     1   140 dset:   1
+ regrid  TEMP     M: 93 dset:   1 I:      1    140  J:   44   45  K:    1    1  L:      2      3
+ -DELETE TEMP     M: 96 dset:   1 I:      1    141  J:   44   46  K:    1    1  L:      2      3  M: -999 -999  N: -999 -999
+ doing moduloing TEMP on X axis:        1      140 dset:   1
  doing --> TEMP[Y=0 at ITP,D=1]
  doing --> TEMP[T=21-JAN-198200:00 at ITP,D=1]
 setting up plot
 PPL plot 78   complete
 plot/over temp[g=g5_10]
  dealloc  dynamic grid G5DAY           PSXU      PSYU      PSZT      TAX5DAY
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip --> EX#1[T=21-JAN-198200:00 at ITP,D=1]
  strip --> EX#1[Z=5 at ITP,D=1]
  strip --> EX#1[Y=0 at ITP,D=1]
- eval    EX#1     C:  7 dset:   1 I:    2   16  J:   44   45  K:    1    1  L:    2    3
+ eval    EX#1     C:  7 dset:   1 I:      2     16  J:   44   45  K:    1    1  L:      2      3
  strip regrid on X: TEMP --> G5_10            @LIN
- strip moduloing TEMP on X axis:     0   141 dset:   1
+ strip moduloing TEMP on X axis:        0      141 dset:   1
  strip regrid on Z: TEMP --> XNTERMED         @LIN
  strip regrid on T: TEMP --> ZNTERMED         @LIN
- reading TEMP     M:135 dset:   1 I:    1  141  J:   44   46  K:    1    2  L:    2    5
- regrid  TEMP     M:136 dset:   1 I:    1  141  J:   44   46  K:    1    2  L:    2    3
- regrid  TEMP     M:137 dset:   1 I:    1  141  J:   44   46  K:    1    1  L:    2    3
- -DELETE TEMP     M:136 dset:   1 I:    1  141  J:   44   46  K:    1    2  L:    2    3  M: -999 -999  N: -999 -999
- doing moduloing TEMP on X axis:     1   141 dset:   1
+ reading TEMP     M: 60 dset:   1 I:      1    141  J:   44   46  K:    1    2  L:      2      5
+ regrid  TEMP     M: 54 dset:   1 I:      1    141  J:   44   46  K:    1    2  L:      2      3
+ regrid  TEMP     M: 45 dset:   1 I:      1    141  J:   44   46  K:    1    1  L:      2      3
+ -DELETE TEMP     M: 54 dset:   1 I:      1    141  J:   44   46  K:    1    2  L:      2      3  M: -999 -999  N: -999 -999
+ doing moduloing TEMP on X axis:        1      141 dset:   1
  regrid XY
- regrid  TEMP     M:138 dset:   1 I:    2   16  J:   44   45  K:    1    1  L:    2    3
- -DELETE TEMP     M:136 dset:   1 I:    0  141  J:   44   46  K:    1    1  L:    2    3  M: -999 -999  N: -999 -999
+ regrid  TEMP     M: 43 dset:   1 I:      2     16  J:   44   45  K:    1    1  L:      2      3
+ -DELETE TEMP     M: 54 dset:   1 I:      0    141  J:   44   46  K:    1    1  L:      2      3  M: -999 -999  N: -999 -999
  doing --> TEMP[Y=0 at ITP,D=1]
  doing --> TEMP[Z=5 at ITP,D=1]
  doing --> TEMP[T=21-JAN-198200:00 at ITP,D=1]
@@ -16587,59 +16605,56 @@ setting up plot
 PPL plot 79   complete
 plot/over temp[g=u at ave]
  dealloc  dynamic grid G5_10           XAX10     PSYU      PSZW      TAX5DAY
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
  strip --> EX#1[T=21-JAN-198200:00 at ITP,D=1]
  strip --> EX#1[Y=0 at ITP,D=1]
- eval    EX#1     C:  6 dset:   1 I:    0  140  J:   44   45  K:    1    1  L:    2    3
- strip moduloing TEMP on X axis:     0   140 dset:   1
- strip regrid on X: TEMP --> PS3DU2           @AAV
- reading TEMP     M:141 dset:   1 I:    1  141  J:   44   46  K:    1    1  L:    2    3
- regrid XY
- regrid  TEMP     M:142 dset:   1 I:    1  140  J:   44   45  K:    1    1  L:    2    3
- doing moduloing TEMP on X axis:     1   140 dset:   1
+ eval    EX#1     C:  6 dset:   1 I:      0    140  J:   44   45  K:    1    1  L:      2      3
+ strip moduloing TEMP on X axis:        0      140 dset:   1
+ found   TEMP     M: 14 dset:   1 I:      1    160  J:    1  100  K:    1    2  L:      1      3
+ doing moduloing TEMP on X axis:        1      140 dset:   1
  doing --> TEMP[Y=0 at ITP,D=1]
  doing --> TEMP[T=21-JAN-198200:00 at ITP,D=1]
 setting up plot
 PPL plot 80   complete
 plot/over temp[g=g5day at ave]
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip --> EX#1[T=21-JAN-198200:00 at ITP,D=1]
  strip --> EX#1[Y=0 at ITP,D=1]
- eval    EX#1     C:  6 dset:   1 I:    0  140  J:   44   45  K:    1    1  L:    2    3
- strip moduloing TEMP on X axis:     0   140 dset:   1
+ eval    EX#1     C:  6 dset:   1 I:      0    140  J:   44   45  K:    1    1  L:      2      3
+ strip moduloing TEMP on X axis:        0      140 dset:   1
  strip regrid on X: TEMP --> G5DAY            @AAV
  strip regrid on T: TEMP --> XNTERMED         @AVE
- reading TEMP     M:146 dset:   1 I:    1  141  J:   44   46  K:    1    1  L:    2    5
- regrid  TEMP     M:147 dset:   1 I:    1  141  J:   44   46  K:    1    1  L:    2    3
+ found   TEMP     M: 60 dset:   1 I:      1    141  J:   44   46  K:    1    2  L:      2      5
+ regrid  TEMP     M: 62 dset:   1 I:      1    141  J:   44   46  K:    1    1  L:      2      3
  regrid XY
- regrid  TEMP     M:148 dset:   1 I:    1  140  J:   44   45  K:    1    1  L:    2    3
- -DELETE TEMP     M:147 dset:   1 I:    1  141  J:   44   46  K:    1    1  L:    2    3  M: -999 -999  N: -999 -999
- doing moduloing TEMP on X axis:     1   140 dset:   1
+ regrid  TEMP     M: 34 dset:   1 I:      1    140  J:   44   45  K:    1    1  L:      2      3
+ -DELETE TEMP     M: 62 dset:   1 I:      1    141  J:   44   46  K:    1    1  L:      2      3  M: -999 -999  N: -999 -999
+ doing moduloing TEMP on X axis:        1      140 dset:   1
  doing --> TEMP[Y=0 at ITP,D=1]
  doing --> TEMP[T=21-JAN-198200:00 at ITP,D=1]
 setting up plot
 PPL plot 81   complete
 plot/over temp[g=g5_10 at ave]
  dealloc  dynamic grid G5DAY           PSXU      PSYU      PSZT      TAX5DAY
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip --> EX#1[T=21-JAN-198200:00 at ITP,D=1]
  strip --> EX#1[Z=5 at ITP,D=1]
  strip --> EX#1[Y=0 at ITP,D=1]
- eval    EX#1     C:  7 dset:   1 I:    2   16  J:   44   45  K:    1    1  L:    2    3
+ eval    EX#1     C:  7 dset:   1 I:      2     16  J:   44   45  K:    1    1  L:      2      3
  strip regrid on X: TEMP --> G5_10            @AAV
- strip moduloing TEMP on X axis:     0   146 dset:   1
+ strip moduloing TEMP on X axis:        0      146 dset:   1
  strip regrid on Z: TEMP --> XNTERMED         @AVE
  strip regrid on T: TEMP --> ZNTERMED         @AVE
- reading TEMP     M:151 dset:   1 I:    1  146  J:   44   46  K:    1    2  L:    2    5
- regrid  TEMP     M:152 dset:   1 I:    1  146  J:   44   46  K:    1    2  L:    2    3
- regrid  TEMP     M:153 dset:   1 I:    1  146  J:   44   46  K:    1    1  L:    2    3
- -DELETE TEMP     M:152 dset:   1 I:    1  146  J:   44   46  K:    1    2  L:    2    3  M: -999 -999  N: -999 -999
- doing moduloing TEMP on X axis:     1   146 dset:   1
+ reading TEMP     M: 66 dset:   1 I:      1    146  J:   44   46  K:    1    2  L:      2      5
+ regrid  TEMP     M: 63 dset:   1 I:      1    146  J:   44   46  K:    1    2  L:      2      3
+ regrid  TEMP     M: 48 dset:   1 I:      1    146  J:   44   46  K:    1    1  L:      2      3
+ -DELETE TEMP     M: 63 dset:   1 I:      1    146  J:   44   46  K:    1    2  L:      2      3  M: -999 -999  N: -999 -999
+ doing moduloing TEMP on X axis:        1      146 dset:   1
  regrid XY
- regrid  TEMP     M:154 dset:   1 I:    2   16  J:   44   45  K:    1    1  L:    2    3
- -DELETE TEMP     M:152 dset:   1 I:    0  146  J:   44   46  K:    1    1  L:    2    3  M: -999 -999  N: -999 -999
+ regrid  TEMP     M: 36 dset:   1 I:      2     16  J:   44   45  K:    1    1  L:      2      3
+ -DELETE TEMP     M: 63 dset:   1 I:      0    146  J:   44   46  K:    1    1  L:      2      3  M: -999 -999  N: -999 -999
  doing --> TEMP[Y=0 at ITP,D=1]
  doing --> TEMP[Z=5 at ITP,D=1]
  doing --> TEMP[T=21-JAN-198200:00 at ITP,D=1]
@@ -16647,62 +16662,52 @@ setting up plot
 PPL plot 82   complete
 plot/over temp[g=u at asn]
  dealloc  dynamic grid G5_10           XAX10     PSYU      PSZW      TAX5DAY
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
  strip --> EX#1[T=21-JAN-198200:00 at ITP,D=1]
  strip --> EX#1[Y=0 at ITP,D=1]
- eval    EX#1     C:  6 dset:   1 I:    0  140  J:   44   45  K:    1    1  L:    2    3
- strip moduloing TEMP on X axis:     0   140 dset:   1
- strip regrid on X: TEMP --> PS3DU2           @ASN
- strip regrid on Y: TEMP --> XNTERMED         @ASN
- reading TEMP     M:157 dset:   1 I:    1  140  J:   44   45  K:    1    1  L:    2    3
- regrid  TEMP     M:158 dset:   1 I:    1  140  J:   44   45  K:    1    1  L:    2    3
- regrid  TEMP     M:159 dset:   1 I:    1  140  J:   44   45  K:    1    1  L:    2    3
- -DELETE TEMP     M:158 dset:   1 I:    1  140  J:   44   45  K:    1    1  L:    2    3  M: -999 -999  N: -999 -999
- doing moduloing TEMP on X axis:     1   140 dset:   1
+ eval    EX#1     C:  6 dset:   1 I:      0    140  J:   44   45  K:    1    1  L:      2      3
+ strip moduloing TEMP on X axis:        0      140 dset:   1
+ found   TEMP     M: 11 dset:   1 I:      1    160  J:    1  100  K:    1    2  L:      1      3
+ doing moduloing TEMP on X axis:        1      140 dset:   1
  doing --> TEMP[Y=0 at ITP,D=1]
  doing --> TEMP[T=21-JAN-198200:00 at ITP,D=1]
 setting up plot
 PPL plot 83   complete
 plot/over temp[g=g5day at asn]
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip --> EX#1[T=21-JAN-198200:00 at ITP,D=1]
  strip --> EX#1[Y=0 at ITP,D=1]
- eval    EX#1     C:  6 dset:   1 I:    0  140  J:   44   45  K:    1    1  L:    2    3
- strip moduloing TEMP on X axis:     0   140 dset:   1
+ eval    EX#1     C:  6 dset:   1 I:      0    140  J:   44   45  K:    1    1  L:      2      3
+ strip moduloing TEMP on X axis:        0      140 dset:   1
  strip regrid on X: TEMP --> G5DAY            @ASN
  strip regrid on Y: TEMP --> XNTERMED         @ASN
  strip regrid on T: TEMP --> YNTERMED         @ASN
- reading TEMP     M:162 dset:   1 I:    1  140  J:   44   45  K:    1    1  L:    2    3
- regrid  TEMP     M:163 dset:   1 I:    1  140  J:   44   45  K:    1    1  L:    2    3
- regrid  TEMP     M:164 dset:   1 I:    1  140  J:   44   45  K:    1    1  L:    2    3
- -DELETE TEMP     M:163 dset:   1 I:    1  140  J:   44   45  K:    1    1  L:    2    3  M: -999 -999  N: -999 -999
- regrid  TEMP     M:163 dset:   1 I:    1  140  J:   44   45  K:    1    1  L:    2    3
- -DELETE TEMP     M:164 dset:   1 I:    1  140  J:   44   45  K:    1    1  L:    2    3  M: -999 -999  N: -999 -999
- doing moduloing TEMP on X axis:     1   140 dset:   1
+ found   TEMP     M: 66 dset:   1 I:      1    146  J:   44   46  K:    1    2  L:      2      5
+ regrid  TEMP     M: 70 dset:   1 I:      1    140  J:   44   45  K:    1    1  L:      2      3
+ regrid  TEMP     M: 53 dset:   1 I:      1    140  J:   44   45  K:    1    1  L:      2      3
+ -DELETE TEMP     M: 70 dset:   1 I:      1    140  J:   44   45  K:    1    1  L:      2      3  M: -999 -999  N: -999 -999
+ regrid  TEMP     M: 70 dset:   1 I:      1    140  J:   44   45  K:    1    1  L:      2      3
+ -DELETE TEMP     M: 53 dset:   1 I:      1    140  J:   44   45  K:    1    1  L:      2      3  M: -999 -999  N: -999 -999
+ doing moduloing TEMP on X axis:        1      140 dset:   1
  doing --> TEMP[Y=0 at ITP,D=1]
  doing --> TEMP[T=21-JAN-198200:00 at ITP,D=1]
 setting up plot
 PPL plot 84   complete
 plot/over temp[g=u,gx=u at ave]
  dealloc  dynamic grid G5DAY           PSXU      PSYU      PSZT      TAX5DAY
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
  strip --> EX#1[T=21-JAN-198200:00 at ITP,D=1]
  strip --> EX#1[Y=0 at ITP,D=1]
- eval    EX#1     C:  6 dset:   1 I:    0  140  J:   44   45  K:    1    1  L:    2    3
+ eval    EX#1     C:  6 dset:   1 I:      0    140  J:   44   45  K:    1    1  L:      2      3
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- strip moduloing TEMP on X axis:     0   140 dset:   1
- strip regrid on X: TEMP --> PS3DU2           @AVE
- strip regrid on Y: TEMP --> XNTERMED         @LIN
- reading TEMP     M:167 dset:   1 I:    1  141  J:   44   46  K:    1    1  L:    2    3
- regrid  TEMP     M:168 dset:   1 I:    1  141  J:   44   45  K:    1    1  L:    2    3
- regrid  TEMP     M:169 dset:   1 I:    1  140  J:   44   45  K:    1    1  L:    2    3
- -DELETE TEMP     M:168 dset:   1 I:    1  141  J:   44   45  K:    1    1  L:    2    3  M: -999 -999  N: -999 -999
- doing moduloing TEMP on X axis:     1   140 dset:   1
+ strip moduloing TEMP on X axis:        0      140 dset:   1
+ found   TEMP     M: 59 dset:   1 I:      1    160  J:    1  100  K:    1    2  L:      1      3
+ doing moduloing TEMP on X axis:        1      140 dset:   1
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
  doing --> TEMP[Y=0 at ITP,D=1]
  doing --> TEMP[T=21-JAN-198200:00 at ITP,D=1]
@@ -16710,46 +16715,46 @@ setting up plot
 PPL plot 85   complete
 plot/over temp[g=g5day,gx=g5day at ave]
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip --> EX#1[T=21-JAN-198200:00 at ITP,D=1]
  strip --> EX#1[Y=0 at ITP,D=1]
- eval    EX#1     C:  6 dset:   1 I:    0  140  J:   44   45  K:    1    1  L:    2    3
- strip moduloing TEMP on X axis:     0   140 dset:   1
+ eval    EX#1     C:  6 dset:   1 I:      0    140  J:   44   45  K:    1    1  L:      2      3
+ strip moduloing TEMP on X axis:        0      140 dset:   1
  strip regrid on X: TEMP --> G5DAY            @AVE
  strip regrid on Y: TEMP --> XNTERMED         @LIN
  strip regrid on T: TEMP --> YNTERMED         @LIN
- reading TEMP     M:172 dset:   1 I:    1  141  J:   44   46  K:    1    1  L:    2    5
- regrid  TEMP     M:173 dset:   1 I:    1  141  J:   44   46  K:    1    1  L:    2    3
- regrid  TEMP     M:174 dset:   1 I:    1  141  J:   44   45  K:    1    1  L:    2    3
- -DELETE TEMP     M:173 dset:   1 I:    1  141  J:   44   46  K:    1    1  L:    2    3  M: -999 -999  N: -999 -999
- regrid  TEMP     M:173 dset:   1 I:    1  140  J:   44   45  K:    1    1  L:    2    3
- -DELETE TEMP     M:174 dset:   1 I:    1  141  J:   44   45  K:    1    1  L:    2    3  M: -999 -999  N: -999 -999
- doing moduloing TEMP on X axis:     1   140 dset:   1
+ found   TEMP     M: 66 dset:   1 I:      1    146  J:   44   46  K:    1    2  L:      2      5
+ regrid  TEMP     M:104 dset:   1 I:      1    141  J:   44   46  K:    1    1  L:      2      3
+ regrid  TEMP     M: 99 dset:   1 I:      1    141  J:   44   45  K:    1    1  L:      2      3
+ -DELETE TEMP     M:104 dset:   1 I:      1    141  J:   44   46  K:    1    1  L:      2      3  M: -999 -999  N: -999 -999
+ regrid  TEMP     M:104 dset:   1 I:      1    140  J:   44   45  K:    1    1  L:      2      3
+ -DELETE TEMP     M: 99 dset:   1 I:      1    141  J:   44   45  K:    1    1  L:      2      3  M: -999 -999  N: -999 -999
+ doing moduloing TEMP on X axis:        1      140 dset:   1
  doing --> TEMP[Y=0 at ITP,D=1]
  doing --> TEMP[T=21-JAN-198200:00 at ITP,D=1]
 setting up plot
 PPL plot 86   complete
 plot/over temp[g=g5_10,gx=g5_10 at ave]
  dealloc  dynamic grid G5DAY           PSXU      PSYU      PSZT      TAX5DAY
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip --> EX#1[T=21-JAN-198200:00 at ITP,D=1]
  strip --> EX#1[Z=5 at ITP,D=1]
  strip --> EX#1[Y=0 at ITP,D=1]
- eval    EX#1     C:  7 dset:   1 I:    2   16  J:   44   45  K:    1    1  L:    2    3
+ eval    EX#1     C:  7 dset:   1 I:      2     16  J:   44   45  K:    1    1  L:      2      3
  strip regrid on X: TEMP --> G5_10            @AVE
- strip moduloing TEMP on X axis:     0   146 dset:   1
+ strip moduloing TEMP on X axis:        0      146 dset:   1
  strip regrid on Y: TEMP --> XNTERMED         @LIN
  strip regrid on Z: TEMP --> YNTERMED         @LIN
  strip regrid on T: TEMP --> ZNTERMED         @LIN
- reading TEMP     M:177 dset:   1 I:    1  146  J:   44   46  K:    1    2  L:    2    5
- regrid  TEMP     M:178 dset:   1 I:    1  146  J:   44   46  K:    1    2  L:    2    3
- regrid  TEMP     M:179 dset:   1 I:    1  146  J:   44   46  K:    1    1  L:    2    3
- -DELETE TEMP     M:178 dset:   1 I:    1  146  J:   44   46  K:    1    2  L:    2    3  M: -999 -999  N: -999 -999
- regrid  TEMP     M:178 dset:   1 I:    1  146  J:   44   45  K:    1    1  L:    2    3
- -DELETE TEMP     M:179 dset:   1 I:    1  146  J:   44   46  K:    1    1  L:    2    3  M: -999 -999  N: -999 -999
- doing moduloing TEMP on X axis:     1   146 dset:   1
- regrid  TEMP     M:180 dset:   1 I:    2   16  J:   44   45  K:    1    1  L:    2    3
- -DELETE TEMP     M:179 dset:   1 I:    0  146  J:   44   45  K:    1    1  L:    2    3  M: -999 -999  N: -999 -999
+ found   TEMP     M: 66 dset:   1 I:      1    146  J:   44   46  K:    1    2  L:      2      5
+ regrid  TEMP     M: 71 dset:   1 I:      1    146  J:   44   46  K:    1    2  L:      2      3
+ regrid  TEMP     M: 57 dset:   1 I:      1    146  J:   44   46  K:    1    1  L:      2      3
+ -DELETE TEMP     M: 71 dset:   1 I:      1    146  J:   44   46  K:    1    2  L:      2      3  M: -999 -999  N: -999 -999
+ regrid  TEMP     M: 71 dset:   1 I:      1    146  J:   44   45  K:    1    1  L:      2      3
+ -DELETE TEMP     M: 57 dset:   1 I:      1    146  J:   44   46  K:    1    1  L:      2      3  M: -999 -999  N: -999 -999
+ doing moduloing TEMP on X axis:        1      146 dset:   1
+ regrid  TEMP     M: 55 dset:   1 I:      2     16  J:   44   45  K:    1    1  L:      2      3
+ -DELETE TEMP     M: 57 dset:   1 I:      0    146  J:   44   45  K:    1    1  L:      2      3  M: -999 -999  N: -999 -999
  doing --> TEMP[Y=0 at ITP,D=1]
  doing --> TEMP[Z=5 at ITP,D=1]
  doing --> TEMP[T=21-JAN-198200:00 at ITP,D=1]
@@ -16757,23 +16762,23 @@ setting up plot
 PPL plot 87   complete
 plot/over temp[g=g5_10 at asn]   ! invalid interpretation of data
  dealloc  dynamic grid G5_10           XAX10     PSYU      PSZW      TAX5DAY
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip --> EX#1[T=21-JAN-198200:00 at ITP,D=1]
  strip --> EX#1[Z=5 at ITP,D=1]
  strip --> EX#1[Y=0 at ITP,D=1]
- eval    EX#1     C:  7 dset:   1 I:    2   16  J:   44   45  K:    1    1  L:    2    3
+ eval    EX#1     C:  7 dset:   1 I:      2     16  J:   44   45  K:    1    1  L:      2      3
  strip regrid on X: TEMP --> G5_10            @ASN
  strip regrid on Y: TEMP --> XNTERMED         @ASN
  strip regrid on Z: TEMP --> YNTERMED         @ASN
  strip regrid on T: TEMP --> ZNTERMED         @ASN
- reading TEMP     M:183 dset:   1 I:    2   16  J:   44   45  K:    1    1  L:    2    3
- regrid  TEMP     M:184 dset:   1 I:    2   16  J:   44   45  K:    1    1  L:    2    3
- regrid  TEMP     M:185 dset:   1 I:    2   16  J:   44   45  K:    1    1  L:    2    3
- -DELETE TEMP     M:184 dset:   1 I:    2   16  J:   44   45  K:    1    1  L:    2    3  M: -999 -999  N: -999 -999
- regrid  TEMP     M:184 dset:   1 I:    2   16  J:   44   45  K:    1    1  L:    2    3
- -DELETE TEMP     M:185 dset:   1 I:    2   16  J:   44   45  K:    1    1  L:    2    3  M: -999 -999  N: -999 -999
- regrid  TEMP     M:185 dset:   1 I:    2   16  J:   44   45  K:    1    1  L:    2    3
- -DELETE TEMP     M:184 dset:   1 I:    2   16  J:   44   45  K:    1    1  L:    2    3  M: -999 -999  N: -999 -999
+ found   TEMP     M: 66 dset:   1 I:      1    146  J:   44   46  K:    1    2  L:      2      5
+ regrid  TEMP     M: 40 dset:   1 I:      2     16  J:   44   45  K:    1    1  L:      2      3
+ regrid  TEMP     M: 26 dset:   1 I:      2     16  J:   44   45  K:    1    1  L:      2      3
+ -DELETE TEMP     M: 40 dset:   1 I:      2     16  J:   44   45  K:    1    1  L:      2      3  M: -999 -999  N: -999 -999
+ regrid  TEMP     M: 40 dset:   1 I:      2     16  J:   44   45  K:    1    1  L:      2      3
+ -DELETE TEMP     M: 26 dset:   1 I:      2     16  J:   44   45  K:    1    1  L:      2      3  M: -999 -999  N: -999 -999
+ regrid  TEMP     M: 26 dset:   1 I:      2     16  J:   44   45  K:    1    1  L:      2      3
+ -DELETE TEMP     M: 40 dset:   1 I:      2     16  J:   44   45  K:    1    1  L:      2      3  M: -999 -999  N: -999 -999
  doing --> TEMP[Y=0 at ITP,D=1]
  doing --> TEMP[Z=5 at ITP,D=1]
  doing --> TEMP[T=21-JAN-198200:00 at ITP,D=1]
@@ -16784,220 +16789,204 @@ PPL plot 88   complete
 set region/x=180/y=20s:20n/z=5/t=21-JAN-1982
 plot temp
  dealloc  dynamic grid G5_10           XAX10     PSYU      PSZW      TAX5DAY
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DT2          PSXT1     PSYT      PSZT      TIME2
  strip --> EX#1[T=21-JAN-198200:00 at ITP,D=1]
  strip --> EX#1[X=180E at ITP,D=1]
- eval    EX#1     C:  6 dset:   1 I:   50   51  J:    5   88  K:    1    1  L:    2    3
- reading TEMP     M:188 dset:   1 I:   50   51  J:    5   88  K:    1    1  L:    2    3
+ eval    EX#1     C:  6 dset:   1 I:     50     51  J:    5   88  K:    1    1  L:      2      3
+ found   TEMP     M: 19 dset:   1 I:      1    161  J:    5   89  K:    1    2  L:      1      3
  doing --> TEMP[X=180E at ITP,D=1]
  doing --> TEMP[T=21-JAN-198200:00 at ITP,D=1]
 setting up plot
 PPL plot 89   complete
 plot/over temp[g=u]
  dealloc  dynamic grid PS3DT2          PSXT1     PSYT      PSZT      TIME2
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
  strip --> EX#1[T=21-JAN-198200:00 at ITP,D=1]
- eval    EX#1     C:  5 dset:   1 I:   50   50  J:    5   88  K:    1    1  L:    2    3
- strip regrid on X: TEMP --> PS3DU2           @LIN
- reading TEMP     M:191 dset:   1 I:   50   51  J:    5   89  K:    1    1  L:    2    3
- regrid XY
- regrid  TEMP     M:192 dset:   1 I:   50   50  J:    5   88  K:    1    1  L:    2    3
+ eval    EX#1     C:  5 dset:   1 I:     50     50  J:    5   88  K:    1    1  L:      2      3
+ found   TEMP     M: 27 dset:   1 I:      1    160  J:    1  100  K:    1    2  L:      1      3
  doing --> TEMP[T=21-JAN-198200:00 at ITP,D=1]
 setting up plot
 PPL plot 90   complete
 plot/over temp[g=g5day]
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip --> EX#1[T=21-JAN-198200:00 at ITP,D=1]
- eval    EX#1     C:  5 dset:   1 I:   50   50  J:    5   88  K:    1    1  L:    2    3
+ eval    EX#1     C:  5 dset:   1 I:     50     50  J:    5   88  K:    1    1  L:      2      3
  strip regrid on X: TEMP --> G5DAY            @LIN
  strip regrid on T: TEMP --> XNTERMED         @LIN
- reading TEMP     M:194 dset:   1 I:   50   51  J:    5   89  K:    1    1  L:    2    5
- regrid  TEMP     M:195 dset:   1 I:   50   51  J:    5   89  K:    1    1  L:    2    3
+ reading TEMP     M: 51 dset:   1 I:     50     51  J:    5   89  K:    1    1  L:      2      5
+ regrid  TEMP     M: 35 dset:   1 I:     50     51  J:    5   89  K:    1    1  L:      2      3
  regrid XY
- regrid  TEMP     M:196 dset:   1 I:   50   50  J:    5   88  K:    1    1  L:    2    3
- -DELETE TEMP     M:195 dset:   1 I:   50   51  J:    5   89  K:    1    1  L:    2    3  M: -999 -999  N: -999 -999
+ regrid  TEMP     M: 21 dset:   1 I:     50     50  J:    5   88  K:    1    1  L:      2      3
+ -DELETE TEMP     M: 35 dset:   1 I:     50     51  J:    5   89  K:    1    1  L:      2      3  M: -999 -999  N: -999 -999
  doing --> TEMP[T=21-JAN-198200:00 at ITP,D=1]
 setting up plot
 PPL plot 91   complete
 plot/over temp[g=g5_10]
  dealloc  dynamic grid G5DAY           PSXU      PSYU      PSZT      TAX5DAY
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip --> EX#1[T=21-JAN-198200:00 at ITP,D=1]
  strip --> EX#1[Z=5 at ITP,D=1]
- eval    EX#1     C:  6 dset:   1 I:    7    7  J:    5   88  K:    1    1  L:    2    3
+ eval    EX#1     C:  6 dset:   1 I:      7      7  J:    5   88  K:    1    1  L:      2      3
  strip regrid on X: TEMP --> G5_10            @LIN
  strip regrid on Z: TEMP --> XNTERMED         @LIN
  strip regrid on T: TEMP --> ZNTERMED         @LIN
- reading TEMP     M:197 dset:   1 I:   50   51  J:    5   89  K:    1    2  L:    2    5
- regrid  TEMP     M:198 dset:   1 I:   50   51  J:    5   89  K:    1    2  L:    2    3
- regrid  TEMP     M:199 dset:   1 I:   50   51  J:    5   89  K:    1    1  L:    2    3
- -DELETE TEMP     M:198 dset:   1 I:   50   51  J:    5   89  K:    1    2  L:    2    3  M: -999 -999  N: -999 -999
+ reading TEMP     M:  4 dset:   1 I:     50     51  J:    5   89  K:    1    2  L:      2      5
+ regrid  TEMP     M:  1 dset:   1 I:     50     51  J:    5   89  K:    1    2  L:      2      3
+ regrid  TEMP     M:122 dset:   1 I:     50     51  J:    5   89  K:    1    1  L:      2      3
+ -DELETE TEMP     M:  1 dset:   1 I:     50     51  J:    5   89  K:    1    2  L:      2      3  M: -999 -999  N: -999 -999
  regrid XY
- regrid  TEMP     M:198 dset:   1 I:    7    7  J:    5   88  K:    1    1  L:    2    3
- -DELETE TEMP     M:199 dset:   1 I:   50   51  J:    5   89  K:    1    1  L:    2    3  M: -999 -999  N: -999 -999
+ regrid  TEMP     M:  1 dset:   1 I:      7      7  J:    5   88  K:    1    1  L:      2      3
+ -DELETE TEMP     M:122 dset:   1 I:     50     51  J:    5   89  K:    1    1  L:      2      3  M: -999 -999  N: -999 -999
  doing --> TEMP[Z=5 at ITP,D=1]
  doing --> TEMP[T=21-JAN-198200:00 at ITP,D=1]
 setting up plot
 PPL plot 92   complete
 plot/over temp[g=u at ave]
  dealloc  dynamic grid G5_10           XAX10     PSYU      PSZW      TAX5DAY
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
  strip --> EX#1[T=21-JAN-198200:00 at ITP,D=1]
- eval    EX#1     C:  5 dset:   1 I:   50   50  J:    5   88  K:    1    1  L:    2    3
- strip regrid on X: TEMP --> PS3DU2           @AAV
- reading TEMP     M:201 dset:   1 I:   50   51  J:    5   89  K:    1    1  L:    2    3
- regrid XY
- regrid  TEMP     M:202 dset:   1 I:   50   50  J:    5   88  K:    1    1  L:    2    3
+ eval    EX#1     C:  5 dset:   1 I:     50     50  J:    5   88  K:    1    1  L:      2      3
+ found   TEMP     M: 14 dset:   1 I:      1    160  J:    1  100  K:    1    2  L:      1      3
  doing --> TEMP[T=21-JAN-198200:00 at ITP,D=1]
 setting up plot
 PPL plot 93   complete
 plot/over temp[g=g5day at ave]
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip --> EX#1[T=21-JAN-198200:00 at ITP,D=1]
- eval    EX#1     C:  5 dset:   1 I:   50   50  J:    5   88  K:    1    1  L:    2    3
+ eval    EX#1     C:  5 dset:   1 I:     50     50  J:    5   88  K:    1    1  L:      2      3
  strip regrid on X: TEMP --> G5DAY            @AAV
  strip regrid on T: TEMP --> XNTERMED         @AVE
- reading TEMP     M:204 dset:   1 I:   50   51  J:    5   89  K:    1    1  L:    2    5
- regrid  TEMP     M:205 dset:   1 I:   50   51  J:    5   89  K:    1    1  L:    2    3
+ found   TEMP     M:  4 dset:   1 I:     50     51  J:    5   89  K:    1    2  L:      2      5
+ regrid  TEMP     M: 81 dset:   1 I:     50     51  J:    5   89  K:    1    1  L:      2      3
  regrid XY
- regrid  TEMP     M:206 dset:   1 I:   50   50  J:    5   88  K:    1    1  L:    2    3
- -DELETE TEMP     M:205 dset:   1 I:   50   51  J:    5   89  K:    1    1  L:    2    3  M: -999 -999  N: -999 -999
+ regrid  TEMP     M: 65 dset:   1 I:     50     50  J:    5   88  K:    1    1  L:      2      3
+ -DELETE TEMP     M: 81 dset:   1 I:     50     51  J:    5   89  K:    1    1  L:      2      3  M: -999 -999  N: -999 -999
  doing --> TEMP[T=21-JAN-198200:00 at ITP,D=1]
 setting up plot
 PPL plot 94   complete
 plot/over temp[g=g5_10 at ave]
  dealloc  dynamic grid G5DAY           PSXU      PSYU      PSZT      TAX5DAY
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip --> EX#1[T=21-JAN-198200:00 at ITP,D=1]
  strip --> EX#1[Z=5 at ITP,D=1]
- eval    EX#1     C:  6 dset:   1 I:    7    7  J:    5   88  K:    1    1  L:    2    3
+ eval    EX#1     C:  6 dset:   1 I:      7      7  J:    5   88  K:    1    1  L:      2      3
  strip regrid on X: TEMP --> G5_10            @AAV
  strip regrid on Z: TEMP --> XNTERMED         @AVE
  strip regrid on T: TEMP --> ZNTERMED         @AVE
- reading TEMP     M:207 dset:   1 I:   45   56  J:    5   89  K:    1    2  L:    2    5
- regrid  TEMP     M:208 dset:   1 I:   45   56  J:    5   89  K:    1    2  L:    2    3
- regrid  TEMP     M:209 dset:   1 I:   45   56  J:    5   89  K:    1    1  L:    2    3
- -DELETE TEMP     M:208 dset:   1 I:   45   56  J:    5   89  K:    1    2  L:    2    3  M: -999 -999  N: -999 -999
+ reading TEMP     M: 39 dset:   1 I:     45     56  J:    5   89  K:    1    2  L:      2      5
+ regrid  TEMP     M: 22 dset:   1 I:     45     56  J:    5   89  K:    1    2  L:      2      3
+ regrid  TEMP     M: 17 dset:   1 I:     45     56  J:    5   89  K:    1    1  L:      2      3
+ -DELETE TEMP     M: 22 dset:   1 I:     45     56  J:    5   89  K:    1    2  L:      2      3  M: -999 -999  N: -999 -999
  regrid XY
- regrid  TEMP     M:208 dset:   1 I:    7    7  J:    5   88  K:    1    1  L:    2    3
- -DELETE TEMP     M:209 dset:   1 I:   45   56  J:    5   89  K:    1    1  L:    2    3  M: -999 -999  N: -999 -999
+ regrid  TEMP     M: 22 dset:   1 I:      7      7  J:    5   88  K:    1    1  L:      2      3
+ -DELETE TEMP     M: 17 dset:   1 I:     45     56  J:    5   89  K:    1    1  L:      2      3  M: -999 -999  N: -999 -999
  doing --> TEMP[Z=5 at ITP,D=1]
  doing --> TEMP[T=21-JAN-198200:00 at ITP,D=1]
 setting up plot
 PPL plot 95   complete
 plot/over temp[g=u at asn]
  dealloc  dynamic grid G5_10           XAX10     PSYU      PSZW      TAX5DAY
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
  strip --> EX#1[T=21-JAN-198200:00 at ITP,D=1]
- eval    EX#1     C:  5 dset:   1 I:   50   50  J:    5   88  K:    1    1  L:    2    3
- strip regrid on X: TEMP --> PS3DU2           @ASN
- strip regrid on Y: TEMP --> XNTERMED         @ASN
- reading TEMP     M:211 dset:   1 I:   50   50  J:    5   88  K:    1    1  L:    2    3
- regrid  TEMP     M:212 dset:   1 I:   50   50  J:    5   88  K:    1    1  L:    2    3
- regrid  TEMP     M:213 dset:   1 I:   50   50  J:    5   88  K:    1    1  L:    2    3
- -DELETE TEMP     M:212 dset:   1 I:   50   50  J:    5   88  K:    1    1  L:    2    3  M: -999 -999  N: -999 -999
+ eval    EX#1     C:  5 dset:   1 I:     50     50  J:    5   88  K:    1    1  L:      2      3
+ found   TEMP     M: 11 dset:   1 I:      1    160  J:    1  100  K:    1    2  L:      1      3
  doing --> TEMP[T=21-JAN-198200:00 at ITP,D=1]
 setting up plot
 PPL plot 96   complete
 plot/over temp[g=g5day at asn]
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip --> EX#1[T=21-JAN-198200:00 at ITP,D=1]
- eval    EX#1     C:  5 dset:   1 I:   50   50  J:    5   88  K:    1    1  L:    2    3
+ eval    EX#1     C:  5 dset:   1 I:     50     50  J:    5   88  K:    1    1  L:      2      3
  strip regrid on X: TEMP --> G5DAY            @ASN
  strip regrid on Y: TEMP --> XNTERMED         @ASN
  strip regrid on T: TEMP --> YNTERMED         @ASN
- reading TEMP     M:214 dset:   1 I:   50   50  J:    5   88  K:    1    1  L:    2    3
- regrid  TEMP     M:215 dset:   1 I:   50   50  J:    5   88  K:    1    1  L:    2    3
- regrid  TEMP     M:216 dset:   1 I:   50   50  J:    5   88  K:    1    1  L:    2    3
- -DELETE TEMP     M:215 dset:   1 I:   50   50  J:    5   88  K:    1    1  L:    2    3  M: -999 -999  N: -999 -999
- regrid  TEMP     M:215 dset:   1 I:   50   50  J:    5   88  K:    1    1  L:    2    3
- -DELETE TEMP     M:216 dset:   1 I:   50   50  J:    5   88  K:    1    1  L:    2    3  M: -999 -999  N: -999 -999
+ found   TEMP     M: 39 dset:   1 I:     45     56  J:    5   89  K:    1    2  L:      2      5
+ regrid  TEMP     M:125 dset:   1 I:     50     50  J:    5   88  K:    1    1  L:      2      3
+ regrid  TEMP     M:126 dset:   1 I:     50     50  J:    5   88  K:    1    1  L:      2      3
+ -DELETE TEMP     M:125 dset:   1 I:     50     50  J:    5   88  K:    1    1  L:      2      3  M: -999 -999  N: -999 -999
+ regrid  TEMP     M:125 dset:   1 I:     50     50  J:    5   88  K:    1    1  L:      2      3
+ -DELETE TEMP     M:126 dset:   1 I:     50     50  J:    5   88  K:    1    1  L:      2      3  M: -999 -999  N: -999 -999
  doing --> TEMP[T=21-JAN-198200:00 at ITP,D=1]
 setting up plot
 PPL plot 97   complete
 plot/over temp[g=u,gy=u at ave]
  dealloc  dynamic grid G5DAY           PSXU      PSYU      PSZT      TAX5DAY
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
  strip --> EX#1[T=21-JAN-198200:00 at ITP,D=1]
- eval    EX#1     C:  5 dset:   1 I:   50   50  J:    5   88  K:    1    1  L:    2    3
+ eval    EX#1     C:  5 dset:   1 I:     50     50  J:    5   88  K:    1    1  L:      2      3
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- strip regrid on X: TEMP --> PS3DU2           @LIN
- strip regrid on Y: TEMP --> XNTERMED         @AVE
- reading TEMP     M:217 dset:   1 I:   50   51  J:    5   89  K:    1    1  L:    2    3
- regrid  TEMP     M:218 dset:   1 I:   50   51  J:    5   88  K:    1    1  L:    2    3
- regrid  TEMP     M:219 dset:   1 I:   50   50  J:    5   88  K:    1    1  L:    2    3
- -DELETE TEMP     M:218 dset:   1 I:   50   51  J:    5   88  K:    1    1  L:    2    3  M: -999 -999  N: -999 -999
+ found   TEMP     M: 95 dset:   1 I:      1    160  J:    1  100  K:    1    2  L:      1      3
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
  doing --> TEMP[T=21-JAN-198200:00 at ITP,D=1]
 setting up plot
 PPL plot 98   complete
 plot/over temp[g=g5day,gy=g5day at ave]
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip --> EX#1[T=21-JAN-198200:00 at ITP,D=1]
- eval    EX#1     C:  5 dset:   1 I:   50   50  J:    5   88  K:    1    1  L:    2    3
+ eval    EX#1     C:  5 dset:   1 I:     50     50  J:    5   88  K:    1    1  L:      2      3
  strip regrid on X: TEMP --> G5DAY            @LIN
  strip regrid on Y: TEMP --> XNTERMED         @AVE
  strip regrid on T: TEMP --> YNTERMED         @LIN
- reading TEMP     M:220 dset:   1 I:   50   51  J:    5   89  K:    1    1  L:    2    5
- regrid  TEMP     M:221 dset:   1 I:   50   51  J:    5   89  K:    1    1  L:    2    3
- regrid  TEMP     M:222 dset:   1 I:   50   51  J:    5   88  K:    1    1  L:    2    3
- -DELETE TEMP     M:221 dset:   1 I:   50   51  J:    5   89  K:    1    1  L:    2    3  M: -999 -999  N: -999 -999
- regrid  TEMP     M:221 dset:   1 I:   50   50  J:    5   88  K:    1    1  L:    2    3
- -DELETE TEMP     M:222 dset:   1 I:   50   51  J:    5   88  K:    1    1  L:    2    3  M: -999 -999  N: -999 -999
+ found   TEMP     M: 39 dset:   1 I:     45     56  J:    5   89  K:    1    2  L:      2      5
+ regrid  TEMP     M:128 dset:   1 I:     50     51  J:    5   89  K:    1    1  L:      2      3
+ regrid  TEMP     M:129 dset:   1 I:     50     51  J:    5   88  K:    1    1  L:      2      3
+ -DELETE TEMP     M:128 dset:   1 I:     50     51  J:    5   89  K:    1    1  L:      2      3  M: -999 -999  N: -999 -999
+ regrid  TEMP     M:128 dset:   1 I:     50     50  J:    5   88  K:    1    1  L:      2      3
+ -DELETE TEMP     M:129 dset:   1 I:     50     51  J:    5   88  K:    1    1  L:      2      3  M: -999 -999  N: -999 -999
  doing --> TEMP[T=21-JAN-198200:00 at ITP,D=1]
 setting up plot
 PPL plot 99   complete
 plot/over temp[g=g5_10,gy=g5_10 at ave]
  dealloc  dynamic grid G5DAY           PSXU      PSYU      PSZT      TAX5DAY
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip --> EX#1[T=21-JAN-198200:00 at ITP,D=1]
  strip --> EX#1[Z=5 at ITP,D=1]
- eval    EX#1     C:  6 dset:   1 I:    7    7  J:    5   88  K:    1    1  L:    2    3
+ eval    EX#1     C:  6 dset:   1 I:      7      7  J:    5   88  K:    1    1  L:      2      3
  strip regrid on X: TEMP --> G5_10            @LIN
  strip regrid on Y: TEMP --> XNTERMED         @AVE
  strip regrid on Z: TEMP --> YNTERMED         @LIN
  strip regrid on T: TEMP --> ZNTERMED         @LIN
- reading TEMP     M:223 dset:   1 I:   50   51  J:    5   89  K:    1    2  L:    2    5
- regrid  TEMP     M:224 dset:   1 I:   50   51  J:    5   89  K:    1    2  L:    2    3
- regrid  TEMP     M:225 dset:   1 I:   50   51  J:    5   89  K:    1    1  L:    2    3
- -DELETE TEMP     M:224 dset:   1 I:   50   51  J:    5   89  K:    1    2  L:    2    3  M: -999 -999  N: -999 -999
- regrid  TEMP     M:224 dset:   1 I:   50   51  J:    5   88  K:    1    1  L:    2    3
- -DELETE TEMP     M:225 dset:   1 I:   50   51  J:    5   89  K:    1    1  L:    2    3  M: -999 -999  N: -999 -999
- regrid  TEMP     M:225 dset:   1 I:    7    7  J:    5   88  K:    1    1  L:    2    3
- -DELETE TEMP     M:224 dset:   1 I:   50   51  J:    5   88  K:    1    1  L:    2    3  M: -999 -999  N: -999 -999
+ found   TEMP     M: 39 dset:   1 I:     45     56  J:    5   89  K:    1    2  L:      2      5
+ regrid  TEMP     M:130 dset:   1 I:     50     51  J:    5   89  K:    1    2  L:      2      3
+ regrid  TEMP     M:131 dset:   1 I:     50     51  J:    5   89  K:    1    1  L:      2      3
+ -DELETE TEMP     M:130 dset:   1 I:     50     51  J:    5   89  K:    1    2  L:      2      3  M: -999 -999  N: -999 -999
+ regrid  TEMP     M:130 dset:   1 I:     50     51  J:    5   88  K:    1    1  L:      2      3
+ -DELETE TEMP     M:131 dset:   1 I:     50     51  J:    5   89  K:    1    1  L:      2      3  M: -999 -999  N: -999 -999
+ regrid  TEMP     M:131 dset:   1 I:      7      7  J:    5   88  K:    1    1  L:      2      3
+ -DELETE TEMP     M:130 dset:   1 I:     50     51  J:    5   88  K:    1    1  L:      2      3  M: -999 -999  N: -999 -999
  doing --> TEMP[Z=5 at ITP,D=1]
  doing --> TEMP[T=21-JAN-198200:00 at ITP,D=1]
 setting up plot
 PPL plot 100  complete
 plot/over temp[g=g5_10 at asn]  ! invalid interpretation of data
  dealloc  dynamic grid G5_10           XAX10     PSYU      PSZW      TAX5DAY
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip --> EX#1[T=21-JAN-198200:00 at ITP,D=1]
  strip --> EX#1[Z=5 at ITP,D=1]
- eval    EX#1     C:  6 dset:   1 I:    7    7  J:    5   88  K:    1    1  L:    2    3
+ eval    EX#1     C:  6 dset:   1 I:      7      7  J:    5   88  K:    1    1  L:      2      3
  strip regrid on X: TEMP --> G5_10            @ASN
  strip regrid on Y: TEMP --> XNTERMED         @ASN
  strip regrid on Z: TEMP --> YNTERMED         @ASN
  strip regrid on T: TEMP --> ZNTERMED         @ASN
- reading TEMP     M:227 dset:   1 I:    7    7  J:    5   88  K:    1    1  L:    2    3
- regrid  TEMP     M:228 dset:   1 I:    7    7  J:    5   88  K:    1    1  L:    2    3
- regrid  TEMP     M:229 dset:   1 I:    7    7  J:    5   88  K:    1    1  L:    2    3
- -DELETE TEMP     M:228 dset:   1 I:    7    7  J:    5   88  K:    1    1  L:    2    3  M: -999 -999  N: -999 -999
- regrid  TEMP     M:228 dset:   1 I:    7    7  J:    5   88  K:    1    1  L:    2    3
- -DELETE TEMP     M:229 dset:   1 I:    7    7  J:    5   88  K:    1    1  L:    2    3  M: -999 -999  N: -999 -999
- regrid  TEMP     M:229 dset:   1 I:    7    7  J:    5   88  K:    1    1  L:    2    3
- -DELETE TEMP     M:228 dset:   1 I:    7    7  J:    5   88  K:    1    1  L:    2    3  M: -999 -999  N: -999 -999
+ found   TEMP     M: 19 dset:   1 I:      1    161  J:    5   89  K:    1    2  L:      1      3
+ regrid  TEMP     M:133 dset:   1 I:      7      7  J:    5   88  K:    1    1  L:      2      3
+ regrid  TEMP     M:134 dset:   1 I:      7      7  J:    5   88  K:    1    1  L:      2      3
+ -DELETE TEMP     M:133 dset:   1 I:      7      7  J:    5   88  K:    1    1  L:      2      3  M: -999 -999  N: -999 -999
+ regrid  TEMP     M:133 dset:   1 I:      7      7  J:    5   88  K:    1    1  L:      2      3
+ -DELETE TEMP     M:134 dset:   1 I:      7      7  J:    5   88  K:    1    1  L:      2      3  M: -999 -999  N: -999 -999
+ regrid  TEMP     M:134 dset:   1 I:      7      7  J:    5   88  K:    1    1  L:      2      3
+ -DELETE TEMP     M:133 dset:   1 I:      7      7  J:    5   88  K:    1    1  L:      2      3  M: -999 -999  N: -999 -999
  doing --> TEMP[Z=5 at ITP,D=1]
  doing --> TEMP[T=21-JAN-198200:00 at ITP,D=1]
 setting up plot
@@ -17008,267 +16997,247 @@ use gtsa056_2	!kob  4/99
 set region/x=180W/y=0/z=5/t=21-JAN-1982:13-JUN-1983
 load temp[i=50:51,j=45:56,k=1:2,l=1:172]  ! preload to save time
  dealloc  dynamic grid G5_10           XAX10     PSYU      PSZW      TAX5DAY
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DT1          PSXT1     PSYT      PSZT      TIME1
- eval    EX#1     C:  4 dset:   2 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- strip moduloing TEMP on T axis:     1   172 dset:   2
- reading TEMP     M:231 dset:   2 I:   50   51  J:   45   50  K:    1    2  L:    1  168
- doing moduloing TEMP on T axis:     1   168 dset:   2
+ eval    EX#1     C:  4 dset:   2 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
+ strip moduloing TEMP on T axis:        1      172 dset:   2
+ reading TEMP     M:136 dset:   2 I:     50     51  J:   45   50  K:    1    2  L:      1    168
+ doing moduloing TEMP on T axis:        1      168 dset:   2
 plot temp
  dealloc  dynamic grid PS3DT1          PSXT1     PSYT      PSZT      TIME1
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DT1          PSXT1     PSYT      PSZT      TIME1
  strip --> EX#1[Y=0 at ITP,D=2]
  strip --> EX#1[X=180E at ITP,D=2]
- eval    EX#1     C:  6 dset:   2 I:   50   51  J:   45   46  K:    1    1  L:    3  170
- strip moduloing TEMP on T axis:     3   170 dset:   2
- reading TEMP     M:233 dset:   2 I:   50   51  J:   45   46  K:    1    1  L:    3  168
- doing moduloing TEMP on T axis:     3   168 dset:   2
- reading TEMP     M:235 dset:   2 I:   50   51  J:   45   46  K:    1    1  L:    1    2
- doing moduloing TEMP on T axis:     1     2 dset:   2
+ eval    EX#1     C:  6 dset:   2 I:     50     51  J:   45   46  K:    1    1  L:      3    170
+ found   TEMP     M:137 dset:   2 I:     50     51  J:   45   50  K:    1    2  L:      1    172
  doing --> TEMP[X=180E at ITP,D=2]
  doing --> TEMP[Y=0 at ITP,D=2]
 setting up plot
 PPL plot 102  complete
 plot/over temp[g=u]
  dealloc  dynamic grid PS3DT1          PSXT1     PSYT      PSZT      TIME1
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU1          PSXU      PSYU      PSZT      TIME1
  strip --> EX#1[Y=0 at ITP,D=2]
- eval    EX#1     C:  5 dset:   2 I:   50   50  J:   44   45  K:    1    1  L:    3  170
- strip moduloing TEMP on T axis:     3   170 dset:   2
+ eval    EX#1     C:  5 dset:   2 I:     50     50  J:   44   45  K:    1    1  L:      3    170
+ strip moduloing TEMP on T axis:        3      170 dset:   2
  strip regrid on X: TEMP --> PS3DU1           @LIN
- reading TEMP     M:238 dset:   2 I:   50   51  J:   44   46  K:    1    1  L:    3  168
+ reading TEMP     M:140 dset:   2 I:     50     51  J:   44   46  K:    1    1  L:      3    168
  regrid XY
- regrid  TEMP     M:239 dset:   2 I:   50   50  J:   44   45  K:    1    1  L:    3  168
- doing moduloing TEMP on T axis:     3   168 dset:   2
+ regrid  TEMP     M:141 dset:   2 I:     50     50  J:   44   45  K:    1    1  L:      3    168
+ doing moduloing TEMP on T axis:        3      168 dset:   2
  strip regrid on X: TEMP --> PS3DU1           @LIN
- reading TEMP     M:241 dset:   2 I:   50   51  J:   44   46  K:    1    1  L:    1    2
+ reading TEMP     M:143 dset:   2 I:     50     51  J:   44   46  K:    1    1  L:      1      2
  regrid XY
- regrid  TEMP     M:242 dset:   2 I:   50   50  J:   44   45  K:    1    1  L:    1    2
- doing moduloing TEMP on T axis:     1     2 dset:   2
+ regrid  TEMP     M:144 dset:   2 I:     50     50  J:   44   45  K:    1    1  L:      1      2
+ doing moduloing TEMP on T axis:        1        2 dset:   2
  doing --> TEMP[Y=0 at ITP,D=2]
 setting up plot
 PPL plot 103  complete
 plot/over temp[g=g5day]
  dealloc  dynamic grid PS3DU1          PSXU      PSYU      PSZT      TIME1
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip --> EX#1[Y=0 at ITP,D=2]
- eval    EX#1     C:  5 dset:   2 I:   50   50  J:   44   45  K:    1    1  L:    2  104
+ eval    EX#1     C:  5 dset:   2 I:     50     50  J:   44   45  K:    1    1  L:      2    104
  strip regrid on X: TEMP --> G5DAY            @LIN
  strip regrid on T: TEMP --> XNTERMED         @LIN
- strip moduloing TEMP on T axis:     2   171 dset:   2
- reading TEMP     M:244 dset:   2 I:   50   51  J:   44   46  K:    1    1  L:    1  168
- doing moduloing TEMP on T axis:     1   168 dset:   2
- regrid  TEMP     M:246 dset:   2 I:   50   51  J:   44   46  K:    1    1  L:    2  104
+ strip moduloing TEMP on T axis:        2      171 dset:   2
+ reading TEMP     M:146 dset:   2 I:     50     51  J:   44   46  K:    1    1  L:      1    168
+ doing moduloing TEMP on T axis:        1      168 dset:   2
+ regrid  TEMP     M:148 dset:   2 I:     50     51  J:   44   46  K:    1    1  L:      2    104
  regrid XY
- regrid  TEMP     M:247 dset:   2 I:   50   50  J:   44   45  K:    1    1  L:    2  104
- -DELETE TEMP     M:246 dset:   2 I:   50   51  J:   44   46  K:    1    1  L:    2  104  M: -999 -999  N: -999 -999
+ regrid  TEMP     M:149 dset:   2 I:     50     50  J:   44   45  K:    1    1  L:      2    104
+ -DELETE TEMP     M:148 dset:   2 I:     50     51  J:   44   46  K:    1    1  L:      2    104  M: -999 -999  N: -999 -999
  doing --> TEMP[Y=0 at ITP,D=2]
 setting up plot
 PPL plot 104  complete
 plot/over temp[g=g5_10]
  dealloc  dynamic grid G5DAY           PSXU      PSYU      PSZT      TAX5DAY
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip --> EX#1[Z=5 at ITP,D=2]
  strip --> EX#1[Y=0 at ITP,D=2]
- eval    EX#1     C:  6 dset:   2 I:    7    7  J:   44   45  K:    1    1  L:    2  104
+ eval    EX#1     C:  6 dset:   2 I:      7      7  J:   44   45  K:    1    1  L:      2    104
  strip regrid on X: TEMP --> G5_10            @LIN
  strip regrid on Z: TEMP --> XNTERMED         @LIN
  strip regrid on T: TEMP --> ZNTERMED         @LIN
- strip moduloing TEMP on T axis:     2   171 dset:   2
- reading TEMP     M:248 dset:   2 I:   50   51  J:   44   46  K:    1    2  L:    1  168
- doing moduloing TEMP on T axis:     1   168 dset:   2
- regrid  TEMP     M:250 dset:   2 I:   50   51  J:   44   46  K:    1    2  L:    2  104
- regrid  TEMP     M:251 dset:   2 I:   50   51  J:   44   46  K:    1    1  L:    2  104
- -DELETE TEMP     M:250 dset:   2 I:   50   51  J:   44   46  K:    1    2  L:    2  104  M: -999 -999  N: -999 -999
+ strip moduloing TEMP on T axis:        2      171 dset:   2
+ reading TEMP     M:150 dset:   2 I:     50     51  J:   44   46  K:    1    2  L:      1    168
+ doing moduloing TEMP on T axis:        1      168 dset:   2
+ regrid  TEMP     M:152 dset:   2 I:     50     51  J:   44   46  K:    1    2  L:      2    104
+ regrid  TEMP     M:153 dset:   2 I:     50     51  J:   44   46  K:    1    1  L:      2    104
+ -DELETE TEMP     M:152 dset:   2 I:     50     51  J:   44   46  K:    1    2  L:      2    104  M: -999 -999  N: -999 -999
  regrid XY
- regrid  TEMP     M:250 dset:   2 I:    7    7  J:   44   45  K:    1    1  L:    2  104
- -DELETE TEMP     M:251 dset:   2 I:   50   51  J:   44   46  K:    1    1  L:    2  104  M: -999 -999  N: -999 -999
+ regrid  TEMP     M:152 dset:   2 I:      7      7  J:   44   45  K:    1    1  L:      2    104
+ -DELETE TEMP     M:153 dset:   2 I:     50     51  J:   44   46  K:    1    1  L:      2    104  M: -999 -999  N: -999 -999
  doing --> TEMP[Y=0 at ITP,D=2]
  doing --> TEMP[Z=5 at ITP,D=2]
 setting up plot
 PPL plot 105  complete
 plot/over temp[g=u at ave]
  dealloc  dynamic grid G5_10           XAX10     PSYU      PSZW      TAX5DAY
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU1          PSXU      PSYU      PSZT      TIME1
  strip --> EX#1[Y=0 at ITP,D=2]
- eval    EX#1     C:  5 dset:   2 I:   50   50  J:   44   45  K:    1    1  L:    3  170
- strip moduloing TEMP on T axis:     3   170 dset:   2
+ eval    EX#1     C:  5 dset:   2 I:     50     50  J:   44   45  K:    1    1  L:      3    170
+ strip moduloing TEMP on T axis:        3      170 dset:   2
  strip regrid on X: TEMP --> PS3DU1           @AAV
- reading TEMP     M:253 dset:   2 I:   50   51  J:   44   46  K:    1    1  L:    3  168
+ found   TEMP     M:151 dset:   2 I:     50     51  J:   44   46  K:    1    2  L:      2    171
  regrid XY
- regrid  TEMP     M:254 dset:   2 I:   50   50  J:   44   45  K:    1    1  L:    3  168
- doing moduloing TEMP on T axis:     3   168 dset:   2
+ regrid  TEMP     M:155 dset:   2 I:     50     50  J:   44   45  K:    1    1  L:      3    168
+ doing moduloing TEMP on T axis:        3      168 dset:   2
  strip regrid on X: TEMP --> PS3DU1           @AAV
- reading TEMP     M:256 dset:   2 I:   50   51  J:   44   46  K:    1    1  L:    1    2
+ found   TEMP     M:150 dset:   2 I:     50     51  J:   44   46  K:    1    2  L:      1    168
  regrid XY
- regrid  TEMP     M:257 dset:   2 I:   50   50  J:   44   45  K:    1    1  L:    1    2
- doing moduloing TEMP on T axis:     1     2 dset:   2
+ regrid  TEMP     M:157 dset:   2 I:     50     50  J:   44   45  K:    1    1  L:      1      2
+ doing moduloing TEMP on T axis:        1        2 dset:   2
  doing --> TEMP[Y=0 at ITP,D=2]
 setting up plot
 PPL plot 106  complete
 plot/over temp[g=g5day at ave]
  dealloc  dynamic grid PS3DU1          PSXU      PSYU      PSZT      TIME1
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip --> EX#1[Y=0 at ITP,D=2]
- eval    EX#1     C:  5 dset:   2 I:   50   50  J:   44   45  K:    1    1  L:    2  104
+ eval    EX#1     C:  5 dset:   2 I:     50     50  J:   44   45  K:    1    1  L:      2    104
  strip regrid on X: TEMP --> G5DAY            @AAV
  strip regrid on T: TEMP --> XNTERMED         @AVE
- strip moduloing TEMP on T axis:     2   171 dset:   2
- reading TEMP     M:259 dset:   2 I:   50   51  J:   44   46  K:    1    1  L:    1  168
- doing moduloing TEMP on T axis:     1   168 dset:   2
- regrid  TEMP     M:261 dset:   2 I:   50   51  J:   44   46  K:    1    1  L:    2  104
+ found   TEMP     M:151 dset:   2 I:     50     51  J:   44   46  K:    1    2  L:      2    171
+ regrid  TEMP     M:159 dset:   2 I:     50     51  J:   44   46  K:    1    1  L:      2    104
  regrid XY
- regrid  TEMP     M:262 dset:   2 I:   50   50  J:   44   45  K:    1    1  L:    2  104
- -DELETE TEMP     M:261 dset:   2 I:   50   51  J:   44   46  K:    1    1  L:    2  104  M: -999 -999  N: -999 -999
+ regrid  TEMP     M:160 dset:   2 I:     50     50  J:   44   45  K:    1    1  L:      2    104
+ -DELETE TEMP     M:159 dset:   2 I:     50     51  J:   44   46  K:    1    1  L:      2    104  M: -999 -999  N: -999 -999
  doing --> TEMP[Y=0 at ITP,D=2]
 setting up plot
 PPL plot 107  complete
 plot/over temp[g=g5_10 at ave]
  dealloc  dynamic grid G5DAY           PSXU      PSYU      PSZT      TAX5DAY
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip --> EX#1[Z=5 at ITP,D=2]
  strip --> EX#1[Y=0 at ITP,D=2]
- eval    EX#1     C:  6 dset:   2 I:    7    7  J:   44   45  K:    1    1  L:    2  104
+ eval    EX#1     C:  6 dset:   2 I:      7      7  J:   44   45  K:    1    1  L:      2    104
  strip regrid on X: TEMP --> G5_10            @AAV
  strip regrid on Z: TEMP --> XNTERMED         @AVE
  strip regrid on T: TEMP --> ZNTERMED         @AVE
- strip moduloing TEMP on T axis:     2   171 dset:   2
- reading TEMP     M:263 dset:   2 I:   45   56  J:   44   46  K:    1    2  L:    1  168
- doing moduloing TEMP on T axis:     1   168 dset:   2
- regrid  TEMP     M:265 dset:   2 I:   45   56  J:   44   46  K:    1    2  L:    2  104
- regrid  TEMP     M:266 dset:   2 I:   45   56  J:   44   46  K:    1    1  L:    2  104
- -DELETE TEMP     M:265 dset:   2 I:   45   56  J:   44   46  K:    1    2  L:    2  104  M: -999 -999  N: -999 -999
+ strip moduloing TEMP on T axis:        2      171 dset:   2
+ reading TEMP     M:161 dset:   2 I:     45     56  J:   44   46  K:    1    2  L:      1    168
+ doing moduloing TEMP on T axis:        1      168 dset:   2
+ regrid  TEMP     M:163 dset:   2 I:     45     56  J:   44   46  K:    1    2  L:      2    104
+ regrid  TEMP     M:164 dset:   2 I:     45     56  J:   44   46  K:    1    1  L:      2    104
+ -DELETE TEMP     M:163 dset:   2 I:     45     56  J:   44   46  K:    1    2  L:      2    104  M: -999 -999  N: -999 -999
  regrid XY
- regrid  TEMP     M:265 dset:   2 I:    7    7  J:   44   45  K:    1    1  L:    2  104
- -DELETE TEMP     M:266 dset:   2 I:   45   56  J:   44   46  K:    1    1  L:    2  104  M: -999 -999  N: -999 -999
+ regrid  TEMP     M:163 dset:   2 I:      7      7  J:   44   45  K:    1    1  L:      2    104
+ -DELETE TEMP     M:164 dset:   2 I:     45     56  J:   44   46  K:    1    1  L:      2    104  M: -999 -999  N: -999 -999
  doing --> TEMP[Y=0 at ITP,D=2]
  doing --> TEMP[Z=5 at ITP,D=2]
 setting up plot
 PPL plot 108  complete
 plot/over temp[g=u at asn]
  dealloc  dynamic grid G5_10           XAX10     PSYU      PSZW      TAX5DAY
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU1          PSXU      PSYU      PSZT      TIME1
  strip --> EX#1[Y=0 at ITP,D=2]
- eval    EX#1     C:  5 dset:   2 I:   50   50  J:   44   45  K:    1    1  L:    3  170
- strip moduloing TEMP on T axis:     3   170 dset:   2
+ eval    EX#1     C:  5 dset:   2 I:     50     50  J:   44   45  K:    1    1  L:      3    170
+ strip moduloing TEMP on T axis:        3      170 dset:   2
  strip regrid on X: TEMP --> PS3DU1           @ASN
  strip regrid on Y: TEMP --> XNTERMED         @ASN
- reading TEMP     M:268 dset:   2 I:   50   50  J:   44   45  K:    1    1  L:    3  168
- regrid  TEMP     M:269 dset:   2 I:   50   50  J:   44   45  K:    1    1  L:    3  168
- regrid  TEMP     M:270 dset:   2 I:   50   50  J:   44   45  K:    1    1  L:    3  168
- -DELETE TEMP     M:269 dset:   2 I:   50   50  J:   44   45  K:    1    1  L:    3  168  M: -999 -999  N: -999 -999
- doing moduloing TEMP on T axis:     3   168 dset:   2
+ found   TEMP     M:162 dset:   2 I:     45     56  J:   44   46  K:    1    2  L:      2    171
+ regrid  TEMP     M:166 dset:   2 I:     50     50  J:   44   45  K:    1    1  L:      3    168
+ regrid  TEMP     M:167 dset:   2 I:     50     50  J:   44   45  K:    1    1  L:      3    168
+ -DELETE TEMP     M:166 dset:   2 I:     50     50  J:   44   45  K:    1    1  L:      3    168  M: -999 -999  N: -999 -999
+ doing moduloing TEMP on T axis:        3      168 dset:   2
  strip regrid on X: TEMP --> PS3DU1           @ASN
  strip regrid on Y: TEMP --> XNTERMED         @ASN
- reading TEMP     M:271 dset:   2 I:   50   50  J:   44   45  K:    1    1  L:    1    2
- regrid  TEMP     M:272 dset:   2 I:   50   50  J:   44   45  K:    1    1  L:    1    2
- regrid  TEMP     M:273 dset:   2 I:   50   50  J:   44   45  K:    1    1  L:    1    2
- -DELETE TEMP     M:272 dset:   2 I:   50   50  J:   44   45  K:    1    1  L:    1    2  M: -999 -999  N: -999 -999
- doing moduloing TEMP on T axis:     1     2 dset:   2
+ found   TEMP     M:161 dset:   2 I:     45     56  J:   44   46  K:    1    2  L:      1    168
+ regrid  TEMP     M:168 dset:   2 I:     50     50  J:   44   45  K:    1    1  L:      1      2
+ regrid  TEMP     M:169 dset:   2 I:     50     50  J:   44   45  K:    1    1  L:      1      2
+ -DELETE TEMP     M:168 dset:   2 I:     50     50  J:   44   45  K:    1    1  L:      1      2  M: -999 -999  N: -999 -999
+ doing moduloing TEMP on T axis:        1        2 dset:   2
  doing --> TEMP[Y=0 at ITP,D=2]
 setting up plot
 PPL plot 109  complete
 plot/over temp[g=g5_10 at asn]
  dealloc  dynamic grid PS3DU1          PSXU      PSYU      PSZT      TIME1
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip --> EX#1[Z=5 at ITP,D=2]
  strip --> EX#1[Y=0 at ITP,D=2]
- eval    EX#1     C:  6 dset:   2 I:    7    7  J:   44   45  K:    1    1  L:    2  104
+ eval    EX#1     C:  6 dset:   2 I:      7      7  J:   44   45  K:    1    1  L:      2    104
  strip regrid on X: TEMP --> G5_10            @ASN
  strip regrid on Y: TEMP --> XNTERMED         @ASN
  strip regrid on Z: TEMP --> YNTERMED         @ASN
  strip regrid on T: TEMP --> ZNTERMED         @ASN
- reading TEMP     M:274 dset:   2 I:    7    7  J:   44   45  K:    1    1  L:    2  104
- regrid  TEMP     M:275 dset:   2 I:    7    7  J:   44   45  K:    1    1  L:    2  104
- regrid  TEMP     M:276 dset:   2 I:    7    7  J:   44   45  K:    1    1  L:    2  104
- -DELETE TEMP     M:275 dset:   2 I:    7    7  J:   44   45  K:    1    1  L:    2  104  M: -999 -999  N: -999 -999
- regrid  TEMP     M:275 dset:   2 I:    7    7  J:   44   45  K:    1    1  L:    2  104
- -DELETE TEMP     M:276 dset:   2 I:    7    7  J:   44   45  K:    1    1  L:    2  104  M: -999 -999  N: -999 -999
- regrid  TEMP     M:276 dset:   2 I:    7    7  J:   44   45  K:    1    1  L:    2  104
- -DELETE TEMP     M:275 dset:   2 I:    7    7  J:   44   45  K:    1    1  L:    2  104  M: -999 -999  N: -999 -999
+ reading TEMP     M:170 dset:   2 I:      7      7  J:   44   45  K:    1    1  L:      2    104
+ regrid  TEMP     M:171 dset:   2 I:      7      7  J:   44   45  K:    1    1  L:      2    104
+ regrid  TEMP     M:172 dset:   2 I:      7      7  J:   44   45  K:    1    1  L:      2    104
+ -DELETE TEMP     M:171 dset:   2 I:      7      7  J:   44   45  K:    1    1  L:      2    104  M: -999 -999  N: -999 -999
+ regrid  TEMP     M:171 dset:   2 I:      7      7  J:   44   45  K:    1    1  L:      2    104
+ -DELETE TEMP     M:172 dset:   2 I:      7      7  J:   44   45  K:    1    1  L:      2    104  M: -999 -999  N: -999 -999
+ regrid  TEMP     M:172 dset:   2 I:      7      7  J:   44   45  K:    1    1  L:      2    104
+ -DELETE TEMP     M:171 dset:   2 I:      7      7  J:   44   45  K:    1    1  L:      2    104  M: -999 -999  N: -999 -999
  doing --> TEMP[Y=0 at ITP,D=2]
  doing --> TEMP[Z=5 at ITP,D=2]
 setting up plot
 PPL plot 110  complete
 plot/over temp[g=u,gt=u at ave]
  dealloc  dynamic grid G5_10           XAX10     PSYU      PSZW      TAX5DAY
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU1          PSXU      PSYU      PSZT      TIME1
  dealloc  dynamic grid PS3DU1          PSXU      PSYU      PSZT      TIME1
  allocate dynamic grid PS3DU1          PSXU      PSYU      PSZT      TIME1
  strip --> EX#1[Y=0 at ITP,D=2]
- eval    EX#1     C:  5 dset:   2 I:   50   50  J:   44   45  K:    1    1  L:    3  170
+ eval    EX#1     C:  5 dset:   2 I:     50     50  J:   44   45  K:    1    1  L:      3    170
  allocate dynamic grid PS3DU1          PSXU      PSYU      PSZT      TIME1
- strip moduloing TEMP on T axis:     3   170 dset:   2
- strip regrid on X: TEMP --> PS3DU1           @LIN
- reading TEMP     M:278 dset:   2 I:   50   51  J:   44   46  K:    1    1  L:    3  168
- regrid XY
- regrid  TEMP     M:279 dset:   2 I:   50   50  J:   44   45  K:    1    1  L:    3  168
- doing moduloing TEMP on T axis:     3   168 dset:   2
- strip regrid on X: TEMP --> PS3DU1           @LIN
- reading TEMP     M:281 dset:   2 I:   50   51  J:   44   46  K:    1    1  L:    1    2
- regrid XY
- regrid  TEMP     M:282 dset:   2 I:   50   50  J:   44   45  K:    1    1  L:    1    2
- doing moduloing TEMP on T axis:     1     2 dset:   2
+ found   TEMP     M:142 dset:   2 I:     50     50  J:   44   45  K:    1    1  L:      3    170
  dealloc  dynamic grid PS3DU1          PSXU      PSYU      PSZT      TIME1
  doing --> TEMP[Y=0 at ITP,D=2]
 setting up plot
 PPL plot 111  complete
 plot/over temp[g=g5day,gt=g5day at ave]
  dealloc  dynamic grid PS3DU1          PSXU      PSYU      PSZT      TIME1
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip --> EX#1[Y=0 at ITP,D=2]
- eval    EX#1     C:  5 dset:   2 I:   50   50  J:   44   45  K:    1    1  L:    2  104
+ eval    EX#1     C:  5 dset:   2 I:     50     50  J:   44   45  K:    1    1  L:      2    104
  strip regrid on X: TEMP --> G5DAY            @LIN
  strip regrid on T: TEMP --> XNTERMED         @AVE
- strip moduloing TEMP on T axis:     2   171 dset:   2
- reading TEMP     M:284 dset:   2 I:   50   51  J:   44   46  K:    1    1  L:    1  168
- doing moduloing TEMP on T axis:     1   168 dset:   2
- regrid  TEMP     M:286 dset:   2 I:   50   51  J:   44   46  K:    1    1  L:    2  104
+ found   TEMP     M:162 dset:   2 I:     45     56  J:   44   46  K:    1    2  L:      2    171
+ regrid  TEMP     M:175 dset:   2 I:     50     51  J:   44   46  K:    1    1  L:      2    104
  regrid XY
- regrid  TEMP     M:287 dset:   2 I:   50   50  J:   44   45  K:    1    1  L:    2  104
- -DELETE TEMP     M:286 dset:   2 I:   50   51  J:   44   46  K:    1    1  L:    2  104  M: -999 -999  N: -999 -999
+ regrid  TEMP     M:176 dset:   2 I:     50     50  J:   44   45  K:    1    1  L:      2    104
+ -DELETE TEMP     M:175 dset:   2 I:     50     51  J:   44   46  K:    1    1  L:      2    104  M: -999 -999  N: -999 -999
  doing --> TEMP[Y=0 at ITP,D=2]
 setting up plot
 PPL plot 112  complete
 plot/over temp[g=g5_10,gt=g5_10 at ave]
  dealloc  dynamic grid G5DAY           PSXU      PSYU      PSZT      TAX5DAY
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip --> EX#1[Z=5 at ITP,D=2]
  strip --> EX#1[Y=0 at ITP,D=2]
- eval    EX#1     C:  6 dset:   2 I:    7    7  J:   44   45  K:    1    1  L:    2  104
+ eval    EX#1     C:  6 dset:   2 I:      7      7  J:   44   45  K:    1    1  L:      2    104
  strip regrid on X: TEMP --> G5_10            @LIN
  strip regrid on Z: TEMP --> XNTERMED         @LIN
  strip regrid on T: TEMP --> ZNTERMED         @AVE
- strip moduloing TEMP on T axis:     2   171 dset:   2
- reading TEMP     M:288 dset:   2 I:   50   51  J:   44   46  K:    1    2  L:    1  168
- doing moduloing TEMP on T axis:     1   168 dset:   2
- regrid  TEMP     M:290 dset:   2 I:   50   51  J:   44   46  K:    1    2  L:    2  104
- regrid  TEMP     M:291 dset:   2 I:   50   51  J:   44   46  K:    1    1  L:    2  104
- -DELETE TEMP     M:290 dset:   2 I:   50   51  J:   44   46  K:    1    2  L:    2  104  M: -999 -999  N: -999 -999
+ found   TEMP     M:162 dset:   2 I:     45     56  J:   44   46  K:    1    2  L:      2    171
+ regrid  TEMP     M:177 dset:   2 I:     50     51  J:   44   46  K:    1    2  L:      2    104
+ regrid  TEMP     M:178 dset:   2 I:     50     51  J:   44   46  K:    1    1  L:      2    104
+ -DELETE TEMP     M:177 dset:   2 I:     50     51  J:   44   46  K:    1    2  L:      2    104  M: -999 -999  N: -999 -999
  regrid XY
- regrid  TEMP     M:290 dset:   2 I:    7    7  J:   44   45  K:    1    1  L:    2  104
- -DELETE TEMP     M:291 dset:   2 I:   50   51  J:   44   46  K:    1    1  L:    2  104  M: -999 -999  N: -999 -999
+ regrid  TEMP     M:177 dset:   2 I:      7      7  J:   44   45  K:    1    1  L:      2    104
+ -DELETE TEMP     M:178 dset:   2 I:     50     51  J:   44   46  K:    1    1  L:      2    104  M: -999 -999  N: -999 -999
  doing --> TEMP[Y=0 at ITP,D=2]
  doing --> TEMP[Z=5 at ITP,D=2]
 setting up plot
 PPL plot 113  complete
 plot/over temp[g=g5day,gt=g5day at asn]  ! invalid interpretation of data
  dealloc  dynamic grid G5_10           XAX10     PSYU      PSZW      TAX5DAY
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip --> EX#1[Y=0 at ITP,D=2]
- eval    EX#1     C:  5 dset:   2 I:   50   50  J:   44   45  K:    1    1  L:    2  104
+ eval    EX#1     C:  5 dset:   2 I:     50     50  J:   44   45  K:    1    1  L:      2    104
  strip regrid on X: TEMP --> G5DAY            @LIN
  strip regrid on T: TEMP --> XNTERMED         @ASN
- reading TEMP     M:293 dset:   2 I:   50   51  J:   44   46  K:    1    1  L:    2  104
- regrid  TEMP     M:294 dset:   2 I:   50   51  J:   44   46  K:    1    1  L:    2  104
+ found   TEMP     M:162 dset:   2 I:     45     56  J:   44   46  K:    1    2  L:      2    171
+ regrid  TEMP     M:180 dset:   2 I:     50     51  J:   44   46  K:    1    1  L:      2    104
  regrid XY
- regrid  TEMP     M:295 dset:   2 I:   50   50  J:   44   45  K:    1    1  L:    2  104
- -DELETE TEMP     M:294 dset:   2 I:   50   51  J:   44   46  K:    1    1  L:    2  104  M: -999 -999  N: -999 -999
+ regrid  TEMP     M:181 dset:   2 I:     50     50  J:   44   45  K:    1    1  L:      2    104
+ -DELETE TEMP     M:180 dset:   2 I:     50     51  J:   44   46  K:    1    1  L:      2    104  M: -999 -999  N: -999 -999
  doing --> TEMP[Y=0 at ITP,D=2]
 setting up plot
 PPL plot 114  complete
@@ -17287,22 +17256,22 @@ let a2 = x[gx=x2pt]
  
 list a1[gx=xoffset at ave]
  dealloc  dynamic grid G5DAY           PSXU      PSYU      PSZT      TAX5DAY
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid A1       C:  7 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid A1       C:  7 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G009)          X1PT      NORMAL    NORMAL    NORMAL
  dealloc  dynamic grid (G009)          X1PT      NORMAL    NORMAL    NORMAL
  allocate dynamic grid (G009)          X1PT      NORMAL    NORMAL    NORMAL
  allocate dynamic grid (G011)          XOFFSET   NORMAL    NORMAL    NORMAL
  dealloc  dynamic grid (G011)          XOFFSET   NORMAL    NORMAL    NORMAL
  allocate dynamic grid (G011)          XOFFSET   NORMAL    NORMAL    NORMAL
- eval    EX#1     C:  4 dset:   2 I:    1    7  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  4 dset:   2 I:      1      7  J: -999 -999  K: -999 -999  L:   -999   -999
  allocate dynamic grid (G011)          XOFFSET   NORMAL    NORMAL    NORMAL
  strip regrid on X: A1 --> (G011)           @AVE
- eval    A1       C:  7 dset:   0 I:    1    1  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    A1       C:  7 dset:   0 I:      1      1  J: -999 -999  K: -999 -999  L:   -999   -999
  allocate dynamic grid (G009)          X1PT      NORMAL    NORMAL    NORMAL
- pseudo  X        M:296 dset:   0 I:    1    1  J: -999 -999  K: -999 -999  L: -999 -999
+ pseudo  X        M:182 dset:   0 I:      1      1  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid (G009)          X1PT      NORMAL    NORMAL    NORMAL
- regrid  A1       M:298 dset:   0 I:    1    7  J: -999 -999  K: -999 -999  L: -999 -999
+ regrid  A1       M:184 dset:   0 I:      1      7  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid (G011)          XOFFSET   NORMAL    NORMAL    NORMAL
              VARIABLE : X[GX=X1PT]
                         regrid: 1 delta on X at AVE
@@ -17315,21 +17284,18 @@ list a1[gx=xoffset at ave]
  6.1 / 6:     ....
  7.1 / 7:     ....
 list a1[gx=xoffset at sum] ! should sum to 5
- -DELETE X        M:296 dset:   0 I:    1    1  J: -999 -999  K: -999 -999  L: -999 -999
+ -DELETE X        M:182 dset:   0 I:      1      1  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid (G011)          XOFFSET   NORMAL    NORMAL    NORMAL
- -DELETE A1       M:298 dset:   0 I:    1    7  J: -999 -999  K: -999 -999  L: -999 -999
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ -DELETE A1       M:184 dset:   0 I:      1      7  J: -999 -999  K: -999 -999  L:   -999   -999
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G011)          XOFFSET   NORMAL    NORMAL    NORMAL
  dealloc  dynamic grid (G011)          XOFFSET   NORMAL    NORMAL    NORMAL
  allocate dynamic grid (G011)          XOFFSET   NORMAL    NORMAL    NORMAL
- eval    EX#1     C:  4 dset:   2 I:    1    7  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  4 dset:   2 I:      1      7  J: -999 -999  K: -999 -999  L:   -999   -999
  allocate dynamic grid (G011)          XOFFSET   NORMAL    NORMAL    NORMAL
  strip regrid on X: A1 --> (G011)           @SUM
- eval    A1       C:  7 dset:   0 I:    1    1  J: -999 -999  K: -999 -999  L: -999 -999
- allocate dynamic grid (G009)          X1PT      NORMAL    NORMAL    NORMAL
- pseudo  X        M:298 dset:   0 I:    1    1  J: -999 -999  K: -999 -999  L: -999 -999
- dealloc  dynamic grid (G009)          X1PT      NORMAL    NORMAL    NORMAL
- regrid  A1       M:299 dset:   0 I:    1    7  J: -999 -999  K: -999 -999  L: -999 -999
+ found   A1       M:183 dset:   0 I:      1      1  J: -999 -999  K: -999 -999  L:   -999   -999
+ regrid  A1       M:184 dset:   0 I:      1      7  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid (G011)          XOFFSET   NORMAL    NORMAL    NORMAL
              VARIABLE : X[GX=X1PT]
                         regrid: 1 delta on X at SUM
@@ -17342,21 +17308,17 @@ list a1[gx=xoffset at sum] ! should sum to 5
  6.1 / 6:     ....
  7.1 / 7:     ....
 list a1[gx=xoffset at var] ! should be all missing
- -DELETE X        M:298 dset:   0 I:    1    1  J: -999 -999  K: -999 -999  L: -999 -999
  dealloc  dynamic grid (G011)          XOFFSET   NORMAL    NORMAL    NORMAL
- -DELETE A1       M:299 dset:   0 I:    1    7  J: -999 -999  K: -999 -999  L: -999 -999
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ -DELETE A1       M:184 dset:   0 I:      1      7  J: -999 -999  K: -999 -999  L:   -999   -999
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G011)          XOFFSET   NORMAL    NORMAL    NORMAL
  dealloc  dynamic grid (G011)          XOFFSET   NORMAL    NORMAL    NORMAL
  allocate dynamic grid (G011)          XOFFSET   NORMAL    NORMAL    NORMAL
- eval    EX#1     C:  4 dset:   2 I:    1    7  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  4 dset:   2 I:      1      7  J: -999 -999  K: -999 -999  L:   -999   -999
  allocate dynamic grid (G011)          XOFFSET   NORMAL    NORMAL    NORMAL
  strip regrid on X: A1 --> (G011)           @VAR
- eval    A1       C:  7 dset:   0 I:    1    1  J: -999 -999  K: -999 -999  L: -999 -999
- allocate dynamic grid (G009)          X1PT      NORMAL    NORMAL    NORMAL
- pseudo  X        M:299 dset:   0 I:    1    1  J: -999 -999  K: -999 -999  L: -999 -999
- dealloc  dynamic grid (G009)          X1PT      NORMAL    NORMAL    NORMAL
- regrid  A1       M:300 dset:   0 I:    1    7  J: -999 -999  K: -999 -999  L: -999 -999
+ found   A1       M:183 dset:   0 I:      1      1  J: -999 -999  K: -999 -999  L:   -999   -999
+ regrid  A1       M:184 dset:   0 I:      1      7  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid (G011)          XOFFSET   NORMAL    NORMAL    NORMAL
              VARIABLE : Variance of X[GX=X1PT]
                         regrid: 1 delta on X at VAR
@@ -17370,25 +17332,24 @@ list a1[gx=xoffset at var] ! should be all missing
  7.1 / 7:....
  
 list a2[gx=xoffset at ave]
- -DELETE X        M:299 dset:   0 I:    1    1  J: -999 -999  K: -999 -999  L: -999 -999
  dealloc  dynamic grid (G011)          XOFFSET   NORMAL    NORMAL    NORMAL
- -DELETE A1       M:300 dset:   0 I:    1    7  J: -999 -999  K: -999 -999  L: -999 -999
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid A2       C:  7 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ -DELETE A1       M:184 dset:   0 I:      1      7  J: -999 -999  K: -999 -999  L:   -999   -999
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid A2       C:  7 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G011)          X2PT      NORMAL    NORMAL    NORMAL
  dealloc  dynamic grid (G011)          X2PT      NORMAL    NORMAL    NORMAL
  allocate dynamic grid (G011)          X2PT      NORMAL    NORMAL    NORMAL
  allocate dynamic grid (G006)          XOFFSET   NORMAL    NORMAL    NORMAL
  dealloc  dynamic grid (G006)          XOFFSET   NORMAL    NORMAL    NORMAL
  allocate dynamic grid (G006)          XOFFSET   NORMAL    NORMAL    NORMAL
- eval    EX#1     C:  4 dset:   2 I:    1    7  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  4 dset:   2 I:      1      7  J: -999 -999  K: -999 -999  L:   -999   -999
  allocate dynamic grid (G006)          XOFFSET   NORMAL    NORMAL    NORMAL
  strip regrid on X: A2 --> (G006)           @AVE
- eval    A2       C:  7 dset:   0 I:    1    2  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    A2       C:  7 dset:   0 I:      1      2  J: -999 -999  K: -999 -999  L:   -999   -999
  allocate dynamic grid (G011)          X2PT      NORMAL    NORMAL    NORMAL
- pseudo  X        M:300 dset:   0 I:    1    2  J: -999 -999  K: -999 -999  L: -999 -999
+ pseudo  X        M:184 dset:   0 I:      1      2  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid (G011)          X2PT      NORMAL    NORMAL    NORMAL
- regrid  A2       M:301 dset:   0 I:    1    7  J: -999 -999  K: -999 -999  L: -999 -999
+ regrid  A2       M:185 dset:   0 I:      1      7  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid (G006)          XOFFSET   NORMAL    NORMAL    NORMAL
              VARIABLE : X[GX=X2PT]
                         regrid: 1 delta on X at AVE
@@ -17401,21 +17362,18 @@ list a2[gx=xoffset at ave]
  6.1 / 6:  6.00000
  7.1 / 7:     ....
 list a2[gx=xoffset at sum] ! should sum to 5+6=11
- -DELETE X        M:300 dset:   0 I:    1    2  J: -999 -999  K: -999 -999  L: -999 -999
+ -DELETE X        M:184 dset:   0 I:      1      2  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid (G006)          XOFFSET   NORMAL    NORMAL    NORMAL
- -DELETE A2       M:301 dset:   0 I:    1    7  J: -999 -999  K: -999 -999  L: -999 -999
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ -DELETE A2       M:185 dset:   0 I:      1      7  J: -999 -999  K: -999 -999  L:   -999   -999
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G006)          XOFFSET   NORMAL    NORMAL    NORMAL
  dealloc  dynamic grid (G006)          XOFFSET   NORMAL    NORMAL    NORMAL
  allocate dynamic grid (G006)          XOFFSET   NORMAL    NORMAL    NORMAL
- eval    EX#1     C:  4 dset:   2 I:    1    7  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  4 dset:   2 I:      1      7  J: -999 -999  K: -999 -999  L:   -999   -999
  allocate dynamic grid (G006)          XOFFSET   NORMAL    NORMAL    NORMAL
  strip regrid on X: A2 --> (G006)           @SUM
- eval    A2       C:  7 dset:   0 I:    1    2  J: -999 -999  K: -999 -999  L: -999 -999
- allocate dynamic grid (G011)          X2PT      NORMAL    NORMAL    NORMAL
- pseudo  X        M:301 dset:   0 I:    1    2  J: -999 -999  K: -999 -999  L: -999 -999
- dealloc  dynamic grid (G011)          X2PT      NORMAL    NORMAL    NORMAL
- regrid  A2       M:302 dset:   0 I:    1    7  J: -999 -999  K: -999 -999  L: -999 -999
+ found   A2       M:182 dset:   0 I:      1      2  J: -999 -999  K: -999 -999  L:   -999   -999
+ regrid  A2       M:185 dset:   0 I:      1      7  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid (G006)          XOFFSET   NORMAL    NORMAL    NORMAL
              VARIABLE : X[GX=X2PT]
                         regrid: 1 delta on X at SUM
@@ -17428,21 +17386,17 @@ list a2[gx=xoffset at sum] ! should sum to 5+6=11
  6.1 / 6:  5.40000
  7.1 / 7:     ....
 list a2[gx=xoffset at var]
- -DELETE X        M:301 dset:   0 I:    1    2  J: -999 -999  K: -999 -999  L: -999 -999
  dealloc  dynamic grid (G006)          XOFFSET   NORMAL    NORMAL    NORMAL
- -DELETE A2       M:302 dset:   0 I:    1    7  J: -999 -999  K: -999 -999  L: -999 -999
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ -DELETE A2       M:185 dset:   0 I:      1      7  J: -999 -999  K: -999 -999  L:   -999   -999
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G006)          XOFFSET   NORMAL    NORMAL    NORMAL
  dealloc  dynamic grid (G006)          XOFFSET   NORMAL    NORMAL    NORMAL
  allocate dynamic grid (G006)          XOFFSET   NORMAL    NORMAL    NORMAL
- eval    EX#1     C:  4 dset:   2 I:    1    7  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  4 dset:   2 I:      1      7  J: -999 -999  K: -999 -999  L:   -999   -999
  allocate dynamic grid (G006)          XOFFSET   NORMAL    NORMAL    NORMAL
  strip regrid on X: A2 --> (G006)           @VAR
- eval    A2       C:  7 dset:   0 I:    1    2  J: -999 -999  K: -999 -999  L: -999 -999
- allocate dynamic grid (G011)          X2PT      NORMAL    NORMAL    NORMAL
- pseudo  X        M:302 dset:   0 I:    1    2  J: -999 -999  K: -999 -999  L: -999 -999
- dealloc  dynamic grid (G011)          X2PT      NORMAL    NORMAL    NORMAL
- regrid  A2       M:303 dset:   0 I:    1    7  J: -999 -999  K: -999 -999  L: -999 -999
+ found   A2       M:182 dset:   0 I:      1      2  J: -999 -999  K: -999 -999  L:   -999   -999
+ regrid  A2       M:185 dset:   0 I:      1      7  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid (G006)          XOFFSET   NORMAL    NORMAL    NORMAL
              VARIABLE : Variance of X[GX=X2PT]
                         regrid: 1 delta on X at VAR
@@ -17462,21 +17416,16 @@ define axis/y=5:6:1 y2pt
  
 let a1 = x[gx=x1pt]+y[gy=y1pt]
  dealloc  dynamic grid (G006)          XOFFSET   NORMAL    NORMAL    NORMAL
- -DELETE A2       M:303 dset:   0 I:    1    7  J: -999 -999  K: -999 -999  L: -999 -999
- -DELETE A2       M:299 dset:   0 I:    1    2  J: -999 -999  K: -999 -999  L: -999 -999
- -DELETE A2       M:300 dset:   0 I:    1    2  J: -999 -999  K: -999 -999  L: -999 -999
- -DELETE A2       M:301 dset:   0 I:    1    2  J: -999 -999  K: -999 -999  L: -999 -999
+ -DELETE A2       M:185 dset:   0 I:      1      7  J: -999 -999  K: -999 -999  L:   -999   -999
+ -DELETE A2       M:182 dset:   0 I:      1      2  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid (G011)          X2PT      NORMAL    NORMAL    NORMAL
- -DELETE X        M:302 dset:   0 I:    1    2  J: -999 -999  K: -999 -999  L: -999 -999
- -DELETE A1       M:296 dset:   0 I:    1    1  J: -999 -999  K: -999 -999  L: -999 -999
- -DELETE A1       M:297 dset:   0 I:    1    1  J: -999 -999  K: -999 -999  L: -999 -999
- -DELETE A1       M:298 dset:   0 I:    1    1  J: -999 -999  K: -999 -999  L: -999 -999
+ -DELETE A1       M:183 dset:   0 I:      1      1  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid (G009)          X1PT      NORMAL    NORMAL    NORMAL
 let a2 = x[gx=x2pt]+y[gy=y2pt]
  
 list a1[gx=xoffset at ave, gy=yoffset at ave]
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid A1       C:  7 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid A1       C:  7 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G009)          NORMAL    Y1PT      NORMAL    NORMAL
  dealloc  dynamic grid (G009)          NORMAL    Y1PT      NORMAL    NORMAL
  allocate dynamic grid (G009)          X1PT      NORMAL    NORMAL    NORMAL
@@ -17485,22 +17434,22 @@ list a1[gx=xoffset at ave, gy=yoffset at ave]
  allocate dynamic grid (G011)          XOFFSET   YOFFSET   NORMAL    NORMAL
  dealloc  dynamic grid (G011)          XOFFSET   YOFFSET   NORMAL    NORMAL
  allocate dynamic grid (G011)          XOFFSET   YOFFSET   NORMAL    NORMAL
- eval    EX#1     C:  4 dset:   2 I:    1    7  J:    1    7  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  4 dset:   2 I:      1      7  J:    1    7  K: -999 -999  L:   -999   -999
  allocate dynamic grid (G011)          XOFFSET   YOFFSET   NORMAL    NORMAL
  strip regrid on X: A1 --> (G011)           @AVE
  strip regrid on Y: A1 --> XNTERMED         @AVE
- eval    A1       C:  8 dset:   0 I:    1    1  J:    1    1  K: -999 -999  L: -999 -999
+ eval    A1       C:  8 dset:   0 I:      1      1  J:    1    1  K: -999 -999  L:   -999   -999
  allocate dynamic grid (G006)          X1PT      NORMAL    NORMAL    NORMAL
- pseudo  X        M:298 dset:   0 I:    1    1  J: -999 -999  K: -999 -999  L: -999 -999
+ pseudo  X        M:183 dset:   0 I:      1      1  J: -999 -999  K: -999 -999  L:   -999   -999
  allocate dynamic grid (G010)          NORMAL    Y1PT      NORMAL    NORMAL
- pseudo  Y        M:297 dset:   0 I: -999 -999  J:    1    1  K: -999 -999  L: -999 -999
- -DELETE Y        M:297 dset:   0 I: -999 -999  J:    1    1  K: -999 -999  L: -999 -999
+ pseudo  Y        M:182 dset:   0 I:   -999   -999  J:    1    1  K: -999 -999  L:   -999   -999
+ -DELETE Y        M:182 dset:   0 I:   -999   -999  J:    1    1  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid (G010)          NORMAL    Y1PT      NORMAL    NORMAL
- -DELETE X        M:298 dset:   0 I:    1    1  J: -999 -999  K: -999 -999  L: -999 -999
+ -DELETE X        M:183 dset:   0 I:      1      1  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid (G006)          X1PT      NORMAL    NORMAL    NORMAL
- regrid  A1       M:298 dset:   0 I:    1    1  J:    1    7  K: -999 -999  L: -999 -999
- regrid  A1       M:297 dset:   0 I:    1    7  J:    1    7  K: -999 -999  L: -999 -999
- -DELETE A1       M:298 dset:   0 I:    1    1  J:    1    7  K: -999 -999  L: -999 -999  M: -999 -999  N: -999 -999
+ regrid  A1       M:183 dset:   0 I:      1      1  J:    1    7  K: -999 -999  L:   -999   -999
+ regrid  A1       M:182 dset:   0 I:      1      7  J:    1    7  K: -999 -999  L:   -999   -999
+ -DELETE A1       M:183 dset:   0 I:      1      1  J:    1    7  K: -999 -999  L:   -999   -999  M: -999 -999  N: -999 -999
  dealloc  dynamic grid (G011)          XOFFSET   YOFFSET   NORMAL    NORMAL
              VARIABLE : X[GX=X1PT]+Y[GY=Y1PT]
                         regrid: 1 delta on X at AVE, 1 delta on Y at AVE
@@ -17516,27 +17465,19 @@ list a1[gx=xoffset at ave, gy=yoffset at ave]
  7.1 / 7:     ....     ....     ....     ....     ....     ....     ....
 list a1[gx=xoffset at sum, gy=yoffset at sum] ! should sum to 10
  dealloc  dynamic grid (G011)          XOFFSET   YOFFSET   NORMAL    NORMAL
- -DELETE A1       M:297 dset:   0 I:    1    7  J:    1    7  K: -999 -999  L: -999 -999
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ -DELETE A1       M:182 dset:   0 I:      1      7  J:    1    7  K: -999 -999  L:   -999   -999
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G011)          XOFFSET   YOFFSET   NORMAL    NORMAL
  dealloc  dynamic grid (G011)          XOFFSET   YOFFSET   NORMAL    NORMAL
  allocate dynamic grid (G011)          XOFFSET   YOFFSET   NORMAL    NORMAL
- eval    EX#1     C:  4 dset:   2 I:    1    7  J:    1    7  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  4 dset:   2 I:      1      7  J:    1    7  K: -999 -999  L:   -999   -999
  allocate dynamic grid (G011)          XOFFSET   YOFFSET   NORMAL    NORMAL
  strip regrid on X: A1 --> (G011)           @SUM
  strip regrid on Y: A1 --> XNTERMED         @SUM
- eval    A1       C:  8 dset:   0 I:    1    1  J:    1    1  K: -999 -999  L: -999 -999
- allocate dynamic grid (G006)          X1PT      NORMAL    NORMAL    NORMAL
- pseudo  X        M:297 dset:   0 I:    1    1  J: -999 -999  K: -999 -999  L: -999 -999
- allocate dynamic grid (G010)          NORMAL    Y1PT      NORMAL    NORMAL
- pseudo  Y        M:298 dset:   0 I: -999 -999  J:    1    1  K: -999 -999  L: -999 -999
- -DELETE Y        M:298 dset:   0 I: -999 -999  J:    1    1  K: -999 -999  L: -999 -999
- dealloc  dynamic grid (G010)          NORMAL    Y1PT      NORMAL    NORMAL
- -DELETE X        M:297 dset:   0 I:    1    1  J: -999 -999  K: -999 -999  L: -999 -999
- dealloc  dynamic grid (G006)          X1PT      NORMAL    NORMAL    NORMAL
- regrid  A1       M:297 dset:   0 I:    1    1  J:    1    7  K: -999 -999  L: -999 -999
- regrid  A1       M:298 dset:   0 I:    1    7  J:    1    7  K: -999 -999  L: -999 -999
- -DELETE A1       M:297 dset:   0 I:    1    1  J:    1    7  K: -999 -999  L: -999 -999  M: -999 -999  N: -999 -999
+ found   A1       M:185 dset:   0 I:      1      1  J:    1    1  K: -999 -999  L:   -999   -999
+ regrid  A1       M:182 dset:   0 I:      1      1  J:    1    7  K: -999 -999  L:   -999   -999
+ regrid  A1       M:183 dset:   0 I:      1      7  J:    1    7  K: -999 -999  L:   -999   -999
+ -DELETE A1       M:182 dset:   0 I:      1      1  J:    1    7  K: -999 -999  L:   -999   -999  M: -999 -999  N: -999 -999
  dealloc  dynamic grid (G011)          XOFFSET   YOFFSET   NORMAL    NORMAL
              VARIABLE : X[GX=X1PT]+Y[GY=Y1PT]
                         regrid: 1 delta on X at SUM, 1 delta on Y at SUM
@@ -17552,27 +17493,19 @@ list a1[gx=xoffset at sum, gy=yoffset at sum] ! should sum to 10
  7.1 / 7:     ....     ....     ....     ....     ....     ....     ....
 list a1[gx=xoffset at var, gy=yoffset at var] ! should be all missing
  dealloc  dynamic grid (G011)          XOFFSET   YOFFSET   NORMAL    NORMAL
- -DELETE A1       M:298 dset:   0 I:    1    7  J:    1    7  K: -999 -999  L: -999 -999
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ -DELETE A1       M:183 dset:   0 I:      1      7  J:    1    7  K: -999 -999  L:   -999   -999
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G011)          XOFFSET   YOFFSET   NORMAL    NORMAL
  dealloc  dynamic grid (G011)          XOFFSET   YOFFSET   NORMAL    NORMAL
  allocate dynamic grid (G011)          XOFFSET   YOFFSET   NORMAL    NORMAL
- eval    EX#1     C:  4 dset:   2 I:    1    7  J:    1    7  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  4 dset:   2 I:      1      7  J:    1    7  K: -999 -999  L:   -999   -999
  allocate dynamic grid (G011)          XOFFSET   YOFFSET   NORMAL    NORMAL
  strip regrid on X: A1 --> (G011)           @VAR
  strip regrid on Y: A1 --> XNTERMED         @VAR
- eval    A1       C:  8 dset:   0 I:    1    1  J:    1    1  K: -999 -999  L: -999 -999
- allocate dynamic grid (G006)          X1PT      NORMAL    NORMAL    NORMAL
- pseudo  X        M:298 dset:   0 I:    1    1  J: -999 -999  K: -999 -999  L: -999 -999
- allocate dynamic grid (G010)          NORMAL    Y1PT      NORMAL    NORMAL
- pseudo  Y        M:297 dset:   0 I: -999 -999  J:    1    1  K: -999 -999  L: -999 -999
- -DELETE Y        M:297 dset:   0 I: -999 -999  J:    1    1  K: -999 -999  L: -999 -999
- dealloc  dynamic grid (G010)          NORMAL    Y1PT      NORMAL    NORMAL
- -DELETE X        M:298 dset:   0 I:    1    1  J: -999 -999  K: -999 -999  L: -999 -999
- dealloc  dynamic grid (G006)          X1PT      NORMAL    NORMAL    NORMAL
- regrid  A1       M:298 dset:   0 I:    1    1  J:    1    7  K: -999 -999  L: -999 -999
- regrid  A1       M:297 dset:   0 I:    1    7  J:    1    7  K: -999 -999  L: -999 -999
- -DELETE A1       M:298 dset:   0 I:    1    1  J:    1    7  K: -999 -999  L: -999 -999  M: -999 -999  N: -999 -999
+ found   A1       M:185 dset:   0 I:      1      1  J:    1    1  K: -999 -999  L:   -999   -999
+ regrid  A1       M:183 dset:   0 I:      1      1  J:    1    7  K: -999 -999  L:   -999   -999
+ regrid  A1       M:182 dset:   0 I:      1      7  J:    1    7  K: -999 -999  L:   -999   -999
+ -DELETE A1       M:183 dset:   0 I:      1      1  J:    1    7  K: -999 -999  L:   -999   -999  M: -999 -999  N: -999 -999
  dealloc  dynamic grid (G011)          XOFFSET   YOFFSET   NORMAL    NORMAL
              VARIABLE : Variance of X[GX=X1PT]+Y[GY=Y1PT]
                         regrid: 1 delta on X at VAR, 1 delta on Y at VAR
@@ -17589,9 +17522,9 @@ list a1[gx=xoffset at var, gy=yoffset at var] ! should be all missing
  
 list a2[gx=xoffset at ave, gy=yoffset at ave]
  dealloc  dynamic grid (G011)          XOFFSET   YOFFSET   NORMAL    NORMAL
- -DELETE A1       M:297 dset:   0 I:    1    7  J:    1    7  K: -999 -999  L: -999 -999
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid A2       C:  7 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ -DELETE A1       M:182 dset:   0 I:      1      7  J:    1    7  K: -999 -999  L:   -999   -999
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid A2       C:  7 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G011)          NORMAL    Y2PT      NORMAL    NORMAL
  dealloc  dynamic grid (G011)          NORMAL    Y2PT      NORMAL    NORMAL
  allocate dynamic grid (G011)          X2PT      NORMAL    NORMAL    NORMAL
@@ -17600,22 +17533,22 @@ list a2[gx=xoffset at ave, gy=yoffset at ave]
  allocate dynamic grid (G006)          XOFFSET   YOFFSET   NORMAL    NORMAL
  dealloc  dynamic grid (G006)          XOFFSET   YOFFSET   NORMAL    NORMAL
  allocate dynamic grid (G006)          XOFFSET   YOFFSET   NORMAL    NORMAL
- eval    EX#1     C:  4 dset:   2 I:    1    7  J:    1    7  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  4 dset:   2 I:      1      7  J:    1    7  K: -999 -999  L:   -999   -999
  allocate dynamic grid (G006)          XOFFSET   YOFFSET   NORMAL    NORMAL
  strip regrid on X: A2 --> (G006)           @AVE
  strip regrid on Y: A2 --> XNTERMED         @AVE
- eval    A2       C:  8 dset:   0 I:    1    2  J:    1    2  K: -999 -999  L: -999 -999
+ eval    A2       C:  8 dset:   0 I:      1      2  J:    1    2  K: -999 -999  L:   -999   -999
  allocate dynamic grid (G010)          X2PT      NORMAL    NORMAL    NORMAL
- pseudo  X        M:297 dset:   0 I:    1    2  J: -999 -999  K: -999 -999  L: -999 -999
+ pseudo  X        M:182 dset:   0 I:      1      2  J: -999 -999  K: -999 -999  L:   -999   -999
  allocate dynamic grid (G002)          NORMAL    Y2PT      NORMAL    NORMAL
- pseudo  Y        M:298 dset:   0 I: -999 -999  J:    1    2  K: -999 -999  L: -999 -999
- -DELETE Y        M:298 dset:   0 I: -999 -999  J:    1    2  K: -999 -999  L: -999 -999
+ pseudo  Y        M:183 dset:   0 I:   -999   -999  J:    1    2  K: -999 -999  L:   -999   -999
+ -DELETE Y        M:183 dset:   0 I:   -999   -999  J:    1    2  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid (G002)          NORMAL    Y2PT      NORMAL    NORMAL
- -DELETE X        M:297 dset:   0 I:    1    2  J: -999 -999  K: -999 -999  L: -999 -999
+ -DELETE X        M:182 dset:   0 I:      1      2  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid (G010)          X2PT      NORMAL    NORMAL    NORMAL
- regrid  A2       M:297 dset:   0 I:    1    2  J:    1    7  K: -999 -999  L: -999 -999
- regrid  A2       M:298 dset:   0 I:    1    7  J:    1    7  K: -999 -999  L: -999 -999
- -DELETE A2       M:297 dset:   0 I:    1    2  J:    1    7  K: -999 -999  L: -999 -999  M: -999 -999  N: -999 -999
+ regrid  A2       M:182 dset:   0 I:      1      2  J:    1    7  K: -999 -999  L:   -999   -999
+ regrid  A2       M:183 dset:   0 I:      1      7  J:    1    7  K: -999 -999  L:   -999   -999
+ -DELETE A2       M:182 dset:   0 I:      1      2  J:    1    7  K: -999 -999  L:   -999   -999  M: -999 -999  N: -999 -999
  dealloc  dynamic grid (G006)          XOFFSET   YOFFSET   NORMAL    NORMAL
              VARIABLE : X[GX=X2PT]+Y[GY=Y2PT]
                         regrid: 1 delta on X at AVE, 1 delta on Y at AVE
@@ -17631,27 +17564,19 @@ list a2[gx=xoffset at ave, gy=yoffset at ave]
  7.1 / 7:     ....     ....     ....     ....     ....     ....     ....
 list a2[gx=xoffset at sum, gy=yoffset at sum] ! should sum to 10+11+11+12=44
  dealloc  dynamic grid (G006)          XOFFSET   YOFFSET   NORMAL    NORMAL
- -DELETE A2       M:298 dset:   0 I:    1    7  J:    1    7  K: -999 -999  L: -999 -999
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ -DELETE A2       M:183 dset:   0 I:      1      7  J:    1    7  K: -999 -999  L:   -999   -999
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G006)          XOFFSET   YOFFSET   NORMAL    NORMAL
  dealloc  dynamic grid (G006)          XOFFSET   YOFFSET   NORMAL    NORMAL
  allocate dynamic grid (G006)          XOFFSET   YOFFSET   NORMAL    NORMAL
- eval    EX#1     C:  4 dset:   2 I:    1    7  J:    1    7  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  4 dset:   2 I:      1      7  J:    1    7  K: -999 -999  L:   -999   -999
  allocate dynamic grid (G006)          XOFFSET   YOFFSET   NORMAL    NORMAL
  strip regrid on X: A2 --> (G006)           @SUM
  strip regrid on Y: A2 --> XNTERMED         @SUM
- eval    A2       C:  8 dset:   0 I:    1    2  J:    1    2  K: -999 -999  L: -999 -999
- allocate dynamic grid (G010)          X2PT      NORMAL    NORMAL    NORMAL
- pseudo  X        M:298 dset:   0 I:    1    2  J: -999 -999  K: -999 -999  L: -999 -999
- allocate dynamic grid (G002)          NORMAL    Y2PT      NORMAL    NORMAL
- pseudo  Y        M:297 dset:   0 I: -999 -999  J:    1    2  K: -999 -999  L: -999 -999
- -DELETE Y        M:297 dset:   0 I: -999 -999  J:    1    2  K: -999 -999  L: -999 -999
- dealloc  dynamic grid (G002)          NORMAL    Y2PT      NORMAL    NORMAL
- -DELETE X        M:298 dset:   0 I:    1    2  J: -999 -999  K: -999 -999  L: -999 -999
- dealloc  dynamic grid (G010)          X2PT      NORMAL    NORMAL    NORMAL
- regrid  A2       M:298 dset:   0 I:    1    2  J:    1    7  K: -999 -999  L: -999 -999
- regrid  A2       M:297 dset:   0 I:    1    7  J:    1    7  K: -999 -999  L: -999 -999
- -DELETE A2       M:298 dset:   0 I:    1    2  J:    1    7  K: -999 -999  L: -999 -999  M: -999 -999  N: -999 -999
+ found   A2       M:184 dset:   0 I:      1      2  J:    1    2  K: -999 -999  L:   -999   -999
+ regrid  A2       M:183 dset:   0 I:      1      2  J:    1    7  K: -999 -999  L:   -999   -999
+ regrid  A2       M:182 dset:   0 I:      1      7  J:    1    7  K: -999 -999  L:   -999   -999
+ -DELETE A2       M:183 dset:   0 I:      1      2  J:    1    7  K: -999 -999  L:   -999   -999  M: -999 -999  N: -999 -999
  dealloc  dynamic grid (G006)          XOFFSET   YOFFSET   NORMAL    NORMAL
              VARIABLE : X[GX=X2PT]+Y[GY=Y2PT]
                         regrid: 1 delta on X at SUM, 1 delta on Y at SUM
@@ -17668,27 +17593,19 @@ list a2[gx=xoffset at sum, gy=yoffset at sum] ! should sum to 10+11+11+12=44
  ! NOTE: as of V5.1 NO xy_var trans exists.  Need it to be complete ...!
 list a2[gx=xoffset at var, gy=yoffset at var]
  dealloc  dynamic grid (G006)          XOFFSET   YOFFSET   NORMAL    NORMAL
- -DELETE A2       M:297 dset:   0 I:    1    7  J:    1    7  K: -999 -999  L: -999 -999
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ -DELETE A2       M:182 dset:   0 I:      1      7  J:    1    7  K: -999 -999  L:   -999   -999
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G006)          XOFFSET   YOFFSET   NORMAL    NORMAL
  dealloc  dynamic grid (G006)          XOFFSET   YOFFSET   NORMAL    NORMAL
  allocate dynamic grid (G006)          XOFFSET   YOFFSET   NORMAL    NORMAL
- eval    EX#1     C:  4 dset:   2 I:    1    7  J:    1    7  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  4 dset:   2 I:      1      7  J:    1    7  K: -999 -999  L:   -999   -999
  allocate dynamic grid (G006)          XOFFSET   YOFFSET   NORMAL    NORMAL
  strip regrid on X: A2 --> (G006)           @VAR
  strip regrid on Y: A2 --> XNTERMED         @VAR
- eval    A2       C:  8 dset:   0 I:    1    2  J:    1    2  K: -999 -999  L: -999 -999
- allocate dynamic grid (G010)          X2PT      NORMAL    NORMAL    NORMAL
- pseudo  X        M:297 dset:   0 I:    1    2  J: -999 -999  K: -999 -999  L: -999 -999
- allocate dynamic grid (G002)          NORMAL    Y2PT      NORMAL    NORMAL
- pseudo  Y        M:298 dset:   0 I: -999 -999  J:    1    2  K: -999 -999  L: -999 -999
- -DELETE Y        M:298 dset:   0 I: -999 -999  J:    1    2  K: -999 -999  L: -999 -999
- dealloc  dynamic grid (G002)          NORMAL    Y2PT      NORMAL    NORMAL
- -DELETE X        M:297 dset:   0 I:    1    2  J: -999 -999  K: -999 -999  L: -999 -999
- dealloc  dynamic grid (G010)          X2PT      NORMAL    NORMAL    NORMAL
- regrid  A2       M:297 dset:   0 I:    1    2  J:    1    7  K: -999 -999  L: -999 -999
- regrid  A2       M:298 dset:   0 I:    1    7  J:    1    7  K: -999 -999  L: -999 -999
- -DELETE A2       M:297 dset:   0 I:    1    2  J:    1    7  K: -999 -999  L: -999 -999  M: -999 -999  N: -999 -999
+ found   A2       M:184 dset:   0 I:      1      2  J:    1    2  K: -999 -999  L:   -999   -999
+ regrid  A2       M:182 dset:   0 I:      1      2  J:    1    7  K: -999 -999  L:   -999   -999
+ regrid  A2       M:183 dset:   0 I:      1      7  J:    1    7  K: -999 -999  L:   -999   -999
+ -DELETE A2       M:182 dset:   0 I:      1      2  J:    1    7  K: -999 -999  L:   -999   -999  M: -999 -999  N: -999 -999
  dealloc  dynamic grid (G006)          XOFFSET   YOFFSET   NORMAL    NORMAL
              VARIABLE : Variance of X[GX=X2PT]+Y[GY=Y2PT]
                         regrid: 1 delta on X at VAR, 1 delta on Y at VAR
@@ -17711,35 +17628,31 @@ define axis/x=5:6.5:.5 x4pt
  
 let a1 = x[gx=x1pt]
  dealloc  dynamic grid (G006)          XOFFSET   YOFFSET   NORMAL    NORMAL
- -DELETE A2       M:298 dset:   0 I:    1    7  J:    1    7  K: -999 -999  L: -999 -999
- -DELETE A2       M:299 dset:   0 I:    1    2  J:    1    2  K: -999 -999  L: -999 -999
- -DELETE A2       M:300 dset:   0 I:    1    2  J:    1    2  K: -999 -999  L: -999 -999
- -DELETE A2       M:303 dset:   0 I:    1    2  J:    1    2  K: -999 -999  L: -999 -999
+ -DELETE A2       M:183 dset:   0 I:      1      7  J:    1    7  K: -999 -999  L:   -999   -999
+ -DELETE A2       M:184 dset:   0 I:      1      2  J:    1    2  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid (G011)          X2PT      Y2PT      NORMAL    NORMAL
- -DELETE A1       M:296 dset:   0 I:    1    1  J:    1    1  K: -999 -999  L: -999 -999
- -DELETE A1       M:301 dset:   0 I:    1    1  J:    1    1  K: -999 -999  L: -999 -999
- -DELETE A1       M:302 dset:   0 I:    1    1  J:    1    1  K: -999 -999  L: -999 -999
+ -DELETE A1       M:185 dset:   0 I:      1      1  J:    1    1  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid (G009)          X1PT      Y1PT      NORMAL    NORMAL
 let a2 = x[gx=x2pt]
 let a4 = x[gx=x4pt]
  
 list a1[gx=xoffset at max]
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid A1       C:  7 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid A1       C:  7 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G009)          X1PT      NORMAL    NORMAL    NORMAL
  dealloc  dynamic grid (G009)          X1PT      NORMAL    NORMAL    NORMAL
  allocate dynamic grid (G009)          X1PT      NORMAL    NORMAL    NORMAL
  allocate dynamic grid (G011)          XOFFSET   NORMAL    NORMAL    NORMAL
  dealloc  dynamic grid (G011)          XOFFSET   NORMAL    NORMAL    NORMAL
  allocate dynamic grid (G011)          XOFFSET   NORMAL    NORMAL    NORMAL
- eval    EX#1     C:  4 dset:   2 I:    1    7  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  4 dset:   2 I:      1      7  J: -999 -999  K: -999 -999  L:   -999   -999
  allocate dynamic grid (G011)          XOFFSET   NORMAL    NORMAL    NORMAL
  strip regrid on X: A1 --> (G011)           @MAX
- eval    A1       C:  7 dset:   0 I:    1    1  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    A1       C:  7 dset:   0 I:      1      1  J: -999 -999  K: -999 -999  L:   -999   -999
  allocate dynamic grid (G009)          X1PT      NORMAL    NORMAL    NORMAL
- pseudo  X        M:302 dset:   0 I:    1    1  J: -999 -999  K: -999 -999  L: -999 -999
+ pseudo  X        M:185 dset:   0 I:      1      1  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid (G009)          X1PT      NORMAL    NORMAL    NORMAL
- regrid  A1       M:296 dset:   0 I:    1    7  J: -999 -999  K: -999 -999  L: -999 -999
+ regrid  A1       M:183 dset:   0 I:      1      7  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid (G011)          XOFFSET   NORMAL    NORMAL    NORMAL
              VARIABLE : X[GX=X1PT]
                         regrid: 1 delta on X at MAX
@@ -17752,25 +17665,25 @@ list a1[gx=xoffset at max]
  6.1 / 6:     ....
  7.1 / 7:     ....
 list a2[gx=xoffset at max]
- -DELETE X        M:302 dset:   0 I:    1    1  J: -999 -999  K: -999 -999  L: -999 -999
+ -DELETE X        M:185 dset:   0 I:      1      1  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid (G011)          XOFFSET   NORMAL    NORMAL    NORMAL
- -DELETE A1       M:296 dset:   0 I:    1    7  J: -999 -999  K: -999 -999  L: -999 -999
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid A2       C:  7 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ -DELETE A1       M:183 dset:   0 I:      1      7  J: -999 -999  K: -999 -999  L:   -999   -999
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid A2       C:  7 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G011)          X2PT      NORMAL    NORMAL    NORMAL
  dealloc  dynamic grid (G011)          X2PT      NORMAL    NORMAL    NORMAL
  allocate dynamic grid (G011)          X2PT      NORMAL    NORMAL    NORMAL
  allocate dynamic grid (G006)          XOFFSET   NORMAL    NORMAL    NORMAL
  dealloc  dynamic grid (G006)          XOFFSET   NORMAL    NORMAL    NORMAL
  allocate dynamic grid (G006)          XOFFSET   NORMAL    NORMAL    NORMAL
- eval    EX#1     C:  4 dset:   2 I:    1    7  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  4 dset:   2 I:      1      7  J: -999 -999  K: -999 -999  L:   -999   -999
  allocate dynamic grid (G006)          XOFFSET   NORMAL    NORMAL    NORMAL
  strip regrid on X: A2 --> (G006)           @MAX
- eval    A2       C:  7 dset:   0 I:    1    2  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    A2       C:  7 dset:   0 I:      1      2  J: -999 -999  K: -999 -999  L:   -999   -999
  allocate dynamic grid (G011)          X2PT      NORMAL    NORMAL    NORMAL
- pseudo  X        M:296 dset:   0 I:    1    2  J: -999 -999  K: -999 -999  L: -999 -999
+ pseudo  X        M:183 dset:   0 I:      1      2  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid (G011)          X2PT      NORMAL    NORMAL    NORMAL
- regrid  A2       M:303 dset:   0 I:    1    7  J: -999 -999  K: -999 -999  L: -999 -999
+ regrid  A2       M:182 dset:   0 I:      1      7  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid (G006)          XOFFSET   NORMAL    NORMAL    NORMAL
              VARIABLE : X[GX=X2PT]
                         regrid: 1 delta on X at MAX
@@ -17783,25 +17696,25 @@ list a2[gx=xoffset at max]
  6.1 / 6:  6.00000
  7.1 / 7:     ....
 list a4[gx=xoffset at max]
- -DELETE X        M:296 dset:   0 I:    1    2  J: -999 -999  K: -999 -999  L: -999 -999
+ -DELETE X        M:183 dset:   0 I:      1      2  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid (G006)          XOFFSET   NORMAL    NORMAL    NORMAL
- -DELETE A2       M:303 dset:   0 I:    1    7  J: -999 -999  K: -999 -999  L: -999 -999
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid A4       C:  7 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ -DELETE A2       M:182 dset:   0 I:      1      7  J: -999 -999  K: -999 -999  L:   -999   -999
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid A4       C:  7 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G006)          X4PT      NORMAL    NORMAL    NORMAL
  dealloc  dynamic grid (G006)          X4PT      NORMAL    NORMAL    NORMAL
  allocate dynamic grid (G006)          X4PT      NORMAL    NORMAL    NORMAL
  allocate dynamic grid (G010)          XOFFSET   NORMAL    NORMAL    NORMAL
  dealloc  dynamic grid (G010)          XOFFSET   NORMAL    NORMAL    NORMAL
  allocate dynamic grid (G010)          XOFFSET   NORMAL    NORMAL    NORMAL
- eval    EX#1     C:  4 dset:   2 I:    1    7  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  4 dset:   2 I:      1      7  J: -999 -999  K: -999 -999  L:   -999   -999
  allocate dynamic grid (G010)          XOFFSET   NORMAL    NORMAL    NORMAL
  strip regrid on X: A4 --> (G010)           @MAX
- eval    A4       C:  7 dset:   0 I:    1    4  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    A4       C:  7 dset:   0 I:      1      4  J: -999 -999  K: -999 -999  L:   -999   -999
  allocate dynamic grid (G006)          X4PT      NORMAL    NORMAL    NORMAL
- pseudo  X        M:303 dset:   0 I:    1    4  J: -999 -999  K: -999 -999  L: -999 -999
+ pseudo  X        M:182 dset:   0 I:      1      4  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid (G006)          X4PT      NORMAL    NORMAL    NORMAL
- regrid  A4       M:300 dset:   0 I:    1    7  J: -999 -999  K: -999 -999  L: -999 -999
+ regrid  A4       M:186 dset:   0 I:      1      7  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid (G010)          XOFFSET   NORMAL    NORMAL    NORMAL
              VARIABLE : X[GX=X4PT]
                         regrid: 1 delta on X at MAX
@@ -17814,21 +17727,18 @@ list a4[gx=xoffset at max]
  6.1 / 6:  6.50000
  7.1 / 7:     ....
 list a4[gx=xoffset at min]
- -DELETE X        M:303 dset:   0 I:    1    4  J: -999 -999  K: -999 -999  L: -999 -999
+ -DELETE X        M:182 dset:   0 I:      1      4  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid (G010)          XOFFSET   NORMAL    NORMAL    NORMAL
- -DELETE A4       M:300 dset:   0 I:    1    7  J: -999 -999  K: -999 -999  L: -999 -999
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ -DELETE A4       M:186 dset:   0 I:      1      7  J: -999 -999  K: -999 -999  L:   -999   -999
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G010)          XOFFSET   NORMAL    NORMAL    NORMAL
  dealloc  dynamic grid (G010)          XOFFSET   NORMAL    NORMAL    NORMAL
  allocate dynamic grid (G010)          XOFFSET   NORMAL    NORMAL    NORMAL
- eval    EX#1     C:  4 dset:   2 I:    1    7  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  4 dset:   2 I:      1      7  J: -999 -999  K: -999 -999  L:   -999   -999
  allocate dynamic grid (G010)          XOFFSET   NORMAL    NORMAL    NORMAL
  strip regrid on X: A4 --> (G010)           @MIN
- eval    A4       C:  7 dset:   0 I:    1    4  J: -999 -999  K: -999 -999  L: -999 -999
- allocate dynamic grid (G006)          X4PT      NORMAL    NORMAL    NORMAL
- pseudo  X        M:300 dset:   0 I:    1    4  J: -999 -999  K: -999 -999  L: -999 -999
- dealloc  dynamic grid (G006)          X4PT      NORMAL    NORMAL    NORMAL
- regrid  A4       M:299 dset:   0 I:    1    7  J: -999 -999  K: -999 -999  L: -999 -999
+ found   A4       M:183 dset:   0 I:      1      4  J: -999 -999  K: -999 -999  L:   -999   -999
+ regrid  A4       M:186 dset:   0 I:      1      7  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid (G010)          XOFFSET   NORMAL    NORMAL    NORMAL
              VARIABLE : X[GX=X4PT]
                         regrid: 1 delta on X at MIN
@@ -17841,21 +17751,17 @@ list a4[gx=xoffset at min]
  6.1 / 6:  6.00000
  7.1 / 7:     ....
 list a4[gx=xoffset at sum] ! 5+5.5+6+6.5=23
- -DELETE X        M:300 dset:   0 I:    1    4  J: -999 -999  K: -999 -999  L: -999 -999
  dealloc  dynamic grid (G010)          XOFFSET   NORMAL    NORMAL    NORMAL
- -DELETE A4       M:299 dset:   0 I:    1    7  J: -999 -999  K: -999 -999  L: -999 -999
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ -DELETE A4       M:186 dset:   0 I:      1      7  J: -999 -999  K: -999 -999  L:   -999   -999
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G010)          XOFFSET   NORMAL    NORMAL    NORMAL
  dealloc  dynamic grid (G010)          XOFFSET   NORMAL    NORMAL    NORMAL
  allocate dynamic grid (G010)          XOFFSET   NORMAL    NORMAL    NORMAL
- eval    EX#1     C:  4 dset:   2 I:    1    7  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  4 dset:   2 I:      1      7  J: -999 -999  K: -999 -999  L:   -999   -999
  allocate dynamic grid (G010)          XOFFSET   NORMAL    NORMAL    NORMAL
  strip regrid on X: A4 --> (G010)           @SUM
- eval    A4       C:  7 dset:   0 I:    1    4  J: -999 -999  K: -999 -999  L: -999 -999
- allocate dynamic grid (G006)          X4PT      NORMAL    NORMAL    NORMAL
- pseudo  X        M:299 dset:   0 I:    1    4  J: -999 -999  K: -999 -999  L: -999 -999
- dealloc  dynamic grid (G006)          X4PT      NORMAL    NORMAL    NORMAL
- regrid  A4       M:298 dset:   0 I:    1    7  J: -999 -999  K: -999 -999  L: -999 -999
+ found   A4       M:183 dset:   0 I:      1      4  J: -999 -999  K: -999 -999  L:   -999   -999
+ regrid  A4       M:186 dset:   0 I:      1      7  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid (G010)          XOFFSET   NORMAL    NORMAL    NORMAL
              VARIABLE : X[GX=X4PT]
                         regrid: 1 delta on X at SUM
@@ -17873,25 +17779,24 @@ define axis/x=1:5:1 x5
 define axis/x=0.5:5.5:1 x5_edges
 let a5 = x[gx=x5_edges]
 list a5[gx=x5 at max]   ! note: top dest axis point, only, looks at point above
- -DELETE X        M:299 dset:   0 I:    1    4  J: -999 -999  K: -999 -999  L: -999 -999
  dealloc  dynamic grid (G010)          XOFFSET   NORMAL    NORMAL    NORMAL
- -DELETE A4       M:298 dset:   0 I:    1    7  J: -999 -999  K: -999 -999  L: -999 -999
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid A5       C:  7 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ -DELETE A4       M:186 dset:   0 I:      1      7  J: -999 -999  K: -999 -999  L:   -999   -999
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid A5       C:  7 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G010)          X5_EDGES  NORMAL    NORMAL    NORMAL
  dealloc  dynamic grid (G010)          X5_EDGES  NORMAL    NORMAL    NORMAL
  allocate dynamic grid (G010)          X5_EDGES  NORMAL    NORMAL    NORMAL
  allocate dynamic grid (G002)          X5        NORMAL    NORMAL    NORMAL
  dealloc  dynamic grid (G002)          X5        NORMAL    NORMAL    NORMAL
  allocate dynamic grid (G002)          X5        NORMAL    NORMAL    NORMAL
- eval    EX#1     C:  4 dset:   2 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  4 dset:   2 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
  allocate dynamic grid (G002)          X5        NORMAL    NORMAL    NORMAL
  strip regrid on X: A5 --> (G002)           @MAX
- eval    A5       C:  7 dset:   0 I:    1    6  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    A5       C:  7 dset:   0 I:      1      6  J: -999 -999  K: -999 -999  L:   -999   -999
  allocate dynamic grid (G010)          X5_EDGES  NORMAL    NORMAL    NORMAL
- pseudo  X        M:298 dset:   0 I:    1    6  J: -999 -999  K: -999 -999  L: -999 -999
+ pseudo  X        M:186 dset:   0 I:      1      6  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid (G010)          X5_EDGES  NORMAL    NORMAL    NORMAL
- regrid  A5       M:297 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ regrid  A5       M:187 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid (G002)          X5        NORMAL    NORMAL    NORMAL
              VARIABLE : X[GX=X5_EDGES]
                         regrid: 1 delta on X at MAX
@@ -17903,35 +17808,33 @@ list a5[gx=x5 at max]   ! note: top dest axis point, only, looks at point above
  5   / 5:  5.50000
 let a5 = x[gx=x5_edges, i=3]
  dealloc  dynamic grid (G002)          X5        NORMAL    NORMAL    NORMAL
- -DELETE A5       M:297 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
- -DELETE A5       M:299 dset:   0 I:    1    6  J: -999 -999  K: -999 -999  L: -999 -999
+ -DELETE A5       M:187 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
+ -DELETE A5       M:182 dset:   0 I:      1      6  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid (G010)          X5_EDGES  NORMAL    NORMAL    NORMAL
- -DELETE X        M:298 dset:   0 I:    1    6  J: -999 -999  K: -999 -999  L: -999 -999
- -DELETE A4       M:296 dset:   0 I:    1    4  J: -999 -999  K: -999 -999  L: -999 -999
- -DELETE A4       M:300 dset:   0 I:    1    4  J: -999 -999  K: -999 -999  L: -999 -999
- -DELETE A4       M:303 dset:   0 I:    1    4  J: -999 -999  K: -999 -999  L: -999 -999
+ -DELETE X        M:186 dset:   0 I:      1      6  J: -999 -999  K: -999 -999  L:   -999   -999
+ -DELETE A4       M:183 dset:   0 I:      1      4  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid (G006)          X4PT      NORMAL    NORMAL    NORMAL
- -DELETE A2       M:302 dset:   0 I:    1    2  J: -999 -999  K: -999 -999  L: -999 -999
+ -DELETE A2       M:185 dset:   0 I:      1      2  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid (G011)          X2PT      NORMAL    NORMAL    NORMAL
- -DELETE A1       M:301 dset:   0 I:    1    1  J: -999 -999  K: -999 -999  L: -999 -999
+ -DELETE A1       M:184 dset:   0 I:      1      1  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid (G009)          X1PT      NORMAL    NORMAL    NORMAL
 list a5[gx=x5 at max]
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid A5       C:  7 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid A5       C:  7 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G009)          X5_EDGES  NORMAL    NORMAL    NORMAL
  dealloc  dynamic grid (G009)          X5_EDGES  NORMAL    NORMAL    NORMAL
  allocate dynamic grid (G009)          X5_EDGES  NORMAL    NORMAL    NORMAL
  allocate dynamic grid (G011)          X5        NORMAL    NORMAL    NORMAL
  dealloc  dynamic grid (G011)          X5        NORMAL    NORMAL    NORMAL
  allocate dynamic grid (G011)          X5        NORMAL    NORMAL    NORMAL
- eval    EX#1     C:  4 dset:   2 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  4 dset:   2 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
  allocate dynamic grid (G011)          X5        NORMAL    NORMAL    NORMAL
  strip regrid on X: A5 --> (G011)           @MAX
- eval    A5       C:  7 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    A5       C:  7 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
  allocate dynamic grid (G009)          X5_EDGES  NORMAL    NORMAL    NORMAL
- pseudo  X        M:301 dset:   0 I:    3    3  J: -999 -999  K: -999 -999  L: -999 -999
+ pseudo  X        M:184 dset:   0 I:      3      3  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid (G009)          X5_EDGES  NORMAL    NORMAL    NORMAL
- regrid  A5       M:303 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ regrid  A5       M:183 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid (G011)          X5        NORMAL    NORMAL    NORMAL
              VARIABLE : X[GX=X5_EDGES, I=3]
                         regrid: 1 delta on X at MAX
@@ -17942,41 +17845,34 @@ list a5[gx=x5 at max]
  4   / 4:     ....
  5   / 5:     ....
 list a5[gx=x5 at max,i=3]
- -DELETE X        M:301 dset:   0 I:    3    3  J: -999 -999  K: -999 -999  L: -999 -999
+ -DELETE X        M:184 dset:   0 I:      3      3  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid (G011)          X5        NORMAL    NORMAL    NORMAL
- -DELETE A5       M:303 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ -DELETE A5       M:183 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G011)          X5        NORMAL    NORMAL    NORMAL
  dealloc  dynamic grid (G011)          X5        NORMAL    NORMAL    NORMAL
  allocate dynamic grid (G011)          X5        NORMAL    NORMAL    NORMAL
- eval    EX#1     C:  4 dset:   2 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  4 dset:   2 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
  allocate dynamic grid (G011)          X5        NORMAL    NORMAL    NORMAL
  strip regrid on X: A5 --> (G011)           @MAX
- eval    A5       C:  7 dset:   0 I:    3    4  J: -999 -999  K: -999 -999  L: -999 -999
- allocate dynamic grid (G009)          X5_EDGES  NORMAL    NORMAL    NORMAL
- pseudo  X        M:303 dset:   0 I:    3    3  J: -999 -999  K: -999 -999  L: -999 -999
- dealloc  dynamic grid (G009)          X5_EDGES  NORMAL    NORMAL    NORMAL
- regrid  A5       M:300 dset:   0 I:    3    3  J: -999 -999  K: -999 -999  L: -999 -999
+ found   A5       M:185 dset:   0 I:      3      3  J: -999 -999  K: -999 -999  L:   -999   -999
+ regrid  A5       M:183 dset:   0 I:      3      3  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid (G011)          X5        NORMAL    NORMAL    NORMAL
              VARIABLE : X[GX=X5_EDGES, I=3]
                         regrid: 1 delta on X at MAX
              X        : 3
           2.50000
 list a5[gx=x5 at max,i=4]
- -DELETE X        M:303 dset:   0 I:    3    3  J: -999 -999  K: -999 -999  L: -999 -999
  dealloc  dynamic grid (G011)          X5        NORMAL    NORMAL    NORMAL
- -DELETE A5       M:300 dset:   0 I:    3    3  J: -999 -999  K: -999 -999  L: -999 -999
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ -DELETE A5       M:183 dset:   0 I:      3      3  J: -999 -999  K: -999 -999  L:   -999   -999
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G011)          X5        NORMAL    NORMAL    NORMAL
  dealloc  dynamic grid (G011)          X5        NORMAL    NORMAL    NORMAL
  allocate dynamic grid (G011)          X5        NORMAL    NORMAL    NORMAL
- eval    EX#1     C:  4 dset:   2 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  4 dset:   2 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
  allocate dynamic grid (G011)          X5        NORMAL    NORMAL    NORMAL
  strip regrid on X: A5 --> (G011)           @MAX
- eval    A5       C:  7 dset:   0 I:    4    5  J: -999 -999  K: -999 -999  L: -999 -999
- allocate dynamic grid (G009)          X5_EDGES  NORMAL    NORMAL    NORMAL
- pseudo  X        M:300 dset:   0 I:    3    3  J: -999 -999  K: -999 -999  L: -999 -999
- dealloc  dynamic grid (G009)          X5_EDGES  NORMAL    NORMAL    NORMAL
+ found   A5       M:185 dset:   0 I:      3      3  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid (G011)          X5        NORMAL    NORMAL    NORMAL
              VARIABLE : X[GX=X5_EDGES, I=3]
                         regrid: 1 delta on X at MAX
@@ -17988,19 +17884,18 @@ define axis/t=1-jan-1990:5-jan-1990:1/units=days tday
 define axis/t=1-jan-1990:5-jan-1990:24/units=hours thour
 let atime = T[gt=tday]
 list atime
- -DELETE X        M:300 dset:   0 I:    3    3  J: -999 -999  K: -999 -999  L: -999 -999
  dealloc  dynamic grid (G011)          X5        NORMAL    NORMAL    NORMAL
- -DELETE A5       M:296 dset:   0 I:    4    4  J: -999 -999  K: -999 -999  L: -999 -999
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid ATIME    C:  7 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ -DELETE A5       M:183 dset:   0 I:      4      4  J: -999 -999  K: -999 -999  L:   -999   -999
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid ATIME    C:  7 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G011)          NORMAL    NORMAL    NORMAL    TDAY
  dealloc  dynamic grid (G011)          NORMAL    NORMAL    NORMAL    TDAY
  allocate dynamic grid (G011)          NORMAL    NORMAL    NORMAL    TDAY
  allocate dynamic grid (G011)          NORMAL    NORMAL    NORMAL    TDAY
- eval    EX#1     C:  4 dset:   2 I: -999 -999  J: -999 -999  K: -999 -999  L:    1    5
- eval    ATIME    C:  6 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L:    1    5
+ eval    EX#1     C:  4 dset:   2 I:   -999   -999  J: -999 -999  K: -999 -999  L:      1      5
+ eval    ATIME    C:  6 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:      1      5
  allocate dynamic grid (G011)          NORMAL    NORMAL    NORMAL    TDAY
- pseudo  T        M:296 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L:    1    5
+ pseudo  T        M:183 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:      1      5
  dealloc  dynamic grid (G011)          NORMAL    NORMAL    NORMAL    TDAY
              VARIABLE : T[GT=TDAY]
              SUBSET   : 5 points (TIME)
@@ -18019,20 +17914,17 @@ show grid
  normal    Z
  TDAY      TIME                 5 r   01-JAN-1990 00:00    05-JAN-1990 00:00   full
 list atime[gt=thour at max]
- -DELETE T        M:296 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L:    1    5
+ -DELETE T        M:183 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:      1      5
  dealloc  dynamic grid (G011)          NORMAL    NORMAL    NORMAL    TDAY
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G006)          NORMAL    NORMAL    NORMAL    THOUR
  dealloc  dynamic grid (G006)          NORMAL    NORMAL    NORMAL    THOUR
  allocate dynamic grid (G006)          NORMAL    NORMAL    NORMAL    THOUR
- eval    EX#1     C:  4 dset:   2 I: -999 -999  J: -999 -999  K: -999 -999  L:    1    5
+ eval    EX#1     C:  4 dset:   2 I:   -999   -999  J: -999 -999  K: -999 -999  L:      1      5
  allocate dynamic grid (G006)          NORMAL    NORMAL    NORMAL    THOUR
  strip regrid on T: ATIME --> (G006)           @MAX
- eval    ATIME    C:  7 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L:    1    5
- allocate dynamic grid (G011)          NORMAL    NORMAL    NORMAL    TDAY
- pseudo  T        M:296 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L:    1    5
- dealloc  dynamic grid (G011)          NORMAL    NORMAL    NORMAL    TDAY
- regrid  ATIME    M:299 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L:    1    5
+ found   ATIME    M:184 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:      1      5
+ regrid  ATIME    M:183 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:      1      5
  dealloc  dynamic grid (G006)          NORMAL    NORMAL    NORMAL    THOUR
              VARIABLE : T[GT=TDAY]
                         regrid: 24 hour on T at MAX
@@ -18059,9 +17951,11 @@ set mode/last diag
  
  
  
-GO bn_reset		! reordered reset before next test: 2/94
+GO bn_reset bn_axis_limits	! reordered reset before next test: 2/94
 cancel mode verify
-GO bn_axis_limits	! added 10/27/93
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_axis_limits
+GO bn_axis_limits	        ! added 10/27/93
 !bn301_axis_limits.jnl
 ! exercise the new-V301 /XLIMITS and /YLIMITS qualifiers
  
@@ -18213,7 +18107,7 @@ contour/x=160E:160W/t=28000:29000/lev=(-1,1,.25)/xlimits=140e:110w:-9/ylimits=1-
 set view v44
 contour/x=160E:160W/t=1-jan-1980:1-jan-1982/lev=(-1,1,.25)/xlimits=140e:110w:-9/ylimits=28000:29000:-400/trans sin(x/3)*sin(t/100)
  
-SET WINDOW/CLEAR/SIZE=0.2 ! added 2/94
+SET WINDOW/CLEAR/SIZE=0.2       ! added 2/94
  
 !GO bn_reset
 !GO bn301_mem_mgmt
@@ -18224,8 +18118,10 @@ MESSAGE/CONTINUE  ***** Its too slow!!!
 MESSAGE/CONTINUE  ***** Remember to run it separately
 ***** Remember to run it separately
  
-GO bn_reset
+GO bn_reset bn_movie
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_movie
 GO bn_movie
 ! bn301_movie.JNL
 ! - test on-HDF movie creation by Program FERRET
@@ -18237,8 +18133,10 @@ GO bn_movie
 exit/script
  
 ! added in bn311
-GO bn_reset
+GO bn_reset bn_ez_order
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_ez_order
 GO bn_ez_order	! was bn311 until 9/95
 ! bn420_ez_order
 ! updated from bn311_ez_order 9/95 - improved testing of /FORMAT=STREAM
@@ -19274,8 +19172,10 @@ sp rm -f test_perm48_10.dat
  
  
 ! added in bn312  6/3/94
-GO bn_reset
+GO bn_reset bn_user
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_user
 ! cancel mode metafile   ! needed temporarily 6/94: PLOT+/XGKS interaction bug
 GO bn_user
 ! bn312_user.jnl
@@ -19294,8 +19194,10 @@ exit/script
 set window 1		! clean up
  
 ! added in bn420  1/96
-GO bn_reset
+GO bn_reset bn_stream
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_stream
 GO bn_stream
 ! bn420_stream.jnl
  
@@ -19359,8 +19261,10 @@ cancel data stream_data_link.unf
  
  
 !added in bn430 9/96 *kob*
-GO bn_reset
+GO bn_reset bn_mc
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_mc
 GO bn_mc
 !bn430_mc.jnl
 ! kob - 9/5/96
@@ -19808,8 +19712,10 @@ CAN MODE VERIFY
  
  
 !added in bn450 10/97 *kob*
-GO bn_reset
+GO bn_reset bn_negative_t
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_negative_t
 GO bn_negative_t
 ! bn450_negative_t - 10/97
  
@@ -20834,8 +20740,10 @@ CANCEL MODE ignore_error
  
  
 !added in bn450 10/97 *kob*
-GO bn_reset
+GO bn_reset bn_xact_regrid
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_xact_regrid
 GO bn_xact_regrid
 ! BN450_xact_regrid.jnl
  
@@ -22235,8 +22143,10 @@ LIST Sfineoffset[G$1=$1Dcoarse at XACT]! non-aligning grid points fine to coarse
  
 !added in bn450 11/97 *kob*
 ! replace w/ bn500 *kob* 5/99
-GO bn_reset
+GO bn_reset bn_gc_functions
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_gc_functions
 GO bn_gc_functions
 ! bn500_gc_functions.jnl
  
@@ -22826,10 +22736,11 @@ shade/x=0/l=1/ylim=0:200:-20/lev ZAXREPLACE(flow[z=0:200],depth[z=0:200],z[z=0:2
  
 !added in bn491 - originally had this in run_all, but moved it here to
 ! properly echo commands  *kob*
-GO bn_reset
-cancel mode verify
 set mode verify  ! somehow this was off
- 
+GO bn_reset bn491_bug_fixes.jnl
+cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn491_bug_fixes.jnl
 GO bn491_bug_fixes.jnl
 ! bn491_bug_fixes.jnl
 ! test various fixes that went into version 4.91
@@ -22872,6 +22783,7 @@ message/continue ********File successfully written******
 ! command parser
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err490_command_parser
 ! err490_command_parser.jnl 12/1/98 - reported by billy kessler
  
@@ -22905,6 +22817,7 @@ message/continue ****Variable defined successfully******
 !repeat error
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err490_repeat_first_echo
 ! err490_repeat_first_echo (created later 23/98)
  
@@ -23120,6 +23033,7 @@ list tgap[t=-5:-8 at fav]  ! value at T=-6 should be -6
 ! l=@ave compression failure
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err490_l_ave.jnl
 ! err490_lave.jnl 12/1/97 - *sh* (reported by Weimin Wang)
 ! L=@AVE is failing to compress to a point
@@ -23203,6 +23117,7 @@ quit
 ! neg time axis grid failure
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err490_neg_time_show_grid.jnl
 ! err490_neg_time_show_grid
  
@@ -23345,6 +23260,7 @@ show grid/t=15-JAN-1982:15-JAN-1983 temp
 !explicit limit problem
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err491_explicit_limits.jnl
 ! err491_explicit_limits
 ! 2/98 *sh*
@@ -23395,6 +23311,7 @@ list timestamp[i=1:1]
 !regridding by association problem  *kob* 4/98
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err491_asn.jnl
 ! err491_asn.jnl 4/98 *sh* (extracted from bug reported by Jennifer Adams)
 ! Ferret crashes on regridding by association where destination
@@ -23474,6 +23391,7 @@ exit/script
 !double precision attribute problem *kob* 4/98
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err491_attrib_dp.jnl
 ! err491_attrib_dp.jnl
 ! kob  4/23/98
@@ -23630,8 +23548,10 @@ list elev
  
 ! ******** V500 Additions below ***********
  
-GO bn_reset
+GO bn_reset bn_odd_variable_name
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_odd_variable_name
 GO bn_odd_variable_name
 ! make sure memory is limited; otherwise the abstract axis will list
 let save_mem = ($ferret_memory)
@@ -23923,8 +23843,10 @@ list 'v2-and-minus'[i=5:15 at ddc] ! Now the proper syntax
 set mem /size=`save_mem`
  !-> set mem /size=25.6
  
-GO bn_reset
+GO bn_reset bn_test_stream
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_test_stream
 GO bn_test_stream
  
 canc data/all
@@ -23954,6 +23876,11 @@ def grid/x=xax/y=yax/z=zax/t=tax mygrid
  
 file/format=stream/var=num/grid=mygrid junk.dat
 load num
+    To fulfill this request would exceed the current SET MEMORY/SIZE= limit of 25.6 megawords
+    At the moment that the memory limit was reached
+    memory was committed as follows:
+        - to objects used in computation: : 0 (0%)
+    The size of the requested object was: : 24000000000 (93750%)
  
 !
 ! Semilarge grid
@@ -23969,6 +23896,11 @@ def grid/x=xax/y=yax/z=zax/t=tax mygrid
  
 file/format=stream/var=num/grid=mygrid junk.dat
 load num
+    To fulfill this request would exceed the current SET MEMORY/SIZE= limit of 25.6 megawords
+    At the moment that the memory limit was reached
+    memory was committed as follows:
+        - to objects used in computation: : 0 (0%)
+    The size of the requested object was: : 1000000000 (3906%)
  
 canc data/all
  
@@ -24587,8 +24519,10 @@ list num1
  2   / 2:  20.0000  21.0000
  3   / 3:  22.0000  23.0000
  
-GO bn_reset
+GO bn_reset bn_define_axes
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_define_axes
 GO bn_define_axes
 ! bn_define_axes.jnl
 ! *sh* 5/99
@@ -25065,10 +24999,13 @@ set mode/last ignore
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 ! GO bn_external_functions  ! move to tests of shared-obj efs.
  
-GO bn_reset
+GO bn_reset bn_pattern
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_pattern
 GO bn_pattern
 ! pattern_bench.jnl
 ! Quick demo of Ferret pattern feature *jd* 12.18.98
@@ -25114,8 +25051,10 @@ can win 2
 set win 1
 can mode meta
  
-GO bn_reset
+GO bn_reset bn_polygon
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_polygon
 GO bn_polygon
 ! Demo of new POLYGON command
 ! *jd * 3.99
@@ -25137,8 +25076,10 @@ polygon/trans/line=4/over/i=1:100/nolabel xpts+xsqr-.25, ypts+ysqr, x*x/10
  
 can mode meta
  
-GO bn_reset
+GO bn_reset bn500_bug_fixes
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn500_bug_fixes
 GO bn500_bug_fixes
 ! bn500_bug_fixes.jnl
 ! test various fixes that went into version 5.00
@@ -25146,6 +25087,7 @@ GO bn500_bug_fixes
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err491_RESHAPE_ctx.jnl
 ! err491_RESHAPE_ctx
  
@@ -25206,61 +25148,36 @@ let out_grid = x[g=gsrc] + y[g=gsrc] + z[gz=zmonth] + t[gt=tyear]
 let out = reshape(src,out_grid)
 list out
              VARIABLE : RESHAPE(SRC,OUT_GRID)
-             SUBSET   : 5 by 12 by 2 points (X-Z-T)
+             SUBSET   : 12 by 2 points (Z-T)
              Y        : 0.5 to 1.5
-                1        2        3        4        5     
-                1        2        3        4        5
- ---- L:1 T:   1951
- 1    /  1:  438289.  438290.  438291.  438292.  438293.
- 2    /  2:  439019.  439020.  439021.  439022.  439023.
- 3    /  3:  439750.  439751.  439752.  439753.  439754.
- 4    /  4:  440480.  440481.  440482.  440483.  440484.
- 5    /  5:  441211.  441212.  441213.  441214.  441215.
- 6    /  6:  441941.  441942.  441943.  441944.  441945.
- 7    /  7:  442672.  442673.  442674.  442675.  442676.
- 8    /  8:  443402.  443403.  443404.  443405.  443406.
- 9    /  9:  444132.  444133.  444134.  444135.  444136.
- 10   / 10:  444863.  444864.  444865.  444866.  444867.
- 11   / 11:  445593.  445594.  445595.  445596.  445597.
- 12   / 12:  446324.  446325.  446326.  446327.  446328.
- ---- L:2 T:   1952
- 1    /  1:  447054.  447055.  447056.  447057.  447058.
- 2    /  2:  447785.  447786.  447787.  447788.  447789.
- 3    /  3:  448515.  448516.  448517.  448518.  448519.
- 4    /  4:  449246.  449247.  449248.  449249.  449250.
- 5    /  5:  449976.  449977.  449978.  449979.  449980.
- 6    /  6:  450706.  450707.  450708.  450709.  450710.
- 7    /  7:  451437.  451438.  451439.  451440.  451441.
- 8    /  8:  452167.  452168.  452169.  452170.  452171.
- 9    /  9:  452898.  452899.  452900.  452901.  452902.
- 10   / 10:  453628.  453629.  453630.  453631.  453632.
- 11   / 11:  454359.  454360.  454361.  454362.  454363.
- 12   / 12:  455089.  455090.  455091.  455092.  455093.
+                 1        2        3        4        5        6        7        8        9       10       11       12     
+                 1        2        3        4        5        6        7        8        9       10       11       12
+ 1951   / 1:  438289.  438290.  438291.  438292.  438293.  439019.  439020.  439021.  439022.  439023.  439750.  439751.
+ 1952   / 2:  439752.  439753.  439754.  440480.  440481.  440482.  440483.  440484.  441211.  441212.  441213.  441214.
  
 ! NOW THE ERROR: L LIMITS PASSED INCORRECTLY(ERRONEOUSLY) TO SRC
 list/l=1 out
              VARIABLE : RESHAPE(SRC,OUT_GRID)
-             SUBSET   : 5 by 12 points (X-Z)
+             SUBSET   : 12 points (Z)
              Y        : 0.5 to 1.5
              T        : 1951
-                1        2        3        4        5     
-                1        2        3        4        5
- 1    /  1:  438289.  438290.  438291.  438292.  438293.
- 2    /  2:  439019.  439020.  439021.  439022.  439023.
- 3    /  3:  439750.  439751.  439752.  439753.  439754.
- 4    /  4:  440480.  440481.  440482.  440483.  440484.
- 5    /  5:  441211.  441212.  441213.  441214.  441215.
- 6    /  6:  441941.  441942.  441943.  441944.  441945.
- 7    /  7:  442672.  442673.  442674.  442675.  442676.
- 8    /  8:  443402.  443403.  443404.  443405.  443406.
- 9    /  9:  444132.  444133.  444134.  444135.  444136.
- 10   / 10:  444863.  444864.  444865.  444866.  444867.
- 11   / 11:  445593.  445594.  445595.  445596.  445597.
- 12   / 12:  446324.  446325.  446326.  446327.  446328.
+ 1    /  1:  438289.
+ 2    /  2:  438290.
+ 3    /  3:  438291.
+ 4    /  4:  438292.
+ 5    /  5:  438293.
+ 6    /  6:  439019.
+ 7    /  7:  439020.
+ 8    /  8:  439021.
+ 9    /  9:  439022.
+ 10   / 10:  439023.
+ 11   / 11:  439750.
+ 12   / 12:  439751.
  
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err491_delete_child_var.jnl
 ! err491_delete_child_var.jnl
 ! *sh* 4/99
@@ -25298,6 +25215,7 @@ list  ypolymark	! incorrect values: 10, 20, 30
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err491_dp_time_write.jnl
 ! err491_dp_time_write.jnl
 ! *sh* 10/98
@@ -25320,6 +25238,7 @@ sp ncdump out.cdf >> all_ncdump.out
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err491_gmax.jnl
 ! err491_gmax.jnl
 ! 9 Dec. 1998 *sh*
@@ -25336,6 +25255,7 @@ load ts[gt=t24 at max]
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err491_grid_from_name.jnl
 ! err491_grid_from_name.jnl
 ! *sh* 3/99
@@ -25360,6 +25280,7 @@ can mode ignore
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err491_let_d.jnl
 ! err491_let_d.jnl
 ! *sh* 10/98
@@ -25390,6 +25311,7 @@ stat/i=1:3/j=1:3 a
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err491_sh_var_templates.jnl
 ! SHOW VARIABLE templates are not robust
  
@@ -25404,6 +25326,7 @@ sho var mld*dec		! works
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err491_single_char_replace.jnl
 ! err491_single_char_replace.jnl
  
@@ -25422,6 +25345,7 @@ hh
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err491_spawn_quotes.jnl
 ! err491_spawn_quotes.jnl
  
@@ -25429,10 +25353,11 @@ GO err491_spawn_quotes.jnl
  
 ! this should be a valid command
 SPAWN "date"
-Wed Feb 15 11:27:38 PST 2017
+Wed Jul 12 09:51:47 PDT 2017
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err491_time_regridding.jnl
 ! err491_time_regridding.jnl
 ! from Jon 10/16/98
@@ -25468,6 +25393,7 @@ plot/over bad[t=@sbx:3]
 ! 3/01 *kob* uncomment the below - seems to run on all systems
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err491_unknown_function.jnl
 ! err491_unknown_function
 ! 3/99 *sh*
@@ -25485,6 +25411,7 @@ can mode ignore
 ! *kob* added 6/11/1999
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err500_IF_THEN_ELSE_quote.jnl
 ! err500_IF_THEN_ELSE_quote.jnl
  
@@ -25498,8 +25425,10 @@ I is too big
  
 ! ******** V510 Additions below ***********
  
-GO bn_reset
+GO bn_reset bn_sample
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_sample
 GO bn_sample			! internal (optimized) SAMPLE* functions
 ! bn_sample.jnl
 ! 10/99 *sh*
@@ -25556,45 +25485,41 @@ list SAMPLEI(sst[l=1:3,y=-2:2],{30,40,50})
  1N   / 46:  29.1373  28.9243  28.3264
  1S   / 45:  28.8965  28.8240  28.5357
 SHOW MEM/FREE
- Current size of FERRET memory cache: 25.6 MegaWords  (1 word = 8 bytes)
-            total memory table slots: 500
-            total memory blocks: 2000
-            memory block size: 12800
- 
-            number of free memory blocks: 1987
-            largest free region: 1984
-            number of free regions: 4
-            free memory table slots: 487
-            number of UN-CACHED variables: 0
+    SET MEMORY/SIZE: 25.6 megawords
+    Peak demand: 39 words
+    Current cache: 63 words
+    Total table slots: 500
+    Free table slots: 487
+    Un-cached variables: 0
  
 ! these should break sampling up into separate reads
 cancel memory/all
 set mode diagnostic
 list/i=2 SAMPLEI(sst[l=1,y=-2:2],{30,40,50})	! only I=2 from result
  dealloc  dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
- dealloc  dynamic grid (G006)          ABSTRACT  COADSY    NORMAL    TIME4
- dealloc  dynamic grid (G006)          ABSTRACT  COADSY    NORMAL    TIME4
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid (C01,V02 C:  7 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid (C09,V02 C: 10 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ dealloc  dynamic grid (G017)          ABSTRACT  COADSY    NORMAL    TIME4
+ dealloc  dynamic grid (G017)          ABSTRACT  COADSY    NORMAL    TIME4
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid (C01,V02 C:  7 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid (C09,V02 C: 10 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
- allocate dynamic grid (G006)          ABSTRACT  COADSY    NORMAL    TIME4
- allocate dynamic grid (G006)          ABSTRACT  COADSY    NORMAL    TIME4
+ allocate dynamic grid (G017)          ABSTRACT  COADSY    NORMAL    TIME4
+ allocate dynamic grid (G017)          ABSTRACT  COADSY    NORMAL    TIME4
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:    2    2  J: -999 -999  K: -999 -999  L: -999 -999
- eval    (C01,V02 C:  7 dset:   1 I:    2    2  J: -999 -999  K: -999 -999  L: -999 -999
- const_v {30,...} M: 34 dset:   0 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999
- doing sampling tpry on I axis:     1     3 dset:   1
- eval    (C09,V02 C: 11 dset:   1 I:   30   30  J: -999 -999  K: -999 -999  L: -999 -999
- reading SST      M: 29 dset:   1 I:   30   30  J:   45   46  K: -999 -999  L:    1    1
- eval    (C09,V02 C: 11 dset:   1 I:   40   40  J:   45   46  K: -999 -999  L:    1    1
- reading SST      M: 25 dset:   1 I:   40   40  J:   45   46  K: -999 -999  L:    1    1
- eval    (C09,V02 C: 11 dset:   1 I:   50   50  J:   45   46  K: -999 -999  L:    1    1
- reading SST      M: 23 dset:   1 I:   50   50  J:   45   46  K: -999 -999  L:    1    1
- -DELETE SST      M: 31 dset:   1 I:    1    3  J: -999 -999  K: -999 -999  L:    3    3  M: -999 -999  N: -999 -999
- -DELETE (C01,V02 M: 33 dset:   1 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999  M: -999 -999  N: -999 -999
- -DELETE tpry     M: 27 dset:   1 I:    1    3  J:   45   46  K: -999 -999  L:    1    1
- -DELETE {30,...} M: 34 dset:   0 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  5 dset:   1 I:      2      2  J: -999 -999  K: -999 -999  L:   -999   -999
+ eval    (C01,V02 C:  7 dset:   1 I:      2      2  J: -999 -999  K: -999 -999  L:   -999   -999
+ const_v {30,...} M:181 dset:   0 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999
+ doing sampling tpry on I axis:        1        3 dset:   1
+ eval    (C09,V02 C: 11 dset:   1 I:     30     30  J: -999 -999  K: -999 -999  L:   -999   -999
+ reading SST      M:174 dset:   1 I:     30     30  J:   45   46  K: -999 -999  L:      1      1
+ eval    (C09,V02 C: 11 dset:   1 I:     40     40  J:   45   46  K: -999 -999  L:      1      1
+ reading SST      M:154 dset:   1 I:     40     40  J:   45   46  K: -999 -999  L:      1      1
+ eval    (C09,V02 C: 11 dset:   1 I:     50     50  J:   45   46  K: -999 -999  L:      1      1
+ reading SST      M:151 dset:   1 I:     50     50  J:   45   46  K: -999 -999  L:      1      1
+ -DELETE SST      M:175 dset:   1 I:      1      3  J: -999 -999  K: -999 -999  L:      3      3  M: -999 -999  N: -999 -999
+ -DELETE (C01,V02 M:177 dset:   1 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999  M: -999 -999  N: -999 -999
+ -DELETE tpry     M:163 dset:   1 I:      1      3  J:   45   46  K: -999 -999  L:      1      1
+ -DELETE {30,...} M:181 dset:   0 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999
              VARIABLE : SAMPLEI(SST[L=1,Y=-2:2],{30,40,50})
              FILENAME : coads_climatology.cdf
              SUBSET   : 2 points (LATITUDE)
@@ -25604,32 +25529,32 @@ list/i=2 SAMPLEI(sst[l=1,y=-2:2],{30,40,50})	! only I=2 from result
                 2
  1N   / 46:  28.1992
  1S   / 45:  28.5607
- -DELETE (C01,V02 M: 34 dset:   1 I:    2    2  J:   45   46  K: -999 -999  L:    1    1
+ -DELETE (C01,V02 M:181 dset:   1 I:      2      2  J:   45   46  K: -999 -999  L:      1      1
 cancel memory/all
- -DELETE (C09,V02 M: 21 dset:   1 I:   50   50  J:   45   46  K: -999 -999  L:    1    1
- -DELETE SST      M: 23 dset:   1 I:   50   50  J:   45   46  K: -999 -999  L:    1    1
- -DELETE (C09,V02 M: 24 dset:   1 I:   40   40  J:   45   46  K: -999 -999  L:    1    1
- -DELETE SST      M: 25 dset:   1 I:   40   40  J:   45   46  K: -999 -999  L:    1    1
- -DELETE (C09,V02 M: 28 dset:   1 I:   30   30  J:   45   46  K: -999 -999  L:    1    1
- -DELETE SST      M: 29 dset:   1 I:   30   30  J:   45   46  K: -999 -999  L:    1    1
- -DELETE (C01,V02 M: 33 dset:   1 I:    1    3  J:   45   46  K: -999 -999  L:    1    1
+ -DELETE (C09,V02 M:148 dset:   1 I:     50     50  J:   45   46  K: -999 -999  L:      1      1
+ -DELETE SST      M:151 dset:   1 I:     50     50  J:   45   46  K: -999 -999  L:      1      1
+ -DELETE (C09,V02 M:152 dset:   1 I:     40     40  J:   45   46  K: -999 -999  L:      1      1
+ -DELETE SST      M:154 dset:   1 I:     40     40  J:   45   46  K: -999 -999  L:      1      1
+ -DELETE (C09,V02 M:173 dset:   1 I:     30     30  J:   45   46  K: -999 -999  L:      1      1
+ -DELETE SST      M:174 dset:   1 I:     30     30  J:   45   46  K: -999 -999  L:      1      1
+ -DELETE (C01,V02 M:177 dset:   1 I:      1      3  J:   45   46  K: -999 -999  L:      1      1
 list/l=1/y=-2:2  SAMPLEI(sst,{30,40,50})
  dealloc  dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
- dealloc  dynamic grid (G006)          ABSTRACT  COADSY    NORMAL    TIME4
- dealloc  dynamic grid (G006)          ABSTRACT  COADSY    NORMAL    TIME4
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G006)          ABSTRACT  COADSY    NORMAL    TIME4
+ dealloc  dynamic grid (G017)          ABSTRACT  COADSY    NORMAL    TIME4
+ dealloc  dynamic grid (G017)          ABSTRACT  COADSY    NORMAL    TIME4
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G017)          ABSTRACT  COADSY    NORMAL    TIME4
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I: -999 -999  J:   45   46  K: -999 -999  L:    1    1
- const_v {30,...} M: 33 dset:   0 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999
- doing sampling tpry on I axis:     1     3 dset:   1
- reading SST      M: 25 dset:   1 I:   30   30  J:   45   46  K: -999 -999  L:    1    1
- reading SST      M: 23 dset:   1 I:   40   40  J:   45   46  K: -999 -999  L:    1    1
- reading SST      M: 21 dset:   1 I:   50   50  J:   45   46  K: -999 -999  L:    1    1
- -DELETE          M: 28 dset:   1 I:    1    3  J: -999 -999  K: -999 -999  L:    3    3  M: -999 -999  N: -999 -999
- -DELETE SST      M: 29 dset:   1 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999  M: -999 -999  N: -999 -999
- -DELETE tpry     M: 24 dset:   1 I:    1    3  J:   45   46  K: -999 -999  L:    1    1
- -DELETE {30,...} M: 33 dset:   0 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  5 dset:   1 I:   -999   -999  J:   45   46  K: -999 -999  L:      1      1
+ const_v {30,...} M:177 dset:   0 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999
+ doing sampling tpry on I axis:        1        3 dset:   1
+ reading SST      M:154 dset:   1 I:     30     30  J:   45   46  K: -999 -999  L:      1      1
+ reading SST      M:151 dset:   1 I:     40     40  J:   45   46  K: -999 -999  L:      1      1
+ reading SST      M:148 dset:   1 I:     50     50  J:   45   46  K: -999 -999  L:      1      1
+ -DELETE          M:173 dset:   1 I:      1      3  J: -999 -999  K: -999 -999  L:      3      3  M: -999 -999  N: -999 -999
+ -DELETE SST      M:174 dset:   1 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999  M: -999 -999  N: -999 -999
+ -DELETE tpry     M:152 dset:   1 I:      1      3  J:   45   46  K: -999 -999  L:      1      1
+ -DELETE {30,...} M:177 dset:   0 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999
              VARIABLE : SAMPLEI(SST,{30,40,50})
              FILENAME : coads_climatology.cdf
              SUBSET   : 3 by 2 points (X-LATITUDE)
@@ -25639,30 +25564,30 @@ list/l=1/y=-2:2  SAMPLEI(sst,{30,40,50})
  1N   / 46:  28.2222  28.1992  28.4514
  1S   / 45:  28.1514  28.5607  28.8326
 cancel memory/all
- -DELETE SST      M: 21 dset:   1 I:   50   50  J:   45   46  K: -999 -999  L:    1    1
- -DELETE SST      M: 23 dset:   1 I:   40   40  J:   45   46  K: -999 -999  L:    1    1
- -DELETE SST      M: 25 dset:   1 I:   30   30  J:   45   46  K: -999 -999  L:    1    1
- -DELETE EX#1     M: 29 dset:   1 I:    1    3  J:   45   46  K: -999 -999  L:    1    1
+ -DELETE SST      M:148 dset:   1 I:     50     50  J:   45   46  K: -999 -999  L:      1      1
+ -DELETE SST      M:151 dset:   1 I:     40     40  J:   45   46  K: -999 -999  L:      1      1
+ -DELETE SST      M:154 dset:   1 I:     30     30  J:   45   46  K: -999 -999  L:      1      1
+ -DELETE EX#1     M:174 dset:   1 I:      1      3  J:   45   46  K: -999 -999  L:      1      1
 list/l=1/y=-2:2  SAMPLEI(a  ,{30,40,50})
- dealloc  dynamic grid (G006)          ABSTRACT  COADSY    NORMAL    TIME4
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid A        C:  8 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ dealloc  dynamic grid (G017)          ABSTRACT  COADSY    NORMAL    TIME4
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid A        C:  8 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
- allocate dynamic grid (G006)          ABSTRACT  COADSY    NORMAL    TIME4
+ allocate dynamic grid (G017)          ABSTRACT  COADSY    NORMAL    TIME4
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I: -999 -999  J:   45   46  K: -999 -999  L:    1    1
- const_v {30,...} M: 29 dset:   0 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999
- doing sampling tpry on I axis:     1     3 dset:   1
- eval    A        C:  9 dset:   1 I:   30   30  J:   45   46  K: -999 -999  L:    1    1
- reading SST      M: 21 dset:   1 I:   30   30  J:   45   46  K: -999 -999  L:    1    1
- eval    A        C:  9 dset:   1 I:   40   40  J:   45   46  K: -999 -999  L:    1    1
- reading SST      M: 28 dset:   1 I:   40   40  J:   45   46  K: -999 -999  L:    1    1
- eval    A        C:  9 dset:   1 I:   50   50  J:   45   46  K: -999 -999  L:    1    1
- reading SST      M: 27 dset:   1 I:   50   50  J:   45   46  K: -999 -999  L:    1    1
- -DELETE SST      M: 23 dset:   1 I:    1    3  J: -999 -999  K: -999 -999  L:    3    3  M: -999 -999  N: -999 -999
- -DELETE SST      M: 25 dset:   1 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999  M: -999 -999  N: -999 -999
- -DELETE tpry     M: 24 dset:   1 I:    1    3  J:   45   46  K: -999 -999  L:    1    1
- -DELETE {30,...} M: 29 dset:   0 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  5 dset:   1 I:   -999   -999  J:   45   46  K: -999 -999  L:      1      1
+ const_v {30,...} M:174 dset:   0 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999
+ doing sampling tpry on I axis:        1        3 dset:   1
+ eval    A        C:  9 dset:   1 I:     30     30  J:   45   46  K: -999 -999  L:      1      1
+ reading SST      M:148 dset:   1 I:     30     30  J:   45   46  K: -999 -999  L:      1      1
+ eval    A        C:  9 dset:   1 I:     40     40  J:   45   46  K: -999 -999  L:      1      1
+ reading SST      M:173 dset:   1 I:     40     40  J:   45   46  K: -999 -999  L:      1      1
+ eval    A        C:  9 dset:   1 I:     50     50  J:   45   46  K: -999 -999  L:      1      1
+ reading SST      M:163 dset:   1 I:     50     50  J:   45   46  K: -999 -999  L:      1      1
+ -DELETE SST      M:151 dset:   1 I:      1      3  J: -999 -999  K: -999 -999  L:      3      3  M: -999 -999  N: -999 -999
+ -DELETE SST      M:154 dset:   1 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999  M: -999 -999  N: -999 -999
+ -DELETE tpry     M:152 dset:   1 I:      1      3  J:   45   46  K: -999 -999  L:      1      1
+ -DELETE {30,...} M:174 dset:   0 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999
              VARIABLE : SAMPLEI(A  ,{30,40,50})
              FILENAME : coads_climatology.cdf
              SUBSET   : 3 by 2 points (X-LATITUDE)
@@ -25674,32 +25599,32 @@ list/l=1/y=-2:2  SAMPLEI(a  ,{30,40,50})
  
 ! these should NOT break up the access into chunks
 cancel memory/all
- -DELETE SST      M: 21 dset:   1 I:   30   30  J:   45   46  K: -999 -999  L:    1    1
- -DELETE EX#1     M: 25 dset:   1 I:    1    3  J:   45   46  K: -999 -999  L:    1    1
- -DELETE SST      M: 27 dset:   1 I:   50   50  J:   45   46  K: -999 -999  L:    1    1
- -DELETE SST      M: 28 dset:   1 I:   40   40  J:   45   46  K: -999 -999  L:    1    1
- -DELETE A        M: 31 dset:   1 I:   50   50  J:   45   46  K: -999 -999  L:    1    1
- -DELETE A        M: 33 dset:   1 I:   30   30  J:   45   46  K: -999 -999  L:    1    1
- -DELETE A        M: 34 dset:   1 I:   40   40  J:   45   46  K: -999 -999  L:    1    1
+ -DELETE SST      M:148 dset:   1 I:     30     30  J:   45   46  K: -999 -999  L:      1      1
+ -DELETE EX#1     M:154 dset:   1 I:      1      3  J:   45   46  K: -999 -999  L:      1      1
+ -DELETE SST      M:163 dset:   1 I:     50     50  J:   45   46  K: -999 -999  L:      1      1
+ -DELETE SST      M:173 dset:   1 I:     40     40  J:   45   46  K: -999 -999  L:      1      1
+ -DELETE A        M:175 dset:   1 I:     50     50  J:   45   46  K: -999 -999  L:      1      1
+ -DELETE A        M:177 dset:   1 I:     30     30  J:   45   46  K: -999 -999  L:      1      1
+ -DELETE A        M:181 dset:   1 I:     40     40  J:   45   46  K: -999 -999  L:      1      1
 list/l=1/y=-2:2  SAMPLEI(sst[i=30:40],{30,40,50})
- dealloc  dynamic grid (G006)          ABSTRACT  COADSY    NORMAL    TIME4
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid (C01,V02 C:  7 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid (C09,V02 C: 10 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ dealloc  dynamic grid (G017)          ABSTRACT  COADSY    NORMAL    TIME4
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid (C01,V02 C:  7 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid (C09,V02 C: 10 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
- allocate dynamic grid (G006)          ABSTRACT  COADSY    NORMAL    TIME4
- allocate dynamic grid (G006)          ABSTRACT  COADSY    NORMAL    TIME4
+ allocate dynamic grid (G017)          ABSTRACT  COADSY    NORMAL    TIME4
+ allocate dynamic grid (G017)          ABSTRACT  COADSY    NORMAL    TIME4
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I: -999 -999  J:   45   46  K: -999 -999  L:    1    1
- eval    (C01,V02 C:  7 dset:   1 I: -999 -999  J:   45   46  K: -999 -999  L:    1    1
- const_v {30,...} M: 34 dset:   0 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999
- doing sampling tpry on I axis:     1     3 dset:   1
- eval    (C09,V02 C: 11 dset:   1 I: -999 -999  J:   45   46  K: -999 -999  L:    1    1
- reading SST      M: 28 dset:   1 I:   30   40  J:   45   46  K: -999 -999  L:    1    1
- -DELETE A        M: 31 dset:   1 I:    1    3  J: -999 -999  K: -999 -999  L:    3    3  M: -999 -999  N: -999 -999
- -DELETE A        M: 33 dset:   1 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999  M: -999 -999  N: -999 -999
- -DELETE tpry     M: 25 dset:   1 I:    1    3  J:   45   46  K: -999 -999  L:    1    1
- -DELETE {30,...} M: 34 dset:   0 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  5 dset:   1 I:   -999   -999  J:   45   46  K: -999 -999  L:      1      1
+ eval    (C01,V02 C:  7 dset:   1 I:   -999   -999  J:   45   46  K: -999 -999  L:      1      1
+ const_v {30,...} M:181 dset:   0 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999
+ doing sampling tpry on I axis:        1        3 dset:   1
+ eval    (C09,V02 C: 11 dset:   1 I:   -999   -999  J:   45   46  K: -999 -999  L:      1      1
+ reading SST      M:173 dset:   1 I:     30     40  J:   45   46  K: -999 -999  L:      1      1
+ -DELETE A        M:175 dset:   1 I:      1      3  J: -999 -999  K: -999 -999  L:      3      3  M: -999 -999  N: -999 -999
+ -DELETE A        M:177 dset:   1 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999  M: -999 -999  N: -999 -999
+ -DELETE tpry     M:154 dset:   1 I:      1      3  J:   45   46  K: -999 -999  L:      1      1
+ -DELETE {30,...} M:181 dset:   0 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999
              VARIABLE : SAMPLEI(SST[I=30:40],{30,40,50})
              FILENAME : coads_climatology.cdf
              SUBSET   : 3 by 2 points (X-LATITUDE)
@@ -25709,29 +25634,29 @@ list/l=1/y=-2:2  SAMPLEI(sst[i=30:40],{30,40,50})
  1N   / 46:  28.2222  28.1992     ....
  1S   / 45:  28.1514  28.5607     ....
 let/quiet a = sst[i=30:40]
- -DELETE (C09,V02 M: 27 dset:   1 I:   30   40  J:   45   46  K: -999 -999  L:    1    1
+ -DELETE (C09,V02 M:163 dset:   1 I:     30     40  J:   45   46  K: -999 -999  L:      1      1
  dealloc  dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
- -DELETE (C01,V02 M: 33 dset:   1 I:    1    3  J:   45   46  K: -999 -999  L:    1    1
- dealloc  dynamic grid (G006)          ABSTRACT  COADSY    NORMAL    TIME4
- dealloc  dynamic grid (G006)          ABSTRACT  COADSY    NORMAL    TIME4
+ -DELETE (C01,V02 M:177 dset:   1 I:      1      3  J:   45   46  K: -999 -999  L:      1      1
+ dealloc  dynamic grid (G017)          ABSTRACT  COADSY    NORMAL    TIME4
+ dealloc  dynamic grid (G017)          ABSTRACT  COADSY    NORMAL    TIME4
  dealloc  dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
 cancel memory/all
- -DELETE SST      M: 28 dset:   1 I:   30   40  J:   45   46  K: -999 -999  L:    1    1
+ -DELETE SST      M:173 dset:   1 I:     30     40  J:   45   46  K: -999 -999  L:      1      1
 list/l=1/y=-2:2  SAMPLEI(a,{30,40,50})
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid A        C:  8 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid A        C:  8 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
- allocate dynamic grid (G006)          ABSTRACT  COADSY    NORMAL    TIME4
+ allocate dynamic grid (G017)          ABSTRACT  COADSY    NORMAL    TIME4
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I: -999 -999  J:   45   46  K: -999 -999  L:    1    1
- const_v {30,...} M: 28 dset:   0 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999
- doing sampling tpry on I axis:     1     3 dset:   1
- eval    A        C:  9 dset:   1 I: -999 -999  J:   45   46  K: -999 -999  L:    1    1
- reading SST      M: 34 dset:   1 I:   30   40  J:   45   46  K: -999 -999  L:    1    1
- -DELETE          M: 27 dset:   1 I:    1    3  J: -999 -999  K: -999 -999  L:    3    3  M: -999 -999  N: -999 -999
- -DELETE          M: 33 dset:   1 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999  M: -999 -999  N: -999 -999
- -DELETE tpry     M: 31 dset:   1 I:    1    3  J:   45   46  K: -999 -999  L:    1    1
- -DELETE {30,...} M: 28 dset:   0 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  5 dset:   1 I:   -999   -999  J:   45   46  K: -999 -999  L:      1      1
+ const_v {30,...} M:173 dset:   0 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999
+ doing sampling tpry on I axis:        1        3 dset:   1
+ eval    A        C:  9 dset:   1 I:   -999   -999  J:   45   46  K: -999 -999  L:      1      1
+ reading SST      M:181 dset:   1 I:     30     40  J:   45   46  K: -999 -999  L:      1      1
+ -DELETE          M:163 dset:   1 I:      1      3  J: -999 -999  K: -999 -999  L:      3      3  M: -999 -999  N: -999 -999
+ -DELETE          M:177 dset:   1 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999  M: -999 -999  N: -999 -999
+ -DELETE tpry     M:175 dset:   1 I:      1      3  J:   45   46  K: -999 -999  L:      1      1
+ -DELETE {30,...} M:173 dset:   0 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999
              VARIABLE : SAMPLEI(A,{30,40,50})
              FILENAME : coads_climatology.cdf
              SUBSET   : 3 by 2 points (X-LATITUDE)
@@ -25741,23 +25666,23 @@ list/l=1/y=-2:2  SAMPLEI(a,{30,40,50})
  1N   / 46:  28.2222  28.1992     ....
  1S   / 45:  28.1514  28.5607     ....
 cancel memory/all
- -DELETE A        M: 25 dset:   1 I:   30   40  J:   45   46  K: -999 -999  L:    1    1
- -DELETE EX#1     M: 33 dset:   1 I:    1    3  J:   45   46  K: -999 -999  L:    1    1
- -DELETE SST      M: 34 dset:   1 I:   30   40  J:   45   46  K: -999 -999  L:    1    1
+ -DELETE A        M:154 dset:   1 I:     30     40  J:   45   46  K: -999 -999  L:      1      1
+ -DELETE EX#1     M:177 dset:   1 I:      1      3  J:   45   46  K: -999 -999  L:      1      1
+ -DELETE SST      M:181 dset:   1 I:     30     40  J:   45   46  K: -999 -999  L:      1      1
 list/l=1/y=-2:2  SAMPLEI(a,{30})		! sample at just 1 point
- dealloc  dynamic grid (G006)          ABSTRACT  COADSY    NORMAL    TIME4
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G006)          ABSTRACT  COADSY    NORMAL    TIME4
+ dealloc  dynamic grid (G017)          ABSTRACT  COADSY    NORMAL    TIME4
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G017)          ABSTRACT  COADSY    NORMAL    TIME4
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I: -999 -999  J:   45   46  K: -999 -999  L:    1    1
- const_v {30}     M: 34 dset:   0 I:    1    1  J: -999 -999  K: -999 -999  L: -999 -999
- doing sampling tpry on I axis:     1     1 dset:   1
- eval    A        C:  9 dset:   1 I: -999 -999  J:   45   46  K: -999 -999  L:    1    1
- reading SST      M: 28 dset:   1 I:   30   40  J:   45   46  K: -999 -999  L:    1    1
- -DELETE A        M: 25 dset:   1 I:    1    1  J: -999 -999  K: -999 -999  L:    1    1  M: -999 -999  N: -999 -999
- -DELETE EX#1     M: 33 dset:   1 I:    1    1  J: -999 -999  K: -999 -999  L: -999 -999  M: -999 -999  N: -999 -999
- -DELETE tpry     M: 27 dset:   1 I:    1    1  J:   45   46  K: -999 -999  L:    1    1
- -DELETE {30}     M: 34 dset:   0 I:    1    1  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  5 dset:   1 I:   -999   -999  J:   45   46  K: -999 -999  L:      1      1
+ const_v {30}     M:181 dset:   0 I:      1      1  J: -999 -999  K: -999 -999  L:   -999   -999
+ doing sampling tpry on I axis:        1        1 dset:   1
+ eval    A        C:  9 dset:   1 I:   -999   -999  J:   45   46  K: -999 -999  L:      1      1
+ reading SST      M:173 dset:   1 I:     30     40  J:   45   46  K: -999 -999  L:      1      1
+ -DELETE A        M:154 dset:   1 I:      1      1  J: -999 -999  K: -999 -999  L:      1      1  M: -999 -999  N: -999 -999
+ -DELETE EX#1     M:177 dset:   1 I:      1      1  J: -999 -999  K: -999 -999  L:   -999   -999  M: -999 -999  N: -999 -999
+ -DELETE tpry     M:163 dset:   1 I:      1      1  J:   45   46  K: -999 -999  L:      1      1
+ -DELETE {30}     M:181 dset:   0 I:      1      1  J: -999 -999  K: -999 -999  L:   -999   -999
              VARIABLE : SAMPLEI(A,{30})
              FILENAME : coads_climatology.cdf
              SUBSET   : 2 points (LATITUDE)
@@ -25768,28 +25693,28 @@ list/l=1/y=-2:2  SAMPLEI(a,{30})		! sample at just 1 point
  1N   / 46:  28.2222
  1S   / 45:  28.1514
 cancel memory/all
- -DELETE SST      M: 28 dset:   1 I:   30   40  J:   45   46  K: -999 -999  L:    1    1
- -DELETE A        M: 31 dset:   1 I:   30   40  J:   45   46  K: -999 -999  L:    1    1
- -DELETE EX#1     M: 33 dset:   1 I:    1    1  J:   45   46  K: -999 -999  L:    1    1
+ -DELETE SST      M:173 dset:   1 I:     30     40  J:   45   46  K: -999 -999  L:      1      1
+ -DELETE A        M:175 dset:   1 I:     30     40  J:   45   46  K: -999 -999  L:      1      1
+ -DELETE EX#1     M:177 dset:   1 I:      1      1  J:   45   46  K: -999 -999  L:      1      1
 list/l=1/y=-2:2  SAMPLEI(a,30)			! sample at just 1 point
- dealloc  dynamic grid (G006)          ABSTRACT  COADSY    NORMAL    TIME4
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid (C01,V02 C:  7 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid (C11,V02 C:  9 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G006)          ABSTRACT  COADSY    NORMAL    TIME4
- allocate dynamic grid (G006)          ABSTRACT  COADSY    NORMAL    TIME4
+ dealloc  dynamic grid (G017)          ABSTRACT  COADSY    NORMAL    TIME4
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid (C01,V02 C:  7 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid (C11,V02 C:  9 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G017)          ABSTRACT  COADSY    NORMAL    TIME4
+ allocate dynamic grid (G017)          ABSTRACT  COADSY    NORMAL    TIME4
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I: -999 -999  J:   45   46  K: -999 -999  L:    1    1
- eval    (C01,V02 C:  7 dset:   1 I: -999 -999  J:   45   46  K: -999 -999  L:    1    1
- eval    (C11,V02 C:  9 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M: -999 -999  N: -999 -999
- constan cnst     M: 33 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M: -999 -999  N: -999 -999
- -DELETE cnst     M: 33 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M: -999 -999  N: -999 -999
- doing sampling tpry on I axis:     1     1 dset:   1
- eval    A        C: 11 dset:   1 I: -999 -999  J:   45   46  K: -999 -999  L:    1    1
- reading SST      M: 34 dset:   1 I:   30   40  J:   45   46  K: -999 -999  L:    1    1
- -DELETE SST      M: 28 dset:   1 I:    1    1  J: -999 -999  K: -999 -999  L:    1    1  M: -999 -999  N: -999 -999
- -DELETE cnst     M: 33 dset:   0 I:    1    1  J: -999 -999  K: -999 -999  L: -999 -999  M: -999 -999  N: -999 -999
- -DELETE tpry     M: 25 dset:   1 I:    1    1  J:   45   46  K: -999 -999  L:    1    1
+ eval    EX#1     C:  5 dset:   1 I:   -999   -999  J:   45   46  K: -999 -999  L:      1      1
+ eval    (C01,V02 C:  7 dset:   1 I:   -999   -999  J:   45   46  K: -999 -999  L:      1      1
+ eval    (C11,V02 C:  9 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M: -999 -999  N: -999 -999
+ constan cnst     M:177 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M: -999 -999  N: -999 -999
+ -DELETE cnst     M:177 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M: -999 -999  N: -999 -999
+ doing sampling tpry on I axis:        1        1 dset:   1
+ eval    A        C: 11 dset:   1 I:   -999   -999  J:   45   46  K: -999 -999  L:      1      1
+ reading SST      M:181 dset:   1 I:     30     40  J:   45   46  K: -999 -999  L:      1      1
+ -DELETE SST      M:173 dset:   1 I:      1      1  J: -999 -999  K: -999 -999  L:      1      1  M: -999 -999  N: -999 -999
+ -DELETE cnst     M:177 dset:   0 I:      1      1  J: -999 -999  K: -999 -999  L:   -999   -999  M: -999 -999  N: -999 -999
+ -DELETE tpry     M:154 dset:   1 I:      1      1  J:   45   46  K: -999 -999  L:      1      1
              VARIABLE : SAMPLEI(A,30)
              FILENAME : coads_climatology.cdf
              SUBSET   : 2 points (LATITUDE)
@@ -25800,40 +25725,40 @@ list/l=1/y=-2:2  SAMPLEI(a,30)			! sample at just 1 point
  1N   / 46:  28.2222
  1S   / 45:  28.1514
 cancel memory/all
- -DELETE A        M: 27 dset:   1 I:   30   40  J:   45   46  K: -999 -999  L:    1    1
- -DELETE (C11,V02 M: 31 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M: -999 -999  N: -999 -999
- -DELETE (C01,V02 M: 33 dset:   1 I:    1    1  J:   45   46  K: -999 -999  L:    1    1
- -DELETE SST      M: 34 dset:   1 I:   30   40  J:   45   46  K: -999 -999  L:    1    1
+ -DELETE A        M:163 dset:   1 I:     30     40  J:   45   46  K: -999 -999  L:      1      1
+ -DELETE (C11,V02 M:175 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M: -999 -999  N: -999 -999
+ -DELETE (C01,V02 M:177 dset:   1 I:      1      1  J:   45   46  K: -999 -999  L:      1      1
+ -DELETE SST      M:181 dset:   1 I:     30     40  J:   45   46  K: -999 -999  L:      1      1
 let/quiet fsst = sst[x=@fln] 		! fill holes to allow @iin to work
 let/quiet a = fsst[i=@iin]		! @iin forces all-at-once
  dealloc  dynamic grid ABSTRACT        ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT
- dealloc  dynamic grid (G006)          ABSTRACT  COADSY    NORMAL    TIME4
- dealloc  dynamic grid (G006)          ABSTRACT  COADSY    NORMAL    TIME4
+ dealloc  dynamic grid (G017)          ABSTRACT  COADSY    NORMAL    TIME4
+ dealloc  dynamic grid (G017)          ABSTRACT  COADSY    NORMAL    TIME4
  dealloc  dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
 list/l=1/y=-2:2  SAMPLEI(a,{30,40,50})
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid A        C:  8 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid FSST     C: 10 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid A        C:  8 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid FSST     C: 10 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
  allocate dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
- allocate dynamic grid (G006)          ABSTRACT  COADSY    NORMAL    TIME4
+ allocate dynamic grid (G017)          ABSTRACT  COADSY    NORMAL    TIME4
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I: -999 -999  J:   45   46  K: -999 -999  L:    1    1
- const_v {30,...} M: 34 dset:   0 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999
- doing sampling tpry on I axis:     1     3 dset:   1
- eval    A        C:  9 dset:   1 I:    1  180  J:   45   46  K: -999 -999  L:    1    1
+ eval    EX#1     C:  5 dset:   1 I:   -999   -999  J:   45   46  K: -999 -999  L:      1      1
+ const_v {30,...} M:181 dset:   0 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999
+ doing sampling tpry on I axis:        1        3 dset:   1
+ eval    A        C:  9 dset:   1 I:      1    180  J:   45   46  K: -999 -999  L:      1      1
  strip --> FSST[X=20E:20E(380)@IIN,D=1]
- eval    FSST     C: 12 dset:   1 I:    1  180  J:   45   46  K: -999 -999  L:    1    1
+ eval    FSST     C: 12 dset:   1 I:      1    180  J:   45   46  K: -999 -999  L:      1      1
  strip --> SST[I=1:180 at FLN:1,D=1]
- strip moduloing SST on X axis:     0   181 dset:   1
- reading SST      M: 27 dset:   1 I:    1  180  J:   45   46  K: -999 -999  L:    1    1
- doing moduloing SST on X axis:     1   180 dset:   1
+ strip moduloing SST on X axis:        0      181 dset:   1
+ reading SST      M:163 dset:   1 I:      1    180  J:   45   46  K: -999 -999  L:      1      1
+ doing moduloing SST on X axis:        1      180 dset:   1
  doing --> SST[I=1:180 at FLN:1,D=1]
  doing --> FSST[X=20E:20E(380)@IIN,D=1]
- -DELETE          M: 31 dset:   0 I:    1    3  J: -999 -999  K: -999 -999  L:    3    3  M: -999 -999  N: -999 -999
- -DELETE          M: 33 dset:   1 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999  M: -999 -999  N: -999 -999
- -DELETE tpry     M: 23 dset:   1 I:    1    3  J:   45   46  K: -999 -999  L:    1    1
- -DELETE {30,...} M: 34 dset:   0 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999
+ -DELETE          M:175 dset:   0 I:      1      3  J: -999 -999  K: -999 -999  L:      3      3  M: -999 -999  N: -999 -999
+ -DELETE          M:177 dset:   1 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999  M: -999 -999  N: -999 -999
+ -DELETE tpry     M:151 dset:   1 I:      1      3  J:   45   46  K: -999 -999  L:      1      1
+ -DELETE {30,...} M:181 dset:   0 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999
              VARIABLE : SAMPLEI(A,{30,40,50})
              FILENAME : coads_climatology.cdf
              SUBSET   : 3 by 2 points (X-LATITUDE)
@@ -25843,38 +25768,36 @@ list/l=1/y=-2:2  SAMPLEI(a,{30,40,50})
  1N   / 46:  182881720.  245818833.  306844239.
  1S   / 45:  183667676.  246892478.  309487473.
 cancel memory/all
- -DELETE FSST     M: 21 dset:   1 I:    1  180  J:   45   46  K: -999 -999  L:    1    1
- -DELETE A        M: 24 dset:   1 I:    1  180  J:   45   46  K: -999 -999  L:    1    1
- -DELETE SST      M: 25 dset:   1 I:    0  181  J:   45   46  K: -999 -999  L:    1    1
- -DELETE SST      M: 27 dset:   1 I:    1  180  J:   45   46  K: -999 -999  L:    1    1
- -DELETE SST      M: 28 dset:   1 I:    1  180  J:   45   46  K: -999 -999  L:    1    1
- -DELETE FSST     M: 29 dset:   1 I:    1  180  J:   45   46  K: -999 -999  L:    1    1
- -DELETE EX#1     M: 33 dset:   1 I:    1    3  J:   45   46  K: -999 -999  L:    1    1
+ -DELETE FSST     M:148 dset:   1 I:      1    180  J:   45   46  K: -999 -999  L:      1      1
+ -DELETE A        M:152 dset:   1 I:      1    180  J:   45   46  K: -999 -999  L:      1      1
+ -DELETE SST      M:154 dset:   1 I:      0    181  J:   45   46  K: -999 -999  L:      1      1
+ -DELETE SST      M:163 dset:   1 I:      1    180  J:   45   46  K: -999 -999  L:      1      1
+ -DELETE SST      M:173 dset:   1 I:      1    180  J:   45   46  K: -999 -999  L:      1      1
+ -DELETE FSST     M:174 dset:   1 I:      1    180  J:   45   46  K: -999 -999  L:      1      1
+ -DELETE EX#1     M:177 dset:   1 I:      1      3  J:   45   46  K: -999 -999  L:      1      1
  
 ! now test optimization that uses large memory chunks if available
 cancel memory/all
 load/l=1/y=0 sst[I=30:50]
- dealloc  dynamic grid (G006)          ABSTRACT  COADSY    NORMAL    TIME4
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ dealloc  dynamic grid (G017)          ABSTRACT  COADSY    NORMAL    TIME4
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I: -999 -999  J:   45   45  K: -999 -999  L:    1    1
- reading SST      M: 33 dset:   1 I:   30   50  J:   45   45  K: -999 -999  L:    1    1
+ eval    EX#1     C:  5 dset:   1 I:   -999   -999  J:   45   45  K: -999 -999  L:      1      1
+ reading SST      M:177 dset:   1 I:     30     50  J:   45   45  K: -999 -999  L:      1      1
 list/l=1/y=0  SAMPLEI(sst,{30,40,50})
  dealloc  dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G006)          ABSTRACT  COADSY    NORMAL    TIME4
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G017)          ABSTRACT  COADSY    NORMAL    TIME4
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I: -999 -999  J:   45   45  K: -999 -999  L:    1    1
- const_v {30,...} M: 29 dset:   0 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999
- doing sampling tpry on I axis:     1     3 dset:   1
- reading SST      M: 25 dset:   1 I:   30   30  J:   45   45  K: -999 -999  L:    1    1
- reading SST      M: 21 dset:   1 I:   40   40  J:   45   45  K: -999 -999  L:    1    1
- reading SST      M: 34 dset:   1 I:   50   50  J:   45   45  K: -999 -999  L:    1    1
- -DELETE SST      M: 27 dset:   1 I:    1    3  J: -999 -999  K: -999 -999  L:    3    3  M: -999 -999  N: -999 -999
- -DELETE SST      M: 28 dset:   1 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999  M: -999 -999  N: -999 -999
- -DELETE tpry     M: 24 dset:   1 I:    1    3  J:   45   45  K: -999 -999  L:    1    1
- -DELETE {30,...} M: 29 dset:   0 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  5 dset:   1 I:   -999   -999  J:   45   45  K: -999 -999  L:      1      1
+ const_v {30,...} M:174 dset:   0 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999
+ doing sampling tpry on I axis:        1        3 dset:   1
+ found   SST      M:177 dset:   1 I:     30     50  J:   45   45  K: -999 -999  L:      1      1
+ -DELETE SST      M:163 dset:   1 I:      1      3  J: -999 -999  K: -999 -999  L:      3      3  M: -999 -999  N: -999 -999
+ -DELETE SST      M:173 dset:   1 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999  M: -999 -999  N: -999 -999
+ -DELETE tpry     M:154 dset:   1 I:      1      3  J:   45   45  K: -999 -999  L:      1      1
+ -DELETE {30,...} M:174 dset:   0 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999
              VARIABLE : SAMPLEI(SST,{30,40,50})
              FILENAME : coads_climatology.cdf
              SUBSET   : 3 points (X)
@@ -25886,33 +25809,30 @@ list/l=1/y=0  SAMPLEI(sst,{30,40,50})
  2   / 2:  28.5607
  3   / 3:  28.8326
 cancel memory/all
- -DELETE SST      M: 21 dset:   1 I:   40   40  J:   45   45  K: -999 -999  L:    1    1
- -DELETE SST      M: 25 dset:   1 I:   30   30  J:   45   45  K: -999 -999  L:    1    1
- -DELETE EX#1     M: 28 dset:   1 I:    1    3  J:   45   45  K: -999 -999  L:    1    1
- -DELETE SST      M: 33 dset:   1 I:   30   50  J:   45   45  K: -999 -999  L:    1    1
- -DELETE SST      M: 34 dset:   1 I:   50   50  J:   45   45  K: -999 -999  L:    1    1
+ -DELETE EX#1     M:173 dset:   1 I:      1      3  J:   45   45  K: -999 -999  L:      1      1
+ -DELETE SST      M:177 dset:   1 I:     30     50  J:   45   45  K: -999 -999  L:      1      1
 load/l=1/y=0 sst[I=30:39]
- dealloc  dynamic grid (G006)          ABSTRACT  COADSY    NORMAL    TIME4
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ dealloc  dynamic grid (G017)          ABSTRACT  COADSY    NORMAL    TIME4
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I: -999 -999  J:   45   45  K: -999 -999  L:    1    1
- reading SST      M: 34 dset:   1 I:   30   39  J:   45   45  K: -999 -999  L:    1    1
+ eval    EX#1     C:  5 dset:   1 I:   -999   -999  J:   45   45  K: -999 -999  L:      1      1
+ reading SST      M:177 dset:   1 I:     30     39  J:   45   45  K: -999 -999  L:      1      1
 list/l=1/y=0  SAMPLEI(sst,{30,40,50})
  dealloc  dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G006)          ABSTRACT  COADSY    NORMAL    TIME4
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G017)          ABSTRACT  COADSY    NORMAL    TIME4
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I: -999 -999  J:   45   45  K: -999 -999  L:    1    1
- const_v {30,...} M: 33 dset:   0 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999
- doing sampling tpry on I axis:     1     3 dset:   1
- reading SST      M: 21 dset:   1 I:   30   30  J:   45   45  K: -999 -999  L:    1    1
- reading SST      M: 24 dset:   1 I:   40   40  J:   45   45  K: -999 -999  L:    1    1
- reading SST      M: 27 dset:   1 I:   50   50  J:   45   45  K: -999 -999  L:    1    1
- -DELETE SST      M: 25 dset:   1 I:    1    3  J: -999 -999  K: -999 -999  L:    3    3  M: -999 -999  N: -999 -999
- -DELETE EX#1     M: 28 dset:   1 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999  M: -999 -999  N: -999 -999
- -DELETE tpry     M: 29 dset:   1 I:    1    3  J:   45   45  K: -999 -999  L:    1    1
- -DELETE {30,...} M: 33 dset:   0 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  5 dset:   1 I:   -999   -999  J:   45   45  K: -999 -999  L:      1      1
+ const_v {30,...} M:173 dset:   0 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999
+ doing sampling tpry on I axis:        1        3 dset:   1
+ found   SST      M:177 dset:   1 I:     30     39  J:   45   45  K: -999 -999  L:      1      1
+ reading SST      M:152 dset:   1 I:     40     40  J:   45   45  K: -999 -999  L:      1      1
+ reading SST      M:148 dset:   1 I:     50     50  J:   45   45  K: -999 -999  L:      1      1
+ -DELETE tpry     M:154 dset:   1 I:      1      3  J: -999 -999  K: -999 -999  L:      3      3  M: -999 -999  N: -999 -999
+ -DELETE EX#1     M:174 dset:   1 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999  M: -999 -999  N: -999 -999
+ -DELETE tpry     M:163 dset:   1 I:      1      3  J:   45   45  K: -999 -999  L:      1      1
+ -DELETE {30,...} M:173 dset:   0 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999
              VARIABLE : SAMPLEI(SST,{30,40,50})
              FILENAME : coads_climatology.cdf
              SUBSET   : 3 points (X)
@@ -25924,33 +25844,31 @@ list/l=1/y=0  SAMPLEI(sst,{30,40,50})
  2   / 2:  28.5607
  3   / 3:  28.8326
 cancel memory/all
- -DELETE SST      M: 21 dset:   1 I:   30   30  J:   45   45  K: -999 -999  L:    1    1
- -DELETE SST      M: 24 dset:   1 I:   40   40  J:   45   45  K: -999 -999  L:    1    1
- -DELETE SST      M: 27 dset:   1 I:   50   50  J:   45   45  K: -999 -999  L:    1    1
- -DELETE EX#1     M: 28 dset:   1 I:    1    3  J:   45   45  K: -999 -999  L:    1    1
- -DELETE SST      M: 34 dset:   1 I:   30   39  J:   45   45  K: -999 -999  L:    1    1
+ -DELETE SST      M:148 dset:   1 I:     50     50  J:   45   45  K: -999 -999  L:      1      1
+ -DELETE SST      M:152 dset:   1 I:     40     40  J:   45   45  K: -999 -999  L:      1      1
+ -DELETE EX#1     M:174 dset:   1 I:      1      3  J:   45   45  K: -999 -999  L:      1      1
+ -DELETE SST      M:177 dset:   1 I:     30     39  J:   45   45  K: -999 -999  L:      1      1
 load/l=1/y=0 sst[I=30:40]
- dealloc  dynamic grid (G006)          ABSTRACT  COADSY    NORMAL    TIME4
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ dealloc  dynamic grid (G017)          ABSTRACT  COADSY    NORMAL    TIME4
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I: -999 -999  J:   45   45  K: -999 -999  L:    1    1
- reading SST      M: 34 dset:   1 I:   30   40  J:   45   45  K: -999 -999  L:    1    1
+ eval    EX#1     C:  5 dset:   1 I:   -999   -999  J:   45   45  K: -999 -999  L:      1      1
+ reading SST      M:177 dset:   1 I:     30     40  J:   45   45  K: -999 -999  L:      1      1
 list/l=1/y=0  SAMPLEI(sst,{30,40,50})
  dealloc  dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G006)          ABSTRACT  COADSY    NORMAL    TIME4
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G017)          ABSTRACT  COADSY    NORMAL    TIME4
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I: -999 -999  J:   45   45  K: -999 -999  L:    1    1
- const_v {30,...} M: 28 dset:   0 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999
- doing sampling tpry on I axis:     1     3 dset:   1
- reading SST      M: 21 dset:   1 I:   30   30  J:   45   45  K: -999 -999  L:    1    1
- reading SST      M: 29 dset:   1 I:   40   40  J:   45   45  K: -999 -999  L:    1    1
- reading SST      M: 25 dset:   1 I:   50   50  J:   45   45  K: -999 -999  L:    1    1
- -DELETE SST      M: 24 dset:   1 I:    1    3  J: -999 -999  K: -999 -999  L:    3    3  M: -999 -999  N: -999 -999
- -DELETE SST      M: 27 dset:   1 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999  M: -999 -999  N: -999 -999
- -DELETE tpry     M: 33 dset:   1 I:    1    3  J:   45   45  K: -999 -999  L:    1    1
- -DELETE {30,...} M: 28 dset:   0 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  5 dset:   1 I:   -999   -999  J:   45   45  K: -999 -999  L:      1      1
+ const_v {30,...} M:174 dset:   0 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999
+ doing sampling tpry on I axis:        1        3 dset:   1
+ found   SST      M:177 dset:   1 I:     30     40  J:   45   45  K: -999 -999  L:      1      1
+ reading SST      M:163 dset:   1 I:     50     50  J:   45   45  K: -999 -999  L:      1      1
+ -DELETE SST      M:148 dset:   1 I:      1      3  J: -999 -999  K: -999 -999  L:      3      3  M: -999 -999  N: -999 -999
+ -DELETE SST      M:152 dset:   1 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999  M: -999 -999  N: -999 -999
+ -DELETE tpry     M:173 dset:   1 I:      1      3  J:   45   45  K: -999 -999  L:      1      1
+ -DELETE {30,...} M:174 dset:   0 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999
              VARIABLE : SAMPLEI(SST,{30,40,50})
              FILENAME : coads_climatology.cdf
              SUBSET   : 3 points (X)
@@ -25962,33 +25880,30 @@ list/l=1/y=0  SAMPLEI(sst,{30,40,50})
  2   / 2:  28.5607
  3   / 3:  28.8326
 cancel memory/all
- -DELETE SST      M: 21 dset:   1 I:   30   30  J:   45   45  K: -999 -999  L:    1    1
- -DELETE SST      M: 25 dset:   1 I:   50   50  J:   45   45  K: -999 -999  L:    1    1
- -DELETE EX#1     M: 27 dset:   1 I:    1    3  J:   45   45  K: -999 -999  L:    1    1
- -DELETE SST      M: 29 dset:   1 I:   40   40  J:   45   45  K: -999 -999  L:    1    1
- -DELETE SST      M: 34 dset:   1 I:   30   40  J:   45   45  K: -999 -999  L:    1    1
+ -DELETE EX#1     M:152 dset:   1 I:      1      3  J:   45   45  K: -999 -999  L:      1      1
+ -DELETE SST      M:163 dset:   1 I:     50     50  J:   45   45  K: -999 -999  L:      1      1
+ -DELETE SST      M:177 dset:   1 I:     30     40  J:   45   45  K: -999 -999  L:      1      1
 load/l=1/y=0 sst[I=30:41]
- dealloc  dynamic grid (G006)          ABSTRACT  COADSY    NORMAL    TIME4
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ dealloc  dynamic grid (G017)          ABSTRACT  COADSY    NORMAL    TIME4
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I: -999 -999  J:   45   45  K: -999 -999  L:    1    1
- reading SST      M: 34 dset:   1 I:   30   41  J:   45   45  K: -999 -999  L:    1    1
+ eval    EX#1     C:  5 dset:   1 I:   -999   -999  J:   45   45  K: -999 -999  L:      1      1
+ reading SST      M:177 dset:   1 I:     30     41  J:   45   45  K: -999 -999  L:      1      1
 list/l=1/y=0  SAMPLEI(sst,{30,40,50})
  dealloc  dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G006)          ABSTRACT  COADSY    NORMAL    TIME4
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G017)          ABSTRACT  COADSY    NORMAL    TIME4
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I: -999 -999  J:   45   45  K: -999 -999  L:    1    1
- const_v {30,...} M: 29 dset:   0 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999
- doing sampling tpry on I axis:     1     3 dset:   1
- reading SST      M: 21 dset:   1 I:   30   30  J:   45   45  K: -999 -999  L:    1    1
- reading SST      M: 33 dset:   1 I:   40   40  J:   45   45  K: -999 -999  L:    1    1
- reading SST      M: 24 dset:   1 I:   50   50  J:   45   45  K: -999 -999  L:    1    1
- -DELETE SST      M: 25 dset:   1 I:    1    3  J: -999 -999  K: -999 -999  L:    3    3  M: -999 -999  N: -999 -999
- -DELETE EX#1     M: 27 dset:   1 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999  M: -999 -999  N: -999 -999
- -DELETE tpry     M: 28 dset:   1 I:    1    3  J:   45   45  K: -999 -999  L:    1    1
- -DELETE {30,...} M: 29 dset:   0 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  5 dset:   1 I:   -999   -999  J:   45   45  K: -999 -999  L:      1      1
+ const_v {30,...} M:163 dset:   0 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999
+ doing sampling tpry on I axis:        1        3 dset:   1
+ found   SST      M:177 dset:   1 I:     30     41  J:   45   45  K: -999 -999  L:      1      1
+ reading SST      M:148 dset:   1 I:     50     50  J:   45   45  K: -999 -999  L:      1      1
+ -DELETE EX#1     M:174 dset:   1 I:      1      3  J: -999 -999  K: -999 -999  L:      3      3  M: -999 -999  N: -999 -999
+ -DELETE EX#1     M:152 dset:   1 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999  M: -999 -999  N: -999 -999
+ -DELETE tpry     M:173 dset:   1 I:      1      3  J:   45   45  K: -999 -999  L:      1      1
+ -DELETE {30,...} M:163 dset:   0 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999
              VARIABLE : SAMPLEI(SST,{30,40,50})
              FILENAME : coads_climatology.cdf
              SUBSET   : 3 points (X)
@@ -26050,7 +25965,7 @@ list SAMPLEI(sst[l=1,y=1s:1n:.5],{30,40,50})
  1S    / 1:  28.1514  28.5607  28.8326
 show grid/dyn
 Dynamic grids:
-    GRID (G017)                          use count:   2
+    GRID (G018)                          use count:   2
  name       axis              # pts   start                end
  ABSTRACT  X             99999999 r   1                    1.E+08
  (AX004)   LATITUDE             5 r   1S                   1N
@@ -26072,7 +25987,7 @@ list SAMPLEI(a,{30,40,50})
  1S    / 1:  28.1514  28.5607  28.8326
 show grid/dyn
 Dynamic grids:
-    GRID (G006)                          use count:   1
+    GRID (G017)                          use count:   1
  name       axis              # pts   start                end
  ABSTRACT  X             99999999 r   1                    1.E+08
  (AX012)   LATITUDE             5 r   1S                   1N
@@ -26234,29 +26149,29 @@ list SAMPLEI(Y[y=110:200:10],{3,4,7})
 cancel memory/all
 set mode diagnostic
 list SAMPLEI(sst[l=1,y=5N],{31,33,35,37,44,46,48})
- dealloc  dynamic grid (G017)          NORMAL    (AX004)   NORMAL    NORMAL
- dealloc  dynamic grid (G006)          ABSTRACT  (AX004)   NORMAL    NORMAL
- dealloc  dynamic grid (G006)          ABSTRACT  (AX004)   NORMAL    NORMAL
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid (C01,V02 C:  7 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid (C09,V02 C: 10 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ dealloc  dynamic grid (G018)          NORMAL    (AX004)   NORMAL    NORMAL
+ dealloc  dynamic grid (G017)          ABSTRACT  (AX004)   NORMAL    NORMAL
+ dealloc  dynamic grid (G017)          ABSTRACT  (AX004)   NORMAL    NORMAL
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid (C01,V02 C:  7 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid (C09,V02 C: 10 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
- allocate dynamic grid (G006)          ABSTRACT  COADSY    NORMAL    TIME4
- allocate dynamic grid (G006)          ABSTRACT  COADSY    NORMAL    TIME4
- eval    EX#1     C:  4 dset:   1 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- eval    (C01,V02 C:  6 dset:   1 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- const_v {31,...} M: 34 dset:   0 I:    1    7  J: -999 -999  K: -999 -999  L: -999 -999
- doing sampling tpry on I axis:     1     7 dset:   1
- eval    (C09,V02 C: 10 dset:   1 I:   31   35  J: -999 -999  K: -999 -999  L: -999 -999
- reading SST      M: 29 dset:   1 I:   31   35  J:   48   48  K: -999 -999  L:    1    1
- eval    (C09,V02 C: 10 dset:   1 I:   37   37  J:   48   48  K: -999 -999  L:    1    1
- reading SST      M: 24 dset:   1 I:   37   37  J:   48   48  K: -999 -999  L:    1    1
- eval    (C09,V02 C: 10 dset:   1 I:   44   48  J:   48   48  K: -999 -999  L:    1    1
- reading SST      M: 21 dset:   1 I:   44   48  J:   48   48  K: -999 -999  L:    1    1
- -DELETE Y        M: 31 dset:   0 I:    1    7  J: -999 -999  K: -999 -999  L:    7    7  M: -999 -999  N: -999 -999
- -DELETE SST      M: 32 dset:   1 I:    1    7  J: -999 -999  K: -999 -999  L: -999 -999  M: -999 -999  N: -999 -999
- -DELETE tpry     M: 25 dset:   1 I:    1    7  J:   48   48  K: -999 -999  L:    1    1
- -DELETE {31,...} M: 34 dset:   0 I:    1    7  J: -999 -999  K: -999 -999  L: -999 -999
+ allocate dynamic grid (G017)          ABSTRACT  COADSY    NORMAL    TIME4
+ allocate dynamic grid (G017)          ABSTRACT  COADSY    NORMAL    TIME4
+ eval    EX#1     C:  4 dset:   1 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
+ eval    (C01,V02 C:  6 dset:   1 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
+ const_v {31,...} M:175 dset:   0 I:      1      7  J: -999 -999  K: -999 -999  L:   -999   -999
+ doing sampling tpry on I axis:        1        7 dset:   1
+ eval    (C09,V02 C: 10 dset:   1 I:     31     35  J: -999 -999  K: -999 -999  L:   -999   -999
+ reading SST      M:157 dset:   1 I:     31     35  J:   48   48  K: -999 -999  L:      1      1
+ eval    (C09,V02 C: 10 dset:   1 I:     37     37  J:   48   48  K: -999 -999  L:      1      1
+ reading SST      M:148 dset:   1 I:     37     37  J:   48   48  K: -999 -999  L:      1      1
+ eval    (C09,V02 C: 10 dset:   1 I:     44     48  J:   48   48  K: -999 -999  L:      1      1
+ reading SST      M:173 dset:   1 I:     44     48  J:   48   48  K: -999 -999  L:      1      1
+ -DELETE (C01,V02 M:161 dset:   0 I:      1      7  J: -999 -999  K: -999 -999  L:      7      7  M: -999 -999  N: -999 -999
+ -DELETE SST      M:174 dset:   1 I:      1      7  J: -999 -999  K: -999 -999  L:   -999   -999  M: -999 -999  N: -999 -999
+ -DELETE tpry     M:150 dset:   1 I:      1      7  J:   48   48  K: -999 -999  L:      1      1
+ -DELETE {31,...} M:175 dset:   0 I:      1      7  J: -999 -999  K: -999 -999  L:   -999   -999
              VARIABLE : SAMPLEI(SST[L=1,Y=5N],{31,33,35,37,44,46,48})
              FILENAME : coads_climatology.cdf
              SUBSET   : 7 points (X)
@@ -26274,20 +26189,17 @@ list SAMPLEI(sst[l=1,y=5N],{31,33,35,37,44,46,48})
  
 ! test cache hits
 list SAMPLEI(sst[l=1,y=5N],{31,33,35,37,44,46,48}) !   <-- CACHE HIT FAILS!!!
- eval    EX#1     C:  4 dset:   1 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- eval    (C01,V02 C:  6 dset:   1 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- const_v {31,...} M: 34 dset:   0 I:    1    7  J: -999 -999  K: -999 -999  L: -999 -999
- doing sampling tpry on I axis:     1     7 dset:   1
- eval    (C09,V02 C: 10 dset:   1 I:   31   35  J: -999 -999  K: -999 -999  L: -999 -999
- reading SST      M: 18 dset:   1 I:   31   35  J:   48   48  K: -999 -999  L:    1    1
- eval    (C09,V02 C: 10 dset:   1 I:   37   37  J:   48   48  K: -999 -999  L:    1    1
- reading SST      M: 33 dset:   1 I:   37   37  J:   48   48  K: -999 -999  L:    1    1
- eval    (C09,V02 C: 10 dset:   1 I:   44   48  J:   48   48  K: -999 -999  L:    1    1
- reading SST      M: 16 dset:   1 I:   44   48  J:   48   48  K: -999 -999  L:    1    1
- -DELETE Y        M: 31 dset:   0 I:    1    7  J: -999 -999  K: -999 -999  L:    7    7  M: -999 -999  N: -999 -999
- -DELETE tpry     M: 25 dset:   1 I:    1    7  J: -999 -999  K: -999 -999  L: -999 -999  M: -999 -999  N: -999 -999
- -DELETE tpry     M: 28 dset:   1 I:    1    7  J:   48   48  K: -999 -999  L:    1    1
- -DELETE {31,...} M: 34 dset:   0 I:    1    7  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  4 dset:   1 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
+ eval    (C01,V02 C:  6 dset:   1 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
+ const_v {31,...} M:175 dset:   0 I:      1      7  J: -999 -999  K: -999 -999  L:   -999   -999
+ doing sampling tpry on I axis:        1        7 dset:   1
+ found   (C09,V02 M:152 dset:   1 I:     31     35  J:   48   48  K: -999 -999  L:      1      1
+ found   (C09,V02 M:146 dset:   1 I:     37     37  J:   48   48  K: -999 -999  L:      1      1
+ found   (C09,V02 M:176 dset:   1 I:     44     48  J:   48   48  K: -999 -999  L:      1      1
+ -DELETE (C01,V02 M:161 dset:   0 I:      1      7  J: -999 -999  K: -999 -999  L:      7      7  M: -999 -999  N: -999 -999
+ -DELETE tpry     M:150 dset:   1 I:      1      7  J: -999 -999  K: -999 -999  L:   -999   -999  M: -999 -999  N: -999 -999
+ -DELETE tpry     M:154 dset:   1 I:      1      7  J:   48   48  K: -999 -999  L:      1      1
+ -DELETE {31,...} M:175 dset:   0 I:      1      7  J: -999 -999  K: -999 -999  L:   -999   -999
              VARIABLE : SAMPLEI(SST[L=1,Y=5N],{31,33,35,37,44,46,48})
              FILENAME : coads_climatology.cdf
              SUBSET   : 7 points (X)
@@ -26307,21 +26219,18 @@ let a = SAMPLEI(sst[l=1,y=5N],{31,33,35,37,44,46,48})
 load a
 set mode diagnostic
 list a 			!   <-- CACHE HIT FAILS!!!
- eval    EX#1     C:  4 dset:   1 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- eval    A        C:  6 dset:   1 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- eval    (C01,V01 C:  8 dset:   1 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- const_v {31,...} M: 19 dset:   0 I:    1    7  J: -999 -999  K: -999 -999  L: -999 -999
- doing sampling tpry on I axis:     1     7 dset:   1
- eval    (C09,V01 C: 12 dset:   1 I:   31   35  J: -999 -999  K: -999 -999  L: -999 -999
- reading SST      M: 14 dset:   1 I:   31   35  J:   48   48  K: -999 -999  L:    1    1
- eval    (C09,V01 C: 12 dset:   1 I:   37   37  J:   48   48  K: -999 -999  L:    1    1
- reading SST      M: 11 dset:   1 I:   37   37  J:   48   48  K: -999 -999  L:    1    1
- eval    (C09,V01 C: 12 dset:   1 I:   44   48  J:   48   48  K: -999 -999  L:    1    1
- reading SST      M:  9 dset:   1 I:   44   48  J:   48   48  K: -999 -999  L:    1    1
- -DELETE Y        M: 31 dset:   0 I:    1    7  J: -999 -999  K: -999 -999  L:    7    7  M: -999 -999  N: -999 -999
- -DELETE          M: 27 dset:   1 I:    1    7  J: -999 -999  K: -999 -999  L: -999 -999  M: -999 -999  N: -999 -999
- -DELETE tpry     M: 12 dset:   1 I:    1    7  J:   48   48  K: -999 -999  L:    1    1
- -DELETE {31,...} M: 19 dset:   0 I:    1    7  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  4 dset:   1 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
+ eval    A        C:  6 dset:   1 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
+ eval    (C01,V01 C:  8 dset:   1 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
+ const_v {31,...} M:146 dset:   0 I:      1      7  J: -999 -999  K: -999 -999  L:   -999   -999
+ doing sampling tpry on I axis:        1        7 dset:   1
+ found   (C09,V01 M:152 dset:   1 I:     31     35  J:   48   48  K: -999 -999  L:      1      1
+ found   (C09,V01 M:175 dset:   1 I:     37     37  J:   48   48  K: -999 -999  L:      1      1
+ found   (C09,V01 M:154 dset:   1 I:     44     48  J:   48   48  K: -999 -999  L:      1      1
+ -DELETE          M:161 dset:   0 I:      1      7  J: -999 -999  K: -999 -999  L:      7      7  M: -999 -999  N: -999 -999
+ -DELETE          M:176 dset:   1 I:      1      7  J: -999 -999  K: -999 -999  L:   -999   -999  M: -999 -999  N: -999 -999
+ -DELETE tpry     M:143 dset:   1 I:      1      7  J:   48   48  K: -999 -999  L:      1      1
+ -DELETE {31,...} M:146 dset:   0 I:      1      7  J: -999 -999  K: -999 -999  L:   -999   -999
              VARIABLE : SAMPLEI(SST[L=1,Y=5N],{31,33,35,37,44,46,48})
              FILENAME : coads_climatology.cdf
              SUBSET   : 7 points (X)
@@ -26339,16 +26248,12 @@ list a 			!   <-- CACHE HIT FAILS!!!
 set mode/last diagnostic
  
 SHOW MEM/FREE
- Current size of FERRET memory cache: 25.6 MegaWords  (1 word = 8 bytes)
-            total memory table slots: 500
-            total memory blocks: 2000
-            memory block size: 12800
- 
-            number of free memory blocks: 1978
-            largest free region: 1976
-            number of free regions: 3
-            free memory table slots: 478
-            number of UN-CACHED variables: 0
+    SET MEMORY/SIZE: 25.6 megawords
+    Peak demand: 38 words
+    Current cache: 50 words
+    Total table slots: 500
+    Free table slots: 490
+    Un-cached variables: 0
  
 ! test SAMPLEJ
 let/quiet a = sst + Z[z=0:500:5]
@@ -26566,8 +26471,10 @@ list SAMPLEL(X[x=110:200:10],{3,4,7})	! normal axis
  3   / 3:........................................
  
  
-GO bn_reset
+GO bn_reset bn_strides_revs_perms
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_strides_revs_perms
 GO bn_strides_revs_perms	! netCDF fancy reads
 ! bn_strides_revs_perms.jnl
 ! *sh* 6/99
@@ -26848,17 +26755,17 @@ SHOW DATA
  
 ! basic strides
 LIST VAR[i=2:4:2]
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G018)          (AX030)   YAX1_3    ZAX1_2    TAX1_1
- dealloc  dynamic grid (G018)          (AX030)   YAX1_3    ZAX1_2    TAX1_1
- allocate dynamic grid (G018)          (AX030)   YAX1_3    ZAX1_2    TAX1_1
- eval    EX#1     C:  4 dset:   1 I:    1    4  J:    1    3  K:    1    2  L:    1    1
- allocate dynamic grid (G018)          (AX030)   YAX1_3    ZAX1_2    TAX1_1
- strip regrid on X: VAR --> (G018)           @XACT
- rdstride VAR      C:  7 dset:   1 I:    2    4  J:    1    3  K:    1    2  L:    1    1
- nulrgd  VAR      M: 44 dset:   1 I:    1    2  J:    1    3  K:    1    2  L:    1    1
- -DELETE VAR      M: 52 dset:   1 I:    2    4  J:    1    3  K:    1    2  L:    1    1
- dealloc  dynamic grid (G018)          (AX030)   YAX1_3    ZAX1_2    TAX1_1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G011)          (AX030)   YAX1_3    ZAX1_2    TAX1_1
+ dealloc  dynamic grid (G011)          (AX030)   YAX1_3    ZAX1_2    TAX1_1
+ allocate dynamic grid (G011)          (AX030)   YAX1_3    ZAX1_2    TAX1_1
+ eval    EX#1     C:  4 dset:   1 I:      1      4  J:    1    3  K:    1    2  L:      1      1
+ allocate dynamic grid (G011)          (AX030)   YAX1_3    ZAX1_2    TAX1_1
+ strip regrid on X: VAR --> (G011)           @XACT
+ rdstride VAR      C:  7 dset:   1 I:      2      4  J:    1    3  K:    1    2  L:      1      1
+ nulrgd  VAR      M:179 dset:   1 I:      1      2  J:    1    3  K:    1    2  L:      1      1
+ -DELETE VAR      M:180 dset:   1 I:      2      4  J:    1    3  K:    1    2  L:      1      1
+ dealloc  dynamic grid (G011)          (AX030)   YAX1_3    ZAX1_2    TAX1_1
              VARIABLE : L*1000 + K*100 + J*10 + I
                         regrid: 2 delta on X
              FILENAME : bn_strides.cdf
@@ -26877,13 +26784,10 @@ LIST VAR[i=2:4:2]
  
 ! cache hit after changes to COMPLETE_MISSING_LIMS and FLESH_OUT_AXIS
 LIST VAR[i=2:4:2]
- eval    EX#1     C:  4 dset:   1 I:    1    4  J:    1    3  K:    1    2  L:    1    1
- allocate dynamic grid (G018)          (AX030)   YAX1_3    ZAX1_2    TAX1_1
- strip regrid on X: VAR --> (G018)           @XACT
- rdstride VAR      C:  7 dset:   1 I:    2    4  J:    1    3  K:    1    2  L:    1    1
- nulrgd  VAR      M: 43 dset:   1 I:    1    2  J:    1    3  K:    1    2  L:    1    1
- -DELETE VAR      M: 52 dset:   1 I:    2    4  J:    1    3  K:    1    2  L:    1    1
- dealloc  dynamic grid (G018)          (AX030)   YAX1_3    ZAX1_2    TAX1_1
+ eval    EX#1     C:  4 dset:   1 I:      1      4  J:    1    3  K:    1    2  L:      1      1
+ allocate dynamic grid (G011)          (AX030)   YAX1_3    ZAX1_2    TAX1_1
+ found   VAR      M:179 dset:   1 I:      1      2  J:    1    3  K:    1    2  L:      1      1
+ dealloc  dynamic grid (G011)          (AX030)   YAX1_3    ZAX1_2    TAX1_1
              VARIABLE : L*1000 + K*100 + J*10 + I
                         regrid: 2 delta on X
              FILENAME : bn_strides.cdf
@@ -26903,23 +26807,22 @@ LIST VAR[i=2:4:2]
 ! cache hit through non-file variable
 let a = VAR[i=2:4:2]
 list a
- dealloc  dynamic grid (G018)          (AX030)   YAX1_3    ZAX1_2    TAX1_1
- -DELETE VAR      M: 43 dset:   1 I:    1    2  J:    1    3  K:    1    2  L:    1    1
- -DELETE VAR      M: 44 dset:   1 I:    1    2  J:    1    3  K:    1    2  L:    1    1
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid A        C:  7 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G018)          (AX029)   YAX1_3    ZAX1_2    TAX1_1
- dealloc  dynamic grid (G018)          (AX029)   YAX1_3    ZAX1_2    TAX1_1
- allocate dynamic grid (G018)          (AX029)   YAX1_3    ZAX1_2    TAX1_1
- allocate dynamic grid (G018)          (AX029)   YAX1_3    ZAX1_2    TAX1_1
- eval    EX#1     C:  4 dset:   1 I:    1    4  J:    1    3  K:    1    2  L:    1    1
- eval    A        C:  6 dset:   1 I:    1    2  J:    1    3  K:    1    2  L:    1    1
- allocate dynamic grid (G018)          (AX029)   YAX1_3    ZAX1_2    TAX1_1
- strip regrid on X: VAR --> (G018)           @XACT
- rdstride VAR      C:  9 dset:   1 I:    2    4  J:    1    3  K:    1    2  L:    1    1
- nulrgd  VAR      M: 43 dset:   1 I:    1    2  J:    1    3  K:    1    2  L:    1    1
- -DELETE VAR      M: 44 dset:   1 I:    2    4  J:    1    3  K:    1    2  L:    1    1
- dealloc  dynamic grid (G018)          (AX029)   YAX1_3    ZAX1_2    TAX1_1
+ dealloc  dynamic grid (G011)          (AX030)   YAX1_3    ZAX1_2    TAX1_1
+ -DELETE VAR      M:179 dset:   1 I:      1      2  J:    1    3  K:    1    2  L:      1      1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid A        C:  7 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G011)          (AX029)   YAX1_3    ZAX1_2    TAX1_1
+ dealloc  dynamic grid (G011)          (AX029)   YAX1_3    ZAX1_2    TAX1_1
+ allocate dynamic grid (G011)          (AX029)   YAX1_3    ZAX1_2    TAX1_1
+ allocate dynamic grid (G011)          (AX029)   YAX1_3    ZAX1_2    TAX1_1
+ eval    EX#1     C:  4 dset:   1 I:      1      4  J:    1    3  K:    1    2  L:      1      1
+ eval    A        C:  6 dset:   1 I:      1      2  J:    1    3  K:    1    2  L:      1      1
+ allocate dynamic grid (G011)          (AX029)   YAX1_3    ZAX1_2    TAX1_1
+ strip regrid on X: VAR --> (G011)           @XACT
+ rdstride VAR      C:  9 dset:   1 I:      2      4  J:    1    3  K:    1    2  L:      1      1
+ nulrgd  VAR      M:180 dset:   1 I:      1      2  J:    1    3  K:    1    2  L:      1      1
+ -DELETE VAR      M:179 dset:   1 I:      2      4  J:    1    3  K:    1    2  L:      1      1
+ dealloc  dynamic grid (G011)          (AX029)   YAX1_3    ZAX1_2    TAX1_1
              VARIABLE : VAR[I=2:4:2]
              FILENAME : bn_strides.cdf
              SUBSET   : 2 by 3 by 2 points (X-Y-Z)
@@ -26935,14 +26838,8 @@ list a
  2   / 2:  1222.00  1224.00
  3   / 3:  1232.00  1234.00
 list a		! from cache ...
- eval    EX#1     C:  4 dset:   1 I:    1    4  J:    1    3  K:    1    2  L:    1    1
- eval    A        C:  6 dset:   1 I:    1    2  J:    1    3  K:    1    2  L:    1    1
- allocate dynamic grid (G018)          (AX029)   YAX1_3    ZAX1_2    TAX1_1
- strip regrid on X: VAR --> (G018)           @XACT
- rdstride VAR      C:  9 dset:   1 I:    2    4  J:    1    3  K:    1    2  L:    1    1
- nulrgd  VAR      M: 40 dset:   1 I:    1    2  J:    1    3  K:    1    2  L:    1    1
- -DELETE VAR      M: 52 dset:   1 I:    2    4  J:    1    3  K:    1    2  L:    1    1
- dealloc  dynamic grid (G018)          (AX029)   YAX1_3    ZAX1_2    TAX1_1
+ eval    EX#1     C:  4 dset:   1 I:      1      4  J:    1    3  K:    1    2  L:      1      1
+ found   A        M:179 dset:   1 I:      1      2  J:    1    3  K:    1    2  L:      1      1
              VARIABLE : VAR[I=2:4:2]
              FILENAME : bn_strides.cdf
              SUBSET   : 2 by 3 by 2 points (X-Y-Z)
@@ -26960,29 +26857,27 @@ list a		! from cache ...
  
 ! cache hit from full region cache -- bypass use of strides
 cancel memory/all
- -DELETE VAR      M: 40 dset:   1 I:    1    2  J:    1    3  K:    1    2  L:    1    1
- -DELETE VAR      M: 43 dset:   1 I:    1    2  J:    1    3  K:    1    2  L:    1    1
- -DELETE A        M: 44 dset:   1 I:    1    2  J:    1    3  K:    1    2  L:    1    1
- -DELETE A        M: 52 dset:   1 I:    1    2  J:    1    3  K:    1    2  L:    1    1
+ -DELETE A        M:179 dset:   1 I:      1      2  J:    1    3  K:    1    2  L:      1      1
+ -DELETE VAR      M:180 dset:   1 I:      1      2  J:    1    3  K:    1    2  L:      1      1
 load var
- dealloc  dynamic grid (G018)          (AX029)   YAX1_3    ZAX1_2    TAX1_1
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ dealloc  dynamic grid (G011)          (AX029)   YAX1_3    ZAX1_2    TAX1_1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GPC1            XAX1_4    YAX1_3    ZAX1_2    TAX1_1
- eval    EX#1     C:  4 dset:   1 I:    1    4  J:    1    3  K:    1    2  L:    1    1
- reading VAR      M: 52 dset:   1 I:    1    4  J:    1    3  K:    1    2  L:    1    1
+ eval    EX#1     C:  4 dset:   1 I:      1      4  J:    1    3  K:    1    2  L:      1      1
+ reading VAR      M:180 dset:   1 I:      1      4  J:    1    3  K:    1    2  L:      1      1
 LIST VAR[i=2:4:2]
  dealloc  dynamic grid GPC1            XAX1_4    YAX1_3    ZAX1_2    TAX1_1
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G018)          (AX029)   YAX1_3    ZAX1_2    TAX1_1
- dealloc  dynamic grid (G018)          (AX029)   YAX1_3    ZAX1_2    TAX1_1
- allocate dynamic grid (G018)          (AX029)   YAX1_3    ZAX1_2    TAX1_1
- eval    EX#1     C:  4 dset:   1 I:    1    4  J:    1    3  K:    1    2  L:    1    1
- allocate dynamic grid (G018)          (AX029)   YAX1_3    ZAX1_2    TAX1_1
- strip regrid on X: VAR --> (G018)           @XACT
- rdstride VAR      C:  7 dset:   1 I:    2    4  J:    1    3  K:    1    2  L:    1    1
- nulrgd  VAR      M: 43 dset:   1 I:    1    2  J:    1    3  K:    1    2  L:    1    1
- -DELETE VAR      M: 44 dset:   1 I:    2    4  J:    1    3  K:    1    2  L:    1    1
- dealloc  dynamic grid (G018)          (AX029)   YAX1_3    ZAX1_2    TAX1_1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G011)          (AX029)   YAX1_3    ZAX1_2    TAX1_1
+ dealloc  dynamic grid (G011)          (AX029)   YAX1_3    ZAX1_2    TAX1_1
+ allocate dynamic grid (G011)          (AX029)   YAX1_3    ZAX1_2    TAX1_1
+ eval    EX#1     C:  4 dset:   1 I:      1      4  J:    1    3  K:    1    2  L:      1      1
+ allocate dynamic grid (G011)          (AX029)   YAX1_3    ZAX1_2    TAX1_1
+ strip regrid on X: VAR --> (G011)           @XACT
+ rdstride VAR      C:  7 dset:   1 I:      2      4  J:    1    3  K:    1    2  L:      1      1
+ nulrgd  VAR      M:173 dset:   1 I:      1      2  J:    1    3  K:    1    2  L:      1      1
+ -DELETE VAR      M:179 dset:   1 I:      2      4  J:    1    3  K:    1    2  L:      1      1
+ dealloc  dynamic grid (G011)          (AX029)   YAX1_3    ZAX1_2    TAX1_1
              VARIABLE : L*1000 + K*100 + J*10 + I
                         regrid: 2 delta on X
              FILENAME : bn_strides.cdf
@@ -26999,18 +26894,18 @@ LIST VAR[i=2:4:2]
  2   / 2:  1222.00  1224.00
  3   / 3:  1232.00  1234.00
 LIST VAR[i=2:4:2,j=1:3:2]
- dealloc  dynamic grid (G018)          (AX029)   YAX1_3    ZAX1_2    TAX1_1
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G010)          (AX029)   (AX031)   ZAX1_2    TAX1_1
- dealloc  dynamic grid (G010)          (AX029)   (AX031)   ZAX1_2    TAX1_1
- allocate dynamic grid (G010)          (AX029)   (AX031)   ZAX1_2    TAX1_1
- eval    EX#1     C:  4 dset:   1 I:    1    4  J:    1    3  K:    1    2  L:    1    1
- allocate dynamic grid (G010)          (AX029)   (AX031)   ZAX1_2    TAX1_1
- strip regrid on X: VAR --> (G010)           @XACT
- rdstride VAR      C:  7 dset:   1 I:    2    4  J:    1    3  K:    1    2  L:    1    1
- nulrgd  VAR      M: 40 dset:   1 I:    1    2  J:    1    2  K:    1    2  L:    1    1
- -DELETE VAR      M: 44 dset:   1 I:    2    4  J:    1    3  K:    1    2  L:    1    1
- dealloc  dynamic grid (G010)          (AX029)   (AX031)   ZAX1_2    TAX1_1
+ dealloc  dynamic grid (G011)          (AX029)   YAX1_3    ZAX1_2    TAX1_1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G002)          (AX029)   (AX031)   ZAX1_2    TAX1_1
+ dealloc  dynamic grid (G002)          (AX029)   (AX031)   ZAX1_2    TAX1_1
+ allocate dynamic grid (G002)          (AX029)   (AX031)   ZAX1_2    TAX1_1
+ eval    EX#1     C:  4 dset:   1 I:      1      4  J:    1    3  K:    1    2  L:      1      1
+ allocate dynamic grid (G002)          (AX029)   (AX031)   ZAX1_2    TAX1_1
+ strip regrid on X: VAR --> (G002)           @XACT
+ rdstride VAR      C:  7 dset:   1 I:      2      4  J:    1    3  K:    1    2  L:      1      1
+ nulrgd  VAR      M:170 dset:   1 I:      1      2  J:    1    2  K:    1    2  L:      1      1
+ -DELETE VAR      M:179 dset:   1 I:      2      4  J:    1    3  K:    1    2  L:      1      1
+ dealloc  dynamic grid (G002)          (AX029)   (AX031)   ZAX1_2    TAX1_1
              VARIABLE : L*1000 + K*100 + J*10 + I
                         regrid: 2 delta on X, 2 delta on Y
              FILENAME : bn_strides.cdf
@@ -27025,26 +26920,26 @@ LIST VAR[i=2:4:2,j=1:3:2]
  1   / 1:  1212.00  1214.00
  3   / 2:  1232.00  1234.00
 CANC MEM/ALL
- -DELETE VAR      M: 40 dset:   1 I:    1    2  J:    1    2  K:    1    2  L:    1    1
- -DELETE VAR      M: 43 dset:   1 I:    1    2  J:    1    3  K:    1    2  L:    1    1
- -DELETE VAR      M: 52 dset:   1 I:    1    4  J:    1    3  K:    1    2  L:    1    1
+ -DELETE VAR      M:170 dset:   1 I:      1      2  J:    1    2  K:    1    2  L:      1      1
+ -DELETE VAR      M:173 dset:   1 I:      1      2  J:    1    3  K:    1    2  L:      1      1
+ -DELETE VAR      M:180 dset:   1 I:      1      4  J:    1    3  K:    1    2  L:      1      1
  
 ! modulo requests cannot use strides (as this example shows)
 set axis/modulo XAX1_4
 LIST VAR[I=1:10:3,j=1,k=1,l=1]    ! 1, 4, 7(3), 10(2)
- dealloc  dynamic grid (G010)          (AX029)   (AX031)   ZAX1_2    TAX1_1
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G010)          (AX030)   YAX1_3    ZAX1_2    TAX1_1
- dealloc  dynamic grid (G010)          (AX030)   YAX1_3    ZAX1_2    TAX1_1
- allocate dynamic grid (G010)          (AX030)   YAX1_3    ZAX1_2    TAX1_1
- eval    EX#1     C:  4 dset:   1 I:    1    4  J:    1    3  K: -999 -999  L:    1    2
- allocate dynamic grid (G010)          (AX030)   YAX1_3    ZAX1_2    TAX1_1
- strip regrid on X: VAR --> (G010)           @XACT
- strip moduloing VAR on X axis:     1    10 dset:   1
- reading VAR      M: 52 dset:   1 I:    1    4  J:    1    1  K:    1    1  L:    1    1
- doing moduloing VAR on X axis:     1     4 dset:   1
- regrid  VAR      M: 40 dset:   1 I:    1    4  J:    1    1  K:    1    1  L:    1    1
- dealloc  dynamic grid (G010)          (AX030)   YAX1_3    ZAX1_2    TAX1_1
+ dealloc  dynamic grid (G002)          (AX029)   (AX031)   ZAX1_2    TAX1_1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G002)          (AX030)   YAX1_3    ZAX1_2    TAX1_1
+ dealloc  dynamic grid (G002)          (AX030)   YAX1_3    ZAX1_2    TAX1_1
+ allocate dynamic grid (G002)          (AX030)   YAX1_3    ZAX1_2    TAX1_1
+ eval    EX#1     C:  4 dset:   1 I:      1      4  J:    1    3  K: -999 -999  L:      1      2
+ allocate dynamic grid (G002)          (AX030)   YAX1_3    ZAX1_2    TAX1_1
+ strip regrid on X: VAR --> (G002)           @XACT
+ strip moduloing VAR on X axis:        1       10 dset:   1
+ reading VAR      M:180 dset:   1 I:      1      4  J:    1    1  K:    1    1  L:      1      1
+ doing moduloing VAR on X axis:        1        4 dset:   1
+ regrid  VAR      M:170 dset:   1 I:      1      4  J:    1    1  K:    1    1  L:      1      1
+ dealloc  dynamic grid (G002)          (AX030)   YAX1_3    ZAX1_2    TAX1_1
              VARIABLE : L*1000 + K*100 + J*10 + I
                         regrid: 3 delta on X
              FILENAME : bn_strides.cdf
@@ -27059,24 +26954,24 @@ LIST VAR[I=1:10:3,j=1,k=1,l=1]    ! 1, 4, 7(3), 10(2)
  7    / 3:  1113.00
  10   / 4:  1112.00
 cancel axis/modulo XAX1_4
- -DELETE VAR      M: 40 dset:   1 I:    1    4  J:    1    1  K:    1    1  L:    1    1
- -DELETE VAR      M: 43 dset:   1 I:    1   10  J:    1    1  K:    1    1  L:    1    1
- -DELETE VAR      M: 52 dset:   1 I:    1    4  J:    1    1  K:    1    1  L:    1    1
+ -DELETE VAR      M:170 dset:   1 I:      1      4  J:    1    1  K:    1    1  L:      1      1
+ -DELETE VAR      M:173 dset:   1 I:      1     10  J:    1    1  K:    1    1  L:      1      1
+ -DELETE VAR      M:180 dset:   1 I:      1      4  J:    1    1  K:    1    1  L:      1      1
  
 ! strides applied to more than one axis need special attention in IS_REGRID
 LIST VAR[i=2:4:2,j=1:3:2]
- dealloc  dynamic grid (G010)          (AX030)   YAX1_3    ZAX1_2    TAX1_1
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G010)          (AX029)   (AX031)   ZAX1_2    TAX1_1
- dealloc  dynamic grid (G010)          (AX029)   (AX031)   ZAX1_2    TAX1_1
- allocate dynamic grid (G010)          (AX029)   (AX031)   ZAX1_2    TAX1_1
- eval    EX#1     C:  4 dset:   1 I:    1    4  J:    1    3  K:    1    2  L:    1    1
- allocate dynamic grid (G010)          (AX029)   (AX031)   ZAX1_2    TAX1_1
- strip regrid on X: VAR --> (G010)           @XACT
- rdstride VAR      C:  7 dset:   1 I:    2    4  J:    1    3  K:    1    2  L:    1    1
- nulrgd  VAR      M: 43 dset:   1 I:    1    2  J:    1    2  K:    1    2  L:    1    1
- -DELETE VAR      M: 52 dset:   1 I:    2    4  J:    1    3  K:    1    2  L:    1    1
- dealloc  dynamic grid (G010)          (AX029)   (AX031)   ZAX1_2    TAX1_1
+ dealloc  dynamic grid (G002)          (AX030)   YAX1_3    ZAX1_2    TAX1_1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G002)          (AX029)   (AX031)   ZAX1_2    TAX1_1
+ dealloc  dynamic grid (G002)          (AX029)   (AX031)   ZAX1_2    TAX1_1
+ allocate dynamic grid (G002)          (AX029)   (AX031)   ZAX1_2    TAX1_1
+ eval    EX#1     C:  4 dset:   1 I:      1      4  J:    1    3  K:    1    2  L:      1      1
+ allocate dynamic grid (G002)          (AX029)   (AX031)   ZAX1_2    TAX1_1
+ strip regrid on X: VAR --> (G002)           @XACT
+ rdstride VAR      C:  7 dset:   1 I:      2      4  J:    1    3  K:    1    2  L:      1      1
+ nulrgd  VAR      M:173 dset:   1 I:      1      2  J:    1    2  K:    1    2  L:      1      1
+ -DELETE VAR      M:180 dset:   1 I:      2      4  J:    1    3  K:    1    2  L:      1      1
+ dealloc  dynamic grid (G002)          (AX029)   (AX031)   ZAX1_2    TAX1_1
              VARIABLE : L*1000 + K*100 + J*10 + I
                         regrid: 2 delta on X, 2 delta on Y
              FILENAME : bn_strides.cdf
@@ -27091,19 +26986,19 @@ LIST VAR[i=2:4:2,j=1:3:2]
  1   / 1:  1212.00  1214.00
  3   / 2:  1232.00  1234.00
 LIST VAR[i=2:6:2,j=1:5:2]
- dealloc  dynamic grid (G010)          (AX029)   (AX031)   ZAX1_2    TAX1_1
- -DELETE VAR      M: 43 dset:   1 I:    1    2  J:    1    2  K:    1    2  L:    1    1
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G010)          (AX029)   (AX030)   ZAX1_2    TAX1_1
- dealloc  dynamic grid (G010)          (AX029)   (AX030)   ZAX1_2    TAX1_1
- allocate dynamic grid (G010)          (AX029)   (AX030)   ZAX1_2    TAX1_1
- eval    EX#1     C:  4 dset:   1 I:    1    4  J:    1    3  K:    1    2  L:    1    1
- allocate dynamic grid (G010)          (AX029)   (AX030)   ZAX1_2    TAX1_1
- strip regrid on X: VAR --> (G010)           @XACT
- rdstride VAR      C:  7 dset:   1 I:    2    4  J:    1    3  K:    1    2  L:    1    1
- nulrgd  VAR      M: 52 dset:   1 I:    1    2  J:    1    2  K:    1    2  L:    1    1
- -DELETE VAR      M: 43 dset:   1 I:    2    4  J:    1    3  K:    1    2  L:    1    1
- dealloc  dynamic grid (G010)          (AX029)   (AX030)   ZAX1_2    TAX1_1
+ dealloc  dynamic grid (G002)          (AX029)   (AX031)   ZAX1_2    TAX1_1
+ -DELETE VAR      M:173 dset:   1 I:      1      2  J:    1    2  K:    1    2  L:      1      1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G002)          (AX029)   (AX030)   ZAX1_2    TAX1_1
+ dealloc  dynamic grid (G002)          (AX029)   (AX030)   ZAX1_2    TAX1_1
+ allocate dynamic grid (G002)          (AX029)   (AX030)   ZAX1_2    TAX1_1
+ eval    EX#1     C:  4 dset:   1 I:      1      4  J:    1    3  K:    1    2  L:      1      1
+ allocate dynamic grid (G002)          (AX029)   (AX030)   ZAX1_2    TAX1_1
+ strip regrid on X: VAR --> (G002)           @XACT
+ rdstride VAR      C:  7 dset:   1 I:      2      4  J:    1    3  K:    1    2  L:      1      1
+ nulrgd  VAR      M:180 dset:   1 I:      1      2  J:    1    2  K:    1    2  L:      1      1
+ -DELETE VAR      M:173 dset:   1 I:      2      4  J:    1    3  K:    1    2  L:      1      1
+ dealloc  dynamic grid (G002)          (AX029)   (AX030)   ZAX1_2    TAX1_1
              VARIABLE : L*1000 + K*100 + J*10 + I
                         regrid: 2 delta on X, 2 delta on Y
              FILENAME : bn_strides.cdf
@@ -27120,24 +27015,24 @@ LIST VAR[i=2:6:2,j=1:5:2]
  
 ! deliberate error
 set mode ignore; LIST/i=2:4:2 VAR; cancel mode ignore
- dealloc  dynamic grid (G010)          (AX029)   (AX030)   ZAX1_2    TAX1_1
- -DELETE VAR      M: 52 dset:   1 I:    1    2  J:    1    2  K:    1    2  L:    1    1
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ dealloc  dynamic grid (G002)          (AX029)   (AX030)   ZAX1_2    TAX1_1
+ -DELETE VAR      M:180 dset:   1 I:      1      2  J:    1    2  K:    1    2  L:      1      1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GPC1            XAX1_4    YAX1_3    ZAX1_2    TAX1_1
  
 ! averaging causes bypass of strides
 LIST VAR[i=2:4:2 at ave]
  dealloc  dynamic grid GPC1            XAX1_4    YAX1_3    ZAX1_2    TAX1_1
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G018)          (AX029)   YAX1_3    ZAX1_2    TAX1_1
- dealloc  dynamic grid (G018)          (AX029)   YAX1_3    ZAX1_2    TAX1_1
- allocate dynamic grid (G018)          (AX029)   YAX1_3    ZAX1_2    TAX1_1
- eval    EX#1     C:  4 dset:   1 I:    1    4  J:    1    3  K:    1    2  L:    1    1
- allocate dynamic grid (G018)          (AX029)   YAX1_3    ZAX1_2    TAX1_1
- strip regrid on X: VAR --> (G018)           @AVE
- reading VAR      M: 52 dset:   1 I:    1    4  J:    1    3  K:    1    2  L:    1    1
- regrid  VAR      M: 43 dset:   1 I:    1    2  J:    1    3  K:    1    2  L:    1    1
- dealloc  dynamic grid (G018)          (AX029)   YAX1_3    ZAX1_2    TAX1_1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G011)          (AX029)   YAX1_3    ZAX1_2    TAX1_1
+ dealloc  dynamic grid (G011)          (AX029)   YAX1_3    ZAX1_2    TAX1_1
+ allocate dynamic grid (G011)          (AX029)   YAX1_3    ZAX1_2    TAX1_1
+ eval    EX#1     C:  4 dset:   1 I:      1      4  J:    1    3  K:    1    2  L:      1      1
+ allocate dynamic grid (G011)          (AX029)   YAX1_3    ZAX1_2    TAX1_1
+ strip regrid on X: VAR --> (G011)           @AVE
+ reading VAR      M:180 dset:   1 I:      1      4  J:    1    3  K:    1    2  L:      1      1
+ regrid  VAR      M:173 dset:   1 I:      1      2  J:    1    3  K:    1    2  L:      1      1
+ dealloc  dynamic grid (G011)          (AX029)   YAX1_3    ZAX1_2    TAX1_1
              VARIABLE : L*1000 + K*100 + J*10 + I
                         regrid: 2 delta on X at AVE
              FILENAME : bn_strides.cdf
@@ -27156,25 +27051,25 @@ LIST VAR[i=2:4:2 at ave]
  
 ! test sub-region selection on strides axis
 let a = bigvar[i=1:40:5]
- dealloc  dynamic grid (G018)          (AX029)   YAX1_3    ZAX1_2    TAX1_1
- dealloc  dynamic grid (G018)          (AX029)   YAX1_3    ZAX1_2    TAX1_1
- -DELETE VAR      M: 43 dset:   1 I:    1    2  J:    1    3  K:    1    2  L:    1    1
+ dealloc  dynamic grid (G011)          (AX029)   YAX1_3    ZAX1_2    TAX1_1
+ dealloc  dynamic grid (G011)          (AX029)   YAX1_3    ZAX1_2    TAX1_1
+ -DELETE VAR      M:173 dset:   1 I:      1      2  J:    1    3  K:    1    2  L:      1      1
 list/j=1/k=1/l=1 a[i=3:5]
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid A        C:  7 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G018)          (AX030)   YAX1_30   ZAX1_20   TAX1_10
- dealloc  dynamic grid (G018)          (AX030)   YAX1_30   ZAX1_20   TAX1_10
- allocate dynamic grid (G018)          (AX030)   YAX1_30   ZAX1_20   TAX1_10
- allocate dynamic grid (G018)          (AX030)   YAX1_30   ZAX1_20   TAX1_10
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid A        C:  7 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G011)          (AX030)   YAX1_30   ZAX1_20   TAX1_10
+ dealloc  dynamic grid (G011)          (AX030)   YAX1_30   ZAX1_20   TAX1_10
+ allocate dynamic grid (G011)          (AX030)   YAX1_30   ZAX1_20   TAX1_10
+ allocate dynamic grid (G011)          (AX030)   YAX1_30   ZAX1_20   TAX1_10
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:    1    4  J:    1    1  K:    1    1  L:    1    1
- eval    A        C:  7 dset:   1 I:    3    5  J:    1    1  K:    1    1  L:    1    1
- allocate dynamic grid (G018)          (AX030)   YAX1_30   ZAX1_20   TAX1_10
- strip regrid on X: BIGVAR --> (G018)           @XACT
- rdstride BIGVAR   C: 10 dset:   1 I:    1   36  J:    1    1  K:    1    1  L:    1    1
- nulrgd  BIGVAR   M: 40 dset:   1 I:    1    8  J:    1    1  K:    1    1  L:    1    1
- -DELETE BIGVAR   M: 43 dset:   1 I:    1   36  J:    1    1  K:    1    1  L:    1    1
- dealloc  dynamic grid (G018)          (AX030)   YAX1_30   ZAX1_20   TAX1_10
+ eval    EX#1     C:  5 dset:   1 I:      1      4  J:    1    1  K:    1    1  L:      1      1
+ eval    A        C:  7 dset:   1 I:      3      5  J:    1    1  K:    1    1  L:      1      1
+ allocate dynamic grid (G011)          (AX030)   YAX1_30   ZAX1_20   TAX1_10
+ strip regrid on X: BIGVAR --> (G011)           @XACT
+ rdstride BIGVAR   C: 10 dset:   1 I:      1     36  J:    1    1  K:    1    1  L:      1      1
+ nulrgd  BIGVAR   M:170 dset:   1 I:      1      8  J:    1    1  K:    1    1  L:      1      1
+ -DELETE BIGVAR   M:173 dset:   1 I:      1     36  J:    1    1  K:    1    1  L:      1      1
+ dealloc  dynamic grid (G011)          (AX030)   YAX1_30   ZAX1_20   TAX1_10
              VARIABLE : BIGVAR[I=1:40:5]
              FILENAME : bn_strides.cdf
              SUBSET   : 3 points (X)
@@ -27186,26 +27081,26 @@ list/j=1/k=1/l=1 a[i=3:5]
  11   / 3:  1121.00
  16   / 4:  1126.00
  21   / 5:  1131.00
- -DELETE A        M: 44 dset:   1 I:    1    1  J:    3    5  K:    1    1  L:    1    1
+ -DELETE A        M:179 dset:   1 I:      1      1  J:    3    5  K:    1    1  L:      1      1
 list/k=1/l=1 a[i=3:5,j=1:8:2]
- dealloc  dynamic grid (G018)          (AX030)   YAX1_30   ZAX1_20   TAX1_10
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G010)          (AX030)   (AX031)   ZAX1_20   TAX1_10
- dealloc  dynamic grid (G010)          (AX030)   (AX031)   ZAX1_20   TAX1_10
- allocate dynamic grid (G010)          (AX030)   (AX031)   ZAX1_20   TAX1_10
+ dealloc  dynamic grid (G011)          (AX030)   YAX1_30   ZAX1_20   TAX1_10
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G002)          (AX030)   (AX031)   ZAX1_20   TAX1_10
+ dealloc  dynamic grid (G002)          (AX030)   (AX031)   ZAX1_20   TAX1_10
+ allocate dynamic grid (G002)          (AX030)   (AX031)   ZAX1_20   TAX1_10
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:    1    4  J:    1    3  K:    1    1  L:    1    1
- allocate dynamic grid (G010)          (AX030)   (AX031)   ZAX1_20   TAX1_10
- strip regrid on Y: A --> (G010)           @XACT
- eval    A        C:  8 dset:   1 I:    3    5  J:    1    7  K:    1    1  L:    1    1
- allocate dynamic grid (G018)          (AX030)   YAX1_30   ZAX1_20   TAX1_10
- strip regrid on X: BIGVAR --> (G018)           @XACT
- rdstride BIGVAR   C: 11 dset:   1 I:    1   36  J:    1    7  K:    1    1  L:    1    1
- nulrgd  BIGVAR   M: 39 dset:   1 I:    1    8  J:    1    7  K:    1    1  L:    1    1
- -DELETE BIGVAR   M: 44 dset:   1 I:    1   36  J:    1    7  K:    1    1  L:    1    1
- dealloc  dynamic grid (G018)          (AX030)   YAX1_30   ZAX1_20   TAX1_10
- regrid  A        M: 38 dset:   1 I:    3    5  J:    1    4  K:    1    1  L:    1    1
- dealloc  dynamic grid (G010)          (AX030)   (AX031)   ZAX1_20   TAX1_10
+ eval    EX#1     C:  5 dset:   1 I:      1      4  J:    1    3  K:    1    1  L:      1      1
+ allocate dynamic grid (G002)          (AX030)   (AX031)   ZAX1_20   TAX1_10
+ strip regrid on Y: A --> (G002)           @XACT
+ eval    A        C:  8 dset:   1 I:      3      5  J:    1    7  K:    1    1  L:      1      1
+ allocate dynamic grid (G011)          (AX030)   YAX1_30   ZAX1_20   TAX1_10
+ strip regrid on X: BIGVAR --> (G011)           @XACT
+ rdstride BIGVAR   C: 11 dset:   1 I:      1     36  J:    1    7  K:    1    1  L:      1      1
+ nulrgd  BIGVAR   M:168 dset:   1 I:      1      8  J:    1    7  K:    1    1  L:      1      1
+ -DELETE BIGVAR   M:179 dset:   1 I:      1     36  J:    1    7  K:    1    1  L:      1      1
+ dealloc  dynamic grid (G011)          (AX030)   YAX1_30   ZAX1_20   TAX1_10
+ regrid  A        M:166 dset:   1 I:      3      5  J:    1    4  K:    1    1  L:      1      1
+ dealloc  dynamic grid (G002)          (AX030)   (AX031)   ZAX1_20   TAX1_10
              VARIABLE : BIGVAR[I=1:40:5]
                         regrid: 2 delta on Y
              FILENAME : bn_strides.cdf
@@ -27222,13 +27117,13 @@ list/k=1/l=1 a[i=3:5,j=1:8:2]
 ! ****** unequally spaced points on parent axis
 ! reference data
 LIST/order=x/j=1/k=1/l=1 UNEVENVAR
- dealloc  dynamic grid (G010)          (AX030)   (AX031)   ZAX1_20   TAX1_10
- -DELETE A        M: 38 dset:   1 I:    3    5  J:    1    4  K:    1    1  L:    1    1
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ dealloc  dynamic grid (G002)          (AX030)   (AX031)   ZAX1_20   TAX1_10
+ -DELETE A        M:166 dset:   1 I:      3      5  J:    1    4  K:    1    1  L:      1      1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GPC4            XUNEVEN   YUNEVEN   ZAX1_6    TAX1_4
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:    1    4  J:    1    1  K:    1    1  L:    1    1
- reading UNE-NVAR M: 38 dset:   1 I:    1    4  J:    1    1  K:    1    1  L:    1    1
+ eval    EX#1     C:  5 dset:   1 I:      1      4  J:    1    1  K:    1    1  L:      1      1
+ reading UNE-NVAR M:166 dset:   1 I:      1      4  J:    1    1  K:    1    1  L:      1      1
              VARIABLE : L*1000 + K*100 + J[GY=YUNEVEN]*10 + I[GX=XUNEVEN]
              FILENAME : bn_strides.cdf
              SUBSET   : 4 points (X)
@@ -27239,28 +27134,28 @@ LIST/order=x/j=1/k=1/l=1 UNEVENVAR
              1        2        3        4
           1111.00  1112.00  1113.00  1114.00
 cancel mem/all
- -DELETE UNE-NVAR M: 38 dset:   1 I:    1    4  J:    1    1  K:    1    1  L:    1    1
- -DELETE BIGVAR   M: 39 dset:   1 I:    1    8  J:    1    7  K:    1    1  L:    1    1
- -DELETE BIGVAR   M: 40 dset:   1 I:    1    8  J:    1    1  K:    1    1  L:    1    1
- -DELETE A        M: 43 dset:   1 I:    1    8  J:    1    1  K:    1    1  L:    1    1
- -DELETE A        M: 44 dset:   1 I:    1    8  J:    1    7  K:    1    1  L:    1    1
- -DELETE VAR      M: 52 dset:   1 I:    1    4  J:    1    3  K:    1    2  L:    1    1
+ -DELETE UNE-NVAR M:166 dset:   1 I:      1      4  J:    1    1  K:    1    1  L:      1      1
+ -DELETE BIGVAR   M:168 dset:   1 I:      1      8  J:    1    7  K:    1    1  L:      1      1
+ -DELETE BIGVAR   M:170 dset:   1 I:      1      8  J:    1    1  K:    1    1  L:      1      1
+ -DELETE A        M:173 dset:   1 I:      1      8  J:    1    1  K:    1    1  L:      1      1
+ -DELETE A        M:179 dset:   1 I:      1      8  J:    1    7  K:    1    1  L:      1      1
+ -DELETE VAR      M:180 dset:   1 I:      1      4  J:    1    3  K:    1    2  L:      1      1
  
 ! basic strides
 LIST/order=x/j=1/k=1/l=1 UNEVENVAR[i=2:4:2]
  dealloc  dynamic grid GPC4            XUNEVEN   YUNEVEN   ZAX1_6    TAX1_4
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G010)          (AX029)   YUNEVEN   ZAX1_6    TAX1_4
- dealloc  dynamic grid (G010)          (AX029)   YUNEVEN   ZAX1_6    TAX1_4
- allocate dynamic grid (G010)          (AX029)   YUNEVEN   ZAX1_6    TAX1_4
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G002)          (AX029)   YUNEVEN   ZAX1_6    TAX1_4
+ dealloc  dynamic grid (G002)          (AX029)   YUNEVEN   ZAX1_6    TAX1_4
+ allocate dynamic grid (G002)          (AX029)   YUNEVEN   ZAX1_6    TAX1_4
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:    1    4  J:    1    1  K:    1    1  L:    1    1
- allocate dynamic grid (G010)          (AX029)   YUNEVEN   ZAX1_6    TAX1_4
- strip regrid on X: UNEVENVAR --> (G010)           @XACT
- rdstride UNE-NVAR C:  8 dset:   1 I:    2    4  J:    1    1  K:    1    1  L:    1    1
- nulrgd  UNE-NVAR M: 44 dset:   1 I:    1    2  J:    1    1  K:    1    1  L:    1    1
- -DELETE UNE-NVAR M: 52 dset:   1 I:    2    4  J:    1    1  K:    1    1  L:    1    1
- dealloc  dynamic grid (G010)          (AX029)   YUNEVEN   ZAX1_6    TAX1_4
+ eval    EX#1     C:  5 dset:   1 I:      1      4  J:    1    1  K:    1    1  L:      1      1
+ allocate dynamic grid (G002)          (AX029)   YUNEVEN   ZAX1_6    TAX1_4
+ strip regrid on X: UNEVENVAR --> (G002)           @XACT
+ rdstride UNE-NVAR C:  8 dset:   1 I:      2      4  J:    1    1  K:    1    1  L:      1      1
+ nulrgd  UNE-NVAR M:179 dset:   1 I:      1      2  J:    1    1  K:    1    1  L:      1      1
+ -DELETE UNE-NVAR M:180 dset:   1 I:      2      4  J:    1    1  K:    1    1  L:      1      1
+ dealloc  dynamic grid (G002)          (AX029)   YUNEVEN   ZAX1_6    TAX1_4
              VARIABLE : L*1000 + K*100 + J[GY=YUNEVEN]*10 + I[GX=XUNEVEN]
                         regrid: on X
              FILENAME : bn_strides.cdf
@@ -27275,13 +27170,10 @@ LIST/order=x/j=1/k=1/l=1 UNEVENVAR[i=2:4:2]
 ! cache hit after changes to COMPLETE_MISSING_LIMS and FLESH_OUT_AXIS
 LIST/order=x/j=1/k=1/l=1 UNEVENVAR[i=2:4:2]
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:    1    4  J:    1    1  K:    1    1  L:    1    1
- allocate dynamic grid (G010)          (AX029)   YUNEVEN   ZAX1_6    TAX1_4
- strip regrid on X: UNEVENVAR --> (G010)           @XACT
- rdstride UNE-NVAR C:  8 dset:   1 I:    2    4  J:    1    1  K:    1    1  L:    1    1
- nulrgd  UNE-NVAR M: 43 dset:   1 I:    1    2  J:    1    1  K:    1    1  L:    1    1
- -DELETE UNE-NVAR M: 52 dset:   1 I:    2    4  J:    1    1  K:    1    1  L:    1    1
- dealloc  dynamic grid (G010)          (AX029)   YUNEVEN   ZAX1_6    TAX1_4
+ eval    EX#1     C:  5 dset:   1 I:      1      4  J:    1    1  K:    1    1  L:      1      1
+ allocate dynamic grid (G002)          (AX029)   YUNEVEN   ZAX1_6    TAX1_4
+ found   UNE-NVAR M:179 dset:   1 I:      1      2  J:    1    1  K:    1    1  L:      1      1
+ dealloc  dynamic grid (G002)          (AX029)   YUNEVEN   ZAX1_6    TAX1_4
              VARIABLE : L*1000 + K*100 + J[GY=YUNEVEN]*10 + I[GX=XUNEVEN]
                         regrid: on X
              FILENAME : bn_strides.cdf
@@ -27295,26 +27187,25 @@ LIST/order=x/j=1/k=1/l=1 UNEVENVAR[i=2:4:2]
  
 ! cache hit through non-file variable
 let a = UNEVENVAR[i=2:4:2]
- dealloc  dynamic grid (G010)          (AX029)   YUNEVEN   ZAX1_6    TAX1_4
- -DELETE UNE-NVAR M: 43 dset:   1 I:    1    2  J:    1    1  K:    1    1  L:    1    1
- -DELETE UNE-NVAR M: 44 dset:   1 I:    1    2  J:    1    1  K:    1    1  L:    1    1
- dealloc  dynamic grid (G018)          (AX030)   YAX1_30   ZAX1_20   TAX1_10
+ dealloc  dynamic grid (G002)          (AX029)   YUNEVEN   ZAX1_6    TAX1_4
+ -DELETE UNE-NVAR M:179 dset:   1 I:      1      2  J:    1    1  K:    1    1  L:      1      1
+ dealloc  dynamic grid (G011)          (AX030)   YAX1_30   ZAX1_20   TAX1_10
 list/order=x/j=1/k=1/l=1 a
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid A        C:  7 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G018)          (AX029)   YUNEVEN   ZAX1_6    TAX1_4
- dealloc  dynamic grid (G018)          (AX029)   YUNEVEN   ZAX1_6    TAX1_4
- allocate dynamic grid (G018)          (AX029)   YUNEVEN   ZAX1_6    TAX1_4
- allocate dynamic grid (G018)          (AX029)   YUNEVEN   ZAX1_6    TAX1_4
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid A        C:  7 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G011)          (AX029)   YUNEVEN   ZAX1_6    TAX1_4
+ dealloc  dynamic grid (G011)          (AX029)   YUNEVEN   ZAX1_6    TAX1_4
+ allocate dynamic grid (G011)          (AX029)   YUNEVEN   ZAX1_6    TAX1_4
+ allocate dynamic grid (G011)          (AX029)   YUNEVEN   ZAX1_6    TAX1_4
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:    1    4  J:    1    1  K:    1    1  L:    1    1
- eval    A        C:  7 dset:   1 I:    1    2  J:    1    1  K:    1    1  L:    1    1
- allocate dynamic grid (G018)          (AX029)   YUNEVEN   ZAX1_6    TAX1_4
- strip regrid on X: UNEVENVAR --> (G018)           @XACT
- rdstride UNE-NVAR C: 10 dset:   1 I:    2    4  J:    1    1  K:    1    1  L:    1    1
- nulrgd  UNE-NVAR M: 43 dset:   1 I:    1    2  J:    1    1  K:    1    1  L:    1    1
- -DELETE UNE-NVAR M: 44 dset:   1 I:    2    4  J:    1    1  K:    1    1  L:    1    1
- dealloc  dynamic grid (G018)          (AX029)   YUNEVEN   ZAX1_6    TAX1_4
+ eval    EX#1     C:  5 dset:   1 I:      1      4  J:    1    1  K:    1    1  L:      1      1
+ eval    A        C:  7 dset:   1 I:      1      2  J:    1    1  K:    1    1  L:      1      1
+ allocate dynamic grid (G011)          (AX029)   YUNEVEN   ZAX1_6    TAX1_4
+ strip regrid on X: UNEVENVAR --> (G011)           @XACT
+ rdstride UNE-NVAR C: 10 dset:   1 I:      2      4  J:    1    1  K:    1    1  L:      1      1
+ nulrgd  UNE-NVAR M:180 dset:   1 I:      1      2  J:    1    1  K:    1    1  L:      1      1
+ -DELETE UNE-NVAR M:179 dset:   1 I:      2      4  J:    1    1  K:    1    1  L:      1      1
+ dealloc  dynamic grid (G011)          (AX029)   YUNEVEN   ZAX1_6    TAX1_4
              VARIABLE : UNEVENVAR[I=2:4:2]
              FILENAME : bn_strides.cdf
              SUBSET   : 2 points (X)
@@ -27326,14 +27217,8 @@ list/order=x/j=1/k=1/l=1 a
           1112.00  1114.00
 list/order=x/j=1/k=1/l=1 a		! from cache ...
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:    1    4  J:    1    1  K:    1    1  L:    1    1
- eval    A        C:  7 dset:   1 I:    1    2  J:    1    1  K:    1    1  L:    1    1
- allocate dynamic grid (G018)          (AX029)   YUNEVEN   ZAX1_6    TAX1_4
- strip regrid on X: UNEVENVAR --> (G018)           @XACT
- rdstride UNE-NVAR C: 10 dset:   1 I:    2    4  J:    1    1  K:    1    1  L:    1    1
- nulrgd  UNE-NVAR M: 40 dset:   1 I:    1    2  J:    1    1  K:    1    1  L:    1    1
- -DELETE UNE-NVAR M: 52 dset:   1 I:    2    4  J:    1    1  K:    1    1  L:    1    1
- dealloc  dynamic grid (G018)          (AX029)   YUNEVEN   ZAX1_6    TAX1_4
+ eval    EX#1     C:  5 dset:   1 I:      1      4  J:    1    1  K:    1    1  L:      1      1
+ found   A        M:179 dset:   1 I:      1      2  J:    1    1  K:    1    1  L:      1      1
              VARIABLE : UNEVENVAR[I=2:4:2]
              FILENAME : bn_strides.cdf
              SUBSET   : 2 points (X)
@@ -27346,31 +27231,29 @@ list/order=x/j=1/k=1/l=1 a		! from cache ...
  
 ! cache hit from full region cache -- bypass use of strides
 cancel memory/all
- -DELETE UNE-NVAR M: 40 dset:   1 I:    1    2  J:    1    1  K:    1    1  L:    1    1
- -DELETE UNE-NVAR M: 43 dset:   1 I:    1    2  J:    1    1  K:    1    1  L:    1    1
- -DELETE A        M: 44 dset:   1 I:    1    2  J:    1    1  K:    1    1  L:    1    1
- -DELETE A        M: 52 dset:   1 I:    1    2  J:    1    1  K:    1    1  L:    1    1
+ -DELETE A        M:179 dset:   1 I:      1      2  J:    1    1  K:    1    1  L:      1      1
+ -DELETE UNE-NVAR M:180 dset:   1 I:      1      2  J:    1    1  K:    1    1  L:      1      1
 load/k=1/l=1 UNEVENVAR
- dealloc  dynamic grid (G018)          (AX029)   YUNEVEN   ZAX1_6    TAX1_4
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ dealloc  dynamic grid (G011)          (AX029)   YUNEVEN   ZAX1_6    TAX1_4
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GPC4            XUNEVEN   YUNEVEN   ZAX1_6    TAX1_4
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:    1    4  J:    1    3  K:    1    1  L:    1    1
- reading UNE-NVAR M: 52 dset:   1 I:    1    4  J:    1    3  K:    1    1  L:    1    1
+ eval    EX#1     C:  5 dset:   1 I:      1      4  J:    1    3  K:    1    1  L:      1      1
+ reading UNE-NVAR M:180 dset:   1 I:      1      4  J:    1    3  K:    1    1  L:      1      1
 LIST/j=1/k=1/l=1 UNEVENVAR[i=2:4:2]
  dealloc  dynamic grid GPC4            XUNEVEN   YUNEVEN   ZAX1_6    TAX1_4
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G018)          (AX029)   YUNEVEN   ZAX1_6    TAX1_4
- dealloc  dynamic grid (G018)          (AX029)   YUNEVEN   ZAX1_6    TAX1_4
- allocate dynamic grid (G018)          (AX029)   YUNEVEN   ZAX1_6    TAX1_4
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G011)          (AX029)   YUNEVEN   ZAX1_6    TAX1_4
+ dealloc  dynamic grid (G011)          (AX029)   YUNEVEN   ZAX1_6    TAX1_4
+ allocate dynamic grid (G011)          (AX029)   YUNEVEN   ZAX1_6    TAX1_4
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:    1    4  J:    1    1  K:    1    1  L:    1    1
- allocate dynamic grid (G018)          (AX029)   YUNEVEN   ZAX1_6    TAX1_4
- strip regrid on X: UNEVENVAR --> (G018)           @XACT
- rdstride UNE-NVAR C:  8 dset:   1 I:    2    4  J:    1    1  K:    1    1  L:    1    1
- nulrgd  UNE-NVAR M: 43 dset:   1 I:    1    2  J:    1    1  K:    1    1  L:    1    1
- -DELETE UNE-NVAR M: 44 dset:   1 I:    2    4  J:    1    1  K:    1    1  L:    1    1
- dealloc  dynamic grid (G018)          (AX029)   YUNEVEN   ZAX1_6    TAX1_4
+ eval    EX#1     C:  5 dset:   1 I:      1      4  J:    1    1  K:    1    1  L:      1      1
+ allocate dynamic grid (G011)          (AX029)   YUNEVEN   ZAX1_6    TAX1_4
+ strip regrid on X: UNEVENVAR --> (G011)           @XACT
+ rdstride UNE-NVAR C:  8 dset:   1 I:      2      4  J:    1    1  K:    1    1  L:      1      1
+ nulrgd  UNE-NVAR M:173 dset:   1 I:      1      2  J:    1    1  K:    1    1  L:      1      1
+ -DELETE UNE-NVAR M:179 dset:   1 I:      2      4  J:    1    1  K:    1    1  L:      1      1
+ dealloc  dynamic grid (G011)          (AX029)   YUNEVEN   ZAX1_6    TAX1_4
              VARIABLE : L*1000 + K*100 + J[GY=YUNEVEN]*10 + I[GX=XUNEVEN]
                         regrid: on X
              FILENAME : bn_strides.cdf
@@ -27383,19 +27266,19 @@ LIST/j=1/k=1/l=1 UNEVENVAR[i=2:4:2]
  0.3  / 1:  1112.00
  0.6  / 2:  1114.00
 LIST/j=1/k=1/l=1 UNEVENVAR[i=2:4:2,j=1:5:2]
- dealloc  dynamic grid (G018)          (AX029)   YUNEVEN   ZAX1_6    TAX1_4
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G010)          (AX029)   (AX031)   ZAX1_6    TAX1_4
- dealloc  dynamic grid (G010)          (AX029)   (AX031)   ZAX1_6    TAX1_4
- allocate dynamic grid (G010)          (AX029)   (AX031)   ZAX1_6    TAX1_4
+ dealloc  dynamic grid (G011)          (AX029)   YUNEVEN   ZAX1_6    TAX1_4
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G002)          (AX029)   (AX031)   ZAX1_6    TAX1_4
+ dealloc  dynamic grid (G002)          (AX029)   (AX031)   ZAX1_6    TAX1_4
+ allocate dynamic grid (G002)          (AX029)   (AX031)   ZAX1_6    TAX1_4
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:    1    4  J:    1    1  K:    1    1  L:    1    1
- allocate dynamic grid (G010)          (AX029)   (AX031)   ZAX1_6    TAX1_4
- strip regrid on X: UNEVENVAR --> (G010)           @XACT
- rdstride UNE-NVAR C:  8 dset:   1 I:    2    4  J:    1    5  K:    1    1  L:    1    1
- nulrgd  UNE-NVAR M: 40 dset:   1 I:    1    2  J:    1    3  K:    1    1  L:    1    1
- -DELETE UNE-NVAR M: 44 dset:   1 I:    2    4  J:    1    5  K:    1    1  L:    1    1
- dealloc  dynamic grid (G010)          (AX029)   (AX031)   ZAX1_6    TAX1_4
+ eval    EX#1     C:  5 dset:   1 I:      1      4  J:    1    1  K:    1    1  L:      1      1
+ allocate dynamic grid (G002)          (AX029)   (AX031)   ZAX1_6    TAX1_4
+ strip regrid on X: UNEVENVAR --> (G002)           @XACT
+ rdstride UNE-NVAR C:  8 dset:   1 I:      2      4  J:    1    5  K:    1    1  L:      1      1
+ nulrgd  UNE-NVAR M:170 dset:   1 I:      1      2  J:    1    3  K:    1    1  L:      1      1
+ -DELETE UNE-NVAR M:179 dset:   1 I:      2      4  J:    1    5  K:    1    1  L:      1      1
+ dealloc  dynamic grid (G002)          (AX029)   (AX031)   ZAX1_6    TAX1_4
  doing limits reconciliation on Y axis: UNEVENVAR
              VARIABLE : L*1000 + K*100 + J[GY=YUNEVEN]*10 + I[GX=XUNEVEN]
                         regrid: on X, on Y
@@ -27408,28 +27291,28 @@ LIST/j=1/k=1/l=1 UNEVENVAR[i=2:4:2,j=1:5:2]
                1
  0.3  / 1:  1112.00
  0.6  / 2:  1114.00
- -DELETE UNE-NVAR M: 44 dset:   1 I:    1    1  J:    1    2  K:    1    1  L:    1    1
+ -DELETE UNE-NVAR M:179 dset:   1 I:      1      1  J:    1    2  K:    1    1  L:      1      1
 CANC MEM/ALL
- -DELETE UNE-NVAR M: 40 dset:   1 I:    1    2  J:    1    3  K:    1    1  L:    1    1
- -DELETE UNE-NVAR M: 43 dset:   1 I:    1    2  J:    1    1  K:    1    1  L:    1    1
- -DELETE UNE-NVAR M: 52 dset:   1 I:    1    4  J:    1    3  K:    1    1  L:    1    1
+ -DELETE UNE-NVAR M:170 dset:   1 I:      1      2  J:    1    3  K:    1    1  L:      1      1
+ -DELETE UNE-NVAR M:173 dset:   1 I:      1      2  J:    1    1  K:    1    1  L:      1      1
+ -DELETE UNE-NVAR M:180 dset:   1 I:      1      4  J:    1    3  K:    1    1  L:      1      1
  
 ! modulo requests cannot use strides (as this example shows)
 set axis/modulo XUNEVEN
 LIST/order=x UNEVENVAR[I=1:30:7,j=1,k=1,l=1]    ! 1, 8, 15(5), 22(2)
- dealloc  dynamic grid (G010)          (AX029)   (AX031)   ZAX1_6    TAX1_4
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G010)          (AX030)   YUNEVEN   ZAX1_6    TAX1_4
- dealloc  dynamic grid (G010)          (AX030)   YUNEVEN   ZAX1_6    TAX1_4
- allocate dynamic grid (G010)          (AX030)   YUNEVEN   ZAX1_6    TAX1_4
- eval    EX#1     C:  4 dset:   1 I:    1    4  J:    1    3  K: -999 -999  L:    1    2
- allocate dynamic grid (G010)          (AX030)   YUNEVEN   ZAX1_6    TAX1_4
- strip regrid on X: UNEVENVAR --> (G010)           @XACT
- strip moduloing UNEVENVAR on X axis:     1    29 dset:   1
- reading UNE-NVAR M: 52 dset:   1 I:    1   10  J:    1    1  K:    1    1  L:    1    1
- doing moduloing UNEVENVAR on X axis:     1    10 dset:   1
- regrid  UNE-NVAR M: 40 dset:   1 I:    1    5  J:    1    1  K:    1    1  L:    1    1
- dealloc  dynamic grid (G010)          (AX030)   YUNEVEN   ZAX1_6    TAX1_4
+ dealloc  dynamic grid (G002)          (AX029)   (AX031)   ZAX1_6    TAX1_4
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G002)          (AX030)   YUNEVEN   ZAX1_6    TAX1_4
+ dealloc  dynamic grid (G002)          (AX030)   YUNEVEN   ZAX1_6    TAX1_4
+ allocate dynamic grid (G002)          (AX030)   YUNEVEN   ZAX1_6    TAX1_4
+ eval    EX#1     C:  4 dset:   1 I:      1      4  J:    1    3  K: -999 -999  L:      1      2
+ allocate dynamic grid (G002)          (AX030)   YUNEVEN   ZAX1_6    TAX1_4
+ strip regrid on X: UNEVENVAR --> (G002)           @XACT
+ strip moduloing UNEVENVAR on X axis:        1       29 dset:   1
+ reading UNE-NVAR M:180 dset:   1 I:      1     10  J:    1    1  K:    1    1  L:      1      1
+ doing moduloing UNEVENVAR on X axis:        1       10 dset:   1
+ regrid  UNE-NVAR M:170 dset:   1 I:      1      5  J:    1    1  K:    1    1  L:      1      1
+ dealloc  dynamic grid (G002)          (AX030)   YUNEVEN   ZAX1_6    TAX1_4
              VARIABLE : L*1000 + K*100 + J[GY=YUNEVEN]*10 + I[GX=XUNEVEN]
                         regrid: on X
              FILENAME : bn_strides.cdf
@@ -27441,25 +27324,25 @@ LIST/order=x UNEVENVAR[I=1:30:7,j=1,k=1,l=1]    ! 1, 8, 15(5), 22(2)
              1        2        3        4        5
           1111.00  1118.00  1115.00  1112.00  1119.00
 cancel axis/modulo XUNEVEN
- -DELETE UNE-NVAR M: 40 dset:   1 I:    1    5  J:    1    1  K:    1    1  L:    1    1
- -DELETE UNE-NVAR M: 43 dset:   1 I:    1   29  J:    1    1  K:    1    1  L:    1    1
- -DELETE UNE-NVAR M: 52 dset:   1 I:    1   10  J:    1    1  K:    1    1  L:    1    1
+ -DELETE UNE-NVAR M:170 dset:   1 I:      1      5  J:    1    1  K:    1    1  L:      1      1
+ -DELETE UNE-NVAR M:173 dset:   1 I:      1     29  J:    1    1  K:    1    1  L:      1      1
+ -DELETE UNE-NVAR M:180 dset:   1 I:      1     10  J:    1    1  K:    1    1  L:      1      1
  
 ! strides applied to more than one axis need special attention in IS_REGRID
 LIST/k=1/l=1 UNEVENVAR[i=2:4:2,j=1:3:2]
- dealloc  dynamic grid (G010)          (AX030)   YUNEVEN   ZAX1_6    TAX1_4
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G010)          (AX029)   (AX031)   ZAX1_6    TAX1_4
- dealloc  dynamic grid (G010)          (AX029)   (AX031)   ZAX1_6    TAX1_4
- allocate dynamic grid (G010)          (AX029)   (AX031)   ZAX1_6    TAX1_4
+ dealloc  dynamic grid (G002)          (AX030)   YUNEVEN   ZAX1_6    TAX1_4
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G002)          (AX029)   (AX031)   ZAX1_6    TAX1_4
+ dealloc  dynamic grid (G002)          (AX029)   (AX031)   ZAX1_6    TAX1_4
+ allocate dynamic grid (G002)          (AX029)   (AX031)   ZAX1_6    TAX1_4
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:    1    4  J:    1    3  K:    1    1  L:    1    1
- allocate dynamic grid (G010)          (AX029)   (AX031)   ZAX1_6    TAX1_4
- strip regrid on X: UNEVENVAR --> (G010)           @XACT
- rdstride UNE-NVAR C:  8 dset:   1 I:    2    4  J:    1    3  K:    1    1  L:    1    1
- nulrgd  UNE-NVAR M: 43 dset:   1 I:    1    2  J:    1    2  K:    1    1  L:    1    1
- -DELETE UNE-NVAR M: 52 dset:   1 I:    2    4  J:    1    3  K:    1    1  L:    1    1
- dealloc  dynamic grid (G010)          (AX029)   (AX031)   ZAX1_6    TAX1_4
+ eval    EX#1     C:  5 dset:   1 I:      1      4  J:    1    3  K:    1    1  L:      1      1
+ allocate dynamic grid (G002)          (AX029)   (AX031)   ZAX1_6    TAX1_4
+ strip regrid on X: UNEVENVAR --> (G002)           @XACT
+ rdstride UNE-NVAR C:  8 dset:   1 I:      2      4  J:    1    3  K:    1    1  L:      1      1
+ nulrgd  UNE-NVAR M:173 dset:   1 I:      1      2  J:    1    2  K:    1    1  L:      1      1
+ -DELETE UNE-NVAR M:180 dset:   1 I:      2      4  J:    1    3  K:    1    1  L:      1      1
+ dealloc  dynamic grid (G002)          (AX029)   (AX031)   ZAX1_6    TAX1_4
              VARIABLE : L*1000 + K*100 + J[GY=YUNEVEN]*10 + I[GX=XUNEVEN]
                         regrid: on X, on Y
              FILENAME : bn_strides.cdf
@@ -27471,20 +27354,20 @@ LIST/k=1/l=1 UNEVENVAR[i=2:4:2,j=1:3:2]
  0    / 1:  1112.00  1114.00
  0.95 / 2:  1132.00  1134.00
 LIST/k=1/l=1 UNEVENVAR[i=2:6:2,j=1:5:2]
- dealloc  dynamic grid (G010)          (AX029)   (AX031)   ZAX1_6    TAX1_4
- -DELETE UNE-NVAR M: 43 dset:   1 I:    1    2  J:    1    2  K:    1    1  L:    1    1
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G010)          (AX030)   (AX032)   ZAX1_6    TAX1_4
- dealloc  dynamic grid (G010)          (AX030)   (AX032)   ZAX1_6    TAX1_4
- allocate dynamic grid (G010)          (AX030)   (AX032)   ZAX1_6    TAX1_4
+ dealloc  dynamic grid (G002)          (AX029)   (AX031)   ZAX1_6    TAX1_4
+ -DELETE UNE-NVAR M:173 dset:   1 I:      1      2  J:    1    2  K:    1    1  L:      1      1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G002)          (AX030)   (AX032)   ZAX1_6    TAX1_4
+ dealloc  dynamic grid (G002)          (AX030)   (AX032)   ZAX1_6    TAX1_4
+ allocate dynamic grid (G002)          (AX030)   (AX032)   ZAX1_6    TAX1_4
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:    1    4  J:    1    3  K:    1    1  L:    1    1
- allocate dynamic grid (G010)          (AX030)   (AX032)   ZAX1_6    TAX1_4
- strip regrid on X: UNEVENVAR --> (G010)           @XACT
- rdstride UNE-NVAR C:  8 dset:   1 I:    2    6  J:    1    5  K:    1    1  L:    1    1
- nulrgd  UNE-NVAR M: 52 dset:   1 I:    1    3  J:    1    3  K:    1    1  L:    1    1
- -DELETE UNE-NVAR M: 43 dset:   1 I:    2    6  J:    1    5  K:    1    1  L:    1    1
- dealloc  dynamic grid (G010)          (AX030)   (AX032)   ZAX1_6    TAX1_4
+ eval    EX#1     C:  5 dset:   1 I:      1      4  J:    1    3  K:    1    1  L:      1      1
+ allocate dynamic grid (G002)          (AX030)   (AX032)   ZAX1_6    TAX1_4
+ strip regrid on X: UNEVENVAR --> (G002)           @XACT
+ rdstride UNE-NVAR C:  8 dset:   1 I:      2      6  J:    1    5  K:    1    1  L:      1      1
+ nulrgd  UNE-NVAR M:180 dset:   1 I:      1      3  J:    1    3  K:    1    1  L:      1      1
+ -DELETE UNE-NVAR M:173 dset:   1 I:      2      6  J:    1    5  K:    1    1  L:      1      1
+ dealloc  dynamic grid (G002)          (AX030)   (AX032)   ZAX1_6    TAX1_4
              VARIABLE : L*1000 + K*100 + J[GY=YUNEVEN]*10 + I[GX=XUNEVEN]
                         regrid: on X, on Y
              FILENAME : bn_strides.cdf
@@ -27499,19 +27382,19 @@ LIST/k=1/l=1 UNEVENVAR[i=2:6:2,j=1:5:2]
  
 ! averaging causes bypass of strides
 LIST/j=1/k=1/l=1/precision=9 UNEVENVAR[i=2:8:2 at ave]
- dealloc  dynamic grid (G010)          (AX030)   (AX032)   ZAX1_6    TAX1_4
- -DELETE UNE-NVAR M: 52 dset:   1 I:    1    3  J:    1    3  K:    1    1  L:    1    1
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G010)          (AX030)   YUNEVEN   ZAX1_6    TAX1_4
- dealloc  dynamic grid (G010)          (AX030)   YUNEVEN   ZAX1_6    TAX1_4
- allocate dynamic grid (G010)          (AX030)   YUNEVEN   ZAX1_6    TAX1_4
+ dealloc  dynamic grid (G002)          (AX030)   (AX032)   ZAX1_6    TAX1_4
+ -DELETE UNE-NVAR M:180 dset:   1 I:      1      3  J:    1    3  K:    1    1  L:      1      1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G002)          (AX030)   YUNEVEN   ZAX1_6    TAX1_4
+ dealloc  dynamic grid (G002)          (AX030)   YUNEVEN   ZAX1_6    TAX1_4
+ allocate dynamic grid (G002)          (AX030)   YUNEVEN   ZAX1_6    TAX1_4
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:    1    4  J:    1    1  K:    1    1  L:    1    1
- allocate dynamic grid (G010)          (AX030)   YUNEVEN   ZAX1_6    TAX1_4
- strip regrid on X: UNEVENVAR --> (G010)           @AVE
- reading UNE-NVAR M: 52 dset:   1 I:    1    9  J:    1    1  K:    1    1  L:    1    1
- regrid  UNE-NVAR M: 43 dset:   1 I:    1    4  J:    1    1  K:    1    1  L:    1    1
- dealloc  dynamic grid (G010)          (AX030)   YUNEVEN   ZAX1_6    TAX1_4
+ eval    EX#1     C:  5 dset:   1 I:      1      4  J:    1    1  K:    1    1  L:      1      1
+ allocate dynamic grid (G002)          (AX030)   YUNEVEN   ZAX1_6    TAX1_4
+ strip regrid on X: UNEVENVAR --> (G002)           @AVE
+ reading UNE-NVAR M:180 dset:   1 I:      1      9  J:    1    1  K:    1    1  L:      1      1
+ regrid  UNE-NVAR M:173 dset:   1 I:      1      4  J:    1    1  K:    1    1  L:      1      1
+ dealloc  dynamic grid (G002)          (AX030)   YUNEVEN   ZAX1_6    TAX1_4
              VARIABLE : L*1000 + K*100 + J[GY=YUNEVEN]*10 + I[GX=XUNEVEN]
                         regrid: on X at AVE
              FILENAME : bn_strides.cdf
@@ -27526,20 +27409,20 @@ LIST/j=1/k=1/l=1/precision=9 UNEVENVAR[i=2:8:2 at ave]
  0.78 / 3:  1115.87072
  0.9  / 4:  1117.90449
 LIST/j=1/k=1/l=1/precision=9 UNEVENVAR[i=2:8:2]		! for comparison
- dealloc  dynamic grid (G010)          (AX030)   YUNEVEN   ZAX1_6    TAX1_4
- -DELETE UNE-NVAR M: 43 dset:   1 I:    1    4  J:    1    1  K:    1    1  L:    1    1
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G010)          (AX032)   YUNEVEN   ZAX1_6    TAX1_4
- dealloc  dynamic grid (G010)          (AX032)   YUNEVEN   ZAX1_6    TAX1_4
- allocate dynamic grid (G010)          (AX032)   YUNEVEN   ZAX1_6    TAX1_4
+ dealloc  dynamic grid (G002)          (AX030)   YUNEVEN   ZAX1_6    TAX1_4
+ -DELETE UNE-NVAR M:173 dset:   1 I:      1      4  J:    1    1  K:    1    1  L:      1      1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G002)          (AX032)   YUNEVEN   ZAX1_6    TAX1_4
+ dealloc  dynamic grid (G002)          (AX032)   YUNEVEN   ZAX1_6    TAX1_4
+ allocate dynamic grid (G002)          (AX032)   YUNEVEN   ZAX1_6    TAX1_4
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:    1    4  J:    1    1  K:    1    1  L:    1    1
- allocate dynamic grid (G010)          (AX032)   YUNEVEN   ZAX1_6    TAX1_4
- strip regrid on X: UNEVENVAR --> (G010)           @XACT
- rdstride UNE-NVAR C:  8 dset:   1 I:    2    8  J:    1    1  K:    1    1  L:    1    1
- nulrgd  UNE-NVAR M: 40 dset:   1 I:    1    4  J:    1    1  K:    1    1  L:    1    1
- -DELETE UNE-NVAR M: 43 dset:   1 I:    2    8  J:    1    1  K:    1    1  L:    1    1
- dealloc  dynamic grid (G010)          (AX032)   YUNEVEN   ZAX1_6    TAX1_4
+ eval    EX#1     C:  5 dset:   1 I:      1      4  J:    1    1  K:    1    1  L:      1      1
+ allocate dynamic grid (G002)          (AX032)   YUNEVEN   ZAX1_6    TAX1_4
+ strip regrid on X: UNEVENVAR --> (G002)           @XACT
+ rdstride UNE-NVAR C:  8 dset:   1 I:      2      8  J:    1    1  K:    1    1  L:      1      1
+ nulrgd  UNE-NVAR M:170 dset:   1 I:      1      4  J:    1    1  K:    1    1  L:      1      1
+ -DELETE UNE-NVAR M:173 dset:   1 I:      2      8  J:    1    1  K:    1    1  L:      1      1
+ dealloc  dynamic grid (G002)          (AX032)   YUNEVEN   ZAX1_6    TAX1_4
              VARIABLE : L*1000 + K*100 + J[GY=YUNEVEN]*10 + I[GX=XUNEVEN]
                         regrid: on X
              FILENAME : bn_strides.cdf
@@ -27556,19 +27439,19 @@ LIST/j=1/k=1/l=1/precision=9 UNEVENVAR[i=2:8:2]		! for comparison
  
 ! test special logic in tm_world_recur for endpoints of strides on irreg axis
 LIST/j=1/k=1/l=1/precision=9 UNEVENVAR[i=1:10:2 at ave]
- dealloc  dynamic grid (G010)          (AX032)   YUNEVEN   ZAX1_6    TAX1_4
- -DELETE UNE-NVAR M: 40 dset:   1 I:    1    4  J:    1    1  K:    1    1  L:    1    1
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G010)          (AX030)   YUNEVEN   ZAX1_6    TAX1_4
- dealloc  dynamic grid (G010)          (AX030)   YUNEVEN   ZAX1_6    TAX1_4
- allocate dynamic grid (G010)          (AX030)   YUNEVEN   ZAX1_6    TAX1_4
+ dealloc  dynamic grid (G002)          (AX032)   YUNEVEN   ZAX1_6    TAX1_4
+ -DELETE UNE-NVAR M:170 dset:   1 I:      1      4  J:    1    1  K:    1    1  L:      1      1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G002)          (AX030)   YUNEVEN   ZAX1_6    TAX1_4
+ dealloc  dynamic grid (G002)          (AX030)   YUNEVEN   ZAX1_6    TAX1_4
+ allocate dynamic grid (G002)          (AX030)   YUNEVEN   ZAX1_6    TAX1_4
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:    1    4  J:    1    1  K:    1    1  L:    1    1
- allocate dynamic grid (G010)          (AX030)   YUNEVEN   ZAX1_6    TAX1_4
- strip regrid on X: UNEVENVAR --> (G010)           @AVE
- reading UNE-NVAR M: 40 dset:   1 I:    1   10  J:    1    1  K:    1    1  L:    1    1
- regrid  UNE-NVAR M: 43 dset:   1 I:    1    5  J:    1    1  K:    1    1  L:    1    1
- dealloc  dynamic grid (G010)          (AX030)   YUNEVEN   ZAX1_6    TAX1_4
+ eval    EX#1     C:  5 dset:   1 I:      1      4  J:    1    1  K:    1    1  L:      1      1
+ allocate dynamic grid (G002)          (AX030)   YUNEVEN   ZAX1_6    TAX1_4
+ strip regrid on X: UNEVENVAR --> (G002)           @AVE
+ reading UNE-NVAR M:170 dset:   1 I:      1     10  J:    1    1  K:    1    1  L:      1      1
+ regrid  UNE-NVAR M:173 dset:   1 I:      1      5  J:    1    1  K:    1    1  L:      1      1
+ dealloc  dynamic grid (G002)          (AX030)   YUNEVEN   ZAX1_6    TAX1_4
              VARIABLE : L*1000 + K*100 + J[GY=YUNEVEN]*10 + I[GX=XUNEVEN]
                         regrid: on X at AVE
              FILENAME : bn_strides.cdf
@@ -27591,19 +27474,19 @@ set region/i=3:6/j=2:4/k=1:2/l=1
  
 use/order=yx bn_strides
 list bigvar[i=3:9:2]
- dealloc  dynamic grid (G010)          (AX030)   YUNEVEN   ZAX1_6    TAX1_4
- -DELETE UNE-NVAR M: 43 dset:   1 I:    1    5  J:    1    1  K:    1    1  L:    1    1
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G010)          (AX032)   YAX1_30   ZAX1_20   TAX1_10
- dealloc  dynamic grid (G010)          (AX032)   YAX1_30   ZAX1_20   TAX1_10
- allocate dynamic grid (G010)          (AX032)   YAX1_30   ZAX1_20   TAX1_10
- eval    EX#1     C:  4 dset:   1 I:    3    6  J:    2    4  K:    1    2  L:    1    1
- allocate dynamic grid (G010)          (AX032)   YAX1_30   ZAX1_20   TAX1_10
- strip regrid on X: BIGVAR --> (G010)           @XACT
- rdstride BIGVAR   C:  7 dset:   1 I:    3    9  J:    2    4  K:    1    2  L:    1    1
- nulrgd  BIGVAR   M: 44 dset:   1 I:    1    4  J:    2    4  K:    1    2  L:    1    1
- -DELETE BIGVAR   M: 43 dset:   1 I:    3    9  J:    2    4  K:    1    2  L:    1    1
- dealloc  dynamic grid (G010)          (AX032)   YAX1_30   ZAX1_20   TAX1_10
+ dealloc  dynamic grid (G002)          (AX030)   YUNEVEN   ZAX1_6    TAX1_4
+ -DELETE UNE-NVAR M:173 dset:   1 I:      1      5  J:    1    1  K:    1    1  L:      1      1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G002)          (AX032)   YAX1_30   ZAX1_20   TAX1_10
+ dealloc  dynamic grid (G002)          (AX032)   YAX1_30   ZAX1_20   TAX1_10
+ allocate dynamic grid (G002)          (AX032)   YAX1_30   ZAX1_20   TAX1_10
+ eval    EX#1     C:  4 dset:   1 I:      3      6  J:    2    4  K:    1    2  L:      1      1
+ allocate dynamic grid (G002)          (AX032)   YAX1_30   ZAX1_20   TAX1_10
+ strip regrid on X: BIGVAR --> (G002)           @XACT
+ rdstride BIGVAR   C:  7 dset:   1 I:      3      9  J:    2    4  K:    1    2  L:      1      1
+ nulrgd  BIGVAR   M:179 dset:   1 I:      1      4  J:    2    4  K:    1    2  L:      1      1
+ -DELETE BIGVAR   M:173 dset:   1 I:      3      9  J:    2    4  K:    1    2  L:      1      1
+ dealloc  dynamic grid (G002)          (AX032)   YAX1_30   ZAX1_20   TAX1_10
              VARIABLE : VAR
                         regrid: 2 delta on X
              FILENAME : bn_strides.cdf
@@ -27620,19 +27503,19 @@ list bigvar[i=3:9:2]
  3   / 3:  1233.00  1235.00  1237.00  1239.00
  4   / 4:  1243.00  1245.00  1247.00  1249.00
 list bigvar[j=2:6:2]
- dealloc  dynamic grid (G010)          (AX032)   YAX1_30   ZAX1_20   TAX1_10
- -DELETE BIGVAR   M: 44 dset:   1 I:    1    4  J:    2    4  K:    1    2  L:    1    1
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G010)          XAX1_40   (AX030)   ZAX1_20   TAX1_10
- dealloc  dynamic grid (G010)          XAX1_40   (AX030)   ZAX1_20   TAX1_10
- allocate dynamic grid (G010)          XAX1_40   (AX030)   ZAX1_20   TAX1_10
- eval    EX#1     C:  4 dset:   1 I:    3    6  J:    2    4  K:    1    2  L:    1    1
- allocate dynamic grid (G010)          XAX1_40   (AX030)   ZAX1_20   TAX1_10
- strip regrid on Y: BIGVAR --> (G010)           @XACT
- rdstride BIGVAR   C:  7 dset:   1 I:    3    6  J:    2    6  K:    1    2  L:    1    1
- nulrgd  BIGVAR   M: 43 dset:   1 I:    3    6  J:    1    3  K:    1    2  L:    1    1
- -DELETE BIGVAR   M: 44 dset:   1 I:    3    6  J:    2    6  K:    1    2  L:    1    1
- dealloc  dynamic grid (G010)          XAX1_40   (AX030)   ZAX1_20   TAX1_10
+ dealloc  dynamic grid (G002)          (AX032)   YAX1_30   ZAX1_20   TAX1_10
+ -DELETE BIGVAR   M:179 dset:   1 I:      1      4  J:    2    4  K:    1    2  L:      1      1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G002)          XAX1_40   (AX030)   ZAX1_20   TAX1_10
+ dealloc  dynamic grid (G002)          XAX1_40   (AX030)   ZAX1_20   TAX1_10
+ allocate dynamic grid (G002)          XAX1_40   (AX030)   ZAX1_20   TAX1_10
+ eval    EX#1     C:  4 dset:   1 I:      3      6  J:    2    4  K:    1    2  L:      1      1
+ allocate dynamic grid (G002)          XAX1_40   (AX030)   ZAX1_20   TAX1_10
+ strip regrid on Y: BIGVAR --> (G002)           @XACT
+ rdstride BIGVAR   C:  7 dset:   1 I:      3      6  J:    2    6  K:    1    2  L:      1      1
+ nulrgd  BIGVAR   M:173 dset:   1 I:      3      6  J:    1    3  K:    1    2  L:      1      1
+ -DELETE BIGVAR   M:179 dset:   1 I:      3      6  J:    2    6  K:    1    2  L:      1      1
+ dealloc  dynamic grid (G002)          XAX1_40   (AX030)   ZAX1_20   TAX1_10
              VARIABLE : VAR
                         regrid: 2 delta on Y
              FILENAME : bn_strides.cdf
@@ -27649,19 +27532,19 @@ list bigvar[j=2:6:2]
  4   / 2:  1243.00  1244.00  1245.00  1246.00
  6   / 3:  1263.00  1264.00  1265.00  1266.00
 list bigvar[i=3:9:2, j=2:6:2, k=1:3:2]
- dealloc  dynamic grid (G010)          XAX1_40   (AX030)   ZAX1_20   TAX1_10
- -DELETE BIGVAR   M: 43 dset:   1 I:    3    6  J:    1    3  K:    1    2  L:    1    1
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G010)          (AX032)   (AX031)   (AX033)   TAX1_10
- dealloc  dynamic grid (G010)          (AX032)   (AX031)   (AX033)   TAX1_10
- allocate dynamic grid (G010)          (AX032)   (AX031)   (AX033)   TAX1_10
- eval    EX#1     C:  4 dset:   1 I:    3    6  J:    2    4  K:    1    2  L:    1    1
- allocate dynamic grid (G010)          (AX032)   (AX031)   (AX033)   TAX1_10
- strip regrid on X: BIGVAR --> (G010)           @XACT
- rdstride BIGVAR   C:  7 dset:   1 I:    3    9  J:    2    6  K:    1    3  L:    1    1
- nulrgd  BIGVAR   M: 44 dset:   1 I:    1    4  J:    1    3  K:    1    2  L:    1    1
- -DELETE BIGVAR   M: 43 dset:   1 I:    3    9  J:    2    6  K:    1    3  L:    1    1
- dealloc  dynamic grid (G010)          (AX032)   (AX031)   (AX033)   TAX1_10
+ dealloc  dynamic grid (G002)          XAX1_40   (AX030)   ZAX1_20   TAX1_10
+ -DELETE BIGVAR   M:173 dset:   1 I:      3      6  J:    1    3  K:    1    2  L:      1      1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G002)          (AX032)   (AX031)   (AX033)   TAX1_10
+ dealloc  dynamic grid (G002)          (AX032)   (AX031)   (AX033)   TAX1_10
+ allocate dynamic grid (G002)          (AX032)   (AX031)   (AX033)   TAX1_10
+ eval    EX#1     C:  4 dset:   1 I:      3      6  J:    2    4  K:    1    2  L:      1      1
+ allocate dynamic grid (G002)          (AX032)   (AX031)   (AX033)   TAX1_10
+ strip regrid on X: BIGVAR --> (G002)           @XACT
+ rdstride BIGVAR   C:  7 dset:   1 I:      3      9  J:    2    6  K:    1    3  L:      1      1
+ nulrgd  BIGVAR   M:179 dset:   1 I:      1      4  J:    1    3  K:    1    2  L:      1      1
+ -DELETE BIGVAR   M:173 dset:   1 I:      3      9  J:    2    6  K:    1    3  L:      1      1
+ dealloc  dynamic grid (G002)          (AX032)   (AX031)   (AX033)   TAX1_10
              VARIABLE : VAR
                         regrid: 2 delta on X, 2 delta on Y, 2 delta on Z
              FILENAME : bn_strides.cdf
@@ -27678,26 +27561,26 @@ list bigvar[i=3:9:2, j=2:6:2, k=1:3:2]
  4   / 2:  1343.00  1345.00  1347.00  1349.00
  6   / 3:  1363.00  1365.00  1367.00  1369.00
 canc data/all
- dealloc  dynamic grid (G010)          (AX032)   (AX031)   (AX033)   TAX1_10
- -DELETE BIGVAR   M: 44 dset:   1 I:    1    4  J:    1    3  K:    1    2  L:    1    1
- dealloc  dynamic grid (G018)          (AX029)   YUNEVEN   ZAX1_6    TAX1_4
+ dealloc  dynamic grid (G002)          (AX032)   (AX031)   (AX033)   TAX1_10
+ -DELETE BIGVAR   M:179 dset:   1 I:      1      4  J:    1    3  K:    1    2  L:      1      1
+ dealloc  dynamic grid (G011)          (AX029)   YUNEVEN   ZAX1_6    TAX1_4
  canceling dset ./bn_strides.cdf
- -DELETE UNE-NVAR M: 40 dset:   1 I:    1   10  J:    1    1  K:    1    1  L:    1    1
- -DELETE UNE-NVAR M: 52 dset:   1 I:    1    9  J:    1    1  K:    1    1  L:    1    1
+ -DELETE UNE-NVAR M:170 dset:   1 I:      1     10  J:    1    1  K:    1    1  L:      1      1
+ -DELETE UNE-NVAR M:180 dset:   1 I:      1      9  J:    1    1  K:    1    1  L:      1      1
  
 use/order=zyx bn_strides
 list bigvar[i=3:9:2]
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G018)          (AX033)   YAX1_30   XAX1_40   TAX1_10
- dealloc  dynamic grid (G018)          (AX033)   YAX1_30   XAX1_40   TAX1_10
- allocate dynamic grid (G018)          (AX033)   YAX1_30   XAX1_40   TAX1_10
- eval    EX#1     C:  4 dset:   1 I:    3    6  J:    2    4  K:    1    2  L:    1    1
- allocate dynamic grid (G018)          (AX033)   YAX1_30   XAX1_40   TAX1_10
- strip regrid on X: BIGVAR --> (G018)           @XACT
- rdstride BIGVAR   C:  7 dset:   1 I:    3    9  J:    2    4  K:    1    2  L:    1    1
- nulrgd  BIGVAR   M: 40 dset:   1 I:    1    4  J:    2    4  K:    1    2  L:    1    1
- -DELETE BIGVAR   M: 52 dset:   1 I:    3    9  J:    2    4  K:    1    2  L:    1    1
- dealloc  dynamic grid (G018)          (AX033)   YAX1_30   XAX1_40   TAX1_10
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G011)          (AX033)   YAX1_30   XAX1_40   TAX1_10
+ dealloc  dynamic grid (G011)          (AX033)   YAX1_30   XAX1_40   TAX1_10
+ allocate dynamic grid (G011)          (AX033)   YAX1_30   XAX1_40   TAX1_10
+ eval    EX#1     C:  4 dset:   1 I:      3      6  J:    2    4  K:    1    2  L:      1      1
+ allocate dynamic grid (G011)          (AX033)   YAX1_30   XAX1_40   TAX1_10
+ strip regrid on X: BIGVAR --> (G011)           @XACT
+ rdstride BIGVAR   C:  7 dset:   1 I:      3      9  J:    2    4  K:    1    2  L:      1      1
+ nulrgd  BIGVAR   M:170 dset:   1 I:      1      4  J:    2    4  K:    1    2  L:      1      1
+ -DELETE BIGVAR   M:180 dset:   1 I:      3      9  J:    2    4  K:    1    2  L:      1      1
+ dealloc  dynamic grid (G011)          (AX033)   YAX1_30   XAX1_40   TAX1_10
              VARIABLE : VAR
                         regrid: 2 delta on X
              FILENAME : bn_strides.cdf
@@ -27714,19 +27597,19 @@ list bigvar[i=3:9:2]
  3   / 3:  1332.00  1532.00  1732.00  1932.00
  4   / 4:  1342.00  1542.00  1742.00  1942.00
 list bigvar[j=2:6:2]
- dealloc  dynamic grid (G018)          (AX033)   YAX1_30   XAX1_40   TAX1_10
- -DELETE BIGVAR   M: 40 dset:   1 I:    1    4  J:    2    4  K:    1    2  L:    1    1
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G018)          ZAX1_20   (AX029)   XAX1_40   TAX1_10
- dealloc  dynamic grid (G018)          ZAX1_20   (AX029)   XAX1_40   TAX1_10
- allocate dynamic grid (G018)          ZAX1_20   (AX029)   XAX1_40   TAX1_10
- eval    EX#1     C:  4 dset:   1 I:    3    6  J:    2    4  K:    1    2  L:    1    1
- allocate dynamic grid (G018)          ZAX1_20   (AX029)   XAX1_40   TAX1_10
- strip regrid on Y: BIGVAR --> (G018)           @XACT
- rdstride BIGVAR   C:  7 dset:   1 I:    3    6  J:    2    6  K:    1    2  L:    1    1
- nulrgd  BIGVAR   M: 52 dset:   1 I:    3    6  J:    1    3  K:    1    2  L:    1    1
- -DELETE BIGVAR   M: 40 dset:   1 I:    3    6  J:    2    6  K:    1    2  L:    1    1
- dealloc  dynamic grid (G018)          ZAX1_20   (AX029)   XAX1_40   TAX1_10
+ dealloc  dynamic grid (G011)          (AX033)   YAX1_30   XAX1_40   TAX1_10
+ -DELETE BIGVAR   M:170 dset:   1 I:      1      4  J:    2    4  K:    1    2  L:      1      1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G011)          ZAX1_20   (AX029)   XAX1_40   TAX1_10
+ dealloc  dynamic grid (G011)          ZAX1_20   (AX029)   XAX1_40   TAX1_10
+ allocate dynamic grid (G011)          ZAX1_20   (AX029)   XAX1_40   TAX1_10
+ eval    EX#1     C:  4 dset:   1 I:      3      6  J:    2    4  K:    1    2  L:      1      1
+ allocate dynamic grid (G011)          ZAX1_20   (AX029)   XAX1_40   TAX1_10
+ strip regrid on Y: BIGVAR --> (G011)           @XACT
+ rdstride BIGVAR   C:  7 dset:   1 I:      3      6  J:    2    6  K:    1    2  L:      1      1
+ nulrgd  BIGVAR   M:180 dset:   1 I:      3      6  J:    1    3  K:    1    2  L:      1      1
+ -DELETE BIGVAR   M:170 dset:   1 I:      3      6  J:    2    6  K:    1    2  L:      1      1
+ dealloc  dynamic grid (G011)          ZAX1_20   (AX029)   XAX1_40   TAX1_10
              VARIABLE : VAR
                         regrid: 2 delta on Y
              FILENAME : bn_strides.cdf
@@ -27743,19 +27626,19 @@ list bigvar[j=2:6:2]
  4   / 2:  1342.00  1442.00  1542.00  1642.00
  6   / 3:  1362.00  1462.00  1562.00  1662.00
 list bigvar[i=3:9:2, j=2:6:2, k=1:3:2]
- dealloc  dynamic grid (G018)          ZAX1_20   (AX029)   XAX1_40   TAX1_10
- -DELETE BIGVAR   M: 52 dset:   1 I:    3    6  J:    1    3  K:    1    2  L:    1    1
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G018)          (AX033)   (AX031)   (AX032)   TAX1_10
- dealloc  dynamic grid (G018)          (AX033)   (AX031)   (AX032)   TAX1_10
- allocate dynamic grid (G018)          (AX033)   (AX031)   (AX032)   TAX1_10
- eval    EX#1     C:  4 dset:   1 I:    3    6  J:    2    4  K:    1    2  L:    1    1
- allocate dynamic grid (G018)          (AX033)   (AX031)   (AX032)   TAX1_10
- strip regrid on X: BIGVAR --> (G018)           @XACT
- rdstride BIGVAR   C:  7 dset:   1 I:    3    9  J:    2    6  K:    1    3  L:    1    1
- nulrgd  BIGVAR   M: 40 dset:   1 I:    1    4  J:    1    3  K:    1    2  L:    1    1
- -DELETE BIGVAR   M: 52 dset:   1 I:    3    9  J:    2    6  K:    1    3  L:    1    1
- dealloc  dynamic grid (G018)          (AX033)   (AX031)   (AX032)   TAX1_10
+ dealloc  dynamic grid (G011)          ZAX1_20   (AX029)   XAX1_40   TAX1_10
+ -DELETE BIGVAR   M:180 dset:   1 I:      3      6  J:    1    3  K:    1    2  L:      1      1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G011)          (AX033)   (AX031)   (AX032)   TAX1_10
+ dealloc  dynamic grid (G011)          (AX033)   (AX031)   (AX032)   TAX1_10
+ allocate dynamic grid (G011)          (AX033)   (AX031)   (AX032)   TAX1_10
+ eval    EX#1     C:  4 dset:   1 I:      3      6  J:    2    4  K:    1    2  L:      1      1
+ allocate dynamic grid (G011)          (AX033)   (AX031)   (AX032)   TAX1_10
+ strip regrid on X: BIGVAR --> (G011)           @XACT
+ rdstride BIGVAR   C:  7 dset:   1 I:      3      9  J:    2    6  K:    1    3  L:      1      1
+ nulrgd  BIGVAR   M:170 dset:   1 I:      1      4  J:    1    3  K:    1    2  L:      1      1
+ -DELETE BIGVAR   M:180 dset:   1 I:      3      9  J:    2    6  K:    1    3  L:      1      1
+ dealloc  dynamic grid (G011)          (AX033)   (AX031)   (AX032)   TAX1_10
              VARIABLE : VAR
                         regrid: 2 delta on X, 2 delta on Y, 2 delta on Z
              FILENAME : bn_strides.cdf
@@ -27772,23 +27655,23 @@ list bigvar[i=3:9:2, j=2:6:2, k=1:3:2]
  4   / 2:  1343.00  1543.00  1743.00  1943.00
  6   / 3:  1363.00  1563.00  1763.00  1963.00
 canc data/all
- dealloc  dynamic grid (G018)          (AX033)   (AX031)   (AX032)   TAX1_10
- -DELETE BIGVAR   M: 40 dset:   1 I:    1    4  J:    1    3  K:    1    2  L:    1    1
+ dealloc  dynamic grid (G011)          (AX033)   (AX031)   (AX032)   TAX1_10
+ -DELETE BIGVAR   M:170 dset:   1 I:      1      4  J:    1    3  K:    1    2  L:      1      1
  canceling dset ./bn_strides.cdf
  
 use/order=zxy bn_strides
 list bigvar[i=3:9:2]
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G018)          (AX031)   XAX1_40   YAX1_30   TAX1_10
- dealloc  dynamic grid (G018)          (AX031)   XAX1_40   YAX1_30   TAX1_10
- allocate dynamic grid (G018)          (AX031)   XAX1_40   YAX1_30   TAX1_10
- eval    EX#1     C:  4 dset:   1 I:    3    6  J:    2    4  K:    1    2  L:    1    1
- allocate dynamic grid (G018)          (AX031)   XAX1_40   YAX1_30   TAX1_10
- strip regrid on X: BIGVAR --> (G018)           @XACT
- rdstride BIGVAR   C:  7 dset:   1 I:    3    9  J:    2    4  K:    1    2  L:    1    1
- nulrgd  BIGVAR   M: 52 dset:   1 I:    1    4  J:    2    4  K:    1    2  L:    1    1
- -DELETE BIGVAR   M: 40 dset:   1 I:    3    9  J:    2    4  K:    1    2  L:    1    1
- dealloc  dynamic grid (G018)          (AX031)   XAX1_40   YAX1_30   TAX1_10
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G011)          (AX031)   XAX1_40   YAX1_30   TAX1_10
+ dealloc  dynamic grid (G011)          (AX031)   XAX1_40   YAX1_30   TAX1_10
+ allocate dynamic grid (G011)          (AX031)   XAX1_40   YAX1_30   TAX1_10
+ eval    EX#1     C:  4 dset:   1 I:      3      6  J:    2    4  K:    1    2  L:      1      1
+ allocate dynamic grid (G011)          (AX031)   XAX1_40   YAX1_30   TAX1_10
+ strip regrid on X: BIGVAR --> (G011)           @XACT
+ rdstride BIGVAR   C:  7 dset:   1 I:      3      9  J:    2    4  K:    1    2  L:      1      1
+ nulrgd  BIGVAR   M:180 dset:   1 I:      1      4  J:    2    4  K:    1    2  L:      1      1
+ -DELETE BIGVAR   M:170 dset:   1 I:      3      9  J:    2    4  K:    1    2  L:      1      1
+ dealloc  dynamic grid (G011)          (AX031)   XAX1_40   YAX1_30   TAX1_10
              VARIABLE : VAR
                         regrid: 2 delta on X
              FILENAME : bn_strides.cdf
@@ -27805,19 +27688,19 @@ list bigvar[i=3:9:2]
  3   / 3:  1323.00  1523.00  1723.00  1923.00
  4   / 4:  1324.00  1524.00  1724.00  1924.00
 list bigvar[j=2:6:2]
- dealloc  dynamic grid (G018)          (AX031)   XAX1_40   YAX1_30   TAX1_10
- -DELETE BIGVAR   M: 52 dset:   1 I:    1    4  J:    2    4  K:    1    2  L:    1    1
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G018)          ZAX1_20   (AX032)   YAX1_30   TAX1_10
- dealloc  dynamic grid (G018)          ZAX1_20   (AX032)   YAX1_30   TAX1_10
- allocate dynamic grid (G018)          ZAX1_20   (AX032)   YAX1_30   TAX1_10
- eval    EX#1     C:  4 dset:   1 I:    3    6  J:    2    4  K:    1    2  L:    1    1
- allocate dynamic grid (G018)          ZAX1_20   (AX032)   YAX1_30   TAX1_10
- strip regrid on Y: BIGVAR --> (G018)           @XACT
- rdstride BIGVAR   C:  7 dset:   1 I:    3    6  J:    2    6  K:    1    2  L:    1    1
- nulrgd  BIGVAR   M: 40 dset:   1 I:    3    6  J:    1    3  K:    1    2  L:    1    1
- -DELETE BIGVAR   M: 52 dset:   1 I:    3    6  J:    2    6  K:    1    2  L:    1    1
- dealloc  dynamic grid (G018)          ZAX1_20   (AX032)   YAX1_30   TAX1_10
+ dealloc  dynamic grid (G011)          (AX031)   XAX1_40   YAX1_30   TAX1_10
+ -DELETE BIGVAR   M:180 dset:   1 I:      1      4  J:    2    4  K:    1    2  L:      1      1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G011)          ZAX1_20   (AX032)   YAX1_30   TAX1_10
+ dealloc  dynamic grid (G011)          ZAX1_20   (AX032)   YAX1_30   TAX1_10
+ allocate dynamic grid (G011)          ZAX1_20   (AX032)   YAX1_30   TAX1_10
+ eval    EX#1     C:  4 dset:   1 I:      3      6  J:    2    4  K:    1    2  L:      1      1
+ allocate dynamic grid (G011)          ZAX1_20   (AX032)   YAX1_30   TAX1_10
+ strip regrid on Y: BIGVAR --> (G011)           @XACT
+ rdstride BIGVAR   C:  7 dset:   1 I:      3      6  J:    2    6  K:    1    2  L:      1      1
+ nulrgd  BIGVAR   M:170 dset:   1 I:      3      6  J:    1    3  K:    1    2  L:      1      1
+ -DELETE BIGVAR   M:180 dset:   1 I:      3      6  J:    2    6  K:    1    2  L:      1      1
+ dealloc  dynamic grid (G011)          ZAX1_20   (AX032)   YAX1_30   TAX1_10
              VARIABLE : VAR
                         regrid: 2 delta on Y
              FILENAME : bn_strides.cdf
@@ -27834,19 +27717,19 @@ list bigvar[j=2:6:2]
  4   / 2:  1324.00  1424.00  1524.00  1624.00
  6   / 3:  1326.00  1426.00  1526.00  1626.00
 list bigvar[i=3:9:2, j=2:6:2, k=1:3:2]
- dealloc  dynamic grid (G018)          ZAX1_20   (AX032)   YAX1_30   TAX1_10
- -DELETE BIGVAR   M: 40 dset:   1 I:    3    6  J:    1    3  K:    1    2  L:    1    1
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G018)          (AX031)   (AX033)   (AX029)   TAX1_10
- dealloc  dynamic grid (G018)          (AX031)   (AX033)   (AX029)   TAX1_10
- allocate dynamic grid (G018)          (AX031)   (AX033)   (AX029)   TAX1_10
- eval    EX#1     C:  4 dset:   1 I:    3    6  J:    2    4  K:    1    2  L:    1    1
- allocate dynamic grid (G018)          (AX031)   (AX033)   (AX029)   TAX1_10
- strip regrid on X: BIGVAR --> (G018)           @XACT
- rdstride BIGVAR   C:  7 dset:   1 I:    3    9  J:    2    6  K:    1    3  L:    1    1
- nulrgd  BIGVAR   M: 52 dset:   1 I:    1    4  J:    1    3  K:    1    2  L:    1    1
- -DELETE BIGVAR   M: 40 dset:   1 I:    3    9  J:    2    6  K:    1    3  L:    1    1
- dealloc  dynamic grid (G018)          (AX031)   (AX033)   (AX029)   TAX1_10
+ dealloc  dynamic grid (G011)          ZAX1_20   (AX032)   YAX1_30   TAX1_10
+ -DELETE BIGVAR   M:170 dset:   1 I:      3      6  J:    1    3  K:    1    2  L:      1      1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G011)          (AX031)   (AX033)   (AX029)   TAX1_10
+ dealloc  dynamic grid (G011)          (AX031)   (AX033)   (AX029)   TAX1_10
+ allocate dynamic grid (G011)          (AX031)   (AX033)   (AX029)   TAX1_10
+ eval    EX#1     C:  4 dset:   1 I:      3      6  J:    2    4  K:    1    2  L:      1      1
+ allocate dynamic grid (G011)          (AX031)   (AX033)   (AX029)   TAX1_10
+ strip regrid on X: BIGVAR --> (G011)           @XACT
+ rdstride BIGVAR   C:  7 dset:   1 I:      3      9  J:    2    6  K:    1    3  L:      1      1
+ nulrgd  BIGVAR   M:180 dset:   1 I:      1      4  J:    1    3  K:    1    2  L:      1      1
+ -DELETE BIGVAR   M:170 dset:   1 I:      3      9  J:    2    6  K:    1    3  L:      1      1
+ dealloc  dynamic grid (G011)          (AX031)   (AX033)   (AX029)   TAX1_10
              VARIABLE : VAR
                         regrid: 2 delta on X, 2 delta on Y, 2 delta on Z
              FILENAME : bn_strides.cdf
@@ -27863,8 +27746,8 @@ list bigvar[i=3:9:2, j=2:6:2, k=1:3:2]
  4   / 2:  1334.00  1534.00  1734.00  1934.00
  6   / 3:  1336.00  1536.00  1736.00  1936.00
 canc data/all
- dealloc  dynamic grid (G018)          (AX031)   (AX033)   (AX029)   TAX1_10
- -DELETE BIGVAR   M: 52 dset:   1 I:    1    4  J:    1    3  K:    1    2  L:    1    1
+ dealloc  dynamic grid (G011)          (AX031)   (AX033)   (AX029)   TAX1_10
+ -DELETE BIGVAR   M:180 dset:   1 I:      1      4  J:    1    3  K:    1    2  L:      1      1
  canceling dset ./bn_strides.cdf
  
 ! now with xytvar
@@ -27872,7 +27755,7 @@ cancel region
 set region/i=1:4/j=1:3/l=1:2
 use bn_strides
 show grid xytvar
- getgrid EX#1     C:  6 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  6 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GPC5            XLON      YLAT      NORMAL    TTIME
     GRID GPC5
  name       axis              # pts   start                end                 subset
@@ -27882,17 +27765,17 @@ show grid xytvar
  TTIME     TIME                20 r   01-JAN-1995 00:00    20-JAN-1995 00:00   full
 list xytvar[i=1:7:2]
  dealloc  dynamic grid GPC5            XLON      YLAT      NORMAL    TTIME
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G018)          (AX033)   YLAT      NORMAL    TTIME
- dealloc  dynamic grid (G018)          (AX033)   YLAT      NORMAL    TTIME
- allocate dynamic grid (G018)          (AX033)   YLAT      NORMAL    TTIME
- eval    EX#1     C:  4 dset:   1 I:    1    4  J:    1    3  K: -999 -999  L:    1    2
- allocate dynamic grid (G018)          (AX033)   YLAT      NORMAL    TTIME
- strip regrid on X: XYTVAR --> (G018)           @XACT
- rdstride XYTVAR   C:  7 dset:   1 I:    1    7  J:    1    3  K: -999 -999  L:    1    2
- nulrgd  XYTVAR   M: 40 dset:   1 I:    1    4  J:    1    3  K: -999 -999  L:    1    2
- -DELETE XYTVAR   M: 52 dset:   1 I:    1    7  J:    1    3  K: -999 -999  L:    1    2
- dealloc  dynamic grid (G018)          (AX033)   YLAT      NORMAL    TTIME
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G011)          (AX033)   YLAT      NORMAL    TTIME
+ dealloc  dynamic grid (G011)          (AX033)   YLAT      NORMAL    TTIME
+ allocate dynamic grid (G011)          (AX033)   YLAT      NORMAL    TTIME
+ eval    EX#1     C:  4 dset:   1 I:      1      4  J:    1    3  K: -999 -999  L:      1      2
+ allocate dynamic grid (G011)          (AX033)   YLAT      NORMAL    TTIME
+ strip regrid on X: XYTVAR --> (G011)           @XACT
+ rdstride XYTVAR   C:  7 dset:   1 I:      1      7  J:    1    3  K: -999 -999  L:      1      2
+ nulrgd  XYTVAR   M:170 dset:   1 I:      1      4  J:    1    3  K: -999 -999  L:      1      2
+ -DELETE XYTVAR   M:180 dset:   1 I:      1      7  J:    1    3  K: -999 -999  L:      1      2
+ dealloc  dynamic grid (G011)          (AX033)   YLAT      NORMAL    TTIME
              VARIABLE : L*1000 + J*10 + I
                         regrid: 2 deg on X
              FILENAME : bn_strides.cdf
@@ -27908,19 +27791,19 @@ list xytvar[i=1:7:2]
  2N   / 2:  2021.00  2023.00  2025.00  2027.00
  1N   / 1:  2011.00  2013.00  2015.00  2017.00
 list xytvar[j=2:6:2]
- dealloc  dynamic grid (G018)          (AX033)   YLAT      NORMAL    TTIME
- -DELETE XYTVAR   M: 40 dset:   1 I:    1    4  J:    1    3  K: -999 -999  L:    1    2
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G018)          XLON      (AX029)   NORMAL    TTIME
- dealloc  dynamic grid (G018)          XLON      (AX029)   NORMAL    TTIME
- allocate dynamic grid (G018)          XLON      (AX029)   NORMAL    TTIME
- eval    EX#1     C:  4 dset:   1 I:    1    4  J:    1    3  K: -999 -999  L:    1    2
- allocate dynamic grid (G018)          XLON      (AX029)   NORMAL    TTIME
- strip regrid on Y: XYTVAR --> (G018)           @XACT
- rdstride XYTVAR   C:  7 dset:   1 I:    1    4  J:    2    6  K: -999 -999  L:    1    2
- nulrgd  XYTVAR   M: 52 dset:   1 I:    1    4  J:    1    3  K: -999 -999  L:    1    2
- -DELETE XYTVAR   M: 40 dset:   1 I:    1    4  J:    2    6  K: -999 -999  L:    1    2
- dealloc  dynamic grid (G018)          XLON      (AX029)   NORMAL    TTIME
+ dealloc  dynamic grid (G011)          (AX033)   YLAT      NORMAL    TTIME
+ -DELETE XYTVAR   M:170 dset:   1 I:      1      4  J:    1    3  K: -999 -999  L:      1      2
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G011)          XLON      (AX029)   NORMAL    TTIME
+ dealloc  dynamic grid (G011)          XLON      (AX029)   NORMAL    TTIME
+ allocate dynamic grid (G011)          XLON      (AX029)   NORMAL    TTIME
+ eval    EX#1     C:  4 dset:   1 I:      1      4  J:    1    3  K: -999 -999  L:      1      2
+ allocate dynamic grid (G011)          XLON      (AX029)   NORMAL    TTIME
+ strip regrid on Y: XYTVAR --> (G011)           @XACT
+ rdstride XYTVAR   C:  7 dset:   1 I:      1      4  J:    2    6  K: -999 -999  L:      1      2
+ nulrgd  XYTVAR   M:180 dset:   1 I:      1      4  J:    1    3  K: -999 -999  L:      1      2
+ -DELETE XYTVAR   M:170 dset:   1 I:      1      4  J:    2    6  K: -999 -999  L:      1      2
+ dealloc  dynamic grid (G011)          XLON      (AX029)   NORMAL    TTIME
              VARIABLE : L*1000 + J*10 + I
                         regrid: 2 deg on Y
              FILENAME : bn_strides.cdf
@@ -27936,19 +27819,19 @@ list xytvar[j=2:6:2]
  4N   / 2:  2041.00  2042.00  2043.00  2044.00
  2N   / 1:  2021.00  2022.00  2023.00  2024.00
 list xytvar[i=1:7:2,j=2:6:2,l=3:5:2]
- dealloc  dynamic grid (G018)          XLON      (AX029)   NORMAL    TTIME
- -DELETE XYTVAR   M: 52 dset:   1 I:    1    4  J:    1    3  K: -999 -999  L:    1    2
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G018)          (AX033)   (AX031)   NORMAL    (AX032)
- dealloc  dynamic grid (G018)          (AX033)   (AX031)   NORMAL    (AX032)
- allocate dynamic grid (G018)          (AX033)   (AX031)   NORMAL    (AX032)
- eval    EX#1     C:  4 dset:   1 I:    1    4  J:    1    3  K: -999 -999  L:    1    2
- allocate dynamic grid (G018)          (AX033)   (AX031)   NORMAL    (AX032)
- strip regrid on X: XYTVAR --> (G018)           @XACT
- rdstride XYTVAR   C:  7 dset:   1 I:    1    7  J:    2    6  K: -999 -999  L:    3    5
- nulrgd  XYTVAR   M: 40 dset:   1 I:    1    4  J:    1    3  K: -999 -999  L:    1    2
- -DELETE XYTVAR   M: 52 dset:   1 I:    1    7  J:    2    6  K: -999 -999  L:    3    5
- dealloc  dynamic grid (G018)          (AX033)   (AX031)   NORMAL    (AX032)
+ dealloc  dynamic grid (G011)          XLON      (AX029)   NORMAL    TTIME
+ -DELETE XYTVAR   M:180 dset:   1 I:      1      4  J:    1    3  K: -999 -999  L:      1      2
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G011)          (AX033)   (AX031)   NORMAL    (AX032)
+ dealloc  dynamic grid (G011)          (AX033)   (AX031)   NORMAL    (AX032)
+ allocate dynamic grid (G011)          (AX033)   (AX031)   NORMAL    (AX032)
+ eval    EX#1     C:  4 dset:   1 I:      1      4  J:    1    3  K: -999 -999  L:      1      2
+ allocate dynamic grid (G011)          (AX033)   (AX031)   NORMAL    (AX032)
+ strip regrid on X: XYTVAR --> (G011)           @XACT
+ rdstride XYTVAR   C:  7 dset:   1 I:      1      7  J:    2    6  K: -999 -999  L:      3      5
+ nulrgd  XYTVAR   M:170 dset:   1 I:      1      4  J:    1    3  K: -999 -999  L:      1      2
+ -DELETE XYTVAR   M:180 dset:   1 I:      1      7  J:    2    6  K: -999 -999  L:      3      5
+ dealloc  dynamic grid (G011)          (AX033)   (AX031)   NORMAL    (AX032)
              VARIABLE : L*1000 + J*10 + I
                         regrid: 2 deg on X, 2 deg on Y, 2 day on T
              FILENAME : bn_strides.cdf
@@ -27964,13 +27847,13 @@ list xytvar[i=1:7:2,j=2:6:2,l=3:5:2]
  4N   / 2:  5041.00  5043.00  5045.00  5047.00
  2N   / 1:  5021.00  5023.00  5025.00  5027.00
 canc data/all
- dealloc  dynamic grid (G018)          (AX033)   (AX031)   NORMAL    (AX032)
- -DELETE XYTVAR   M: 40 dset:   1 I:    1    4  J:    1    3  K: -999 -999  L:    1    2
+ dealloc  dynamic grid (G011)          (AX033)   (AX031)   NORMAL    (AX032)
+ -DELETE XYTVAR   M:170 dset:   1 I:      1      4  J:    1    3  K: -999 -999  L:      1      2
  canceling dset ./bn_strides.cdf
  
 use/order=yx bn_strides
 show grid xytvar
- getgrid EX#1     C:  7 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  7 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GPC5            YLAT      XLON      NORMAL    TTIME
     GRID GPC5
  name       axis              # pts   start                end                 subset
@@ -27980,17 +27863,17 @@ show grid xytvar
  TTIME     TIME                20 r   01-JAN-1995 00:00    20-JAN-1995 00:00   full
 list xytvar[i=1:7:2]
  dealloc  dynamic grid GPC5            YLAT      XLON      NORMAL    TTIME
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G018)          (AX031)   XLON      NORMAL    TTIME
- dealloc  dynamic grid (G018)          (AX031)   XLON      NORMAL    TTIME
- allocate dynamic grid (G018)          (AX031)   XLON      NORMAL    TTIME
- eval    EX#1     C:  4 dset:   1 I:    1    4  J:    1    3  K: -999 -999  L:    1    2
- allocate dynamic grid (G018)          (AX031)   XLON      NORMAL    TTIME
- strip regrid on X: XYTVAR --> (G018)           @XACT
- rdstride XYTVAR   C:  7 dset:   1 I:    1    7  J:    1    3  K: -999 -999  L:    1    2
- nulrgd  XYTVAR   M: 52 dset:   1 I:    1    4  J:    1    3  K: -999 -999  L:    1    2
- -DELETE XYTVAR   M: 40 dset:   1 I:    1    7  J:    1    3  K: -999 -999  L:    1    2
- dealloc  dynamic grid (G018)          (AX031)   XLON      NORMAL    TTIME
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G011)          (AX031)   XLON      NORMAL    TTIME
+ dealloc  dynamic grid (G011)          (AX031)   XLON      NORMAL    TTIME
+ allocate dynamic grid (G011)          (AX031)   XLON      NORMAL    TTIME
+ eval    EX#1     C:  4 dset:   1 I:      1      4  J:    1    3  K: -999 -999  L:      1      2
+ allocate dynamic grid (G011)          (AX031)   XLON      NORMAL    TTIME
+ strip regrid on X: XYTVAR --> (G011)           @XACT
+ rdstride XYTVAR   C:  7 dset:   1 I:      1      7  J:    1    3  K: -999 -999  L:      1      2
+ nulrgd  XYTVAR   M:180 dset:   1 I:      1      4  J:    1    3  K: -999 -999  L:      1      2
+ -DELETE XYTVAR   M:170 dset:   1 I:      1      7  J:    1    3  K: -999 -999  L:      1      2
+ dealloc  dynamic grid (G011)          (AX031)   XLON      NORMAL    TTIME
              VARIABLE : L*1000 + J*10 + I
                         regrid: 2 deg on X
              FILENAME : bn_strides.cdf
@@ -28006,19 +27889,19 @@ list xytvar[i=1:7:2]
  142   / 2:  2012.00  2032.00  2052.00  2072.00
  143   / 3:  2013.00  2033.00  2053.00  2073.00
 list xytvar[j=2:6:2]
- dealloc  dynamic grid (G018)          (AX031)   XLON      NORMAL    TTIME
- -DELETE XYTVAR   M: 52 dset:   1 I:    1    4  J:    1    3  K: -999 -999  L:    1    2
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G018)          YLAT      (AX032)   NORMAL    TTIME
- dealloc  dynamic grid (G018)          YLAT      (AX032)   NORMAL    TTIME
- allocate dynamic grid (G018)          YLAT      (AX032)   NORMAL    TTIME
- eval    EX#1     C:  4 dset:   1 I:    1    4  J:    1    3  K: -999 -999  L:    1    2
- allocate dynamic grid (G018)          YLAT      (AX032)   NORMAL    TTIME
- strip regrid on Y: XYTVAR --> (G018)           @XACT
- rdstride XYTVAR   C:  7 dset:   1 I:    1    4  J:    2    6  K: -999 -999  L:    1    2
- nulrgd  XYTVAR   M: 40 dset:   1 I:    1    4  J:    1    3  K: -999 -999  L:    1    2
- -DELETE XYTVAR   M: 52 dset:   1 I:    1    4  J:    2    6  K: -999 -999  L:    1    2
- dealloc  dynamic grid (G018)          YLAT      (AX032)   NORMAL    TTIME
+ dealloc  dynamic grid (G011)          (AX031)   XLON      NORMAL    TTIME
+ -DELETE XYTVAR   M:180 dset:   1 I:      1      4  J:    1    3  K: -999 -999  L:      1      2
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G011)          YLAT      (AX032)   NORMAL    TTIME
+ dealloc  dynamic grid (G011)          YLAT      (AX032)   NORMAL    TTIME
+ allocate dynamic grid (G011)          YLAT      (AX032)   NORMAL    TTIME
+ eval    EX#1     C:  4 dset:   1 I:      1      4  J:    1    3  K: -999 -999  L:      1      2
+ allocate dynamic grid (G011)          YLAT      (AX032)   NORMAL    TTIME
+ strip regrid on Y: XYTVAR --> (G011)           @XACT
+ rdstride XYTVAR   C:  7 dset:   1 I:      1      4  J:    2    6  K: -999 -999  L:      1      2
+ nulrgd  XYTVAR   M:170 dset:   1 I:      1      4  J:    1    3  K: -999 -999  L:      1      2
+ -DELETE XYTVAR   M:180 dset:   1 I:      1      4  J:    2    6  K: -999 -999  L:      1      2
+ dealloc  dynamic grid (G011)          YLAT      (AX032)   NORMAL    TTIME
              VARIABLE : L*1000 + J*10 + I
                         regrid: 2 deg on Y
              FILENAME : bn_strides.cdf
@@ -28034,19 +27917,19 @@ list xytvar[j=2:6:2]
  144   / 2:  2014.00  2024.00  2034.00  2044.00
  146   / 3:  2016.00  2026.00  2036.00  2046.00
 list xytvar[i=1:7:2,j=2:6:2,l=3:5:2]
- dealloc  dynamic grid (G018)          YLAT      (AX032)   NORMAL    TTIME
- -DELETE XYTVAR   M: 40 dset:   1 I:    1    4  J:    1    3  K: -999 -999  L:    1    2
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G018)          (AX031)   (AX033)   NORMAL    (AX029)
- dealloc  dynamic grid (G018)          (AX031)   (AX033)   NORMAL    (AX029)
- allocate dynamic grid (G018)          (AX031)   (AX033)   NORMAL    (AX029)
- eval    EX#1     C:  4 dset:   1 I:    1    4  J:    1    3  K: -999 -999  L:    1    2
- allocate dynamic grid (G018)          (AX031)   (AX033)   NORMAL    (AX029)
- strip regrid on X: XYTVAR --> (G018)           @XACT
- rdstride XYTVAR   C:  7 dset:   1 I:    1    7  J:    2    6  K: -999 -999  L:    3    5
- nulrgd  XYTVAR   M: 52 dset:   1 I:    1    4  J:    1    3  K: -999 -999  L:    1    2
- -DELETE XYTVAR   M: 40 dset:   1 I:    1    7  J:    2    6  K: -999 -999  L:    3    5
- dealloc  dynamic grid (G018)          (AX031)   (AX033)   NORMAL    (AX029)
+ dealloc  dynamic grid (G011)          YLAT      (AX032)   NORMAL    TTIME
+ -DELETE XYTVAR   M:170 dset:   1 I:      1      4  J:    1    3  K: -999 -999  L:      1      2
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G011)          (AX031)   (AX033)   NORMAL    (AX029)
+ dealloc  dynamic grid (G011)          (AX031)   (AX033)   NORMAL    (AX029)
+ allocate dynamic grid (G011)          (AX031)   (AX033)   NORMAL    (AX029)
+ eval    EX#1     C:  4 dset:   1 I:      1      4  J:    1    3  K: -999 -999  L:      1      2
+ allocate dynamic grid (G011)          (AX031)   (AX033)   NORMAL    (AX029)
+ strip regrid on X: XYTVAR --> (G011)           @XACT
+ rdstride XYTVAR   C:  7 dset:   1 I:      1      7  J:    2    6  K: -999 -999  L:      3      5
+ nulrgd  XYTVAR   M:180 dset:   1 I:      1      4  J:    1    3  K: -999 -999  L:      1      2
+ -DELETE XYTVAR   M:170 dset:   1 I:      1      7  J:    2    6  K: -999 -999  L:      3      5
+ dealloc  dynamic grid (G011)          (AX031)   (AX033)   NORMAL    (AX029)
              VARIABLE : L*1000 + J*10 + I
                         regrid: 2 deg on X, 2 deg on Y, 2 day on T
              FILENAME : bn_strides.cdf
@@ -28062,13 +27945,13 @@ list xytvar[i=1:7:2,j=2:6:2,l=3:5:2]
  144   / 2:  5014.00  5034.00  5054.00  5074.00
  146   / 3:  5016.00  5036.00  5056.00  5076.00
 canc data/all
- dealloc  dynamic grid (G018)          (AX031)   (AX033)   NORMAL    (AX029)
- -DELETE XYTVAR   M: 52 dset:   1 I:    1    4  J:    1    3  K: -999 -999  L:    1    2
+ dealloc  dynamic grid (G011)          (AX031)   (AX033)   NORMAL    (AX029)
+ -DELETE XYTVAR   M:180 dset:   1 I:      1      4  J:    1    3  K: -999 -999  L:      1      2
  canceling dset ./bn_strides.cdf
  
 use/order=tyx bn_strides
 show grid xytvar
- getgrid EX#1     C:  7 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  7 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GPC5            TTIME     YLAT      NORMAL    XLON
     GRID GPC5
  name       axis              # pts   start                end                 subset
@@ -28078,17 +27961,17 @@ show grid xytvar
  XLON      T (degrees_east)    40mr   141                  180                 full
 list xytvar[i=1:7:2]
  dealloc  dynamic grid GPC5            TTIME     YLAT      NORMAL    XLON
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G018)          (AX033)   YLAT      NORMAL    XLON
- dealloc  dynamic grid (G018)          (AX033)   YLAT      NORMAL    XLON
- allocate dynamic grid (G018)          (AX033)   YLAT      NORMAL    XLON
- eval    EX#1     C:  4 dset:   1 I:    1    4  J:    1    3  K: -999 -999  L:    1    2
- allocate dynamic grid (G018)          (AX033)   YLAT      NORMAL    XLON
- strip regrid on X: XYTVAR --> (G018)           @XACT
- rdstride XYTVAR   C:  7 dset:   1 I:    1    7  J:    1    3  K: -999 -999  L:    1    2
- nulrgd  XYTVAR   M: 40 dset:   1 I:    1    4  J:    1    3  K: -999 -999  L:    1    2
- -DELETE XYTVAR   M: 52 dset:   1 I:    1    7  J:    1    3  K: -999 -999  L:    1    2
- dealloc  dynamic grid (G018)          (AX033)   YLAT      NORMAL    XLON
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G011)          (AX033)   YLAT      NORMAL    XLON
+ dealloc  dynamic grid (G011)          (AX033)   YLAT      NORMAL    XLON
+ allocate dynamic grid (G011)          (AX033)   YLAT      NORMAL    XLON
+ eval    EX#1     C:  4 dset:   1 I:      1      4  J:    1    3  K: -999 -999  L:      1      2
+ allocate dynamic grid (G011)          (AX033)   YLAT      NORMAL    XLON
+ strip regrid on X: XYTVAR --> (G011)           @XACT
+ rdstride XYTVAR   C:  7 dset:   1 I:      1      7  J:    1    3  K: -999 -999  L:      1      2
+ nulrgd  XYTVAR   M:170 dset:   1 I:      1      4  J:    1    3  K: -999 -999  L:      1      2
+ -DELETE XYTVAR   M:180 dset:   1 I:      1      7  J:    1    3  K: -999 -999  L:      1      2
+ dealloc  dynamic grid (G011)          (AX033)   YLAT      NORMAL    XLON
              VARIABLE : L*1000 + J*10 + I
                         regrid: 2 day on X
              FILENAME : bn_strides.cdf
@@ -28104,19 +27987,19 @@ list xytvar[i=1:7:2]
  2N   / 2:  1022.00  3022.00  5022.00  7022.00
  1N   / 1:  1012.00  3012.00  5012.00  7012.00
 list xytvar[j=2:6:2]
- dealloc  dynamic grid (G018)          (AX033)   YLAT      NORMAL    XLON
- -DELETE XYTVAR   M: 40 dset:   1 I:    1    4  J:    1    3  K: -999 -999  L:    1    2
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G018)          TTIME     (AX029)   NORMAL    XLON
- dealloc  dynamic grid (G018)          TTIME     (AX029)   NORMAL    XLON
- allocate dynamic grid (G018)          TTIME     (AX029)   NORMAL    XLON
- eval    EX#1     C:  4 dset:   1 I:    1    4  J:    1    3  K: -999 -999  L:    1    2
- allocate dynamic grid (G018)          TTIME     (AX029)   NORMAL    XLON
- strip regrid on Y: XYTVAR --> (G018)           @XACT
- rdstride XYTVAR   C:  7 dset:   1 I:    1    4  J:    2    6  K: -999 -999  L:    1    2
- nulrgd  XYTVAR   M: 52 dset:   1 I:    1    4  J:    1    3  K: -999 -999  L:    1    2
- -DELETE XYTVAR   M: 40 dset:   1 I:    1    4  J:    2    6  K: -999 -999  L:    1    2
- dealloc  dynamic grid (G018)          TTIME     (AX029)   NORMAL    XLON
+ dealloc  dynamic grid (G011)          (AX033)   YLAT      NORMAL    XLON
+ -DELETE XYTVAR   M:170 dset:   1 I:      1      4  J:    1    3  K: -999 -999  L:      1      2
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G011)          TTIME     (AX029)   NORMAL    XLON
+ dealloc  dynamic grid (G011)          TTIME     (AX029)   NORMAL    XLON
+ allocate dynamic grid (G011)          TTIME     (AX029)   NORMAL    XLON
+ eval    EX#1     C:  4 dset:   1 I:      1      4  J:    1    3  K: -999 -999  L:      1      2
+ allocate dynamic grid (G011)          TTIME     (AX029)   NORMAL    XLON
+ strip regrid on Y: XYTVAR --> (G011)           @XACT
+ rdstride XYTVAR   C:  7 dset:   1 I:      1      4  J:    2    6  K: -999 -999  L:      1      2
+ nulrgd  XYTVAR   M:180 dset:   1 I:      1      4  J:    1    3  K: -999 -999  L:      1      2
+ -DELETE XYTVAR   M:170 dset:   1 I:      1      4  J:    2    6  K: -999 -999  L:      1      2
+ dealloc  dynamic grid (G011)          TTIME     (AX029)   NORMAL    XLON
              VARIABLE : L*1000 + J*10 + I
                         regrid: 2 deg on Y
              FILENAME : bn_strides.cdf
@@ -28132,19 +28015,19 @@ list xytvar[j=2:6:2]
  4N   / 2:  1042.00  2042.00  3042.00  4042.00
  2N   / 1:  1022.00  2022.00  3022.00  4022.00
 list xytvar[i=1:7:2,j=2:6:2,l=3:5:2]
- dealloc  dynamic grid (G018)          TTIME     (AX029)   NORMAL    XLON
- -DELETE XYTVAR   M: 52 dset:   1 I:    1    4  J:    1    3  K: -999 -999  L:    1    2
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G018)          (AX033)   (AX031)   NORMAL    (AX032)
- dealloc  dynamic grid (G018)          (AX033)   (AX031)   NORMAL    (AX032)
- allocate dynamic grid (G018)          (AX033)   (AX031)   NORMAL    (AX032)
- eval    EX#1     C:  4 dset:   1 I:    1    4  J:    1    3  K: -999 -999  L:    1    2
- allocate dynamic grid (G018)          (AX033)   (AX031)   NORMAL    (AX032)
- strip regrid on X: XYTVAR --> (G018)           @XACT
- rdstride XYTVAR   C:  7 dset:   1 I:    1    7  J:    2    6  K: -999 -999  L:    3    5
- nulrgd  XYTVAR   M: 40 dset:   1 I:    1    4  J:    1    3  K: -999 -999  L:    1    2
- -DELETE XYTVAR   M: 52 dset:   1 I:    1    7  J:    2    6  K: -999 -999  L:    3    5
- dealloc  dynamic grid (G018)          (AX033)   (AX031)   NORMAL    (AX032)
+ dealloc  dynamic grid (G011)          TTIME     (AX029)   NORMAL    XLON
+ -DELETE XYTVAR   M:180 dset:   1 I:      1      4  J:    1    3  K: -999 -999  L:      1      2
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G011)          (AX033)   (AX031)   NORMAL    (AX032)
+ dealloc  dynamic grid (G011)          (AX033)   (AX031)   NORMAL    (AX032)
+ allocate dynamic grid (G011)          (AX033)   (AX031)   NORMAL    (AX032)
+ eval    EX#1     C:  4 dset:   1 I:      1      4  J:    1    3  K: -999 -999  L:      1      2
+ allocate dynamic grid (G011)          (AX033)   (AX031)   NORMAL    (AX032)
+ strip regrid on X: XYTVAR --> (G011)           @XACT
+ rdstride XYTVAR   C:  7 dset:   1 I:      1      7  J:    2    6  K: -999 -999  L:      3      5
+ nulrgd  XYTVAR   M:170 dset:   1 I:      1      4  J:    1    3  K: -999 -999  L:      1      2
+ -DELETE XYTVAR   M:180 dset:   1 I:      1      7  J:    2    6  K: -999 -999  L:      3      5
+ dealloc  dynamic grid (G011)          (AX033)   (AX031)   NORMAL    (AX032)
              VARIABLE : L*1000 + J*10 + I
                         regrid: 2 day on X, 2 deg on Y, 2 deg on T
              FILENAME : bn_strides.cdf
@@ -28160,13 +28043,13 @@ list xytvar[i=1:7:2,j=2:6:2,l=3:5:2]
  4N   / 2:  1045.00  3045.00  5045.00  7045.00
  2N   / 1:  1025.00  3025.00  5025.00  7025.00
 canc data/all
- dealloc  dynamic grid (G018)          (AX033)   (AX031)   NORMAL    (AX032)
- -DELETE XYTVAR   M: 40 dset:   1 I:    1    4  J:    1    3  K: -999 -999  L:    1    2
+ dealloc  dynamic grid (G011)          (AX033)   (AX031)   NORMAL    (AX032)
+ -DELETE XYTVAR   M:170 dset:   1 I:      1      4  J:    1    3  K: -999 -999  L:      1      2
  canceling dset ./bn_strides.cdf
  
 use/order=txy bn_strides
 show grid xytvar
- getgrid EX#1     C:  7 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  7 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GPC5            TTIME     XLON      NORMAL    YLAT
     GRID GPC5
  name       axis              # pts   start                end                 subset
@@ -28176,17 +28059,17 @@ show grid xytvar
  YLAT      T (degrees_north)   30 r   1                    30                  full
 list xytvar[i=1:7:2]
  dealloc  dynamic grid GPC5            TTIME     XLON      NORMAL    YLAT
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G018)          (AX031)   XLON      NORMAL    YLAT
- dealloc  dynamic grid (G018)          (AX031)   XLON      NORMAL    YLAT
- allocate dynamic grid (G018)          (AX031)   XLON      NORMAL    YLAT
- eval    EX#1     C:  4 dset:   1 I:    1    4  J:    1    3  K: -999 -999  L:    1    2
- allocate dynamic grid (G018)          (AX031)   XLON      NORMAL    YLAT
- strip regrid on X: XYTVAR --> (G018)           @XACT
- rdstride XYTVAR   C:  7 dset:   1 I:    1    7  J:    1    3  K: -999 -999  L:    1    2
- nulrgd  XYTVAR   M: 52 dset:   1 I:    1    4  J:    1    3  K: -999 -999  L:    1    2
- -DELETE XYTVAR   M: 40 dset:   1 I:    1    7  J:    1    3  K: -999 -999  L:    1    2
- dealloc  dynamic grid (G018)          (AX031)   XLON      NORMAL    YLAT
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G011)          (AX031)   XLON      NORMAL    YLAT
+ dealloc  dynamic grid (G011)          (AX031)   XLON      NORMAL    YLAT
+ allocate dynamic grid (G011)          (AX031)   XLON      NORMAL    YLAT
+ eval    EX#1     C:  4 dset:   1 I:      1      4  J:    1    3  K: -999 -999  L:      1      2
+ allocate dynamic grid (G011)          (AX031)   XLON      NORMAL    YLAT
+ strip regrid on X: XYTVAR --> (G011)           @XACT
+ rdstride XYTVAR   C:  7 dset:   1 I:      1      7  J:    1    3  K: -999 -999  L:      1      2
+ nulrgd  XYTVAR   M:180 dset:   1 I:      1      4  J:    1    3  K: -999 -999  L:      1      2
+ -DELETE XYTVAR   M:170 dset:   1 I:      1      7  J:    1    3  K: -999 -999  L:      1      2
+ dealloc  dynamic grid (G011)          (AX031)   XLON      NORMAL    YLAT
              VARIABLE : L*1000 + J*10 + I
                         regrid: 2 day on X
              FILENAME : bn_strides.cdf
@@ -28202,19 +28085,19 @@ list xytvar[i=1:7:2]
  142   / 2:  1022.00  3022.00  5022.00  7022.00
  143   / 3:  1023.00  3023.00  5023.00  7023.00
 list xytvar[j=2:6:2]
- dealloc  dynamic grid (G018)          (AX031)   XLON      NORMAL    YLAT
- -DELETE XYTVAR   M: 52 dset:   1 I:    1    4  J:    1    3  K: -999 -999  L:    1    2
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G018)          TTIME     (AX032)   NORMAL    YLAT
- dealloc  dynamic grid (G018)          TTIME     (AX032)   NORMAL    YLAT
- allocate dynamic grid (G018)          TTIME     (AX032)   NORMAL    YLAT
- eval    EX#1     C:  4 dset:   1 I:    1    4  J:    1    3  K: -999 -999  L:    1    2
- allocate dynamic grid (G018)          TTIME     (AX032)   NORMAL    YLAT
- strip regrid on Y: XYTVAR --> (G018)           @XACT
- rdstride XYTVAR   C:  7 dset:   1 I:    1    4  J:    2    6  K: -999 -999  L:    1    2
- nulrgd  XYTVAR   M: 40 dset:   1 I:    1    4  J:    1    3  K: -999 -999  L:    1    2
- -DELETE XYTVAR   M: 52 dset:   1 I:    1    4  J:    2    6  K: -999 -999  L:    1    2
- dealloc  dynamic grid (G018)          TTIME     (AX032)   NORMAL    YLAT
+ dealloc  dynamic grid (G011)          (AX031)   XLON      NORMAL    YLAT
+ -DELETE XYTVAR   M:180 dset:   1 I:      1      4  J:    1    3  K: -999 -999  L:      1      2
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G011)          TTIME     (AX032)   NORMAL    YLAT
+ dealloc  dynamic grid (G011)          TTIME     (AX032)   NORMAL    YLAT
+ allocate dynamic grid (G011)          TTIME     (AX032)   NORMAL    YLAT
+ eval    EX#1     C:  4 dset:   1 I:      1      4  J:    1    3  K: -999 -999  L:      1      2
+ allocate dynamic grid (G011)          TTIME     (AX032)   NORMAL    YLAT
+ strip regrid on Y: XYTVAR --> (G011)           @XACT
+ rdstride XYTVAR   C:  7 dset:   1 I:      1      4  J:    2    6  K: -999 -999  L:      1      2
+ nulrgd  XYTVAR   M:170 dset:   1 I:      1      4  J:    1    3  K: -999 -999  L:      1      2
+ -DELETE XYTVAR   M:180 dset:   1 I:      1      4  J:    2    6  K: -999 -999  L:      1      2
+ dealloc  dynamic grid (G011)          TTIME     (AX032)   NORMAL    YLAT
              VARIABLE : L*1000 + J*10 + I
                         regrid: 2 deg on Y
              FILENAME : bn_strides.cdf
@@ -28230,19 +28113,19 @@ list xytvar[j=2:6:2]
  144   / 2:  1024.00  2024.00  3024.00  4024.00
  146   / 3:  1026.00  2026.00  3026.00  4026.00
 list xytvar[i=1:7:2,j=2:6:2,l=3:5:2]
- dealloc  dynamic grid (G018)          TTIME     (AX032)   NORMAL    YLAT
- -DELETE XYTVAR   M: 40 dset:   1 I:    1    4  J:    1    3  K: -999 -999  L:    1    2
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G018)          (AX031)   (AX033)   NORMAL    (AX029)
- dealloc  dynamic grid (G018)          (AX031)   (AX033)   NORMAL    (AX029)
- allocate dynamic grid (G018)          (AX031)   (AX033)   NORMAL    (AX029)
- eval    EX#1     C:  4 dset:   1 I:    1    4  J:    1    3  K: -999 -999  L:    1    2
- allocate dynamic grid (G018)          (AX031)   (AX033)   NORMAL    (AX029)
- strip regrid on X: XYTVAR --> (G018)           @XACT
- rdstride XYTVAR   C:  7 dset:   1 I:    1    7  J:    2    6  K: -999 -999  L:    3    5
- nulrgd  XYTVAR   M: 52 dset:   1 I:    1    4  J:    1    3  K: -999 -999  L:    1    2
- -DELETE XYTVAR   M: 40 dset:   1 I:    1    7  J:    2    6  K: -999 -999  L:    3    5
- dealloc  dynamic grid (G018)          (AX031)   (AX033)   NORMAL    (AX029)
+ dealloc  dynamic grid (G011)          TTIME     (AX032)   NORMAL    YLAT
+ -DELETE XYTVAR   M:170 dset:   1 I:      1      4  J:    1    3  K: -999 -999  L:      1      2
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G011)          (AX031)   (AX033)   NORMAL    (AX029)
+ dealloc  dynamic grid (G011)          (AX031)   (AX033)   NORMAL    (AX029)
+ allocate dynamic grid (G011)          (AX031)   (AX033)   NORMAL    (AX029)
+ eval    EX#1     C:  4 dset:   1 I:      1      4  J:    1    3  K: -999 -999  L:      1      2
+ allocate dynamic grid (G011)          (AX031)   (AX033)   NORMAL    (AX029)
+ strip regrid on X: XYTVAR --> (G011)           @XACT
+ rdstride XYTVAR   C:  7 dset:   1 I:      1      7  J:    2    6  K: -999 -999  L:      3      5
+ nulrgd  XYTVAR   M:180 dset:   1 I:      1      4  J:    1    3  K: -999 -999  L:      1      2
+ -DELETE XYTVAR   M:170 dset:   1 I:      1      7  J:    2    6  K: -999 -999  L:      3      5
+ dealloc  dynamic grid (G011)          (AX031)   (AX033)   NORMAL    (AX029)
              VARIABLE : L*1000 + J*10 + I
                         regrid: 2 day on X, 2 deg on Y, 2 deg on T
              FILENAME : bn_strides.cdf
@@ -28258,14 +28141,14 @@ list xytvar[i=1:7:2,j=2:6:2,l=3:5:2]
  144   / 2:  1054.00  3054.00  5054.00  7054.00
  146   / 3:  1056.00  3056.00  5056.00  7056.00
 canc data/all
- dealloc  dynamic grid (G018)          (AX031)   (AX033)   NORMAL    (AX029)
- -DELETE XYTVAR   M: 52 dset:   1 I:    1    4  J:    1    3  K: -999 -999  L:    1    2
+ dealloc  dynamic grid (G011)          (AX031)   (AX033)   NORMAL    (AX029)
+ -DELETE XYTVAR   M:180 dset:   1 I:      1      4  J:    1    3  K: -999 -999  L:      1      2
  canceling dset ./bn_strides.cdf
  
 ! map into Z instead of T
 use/order=zxy bn_strides
 show grid xytvar
- getgrid EX#1     C:  7 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  7 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GPC5            TTIME     XLON      YLAT      NORMAL
     GRID GPC5
  name       axis              # pts   start                end                 subset
@@ -28275,18 +28158,18 @@ show grid xytvar
  normal    T
 list/k=1:2 xytvar[i=1:7:2]
  dealloc  dynamic grid GPC5            TTIME     XLON      YLAT      NORMAL
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G018)          (AX033)   XLON      YLAT      NORMAL
- dealloc  dynamic grid (G018)          (AX033)   XLON      YLAT      NORMAL
- allocate dynamic grid (G018)          (AX033)   XLON      YLAT      NORMAL
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G011)          (AX033)   XLON      YLAT      NORMAL
+ dealloc  dynamic grid (G011)          (AX033)   XLON      YLAT      NORMAL
+ allocate dynamic grid (G011)          (AX033)   XLON      YLAT      NORMAL
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:    1    4  J:    1    3  K:    1    2  L:    1    2
- allocate dynamic grid (G018)          (AX033)   XLON      YLAT      NORMAL
- strip regrid on X: XYTVAR --> (G018)           @XACT
- rdstride XYTVAR   C:  8 dset:   1 I:    1    7  J:    1    3  K:    1    2  L: -999 -999
- nulrgd  XYTVAR   M: 40 dset:   1 I:    1    4  J:    1    3  K:    1    2  L: -999 -999
- -DELETE XYTVAR   M: 52 dset:   1 I:    1    7  J:    1    3  K:    1    2  L: -999 -999
- dealloc  dynamic grid (G018)          (AX033)   XLON      YLAT      NORMAL
+ eval    EX#1     C:  5 dset:   1 I:      1      4  J:    1    3  K:    1    2  L:      1      2
+ allocate dynamic grid (G011)          (AX033)   XLON      YLAT      NORMAL
+ strip regrid on X: XYTVAR --> (G011)           @XACT
+ rdstride XYTVAR   C:  8 dset:   1 I:      1      7  J:    1    3  K:    1    2  L:   -999   -999
+ nulrgd  XYTVAR   M:170 dset:   1 I:      1      4  J:    1    3  K:    1    2  L:   -999   -999
+ -DELETE XYTVAR   M:180 dset:   1 I:      1      7  J:    1    3  K:    1    2  L:   -999   -999
+ dealloc  dynamic grid (G011)          (AX033)   XLON      YLAT      NORMAL
              VARIABLE : L*1000 + J*10 + I
                         regrid: 2 day on X
              FILENAME : bn_strides.cdf
@@ -28302,20 +28185,20 @@ list/k=1:2 xytvar[i=1:7:2]
  142   / 2:  1022.00  3022.00  5022.00  7022.00
  143   / 3:  1023.00  3023.00  5023.00  7023.00
 list/k=1:2 xytvar[j=2:6:2]
- dealloc  dynamic grid (G018)          (AX033)   XLON      YLAT      NORMAL
- -DELETE XYTVAR   M: 40 dset:   1 I:    1    4  J:    1    3  K:    1    2  L: -999 -999
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G018)          TTIME     (AX029)   YLAT      NORMAL
- dealloc  dynamic grid (G018)          TTIME     (AX029)   YLAT      NORMAL
- allocate dynamic grid (G018)          TTIME     (AX029)   YLAT      NORMAL
+ dealloc  dynamic grid (G011)          (AX033)   XLON      YLAT      NORMAL
+ -DELETE XYTVAR   M:170 dset:   1 I:      1      4  J:    1    3  K:    1    2  L:   -999   -999
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G011)          TTIME     (AX029)   YLAT      NORMAL
+ dealloc  dynamic grid (G011)          TTIME     (AX029)   YLAT      NORMAL
+ allocate dynamic grid (G011)          TTIME     (AX029)   YLAT      NORMAL
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:    1    4  J:    1    3  K:    1    2  L:    1    2
- allocate dynamic grid (G018)          TTIME     (AX029)   YLAT      NORMAL
- strip regrid on Y: XYTVAR --> (G018)           @XACT
- rdstride XYTVAR   C:  8 dset:   1 I:    1    4  J:    2    6  K:    1    2  L: -999 -999
- nulrgd  XYTVAR   M: 52 dset:   1 I:    1    4  J:    1    3  K:    1    2  L: -999 -999
- -DELETE XYTVAR   M: 40 dset:   1 I:    1    4  J:    2    6  K:    1    2  L: -999 -999
- dealloc  dynamic grid (G018)          TTIME     (AX029)   YLAT      NORMAL
+ eval    EX#1     C:  5 dset:   1 I:      1      4  J:    1    3  K:    1    2  L:      1      2
+ allocate dynamic grid (G011)          TTIME     (AX029)   YLAT      NORMAL
+ strip regrid on Y: XYTVAR --> (G011)           @XACT
+ rdstride XYTVAR   C:  8 dset:   1 I:      1      4  J:    2    6  K:    1    2  L:   -999   -999
+ nulrgd  XYTVAR   M:180 dset:   1 I:      1      4  J:    1    3  K:    1    2  L:   -999   -999
+ -DELETE XYTVAR   M:170 dset:   1 I:      1      4  J:    2    6  K:    1    2  L:   -999   -999
+ dealloc  dynamic grid (G011)          TTIME     (AX029)   YLAT      NORMAL
              VARIABLE : L*1000 + J*10 + I
                         regrid: 2 deg on Y
              FILENAME : bn_strides.cdf
@@ -28331,19 +28214,19 @@ list/k=1:2 xytvar[j=2:6:2]
  144   / 2:  1024.00  2024.00  3024.00  4024.00
  146   / 3:  1026.00  2026.00  3026.00  4026.00
 list xytvar[i=1:7:2,j=2:6:2,k=3:5:2]
- dealloc  dynamic grid (G018)          TTIME     (AX029)   YLAT      NORMAL
- -DELETE XYTVAR   M: 52 dset:   1 I:    1    4  J:    1    3  K:    1    2  L: -999 -999
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G018)          (AX033)   (AX031)   (AX032)   NORMAL
- dealloc  dynamic grid (G018)          (AX033)   (AX031)   (AX032)   NORMAL
- allocate dynamic grid (G018)          (AX033)   (AX031)   (AX032)   NORMAL
- eval    EX#1     C:  4 dset:   1 I:    1    4  J:    1    3  K:    1    2  L:    1    2
- allocate dynamic grid (G018)          (AX033)   (AX031)   (AX032)   NORMAL
- strip regrid on X: XYTVAR --> (G018)           @XACT
- rdstride XYTVAR   C:  7 dset:   1 I:    1    7  J:    2    6  K:    3    5  L: -999 -999
- nulrgd  XYTVAR   M: 40 dset:   1 I:    1    4  J:    1    3  K:    1    2  L: -999 -999
- -DELETE XYTVAR   M: 52 dset:   1 I:    1    7  J:    2    6  K:    3    5  L: -999 -999
- dealloc  dynamic grid (G018)          (AX033)   (AX031)   (AX032)   NORMAL
+ dealloc  dynamic grid (G011)          TTIME     (AX029)   YLAT      NORMAL
+ -DELETE XYTVAR   M:180 dset:   1 I:      1      4  J:    1    3  K:    1    2  L:   -999   -999
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G011)          (AX033)   (AX031)   (AX032)   NORMAL
+ dealloc  dynamic grid (G011)          (AX033)   (AX031)   (AX032)   NORMAL
+ allocate dynamic grid (G011)          (AX033)   (AX031)   (AX032)   NORMAL
+ eval    EX#1     C:  4 dset:   1 I:      1      4  J:    1    3  K:    1    2  L:      1      2
+ allocate dynamic grid (G011)          (AX033)   (AX031)   (AX032)   NORMAL
+ strip regrid on X: XYTVAR --> (G011)           @XACT
+ rdstride XYTVAR   C:  7 dset:   1 I:      1      7  J:    2    6  K:    3    5  L:   -999   -999
+ nulrgd  XYTVAR   M:170 dset:   1 I:      1      4  J:    1    3  K:    1    2  L:   -999   -999
+ -DELETE XYTVAR   M:180 dset:   1 I:      1      7  J:    2    6  K:    3    5  L:   -999   -999
+ dealloc  dynamic grid (G011)          (AX033)   (AX031)   (AX032)   NORMAL
              VARIABLE : L*1000 + J*10 + I
                         regrid: 2 day on X, 2 deg on Y, 2 deg on Z
              FILENAME : bn_strides.cdf
@@ -28359,8 +28242,8 @@ list xytvar[i=1:7:2,j=2:6:2,k=3:5:2]
  144   / 2:  1054.00  3054.00  5054.00  7054.00
  146   / 3:  1056.00  3056.00  5056.00  7056.00
 canc data/all
- dealloc  dynamic grid (G018)          (AX033)   (AX031)   (AX032)   NORMAL
- -DELETE XYTVAR   M: 40 dset:   1 I:    1    4  J:    1    3  K:    1    2  L: -999 -999
+ dealloc  dynamic grid (G011)          (AX033)   (AX031)   (AX032)   NORMAL
+ -DELETE XYTVAR   M:170 dset:   1 I:      1      4  J:    1    3  K:    1    2  L:   -999   -999
  canceling dset ./bn_strides.cdf
  
  
@@ -28383,17 +28266,17 @@ cancel region; set region/l=1
 ! reference output
 use/order=yx bn_strides
 list midvar[i=1:5:4, j=2:5:3, k=3:5:2]
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G018)          (AX031)   (AX033)   (AX029)   TAX1_6
- dealloc  dynamic grid (G018)          (AX031)   (AX033)   (AX029)   TAX1_6
- allocate dynamic grid (G018)          (AX031)   (AX033)   (AX029)   TAX1_6
- eval    EX#1     C:  4 dset:   1 I:    1    2  J:    1    2  K:    1    2  L:    1    1
- allocate dynamic grid (G018)          (AX031)   (AX033)   (AX029)   TAX1_6
- strip regrid on X: MIDVAR --> (G018)           @XACT
- rdstride MIDVAR   C:  7 dset:   1 I:    1    5  J:    2    5  K:    3    5  L:    1    1
- nulrgd  MIDVAR   M: 52 dset:   1 I:    1    2  J:    1    2  K:    1    2  L:    1    1
- -DELETE MIDVAR   M: 40 dset:   1 I:    1    5  J:    2    5  K:    3    5  L:    1    1
- dealloc  dynamic grid (G018)          (AX031)   (AX033)   (AX029)   TAX1_6
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G011)          (AX031)   (AX033)   (AX029)   TAX1_6
+ dealloc  dynamic grid (G011)          (AX031)   (AX033)   (AX029)   TAX1_6
+ allocate dynamic grid (G011)          (AX031)   (AX033)   (AX029)   TAX1_6
+ eval    EX#1     C:  4 dset:   1 I:      1      2  J:    1    2  K:    1    2  L:      1      1
+ allocate dynamic grid (G011)          (AX031)   (AX033)   (AX029)   TAX1_6
+ strip regrid on X: MIDVAR --> (G011)           @XACT
+ rdstride MIDVAR   C:  7 dset:   1 I:      1      5  J:    2    5  K:    3    5  L:      1      1
+ nulrgd  MIDVAR   M:180 dset:   1 I:      1      2  J:    1    2  K:    1    2  L:      1      1
+ -DELETE MIDVAR   M:170 dset:   1 I:      1      5  J:    2    5  K:    3    5  L:      1      1
+ dealloc  dynamic grid (G011)          (AX031)   (AX033)   (AX029)   TAX1_6
              VARIABLE : VAR
                         regrid: 4 delta on X, 3 delta on Y, 2 delta on Z
              FILENAME : bn_strides.cdf
@@ -28408,26 +28291,26 @@ list midvar[i=1:5:4, j=2:5:3, k=3:5:2]
  2   / 1:  1512.00  1552.00
  5   / 2:  1515.00  1555.00
 canc data/all
- dealloc  dynamic grid (G018)          (AX031)   (AX033)   (AX029)   TAX1_6
- -DELETE MIDVAR   M: 52 dset:   1 I:    1    2  J:    1    2  K:    1    2  L:    1    1
+ dealloc  dynamic grid (G011)          (AX031)   (AX033)   (AX029)   TAX1_6
+ -DELETE MIDVAR   M:180 dset:   1 I:      1      2  J:    1    2  K:    1    2  L:      1      1
  canceling dset ./bn_strides.cdf
  
 use/order=-yx bn_strides
 list midvar[i=1:5:4, j=2:5:3, k=3:5:2]
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G018)          (AX033)   (AX031)   (AX032)   TAX1_6
- dealloc  dynamic grid (G018)          (AX033)   (AX031)   (AX032)   TAX1_6
- allocate dynamic grid (G018)          (AX033)   (AX031)   (AX032)   TAX1_6
- eval    EX#1     C:  4 dset:   1 I:    1    2  J:    1    2  K:    1    2  L:    1    1
- allocate dynamic grid (G018)          (AX033)   (AX031)   (AX032)   TAX1_6
- strip regrid on X: MIDVAR --> (G018)           @XACT
- strip reversing MIDVAR on Y axis:     2     5 dset:   1
- rdstride MIDVAR   C:  8 dset:   1 I:    1    5  J:    5    8  K:    3    5  L:    1    1
- doing reversing MIDVAR on Y axis:     2     5 dset:   1
- -DELETE MIDVAR   M: 52 dset:   1 I:    1    5  J:    2    5  K:    3    5  L:    1    1
- nulrgd  MIDVAR   M: 52 dset:   1 I:    1    2  J:    1    2  K:    1    2  L:    1    1
- -DELETE MIDVAR   M: 40 dset:   1 I:    1    5  J:    2    5  K:    3    5  L:    1    1
- dealloc  dynamic grid (G018)          (AX033)   (AX031)   (AX032)   TAX1_6
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G011)          (AX033)   (AX031)   (AX032)   TAX1_6
+ dealloc  dynamic grid (G011)          (AX033)   (AX031)   (AX032)   TAX1_6
+ allocate dynamic grid (G011)          (AX033)   (AX031)   (AX032)   TAX1_6
+ eval    EX#1     C:  4 dset:   1 I:      1      2  J:    1    2  K:    1    2  L:      1      1
+ allocate dynamic grid (G011)          (AX033)   (AX031)   (AX032)   TAX1_6
+ strip regrid on X: MIDVAR --> (G011)           @XACT
+ strip reversing MIDVAR on Y axis:        2        5 dset:   1
+ rdstride MIDVAR   C:  8 dset:   1 I:      1      5  J:    5    8  K:    3    5  L:      1      1
+ doing reversing MIDVAR on Y axis:        2        5 dset:   1
+ -DELETE MIDVAR   M:180 dset:   1 I:      1      5  J:    2    5  K:    3    5  L:      1      1
+ nulrgd  MIDVAR   M:180 dset:   1 I:      1      2  J:    1    2  K:    1    2  L:      1      1
+ -DELETE MIDVAR   M:170 dset:   1 I:      1      5  J:    2    5  K:    3    5  L:      1      1
+ dealloc  dynamic grid (G011)          (AX033)   (AX031)   (AX032)   TAX1_6
              VARIABLE : VAR
                         regrid: 4 delta on X, 3 delta on Y, 2 delta on Z
              FILENAME : bn_strides.cdf
@@ -28442,26 +28325,26 @@ list midvar[i=1:5:4, j=2:5:3, k=3:5:2]
  2   / 1:  1518.00  1558.00
  5   / 2:  1515.00  1555.00
 canc data/all
- dealloc  dynamic grid (G018)          (AX033)   (AX031)   (AX032)   TAX1_6
- -DELETE MIDVAR   M: 52 dset:   1 I:    1    2  J:    1    2  K:    1    2  L:    1    1
+ dealloc  dynamic grid (G011)          (AX033)   (AX031)   (AX032)   TAX1_6
+ -DELETE MIDVAR   M:180 dset:   1 I:      1      2  J:    1    2  K:    1    2  L:      1      1
  canceling dset ./bn_strides.cdf
  
 use/order=y-x bn_strides
 list midvar[i=1:5:4, j=2:5:3, k=3:5:2]
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G018)          (AX031)   (AX033)   (AX029)   TAX1_6
- dealloc  dynamic grid (G018)          (AX031)   (AX033)   (AX029)   TAX1_6
- allocate dynamic grid (G018)          (AX031)   (AX033)   (AX029)   TAX1_6
- eval    EX#1     C:  4 dset:   1 I:    1    2  J:    1    2  K:    1    2  L:    1    1
- allocate dynamic grid (G018)          (AX031)   (AX033)   (AX029)   TAX1_6
- strip regrid on X: MIDVAR --> (G018)           @XACT
- strip reversing MIDVAR on X axis:     1     5 dset:   1
- rdstride MIDVAR   C:  8 dset:   1 I:    4    8  J:    2    5  K:    3    5  L:    1    1
- doing reversing MIDVAR on X axis:     1     5 dset:   1
- -DELETE MIDVAR   M: 52 dset:   1 I:    1    5  J:    2    5  K:    3    5  L:    1    1
- nulrgd  MIDVAR   M: 52 dset:   1 I:    1    2  J:    1    2  K:    1    2  L:    1    1
- -DELETE MIDVAR   M: 40 dset:   1 I:    1    5  J:    2    5  K:    3    5  L:    1    1
- dealloc  dynamic grid (G018)          (AX031)   (AX033)   (AX029)   TAX1_6
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G011)          (AX031)   (AX033)   (AX029)   TAX1_6
+ dealloc  dynamic grid (G011)          (AX031)   (AX033)   (AX029)   TAX1_6
+ allocate dynamic grid (G011)          (AX031)   (AX033)   (AX029)   TAX1_6
+ eval    EX#1     C:  4 dset:   1 I:      1      2  J:    1    2  K:    1    2  L:      1      1
+ allocate dynamic grid (G011)          (AX031)   (AX033)   (AX029)   TAX1_6
+ strip regrid on X: MIDVAR --> (G011)           @XACT
+ strip reversing MIDVAR on X axis:        1        5 dset:   1
+ rdstride MIDVAR   C:  8 dset:   1 I:      4      8  J:    2    5  K:    3    5  L:      1      1
+ doing reversing MIDVAR on X axis:        1        5 dset:   1
+ -DELETE MIDVAR   M:180 dset:   1 I:      1      5  J:    2    5  K:    3    5  L:      1      1
+ nulrgd  MIDVAR   M:180 dset:   1 I:      1      2  J:    1    2  K:    1    2  L:      1      1
+ -DELETE MIDVAR   M:170 dset:   1 I:      1      5  J:    2    5  K:    3    5  L:      1      1
+ dealloc  dynamic grid (G011)          (AX031)   (AX033)   (AX029)   TAX1_6
              VARIABLE : VAR
                         regrid: 4 delta on X, 3 delta on Y, 2 delta on Z
              FILENAME : bn_strides.cdf
@@ -28476,24 +28359,24 @@ list midvar[i=1:5:4, j=2:5:3, k=3:5:2]
  2   / 1:  1582.00  1542.00
  5   / 2:  1585.00  1545.00
 canc data/all
- dealloc  dynamic grid (G018)          (AX031)   (AX033)   (AX029)   TAX1_6
- -DELETE MIDVAR   M: 52 dset:   1 I:    1    2  J:    1    2  K:    1    2  L:    1    1
+ dealloc  dynamic grid (G011)          (AX031)   (AX033)   (AX029)   TAX1_6
+ -DELETE MIDVAR   M:180 dset:   1 I:      1      2  J:    1    2  K:    1    2  L:      1      1
  canceling dset ./bn_strides.cdf
  
 ! reference output
 use/order=tyx bn_strides
 list midvar[i=1:5:4, j=2:5:3, k=3:5:2]
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G018)          (AX033)   (AX031)   (AX032)   ZAX1_7
- dealloc  dynamic grid (G018)          (AX033)   (AX031)   (AX032)   ZAX1_7
- allocate dynamic grid (G018)          (AX033)   (AX031)   (AX032)   ZAX1_7
- eval    EX#1     C:  4 dset:   1 I:    1    2  J:    1    2  K:    1    2  L:    1    1
- allocate dynamic grid (G018)          (AX033)   (AX031)   (AX032)   ZAX1_7
- strip regrid on X: MIDVAR --> (G018)           @XACT
- rdstride MIDVAR   C:  7 dset:   1 I:    1    5  J:    2    5  K:    3    5  L:    1    1
- nulrgd  MIDVAR   M: 40 dset:   1 I:    1    2  J:    1    2  K:    1    2  L:    1    1
- -DELETE MIDVAR   M: 52 dset:   1 I:    1    5  J:    2    5  K:    3    5  L:    1    1
- dealloc  dynamic grid (G018)          (AX033)   (AX031)   (AX032)   ZAX1_7
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G011)          (AX033)   (AX031)   (AX032)   ZAX1_7
+ dealloc  dynamic grid (G011)          (AX033)   (AX031)   (AX032)   ZAX1_7
+ allocate dynamic grid (G011)          (AX033)   (AX031)   (AX032)   ZAX1_7
+ eval    EX#1     C:  4 dset:   1 I:      1      2  J:    1    2  K:    1    2  L:      1      1
+ allocate dynamic grid (G011)          (AX033)   (AX031)   (AX032)   ZAX1_7
+ strip regrid on X: MIDVAR --> (G011)           @XACT
+ rdstride MIDVAR   C:  7 dset:   1 I:      1      5  J:    2    5  K:    3    5  L:      1      1
+ nulrgd  MIDVAR   M:170 dset:   1 I:      1      2  J:    1    2  K:    1    2  L:      1      1
+ -DELETE MIDVAR   M:180 dset:   1 I:      1      5  J:    2    5  K:    3    5  L:      1      1
+ dealloc  dynamic grid (G011)          (AX033)   (AX031)   (AX032)   ZAX1_7
              VARIABLE : VAR
                         regrid: 4 delta on X, 3 delta on Y, 2 delta on Z
              FILENAME : bn_strides.cdf
@@ -28508,27 +28391,27 @@ list midvar[i=1:5:4, j=2:5:3, k=3:5:2]
  2   / 1:  1125.00  5125.00
  5   / 2:  1155.00  5155.00
 canc data/all
- dealloc  dynamic grid (G018)          (AX033)   (AX031)   (AX032)   ZAX1_7
- -DELETE MIDVAR   M: 40 dset:   1 I:    1    2  J:    1    2  K:    1    2  L:    1    1
+ dealloc  dynamic grid (G011)          (AX033)   (AX031)   (AX032)   ZAX1_7
+ -DELETE MIDVAR   M:170 dset:   1 I:      1      2  J:    1    2  K:    1    2  L:      1      1
  canceling dset ./bn_strides.cdf
  
 ! note the reversal on axes 1,2 and 3 (X,Y,Z in memory -- NOT T)
 use/order=-t-y-x bn_strides
 list midvar[i=1:5:4, j=2:5:3, k=3:5:2]
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G018)          (AX031)   (AX033)   (AX029)   ZAX1_7
- dealloc  dynamic grid (G018)          (AX031)   (AX033)   (AX029)   ZAX1_7
- allocate dynamic grid (G018)          (AX031)   (AX033)   (AX029)   ZAX1_7
- eval    EX#1     C:  4 dset:   1 I:    1    2  J:    1    2  K:    1    2  L:    1    1
- allocate dynamic grid (G018)          (AX031)   (AX033)   (AX029)   ZAX1_7
- strip regrid on X: MIDVAR --> (G018)           @XACT
- strip reversing MIDVAR on X axis:     1     5 dset:   1
- rdstride MIDVAR   C:  8 dset:   1 I:    2    6  J:    4    7  K:    3    5  L:    7    7
- doing reversing MIDVAR on X axis:     1     5 dset:   1
- -DELETE MIDVAR   M: 40 dset:   1 I:    1    5  J:    2    5  K:    3    5  L:    1    1
- nulrgd  MIDVAR   M: 40 dset:   1 I:    1    2  J:    1    2  K:    1    2  L:    1    1
- -DELETE MIDVAR   M: 52 dset:   1 I:    1    5  J:    2    5  K:    3    5  L:    1    1
- dealloc  dynamic grid (G018)          (AX031)   (AX033)   (AX029)   ZAX1_7
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G011)          (AX031)   (AX033)   (AX029)   ZAX1_7
+ dealloc  dynamic grid (G011)          (AX031)   (AX033)   (AX029)   ZAX1_7
+ allocate dynamic grid (G011)          (AX031)   (AX033)   (AX029)   ZAX1_7
+ eval    EX#1     C:  4 dset:   1 I:      1      2  J:    1    2  K:    1    2  L:      1      1
+ allocate dynamic grid (G011)          (AX031)   (AX033)   (AX029)   ZAX1_7
+ strip regrid on X: MIDVAR --> (G011)           @XACT
+ strip reversing MIDVAR on X axis:        1        5 dset:   1
+ rdstride MIDVAR   C:  8 dset:   1 I:      2      6  J:    4    7  K:    3    5  L:      7      7
+ doing reversing MIDVAR on X axis:        1        5 dset:   1
+ -DELETE MIDVAR   M:170 dset:   1 I:      1      5  J:    2    5  K:    3    5  L:      1      1
+ nulrgd  MIDVAR   M:170 dset:   1 I:      1      2  J:    1    2  K:    1    2  L:      1      1
+ -DELETE MIDVAR   M:180 dset:   1 I:      1      5  J:    2    5  K:    3    5  L:      1      1
+ dealloc  dynamic grid (G011)          (AX031)   (AX033)   (AX029)   ZAX1_7
              VARIABLE : VAR
                         regrid: 4 delta on X, 3 delta on Y, 2 delta on Z
              FILENAME : bn_strides.cdf
@@ -28543,24 +28426,24 @@ list midvar[i=1:5:4, j=2:5:3, k=3:5:2]
  2   / 1:  6775.00  2775.00
  5   / 2:  6745.00  2745.00
 canc data/all
- dealloc  dynamic grid (G018)          (AX031)   (AX033)   (AX029)   ZAX1_7
- -DELETE MIDVAR   M: 40 dset:   1 I:    1    2  J:    1    2  K:    1    2  L:    1    1
+ dealloc  dynamic grid (G011)          (AX031)   (AX033)   (AX029)   ZAX1_7
+ -DELETE MIDVAR   M:170 dset:   1 I:      1      2  J:    1    2  K:    1    2  L:      1      1
  canceling dset ./bn_strides.cdf
  
 ! reference output
 use/order=txy bn_strides
 list midvar[i=1:5:4, j=2:5:3, k=3:5:2]
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G018)          (AX033)   (AX031)   (AX032)   ZAX1_7
- dealloc  dynamic grid (G018)          (AX033)   (AX031)   (AX032)   ZAX1_7
- allocate dynamic grid (G018)          (AX033)   (AX031)   (AX032)   ZAX1_7
- eval    EX#1     C:  4 dset:   1 I:    1    2  J:    1    2  K:    1    2  L:    1    1
- allocate dynamic grid (G018)          (AX033)   (AX031)   (AX032)   ZAX1_7
- strip regrid on X: MIDVAR --> (G018)           @XACT
- rdstride MIDVAR   C:  7 dset:   1 I:    1    5  J:    2    5  K:    3    5  L:    1    1
- nulrgd  MIDVAR   M: 52 dset:   1 I:    1    2  J:    1    2  K:    1    2  L:    1    1
- -DELETE MIDVAR   M: 40 dset:   1 I:    1    5  J:    2    5  K:    3    5  L:    1    1
- dealloc  dynamic grid (G018)          (AX033)   (AX031)   (AX032)   ZAX1_7
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G011)          (AX033)   (AX031)   (AX032)   ZAX1_7
+ dealloc  dynamic grid (G011)          (AX033)   (AX031)   (AX032)   ZAX1_7
+ allocate dynamic grid (G011)          (AX033)   (AX031)   (AX032)   ZAX1_7
+ eval    EX#1     C:  4 dset:   1 I:      1      2  J:    1    2  K:    1    2  L:      1      1
+ allocate dynamic grid (G011)          (AX033)   (AX031)   (AX032)   ZAX1_7
+ strip regrid on X: MIDVAR --> (G011)           @XACT
+ rdstride MIDVAR   C:  7 dset:   1 I:      1      5  J:    2    5  K:    3    5  L:      1      1
+ nulrgd  MIDVAR   M:180 dset:   1 I:      1      2  J:    1    2  K:    1    2  L:      1      1
+ -DELETE MIDVAR   M:170 dset:   1 I:      1      5  J:    2    5  K:    3    5  L:      1      1
+ dealloc  dynamic grid (G011)          (AX033)   (AX031)   (AX032)   ZAX1_7
              VARIABLE : VAR
                         regrid: 4 delta on X, 3 delta on Y, 2 delta on Z
              FILENAME : bn_strides.cdf
@@ -28575,26 +28458,26 @@ list midvar[i=1:5:4, j=2:5:3, k=3:5:2]
  2   / 1:  1152.00  5152.00
  5   / 2:  1155.00  5155.00
 canc data/all
- dealloc  dynamic grid (G018)          (AX033)   (AX031)   (AX032)   ZAX1_7
- -DELETE MIDVAR   M: 52 dset:   1 I:    1    2  J:    1    2  K:    1    2  L:    1    1
+ dealloc  dynamic grid (G011)          (AX033)   (AX031)   (AX032)   ZAX1_7
+ -DELETE MIDVAR   M:180 dset:   1 I:      1      2  J:    1    2  K:    1    2  L:      1      1
  canceling dset ./bn_strides.cdf
  
 use/order=-t-x-y bn_strides
 list midvar[i=1:5:4, j=2:5:3, k=3:5:2]
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G018)          (AX031)   (AX033)   (AX029)   ZAX1_7
- dealloc  dynamic grid (G018)          (AX031)   (AX033)   (AX029)   ZAX1_7
- allocate dynamic grid (G018)          (AX031)   (AX033)   (AX029)   ZAX1_7
- eval    EX#1     C:  4 dset:   1 I:    1    2  J:    1    2  K:    1    2  L:    1    1
- allocate dynamic grid (G018)          (AX031)   (AX033)   (AX029)   ZAX1_7
- strip regrid on X: MIDVAR --> (G018)           @XACT
- strip reversing MIDVAR on Y axis:     2     5 dset:   1
- rdstride MIDVAR   C:  8 dset:   1 I:    2    6  J:    5    8  K:    3    5  L:    7    7
- doing reversing MIDVAR on Y axis:     2     5 dset:   1
- -DELETE MIDVAR   M: 52 dset:   1 I:    1    5  J:    2    5  K:    3    5  L:    1    1
- nulrgd  MIDVAR   M: 52 dset:   1 I:    1    2  J:    1    2  K:    1    2  L:    1    1
- -DELETE MIDVAR   M: 40 dset:   1 I:    1    5  J:    2    5  K:    3    5  L:    1    1
- dealloc  dynamic grid (G018)          (AX031)   (AX033)   (AX029)   ZAX1_7
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G011)          (AX031)   (AX033)   (AX029)   ZAX1_7
+ dealloc  dynamic grid (G011)          (AX031)   (AX033)   (AX029)   ZAX1_7
+ allocate dynamic grid (G011)          (AX031)   (AX033)   (AX029)   ZAX1_7
+ eval    EX#1     C:  4 dset:   1 I:      1      2  J:    1    2  K:    1    2  L:      1      1
+ allocate dynamic grid (G011)          (AX031)   (AX033)   (AX029)   ZAX1_7
+ strip regrid on X: MIDVAR --> (G011)           @XACT
+ strip reversing MIDVAR on Y axis:        2        5 dset:   1
+ rdstride MIDVAR   C:  8 dset:   1 I:      2      6  J:    5    8  K:    3    5  L:      7      7
+ doing reversing MIDVAR on Y axis:        2        5 dset:   1
+ -DELETE MIDVAR   M:180 dset:   1 I:      1      5  J:    2    5  K:    3    5  L:      1      1
+ nulrgd  MIDVAR   M:180 dset:   1 I:      1      2  J:    1    2  K:    1    2  L:      1      1
+ -DELETE MIDVAR   M:170 dset:   1 I:      1      5  J:    2    5  K:    3    5  L:      1      1
+ dealloc  dynamic grid (G011)          (AX031)   (AX033)   (AX029)   ZAX1_7
              VARIABLE : VAR
                         regrid: 4 delta on X, 3 delta on Y, 2 delta on Z
              FILENAME : bn_strides.cdf
@@ -28609,12 +28492,14 @@ list midvar[i=1:5:4, j=2:5:3, k=3:5:2]
  2   / 1:  6758.00  2758.00
  5   / 2:  6755.00  2755.00
 canc data/all
- dealloc  dynamic grid (G018)          (AX031)   (AX033)   (AX029)   ZAX1_7
- -DELETE MIDVAR   M: 52 dset:   1 I:    1    2  J:    1    2  K:    1    2  L:    1    1
+ dealloc  dynamic grid (G011)          (AX031)   (AX033)   (AX029)   ZAX1_7
+ -DELETE MIDVAR   M:180 dset:   1 I:      1      2  J:    1    2  K:    1    2  L:      1      1
  canceling dset ./bn_strides.cdf
  
-GO bn_reset
+GO bn_reset bn_non_COARDS_netCDF	
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_non_COARDS_netCDF
 GO bn_non_COARDS_netCDF		! non-standard netCDF files
 ! bn_non_COARDS_netCDF.jnl
 ! *sh* 3/99
@@ -28824,8 +28709,10 @@ list HAS_BACKWARDS_AXIS
  
 ! list/i=1:5 BIG_IRREG
  
-GO bn_reset
+GO bn_reset bn_cache_hits
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_cache_hits
 GO bn_cache_hits		! cache hits on unspecified (full) regions
 ! bn_cache_hits.jnl
  
@@ -28847,10 +28734,10 @@ GO bn_cache_hits.sub sst
  
 stat $1
  !-> stat sst
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
- eval    EX#1     C:  4 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- reading SST      M: 52 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
+ eval    EX#1     C:  4 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
+ reading SST      M:180 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
  
              SEA SURFACE TEMPERATURE
              LONGITUDE: 20E to 20E(380)
@@ -28869,20 +28756,20 @@ stat $1
  Standard deviation: 10.139
 CONFUSE
  dealloc  dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  dealloc  dynamic grid ABSTRACT        ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT
- pass #2 EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ pass #2 EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:    1    5  J: -999 -999  K: -999 -999  L:    1    1
- pseudo  I        M: 44 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  5 dset:   1 I:      1      5  J: -999 -999  K: -999 -999  L:      1      1
+ pseudo  I        M:179 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
 stat $1
  !-> stat sst
- -DELETE I        M: 44 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ -DELETE I        M:179 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
- eval    EX#1     C:  4 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- reading SST      M: 44 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
+ eval    EX#1     C:  4 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
+ found   SST      M:180 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
  
              SEA SURFACE TEMPERATURE
              LONGITUDE: 20E to 20E(380)
@@ -28904,16 +28791,16 @@ define axis/x=130e:80w:1 xtrop
 stat $1[gx=xtrop]
  !-> stat sst[gx=xtrop]
  dealloc  dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME4
- dealloc  dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME4
- allocate dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME4
- eval    EX#1     C:  4 dset:   1 I:    1  151  J:    1   90  K: -999 -999  L:    1    1
- allocate dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME4
- strip regrid on X: SST --> (G002)           @LIN
- reading SST      M: 43 dset:   1 I:   55  131  J:    1   90  K: -999 -999  L:    1    1
- regrid  SST      M: 40 dset:   1 I:    1  151  J:    1   90  K: -999 -999  L:    1    1
- dealloc  dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME4
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G010)          XTROP     COADSY    NORMAL    TIME4
+ dealloc  dynamic grid (G010)          XTROP     COADSY    NORMAL    TIME4
+ allocate dynamic grid (G010)          XTROP     COADSY    NORMAL    TIME4
+ eval    EX#1     C:  4 dset:   1 I:      1    151  J:    1   90  K: -999 -999  L:      1      1
+ allocate dynamic grid (G010)          XTROP     COADSY    NORMAL    TIME4
+ strip regrid on X: SST --> (G010)           @LIN
+ found   SST      M:180 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
+ regrid  SST      M:179 dset:   1 I:      1    151  J:    1   90  K: -999 -999  L:      1      1
+ dealloc  dynamic grid (G010)          XTROP     COADSY    NORMAL    TIME4
  
              SEA SURFACE TEMPERATURE
              regrid: 1 deg on X
@@ -28932,28 +28819,28 @@ stat $1[gx=xtrop]
  Mean    value: 17.605 (unweighted average)
  Standard deviation: 9.8848
 CONFUSE
- dealloc  dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME4
- -DELETE SST      M: 40 dset:   1 I:    1  151  J:    1   90  K: -999 -999  L:    1    1
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ dealloc  dynamic grid (G010)          XTROP     COADSY    NORMAL    TIME4
+ -DELETE SST      M:179 dset:   1 I:      1    151  J:    1   90  K: -999 -999  L:      1      1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  dealloc  dynamic grid ABSTRACT        ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT
- pass #2 EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ pass #2 EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:    1    5  J: -999 -999  K: -999 -999  L:    1    1
- pseudo  I        M: 40 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  5 dset:   1 I:      1      5  J: -999 -999  K: -999 -999  L:      1      1
+ pseudo  I        M:179 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
 stat $1[gx=xtrop]
  !-> stat sst[gx=xtrop]
- -DELETE I        M: 40 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ -DELETE I        M:179 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME4
- dealloc  dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME4
- allocate dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME4
- eval    EX#1     C:  4 dset:   1 I:    1  151  J:    1   90  K: -999 -999  L:    1    1
- allocate dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME4
- strip regrid on X: SST --> (G002)           @LIN
- reading SST      M: 40 dset:   1 I:   55  131  J:    1   90  K: -999 -999  L:    1    1
- regrid  SST      M: 38 dset:   1 I:    1  151  J:    1   90  K: -999 -999  L:    1    1
- dealloc  dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME4
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G010)          XTROP     COADSY    NORMAL    TIME4
+ dealloc  dynamic grid (G010)          XTROP     COADSY    NORMAL    TIME4
+ allocate dynamic grid (G010)          XTROP     COADSY    NORMAL    TIME4
+ eval    EX#1     C:  4 dset:   1 I:      1    151  J:    1   90  K: -999 -999  L:      1      1
+ allocate dynamic grid (G010)          XTROP     COADSY    NORMAL    TIME4
+ strip regrid on X: SST --> (G010)           @LIN
+ found   SST      M:180 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
+ regrid  SST      M:179 dset:   1 I:      1    151  J:    1   90  K: -999 -999  L:      1      1
+ dealloc  dynamic grid (G010)          XTROP     COADSY    NORMAL    TIME4
  
              SEA SURFACE TEMPERATURE
              regrid: 1 deg on X
@@ -28976,21 +28863,21 @@ let $1x = $1[gx=xtrop]
  !-> DEFINE VARIABLE sstx = sst[gx=xtrop]
 stat $1x
  !-> stat sstx
- dealloc  dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME4
- -DELETE SST      M: 38 dset:   1 I:    1  151  J:    1   90  K: -999 -999  L:    1    1
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid SSTX     C:  7 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME4
- dealloc  dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME4
- allocate dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME4
- allocate dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME4
- eval    EX#1     C:  4 dset:   1 I:    1  151  J:    1   90  K: -999 -999  L:    1    1
- eval    SSTX     C:  6 dset:   1 I:    1  151  J:    1   90  K: -999 -999  L:    1    1
- allocate dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME4
- strip regrid on X: SST --> (G002)           @LIN
- reading SST      M: 38 dset:   1 I:   55  131  J:    1   90  K: -999 -999  L:    1    1
- regrid  SST      M: 39 dset:   1 I:    1  151  J:    1   90  K: -999 -999  L:    1    1
- dealloc  dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME4
+ dealloc  dynamic grid (G010)          XTROP     COADSY    NORMAL    TIME4
+ -DELETE SST      M:179 dset:   1 I:      1    151  J:    1   90  K: -999 -999  L:      1      1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid SSTX     C:  7 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G010)          XTROP     COADSY    NORMAL    TIME4
+ dealloc  dynamic grid (G010)          XTROP     COADSY    NORMAL    TIME4
+ allocate dynamic grid (G010)          XTROP     COADSY    NORMAL    TIME4
+ allocate dynamic grid (G010)          XTROP     COADSY    NORMAL    TIME4
+ eval    EX#1     C:  4 dset:   1 I:      1    151  J:    1   90  K: -999 -999  L:      1      1
+ eval    SSTX     C:  6 dset:   1 I:      1    151  J:    1   90  K: -999 -999  L:      1      1
+ allocate dynamic grid (G010)          XTROP     COADSY    NORMAL    TIME4
+ strip regrid on X: SST --> (G010)           @LIN
+ found   SST      M:180 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
+ regrid  SST      M:179 dset:   1 I:      1    151  J:    1   90  K: -999 -999  L:      1      1
+ dealloc  dynamic grid (G010)          XTROP     COADSY    NORMAL    TIME4
  
              SST[GX=XTROP]
              LONGITUDE: 129.5E to 79.5W
@@ -29008,26 +28895,21 @@ stat $1x
  Mean    value: 17.605 (unweighted average)
  Standard deviation: 9.8848
 CONFUSE
- dealloc  dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME4
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ dealloc  dynamic grid (G010)          XTROP     COADSY    NORMAL    TIME4
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  dealloc  dynamic grid ABSTRACT        ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT
- pass #2 EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ pass #2 EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:    1    5  J: -999 -999  K: -999 -999  L:    1    1
- pseudo  I        M: 35 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  5 dset:   1 I:      1      5  J: -999 -999  K: -999 -999  L:      1      1
+ pseudo  I        M:170 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
 stat $1x
  !-> stat sstx
- -DELETE I        M: 35 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ -DELETE I        M:170 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME4
- eval    EX#1     C:  4 dset:   1 I:    1  151  J:    1   90  K: -999 -999  L:    1    1
- eval    SSTX     C:  6 dset:   1 I:    1  151  J:    1   90  K: -999 -999  L:    1    1
- allocate dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME4
- strip regrid on X: SST --> (G002)           @LIN
- reading SST      M: 35 dset:   1 I:   55  131  J:    1   90  K: -999 -999  L:    1    1
- regrid  SST      M: 34 dset:   1 I:    1  151  J:    1   90  K: -999 -999  L:    1    1
- dealloc  dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME4
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G010)          XTROP     COADSY    NORMAL    TIME4
+ eval    EX#1     C:  4 dset:   1 I:      1    151  J:    1   90  K: -999 -999  L:      1      1
+ found   SSTX     M:173 dset:   1 I:      1    151  J:    1   90  K: -999 -999  L:      1      1
  
              SST[GX=XTROP]
              LONGITUDE: 129.5E to 79.5W
@@ -29046,24 +28928,22 @@ stat $1x
  Standard deviation: 9.8848
  
 define grid/x=xtrop gx
- dealloc  dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME4
- -DELETE SSTX     M: 33 dset:   1 I:    1  151  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SSTX     M: 36 dset:   1 I:    1  151  J:    1   90  K: -999 -999  L:    1    1
- dealloc  dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME4
- -DELETE SST      M: 34 dset:   1 I:    1  151  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST      M: 39 dset:   1 I:    1  151  J:    1   90  K: -999 -999  L:    1    1
+ dealloc  dynamic grid (G010)          XTROP     COADSY    NORMAL    TIME4
+ -DELETE SSTX     M:173 dset:   1 I:      1    151  J:    1   90  K: -999 -999  L:      1      1
+ dealloc  dynamic grid (G010)          XTROP     COADSY    NORMAL    TIME4
+ -DELETE SST      M:179 dset:   1 I:      1    151  J:    1   90  K: -999 -999  L:      1      1
 stat $1[g=gx]
  !-> stat sst[g=gx]
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME4
- dealloc  dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME4
- allocate dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME4
- eval    EX#1     C:  4 dset:   1 I:    1  151  J:    1   90  K: -999 -999  L:    1    1
- allocate dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME4
- strip regrid on X: SST --> (G002)           @LIN
- reading SST      M: 39 dset:   1 I:   55  131  J:    1   90  K: -999 -999  L:    1    1
- regrid  SST      M: 34 dset:   1 I:    1  151  J:    1   90  K: -999 -999  L:    1    1
- dealloc  dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME4
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G010)          XTROP     COADSY    NORMAL    TIME4
+ dealloc  dynamic grid (G010)          XTROP     COADSY    NORMAL    TIME4
+ allocate dynamic grid (G010)          XTROP     COADSY    NORMAL    TIME4
+ eval    EX#1     C:  4 dset:   1 I:      1    151  J:    1   90  K: -999 -999  L:      1      1
+ allocate dynamic grid (G010)          XTROP     COADSY    NORMAL    TIME4
+ strip regrid on X: SST --> (G010)           @LIN
+ found   SST      M:180 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
+ regrid  SST      M:179 dset:   1 I:      1    151  J:    1   90  K: -999 -999  L:      1      1
+ dealloc  dynamic grid (G010)          XTROP     COADSY    NORMAL    TIME4
  
              SEA SURFACE TEMPERATURE
              regrid: 1 deg on X
@@ -29082,28 +28962,28 @@ stat $1[g=gx]
  Mean    value: 17.605 (unweighted average)
  Standard deviation: 9.8848
 CONFUSE
- dealloc  dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME4
- -DELETE SST      M: 34 dset:   1 I:    1  151  J:    1   90  K: -999 -999  L:    1    1
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ dealloc  dynamic grid (G010)          XTROP     COADSY    NORMAL    TIME4
+ -DELETE SST      M:179 dset:   1 I:      1    151  J:    1   90  K: -999 -999  L:      1      1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  dealloc  dynamic grid ABSTRACT        ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT
- pass #2 EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ pass #2 EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:    1    5  J: -999 -999  K: -999 -999  L:    1    1
- pseudo  I        M: 34 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  5 dset:   1 I:      1      5  J: -999 -999  K: -999 -999  L:      1      1
+ pseudo  I        M:179 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
 stat $1[g=gx]
  !-> stat sst[g=gx]
- -DELETE I        M: 34 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ -DELETE I        M:179 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME4
- dealloc  dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME4
- allocate dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME4
- eval    EX#1     C:  4 dset:   1 I:    1  151  J:    1   90  K: -999 -999  L:    1    1
- allocate dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME4
- strip regrid on X: SST --> (G002)           @LIN
- reading SST      M: 34 dset:   1 I:   55  131  J:    1   90  K: -999 -999  L:    1    1
- regrid  SST      M: 36 dset:   1 I:    1  151  J:    1   90  K: -999 -999  L:    1    1
- dealloc  dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME4
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G010)          XTROP     COADSY    NORMAL    TIME4
+ dealloc  dynamic grid (G010)          XTROP     COADSY    NORMAL    TIME4
+ allocate dynamic grid (G010)          XTROP     COADSY    NORMAL    TIME4
+ eval    EX#1     C:  4 dset:   1 I:      1    151  J:    1   90  K: -999 -999  L:      1      1
+ allocate dynamic grid (G010)          XTROP     COADSY    NORMAL    TIME4
+ strip regrid on X: SST --> (G010)           @LIN
+ found   SST      M:180 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
+ regrid  SST      M:179 dset:   1 I:      1    151  J:    1   90  K: -999 -999  L:      1      1
+ dealloc  dynamic grid (G010)          XTROP     COADSY    NORMAL    TIME4
  
              SEA SURFACE TEMPERATURE
              regrid: 1 deg on X
@@ -29125,19 +29005,19 @@ stat $1[g=gx]
 define axis/y=20s:20n:1 ytrop
 stat $1[gx=xtrop,gy=ytrop]
  !-> stat sst[gx=xtrop,gy=ytrop]
- dealloc  dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME4
- -DELETE SST      M: 36 dset:   1 I:    1  151  J:    1   90  K: -999 -999  L:    1    1
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G002)          XTROP     YTROP     NORMAL    TIME4
- dealloc  dynamic grid (G002)          XTROP     YTROP     NORMAL    TIME4
- allocate dynamic grid (G002)          XTROP     YTROP     NORMAL    TIME4
- eval    EX#1     C:  4 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
- allocate dynamic grid (G002)          XTROP     YTROP     NORMAL    TIME4
- strip regrid on X: SST --> (G002)           @LIN
- reading SST      M: 36 dset:   1 I:   55  131  J:   35   56  K: -999 -999  L:    1    1
+ dealloc  dynamic grid (G010)          XTROP     COADSY    NORMAL    TIME4
+ -DELETE SST      M:179 dset:   1 I:      1    151  J:    1   90  K: -999 -999  L:      1      1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G010)          XTROP     YTROP     NORMAL    TIME4
+ dealloc  dynamic grid (G010)          XTROP     YTROP     NORMAL    TIME4
+ allocate dynamic grid (G010)          XTROP     YTROP     NORMAL    TIME4
+ eval    EX#1     C:  4 dset:   1 I:      1    151  J:    1   41  K: -999 -999  L:      1      1
+ allocate dynamic grid (G010)          XTROP     YTROP     NORMAL    TIME4
+ strip regrid on X: SST --> (G010)           @LIN
+ found   SST      M:180 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
  regrid XY
- regrid  SST      M: 33 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
- dealloc  dynamic grid (G002)          XTROP     YTROP     NORMAL    TIME4
+ regrid  SST      M:179 dset:   1 I:      1    151  J:    1   41  K: -999 -999  L:      1      1
+ dealloc  dynamic grid (G010)          XTROP     YTROP     NORMAL    TIME4
  
              SEA SURFACE TEMPERATURE
              regrid: 1 deg on X, 1 deg on Y
@@ -29156,29 +29036,29 @@ stat $1[gx=xtrop,gy=ytrop]
  Mean    value: 26.908 (unweighted average)
  Standard deviation: 1.778
 CONFUSE
- dealloc  dynamic grid (G002)          XTROP     YTROP     NORMAL    TIME4
- -DELETE SST      M: 33 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ dealloc  dynamic grid (G010)          XTROP     YTROP     NORMAL    TIME4
+ -DELETE SST      M:179 dset:   1 I:      1    151  J:    1   41  K: -999 -999  L:      1      1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  dealloc  dynamic grid ABSTRACT        ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT
- pass #2 EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ pass #2 EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:    1    5  J: -999 -999  K: -999 -999  L:    1    1
- pseudo  I        M: 33 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  5 dset:   1 I:      1      5  J: -999 -999  K: -999 -999  L:      1      1
+ pseudo  I        M:179 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
 stat $1[gx=xtrop,gy=ytrop]
  !-> stat sst[gx=xtrop,gy=ytrop]
- -DELETE I        M: 33 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ -DELETE I        M:179 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G002)          XTROP     YTROP     NORMAL    TIME4
- dealloc  dynamic grid (G002)          XTROP     YTROP     NORMAL    TIME4
- allocate dynamic grid (G002)          XTROP     YTROP     NORMAL    TIME4
- eval    EX#1     C:  4 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
- allocate dynamic grid (G002)          XTROP     YTROP     NORMAL    TIME4
- strip regrid on X: SST --> (G002)           @LIN
- reading SST      M: 33 dset:   1 I:   55  131  J:   35   56  K: -999 -999  L:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G010)          XTROP     YTROP     NORMAL    TIME4
+ dealloc  dynamic grid (G010)          XTROP     YTROP     NORMAL    TIME4
+ allocate dynamic grid (G010)          XTROP     YTROP     NORMAL    TIME4
+ eval    EX#1     C:  4 dset:   1 I:      1    151  J:    1   41  K: -999 -999  L:      1      1
+ allocate dynamic grid (G010)          XTROP     YTROP     NORMAL    TIME4
+ strip regrid on X: SST --> (G010)           @LIN
+ found   SST      M:180 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
  regrid XY
- regrid  SST      M: 30 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
- dealloc  dynamic grid (G002)          XTROP     YTROP     NORMAL    TIME4
+ regrid  SST      M:179 dset:   1 I:      1    151  J:    1   41  K: -999 -999  L:      1      1
+ dealloc  dynamic grid (G010)          XTROP     YTROP     NORMAL    TIME4
  
              SEA SURFACE TEMPERATURE
              regrid: 1 deg on X, 1 deg on Y
@@ -29199,19 +29079,19 @@ stat $1[gx=xtrop,gy=ytrop]
  
 define grid/like=$1/x=xtrop/y=ytrop gxyt
  !-> define grid/like=sst/x=xtrop/y=ytrop gxyt
- dealloc  dynamic grid (G002)          XTROP     YTROP     NORMAL    TIME4
- -DELETE SST      M: 30 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
- getgrid EX#1     C:  6 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ dealloc  dynamic grid (G010)          XTROP     YTROP     NORMAL    TIME4
+ -DELETE SST      M:179 dset:   1 I:      1    151  J:    1   41  K: -999 -999  L:      1      1
+ getgrid EX#1     C:  6 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
 stat $1[g=gxyt]
  !-> stat sst[g=gxyt]
  dealloc  dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:      1    151  J:    1   41  K: -999 -999  L:      1      1
  strip regrid on X: SST --> GXYT             @LIN
- reading SST      M: 30 dset:   1 I:   55  131  J:   35   56  K: -999 -999  L:    1    1
+ found   SST      M:180 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
  regrid XY
- regrid  SST      M: 29 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
+ regrid  SST      M:179 dset:   1 I:      1    151  J:    1   41  K: -999 -999  L:      1      1
  
              SEA SURFACE TEMPERATURE
              regrid: GXYT
@@ -29231,22 +29111,19 @@ stat $1[g=gxyt]
  Standard deviation: 1.778
 CONFUSE
  dealloc  dynamic grid GXYT            XTROP     YTROP     NORMAL    TIME4
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  dealloc  dynamic grid ABSTRACT        ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT
- pass #2 EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ pass #2 EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:    1    5  J: -999 -999  K: -999 -999  L:    1    1
- pseudo  I        M: 26 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  5 dset:   1 I:      1      5  J: -999 -999  K: -999 -999  L:      1      1
+ pseudo  I        M:173 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
 stat $1[g=gxyt]
  !-> stat sst[g=gxyt]
- -DELETE I        M: 26 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ -DELETE I        M:173 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
- strip regrid on X: SST --> GXYT             @LIN
- reading SST      M: 26 dset:   1 I:   55  131  J:   35   56  K: -999 -999  L:    1    1
- regrid XY
- regrid  SST      M: 25 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:      1    151  J:    1   41  K: -999 -999  L:      1      1
+ found   SST      M:179 dset:   1 I:      1    151  J:    1   41  K: -999 -999  L:      1      1
  
              SEA SURFACE TEMPERATURE
              regrid: GXYT
@@ -29270,14 +29147,11 @@ let $1xyt = $1[g=gxyt]
 stat $1xyt
  !-> stat sstxyt
  dealloc  dynamic grid GXYT            XTROP     YTROP     NORMAL    TIME4
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid SSTXYT   C:  7 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
- eval    SSTXYT   C:  6 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
- strip regrid on X: SST --> GXYT             @LIN
- reading SST      M: 24 dset:   1 I:   55  131  J:   35   56  K: -999 -999  L:    1    1
- regrid XY
- regrid  SST      M: 23 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid SSTXYT   C:  7 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:      1    151  J:    1   41  K: -999 -999  L:      1      1
+ eval    SSTXYT   C:  6 dset:   1 I:      1    151  J:    1   41  K: -999 -999  L:      1      1
+ found   SST      M:179 dset:   1 I:      1    151  J:    1   41  K: -999 -999  L:      1      1
  
              SST[G=GXYT]
              LONGITUDE: 129.5E to 79.5W
@@ -29296,23 +29170,19 @@ stat $1xyt
  Standard deviation: 1.778
 CONFUSE
  dealloc  dynamic grid GXYT            XTROP     YTROP     NORMAL    TIME4
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  dealloc  dynamic grid ABSTRACT        ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT
- pass #2 EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ pass #2 EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:    1    5  J: -999 -999  K: -999 -999  L:    1    1
- pseudo  I        M: 21 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  5 dset:   1 I:      1      5  J: -999 -999  K: -999 -999  L:      1      1
+ pseudo  I        M:170 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
 stat $1xyt
  !-> stat sstxyt
- -DELETE I        M: 21 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ -DELETE I        M:170 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
- eval    SSTXYT   C:  6 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
- strip regrid on X: SST --> GXYT             @LIN
- reading SST      M: 21 dset:   1 I:   55  131  J:   35   56  K: -999 -999  L:    1    1
- regrid XY
- regrid  SST      M: 20 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:      1    151  J:    1   41  K: -999 -999  L:      1      1
+ found   SSTXYT   M:173 dset:   1 I:      1    151  J:    1   41  K: -999 -999  L:      1      1
  
              SST[G=GXYT]
              LONGITUDE: 129.5E to 79.5W
@@ -29333,19 +29203,15 @@ stat $1xyt
 let $1xyt = $1[g=gxyt]
  !-> DEFINE VARIABLE sstxyt = sst[g=gxyt]
  dealloc  dynamic grid GXYT            XTROP     YTROP     NORMAL    TIME4
- -DELETE SSTXYT   M: 19 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
- -DELETE SSTXYT   M: 22 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
+ -DELETE SSTXYT   M:173 dset:   1 I:      1    151  J:    1   41  K: -999 -999  L:      1      1
  dealloc  dynamic grid GXYT            XTROP     YTROP     NORMAL    TIME4
 stat $1xyt
  !-> stat sstxyt
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid SSTXYT   C:  7 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
- eval    SSTXYT   C:  6 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
- strip regrid on X: SST --> GXYT             @LIN
- reading SST      M: 22 dset:   1 I:   55  131  J:   35   56  K: -999 -999  L:    1    1
- regrid XY
- regrid  SST      M: 19 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid SSTXYT   C:  7 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:      1    151  J:    1   41  K: -999 -999  L:      1      1
+ eval    SSTXYT   C:  6 dset:   1 I:      1    151  J:    1   41  K: -999 -999  L:      1      1
+ found   SST      M:179 dset:   1 I:      1    151  J:    1   41  K: -999 -999  L:      1      1
  
              SST[G=GXYT]
              LONGITUDE: 129.5E to 79.5W
@@ -29364,23 +29230,19 @@ stat $1xyt
  Standard deviation: 1.778
 CONFUSE
  dealloc  dynamic grid GXYT            XTROP     YTROP     NORMAL    TIME4
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  dealloc  dynamic grid ABSTRACT        ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT
- pass #2 EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ pass #2 EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:    1    5  J: -999 -999  K: -999 -999  L:    1    1
- pseudo  I        M: 17 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  5 dset:   1 I:      1      5  J: -999 -999  K: -999 -999  L:      1      1
+ pseudo  I        M:170 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
 stat $1xyt
  !-> stat sstxyt
- -DELETE I        M: 17 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ -DELETE I        M:170 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
- eval    SSTXYT   C:  6 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
- strip regrid on X: SST --> GXYT             @LIN
- reading SST      M: 17 dset:   1 I:   55  131  J:   35   56  K: -999 -999  L:    1    1
- regrid XY
- regrid  SST      M: 16 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:      1    151  J:    1   41  K: -999 -999  L:      1      1
+ found   SSTXYT   M:173 dset:   1 I:      1    151  J:    1   41  K: -999 -999  L:      1      1
  
              SST[G=GXYT]
              LONGITUDE: 129.5E to 79.5W
@@ -29401,12 +29263,13 @@ stat $1xyt
 stat $1[x=@ave]
  !-> stat sst[x=@ave]
  dealloc  dynamic grid GXYT            XTROP     YTROP     NORMAL    TIME4
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
- eval    EX#1     C:  4 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
+ eval    EX#1     C:  4 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
  strip --> SST[X=20E:20E(380)@AVE,D=1]
- reading SST      M: 14 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
+ found   SST      M:180 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
  doing --> SST[X=20E:20E(380)@AVE,D=1]
+ final --> SST[X=20E:20E(380)@AVE,D=1]
  
              SEA SURFACE TEMPERATURE
              LONGITUDE: 20E to 20E(380) (averaged)
@@ -29425,22 +29288,20 @@ stat $1[x=@ave]
  Standard deviation: 10.445
 CONFUSE	
  dealloc  dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  dealloc  dynamic grid ABSTRACT        ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT
- pass #2 EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ pass #2 EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:    1    5  J: -999 -999  K: -999 -999  L:    1    1
- pseudo  I        M: 12 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  5 dset:   1 I:      1      5  J: -999 -999  K: -999 -999  L:      1      1
+ pseudo  I        M:166 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
 stat $1[x=@ave]
  !-> stat sst[x=@ave]
- -DELETE I        M: 12 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ -DELETE I        M:166 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
- eval    EX#1     C:  4 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- strip --> SST[X=20E:20E(380)@AVE,D=1]
- reading SST      M: 12 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- doing --> SST[X=20E:20E(380)@AVE,D=1]
+ eval    EX#1     C:  4 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
+ found   SST      M:170 dset:   1 I:   -999   -999  J:    1   90  K: -999 -999  L:      1      1
  
              SEA SURFACE TEMPERATURE
              LONGITUDE: 20E to 20E(380) (averaged)
@@ -29463,15 +29324,13 @@ let $1xave = $1[x=@ave]
 stat $1xave
  !-> stat sstxave
  dealloc  dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid SSTXAVE  C:  7 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid SSTXAVE  C:  7 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
  allocate dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
- eval    EX#1     C:  4 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- eval    SSTXAVE  C:  6 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- strip --> SST[X=20E:20E(380)@AVE,D=1]
- reading SST      M: 10 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- doing --> SST[X=20E:20E(380)@AVE,D=1]
+ eval    EX#1     C:  4 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
+ eval    SSTXAVE  C:  6 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
+ found   SST      M:170 dset:   1 I:   -999   -999  J:    1   90  K: -999 -999  L:      1      1
  
              SST[X=@AVE]
              LONGITUDE: 20E to 20E(380)
@@ -29490,23 +29349,20 @@ stat $1xave
  Standard deviation: 10.445
 CONFUSE
  dealloc  dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  dealloc  dynamic grid ABSTRACT        ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT
- pass #2 EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ pass #2 EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:    1    5  J: -999 -999  K: -999 -999  L:    1    1
- pseudo  I        M:  5 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  5 dset:   1 I:      1      5  J: -999 -999  K: -999 -999  L:      1      1
+ pseudo  I        M:168 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
 stat $1xave
  !-> stat sstxave
- -DELETE I        M:  5 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ -DELETE I        M:168 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
- eval    EX#1     C:  4 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- eval    SSTXAVE  C:  6 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- strip --> SST[X=20E:20E(380)@AVE,D=1]
- reading SST      M:  5 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- doing --> SST[X=20E:20E(380)@AVE,D=1]
+ eval    EX#1     C:  4 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
+ found   SSTXAVE  M:166 dset:   1 I:   -999   -999  J:    1   90  K: -999 -999  L:      1      1
  
              SST[X=@AVE]
              LONGITUDE: 20E to 20E(380)
@@ -29527,13 +29383,13 @@ stat $1xave
 stat $1[x=@sbx]
  !-> stat sst[x=@sbx]
  dealloc  dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
- eval    EX#1     C:  4 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
+ eval    EX#1     C:  4 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
  strip --> SST[X=20E:20E(380)@SBX:3,D=1]
- strip moduloing SST on X axis:     0   181 dset:   1
- reading SST      M:  2 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- doing moduloing SST on X axis:     1   180 dset:   1
+ strip moduloing SST on X axis:        0      181 dset:   1
+ found   SST      M:180 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
+ doing moduloing SST on X axis:        1      180 dset:   1
  doing --> SST[X=20E:20E(380)@SBX:3,D=1]
  
              SEA SURFACE TEMPERATURE
@@ -29554,24 +29410,20 @@ stat $1[x=@sbx]
  Standard deviation: 10.112
 CONFUSE
  dealloc  dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  dealloc  dynamic grid ABSTRACT        ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT
- pass #2 EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ pass #2 EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:    1    5  J: -999 -999  K: -999 -999  L:    1    1
- pseudo  I        M: 46 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  5 dset:   1 I:      1      5  J: -999 -999  K: -999 -999  L:      1      1
+ pseudo  I        M:153 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
 stat $1[x=@sbx]
  !-> stat sst[x=@sbx]
- -DELETE I        M: 46 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ -DELETE I        M:153 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
- eval    EX#1     C:  4 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- strip --> SST[X=20E:20E(380)@SBX:3,D=1]
- strip moduloing SST on X axis:     0   181 dset:   1
- reading SST      M: 46 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- doing moduloing SST on X axis:     1   180 dset:   1
- doing --> SST[X=20E:20E(380)@SBX:3,D=1]
+ eval    EX#1     C:  4 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
+ found   SST      M:157 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
  
              SEA SURFACE TEMPERATURE
              box smoothed by 3 pts on X
@@ -29595,17 +29447,13 @@ let $1sbx = $1[x=@sbx]
 stat $1sbx
  !-> stat sstsbx
  dealloc  dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid SSTSBX   C:  7 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid SSTSBX   C:  7 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
  allocate dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
- eval    EX#1     C:  4 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- eval    SSTSBX   C:  6 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- strip --> SST[X=20E:20E(380)@SBX:3,D=1]
- strip moduloing SST on X axis:     0   181 dset:   1
- reading SST      M: 27 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- doing moduloing SST on X axis:     1   180 dset:   1
- doing --> SST[X=20E:20E(380)@SBX:3,D=1]
+ eval    EX#1     C:  4 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
+ eval    SSTSBX   C:  6 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
+ found   SST      M:157 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
  
              SST[X=@SBX]
              LONGITUDE: 20E to 20E(380)
@@ -29624,25 +29472,20 @@ stat $1sbx
  Standard deviation: 10.112
 CONFUSE
  dealloc  dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  dealloc  dynamic grid ABSTRACT        ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT
- pass #2 EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ pass #2 EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:    1    5  J: -999 -999  K: -999 -999  L:    1    1
- pseudo  I        M: 55 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  5 dset:   1 I:      1      5  J: -999 -999  K: -999 -999  L:      1      1
+ pseudo  I        M:152 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
 stat $1sbx
  !-> stat sstsbx
- -DELETE I        M: 55 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ -DELETE I        M:152 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
- eval    EX#1     C:  4 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- eval    SSTSBX   C:  6 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- strip --> SST[X=20E:20E(380)@SBX:3,D=1]
- strip moduloing SST on X axis:     0   181 dset:   1
- reading SST      M: 55 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- doing moduloing SST on X axis:     1   180 dset:   1
- doing --> SST[X=20E:20E(380)@SBX:3,D=1]
+ eval    EX#1     C:  4 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
+ found   SSTSBX   M:153 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
  
              SST[X=@SBX]
              LONGITUDE: 20E to 20E(380)
@@ -29671,15 +29514,15 @@ GO bn_cache_hits.sub sst5
 stat $1
  !-> stat sst5
  dealloc  dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid SST5     C:  7 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid SST5     C:  7 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
  allocate dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
- eval    EX#1     C:  4 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- eval    SST5     C:  6 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- reading SST      M: 48 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- constan cnst     M: 53 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- -DELETE cnst     M: 53 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  4 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
+ eval    SST5     C:  6 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
+ found   SST      M:168 dset:   1 I:      0    181  J:    1   90  K: -999 -999  L:      1      1
+ constan cnst     M:152 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
+ -DELETE cnst     M:152 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
  
              SST+5
              LONGITUDE: 20E to 20E(380)
@@ -29698,23 +29541,20 @@ stat $1
  Standard deviation: 10.139
 CONFUSE
  dealloc  dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  dealloc  dynamic grid ABSTRACT        ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT
- pass #2 EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ pass #2 EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:    1    5  J: -999 -999  K: -999 -999  L:    1    1
- pseudo  I        M: 53 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  5 dset:   1 I:      1      5  J: -999 -999  K: -999 -999  L:      1      1
+ pseudo  I        M:152 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
 stat $1
  !-> stat sst5
- -DELETE I        M: 53 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ -DELETE I        M:152 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
- eval    EX#1     C:  4 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- eval    SST5     C:  6 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- reading SST      M: 53 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- constan cnst     M: 50 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- -DELETE cnst     M: 50 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  4 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
+ found   SST5     M:151 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
  
              SST+5
              LONGITUDE: 20E to 20E(380)
@@ -29736,19 +29576,16 @@ define axis/x=130e:80w:1 xtrop
 stat $1[gx=xtrop]
  !-> stat sst5[gx=xtrop]
  dealloc  dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME4
- dealloc  dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME4
- allocate dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME4
- eval    EX#1     C:  4 dset:   1 I:    1  151  J:    1   90  K: -999 -999  L:    1    1
- allocate dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME4
- strip regrid on X: SST5 --> (G002)           @LIN
- eval    SST5     C:  7 dset:   1 I:   55  131  J:    1   90  K: -999 -999  L:    1    1
- reading SST      M: 50 dset:   1 I:   55  131  J:    1   90  K: -999 -999  L:    1    1
- constan cnst     M: 42 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- -DELETE cnst     M: 42 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- regrid  SST5     M: 42 dset:   1 I:    1  151  J:    1   90  K: -999 -999  L:    1    1
- dealloc  dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME4
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G010)          XTROP     COADSY    NORMAL    TIME4
+ dealloc  dynamic grid (G010)          XTROP     COADSY    NORMAL    TIME4
+ allocate dynamic grid (G010)          XTROP     COADSY    NORMAL    TIME4
+ eval    EX#1     C:  4 dset:   1 I:      1    151  J:    1   90  K: -999 -999  L:      1      1
+ allocate dynamic grid (G010)          XTROP     COADSY    NORMAL    TIME4
+ strip regrid on X: SST5 --> (G010)           @LIN
+ found   SST5     M:151 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
+ regrid  SST5     M:152 dset:   1 I:      1    151  J:    1   90  K: -999 -999  L:      1      1
+ dealloc  dynamic grid (G010)          XTROP     COADSY    NORMAL    TIME4
  
              SST+5
              regrid: 1 deg on X
@@ -29767,31 +29604,28 @@ stat $1[gx=xtrop]
  Mean    value: 22.605 (unweighted average)
  Standard deviation: 9.8848
 CONFUSE
- dealloc  dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME4
- -DELETE SST5     M: 42 dset:   1 I:    1  151  J:    1   90  K: -999 -999  L:    1    1
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ dealloc  dynamic grid (G010)          XTROP     COADSY    NORMAL    TIME4
+ -DELETE SST5     M:152 dset:   1 I:      1    151  J:    1   90  K: -999 -999  L:      1      1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  dealloc  dynamic grid ABSTRACT        ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT
- pass #2 EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ pass #2 EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:    1    5  J: -999 -999  K: -999 -999  L:    1    1
- pseudo  I        M: 42 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  5 dset:   1 I:      1      5  J: -999 -999  K: -999 -999  L:      1      1
+ pseudo  I        M:152 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
 stat $1[gx=xtrop]
  !-> stat sst5[gx=xtrop]
- -DELETE I        M: 42 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ -DELETE I        M:152 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME4
- dealloc  dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME4
- allocate dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME4
- eval    EX#1     C:  4 dset:   1 I:    1  151  J:    1   90  K: -999 -999  L:    1    1
- allocate dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME4
- strip regrid on X: SST5 --> (G002)           @LIN
- eval    SST5     C:  7 dset:   1 I:   55  131  J:    1   90  K: -999 -999  L:    1    1
- reading SST      M: 42 dset:   1 I:   55  131  J:    1   90  K: -999 -999  L:    1    1
- constan cnst     M: 45 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- -DELETE cnst     M: 45 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- regrid  SST5     M: 45 dset:   1 I:    1  151  J:    1   90  K: -999 -999  L:    1    1
- dealloc  dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME4
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G010)          XTROP     COADSY    NORMAL    TIME4
+ dealloc  dynamic grid (G010)          XTROP     COADSY    NORMAL    TIME4
+ allocate dynamic grid (G010)          XTROP     COADSY    NORMAL    TIME4
+ eval    EX#1     C:  4 dset:   1 I:      1    151  J:    1   90  K: -999 -999  L:      1      1
+ allocate dynamic grid (G010)          XTROP     COADSY    NORMAL    TIME4
+ strip regrid on X: SST5 --> (G010)           @LIN
+ found   SST5     M:151 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
+ regrid  SST5     M:152 dset:   1 I:      1    151  J:    1   90  K: -999 -999  L:      1      1
+ dealloc  dynamic grid (G010)          XTROP     COADSY    NORMAL    TIME4
  
              SST+5
              regrid: 1 deg on X
@@ -29814,24 +29648,21 @@ let $1x = $1[gx=xtrop]
  !-> DEFINE VARIABLE sst5x = sst5[gx=xtrop]
 stat $1x
  !-> stat sst5x
- dealloc  dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME4
- -DELETE SST5     M: 45 dset:   1 I:    1  151  J:    1   90  K: -999 -999  L:    1    1
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid SST5X    C:  7 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME4
- dealloc  dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME4
- allocate dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME4
- allocate dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME4
- eval    EX#1     C:  4 dset:   1 I:    1  151  J:    1   90  K: -999 -999  L:    1    1
- eval    SST5X    C:  6 dset:   1 I:    1  151  J:    1   90  K: -999 -999  L:    1    1
- allocate dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME4
- strip regrid on X: SST5 --> (G002)           @LIN
- eval    SST5     C:  9 dset:   1 I:   55  131  J:    1   90  K: -999 -999  L:    1    1
- reading SST      M: 45 dset:   1 I:   55  131  J:    1   90  K: -999 -999  L:    1    1
- constan cnst     M: 58 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- -DELETE cnst     M: 58 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- regrid  SST5     M: 58 dset:   1 I:    1  151  J:    1   90  K: -999 -999  L:    1    1
- dealloc  dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME4
+ dealloc  dynamic grid (G010)          XTROP     COADSY    NORMAL    TIME4
+ -DELETE SST5     M:152 dset:   1 I:      1    151  J:    1   90  K: -999 -999  L:      1      1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid SST5X    C:  7 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G010)          XTROP     COADSY    NORMAL    TIME4
+ dealloc  dynamic grid (G010)          XTROP     COADSY    NORMAL    TIME4
+ allocate dynamic grid (G010)          XTROP     COADSY    NORMAL    TIME4
+ allocate dynamic grid (G010)          XTROP     COADSY    NORMAL    TIME4
+ eval    EX#1     C:  4 dset:   1 I:      1    151  J:    1   90  K: -999 -999  L:      1      1
+ eval    SST5X    C:  6 dset:   1 I:      1    151  J:    1   90  K: -999 -999  L:      1      1
+ allocate dynamic grid (G010)          XTROP     COADSY    NORMAL    TIME4
+ strip regrid on X: SST5 --> (G010)           @LIN
+ found   SST5     M:151 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
+ regrid  SST5     M:152 dset:   1 I:      1    151  J:    1   90  K: -999 -999  L:      1      1
+ dealloc  dynamic grid (G010)          XTROP     COADSY    NORMAL    TIME4
  
              SST5[GX=XTROP]
              LONGITUDE: 129.5E to 79.5W
@@ -29849,29 +29680,21 @@ stat $1x
  Mean    value: 22.605 (unweighted average)
  Standard deviation: 9.8848
 CONFUSE
- dealloc  dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME4
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ dealloc  dynamic grid (G010)          XTROP     COADSY    NORMAL    TIME4
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  dealloc  dynamic grid ABSTRACT        ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT
- pass #2 EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ pass #2 EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:    1    5  J: -999 -999  K: -999 -999  L:    1    1
- pseudo  I        M: 61 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  5 dset:   1 I:      1      5  J: -999 -999  K: -999 -999  L:      1      1
+ pseudo  I        M:148 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
 stat $1x
  !-> stat sst5x
- -DELETE I        M: 61 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ -DELETE I        M:148 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME4
- eval    EX#1     C:  4 dset:   1 I:    1  151  J:    1   90  K: -999 -999  L:    1    1
- eval    SST5X    C:  6 dset:   1 I:    1  151  J:    1   90  K: -999 -999  L:    1    1
- allocate dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME4
- strip regrid on X: SST5 --> (G002)           @LIN
- eval    SST5     C:  9 dset:   1 I:   55  131  J:    1   90  K: -999 -999  L:    1    1
- reading SST      M: 61 dset:   1 I:   55  131  J:    1   90  K: -999 -999  L:    1    1
- constan cnst     M: 62 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- -DELETE cnst     M: 62 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- regrid  SST5     M: 62 dset:   1 I:    1  151  J:    1   90  K: -999 -999  L:    1    1
- dealloc  dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME4
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G010)          XTROP     COADSY    NORMAL    TIME4
+ eval    EX#1     C:  4 dset:   1 I:      1    151  J:    1   90  K: -999 -999  L:      1      1
+ found   SST5X    M:150 dset:   1 I:      1    151  J:    1   90  K: -999 -999  L:      1      1
  
              SST5[GX=XTROP]
              LONGITUDE: 129.5E to 79.5W
@@ -29892,20 +29715,15 @@ stat $1x
 define grid/x=xtrop gx
 stat $1[g=gx]
  !-> stat sst5[g=gx]
- dealloc  dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME4
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME4
- dealloc  dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME4
- allocate dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME4
- eval    EX#1     C:  4 dset:   1 I:    1  151  J:    1   90  K: -999 -999  L:    1    1
- allocate dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME4
- strip regrid on X: SST5 --> (G002)           @LIN
- eval    SST5     C:  7 dset:   1 I:   55  131  J:    1   90  K: -999 -999  L:    1    1
- reading SST      M: 65 dset:   1 I:   55  131  J:    1   90  K: -999 -999  L:    1    1
- constan cnst     M: 66 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- -DELETE cnst     M: 66 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- regrid  SST5     M: 66 dset:   1 I:    1  151  J:    1   90  K: -999 -999  L:    1    1
- dealloc  dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME4
+ dealloc  dynamic grid (G010)          XTROP     COADSY    NORMAL    TIME4
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G010)          XTROP     COADSY    NORMAL    TIME4
+ dealloc  dynamic grid (G010)          XTROP     COADSY    NORMAL    TIME4
+ allocate dynamic grid (G010)          XTROP     COADSY    NORMAL    TIME4
+ eval    EX#1     C:  4 dset:   1 I:      1    151  J:    1   90  K: -999 -999  L:      1      1
+ allocate dynamic grid (G010)          XTROP     COADSY    NORMAL    TIME4
+ found   SST5     M:152 dset:   1 I:      1    151  J:    1   90  K: -999 -999  L:      1      1
+ dealloc  dynamic grid (G010)          XTROP     COADSY    NORMAL    TIME4
  
              SST+5
              regrid: 1 deg on X
@@ -29924,30 +29742,25 @@ stat $1[g=gx]
  Mean    value: 22.605 (unweighted average)
  Standard deviation: 9.8848
 CONFUSE
- dealloc  dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME4
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ dealloc  dynamic grid (G010)          XTROP     COADSY    NORMAL    TIME4
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  dealloc  dynamic grid ABSTRACT        ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT
- pass #2 EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ pass #2 EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:    1    5  J: -999 -999  K: -999 -999  L:    1    1
- pseudo  I        M: 68 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  5 dset:   1 I:      1      5  J: -999 -999  K: -999 -999  L:      1      1
+ pseudo  I        M:148 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
 stat $1[g=gx]
  !-> stat sst5[g=gx]
- -DELETE I        M: 68 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ -DELETE I        M:148 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME4
- dealloc  dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME4
- allocate dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME4
- eval    EX#1     C:  4 dset:   1 I:    1  151  J:    1   90  K: -999 -999  L:    1    1
- allocate dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME4
- strip regrid on X: SST5 --> (G002)           @LIN
- eval    SST5     C:  7 dset:   1 I:   55  131  J:    1   90  K: -999 -999  L:    1    1
- reading SST      M: 68 dset:   1 I:   55  131  J:    1   90  K: -999 -999  L:    1    1
- constan cnst     M: 69 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- -DELETE cnst     M: 69 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- regrid  SST5     M: 69 dset:   1 I:    1  151  J:    1   90  K: -999 -999  L:    1    1
- dealloc  dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME4
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G010)          XTROP     COADSY    NORMAL    TIME4
+ dealloc  dynamic grid (G010)          XTROP     COADSY    NORMAL    TIME4
+ allocate dynamic grid (G010)          XTROP     COADSY    NORMAL    TIME4
+ eval    EX#1     C:  4 dset:   1 I:      1    151  J:    1   90  K: -999 -999  L:      1      1
+ allocate dynamic grid (G010)          XTROP     COADSY    NORMAL    TIME4
+ found   SST5     M:152 dset:   1 I:      1    151  J:    1   90  K: -999 -999  L:      1      1
+ dealloc  dynamic grid (G010)          XTROP     COADSY    NORMAL    TIME4
  
              SST+5
              regrid: 1 deg on X
@@ -29969,16 +29782,13 @@ stat $1[g=gx]
 define axis/y=20s:20n:1 ytrop
 stat $1[gx=xtrop,gy=ytrop]
  !-> stat sst5[gx=xtrop,gy=ytrop]
- dealloc  dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME4
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
+ dealloc  dynamic grid (G010)          XTROP     COADSY    NORMAL    TIME4
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:      1    151  J:    1   41  K: -999 -999  L:      1      1
  strip regrid on X: SST5 --> GXYT             @LIN
- eval    SST5     C:  7 dset:   1 I:   55  131  J:   35   56  K: -999 -999  L:    1    1
- reading SST      M: 71 dset:   1 I:   55  131  J:   35   56  K: -999 -999  L:    1    1
- constan cnst     M: 72 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- -DELETE cnst     M: 72 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
+ found   SST5     M:151 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
  regrid XY
- regrid  SST5     M: 72 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
+ regrid  SST5     M:148 dset:   1 I:      1    151  J:    1   41  K: -999 -999  L:      1      1
  
              SST+5
              regrid: GXYT
@@ -29998,25 +29808,19 @@ stat $1[gx=xtrop,gy=ytrop]
  Standard deviation: 1.778
 CONFUSE
  dealloc  dynamic grid GXYT            XTROP     YTROP     NORMAL    TIME4
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  dealloc  dynamic grid ABSTRACT        ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT
- pass #2 EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ pass #2 EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:    1    5  J: -999 -999  K: -999 -999  L:    1    1
- pseudo  I        M: 74 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  5 dset:   1 I:      1      5  J: -999 -999  K: -999 -999  L:      1      1
+ pseudo  I        M:146 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
 stat $1[gx=xtrop,gy=ytrop]
  !-> stat sst5[gx=xtrop,gy=ytrop]
- -DELETE I        M: 74 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ -DELETE I        M:146 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
- strip regrid on X: SST5 --> GXYT             @LIN
- eval    SST5     C:  7 dset:   1 I:   55  131  J:   35   56  K: -999 -999  L:    1    1
- reading SST      M: 74 dset:   1 I:   55  131  J:   35   56  K: -999 -999  L:    1    1
- constan cnst     M: 75 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- -DELETE cnst     M: 75 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- regrid XY
- regrid  SST5     M: 75 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:      1    151  J:    1   41  K: -999 -999  L:      1      1
+ found   SST5     M:148 dset:   1 I:      1    151  J:    1   41  K: -999 -999  L:      1      1
  
              SST+5
              regrid: GXYT
@@ -30038,20 +29842,14 @@ stat $1[gx=xtrop,gy=ytrop]
 define grid/like=$1/x=xtrop/y=ytrop gxyt
  !-> define grid/like=sst5/x=xtrop/y=ytrop gxyt
  dealloc  dynamic grid GXYT            XTROP     YTROP     NORMAL    TIME4
- getgrid EX#1     C:  6 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  6 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
 stat $1[g=gxyt]
  !-> stat sst5[g=gxyt]
  dealloc  dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
- strip regrid on X: SST5 --> GXYT             @LIN
- eval    SST5     C:  7 dset:   1 I:   55  131  J:   35   56  K: -999 -999  L:    1    1
- reading SST      M: 77 dset:   1 I:   55  131  J:   35   56  K: -999 -999  L:    1    1
- constan cnst     M: 78 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- -DELETE cnst     M: 78 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- regrid XY
- regrid  SST5     M: 78 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:      1    151  J:    1   41  K: -999 -999  L:      1      1
+ found   SST5     M:148 dset:   1 I:      1    151  J:    1   41  K: -999 -999  L:      1      1
  
              SST+5
              regrid: GXYT
@@ -30071,25 +29869,19 @@ stat $1[g=gxyt]
  Standard deviation: 1.778
 CONFUSE
  dealloc  dynamic grid GXYT            XTROP     YTROP     NORMAL    TIME4
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  dealloc  dynamic grid ABSTRACT        ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT
- pass #2 EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ pass #2 EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:    1    5  J: -999 -999  K: -999 -999  L:    1    1
- pseudo  I        M: 80 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  5 dset:   1 I:      1      5  J: -999 -999  K: -999 -999  L:      1      1
+ pseudo  I        M:146 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
 stat $1[g=gxyt]
  !-> stat sst5[g=gxyt]
- -DELETE I        M: 80 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ -DELETE I        M:146 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
- strip regrid on X: SST5 --> GXYT             @LIN
- eval    SST5     C:  7 dset:   1 I:   55  131  J:   35   56  K: -999 -999  L:    1    1
- reading SST      M: 80 dset:   1 I:   55  131  J:   35   56  K: -999 -999  L:    1    1
- constan cnst     M: 81 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- -DELETE cnst     M: 81 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- regrid XY
- regrid  SST5     M: 81 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:      1    151  J:    1   41  K: -999 -999  L:      1      1
+ found   SST5     M:148 dset:   1 I:      1    151  J:    1   41  K: -999 -999  L:      1      1
  
              SST+5
              regrid: GXYT
@@ -30113,17 +29905,11 @@ let $1xyt = $1[g=gxyt]
 stat $1xyt
  !-> stat sst5xyt
  dealloc  dynamic grid GXYT            XTROP     YTROP     NORMAL    TIME4
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid SST5XYT  C:  7 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
- eval    SST5XYT  C:  6 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
- strip regrid on X: SST5 --> GXYT             @LIN
- eval    SST5     C:  9 dset:   1 I:   55  131  J:   35   56  K: -999 -999  L:    1    1
- reading SST      M: 83 dset:   1 I:   55  131  J:   35   56  K: -999 -999  L:    1    1
- constan cnst     M: 84 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- -DELETE cnst     M: 84 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- regrid XY
- regrid  SST5     M: 84 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid SST5XYT  C:  7 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:      1    151  J:    1   41  K: -999 -999  L:      1      1
+ eval    SST5XYT  C:  6 dset:   1 I:      1    151  J:    1   41  K: -999 -999  L:      1      1
+ found   SST5     M:148 dset:   1 I:      1    151  J:    1   41  K: -999 -999  L:      1      1
  
              SST5[G=GXYT]
              LONGITUDE: 129.5E to 79.5W
@@ -30142,26 +29928,19 @@ stat $1xyt
  Standard deviation: 1.778
 CONFUSE
  dealloc  dynamic grid GXYT            XTROP     YTROP     NORMAL    TIME4
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  dealloc  dynamic grid ABSTRACT        ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT
- pass #2 EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ pass #2 EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:    1    5  J: -999 -999  K: -999 -999  L:    1    1
- pseudo  I        M: 87 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  5 dset:   1 I:      1      5  J: -999 -999  K: -999 -999  L:      1      1
+ pseudo  I        M:143 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
 stat $1xyt
  !-> stat sst5xyt
- -DELETE I        M: 87 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ -DELETE I        M:143 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
- eval    SST5XYT  C:  6 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
- strip regrid on X: SST5 --> GXYT             @LIN
- eval    SST5     C:  9 dset:   1 I:   55  131  J:   35   56  K: -999 -999  L:    1    1
- reading SST      M: 87 dset:   1 I:   55  131  J:   35   56  K: -999 -999  L:    1    1
- constan cnst     M: 88 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- -DELETE cnst     M: 88 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- regrid XY
- regrid  SST5     M: 88 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:      1    151  J:    1   41  K: -999 -999  L:      1      1
+ found   SST5XYT  M:146 dset:   1 I:      1    151  J:    1   41  K: -999 -999  L:      1      1
  
              SST5[G=GXYT]
              LONGITUDE: 129.5E to 79.5W
@@ -30182,61 +29961,35 @@ stat $1xyt
 let $1xyt = $1[g=gxyt]
  !-> DEFINE VARIABLE sst5xyt = sst5[g=gxyt]
  dealloc  dynamic grid GXYT            XTROP     YTROP     NORMAL    TIME4
- -DELETE SST5XYT  M: 86 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
- -DELETE SST5XYT  M: 90 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
+ -DELETE SST5XYT  M:146 dset:   1 I:      1    151  J:    1   41  K: -999 -999  L:      1      1
  dealloc  dynamic grid GXYT            XTROP     YTROP     NORMAL    TIME4
- -DELETE SST5X    M: 60 dset:   1 I:    1  151  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST5X    M: 64 dset:   1 I:    1  151  J:    1   90  K: -999 -999  L:    1    1
- dealloc  dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME4
- -DELETE SST5     M: 58 dset:   1 I:    1  151  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST5     M: 62 dset:   1 I:    1  151  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST5     M: 66 dset:   1 I:    1  151  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST5     M: 69 dset:   1 I:    1  151  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST5     M: 31 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST5     M: 41 dset:   1 I:   55  131  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST5     M: 51 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST5     M: 57 dset:   1 I:   55  131  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST5     M: 59 dset:   1 I:   55  131  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST5     M: 63 dset:   1 I:   55  131  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST5     M: 67 dset:   1 I:   55  131  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST5     M: 70 dset:   1 I:   55  131  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST5     M: 72 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
- -DELETE SST5     M: 73 dset:   1 I:   55  131  J:   35   56  K: -999 -999  L:    1    1
- -DELETE SST5     M: 75 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
- -DELETE SST5     M: 76 dset:   1 I:   55  131  J:   35   56  K: -999 -999  L:    1    1
- -DELETE SST5     M: 78 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
- -DELETE SST5     M: 79 dset:   1 I:   55  131  J:   35   56  K: -999 -999  L:    1    1
- -DELETE SST5     M: 81 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
- -DELETE SST5     M: 82 dset:   1 I:   55  131  J:   35   56  K: -999 -999  L:    1    1
- -DELETE SST5     M: 84 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
- -DELETE SST5     M: 85 dset:   1 I:   55  131  J:   35   56  K: -999 -999  L:    1    1
- -DELETE SST5     M: 88 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
- -DELETE SST5     M: 89 dset:   1 I:   55  131  J:   35   56  K: -999 -999  L:    1    1
+ -DELETE SST5X    M:150 dset:   1 I:      1    151  J:    1   90  K: -999 -999  L:      1      1
+ dealloc  dynamic grid (G010)          XTROP     COADSY    NORMAL    TIME4
+ -DELETE SST5     M:152 dset:   1 I:      1    151  J:    1   90  K: -999 -999  L:      1      1
+ -DELETE SST5     M:148 dset:   1 I:      1    151  J:    1   41  K: -999 -999  L:      1      1
+ -DELETE SST5     M:151 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
  dealloc  dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
- -DELETE SSTSBX   M:  1 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SSTSBX   M: 56 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
+ -DELETE SSTSBX   M:153 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
  dealloc  dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
- -DELETE SSTXAVE  M:  3 dset:   1 I: -999 -999  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SSTXAVE  M:  7 dset:   1 I: -999 -999  J:    1   90  K: -999 -999  L:    1    1
+ -DELETE SSTXAVE  M:166 dset:   1 I:   -999   -999  J:    1   90  K: -999 -999  L:      1      1
  dealloc  dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
- -DELETE SSTXYT   M: 15 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
- -DELETE SSTXYT   M: 18 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
+ -DELETE SSTXYT   M:173 dset:   1 I:      1    151  J:    1   41  K: -999 -999  L:      1      1
  dealloc  dynamic grid GXYT            XTROP     YTROP     NORMAL    TIME4
 stat $1xyt
  !-> stat sst5xyt
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid SST5XYT  C:  7 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid SST5     C:  9 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid SST5XYT  C:  7 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid SST5     C:  9 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
- eval    EX#1     C:  4 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
- eval    SST5XYT  C:  6 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
+ eval    EX#1     C:  4 dset:   1 I:      1    151  J:    1   41  K: -999 -999  L:      1      1
+ eval    SST5XYT  C:  6 dset:   1 I:      1    151  J:    1   41  K: -999 -999  L:      1      1
  strip regrid on X: SST5 --> GXYT             @LIN
- eval    SST5     C:  9 dset:   1 I:   55  131  J:   35   56  K: -999 -999  L:    1    1
- reading SST      M: 18 dset:   1 I:   55  131  J:   35   56  K: -999 -999  L:    1    1
- constan cnst     M: 15 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- -DELETE cnst     M: 15 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    SST5     C:  9 dset:   1 I:     55    131  J:   35   56  K: -999 -999  L:      1      1
+ found   SST      M:168 dset:   1 I:      0    181  J:    1   90  K: -999 -999  L:      1      1
+ constan cnst     M:173 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
+ -DELETE cnst     M:173 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
  regrid XY
- regrid  SST5     M: 15 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
+ regrid  SST5     M:173 dset:   1 I:      1    151  J:    1   41  K: -999 -999  L:      1      1
  
              SST5[G=GXYT]
              LONGITUDE: 129.5E to 79.5W
@@ -30255,26 +30008,19 @@ stat $1xyt
  Standard deviation: 1.778
 CONFUSE
  dealloc  dynamic grid GXYT            XTROP     YTROP     NORMAL    TIME4
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  dealloc  dynamic grid ABSTRACT        ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT
- pass #2 EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ pass #2 EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:    1    5  J: -999 -999  K: -999 -999  L:    1    1
- pseudo  I        M: 56 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  5 dset:   1 I:      1      5  J: -999 -999  K: -999 -999  L:      1      1
+ pseudo  I        M:151 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
 stat $1xyt
  !-> stat sst5xyt
- -DELETE I        M: 56 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ -DELETE I        M:151 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
- eval    SST5XYT  C:  6 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
- strip regrid on X: SST5 --> GXYT             @LIN
- eval    SST5     C:  9 dset:   1 I:   55  131  J:   35   56  K: -999 -999  L:    1    1
- reading SST      M: 56 dset:   1 I:   55  131  J:   35   56  K: -999 -999  L:    1    1
- constan cnst     M:  1 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- -DELETE cnst     M:  1 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- regrid XY
- regrid  SST5     M:  1 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:      1    151  J:    1   41  K: -999 -999  L:      1      1
+ found   SST5XYT  M:153 dset:   1 I:      1    151  J:    1   41  K: -999 -999  L:      1      1
  
              SST5[G=GXYT]
              LONGITUDE: 129.5E to 79.5W
@@ -30295,15 +30041,16 @@ stat $1xyt
 stat $1[x=@ave]
  !-> stat sst5[x=@ave]
  dealloc  dynamic grid GXYT            XTROP     YTROP     NORMAL    TIME4
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
- eval    EX#1     C:  4 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
+ eval    EX#1     C:  4 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
  strip --> SST5[X=20E:20E(380)@AVE,D=1]
- eval    SST5     C:  7 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- reading SST      M: 85 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- constan cnst     M: 84 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- -DELETE cnst     M: 84 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    SST5     C:  7 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
+ found   SST      M:168 dset:   1 I:      0    181  J:    1   90  K: -999 -999  L:      1      1
+ constan cnst     M:151 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
+ -DELETE cnst     M:151 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
  doing --> SST5[X=20E:20E(380)@AVE,D=1]
+ final --> SST5[X=20E:20E(380)@AVE,D=1]
  
              SST+5
              LONGITUDE: 20E to 20E(380) (averaged)
@@ -30322,25 +30069,20 @@ stat $1[x=@ave]
  Standard deviation: 10.445
 CONFUSE	
  dealloc  dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  dealloc  dynamic grid ABSTRACT        ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT
- pass #2 EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ pass #2 EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:    1    5  J: -999 -999  K: -999 -999  L:    1    1
- pseudo  I        M: 81 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  5 dset:   1 I:      1      5  J: -999 -999  K: -999 -999  L:      1      1
+ pseudo  I        M:152 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
 stat $1[x=@ave]
  !-> stat sst5[x=@ave]
- -DELETE I        M: 81 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ -DELETE I        M:152 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
- eval    EX#1     C:  4 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- strip --> SST5[X=20E:20E(380)@AVE,D=1]
- eval    SST5     C:  7 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- reading SST      M: 81 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- constan cnst     M: 79 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- -DELETE cnst     M: 79 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- doing --> SST5[X=20E:20E(380)@AVE,D=1]
+ eval    EX#1     C:  4 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
+ found   SST5     M:151 dset:   1 I:   -999   -999  J:    1   90  K: -999 -999  L:      1      1
  
              SST+5
              LONGITUDE: 20E to 20E(380) (averaged)
@@ -30363,18 +30105,13 @@ let $1xave = $1[x=@ave]
 stat $1xave
  !-> stat sst5xave
  dealloc  dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid SST5XAVE C:  7 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid SST5XAVE C:  7 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
  allocate dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
- eval    EX#1     C:  4 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- eval    SST5XAVE C:  6 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- strip --> SST5[X=20E:20E(380)@AVE,D=1]
- eval    SST5     C:  9 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- reading SST      M: 76 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- constan cnst     M: 75 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- -DELETE cnst     M: 75 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- doing --> SST5[X=20E:20E(380)@AVE,D=1]
+ eval    EX#1     C:  4 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
+ eval    SST5XAVE C:  6 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
+ found   SST5     M:151 dset:   1 I:   -999   -999  J:    1   90  K: -999 -999  L:      1      1
  
              SST5[X=@AVE]
              LONGITUDE: 20E to 20E(380)
@@ -30393,26 +30130,20 @@ stat $1xave
  Standard deviation: 10.445
 CONFUSE
  dealloc  dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  dealloc  dynamic grid ABSTRACT        ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT
- pass #2 EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ pass #2 EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:    1    5  J: -999 -999  K: -999 -999  L:    1    1
- pseudo  I        M: 70 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  5 dset:   1 I:      1      5  J: -999 -999  K: -999 -999  L:      1      1
+ pseudo  I        M:150 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
 stat $1xave
  !-> stat sst5xave
- -DELETE I        M: 70 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ -DELETE I        M:150 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
- eval    EX#1     C:  4 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- eval    SST5XAVE C:  6 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- strip --> SST5[X=20E:20E(380)@AVE,D=1]
- eval    SST5     C:  9 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- reading SST      M: 70 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- constan cnst     M: 67 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- -DELETE cnst     M: 67 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- doing --> SST5[X=20E:20E(380)@AVE,D=1]
+ eval    EX#1     C:  4 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
+ found   SST5XAVE M:152 dset:   1 I:   -999   -999  J:    1   90  K: -999 -999  L:      1      1
  
              SST5[X=@AVE]
              LONGITUDE: 20E to 20E(380)
@@ -30433,16 +30164,13 @@ stat $1xave
 stat $1[x=@sbx]
  !-> stat sst5[x=@sbx]
  dealloc  dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
- eval    EX#1     C:  4 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
+ eval    EX#1     C:  4 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
  strip --> SST5[X=20E:20E(380)@SBX:3,D=1]
- strip moduloing SST5 on X axis:     0   181 dset:   1
- eval    SST5     C:  9 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- reading SST      M: 57 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- constan cnst     M: 51 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- -DELETE cnst     M: 51 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- doing moduloing SST5 on X axis:     1   180 dset:   1
+ strip moduloing SST5 on X axis:        0      181 dset:   1
+ found   SST5     M:148 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
+ doing moduloing SST5 on X axis:        1      180 dset:   1
  doing --> SST5[X=20E:20E(380)@SBX:3,D=1]
  
              SST+5
@@ -30463,27 +30191,20 @@ stat $1[x=@sbx]
  Standard deviation: 10.112
 CONFUSE
  dealloc  dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  dealloc  dynamic grid ABSTRACT        ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT
- pass #2 EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ pass #2 EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:    1    5  J: -999 -999  K: -999 -999  L:    1    1
- pseudo  I        M: 69 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  5 dset:   1 I:      1      5  J: -999 -999  K: -999 -999  L:      1      1
+ pseudo  I        M:143 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
 stat $1[x=@sbx]
  !-> stat sst5[x=@sbx]
- -DELETE I        M: 69 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ -DELETE I        M:143 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
- eval    EX#1     C:  4 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- strip --> SST5[X=20E:20E(380)@SBX:3,D=1]
- strip moduloing SST5 on X axis:     0   181 dset:   1
- eval    SST5     C:  9 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- reading SST      M: 69 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- constan cnst     M: 66 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- -DELETE cnst     M: 66 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- doing moduloing SST5 on X axis:     1   180 dset:   1
- doing --> SST5[X=20E:20E(380)@SBX:3,D=1]
+ eval    EX#1     C:  4 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
+ found   SST5     M:146 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
  
              SST+5
              box smoothed by 3 pts on X
@@ -30507,20 +30228,13 @@ let $1sbx = $1[x=@sbx]
 stat $1sbx
  !-> stat sst5sbx
  dealloc  dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid SST5SBX  C:  7 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid SST5SBX  C:  7 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
  allocate dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
- eval    EX#1     C:  4 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- eval    SST5SBX  C:  6 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- strip --> SST5[X=20E:20E(380)@SBX:3,D=1]
- strip moduloing SST5 on X axis:     0   181 dset:   1
- eval    SST5     C: 11 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- reading SST      M: 64 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- constan cnst     M: 60 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- -DELETE cnst     M: 60 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- doing moduloing SST5 on X axis:     1   180 dset:   1
- doing --> SST5[X=20E:20E(380)@SBX:3,D=1]
+ eval    EX#1     C:  4 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
+ eval    SST5SBX  C:  6 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
+ found   SST5     M:146 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
  
              SST5[X=@SBX]
              LONGITUDE: 20E to 20E(380)
@@ -30539,28 +30253,20 @@ stat $1sbx
  Standard deviation: 10.112
 CONFUSE
  dealloc  dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  dealloc  dynamic grid ABSTRACT        ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT
- pass #2 EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ pass #2 EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:    1    5  J: -999 -999  K: -999 -999  L:    1    1
- pseudo  I        M: 92 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  5 dset:   1 I:      1      5  J: -999 -999  K: -999 -999  L:      1      1
+ pseudo  I        M:142 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
 stat $1sbx
  !-> stat sst5sbx
- -DELETE I        M: 92 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ -DELETE I        M:142 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
- eval    EX#1     C:  4 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- eval    SST5SBX  C:  6 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- strip --> SST5[X=20E:20E(380)@SBX:3,D=1]
- strip moduloing SST5 on X axis:     0   181 dset:   1
- eval    SST5     C: 11 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- reading SST      M: 92 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- constan cnst     M: 93 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- -DELETE cnst     M: 93 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- doing moduloing SST5 on X axis:     1   180 dset:   1
- doing --> SST5[X=20E:20E(380)@SBX:3,D=1]
+ eval    EX#1     C:  4 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
+ found   SST5SBX  M:143 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
  
              SST5[X=@SBX]
              LONGITUDE: 20E to 20E(380)
@@ -30592,24 +30298,23 @@ set mode diag
 let a = i[i=1:10]
 say `a,return=isize`     ! no evaluation of a required -- just context
  dealloc  dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid A        C:  7 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid A        C:  7 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  dealloc  dynamic grid ABSTRACT        ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT
- pass #2 A        C:  7 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ pass #2 A        C:  7 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I: -999 -999  J: -999 -999  K: -999 -999  L:    1    1
- eval    A        C:  6 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- pseudo  I        M: 97 dset:   0 I:    1   10  J: -999 -999  K: -999 -999  L: -999 -999
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:   -999   -999  J: -999 -999  K: -999 -999  L:      1      1
+ eval    A        C:  6 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
+ pseudo  I        M:142 dset:   0 I:      1     10  J: -999 -999  K: -999 -999  L:   -999   -999
  !-> MESSAGE/CONTINUE 10
 10
 list/nohead a            ! evaluate it now
- -DELETE I        M: 97 dset:   0 I:    1   10  J: -999 -999  K: -999 -999  L: -999 -999
+ -DELETE I        M:142 dset:   0 I:      1     10  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I: -999 -999  J: -999 -999  K: -999 -999  L:    1    1
- eval    A        C:  6 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- pseudo  I        M: 97 dset:   0 I:    1   10  J: -999 -999  K: -999 -999  L: -999 -999
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:   -999   -999  J: -999 -999  K: -999 -999  L:      1      1
+ found   A        M:177 dset:   0 I:      1     10  J: -999 -999  K: -999 -999  L:   -999   -999
  1    /  1:   1.0000
  2    /  2:   2.0000
  3    /  3:   3.0000
@@ -30623,69 +30328,45 @@ list/nohead a            ! evaluate it now
  
 let a = XSEQUENCE(j[j=1:5])
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
- -DELETE A        M: 98 dset:   0 I:    1   10  J: -999 -999  K: -999 -999  L: -999 -999
- -DELETE A        M: 99 dset:   0 I:    1   10  J: -999 -999  K: -999 -999  L: -999 -999
+ -DELETE A        M:177 dset:   0 I:      1     10  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
- -DELETE I        M: 97 dset:   0 I:    1   10  J: -999 -999  K: -999 -999  L: -999 -999
- -DELETE SST5SBX  M: 91 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST5SBX  M: 96 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
+ -DELETE SST5SBX  M:143 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
  dealloc  dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
- -DELETE SST5XAVE M: 59 dset:   1 I: -999 -999  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST5XAVE M: 72 dset:   1 I: -999 -999  J:    1   90  K: -999 -999  L:    1    1
+ -DELETE SST5XAVE M:152 dset:   1 I:   -999   -999  J:    1   90  K: -999 -999  L:      1      1
  dealloc  dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
- -DELETE SST5XYT  M:  3 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
- -DELETE SST5XYT  M: 88 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
+ -DELETE SST5XYT  M:153 dset:   1 I:      1    151  J:    1   41  K: -999 -999  L:      1      1
  dealloc  dynamic grid GXYT            XTROP     YTROP     NORMAL    TIME4
- -DELETE SST5     M:  1 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
- -DELETE SST5     M:  7 dset:   1 I:   55  131  J:   35   56  K: -999 -999  L:    1    1
- -DELETE SST5     M: 15 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
- -DELETE SST5     M: 31 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST5     M: 41 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST5     M: 51 dset:   1 I:    0  181  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST5     M: 58 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST5     M: 60 dset:   1 I:    0  181  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST5     M: 62 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST5     M: 63 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST5     M: 66 dset:   1 I:    0  181  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST5     M: 67 dset:   1 I: -999 -999  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST5     M: 73 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST5     M: 75 dset:   1 I: -999 -999  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST5     M: 78 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST5     M: 79 dset:   1 I: -999 -999  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST5     M: 82 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST5     M: 84 dset:   1 I: -999 -999  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST5     M: 86 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST5     M: 89 dset:   1 I:   55  131  J:   35   56  K: -999 -999  L:    1    1
- -DELETE SST5     M: 90 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST5     M: 93 dset:   1 I:    0  181  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST5     M: 94 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST5     M: 95 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
+ -DELETE SST5     M:146 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
+ -DELETE SST5     M:148 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
+ -DELETE SST5     M:150 dset:   1 I:      0    181  J:    1   90  K: -999 -999  L:      1      1
+ -DELETE SST5     M:151 dset:   1 I:   -999   -999  J:    1   90  K: -999 -999  L:      1      1
+ -DELETE SST5     M:166 dset:   1 I:     55    131  J:   35   56  K: -999 -999  L:      1      1
+ -DELETE SST5     M:173 dset:   1 I:      1    151  J:    1   41  K: -999 -999  L:      1      1
  dealloc  dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
 say `a,return=isize`     ! evaluate it now
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid A        C:  7 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid (C01,V11 C:  9 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid (C11,V11 C: 11 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid A        C:  7 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid (C01,V11 C:  9 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid (C11,V11 C: 11 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  dealloc  dynamic grid ABSTRACT        ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT
- pass #2 (C11,V11 C: 11 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ pass #2 (C11,V11 C: 11 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I: -999 -999  J: -999 -999  K: -999 -999  L:    1    1
- eval    A        C:  6 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- eval    (C01,V11 C:  8 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- eval    (C11,V11 C: 10 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- pseudo  J        M: 95 dset:   0 I: -999 -999  J:    1    5  K: -999 -999  L: -999 -999
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:   -999   -999  J: -999 -999  K: -999 -999  L:      1      1
+ eval    A        C:  6 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
+ eval    (C01,V11 C:  8 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
+ eval    (C11,V11 C: 10 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
+ pseudo  J        M:173 dset:   0 I:   -999   -999  J:    1    5  K: -999 -999  L:   -999   -999
  !-> MESSAGE/CONTINUE 5
 5
 list/nohead a            ! cache hit
- -DELETE J        M: 95 dset:   0 I: -999 -999  J:    1    5  K: -999 -999  L: -999 -999
+ -DELETE J        M:173 dset:   0 I:   -999   -999  J:    1    5  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I: -999 -999  J: -999 -999  K: -999 -999  L:    1    1
- eval    A        C:  6 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- eval    (C01,V11 C:  8 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- eval    (C11,V11 C: 10 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- pseudo  J        M: 95 dset:   0 I: -999 -999  J:    1    5  K: -999 -999  L: -999 -999
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:   -999   -999  J: -999 -999  K: -999 -999  L:      1      1
+ eval    A        C:  6 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
+ eval    (C01,V11 C:  8 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
+ found   (C11,V11 M:166 dset:   0 I:   -999   -999  J:    1    5  K: -999 -999  L:   -999   -999
  1   / 1:  1.00000
  2   / 2:  2.00000
  3   / 3:  3.00000
@@ -30694,53 +30375,50 @@ list/nohead a            ! cache hit
  
 let a = SAMPLEI(I[i=1:100], {8,5,3})
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
- -DELETE (C11,V11 M: 89 dset:   0 I: -999 -999  J:    1    5  K: -999 -999  L: -999 -999
- -DELETE (C11,V11 M: 94 dset:   0 I: -999 -999  J:    1    5  K: -999 -999  L: -999 -999
+ -DELETE (C11,V11 M:166 dset:   0 I:   -999   -999  J:    1    5  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid YABSTRACT       NORMAL    ABSTRACT  NORMAL    NORMAL
- -DELETE J        M: 95 dset:   0 I: -999 -999  J:    1    5  K: -999 -999  L: -999 -999
- -DELETE (C01,V11 M: 86 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
- -DELETE (C01,V11 M: 93 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ -DELETE (C01,V11 M:151 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
+ -DELETE (C01,V11 M:173 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
- -DELETE A        M: 84 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
- -DELETE A        M: 90 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ -DELETE A        M:148 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
+ -DELETE A        M:150 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
 say `a,return=isize`     ! evaluate it now
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid A        C:  7 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid (C01,V11 C:  9 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid (C09,V11 C: 12 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid A        C:  7 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid (C01,V11 C:  9 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid (C09,V11 C: 12 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  dealloc  dynamic grid ABSTRACT        ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT
- pass #2 (C09,V11 C: 12 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ pass #2 (C09,V11 C: 12 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I: -999 -999  J: -999 -999  K: -999 -999  L:    1    1
- eval    A        C:  6 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- eval    (C01,V11 C:  8 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- const_v {8,5,3}  M: 90 dset:   0 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999
- doing sampling tpry on I axis:     1     3 dset:   0
- eval    (C09,V11 C: 12 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- pseudo  I        M: 86 dset:   0 I:    1  100  J: -999 -999  K: -999 -999  L: -999 -999
- -DELETE (C01,V11 M: 93 dset:   0 I:    1    3  J: -999 -999  K: -999 -999  L:    3    3  M: -999 -999  N: -999 -999
- -DELETE A        M: 84 dset:   0 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999  M: -999 -999  N: -999 -999
- -DELETE tpry     M: 94 dset:   0 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999
- -DELETE {8,5,3}  M: 90 dset:   0 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:   -999   -999  J: -999 -999  K: -999 -999  L:      1      1
+ eval    A        C:  6 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
+ eval    (C01,V11 C:  8 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
+ const_v {8,5,3}  M:150 dset:   0 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999
+ doing sampling tpry on I axis:        1        3 dset:   0
+ eval    (C09,V11 C: 12 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
+ pseudo  I        M:151 dset:   0 I:      1    100  J: -999 -999  K: -999 -999  L:   -999   -999
+ -DELETE (C01,V11 M:173 dset:   0 I:      1      3  J: -999 -999  K: -999 -999  L:      3      3  M: -999 -999  N: -999 -999
+ -DELETE A        M:148 dset:   0 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999  M: -999 -999  N: -999 -999
+ -DELETE tpry     M:146 dset:   0 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999
+ -DELETE {8,5,3}  M:150 dset:   0 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999
  !-> MESSAGE/CONTINUE 3
 3
 list/nohead a            ! cache hit
- -DELETE I        M: 86 dset:   0 I:    1  100  J: -999 -999  K: -999 -999  L: -999 -999
+ -DELETE I        M:151 dset:   0 I:      1    100  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I: -999 -999  J: -999 -999  K: -999 -999  L:    1    1
- eval    A        C:  6 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- eval    (C01,V11 C:  8 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- const_v {8,5,3}  M: 86 dset:   0 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999
- doing sampling tpry on I axis:     1     3 dset:   0
- eval    (C09,V11 C: 12 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- pseudo  I        M: 89 dset:   0 I:    1  100  J: -999 -999  K: -999 -999  L: -999 -999
- -DELETE (C01,V11 M: 93 dset:   0 I:    1    3  J: -999 -999  K: -999 -999  L:    3    3  M: -999 -999  N: -999 -999
- -DELETE tpry     M: 94 dset:   0 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999  M: -999 -999  N: -999 -999
- -DELETE tpry     M: 79 dset:   0 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999
- -DELETE {8,5,3}  M: 86 dset:   0 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:   -999   -999  J: -999 -999  K: -999 -999  L:      1      1
+ eval    A        C:  6 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
+ eval    (C01,V11 C:  8 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
+ const_v {8,5,3}  M:151 dset:   0 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999
+ doing sampling tpry on I axis:        1        3 dset:   0
+ found   (C09,V11 M:166 dset:   0 I:      1    100  J: -999 -999  K: -999 -999  L:   -999   -999
+ -DELETE (C01,V11 M:173 dset:   0 I:      1      3  J: -999 -999  K: -999 -999  L:      3      3  M: -999 -999  N: -999 -999
+ -DELETE tpry     M:146 dset:   0 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999  M: -999 -999  N: -999 -999
+ -DELETE tpry     M:153 dset:   0 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999
+ -DELETE {8,5,3}  M:151 dset:   0 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999
  1   / 1:  8.00000
  2   / 2:  5.00000
  3   / 3:  3.00000
@@ -30749,32 +30427,30 @@ spawn rm -f foo.bar*
 spawn touch foo.bar1 foo.bar2 foo.bar3
 let a = SPAWN("ls foo.bar*")
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
- -DELETE (C09,V11 M: 82 dset:   0 I:    1  100  J: -999 -999  K: -999 -999  L: -999 -999
- -DELETE (C09,V11 M: 95 dset:   0 I:    1  100  J: -999 -999  K: -999 -999  L: -999 -999
+ -DELETE (C09,V11 M:166 dset:   0 I:      1    100  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
- -DELETE (C01,V11 M: 84 dset:   0 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999
- -DELETE (C01,V11 M: 94 dset:   0 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999
+ -DELETE (C01,V11 M:146 dset:   0 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999
+ -DELETE (C01,V11 M:148 dset:   0 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
- -DELETE A        M: 86 dset:   0 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999
- -DELETE A        M: 90 dset:   0 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999
+ -DELETE A        M:150 dset:   0 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999
+ -DELETE A        M:151 dset:   0 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
- -DELETE I        M: 89 dset:   0 I:    1  100  J: -999 -999  K: -999 -999  L: -999 -999
 say `a,return=isize`     ! evaluate it now
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid A        C:  7 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid A        C:  7 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I: -999 -999  J: -999 -999  K: -999 -999  L:    1    1
- eval    A        C:  6 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- string str      M: 89 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M: -999 -999  N: -999 -999
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:   -999   -999  J: -999 -999  K: -999 -999  L:      1      1
+ eval    A        C:  6 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
+ string str      M:151 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M: -999 -999  N: -999 -999
  !-> MESSAGE/CONTINUE 3
 3
 list/nohead a            ! cache hit
+ -DELETE tpry     M:150 dset:   0 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I: -999 -999  J: -999 -999  K: -999 -999  L:    1    1
- eval    A        C:  6 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- string str      M: 86 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M: -999 -999  N: -999 -999
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:   -999   -999  J: -999 -999  K: -999 -999  L:      1      1
+ found   A        M:148 dset:   0 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999
  1   / 1:"foo.bar1"
  2   / 2:"foo.bar2"
  3   / 3:"foo.bar3"
@@ -30782,54 +30458,42 @@ list/nohead a            ! cache hit
 ! RESHAPE, alone, is set to require matched limits in order to make a cache hit
 let a = RESHAPE(I[I=1:3]+10*j[j=1:3], I[i=1:9])
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
- -DELETE A        M: 90 dset:   0 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999
- -DELETE A        M: 94 dset:   0 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999
+ -DELETE A        M:148 dset:   0 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
 say `a,return=isize`
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid A        C:  7 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid (C01,V11 C:  9 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid (C31,V11 C: 11 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid A        C:  7 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid (C01,V11 C:  9 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid (C31,V11 C: 11 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  dealloc  dynamic grid ABSTRACT        ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT
- pass #2 (C31,V11 C: 11 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid (C09,V11 C: 12 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ pass #2 (C31,V11 C: 11 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid (C09,V11 C: 12 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  dealloc  dynamic grid ABSTRACT        ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT
- pass #2 (C09,V11 C: 12 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G002)          ABSTRACT  ABSTRACT  NORMAL    NORMAL
+ pass #2 (C09,V11 C: 12 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G010)          ABSTRACT  ABSTRACT  NORMAL    NORMAL
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I: -999 -999  J: -999 -999  K: -999 -999  L:    1    1
- eval    A        C:  6 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- eval    (C01,V11 C:  8 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- eval    (C09,V11 C: 10 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- pseudo  I        M: 94 dset:   0 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999
- constan cnst     M: 90 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- pseudo  J        M: 84 dset:   0 I: -999 -999  J:    1    3  K: -999 -999  L: -999 -999
- -DELETE J        M: 84 dset:   0 I: -999 -999  J:    1    3  K: -999 -999  L: -999 -999
- -DELETE cnst     M: 90 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- -DELETE tpry     M: 95 dset:   0 I: -999 -999  J:    1    3  K: -999 -999  L: -999 -999  M: -999 -999  N: -999 -999
- -DELETE I        M: 94 dset:   0 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999
- eval    (C31,V11 C: 11 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- pseudo  I        M: 94 dset:   0 I:    1    9  J: -999 -999  K: -999 -999  L: -999 -999
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:   -999   -999  J: -999 -999  K: -999 -999  L:      1      1
+ eval    A        C:  6 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
+ eval    (C01,V11 C:  8 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
+ eval    (C09,V11 C: 10 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
+ pseudo  I        M:148 dset:   0 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999
+ constan cnst     M:150 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
+ pseudo  J        M:146 dset:   0 I:   -999   -999  J:    1    3  K: -999 -999  L:   -999   -999
+ -DELETE J        M:146 dset:   0 I:   -999   -999  J:    1    3  K: -999 -999  L:   -999   -999
+ -DELETE cnst     M:150 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
+ -DELETE tpry     M:166 dset:   0 I:   -999   -999  J:    1    3  K: -999 -999  L:   -999   -999  M: -999 -999  N: -999 -999
+ -DELETE I        M:148 dset:   0 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999
+ eval    (C31,V11 C: 11 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
+ pseudo  I        M:148 dset:   0 I:      1      9  J: -999 -999  K: -999 -999  L:   -999   -999
  !-> MESSAGE/CONTINUE 9
 9
 list/nohead a            ! no cache hit
- -DELETE I        M: 94 dset:   0 I:    1    9  J: -999 -999  K: -999 -999  L: -999 -999
+ -DELETE I        M:148 dset:   0 I:      1      9  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I: -999 -999  J: -999 -999  K: -999 -999  L:    1    1
- eval    A        C:  6 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- eval    (C01,V11 C:  8 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- eval    (C09,V11 C: 10 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- pseudo  I        M: 94 dset:   0 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999
- constan cnst     M: 79 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- pseudo  J        M: 93 dset:   0 I: -999 -999  J:    1    3  K: -999 -999  L: -999 -999
- -DELETE J        M: 93 dset:   0 I: -999 -999  J:    1    3  K: -999 -999  L: -999 -999
- -DELETE cnst     M: 79 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- -DELETE tpry     M: 78 dset:   0 I: -999 -999  J:    1    3  K: -999 -999  L: -999 -999  M: -999 -999  N: -999 -999
- -DELETE I        M: 94 dset:   0 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999
- eval    (C31,V11 C: 11 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- pseudo  I        M: 94 dset:   0 I:    1    9  J: -999 -999  K: -999 -999  L: -999 -999
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:   -999   -999  J: -999 -999  K: -999 -999  L:      1      1
+ found   A        M:153 dset:   0 I:      1      9  J: -999 -999  K: -999 -999  L:   -999   -999
  1   / 1:  11.0000
  2   / 2:  12.0000
  3   / 3:  13.0000
@@ -30845,91 +30509,26 @@ set mode/last diag
 ! v5.4 *kob* 10/01 - need to add exit/script - new exit command qualifiers
 EXIT/SCRIPT
  
-GO bn_reset
+GO bn_reset bn_regrid_to_user
 cancel mode verify
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
- -DELETE (C31,V11 M: 78 dset:   0 I:    1    9  J: -999 -999  K: -999 -999  L: -999 -999
- -DELETE (C31,V11 M: 95 dset:   0 I:    1    9  J: -999 -999  K: -999 -999  L: -999 -999
+ -DELETE (C31,V11 M:166 dset:   0 I:      1      9  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
- -DELETE (C09,V11 M: 79 dset:   0 I:    1    3  J:    1    3  K: -999 -999  L: -999 -999
- -DELETE (C09,V11 M: 90 dset:   0 I:    1    3  J:    1    3  K: -999 -999  L: -999 -999
- dealloc  dynamic grid (G002)          ABSTRACT  ABSTRACT  NORMAL    NORMAL
- -DELETE (C01,V11 M: 84 dset:   0 I:    1    9  J: -999 -999  K: -999 -999  L: -999 -999
- -DELETE (C01,V11 M: 93 dset:   0 I:    1    9  J: -999 -999  K: -999 -999  L: -999 -999
+ -DELETE (C09,V11 M:150 dset:   0 I:      1      3  J:    1    3  K: -999 -999  L:   -999   -999
+ dealloc  dynamic grid (G010)          ABSTRACT  ABSTRACT  NORMAL    NORMAL
+ -DELETE (C01,V11 M:146 dset:   0 I:      1      9  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
- -DELETE A        M: 75 dset:   0 I:    1    9  J: -999 -999  K: -999 -999  L: -999 -999
- -DELETE A        M: 82 dset:   0 I:    1    9  J: -999 -999  K: -999 -999  L: -999 -999
+ -DELETE A        M:153 dset:   0 I:      1      9  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
- -DELETE I        M: 94 dset:   0 I:    1    9  J: -999 -999  K: -999 -999  L: -999 -999
  canceling dset ./coads_climatology.cdf
- -DELETE SST      M:  2 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST      M:  4 dset:   1 I: -999 -999  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST      M:  5 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST      M:  6 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST      M:  8 dset:   1 I:    0  181  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST      M:  9 dset:   1 I: -999 -999  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST      M: 10 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST      M: 11 dset:   1 I: -999 -999  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST      M: 12 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST      M: 13 dset:   1 I: -999 -999  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST      M: 14 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST      M: 16 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
- -DELETE SST      M: 17 dset:   1 I:   55  131  J:   35   56  K: -999 -999  L:    1    1
- -DELETE SST      M: 18 dset:   1 I:   55  131  J:   35   56  K: -999 -999  L:    1    1
- -DELETE SST      M: 19 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
- -DELETE SST      M: 20 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
- -DELETE SST      M: 21 dset:   1 I:   55  131  J:   35   56  K: -999 -999  L:    1    1
- -DELETE SST      M: 22 dset:   1 I:   55  131  J:   35   56  K: -999 -999  L:    1    1
- -DELETE SST      M: 23 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
- -DELETE SST      M: 24 dset:   1 I:   55  131  J:   35   56  K: -999 -999  L:    1    1
- -DELETE SST      M: 25 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
- -DELETE SST      M: 26 dset:   1 I:   55  131  J:   35   56  K: -999 -999  L:    1    1
- -DELETE SST      M: 27 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST      M: 28 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST      M: 29 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
- -DELETE SST      M: 30 dset:   1 I:   55  131  J:   35   56  K: -999 -999  L:    1    1
- -DELETE SST      M: 32 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST      M: 33 dset:   1 I:   55  131  J:   35   56  K: -999 -999  L:    1    1
- -DELETE SST      M: 34 dset:   1 I:   55  131  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST      M: 35 dset:   1 I:   55  131  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST      M: 36 dset:   1 I:   55  131  J:   35   56  K: -999 -999  L:    1    1
- -DELETE SST      M: 37 dset:   1 I:    0  181  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST      M: 38 dset:   1 I:   55  131  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST      M: 39 dset:   1 I:   55  131  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST      M: 40 dset:   1 I:   55  131  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST      M: 42 dset:   1 I:   55  131  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST      M: 43 dset:   1 I:   55  131  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST      M: 44 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST      M: 45 dset:   1 I:   55  131  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST      M: 46 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST      M: 47 dset:   1 I:    0  181  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST      M: 48 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST      M: 49 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST      M: 50 dset:   1 I:   55  131  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST      M: 52 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST      M: 53 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST      M: 54 dset:   1 I:    0  181  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST      M: 55 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST      M: 56 dset:   1 I:   55  131  J:   35   56  K: -999 -999  L:    1    1
- -DELETE SST      M: 57 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST      M: 61 dset:   1 I:   55  131  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST      M: 64 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST      M: 65 dset:   1 I:   55  131  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST      M: 68 dset:   1 I:   55  131  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST      M: 69 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST      M: 70 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST      M: 71 dset:   1 I:   55  131  J:   35   56  K: -999 -999  L:    1    1
- -DELETE SST      M: 74 dset:   1 I:   55  131  J:   35   56  K: -999 -999  L:    1    1
- -DELETE SST      M: 76 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST      M: 77 dset:   1 I:   55  131  J:   35   56  K: -999 -999  L:    1    1
- -DELETE SST      M: 80 dset:   1 I:   55  131  J:   35   56  K: -999 -999  L:    1    1
- -DELETE SST      M: 81 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST      M: 83 dset:   1 I:   55  131  J:   35   56  K: -999 -999  L:    1    1
- -DELETE SST      M: 85 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST      M: 87 dset:   1 I:   55  131  J:   35   56  K: -999 -999  L:    1    1
- -DELETE SST      M: 92 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- -DELETE str      M: 86 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M: -999 -999  N: -999 -999
- -DELETE str      M: 89 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M: -999 -999  N: -999 -999
+ -DELETE SST      M:157 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
+ -DELETE SST      M:168 dset:   1 I:      0    181  J:    1   90  K: -999 -999  L:      1      1
+ -DELETE SST      M:170 dset:   1 I:   -999   -999  J:    1   90  K: -999 -999  L:      1      1
+ -DELETE SST      M:179 dset:   1 I:      1    151  J:    1   41  K: -999 -999  L:      1      1
+ -DELETE SST      M:180 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
+ -DELETE str      M:151 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M: -999 -999  N: -999 -999
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_regrid_to_user
 GO bn_regrid_to_user		! G=user_var and related
 ! bn_regrid_to_user
 ! 8/99 *sh*
@@ -30970,8 +30569,8 @@ list/x=160e/y=5s temp[d=2,k=1,g=a[d=1]]
           29.5170
 show grid
  Default grid for DEFINE VARIABLE is ABSTRACT
- Last successful data access was on grid (G006)
-    GRID (G006)
+ Last successful data access was on grid (G017)
+    GRID (G017)
  name       axis              # pts   start                end                 subset
  COADSX    LONGITUDE          180mr   21E                  19E(379)            full
  COADSY    LATITUDE            90 r   89S                  89N                 full
@@ -30999,8 +30598,8 @@ list/x=160e/y=5s temp[d=2,k=1,gy=yax,gx=a[d=1]]
           29.5170
 show grid
  Default grid for DEFINE VARIABLE is ABSTRACT
- Last successful data access was on grid (G006)
-    GRID (G006)
+ Last successful data access was on grid (G017)
+    GRID (G017)
  name       axis              # pts   start                end                 subset
  COADSX    LONGITUDE          180mr   21E                  19E(379)            full
  YAX       LATITUDE            81 r   20S                  20N                 full
@@ -31026,8 +30625,8 @@ list/x=160e/y=5s temp[d=2,k=1,gx=a[d=1],g=gg]
           29.5170
 show grid
  Default grid for DEFINE VARIABLE is ABSTRACT
- Last successful data access was on grid (G006)
-    GRID (G006)
+ Last successful data access was on grid (G017)
+    GRID (G017)
  name       axis              # pts   start                end                 subset
  COADSX    LONGITUDE          180mr   21E                  19E(379)            full
  YAX       LATITUDE            81 r   20S                  20N                 full
@@ -31113,9 +30712,9 @@ Dynamic axes:
 let g = sst[x=0:30:.1,d=coads_climatology]
 set grid g
 show grid
- Default grid for DEFINE VARIABLE is (G006)
- Last successful data access was on grid (G006)
-    GRID (G006)
+ Default grid for DEFINE VARIABLE is (G017)
+ Last successful data access was on grid (G017)
+    GRID (G017)
  name       axis              # pts   start                end                 subset
  (AX026)   LONGITUDE          301 r   0E                   30E                 full
  COADSY    LATITUDE            90 r   89S                  89N                 full
@@ -31125,12 +30724,12 @@ show grid
 ! The SET GRID (default) definition should be protected -- not altered
 load/d=coads_climatology sst[y=-10:10:.1,l=1,x=160e]
 show grid
- Default grid for DEFINE VARIABLE is (G006)
+ Default grid for DEFINE VARIABLE is (G017)
  Last successful data access was on grid (G012)
     GRID (G012)
  name       axis              # pts   start                end                 subset
  COADSX    LONGITUDE          180mr   21E                  19E(379)            1 pt
- (AX018)   LATITUDE           201 r   10S                  10N                 200 pts
+ (AX018)   LATITUDE           201 r   10S                  10N                 201 pts
  normal    Z
  TIME4     TIME                 3mr   16-JAN 06:00         17-MAR 02:58        1 pt
 show grid/dynamic
@@ -31255,68 +30854,68 @@ list a1[gxz=a2]
 ! 6/01
 ! test use of expressions in dynamic grid commands
 SHOW GRID temp[d=2,gx=sst[d=1],y=10s:2s:.2]             ! implicit Y axis
-    GRID (G018)
+    GRID (G011)
  name       axis              # pts   start                end                 subset
  COADSX    LONGITUDE          180mr   21E                  19E(379)            full
- (AX025)   LATITUDE            41 r   10S                  2S                  40 pts
+ (AX025)   LATITUDE            41 r   10S                  2S                  41 pts
  ZAXLEVITR1_1 DEPTH (m)         1 r-  0                    0                   full
  normal    T
 SHOW GRID "temp[d=2,gx=sst[d=1],y=10s:2s:.2] + 5"
-    GRID (G018)
+    GRID (G011)
  name       axis              # pts   start                end                 subset
  COADSX    LONGITUDE          180mr   21E                  19E(379)            full
- (AX018)   LATITUDE            41 r   10S                  2S                  40 pts
+ (AX018)   LATITUDE            41 r   10S                  2S                  41 pts
  ZAXLEVITR1_1 DEPTH (m)         1 r-  0                    0                   full
  normal    T
 SHOW GRID FFTA(sst[d=1,gx=temp[d=2],y=10s:2s:.2,l=1:5]) ! imposed T axis
-    GRID (G011)
+    GRID (G006)
  name       axis              # pts   start                end                 subset
  XAXLEVITR1_160 LONGITUDE     160mr   20.5E                179.5E              full
- (AX025)   LATITUDE            41 r   10S                  2S                  40 pts
+ (AX025)   LATITUDE            41 r   10S                  2S                  41 pts
  normal    Z
  (AX012)   T (CYC/hour)         2 r   0.00034224           0.00068448          (axis from grid-changing func)
 SHOW GRID SORTI(temp[d=2,gx=sst[d=1],y=10s:2s:.2])      ! abstract X axis
-    GRID (G018)
+    GRID (G011)
  name       axis              # pts   start                end                 subset
  ABSTRACT  X             99999999 r   1                    1.E+08              (axis from grid-changing func)
- (AX025)   LATITUDE            41 r   10S                  2S                  40 pts
+ (AX025)   LATITUDE            41 r   10S                  2S                  41 pts
  ZAXLEVITR1_1 DEPTH (m)         1 r-  0                    0                   full
  normal    T
 SHOW GRID "temp[d=2,gx=sst[d=1],y=10s:2s:.2] + 5",FFTA(sst[d=1,gx=temp[d=2],y=10s:2s:.2,l=1:5]),SORTI(temp[d=2,gx=sst[d=1],y=10s:2s:.2])
-    GRID (G018)
+    GRID (G011)
  name       axis              # pts   start                end                 subset
  COADSX    LONGITUDE          180mr   21E                  19E(379)            full
- (AX012)   LATITUDE            41 r   10S                  2S                  40 pts
+ (AX012)   LATITUDE            41 r   10S                  2S                  41 pts
  ZAXLEVITR1_1 DEPTH (m)         1 r-  0                    0                   full
  normal    T
-    GRID (G011)
+    GRID (G006)
  name       axis              # pts   start                end                 subset
  XAXLEVITR1_160 LONGITUDE     160mr   20.5E                179.5E              full
- (AX025)   LATITUDE            41 r   10S                  2S                  40 pts
+ (AX025)   LATITUDE            41 r   10S                  2S                  41 pts
  normal    Z
  (AX018)   T (CYC/hour)         2 r   0.00034224           0.00068448          (axis from grid-changing func)
-    GRID (G018)
+    GRID (G011)
  name       axis              # pts   start                end                 subset
  ABSTRACT  X             99999999 r   1                    1.E+08              (axis from grid-changing func)
- (AX025)   LATITUDE            41 r   10S                  2S                  40 pts
+ (AX025)   LATITUDE            41 r   10S                  2S                  41 pts
  ZAXLEVITR1_1 DEPTH (m)         1 r-  0                    0                   full
  normal    T
  
 load/x=160e/y=5s temp[d=2,gx=sst[d=1],y=10s:2s:.2] + 5
 SHOW GRID
- Default grid for DEFINE VARIABLE is (G006)
- Last successful data access was on grid (G018)
-    GRID (G018)
+ Default grid for DEFINE VARIABLE is (G017)
+ Last successful data access was on grid (G011)
+    GRID (G011)
  name       axis              # pts   start                end                 subset
  COADSX    LONGITUDE          180mr   21E                  19E(379)            full
- (AX018)   LATITUDE            41 r   10S                  2S                  40 pts
+ (AX018)   LATITUDE            41 r   10S                  2S                  41 pts
  ZAXLEVITR1_1 DEPTH (m)         1 r-  0                    0                   full
  normal    T
 SET GRID  FFTA(sst[d=1,gx=temp[d=2],y=10s:2s:.2,l=1:5]) + 5
 SHOW GRID
- Default grid for DEFINE VARIABLE is (G011)
- Last successful data access was on grid (G011)
-    GRID (G011)
+ Default grid for DEFINE VARIABLE is (G006)
+ Last successful data access was on grid (G006)
+    GRID (G006)
  name       axis              # pts   start                end                 subset
  XAXLEVITR1_160 LONGITUDE     160mr   20.5E                179.5E              full
  (AX025)   LATITUDE            41 r   10S                  2S                  full
@@ -31341,7 +30940,7 @@ SHOW GRID MYGRID
  normal    T
 SHOW GRID/DYNAMIC
 Dynamic grids:
-    GRID (G011)                          use count:   1
+    GRID (G006)                          use count:   1
  name       axis              # pts   start                end
  XAXLEVITR1_160 LONGITUDE     160mr   20.5E                179.5E
  (AX025)   LATITUDE            41 r   10S                  2S
@@ -31351,8 +30950,10 @@ Dynamic grids:
  
 ! ******** V53 Additions below ***********
  
-GO bn_reset
+GO bn_reset bn_calendar
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_calendar
 GO bn_calendar
 ! bn_calendar.jnl
 ! Version 5.3
@@ -31572,7 +31173,7 @@ list/t="5-dec-1982":"8-dec-1982" ndata
              DEPTH (m): 5
                          132.5W  
                           98
- 05-DEC-1982 00 / 108:     ....
+ 05-DEC-1982 00 / 108:  32.9283
  06-DEC-1982 00 / 109:  32.9340
  07-DEC-1982 00 / 110:  32.9401
  08-DEC-1982 00 / 111:  32.9462
@@ -31635,8 +31236,10 @@ T0 = 1-JAN-1980
 ! also see bn_all_leap.jnl, 6/2004
 ! Added ALL_LEAP, or 366_DAY calendar (which is in the CF conventions).
  
-GO bn_reset
+GO bn_reset bn_dash_dot
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_dash_dot
 GO bn_dash_dot
 ! new PLOT/DASH and PLOT/SYMBOL=DOT  qualifiers
 ! *acm* 5/01
@@ -31658,8 +31261,10 @@ set mode ignore
 plot/dash=(1., 2.)/color=red/thick/i=1:1000 sin(62.8*(i+10) )
 plot/dash=(-1., 2., 3., 4.)/i=1:1000 sin(62.8*(i+20) )
  
-GO bn_reset
+GO bn_reset bn_flowlines
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_flowlines
 GO bn_flowlines
 ! bn_flowlines.jnl
 ! VECTOR/FLOW
@@ -31680,6 +31285,7 @@ vector/flow/over/len=10  u,v
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 set mode meta flowlines.plt
 can mode logo
  
@@ -31692,6 +31298,7 @@ can mode meta
 ! curvilinear flowline plots
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
  
 use coads_climatology
 go mp_sinusoidal
@@ -31709,8 +31316,10 @@ set mode logo
  
 ! ******** V533 Additions below ***********
  
-GO bn_reset
+GO bn_reset bn_logaxes
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_logaxes
 GO bn_logaxes
 !  Test the qualifiers /HLOG and /VLOG for setting
 !  log axes.  On a depth axis, inverse log plot.
@@ -31756,8 +31365,10 @@ plot/hlog fcn
  
 ! *kob* same tests for internal external functions but moved out of
 !       the bn_external_function jnl file.
-GO bn_reset
+GO bn_reset bn_internal_external_functions
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_internal_external_functions
 GO bn_internal_external_functions
 ! test internal external functions.  These moved from bn_external_functions
 !  6/01 because on systems w/out external functions support, the internal
@@ -31774,6 +31385,7 @@ GO bn_internal_external_functions
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go bench_fft
 ! Benchmark Ferret script for FFT.  Uses analytic function of time.
  
@@ -31912,6 +31524,7 @@ CANCEL MODE IGNORE_ERRORS
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go bench_gridding
 ! bench_gridding.jnl
 ! *acm* 8/99
@@ -32109,6 +31722,7 @@ can axis x10
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go bn_scat2grid_test
 ! bn_scat2grid_test.jnl
 ! From JonCallahan's insitu_gaussian_*.jnl
@@ -32173,7 +31787,7 @@ can mem/all
  
 let xy_laplace_gridded = scat2gridlaplace_xy(xax,yax,O2_umol_kg,x[gx=x_20],y[gy=y_20],2,2)
 show grid xy_laplace_gridded
-    GRID (G010)
+    GRID (G002)
  name       axis              # pts   start                end                 subset
  X_20      LONGITUDE           20mr   50E                  70E                 full
  Y_20      LATITUDE            20 r   10N                  20N                 full
@@ -32256,6 +31870,7 @@ can axis x_20
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go bn_scat2grid_gl
 ! bn_scat2grid_gl.jnl
 ! test the scat2gridgauss and scat2gridlaplace functions,
@@ -32783,6 +32398,7 @@ can axis x_15
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go bn_scat2gridlaplace_tarasoff
 ! bn_scat2gridlaplace_tarasoff
 ! check for error reported by Lev Tarasoff 5/10/2006
@@ -32802,7 +32418,7 @@ let xln = if xlnb lt 0. then xlnb+360. else xlnb
 let wgtl = scat2gridlaplace_xy(xln,ylt, wgt, x[gx=xlonef], y[gy=ylatef], 2., 1)
  
 show grid wgtl
-    GRID (G017)
+    GRID (G018)
  name       axis              # pts   start                end                 subset
  XLONEF    LONGITUDE          133mr   12.5W                119.5E(479.5)       full
  YLATEF    LATITUDE            73 r   47.25N               83.25N              full
@@ -32884,6 +32500,7 @@ cancel axis ylatef
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go bn_scat2grid_nobs
 ! bn_scat2grid_nobs.jnl
 ! test of scat2grid_nobs functions,
@@ -33187,6 +32804,7 @@ can axis x_15
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go bn_scat2grid_t
 ! bn_scat2grid_t.jnl
 ! test the ave_scat2grid_t and scat2grid_t functions,
@@ -33266,6 +32884,7 @@ can axis t_32
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go bn_transpose
 ! bn_tranpose.jnl
 ! test the transpose functions,
@@ -33626,6 +33245,979 @@ list transpose_zt(myvar)
  2   / 3:  110.000  111.000  112.000  113.000  114.000
  3   / 4:  115.000  116.000  117.000  118.000  119.000
  
+def axis /X=0.0:4.0:1.0/units=degrees_east xaxs
+def axis /Y=0.0:3.0:1.0/units=degrees_north yaxs
+def axis /Z=0.0:1.4:0.2/units=m/depth zaxs
+def axis /T=0.0:6.0:1.0/units=days/t0=1-jan-2001 taxs
+def axis /E=0.0:10.0:5 eaxs
+def axis /F=0.0:100.0:20 faxs
+def grid /X=xaxs /Y=yaxs /Z=zaxs /T=taxs /E=eaxs /F=faxs mygrd
+ 
+set grid mygrd
+let myvar = X + 5.0 * (Y + 4.0 * (Z + 3.0 * T)) + _E - _F
+ 
+ 
+! * * * * Simple XYZTEF examples * * *
+ 
+list/x=1/y=1/z=1/t=1 myvar
+             VARIABLE : X + 5.0 * (Y + 4.0 * (Z + 3.0 * T)) + _E - _F
+             SUBSET   : 3 by 6 points (E-F)
+             LONGITUDE: 1E
+             LATITUDE : 1N
+             DEPTH (m): 1
+             TIME     : JAN-2001
+                0        5       10     
+                1        2        3
+ 0     / 1:  86.0000  91.0000  96.0000
+ 20    / 2:  66.0000  71.0000  76.0000
+ 40    / 3:  46.0000  51.0000  56.0000
+ 60    / 4:  26.0000  31.0000  36.0000
+ 80    / 5:   6.0000  11.0000  16.0000
+ 100   / 6: -14.0000  -9.0000  -4.0000
+list/x=1/y=1/z=1/t=1 transpose_ef(myvar)
+             VARIABLE : TRANSPOSE_EF(MYVAR)
+             SUBSET   : 6 by 3 points (E-F)
+             LONGITUDE: 1E
+             LATITUDE : 1N
+             DEPTH (m): 1
+             TIME     : JAN-2001
+              1        2        3        4        5        6     
+              1        2        3        4        5        6
+ 1   / 1:  86.0000  66.0000  46.0000  26.0000   6.0000 -14.0000
+ 2   / 2:  91.0000  71.0000  51.0000  31.0000  11.0000  -9.0000
+ 3   / 3:  96.0000  76.0000  56.0000  36.0000  16.0000  -4.0000
+ 
+list/e=5/y=1/z=1/t=1 myvar
+             VARIABLE : X + 5.0 * (Y + 4.0 * (Z + 3.0 * T)) + _E - _F
+             SUBSET   : 5 by 6 points (LONGITUDE-F)
+             LATITUDE : 1N
+             DEPTH (m): 1
+             TIME     : JAN-2001
+             E        : 5
+               0E       1E       2E       3E       4E     
+                1        2        3        4        5
+ 0     / 1:  90.0000  91.0000  92.0000  93.0000  94.0000
+ 20    / 2:  70.0000  71.0000  72.0000  73.0000  74.0000
+ 40    / 3:  50.0000  51.0000  52.0000  53.0000  54.0000
+ 60    / 4:  30.0000  31.0000  32.0000  33.0000  34.0000
+ 80    / 5:  10.0000  11.0000  12.0000  13.0000  14.0000
+ 100   / 6: -10.0000  -9.0000  -8.0000  -7.0000  -6.0000
+list/e=5/y=1/z=1/t=1 transpose_xf(myvar)
+             VARIABLE : TRANSPOSE_XF(MYVAR)
+             SUBSET   : 6 by 5 points (X-F)
+             LATITUDE : 1N
+             DEPTH (m): 1
+             TIME     : JAN-2001
+             E        : 5
+              1        2        3        4        5        6     
+              1        2        3        4        5        6
+ 1   / 1:  90.0000  70.0000  50.0000  30.0000  10.0000 -10.0000
+ 2   / 2:  91.0000  71.0000  51.0000  31.0000  11.0000  -9.0000
+ 3   / 3:  92.0000  72.0000  52.0000  32.0000  12.0000  -8.0000
+ 4   / 4:  93.0000  73.0000  53.0000  33.0000  13.0000  -7.0000
+ 5   / 5:  94.0000  74.0000  54.0000  34.0000  14.0000  -6.0000
+list/F=25/y=1/z=1/t=1 myvar
+             VARIABLE : X + 5.0 * (Y + 4.0 * (Z + 3.0 * T)) + _E - _F
+             SUBSET   : 5 by 3 points (LONGITUDE-E)
+             LATITUDE : 1N
+             DEPTH (m): 1
+             TIME     : JAN-2001
+             F        : 20
+              0E       1E       2E       3E       4E     
+               1        2        3        4        5
+ 0    / 1:  65.0000  66.0000  67.0000  68.0000  69.0000
+ 5    / 2:  70.0000  71.0000  72.0000  73.0000  74.0000
+ 10   / 3:  75.0000  76.0000  77.0000  78.0000  79.0000
+list/F=25/y=1/z=1/t=1 transpose_xe(myvar)
+             VARIABLE : TRANSPOSE_XE(MYVAR)
+             SUBSET   : 3 by 5 points (X-E)
+             LATITUDE : 1N
+             DEPTH (m): 1
+             TIME     : JAN-2001
+             F        : 20
+              1        2        3     
+              1        2        3
+ 1   / 1:  65.0000  70.0000  75.0000
+ 2   / 2:  66.0000  71.0000  76.0000
+ 3   / 3:  67.0000  72.0000  77.0000
+ 4   / 4:  68.0000  73.0000  78.0000
+ 5   / 5:  69.0000  74.0000  79.0000
+ 
+list/e=5/x=1/z=1/t=1 myvar
+             VARIABLE : X + 5.0 * (Y + 4.0 * (Z + 3.0 * T)) + _E - _F
+             SUBSET   : 4 by 6 points (LATITUDE-F)
+             LONGITUDE: 1E
+             DEPTH (m): 1
+             TIME     : JAN-2001
+             E        : 5
+                0       1N       2N       3N     
+                1        2        3        4
+ 0     / 1:   86.000   91.000   96.000  101.000
+ 20    / 2:   66.000   71.000   76.000   81.000
+ 40    / 3:   46.000   51.000   56.000   61.000
+ 60    / 4:   26.000   31.000   36.000   41.000
+ 80    / 5:    6.000   11.000   16.000   21.000
+ 100   / 6:  -14.000   -9.000   -4.000    1.000
+list/e=5/x=1/z=1/t=1 transpose_yf(myvar)
+             VARIABLE : TRANSPOSE_YF(MYVAR)
+             SUBSET   : 6 by 4 points (Y-F)
+             LONGITUDE: 1E
+             DEPTH (m): 1
+             TIME     : JAN-2001
+             E        : 5
+              1        2        3        4        5        6     
+              1        2        3        4        5        6
+ 1   / 1:   86.000   66.000   46.000   26.000    6.000  -14.000
+ 2   / 2:   91.000   71.000   51.000   31.000   11.000   -9.000
+ 3   / 3:   96.000   76.000   56.000   36.000   16.000   -4.000
+ 4   / 4:  101.000   81.000   61.000   41.000   21.000    1.000
+list/F=25/x=1/z=1/t=1 myvar
+             VARIABLE : X + 5.0 * (Y + 4.0 * (Z + 3.0 * T)) + _E - _F
+             SUBSET   : 4 by 3 points (LATITUDE-E)
+             LONGITUDE: 1E
+             DEPTH (m): 1
+             TIME     : JAN-2001
+             F        : 20
+               0       1N       2N       3N     
+               1        2        3        4
+ 0    / 1:  61.0000  66.0000  71.0000  76.0000
+ 5    / 2:  66.0000  71.0000  76.0000  81.0000
+ 10   / 3:  71.0000  76.0000  81.0000  86.0000
+list/F=25/x=1/z=1/t=1 transpose_ye(myvar)
+             VARIABLE : TRANSPOSE_YE(MYVAR)
+             SUBSET   : 3 by 4 points (Y-E)
+             LONGITUDE: 1E
+             DEPTH (m): 1
+             TIME     : JAN-2001
+             F        : 20
+              1        2        3     
+              1        2        3
+ 1   / 1:  61.0000  66.0000  71.0000
+ 2   / 2:  66.0000  71.0000  76.0000
+ 3   / 3:  71.0000  76.0000  81.0000
+ 4   / 4:  76.0000  81.0000  86.0000
+ 
+list/e=5/x=1/y=1/t=1 myvar
+             VARIABLE : X + 5.0 * (Y + 4.0 * (Z + 3.0 * T)) + _E - _F
+             SUBSET   : 8 by 6 points (DEPTH (m)-F)
+             LONGITUDE: 1E
+             LATITUDE : 1N
+             TIME     : JAN-2001
+             E        : 5
+               0        0.2      0.4      0.6      0.8      1        1.2      1.4    
+                1        2        3        4        5        6        7        8
+ 0     / 1:  71.0000  75.0000  79.0000  83.0000  87.0000  91.0000  95.0000  99.0000
+ 20    / 2:  51.0000  55.0000  59.0000  63.0000  67.0000  71.0000  75.0000  79.0000
+ 40    / 3:  31.0000  35.0000  39.0000  43.0000  47.0000  51.0000  55.0000  59.0000
+ 60    / 4:  11.0000  15.0000  19.0000  23.0000  27.0000  31.0000  35.0000  39.0000
+ 80    / 5:  -9.0000  -5.0000  -1.0000   3.0000   7.0000  11.0000  15.0000  19.0000
+ 100   / 6: -29.0000 -25.0000 -21.0000 -17.0000 -13.0000  -9.0000  -5.0000  -1.0000
+list/e=5/x=1/y=1/t=1 transpose_zf(myvar)
+             VARIABLE : TRANSPOSE_ZF(MYVAR)
+             SUBSET   : 6 by 8 points (Z-F)
+             LONGITUDE: 1E
+             LATITUDE : 1N
+             TIME     : JAN-2001
+             E        : 5
+              1        2        3        4        5        6     
+              1        2        3        4        5        6
+ 1   / 1:  71.0000  51.0000  31.0000  11.0000  -9.0000 -29.0000
+ 2   / 2:  75.0000  55.0000  35.0000  15.0000  -5.0000 -25.0000
+ 3   / 3:  79.0000  59.0000  39.0000  19.0000  -1.0000 -21.0000
+ 4   / 4:  83.0000  63.0000  43.0000  23.0000   3.0000 -17.0000
+ 5   / 5:  87.0000  67.0000  47.0000  27.0000   7.0000 -13.0000
+ 6   / 6:  91.0000  71.0000  51.0000  31.0000  11.0000  -9.0000
+ 7   / 7:  95.0000  75.0000  55.0000  35.0000  15.0000  -5.0000
+ 8   / 8:  99.0000  79.0000  59.0000  39.0000  19.0000  -1.0000
+list/F=25/x=1/y=1/t=1 myvar
+             VARIABLE : X + 5.0 * (Y + 4.0 * (Z + 3.0 * T)) + _E - _F
+             SUBSET   : 8 by 3 points (DEPTH (m)-E)
+             LONGITUDE: 1E
+             LATITUDE : 1N
+             TIME     : JAN-2001
+             F        : 20
+              0        0.2      0.4      0.6      0.8      1        1.2      1.4    
+               1        2        3        4        5        6        7        8
+ 0    / 1:  46.0000  50.0000  54.0000  58.0000  62.0000  66.0000  70.0000  74.0000
+ 5    / 2:  51.0000  55.0000  59.0000  63.0000  67.0000  71.0000  75.0000  79.0000
+ 10   / 3:  56.0000  60.0000  64.0000  68.0000  72.0000  76.0000  80.0000  84.0000
+list/F=25/x=1/y=1/t=1 transpose_ze(myvar)
+             VARIABLE : TRANSPOSE_ZE(MYVAR)
+             SUBSET   : 3 by 8 points (Z-E)
+             LONGITUDE: 1E
+             LATITUDE : 1N
+             TIME     : JAN-2001
+             F        : 20
+              1        2        3     
+              1        2        3
+ 1   / 1:  46.0000  51.0000  56.0000
+ 2   / 2:  50.0000  55.0000  60.0000
+ 3   / 3:  54.0000  59.0000  64.0000
+ 4   / 4:  58.0000  63.0000  68.0000
+ 5   / 5:  62.0000  67.0000  72.0000
+ 6   / 6:  66.0000  71.0000  76.0000
+ 7   / 7:  70.0000  75.0000  80.0000
+ 8   / 8:  74.0000  79.0000  84.0000
+ 
+list/e=5/x=1/y=1/z=1 myvar
+             VARIABLE : X + 5.0 * (Y + 4.0 * (Z + 3.0 * T)) + _E - _F
+             SUBSET   : 7 by 6 points (TIME-F)
+             LONGITUDE: 1E
+             LATITUDE : 1N
+             DEPTH (m): 1
+             E        : 5
+               2001     2001     2001     2001     2001     2001     2001   
+                1        2        3        4        5        6        7
+ 0     / 1:   31.000   91.000  151.000  211.000  271.000  331.000  391.000
+ 20    / 2:   11.000   71.000  131.000  191.000  251.000  311.000  371.000
+ 40    / 3:   -9.000   51.000  111.000  171.000  231.000  291.000  351.000
+ 60    / 4:  -29.000   31.000   91.000  151.000  211.000  271.000  331.000
+ 80    / 5:  -49.000   11.000   71.000  131.000  191.000  251.000  311.000
+ 100   / 6:  -69.000   -9.000   51.000  111.000  171.000  231.000  291.000
+list/e=5/x=1/y=1/z=1 transpose_tf(myvar)
+             VARIABLE : TRANSPOSE_TF(MYVAR)
+             SUBSET   : 6 by 7 points (T-F)
+             LONGITUDE: 1E
+             LATITUDE : 1N
+             DEPTH (m): 1
+             E        : 5
+              1        2        3        4        5        6     
+              1        2        3        4        5        6
+ 1   / 1:   31.000   11.000   -9.000  -29.000  -49.000  -69.000
+ 2   / 2:   91.000   71.000   51.000   31.000   11.000   -9.000
+ 3   / 3:  151.000  131.000  111.000   91.000   71.000   51.000
+ 4   / 4:  211.000  191.000  171.000  151.000  131.000  111.000
+ 5   / 5:  271.000  251.000  231.000  211.000  191.000  171.000
+ 6   / 6:  331.000  311.000  291.000  271.000  251.000  231.000
+ 7   / 7:  391.000  371.000  351.000  331.000  311.000  291.000
+list/F=25/x=1/y=1/z=1 myvar
+             VARIABLE : X + 5.0 * (Y + 4.0 * (Z + 3.0 * T)) + _E - _F
+             SUBSET   : 7 by 3 points (TIME-E)
+             LONGITUDE: 1E
+             LATITUDE : 1N
+             DEPTH (m): 1
+             F        : 20
+              2001     2001     2001     2001     2001     2001     2001   
+               1        2        3        4        5        6        7
+ 0    / 1:    6.000   66.000  126.000  186.000  246.000  306.000  366.000
+ 5    / 2:   11.000   71.000  131.000  191.000  251.000  311.000  371.000
+ 10   / 3:   16.000   76.000  136.000  196.000  256.000  316.000  376.000
+list/F=25/x=1/y=1/z=1 transpose_te(myvar)
+             VARIABLE : TRANSPOSE_TE(MYVAR)
+             SUBSET   : 3 by 7 points (T-E)
+             LONGITUDE: 1E
+             LATITUDE : 1N
+             DEPTH (m): 1
+             F        : 20
+              1        2        3     
+              1        2        3
+ 1   / 1:    6.000   11.000   16.000
+ 2   / 2:   66.000   71.000   76.000
+ 3   / 3:  126.000  131.000  136.000
+ 4   / 4:  186.000  191.000  196.000
+ 5   / 5:  246.000  251.000  256.000
+ 6   / 6:  306.000  311.000  316.000
+ 7   / 7:  366.000  371.000  376.000
+ 
+ 
+! * * * *  XYZTEF examples with another dimension * * *
+ 
+list/y=1/z=1/t=1 myvar
+             VARIABLE : X + 5.0 * (Y + 4.0 * (Z + 3.0 * T)) + _E - _F
+             SUBSET   : 5 by 3 by 6 points (LONGITUDE-E-F)
+             LATITUDE : 1N
+             DEPTH (m): 1
+             TIME     : JAN-2001
+              0E       1E       2E       3E       4E     
+               1        2        3        4        5
+ ---- N:1 F:   0
+ 0    / 1:  85.0000  86.0000  87.0000  88.0000  89.0000
+ 5    / 2:  90.0000  91.0000  92.0000  93.0000  94.0000
+ 10   / 3:  95.0000  96.0000  97.0000  98.0000  99.0000
+ ---- N:2 F:   20
+ 0    / 1:  65.0000  66.0000  67.0000  68.0000  69.0000
+ 5    / 2:  70.0000  71.0000  72.0000  73.0000  74.0000
+ 10   / 3:  75.0000  76.0000  77.0000  78.0000  79.0000
+ ---- N:3 F:   40
+ 0    / 1:  45.0000  46.0000  47.0000  48.0000  49.0000
+ 5    / 2:  50.0000  51.0000  52.0000  53.0000  54.0000
+ 10   / 3:  55.0000  56.0000  57.0000  58.0000  59.0000
+ ---- N:4 F:   60
+ 0    / 1:  25.0000  26.0000  27.0000  28.0000  29.0000
+ 5    / 2:  30.0000  31.0000  32.0000  33.0000  34.0000
+ 10   / 3:  35.0000  36.0000  37.0000  38.0000  39.0000
+ ---- N:5 F:   80
+ 0    / 1:   5.0000   6.0000   7.0000   8.0000   9.0000
+ 5    / 2:  10.0000  11.0000  12.0000  13.0000  14.0000
+ 10   / 3:  15.0000  16.0000  17.0000  18.0000  19.0000
+ ---- N:6 F:   100
+ 0    / 1: -15.0000 -14.0000 -13.0000 -12.0000 -11.0000
+ 5    / 2: -10.0000  -9.0000  -8.0000  -7.0000  -6.0000
+ 10   / 3:  -5.0000  -4.0000  -3.0000  -2.0000  -1.0000
+list/y=1/z=1/t=1 transpose_ef(myvar)
+             VARIABLE : TRANSPOSE_EF(MYVAR)
+             SUBSET   : 5 by 6 by 3 points (LONGITUDE-E-F)
+             LATITUDE : 1N
+             DEPTH (m): 1
+             TIME     : JAN-2001
+             0E       1E       2E       3E       4E     
+              1        2        3        4        5
+ ---- N:1 F:   1
+ 1   / 1:  85.0000  86.0000  87.0000  88.0000  89.0000
+ 2   / 2:  65.0000  66.0000  67.0000  68.0000  69.0000
+ 3   / 3:  45.0000  46.0000  47.0000  48.0000  49.0000
+ 4   / 4:  25.0000  26.0000  27.0000  28.0000  29.0000
+ 5   / 5:   5.0000   6.0000   7.0000   8.0000   9.0000
+ 6   / 6: -15.0000 -14.0000 -13.0000 -12.0000 -11.0000
+ ---- N:2 F:   2
+ 1   / 1:  90.0000  91.0000  92.0000  93.0000  94.0000
+ 2   / 2:  70.0000  71.0000  72.0000  73.0000  74.0000
+ 3   / 3:  50.0000  51.0000  52.0000  53.0000  54.0000
+ 4   / 4:  30.0000  31.0000  32.0000  33.0000  34.0000
+ 5   / 5:  10.0000  11.0000  12.0000  13.0000  14.0000
+ 6   / 6: -10.0000  -9.0000  -8.0000  -7.0000  -6.0000
+ ---- N:3 F:   3
+ 1   / 1:  95.0000  96.0000  97.0000  98.0000  99.0000
+ 2   / 2:  75.0000  76.0000  77.0000  78.0000  79.0000
+ 3   / 3:  55.0000  56.0000  57.0000  58.0000  59.0000
+ 4   / 4:  35.0000  36.0000  37.0000  38.0000  39.0000
+ 5   / 5:  15.0000  16.0000  17.0000  18.0000  19.0000
+ 6   / 6:  -5.0000  -4.0000  -3.0000  -2.0000  -1.0000
+ 
+list/e=5/z=1/t=1 myvar
+             VARIABLE : X + 5.0 * (Y + 4.0 * (Z + 3.0 * T)) + _E - _F
+             SUBSET   : 5 by 4 by 6 points (LONGITUDE-LATITUDE-F)
+             DEPTH (m): 1
+             TIME     : JAN-2001
+             E        : 5
+              0E       1E       2E       3E       4E     
+               1        2        3        4        5
+ ---- N:1 F:   0
+ 3N   / 4:  100.000  101.000  102.000  103.000  104.000
+ 2N   / 3:   95.000   96.000   97.000   98.000   99.000
+ 1N   / 2:   90.000   91.000   92.000   93.000   94.000
+ 0    / 1:   85.000   86.000   87.000   88.000   89.000
+ ---- N:2 F:   20
+ 3N   / 4:   80.000   81.000   82.000   83.000   84.000
+ 2N   / 3:   75.000   76.000   77.000   78.000   79.000
+ 1N   / 2:   70.000   71.000   72.000   73.000   74.000
+ 0    / 1:   65.000   66.000   67.000   68.000   69.000
+ ---- N:3 F:   40
+ 3N   / 4:   60.000   61.000   62.000   63.000   64.000
+ 2N   / 3:   55.000   56.000   57.000   58.000   59.000
+ 1N   / 2:   50.000   51.000   52.000   53.000   54.000
+ 0    / 1:   45.000   46.000   47.000   48.000   49.000
+ ---- N:4 F:   60
+ 3N   / 4:   40.000   41.000   42.000   43.000   44.000
+ 2N   / 3:   35.000   36.000   37.000   38.000   39.000
+ 1N   / 2:   30.000   31.000   32.000   33.000   34.000
+ 0    / 1:   25.000   26.000   27.000   28.000   29.000
+ ---- N:5 F:   80
+ 3N   / 4:   20.000   21.000   22.000   23.000   24.000
+ 2N   / 3:   15.000   16.000   17.000   18.000   19.000
+ 1N   / 2:   10.000   11.000   12.000   13.000   14.000
+ 0    / 1:    5.000    6.000    7.000    8.000    9.000
+ ---- N:6 F:   100
+ 3N   / 4:    0.000    1.000    2.000    3.000    4.000
+ 2N   / 3:   -5.000   -4.000   -3.000   -2.000   -1.000
+ 1N   / 2:  -10.000   -9.000   -8.000   -7.000   -6.000
+ 0    / 1:  -15.000  -14.000  -13.000  -12.000  -11.000
+list/e=5/z=1/t=1 transpose_xf(myvar)
+             VARIABLE : TRANSPOSE_XF(MYVAR)
+             SUBSET   : 6 by 4 by 5 points (X-LATITUDE-F)
+             DEPTH (m): 1
+             TIME     : JAN-2001
+             E        : 5
+               1        2        3        4        5        6     
+               1        2        3        4        5        6
+ ---- N:1 F:   1
+ 3N   / 4:  100.000   80.000   60.000   40.000   20.000    0.000
+ 2N   / 3:   95.000   75.000   55.000   35.000   15.000   -5.000
+ 1N   / 2:   90.000   70.000   50.000   30.000   10.000  -10.000
+ 0    / 1:   85.000   65.000   45.000   25.000    5.000  -15.000
+ ---- N:2 F:   2
+ 3N   / 4:  101.000   81.000   61.000   41.000   21.000    1.000
+ 2N   / 3:   96.000   76.000   56.000   36.000   16.000   -4.000
+ 1N   / 2:   91.000   71.000   51.000   31.000   11.000   -9.000
+ 0    / 1:   86.000   66.000   46.000   26.000    6.000  -14.000
+ ---- N:3 F:   3
+ 3N   / 4:  102.000   82.000   62.000   42.000   22.000    2.000
+ 2N   / 3:   97.000   77.000   57.000   37.000   17.000   -3.000
+ 1N   / 2:   92.000   72.000   52.000   32.000   12.000   -8.000
+ 0    / 1:   87.000   67.000   47.000   27.000    7.000  -13.000
+ ---- N:4 F:   4
+ 3N   / 4:  103.000   83.000   63.000   43.000   23.000    3.000
+ 2N   / 3:   98.000   78.000   58.000   38.000   18.000   -2.000
+ 1N   / 2:   93.000   73.000   53.000   33.000   13.000   -7.000
+ 0    / 1:   88.000   68.000   48.000   28.000    8.000  -12.000
+ ---- N:5 F:   5
+ 3N   / 4:  104.000   84.000   64.000   44.000   24.000    4.000
+ 2N   / 3:   99.000   79.000   59.000   39.000   19.000   -1.000
+ 1N   / 2:   94.000   74.000   54.000   34.000   14.000   -6.000
+ 0    / 1:   89.000   69.000   49.000   29.000    9.000  -11.000
+list/F=25/z=1/t=1 myvar
+             VARIABLE : X + 5.0 * (Y + 4.0 * (Z + 3.0 * T)) + _E - _F
+             SUBSET   : 5 by 4 by 3 points (LONGITUDE-LATITUDE-E)
+             DEPTH (m): 1
+             TIME     : JAN-2001
+             F        : 20
+              0E       1E       2E       3E       4E     
+               1        2        3        4        5
+ ---- M:1 E:   0
+ 3N   / 4:  75.0000  76.0000  77.0000  78.0000  79.0000
+ 2N   / 3:  70.0000  71.0000  72.0000  73.0000  74.0000
+ 1N   / 2:  65.0000  66.0000  67.0000  68.0000  69.0000
+ 0    / 1:  60.0000  61.0000  62.0000  63.0000  64.0000
+ ---- M:2 E:   5
+ 3N   / 4:  80.0000  81.0000  82.0000  83.0000  84.0000
+ 2N   / 3:  75.0000  76.0000  77.0000  78.0000  79.0000
+ 1N   / 2:  70.0000  71.0000  72.0000  73.0000  74.0000
+ 0    / 1:  65.0000  66.0000  67.0000  68.0000  69.0000
+ ---- M:3 E:   10
+ 3N   / 4:  85.0000  86.0000  87.0000  88.0000  89.0000
+ 2N   / 3:  80.0000  81.0000  82.0000  83.0000  84.0000
+ 1N   / 2:  75.0000  76.0000  77.0000  78.0000  79.0000
+ 0    / 1:  70.0000  71.0000  72.0000  73.0000  74.0000
+list/F=25/z=1/t=1 transpose_xe(myvar)
+             VARIABLE : TRANSPOSE_XE(MYVAR)
+             SUBSET   : 3 by 4 by 5 points (X-LATITUDE-E)
+             DEPTH (m): 1
+             TIME     : JAN-2001
+             F        : 20
+               1        2        3     
+               1        2        3
+ ---- M:1 E:   1
+ 3N   / 4:  75.0000  80.0000  85.0000
+ 2N   / 3:  70.0000  75.0000  80.0000
+ 1N   / 2:  65.0000  70.0000  75.0000
+ 0    / 1:  60.0000  65.0000  70.0000
+ ---- M:2 E:   2
+ 3N   / 4:  76.0000  81.0000  86.0000
+ 2N   / 3:  71.0000  76.0000  81.0000
+ 1N   / 2:  66.0000  71.0000  76.0000
+ 0    / 1:  61.0000  66.0000  71.0000
+ ---- M:3 E:   3
+ 3N   / 4:  77.0000  82.0000  87.0000
+ 2N   / 3:  72.0000  77.0000  82.0000
+ 1N   / 2:  67.0000  72.0000  77.0000
+ 0    / 1:  62.0000  67.0000  72.0000
+ ---- M:4 E:   4
+ 3N   / 4:  78.0000  83.0000  88.0000
+ 2N   / 3:  73.0000  78.0000  83.0000
+ 1N   / 2:  68.0000  73.0000  78.0000
+ 0    / 1:  63.0000  68.0000  73.0000
+ ---- M:5 E:   5
+ 3N   / 4:  79.0000  84.0000  89.0000
+ 2N   / 3:  74.0000  79.0000  84.0000
+ 1N   / 2:  69.0000  74.0000  79.0000
+ 0    / 1:  64.0000  69.0000  74.0000
+ 
+list/e=5/z=1/t=1 myvar
+             VARIABLE : X + 5.0 * (Y + 4.0 * (Z + 3.0 * T)) + _E - _F
+             SUBSET   : 5 by 4 by 6 points (LONGITUDE-LATITUDE-F)
+             DEPTH (m): 1
+             TIME     : JAN-2001
+             E        : 5
+              0E       1E       2E       3E       4E     
+               1        2        3        4        5
+ ---- N:1 F:   0
+ 3N   / 4:  100.000  101.000  102.000  103.000  104.000
+ 2N   / 3:   95.000   96.000   97.000   98.000   99.000
+ 1N   / 2:   90.000   91.000   92.000   93.000   94.000
+ 0    / 1:   85.000   86.000   87.000   88.000   89.000
+ ---- N:2 F:   20
+ 3N   / 4:   80.000   81.000   82.000   83.000   84.000
+ 2N   / 3:   75.000   76.000   77.000   78.000   79.000
+ 1N   / 2:   70.000   71.000   72.000   73.000   74.000
+ 0    / 1:   65.000   66.000   67.000   68.000   69.000
+ ---- N:3 F:   40
+ 3N   / 4:   60.000   61.000   62.000   63.000   64.000
+ 2N   / 3:   55.000   56.000   57.000   58.000   59.000
+ 1N   / 2:   50.000   51.000   52.000   53.000   54.000
+ 0    / 1:   45.000   46.000   47.000   48.000   49.000
+ ---- N:4 F:   60
+ 3N   / 4:   40.000   41.000   42.000   43.000   44.000
+ 2N   / 3:   35.000   36.000   37.000   38.000   39.000
+ 1N   / 2:   30.000   31.000   32.000   33.000   34.000
+ 0    / 1:   25.000   26.000   27.000   28.000   29.000
+ ---- N:5 F:   80
+ 3N   / 4:   20.000   21.000   22.000   23.000   24.000
+ 2N   / 3:   15.000   16.000   17.000   18.000   19.000
+ 1N   / 2:   10.000   11.000   12.000   13.000   14.000
+ 0    / 1:    5.000    6.000    7.000    8.000    9.000
+ ---- N:6 F:   100
+ 3N   / 4:    0.000    1.000    2.000    3.000    4.000
+ 2N   / 3:   -5.000   -4.000   -3.000   -2.000   -1.000
+ 1N   / 2:  -10.000   -9.000   -8.000   -7.000   -6.000
+ 0    / 1:  -15.000  -14.000  -13.000  -12.000  -11.000
+list/e=5/z=1/t=1 transpose_yf(myvar)
+             VARIABLE : TRANSPOSE_YF(MYVAR)
+             SUBSET   : 5 by 6 by 4 points (LONGITUDE-Y-F)
+             DEPTH (m): 1
+             TIME     : JAN-2001
+             E        : 5
+             0E       1E       2E       3E       4E     
+              1        2        3        4        5
+ ---- N:1 F:   1
+ 1   / 1:   85.000   86.000   87.000   88.000   89.000
+ 2   / 2:   65.000   66.000   67.000   68.000   69.000
+ 3   / 3:   45.000   46.000   47.000   48.000   49.000
+ 4   / 4:   25.000   26.000   27.000   28.000   29.000
+ 5   / 5:    5.000    6.000    7.000    8.000    9.000
+ 6   / 6:  -15.000  -14.000  -13.000  -12.000  -11.000
+ ---- N:2 F:   2
+ 1   / 1:   90.000   91.000   92.000   93.000   94.000
+ 2   / 2:   70.000   71.000   72.000   73.000   74.000
+ 3   / 3:   50.000   51.000   52.000   53.000   54.000
+ 4   / 4:   30.000   31.000   32.000   33.000   34.000
+ 5   / 5:   10.000   11.000   12.000   13.000   14.000
+ 6   / 6:  -10.000   -9.000   -8.000   -7.000   -6.000
+ ---- N:3 F:   3
+ 1   / 1:   95.000   96.000   97.000   98.000   99.000
+ 2   / 2:   75.000   76.000   77.000   78.000   79.000
+ 3   / 3:   55.000   56.000   57.000   58.000   59.000
+ 4   / 4:   35.000   36.000   37.000   38.000   39.000
+ 5   / 5:   15.000   16.000   17.000   18.000   19.000
+ 6   / 6:   -5.000   -4.000   -3.000   -2.000   -1.000
+ ---- N:4 F:   4
+ 1   / 1:  100.000  101.000  102.000  103.000  104.000
+ 2   / 2:   80.000   81.000   82.000   83.000   84.000
+ 3   / 3:   60.000   61.000   62.000   63.000   64.000
+ 4   / 4:   40.000   41.000   42.000   43.000   44.000
+ 5   / 5:   20.000   21.000   22.000   23.000   24.000
+ 6   / 6:    0.000    1.000    2.000    3.000    4.000
+list/F=25/z=1/t=1 myvar
+             VARIABLE : X + 5.0 * (Y + 4.0 * (Z + 3.0 * T)) + _E - _F
+             SUBSET   : 5 by 4 by 3 points (LONGITUDE-LATITUDE-E)
+             DEPTH (m): 1
+             TIME     : JAN-2001
+             F        : 20
+              0E       1E       2E       3E       4E     
+               1        2        3        4        5
+ ---- M:1 E:   0
+ 3N   / 4:  75.0000  76.0000  77.0000  78.0000  79.0000
+ 2N   / 3:  70.0000  71.0000  72.0000  73.0000  74.0000
+ 1N   / 2:  65.0000  66.0000  67.0000  68.0000  69.0000
+ 0    / 1:  60.0000  61.0000  62.0000  63.0000  64.0000
+ ---- M:2 E:   5
+ 3N   / 4:  80.0000  81.0000  82.0000  83.0000  84.0000
+ 2N   / 3:  75.0000  76.0000  77.0000  78.0000  79.0000
+ 1N   / 2:  70.0000  71.0000  72.0000  73.0000  74.0000
+ 0    / 1:  65.0000  66.0000  67.0000  68.0000  69.0000
+ ---- M:3 E:   10
+ 3N   / 4:  85.0000  86.0000  87.0000  88.0000  89.0000
+ 2N   / 3:  80.0000  81.0000  82.0000  83.0000  84.0000
+ 1N   / 2:  75.0000  76.0000  77.0000  78.0000  79.0000
+ 0    / 1:  70.0000  71.0000  72.0000  73.0000  74.0000
+list/F=25/z=1/t=1 transpose_ye(myvar)
+             VARIABLE : TRANSPOSE_YE(MYVAR)
+             SUBSET   : 5 by 3 by 4 points (LONGITUDE-Y-E)
+             DEPTH (m): 1
+             TIME     : JAN-2001
+             F        : 20
+             0E       1E       2E       3E       4E     
+              1        2        3        4        5
+ ---- M:1 E:   1
+ 1   / 1:  60.0000  61.0000  62.0000  63.0000  64.0000
+ 2   / 2:  65.0000  66.0000  67.0000  68.0000  69.0000
+ 3   / 3:  70.0000  71.0000  72.0000  73.0000  74.0000
+ ---- M:2 E:   2
+ 1   / 1:  65.0000  66.0000  67.0000  68.0000  69.0000
+ 2   / 2:  70.0000  71.0000  72.0000  73.0000  74.0000
+ 3   / 3:  75.0000  76.0000  77.0000  78.0000  79.0000
+ ---- M:3 E:   3
+ 1   / 1:  70.0000  71.0000  72.0000  73.0000  74.0000
+ 2   / 2:  75.0000  76.0000  77.0000  78.0000  79.0000
+ 3   / 3:  80.0000  81.0000  82.0000  83.0000  84.0000
+ ---- M:4 E:   4
+ 1   / 1:  75.0000  76.0000  77.0000  78.0000  79.0000
+ 2   / 2:  80.0000  81.0000  82.0000  83.0000  84.0000
+ 3   / 3:  85.0000  86.0000  87.0000  88.0000  89.0000
+ 
+list/e=5/y=1/t=1 myvar
+             VARIABLE : X + 5.0 * (Y + 4.0 * (Z + 3.0 * T)) + _E - _F
+             SUBSET   : 5 by 8 by 6 points (LONGITUDE-DEPTH (m)-F)
+             LATITUDE : 1N
+             TIME     : JAN-2001
+             E        : 5
+               0E       1E       2E       3E       4E     
+                1        2        3        4        5
+ ---- N:1 F:   0
+ 0     / 1:   70.000   71.000   72.000   73.000   74.000
+ 0.2   / 2:   74.000   75.000   76.000   77.000   78.000
+ 0.4   / 3:   78.000   79.000   80.000   81.000   82.000
+ 0.6   / 4:   82.000   83.000   84.000   85.000   86.000
+ 0.8   / 5:   86.000   87.000   88.000   89.000   90.000
+ 1     / 6:   90.000   91.000   92.000   93.000   94.000
+ 1.2   / 7:   94.000   95.000   96.000   97.000   98.000
+ 1.4   / 8:   98.000   99.000  100.000  101.000  102.000
+ ---- N:2 F:   20
+ 0     / 1:   50.000   51.000   52.000   53.000   54.000
+ 0.2   / 2:   54.000   55.000   56.000   57.000   58.000
+ 0.4   / 3:   58.000   59.000   60.000   61.000   62.000
+ 0.6   / 4:   62.000   63.000   64.000   65.000   66.000
+ 0.8   / 5:   66.000   67.000   68.000   69.000   70.000
+ 1     / 6:   70.000   71.000   72.000   73.000   74.000
+ 1.2   / 7:   74.000   75.000   76.000   77.000   78.000
+ 1.4   / 8:   78.000   79.000   80.000   81.000   82.000
+ ---- N:3 F:   40
+ 0     / 1:   30.000   31.000   32.000   33.000   34.000
+ 0.2   / 2:   34.000   35.000   36.000   37.000   38.000
+ 0.4   / 3:   38.000   39.000   40.000   41.000   42.000
+ 0.6   / 4:   42.000   43.000   44.000   45.000   46.000
+ 0.8   / 5:   46.000   47.000   48.000   49.000   50.000
+ 1     / 6:   50.000   51.000   52.000   53.000   54.000
+ 1.2   / 7:   54.000   55.000   56.000   57.000   58.000
+ 1.4   / 8:   58.000   59.000   60.000   61.000   62.000
+ ---- N:4 F:   60
+ 0     / 1:   10.000   11.000   12.000   13.000   14.000
+ 0.2   / 2:   14.000   15.000   16.000   17.000   18.000
+ 0.4   / 3:   18.000   19.000   20.000   21.000   22.000
+ 0.6   / 4:   22.000   23.000   24.000   25.000   26.000
+ 0.8   / 5:   26.000   27.000   28.000   29.000   30.000
+ 1     / 6:   30.000   31.000   32.000   33.000   34.000
+ 1.2   / 7:   34.000   35.000   36.000   37.000   38.000
+ 1.4   / 8:   38.000   39.000   40.000   41.000   42.000
+ ---- N:5 F:   80
+ 0     / 1:  -10.000   -9.000   -8.000   -7.000   -6.000
+ 0.2   / 2:   -6.000   -5.000   -4.000   -3.000   -2.000
+ 0.4   / 3:   -2.000   -1.000    0.000    1.000    2.000
+ 0.6   / 4:    2.000    3.000    4.000    5.000    6.000
+ 0.8   / 5:    6.000    7.000    8.000    9.000   10.000
+ 1     / 6:   10.000   11.000   12.000   13.000   14.000
+ 1.2   / 7:   14.000   15.000   16.000   17.000   18.000
+ 1.4   / 8:   18.000   19.000   20.000   21.000   22.000
+ ---- N:6 F:   100
+ 0     / 1:  -30.000  -29.000  -28.000  -27.000  -26.000
+ 0.2   / 2:  -26.000  -25.000  -24.000  -23.000  -22.000
+ 0.4   / 3:  -22.000  -21.000  -20.000  -19.000  -18.000
+ 0.6   / 4:  -18.000  -17.000  -16.000  -15.000  -14.000
+ 0.8   / 5:  -14.000  -13.000  -12.000  -11.000  -10.000
+ 1     / 6:  -10.000   -9.000   -8.000   -7.000   -6.000
+ 1.2   / 7:   -6.000   -5.000   -4.000   -3.000   -2.000
+ 1.4   / 8:   -2.000   -1.000    0.000    1.000    2.000
+list/e=5/y=1/t=1 transpose_zf(myvar)
+             VARIABLE : TRANSPOSE_ZF(MYVAR)
+             SUBSET   : 5 by 6 by 8 points (LONGITUDE-Z-F)
+             LATITUDE : 1N
+             TIME     : JAN-2001
+             E        : 5
+             0E       1E       2E       3E       4E     
+              1        2        3        4        5
+ ---- N:1 F:   1
+ 1   / 1:   70.000   71.000   72.000   73.000   74.000
+ 2   / 2:   50.000   51.000   52.000   53.000   54.000
+ 3   / 3:   30.000   31.000   32.000   33.000   34.000
+ 4   / 4:   10.000   11.000   12.000   13.000   14.000
+ 5   / 5:  -10.000   -9.000   -8.000   -7.000   -6.000
+ 6   / 6:  -30.000  -29.000  -28.000  -27.000  -26.000
+ ---- N:2 F:   2
+ 1   / 1:   74.000   75.000   76.000   77.000   78.000
+ 2   / 2:   54.000   55.000   56.000   57.000   58.000
+ 3   / 3:   34.000   35.000   36.000   37.000   38.000
+ 4   / 4:   14.000   15.000   16.000   17.000   18.000
+ 5   / 5:   -6.000   -5.000   -4.000   -3.000   -2.000
+ 6   / 6:  -26.000  -25.000  -24.000  -23.000  -22.000
+ ---- N:3 F:   3
+ 1   / 1:   78.000   79.000   80.000   81.000   82.000
+ 2   / 2:   58.000   59.000   60.000   61.000   62.000
+ 3   / 3:   38.000   39.000   40.000   41.000   42.000
+ 4   / 4:   18.000   19.000   20.000   21.000   22.000
+ 5   / 5:   -2.000   -1.000    0.000    1.000    2.000
+ 6   / 6:  -22.000  -21.000  -20.000  -19.000  -18.000
+ ---- N:4 F:   4
+ 1   / 1:   82.000   83.000   84.000   85.000   86.000
+ 2   / 2:   62.000   63.000   64.000   65.000   66.000
+ 3   / 3:   42.000   43.000   44.000   45.000   46.000
+ 4   / 4:   22.000   23.000   24.000   25.000   26.000
+ 5   / 5:    2.000    3.000    4.000    5.000    6.000
+ 6   / 6:  -18.000  -17.000  -16.000  -15.000  -14.000
+ ---- N:5 F:   5
+ 1   / 1:   86.000   87.000   88.000   89.000   90.000
+ 2   / 2:   66.000   67.000   68.000   69.000   70.000
+ 3   / 3:   46.000   47.000   48.000   49.000   50.000
+ 4   / 4:   26.000   27.000   28.000   29.000   30.000
+ 5   / 5:    6.000    7.000    8.000    9.000   10.000
+ 6   / 6:  -14.000  -13.000  -12.000  -11.000  -10.000
+ ---- N:6 F:   6
+ 1   / 1:   90.000   91.000   92.000   93.000   94.000
+ 2   / 2:   70.000   71.000   72.000   73.000   74.000
+ 3   / 3:   50.000   51.000   52.000   53.000   54.000
+ 4   / 4:   30.000   31.000   32.000   33.000   34.000
+ 5   / 5:   10.000   11.000   12.000   13.000   14.000
+ 6   / 6:  -10.000   -9.000   -8.000   -7.000   -6.000
+ ---- N:7 F:   7
+ 1   / 1:   94.000   95.000   96.000   97.000   98.000
+ 2   / 2:   74.000   75.000   76.000   77.000   78.000
+ 3   / 3:   54.000   55.000   56.000   57.000   58.000
+ 4   / 4:   34.000   35.000   36.000   37.000   38.000
+ 5   / 5:   14.000   15.000   16.000   17.000   18.000
+ 6   / 6:   -6.000   -5.000   -4.000   -3.000   -2.000
+ ---- N:8 F:   8
+ 1   / 1:   98.000   99.000  100.000  101.000  102.000
+ 2   / 2:   78.000   79.000   80.000   81.000   82.000
+ 3   / 3:   58.000   59.000   60.000   61.000   62.000
+ 4   / 4:   38.000   39.000   40.000   41.000   42.000
+ 5   / 5:   18.000   19.000   20.000   21.000   22.000
+ 6   / 6:   -2.000   -1.000    0.000    1.000    2.000
+list/F=25/y=1/t=1 myvar
+             VARIABLE : X + 5.0 * (Y + 4.0 * (Z + 3.0 * T)) + _E - _F
+             SUBSET   : 5 by 8 by 3 points (LONGITUDE-DEPTH (m)-E)
+             LATITUDE : 1N
+             TIME     : JAN-2001
+             F        : 20
+               0E       1E       2E       3E       4E     
+                1        2        3        4        5
+ ---- M:1 E:   0
+ 0     / 1:  45.0000  46.0000  47.0000  48.0000  49.0000
+ 0.2   / 2:  49.0000  50.0000  51.0000  52.0000  53.0000
+ 0.4   / 3:  53.0000  54.0000  55.0000  56.0000  57.0000
+ 0.6   / 4:  57.0000  58.0000  59.0000  60.0000  61.0000
+ 0.8   / 5:  61.0000  62.0000  63.0000  64.0000  65.0000
+ 1     / 6:  65.0000  66.0000  67.0000  68.0000  69.0000
+ 1.2   / 7:  69.0000  70.0000  71.0000  72.0000  73.0000
+ 1.4   / 8:  73.0000  74.0000  75.0000  76.0000  77.0000
+ ---- M:2 E:   5
+ 0     / 1:  50.0000  51.0000  52.0000  53.0000  54.0000
+ 0.2   / 2:  54.0000  55.0000  56.0000  57.0000  58.0000
+ 0.4   / 3:  58.0000  59.0000  60.0000  61.0000  62.0000
+ 0.6   / 4:  62.0000  63.0000  64.0000  65.0000  66.0000
+ 0.8   / 5:  66.0000  67.0000  68.0000  69.0000  70.0000
+ 1     / 6:  70.0000  71.0000  72.0000  73.0000  74.0000
+ 1.2   / 7:  74.0000  75.0000  76.0000  77.0000  78.0000
+ 1.4   / 8:  78.0000  79.0000  80.0000  81.0000  82.0000
+ ---- M:3 E:   10
+ 0     / 1:  55.0000  56.0000  57.0000  58.0000  59.0000
+ 0.2   / 2:  59.0000  60.0000  61.0000  62.0000  63.0000
+ 0.4   / 3:  63.0000  64.0000  65.0000  66.0000  67.0000
+ 0.6   / 4:  67.0000  68.0000  69.0000  70.0000  71.0000
+ 0.8   / 5:  71.0000  72.0000  73.0000  74.0000  75.0000
+ 1     / 6:  75.0000  76.0000  77.0000  78.0000  79.0000
+ 1.2   / 7:  79.0000  80.0000  81.0000  82.0000  83.0000
+ 1.4   / 8:  83.0000  84.0000  85.0000  86.0000  87.0000
+list/F=25/y=1/t=1 transpose_ze(myvar)
+             VARIABLE : TRANSPOSE_ZE(MYVAR)
+             SUBSET   : 5 by 3 by 8 points (LONGITUDE-Z-E)
+             LATITUDE : 1N
+             TIME     : JAN-2001
+             F        : 20
+             0E       1E       2E       3E       4E     
+              1        2        3        4        5
+ ---- M:1 E:   1
+ 1   / 1:  45.0000  46.0000  47.0000  48.0000  49.0000
+ 2   / 2:  50.0000  51.0000  52.0000  53.0000  54.0000
+ 3   / 3:  55.0000  56.0000  57.0000  58.0000  59.0000
+ ---- M:2 E:   2
+ 1   / 1:  49.0000  50.0000  51.0000  52.0000  53.0000
+ 2   / 2:  54.0000  55.0000  56.0000  57.0000  58.0000
+ 3   / 3:  59.0000  60.0000  61.0000  62.0000  63.0000
+ ---- M:3 E:   3
+ 1   / 1:  53.0000  54.0000  55.0000  56.0000  57.0000
+ 2   / 2:  58.0000  59.0000  60.0000  61.0000  62.0000
+ 3   / 3:  63.0000  64.0000  65.0000  66.0000  67.0000
+ ---- M:4 E:   4
+ 1   / 1:  57.0000  58.0000  59.0000  60.0000  61.0000
+ 2   / 2:  62.0000  63.0000  64.0000  65.0000  66.0000
+ 3   / 3:  67.0000  68.0000  69.0000  70.0000  71.0000
+ ---- M:5 E:   5
+ 1   / 1:  61.0000  62.0000  63.0000  64.0000  65.0000
+ 2   / 2:  66.0000  67.0000  68.0000  69.0000  70.0000
+ 3   / 3:  71.0000  72.0000  73.0000  74.0000  75.0000
+ ---- M:6 E:   6
+ 1   / 1:  65.0000  66.0000  67.0000  68.0000  69.0000
+ 2   / 2:  70.0000  71.0000  72.0000  73.0000  74.0000
+ 3   / 3:  75.0000  76.0000  77.0000  78.0000  79.0000
+ ---- M:7 E:   7
+ 1   / 1:  69.0000  70.0000  71.0000  72.0000  73.0000
+ 2   / 2:  74.0000  75.0000  76.0000  77.0000  78.0000
+ 3   / 3:  79.0000  80.0000  81.0000  82.0000  83.0000
+ ---- M:8 E:   8
+ 1   / 1:  73.0000  74.0000  75.0000  76.0000  77.0000
+ 2   / 2:  78.0000  79.0000  80.0000  81.0000  82.0000
+ 3   / 3:  83.0000  84.0000  85.0000  86.0000  87.0000
+ 
+list/e=5/y=1/z=1 myvar
+             VARIABLE : X + 5.0 * (Y + 4.0 * (Z + 3.0 * T)) + _E - _F
+             SUBSET   : 5 by 7 by 6 points (LONGITUDE-TIME-F)
+             LATITUDE : 1N
+             DEPTH (m): 1
+             E        : 5
+                        0E       1E       2E       3E       4E     
+                         1        2        3        4        5
+ ---- N:1 F:   0
+ 01-JAN-2001 00 / 1:   30.000   31.000   32.000   33.000   34.000
+ 02-JAN-2001 00 / 2:   90.000   91.000   92.000   93.000   94.000
+ 03-JAN-2001 00 / 3:  150.000  151.000  152.000  153.000  154.000
+ 04-JAN-2001 00 / 4:  210.000  211.000  212.000  213.000  214.000
+ 05-JAN-2001 00 / 5:  270.000  271.000  272.000  273.000  274.000
+ 06-JAN-2001 00 / 6:  330.000  331.000  332.000  333.000  334.000
+ 07-JAN-2001 00 / 7:  390.000  391.000  392.000  393.000  394.000
+ ---- N:2 F:   20
+ 01-JAN-2001 00 / 1:   10.000   11.000   12.000   13.000   14.000
+ 02-JAN-2001 00 / 2:   70.000   71.000   72.000   73.000   74.000
+ 03-JAN-2001 00 / 3:  130.000  131.000  132.000  133.000  134.000
+ 04-JAN-2001 00 / 4:  190.000  191.000  192.000  193.000  194.000
+ 05-JAN-2001 00 / 5:  250.000  251.000  252.000  253.000  254.000
+ 06-JAN-2001 00 / 6:  310.000  311.000  312.000  313.000  314.000
+ 07-JAN-2001 00 / 7:  370.000  371.000  372.000  373.000  374.000
+ ---- N:3 F:   40
+ 01-JAN-2001 00 / 1:  -10.000   -9.000   -8.000   -7.000   -6.000
+ 02-JAN-2001 00 / 2:   50.000   51.000   52.000   53.000   54.000
+ 03-JAN-2001 00 / 3:  110.000  111.000  112.000  113.000  114.000
+ 04-JAN-2001 00 / 4:  170.000  171.000  172.000  173.000  174.000
+ 05-JAN-2001 00 / 5:  230.000  231.000  232.000  233.000  234.000
+ 06-JAN-2001 00 / 6:  290.000  291.000  292.000  293.000  294.000
+ 07-JAN-2001 00 / 7:  350.000  351.000  352.000  353.000  354.000
+ ---- N:4 F:   60
+ 01-JAN-2001 00 / 1:  -30.000  -29.000  -28.000  -27.000  -26.000
+ 02-JAN-2001 00 / 2:   30.000   31.000   32.000   33.000   34.000
+ 03-JAN-2001 00 / 3:   90.000   91.000   92.000   93.000   94.000
+ 04-JAN-2001 00 / 4:  150.000  151.000  152.000  153.000  154.000
+ 05-JAN-2001 00 / 5:  210.000  211.000  212.000  213.000  214.000
+ 06-JAN-2001 00 / 6:  270.000  271.000  272.000  273.000  274.000
+ 07-JAN-2001 00 / 7:  330.000  331.000  332.000  333.000  334.000
+ ---- N:5 F:   80
+ 01-JAN-2001 00 / 1:  -50.000  -49.000  -48.000  -47.000  -46.000
+ 02-JAN-2001 00 / 2:   10.000   11.000   12.000   13.000   14.000
+ 03-JAN-2001 00 / 3:   70.000   71.000   72.000   73.000   74.000
+ 04-JAN-2001 00 / 4:  130.000  131.000  132.000  133.000  134.000
+ 05-JAN-2001 00 / 5:  190.000  191.000  192.000  193.000  194.000
+ 06-JAN-2001 00 / 6:  250.000  251.000  252.000  253.000  254.000
+ 07-JAN-2001 00 / 7:  310.000  311.000  312.000  313.000  314.000
+ ---- N:6 F:   100
+ 01-JAN-2001 00 / 1:  -70.000  -69.000  -68.000  -67.000  -66.000
+ 02-JAN-2001 00 / 2:  -10.000   -9.000   -8.000   -7.000   -6.000
+ 03-JAN-2001 00 / 3:   50.000   51.000   52.000   53.000   54.000
+ 04-JAN-2001 00 / 4:  110.000  111.000  112.000  113.000  114.000
+ 05-JAN-2001 00 / 5:  170.000  171.000  172.000  173.000  174.000
+ 06-JAN-2001 00 / 6:  230.000  231.000  232.000  233.000  234.000
+ 07-JAN-2001 00 / 7:  290.000  291.000  292.000  293.000  294.000
+list/e=5/y=1/z=1 transpose_tf(myvar)
+             VARIABLE : TRANSPOSE_TF(MYVAR)
+             SUBSET   : 5 by 6 by 7 points (LONGITUDE-T-F)
+             LATITUDE : 1N
+             DEPTH (m): 1
+             E        : 5
+             0E       1E       2E       3E       4E     
+              1        2        3        4        5
+ ---- N:1 F:   1
+ 1   / 1:   30.000   31.000   32.000   33.000   34.000
+ 2   / 2:   10.000   11.000   12.000   13.000   14.000
+ 3   / 3:  -10.000   -9.000   -8.000   -7.000   -6.000
+ 4   / 4:  -30.000  -29.000  -28.000  -27.000  -26.000
+ 5   / 5:  -50.000  -49.000  -48.000  -47.000  -46.000
+ 6   / 6:  -70.000  -69.000  -68.000  -67.000  -66.000
+ ---- N:2 F:   2
+ 1   / 1:   90.000   91.000   92.000   93.000   94.000
+ 2   / 2:   70.000   71.000   72.000   73.000   74.000
+ 3   / 3:   50.000   51.000   52.000   53.000   54.000
+ 4   / 4:   30.000   31.000   32.000   33.000   34.000
+ 5   / 5:   10.000   11.000   12.000   13.000   14.000
+ 6   / 6:  -10.000   -9.000   -8.000   -7.000   -6.000
+ ---- N:3 F:   3
+ 1   / 1:  150.000  151.000  152.000  153.000  154.000
+ 2   / 2:  130.000  131.000  132.000  133.000  134.000
+ 3   / 3:  110.000  111.000  112.000  113.000  114.000
+ 4   / 4:   90.000   91.000   92.000   93.000   94.000
+ 5   / 5:   70.000   71.000   72.000   73.000   74.000
+ 6   / 6:   50.000   51.000   52.000   53.000   54.000
+ ---- N:4 F:   4
+ 1   / 1:  210.000  211.000  212.000  213.000  214.000
+ 2   / 2:  190.000  191.000  192.000  193.000  194.000
+ 3   / 3:  170.000  171.000  172.000  173.000  174.000
+ 4   / 4:  150.000  151.000  152.000  153.000  154.000
+ 5   / 5:  130.000  131.000  132.000  133.000  134.000
+ 6   / 6:  110.000  111.000  112.000  113.000  114.000
+ ---- N:5 F:   5
+ 1   / 1:  270.000  271.000  272.000  273.000  274.000
+ 2   / 2:  250.000  251.000  252.000  253.000  254.000
+ 3   / 3:  230.000  231.000  232.000  233.000  234.000
+ 4   / 4:  210.000  211.000  212.000  213.000  214.000
+ 5   / 5:  190.000  191.000  192.000  193.000  194.000
+ 6   / 6:  170.000  171.000  172.000  173.000  174.000
+ ---- N:6 F:   6
+ 1   / 1:  330.000  331.000  332.000  333.000  334.000
+ 2   / 2:  310.000  311.000  312.000  313.000  314.000
+ 3   / 3:  290.000  291.000  292.000  293.000  294.000
+ 4   / 4:  270.000  271.000  272.000  273.000  274.000
+ 5   / 5:  250.000  251.000  252.000  253.000  254.000
+ 6   / 6:  230.000  231.000  232.000  233.000  234.000
+ ---- N:7 F:   7
+ 1   / 1:  390.000  391.000  392.000  393.000  394.000
+ 2   / 2:  370.000  371.000  372.000  373.000  374.000
+ 3   / 3:  350.000  351.000  352.000  353.000  354.000
+ 4   / 4:  330.000  331.000  332.000  333.000  334.000
+ 5   / 5:  310.000  311.000  312.000  313.000  314.000
+ 6   / 6:  290.000  291.000  292.000  293.000  294.000
+list/F=25/y=1/z=1 myvar
+             VARIABLE : X + 5.0 * (Y + 4.0 * (Z + 3.0 * T)) + _E - _F
+             SUBSET   : 5 by 7 by 3 points (LONGITUDE-TIME-E)
+             LATITUDE : 1N
+             DEPTH (m): 1
+             F        : 20
+                        0E       1E       2E       3E       4E     
+                         1        2        3        4        5
+ ---- M:1 E:   0
+ 01-JAN-2001 00 / 1:    5.000    6.000    7.000    8.000    9.000
+ 02-JAN-2001 00 / 2:   65.000   66.000   67.000   68.000   69.000
+ 03-JAN-2001 00 / 3:  125.000  126.000  127.000  128.000  129.000
+ 04-JAN-2001 00 / 4:  185.000  186.000  187.000  188.000  189.000
+ 05-JAN-2001 00 / 5:  245.000  246.000  247.000  248.000  249.000
+ 06-JAN-2001 00 / 6:  305.000  306.000  307.000  308.000  309.000
+ 07-JAN-2001 00 / 7:  365.000  366.000  367.000  368.000  369.000
+ ---- M:2 E:   5
+ 01-JAN-2001 00 / 1:   10.000   11.000   12.000   13.000   14.000
+ 02-JAN-2001 00 / 2:   70.000   71.000   72.000   73.000   74.000
+ 03-JAN-2001 00 / 3:  130.000  131.000  132.000  133.000  134.000
+ 04-JAN-2001 00 / 4:  190.000  191.000  192.000  193.000  194.000
+ 05-JAN-2001 00 / 5:  250.000  251.000  252.000  253.000  254.000
+ 06-JAN-2001 00 / 6:  310.000  311.000  312.000  313.000  314.000
+ 07-JAN-2001 00 / 7:  370.000  371.000  372.000  373.000  374.000
+ ---- M:3 E:   10
+ 01-JAN-2001 00 / 1:   15.000   16.000   17.000   18.000   19.000
+ 02-JAN-2001 00 / 2:   75.000   76.000   77.000   78.000   79.000
+ 03-JAN-2001 00 / 3:  135.000  136.000  137.000  138.000  139.000
+ 04-JAN-2001 00 / 4:  195.000  196.000  197.000  198.000  199.000
+ 05-JAN-2001 00 / 5:  255.000  256.000  257.000  258.000  259.000
+ 06-JAN-2001 00 / 6:  315.000  316.000  317.000  318.000  319.000
+ 07-JAN-2001 00 / 7:  375.000  376.000  377.000  378.000  379.000
+list/F=25/y=1/z=1 transpose_te(myvar)
+             VARIABLE : TRANSPOSE_TE(MYVAR)
+             SUBSET   : 5 by 3 by 7 points (LONGITUDE-T-E)
+             LATITUDE : 1N
+             DEPTH (m): 1
+             F        : 20
+             0E       1E       2E       3E       4E     
+              1        2        3        4        5
+ ---- M:1 E:   1
+ 1   / 1:    5.000    6.000    7.000    8.000    9.000
+ 2   / 2:   10.000   11.000   12.000   13.000   14.000
+ 3   / 3:   15.000   16.000   17.000   18.000   19.000
+ ---- M:2 E:   2
+ 1   / 1:   65.000   66.000   67.000   68.000   69.000
+ 2   / 2:   70.000   71.000   72.000   73.000   74.000
+ 3   / 3:   75.000   76.000   77.000   78.000   79.000
+ ---- M:3 E:   3
+ 1   / 1:  125.000  126.000  127.000  128.000  129.000
+ 2   / 2:  130.000  131.000  132.000  133.000  134.000
+ 3   / 3:  135.000  136.000  137.000  138.000  139.000
+ ---- M:4 E:   4
+ 1   / 1:  185.000  186.000  187.000  188.000  189.000
+ 2   / 2:  190.000  191.000  192.000  193.000  194.000
+ 3   / 3:  195.000  196.000  197.000  198.000  199.000
+ ---- M:5 E:   5
+ 1   / 1:  245.000  246.000  247.000  248.000  249.000
+ 2   / 2:  250.000  251.000  252.000  253.000  254.000
+ 3   / 3:  255.000  256.000  257.000  258.000  259.000
+ ---- M:6 E:   6
+ 1   / 1:  305.000  306.000  307.000  308.000  309.000
+ 2   / 2:  310.000  311.000  312.000  313.000  314.000
+ 3   / 3:  315.000  316.000  317.000  318.000  319.000
+ ---- M:7 E:   7
+ 1   / 1:  365.000  366.000  367.000  368.000  369.000
+ 2   / 2:  370.000  371.000  372.000  373.000  374.000
+ 3   / 3:  375.000  376.000  377.000  378.000  379.000
+ 
 can var /all
 set grid abstract
 can grid mygrd
@@ -33633,16 +34225,18 @@ can axis taxs
 can axis zaxs
 can axis yaxs
 can axis xaxs
- 
+can axis eaxs
+can axis faxs
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go bn_unique_str2int
 ! bn_unique_str2int.jnl
  
 SHOW FUNC/DETAIL unique_str2int
 UNIQUE_STR2INT(A)
-    Returns an ID number for each unique stringin the input array of strings (case sensitive)
+    Returns an ID number for each unique string in the input array of strings (case sensitive)
         Axes of result:
           X: inherited from argument(s)
           Y: inherited from argument(s)
@@ -33716,6 +34310,7 @@ list unique_str2int(blist), blist
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go bench_sort
  
  
@@ -33785,6 +34380,23 @@ SAMPLEN(TO_BE_SAMPLED,F_INDICES)
     sample a field at a list of F indices
     TO_BE_SAMPLED: data to sample at list of F indices supplied
     F_INDICES: list of F indices at which to sample
+SAMPLE_FAST_I(V,Indices)
+    Fast 1D sample variable using set of indices
+    V: 1-D variable in X direction
+    Indices: List of indices at which to sample
+SAMPLE_FAST_I_STR(S,Indices)
+    Fast 1D sample string variable using set of indices
+    S: 1-D string variable in X direction (STRING)
+    Indices: List of indices at which to sample
+SAMPLEF_DATE(DAT_TO_SAMPLE,YR,MO,DAY,HR,MIN,SEC)
+    Returns data sampled by interpolating to a set of times in F direction
+    DAT_TO_SAMPLE: data to sample at set of times in F
+    YR: Year(s) yyyy
+    MO: Month(s), integer mm
+    DAY: Day(s) of month dd
+    HR: Hour(s) hh
+    MIN: Minute(s) mm
+    SEC: Second(s) ss
 SAMPLEIJ(DAT_TO_SAMPLE,XPTS,YPTS)
     Returns data sampled by matching coordinates at a subset of grid points, defined by (XPTS, YPTS)
     DAT_TO_SAMPLE: variable (x,y,z,t,e,f) to sample
@@ -33806,15 +34418,14 @@ SAMPLEL_MULTI(L_INDICES,DAT_TO_SAMPLE)
     Returns data sampled according to L indices which may vary in IJK
     L_INDICES: ordered indices
     DAT_TO_SAMPLE: data to sample using L indices
-SAMPLEF_DATE(DAT_TO_SAMPLE,YR,MO,DAY,HR,MIN,SEC)
-    Returns data sampled by interpolating to a set of times in F direction
-    DAT_TO_SAMPLE: data to sample at set of times in F
-    YR: Year(s) yyyy
-    MO: Month(s), integer mm
-    DAY: Day(s) of month dd
-    HR: Hour(s) hh
-    MIN: Minute(s) mm
-    SEC: Second(s) ss
+SAMPLEM_MULTI(DAT_TO_SAMPLE,M_INDICES)
+    Returns data sampled according to M indices which may be function of IJKLN
+    DAT_TO_SAMPLE: data to sample using L indices
+    M_INDICES: ordered indices
+SAMPLEN_MULTI(DAT_TO_SAMPLE,N_INDICES)
+    Returns data sampled according to N indices which may be function of IJKLM
+    DAT_TO_SAMPLE: data to sample using L indices
+    N_INDICES: ordered indices
 SAMPLET_DATE(DAT_TO_SAMPLE,YR,MO,DAY,HR,MIN,SEC)
     Returns data sampled by interpolating to a set of times in T direction
     DAT_TO_SAMPLE: data to sample at set of times
@@ -33830,7 +34441,7 @@ SAMPLEXY(DAT_TO_SAMPLE,XPTS,YPTS)
     XPTS: X values of sample points
     YPTS: Y values of sample points
 SAMPLEXY_CLOSEST(DAT_TO_SAMPLE,XPTS,YPTS)
-    Returns data sampled at a set of (X,Y) points, using nearest grid intersection
+    This function is deprecated. It is renamed to SAMPLEXY_NRST
     DAT_TO_SAMPLE: variable (x,y,z,t,e,f) to sample
     XPTS: X values of sample points
     YPTS: Y values of sample points
@@ -33855,12 +34466,23 @@ SAMPLEXY_CURV_NRST(DAT_TO_SAMPLE,DAT_LON,DAT_LAT,XPTS,YPTS)
     DAT_LAT: latitudes of input variable
     XPTS: X values of sample points
     YPTS: Y values of sample points
+SAMPLEXY_NRST(DAT_TO_SAMPLE,XPTS,YPTS)
+    Returns data sampled at a set of (X,Y) points, using nearest grid intersection
+    DAT_TO_SAMPLE: variable (x,y,z,t,e,f) to sample
+    XPTS: X values of sample points
+    YPTS: Y values of sample points
 SAMPLEXYT(DAT_TO_SAMPLE,XPTS,YPTS,TPTS)
     Returns data sampled at a set of (X,Y,T) points, using linear interpolation
     DAT_TO_SAMPLE: variable (x,y,z,t,e,f) to sample
     XPTS: X values of sample points
     YPTS: Y values of sample points
     TPTS: T values of sample points
+SAMPLEXYT_NRST(DAT_TO_SAMPLE,XPTS,YPTS,TPTS)
+    Returns data sampled at a set of (X,Y,T) points, using nearest grid intersection
+    DAT_TO_SAMPLE: variable (x,y,z,t,e,f) to sample
+    XPTS: X values of sample points
+    YPTS: Y values of sample points
+    TPTS: T values of sample points
 SAMPLEXZ(DAT_TO_SAMPLE,XPTS,ZPTS)
     Returns data sampled at a set of (X,Z) points, using linear interpolation
     DAT_TO_SAMPLE: variable (x,y,z,t,e,f) to sample
@@ -33871,20 +34493,6 @@ SAMPLEYZ(DAT_TO_SAMPLE,YPTS,ZPTS)
     DAT_TO_SAMPLE: variable (x,y,z,t,e,f) to sample
     YPTS: Y values of sample points
     ZPTS: Z values of sample points
-SAMPLEXYT_NRST(DAT_TO_SAMPLE,XPTS,YPTS,TPTS)
-    Returns data sampled at a set of (X,Y,T) points, using nearest grid intersection
-    DAT_TO_SAMPLE: variable (x,y,z,t,e,f) to sample
-    XPTS: X values of sample points
-    YPTS: Y values of sample points
-    TPTS: T values of sample points
-SAMPLE_FAST_I(V,Indices)
-    Fast 1D sample variable using set of indices
-    V: Variable to sample
-    Indices: List of indices at which to sample
-SAMPLE_FAST_I_STR(S,Indices)
-    Fast 1D sample string variable using set of indices
-    S: String Variable to sample (STRING)
-    Indices: List of indices at which to sample
 SAMPLE_FAST_I(V,Indices)
     Fast 1D sample variable using set of indices
     V: Variable to sample
@@ -34449,6 +35057,7 @@ list my_vwnd
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go bench_eof
 ! Benchmark for EOF functions
 ! Statically linked as of ferret V5.34
@@ -34519,6 +35128,7 @@ exit/script
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go bench_compress_by
 let mask = {1,,1,,1} + 0*L[l=101:102] + 0*K[k=10:11]
 list compressi_by({10,20,30,40,50},mask)
@@ -34556,6 +35166,7 @@ list compressi_by({10,20,30,40,50},mask2)
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go bench_compress
  ! NOAA/PMEL TMAP
  ! Program FERRET
@@ -34704,6 +35315,7 @@ list compressk(a[i=91,j=35,l=1])
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO bench_internal_string_functions
 ! test internal string functions:
 !       strlen
@@ -34799,6 +35411,7 @@ set mode/last ignore
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO bn_ef_bench_extrema.jnl
 ! bench_extrema.jnl
 !  benchmark tests for findhi and findlo
@@ -34855,6 +35468,7 @@ list a[i=@ngd]
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO bn_ef_err541_date_delim.jnl
 ! err541_date_delim.jnl
 ! Fix errors occurring with delimted reads - four digit years were
@@ -34927,6 +35541,7 @@ if `date_check` then say **** DELIMTED READ DATE CHECK FAILED
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO bn_ef_zaxr_fcns.jnl
 ! bn_ef_zaxr_functions.jnl
 ! 04-apr-05 *acm* move to tests of shared-obj efs.
@@ -34978,6 +35593,7 @@ list ddat_a, ddat_b, ddat_c
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO bn_ef_curv_to_rect.jnl
 ! bn_ef_curv_to_rect.jnl
 ! Test of curvilinear to rectilinear regridding
@@ -34998,16 +35614,16 @@ CURV_TO_RECT(V,mapping)
     Apply mapping to regrid from curvilinear to rectangular grid
     V: Variable to regrid, on curvilinear grid V(x,y,z,t,e,f)
     mapping: mapping computed by curv_to_rect_MAP
+CURV_TO_RECT_FSU(V,mapping)
+    Alt func to Apply mapping to regrid from curvilinear to rectangular grid
+    V: Variable to regrid, on curvilinear grid V(x,y,z,t)
+    mapping: mapping computed by curv_to_rect_MAP
 CURV_TO_RECT_MAP(lon_in,lat_in,grid_out,radius)
     Compute mapping for regridding: curvilinear to rectangular grid.
     lon_in: Source grid longitudes (2-D) (degrees)
     lat_in: Source grid latitudes (2-D) (degrees)
     grid_out: Any variable on destination Longitude-Latitude grid, Lon and Lat (degrees)
     radius: Source points falling within radius are included in mapping to destination point (degrees)
-CURV_TO_RECT_FSU(V,mapping)
-    Alt func to Apply mapping to regrid from curvilinear to rectangular grid
-    V: Variable to regrid, on curvilinear grid V(x,y,z,t)
-    mapping: mapping computed by curv_to_rect_MAP
  
 use tripolar_subset.nc
 shade ht, geolon_vert_t, geolat_vert_t
@@ -35127,6 +35743,7 @@ shade fill_xy(sst[l=1], mask[l=1], 4)
 ! Compare SAMPLEXY and SAMPLEIJ
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO bn_samplexy_sampleij
 ! bn_samplexy_sampleij
  
@@ -35163,8 +35780,10 @@ list/l=1 samplexy(sst,{321,323.5,325}, {1,1,1}), sampleij(sst,{321,323,324.5}, {
  
  
  
-GO bn_reset
+GO bn_reset bn_modulo_strides
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_modulo_strides
 GO bn_modulo_strides
 ! bn_modulo_strides.jnl
 ! 6/01 *sh*
@@ -35184,42 +35803,42 @@ cancel memory/all
 set mode diag
 let b =  a[i=18:23:2]
 list/nohead b            ! using rdstride
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid B        C:  7 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid B        C:  7 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G022)          (AX015)   NORMAL    NORMAL    NORMAL
  dealloc  dynamic grid (G022)          (AX015)   NORMAL    NORMAL    NORMAL
  allocate dynamic grid (G022)          (AX015)   NORMAL    NORMAL    NORMAL
  allocate dynamic grid (G022)          (AX015)   NORMAL    NORMAL    NORMAL
- eval    EX#1     C:  4 dset:   1 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999
- eval    B        C:  6 dset:   1 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  4 dset:   1 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999
+ eval    B        C:  6 dset:   1 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999
  allocate dynamic grid (G022)          (AX015)   NORMAL    NORMAL    NORMAL
  strip regrid on X: A --> (G022)           @XACT
- strip moduloing A on X axis:    18    22 dset:   1
- rdstride A        C: 11 dset:   1 I:   18   20  J: -999 -999  K: -999 -999  L: -999 -999
- doing moduloing A on X axis:    18    20 dset:   1
- -DELETE A        M:339 dset:   1 I:   18   20  J: -999 -999  K: -999 -999  L: -999 -999
- rdstride A        C: 11 dset:   1 I:    2    2  J: -999 -999  K: -999 -999  L: -999 -999
- doing moduloing A on X axis:     2     2 dset:   1
- -DELETE A        M:339 dset:   1 I:    2    2  J: -999 -999  K: -999 -999  L: -999 -999
- nulrgd  A        M:339 dset:   1 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999
- -DELETE A        M:332 dset:   1 I:   18   22  J: -999 -999  K: -999 -999  L: -999 -999
+ strip moduloing A on X axis:       18       22 dset:   1
+ rdstride A        C: 11 dset:   1 I:     18     20  J: -999 -999  K: -999 -999  L:   -999   -999
+ doing moduloing A on X axis:       18       20 dset:   1
+ -DELETE A        M:238 dset:   1 I:     18     20  J: -999 -999  K: -999 -999  L:   -999   -999
+ rdstride A        C: 11 dset:   1 I:      2      2  J: -999 -999  K: -999 -999  L:   -999   -999
+ doing moduloing A on X axis:        2        2 dset:   1
+ -DELETE A        M:238 dset:   1 I:      2      2  J: -999 -999  K: -999 -999  L:   -999   -999
+ nulrgd  A        M:238 dset:   1 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999
+ -DELETE A        M:243 dset:   1 I:     18     22  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid (G022)          (AX015)   NORMAL    NORMAL    NORMAL
  18   / 1:  18.0000
  20   / 2:  20.0000
  22   / 3:   2.0000
 list/nohead a[i=1:25:3]  ! no strides --> reads full region without strides
  dealloc  dynamic grid (G022)          (AX015)   NORMAL    NORMAL    NORMAL
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G023)          (AX017)   NORMAL    NORMAL    NORMAL
  dealloc  dynamic grid (G023)          (AX017)   NORMAL    NORMAL    NORMAL
  allocate dynamic grid (G023)          (AX017)   NORMAL    NORMAL    NORMAL
- eval    EX#1     C:  4 dset:   1 I:    1    9  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  4 dset:   1 I:      1      9  J: -999 -999  K: -999 -999  L:   -999   -999
  allocate dynamic grid (G023)          (AX017)   NORMAL    NORMAL    NORMAL
  strip regrid on X: A --> (G023)           @XACT
- strip moduloing A on X axis:     1    25 dset:   1
- reading A        M:327 dset:   1 I:    1   20  J: -999 -999  K: -999 -999  L: -999 -999
- doing moduloing A on X axis:     1    20 dset:   1
- regrid  A        M:334 dset:   1 I:    1    9  J: -999 -999  K: -999 -999  L: -999 -999
+ strip moduloing A on X axis:        1       25 dset:   1
+ reading A        M:241 dset:   1 I:      1     20  J: -999 -999  K: -999 -999  L:   -999   -999
+ doing moduloing A on X axis:        1       20 dset:   1
+ regrid  A        M:231 dset:   1 I:      1      9  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid (G023)          (AX017)   NORMAL    NORMAL    NORMAL
  1    / 1:   1.0000
  4    / 2:   4.0000
@@ -35232,23 +35851,11 @@ list/nohead a[i=1:25:3]  ! no strides --> reads full region without strides
  25   / 9:   5.0000
 list/nohead b            ! reuse of cached result
  dealloc  dynamic grid (G023)          (AX017)   NORMAL    NORMAL    NORMAL
- -DELETE A        M:334 dset:   1 I:    1    9  J: -999 -999  K: -999 -999  L: -999 -999
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ -DELETE A        M:231 dset:   1 I:      1      9  J: -999 -999  K: -999 -999  L:   -999   -999
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G022)          (AX015)   NORMAL    NORMAL    NORMAL
- eval    EX#1     C:  4 dset:   1 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999
- eval    B        C:  6 dset:   1 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999
- allocate dynamic grid (G022)          (AX015)   NORMAL    NORMAL    NORMAL
- strip regrid on X: A --> (G022)           @XACT
- strip moduloing A on X axis:    18    22 dset:   1
- rdstride A        C: 11 dset:   1 I:   18   20  J: -999 -999  K: -999 -999  L: -999 -999
- doing moduloing A on X axis:    18    20 dset:   1
- -DELETE A        M:334 dset:   1 I:   18   20  J: -999 -999  K: -999 -999  L: -999 -999
- rdstride A        C: 11 dset:   1 I:    2    2  J: -999 -999  K: -999 -999  L: -999 -999
- doing moduloing A on X axis:     2     2 dset:   1
- -DELETE A        M:334 dset:   1 I:    2    2  J: -999 -999  K: -999 -999  L: -999 -999
- nulrgd  A        M:334 dset:   1 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999
- -DELETE A        M:330 dset:   1 I:   18   22  J: -999 -999  K: -999 -999  L: -999 -999
- dealloc  dynamic grid (G022)          (AX015)   NORMAL    NORMAL    NORMAL
+ eval    EX#1     C:  4 dset:   1 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999
+ found   B        M:243 dset:   1 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999
  18   / 1:  18.0000
  20   / 2:  20.0000
  22   / 3:   2.0000
@@ -35450,40 +36057,40 @@ list/nohead a[i=106:145:5]
 set mode diag
 list/nohead str[i=18:23:2] ! using rdstride
  dealloc  dynamic grid (G023)          (AX028)   NORMAL    NORMAL    NORMAL
- -DELETE A        M:337 dset:   1 I:    1    8  J: -999 -999  K: -999 -999  L: -999 -999
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ -DELETE A        M:231 dset:   1 I:      1      8  J: -999 -999  K: -999 -999  L:   -999   -999
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G022)          (AX015)   NORMAL    NORMAL    NORMAL
  dealloc  dynamic grid (G022)          (AX015)   NORMAL    NORMAL    NORMAL
  allocate dynamic grid (G022)          (AX015)   NORMAL    NORMAL    NORMAL
- eval    EX#1     C:  4 dset:   1 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  4 dset:   1 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999
  allocate dynamic grid (G022)          (AX015)   NORMAL    NORMAL    NORMAL
  strip regrid on X: STR --> (G022)           @XACT
- strip moduloing STR on X axis:    18    22 dset:   1
- rdstride STR      C:  9 dset:   1 I:   18   20  J: -999 -999  K: -999 -999  L: -999 -999
- doing moduloing STR on X axis:    18    20 dset:   1
- -DELETE STR      M:337 dset:   1 I:   18   20  J: -999 -999  K: -999 -999  L: -999 -999
- rdstride STR      C:  9 dset:   1 I:    2    2  J: -999 -999  K: -999 -999  L: -999 -999
- doing moduloing STR on X axis:     2     2 dset:   1
- -DELETE STR      M:337 dset:   1 I:    2    2  J: -999 -999  K: -999 -999  L: -999 -999
- nulrgd  STR      M:337 dset:   1 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999
- -DELETE STR      M:325 dset:   1 I:   18   22  J: -999 -999  K: -999 -999  L: -999 -999
+ strip moduloing STR on X axis:       18       22 dset:   1
+ rdstride STR      C:  9 dset:   1 I:     18     20  J: -999 -999  K: -999 -999  L:   -999   -999
+ doing moduloing STR on X axis:       18       20 dset:   1
+ -DELETE STR      M:231 dset:   1 I:     18     20  J: -999 -999  K: -999 -999  L:   -999   -999
+ rdstride STR      C:  9 dset:   1 I:      2      2  J: -999 -999  K: -999 -999  L:   -999   -999
+ doing moduloing STR on X axis:        2        2 dset:   1
+ -DELETE STR      M:231 dset:   1 I:      2      2  J: -999 -999  K: -999 -999  L:   -999   -999
+ nulrgd  STR      M:231 dset:   1 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999
+ -DELETE STR      M:244 dset:   1 I:     18     22  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid (G022)          (AX015)   NORMAL    NORMAL    NORMAL
  18   / 1:"r"
  20   / 2:"t"
  22   / 3:"b"
 list/nohead str[i=1:25:3]  ! no strides --> reads full region without strides
  dealloc  dynamic grid (G022)          (AX015)   NORMAL    NORMAL    NORMAL
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G023)          (AX017)   NORMAL    NORMAL    NORMAL
  dealloc  dynamic grid (G023)          (AX017)   NORMAL    NORMAL    NORMAL
  allocate dynamic grid (G023)          (AX017)   NORMAL    NORMAL    NORMAL
- eval    EX#1     C:  4 dset:   1 I:    1    9  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  4 dset:   1 I:      1      9  J: -999 -999  K: -999 -999  L:   -999   -999
  allocate dynamic grid (G023)          (AX017)   NORMAL    NORMAL    NORMAL
  strip regrid on X: STR --> (G023)           @XACT
- strip moduloing STR on X axis:     1    25 dset:   1
- reading STR      M:325 dset:   1 I:    1   20  J: -999 -999  K: -999 -999  L: -999 -999
- doing moduloing STR on X axis:     1    20 dset:   1
- regrid  STR      M:322 dset:   1 I:    1    9  J: -999 -999  K: -999 -999  L: -999 -999
+ strip moduloing STR on X axis:        1       25 dset:   1
+ reading STR      M:244 dset:   1 I:      1     20  J: -999 -999  K: -999 -999  L:   -999   -999
+ doing moduloing STR on X axis:        1       20 dset:   1
+ regrid  STR      M:240 dset:   1 I:      1      9  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid (G023)          (AX017)   NORMAL    NORMAL    NORMAL
  1    / 1:"a"
  4    / 2:"d"
@@ -35559,8 +36166,10 @@ list/nohead str[i=105:145:5]
  
 ! ******** V54 Additions below ***********
  
-GO bn_reset
+GO bn_reset bn_axis_viewports
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_axis_viewports
 GO bn_axis_viewports
 ! bn_axis_viewports
 ! *sh* 9/01
@@ -35898,8 +36507,10 @@ ppl list yaxis
          AUTO    NORMAL NMTC=  0 LINT=  2 LABEL= -1 NSIG=  2 NTIC= 10
          YORG= 1.40E+00  AUTO LABELLING
  
-GO bn_reset
+GO bn_reset bn_strings
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_strings
 GO bn_strings
 ! bn_strings.jnl
  
@@ -35910,7 +36521,7 @@ GO bn_strings
  
 sh mode stupid
       MODE            STATE        ARGUMENT
-      STUPID           SET
+      STUPID        CANCELED
 cancel mode stupid  ! for testing in double precision
  
  
@@ -36383,9 +36994,7 @@ list/nohead ysequence({"now","then"})+", " + (if {0,1} THEN "hello"+", " ELSE "g
  2   / 2:"then, goodbye, my friend""then, hello, friend"     
  
 SET MODE IGNORE
-list/nohead ysequence({98, 99})+", " + (if {0,1} THEN "hello"+", " ELSE "goodbye"+", my ") + "friend"
- 1   / 1:........
- 2   / 2:........
+! list/nohead ysequence({98, 99})+", " + (if {0,1} THEN "hello"+", " ELSE "goodbye"+", my ") + "friend"
 list/nohead ysequence({"now","then"})+", " + (if {0,1} THEN "hello"+99 ELSE "goodbye"+", my ") + "friend"
  1   / 1:........
  2   / 2:........
@@ -36461,8 +37070,10 @@ list a[i=@rsum]
  
 set mode/last stupid
  
-GO bn_reset
+GO bn_reset bn_axcontrol
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_axcontrol
 GO bn_axcontrol
  ! NOAA/PMEL TMAP
  ! Program FERRET (alpha)
@@ -36503,8 +37114,10 @@ fill/l=1/axes sst
 can view
 polygon/thick/color=red/palette=blue/axes=1,0,1,0 {1,2,1}, {2,1,0.5}
  
-GO bn_reset
+GO bn_reset bn_vec_curv
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_vec_curv
 GO bn_vec_curv
 ! bn_vec_curv.jnl
 !
@@ -36577,8 +37190,10 @@ vec/title="Stretched grid" a,b,mxpage,mypage
 can mode meta
 set mode logo
  
-GO bn_reset
+GO bn_reset bn_delimited_read
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_delimited_read
 GO bn_delimited_read
 ! bn_delimited_read.jnl
 ! 10/01 *sh*
@@ -37645,8 +38260,10 @@ cancel mode ignore
  
 ! ******** V5.41 Additions below ***********
  
-GO bn_reset
+GO bn_reset bn541_bug_fixes
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn541_bug_fixes
 GO bn541_bug_fixes
 ! bn541_bug_fixes.jnl
 ! test various fixes that went into version 5.41
@@ -37654,6 +38271,7 @@ GO bn541_bug_fixes
 !
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
  
 ! tics on horiz log axes were wrong; (plot only)
 ! GO bn_reset
@@ -37663,6 +38281,7 @@ cancel mode verify
 !missing vertices in polygon call
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err540_polymissing
 ! err540_polymissing.jnl
 ! 3/02 *acm*
@@ -37694,6 +38313,7 @@ polygon  xvertex1,yvertex,values
 ! formatting axis label numbers
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err540_ill_format.jnl
 ! err540_ill_format.jnl
 ! 3/02 *acm*
@@ -37712,6 +38332,7 @@ plot/trans/i=1:100  0.001 - 0.002/ i
 ! variable permutation in netCDF writes
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err540_write_order
 ! err540_write_order.jnl
 ! *sh* 3/02
@@ -37790,6 +38411,7 @@ sp rm -f test_bad_order.cdf
 !@AVE error when plotting unlike grids together
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err540_ax_ave
 !err540_ax_ave.jnl
 ! 3/02 *acm
@@ -37806,6 +38428,7 @@ plot/x=140w/y=0/sym/line sst,sst[gt=t2 at ave]
 !Make PPL AXSET settings persist, but not settings made w/ qualifiers /AXES= or /NOAXES
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err540_axset
 !err540_axset.jnl
 ! 3/02 *acm
@@ -37840,6 +38463,7 @@ PPL axset 1,1,1,1
 !Previously couldn't do PLOT/VS/DASH, but no reason not to allow it.
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err540_vs_dash
 ! PLOT/VS/DASH  previously was not allowed.
  
@@ -37883,6 +38507,7 @@ plot/over/thick/dash/color=blue 50*sin(ypts/3)+700, 30*cos(ypts/3)+800, 20*cos(y
 !overlay on polygon plots
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err540_poly_overlay
 !overlay on polygon plots
  
@@ -37892,6 +38517,7 @@ shade/over/i=1:2/j=0:2/patt i+j
 !polytube failed on plot/over; go polytube, because YAXIS_MIN, _MAX not defined.
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err540_axis_symbols
 ! err540_axis_symbols.jnl
 ! 3/02 *acm*
@@ -37924,6 +38550,7 @@ XAXIS_MAX = "10.00000"
 !nested repeat loops and parsing parentheses
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err540_parse_repeat
 ! err540_parse_repeat.jnl
 ! 3/03 *acm
@@ -37969,6 +38596,7 @@ why not
 ! appending a scalar to NetCDF file
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err540_cd_use_recdim
 ! err540_cd_use_recdim
 ! 3/02 *sh*
@@ -38011,6 +38639,7 @@ sp rm -f profiles.nc
 !missing data in xpts,ypts sample points wasnt checked
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err540_samplexy_missing
 ! err540_samplexy_missing.jnl
 ! 3/03 *acm
@@ -38043,8 +38672,10 @@ list asst
 ! test the fixed delta stride bug
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err540_strides_rev.jnl
 ! err540_strides_rev.jnl
+! V702: *sh* 2/2017 - modified this bench script
  
 ! reported Feb '02
 ! fixed April 17, '02
@@ -38079,35 +38710,34 @@ cancel var/all
  
 set mode stupid
 set mode diag
-set mem/size=0.05
+! *sh* 2/17 - such a small memory size makes it impossible to succeed
+! with the command under the new dynamic memory management
+!set mem/size=0.05
+set mem/size=1   ! use this larger size, instead
 show mem/free
- Current size of FERRET memory cache: 0.2 MegaWords  (1 word = 8 bytes)
-            total memory table slots: 500
-            total memory blocks: 2000
-            memory block size: 100
- 
-            number of free memory blocks: 2000
-            largest free region: 2000
-            number of free regions: 1
-            free memory table slots: 500
-            number of UN-CACHED variables: 0
+    SET MEMORY/SIZE: 1000000 words
+    Peak demand: 0 words
+    Current cache: 0 words
+    Total table slots: 500
+    Free table slots: 500
+    Un-cached variables: 0
  
 use/ord=x-y test_100x100.nc
 list/prec=1 a[i=1:100:10] !  this looks just right!!
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G005)          (AX015)   YAX1_100  NORMAL    NORMAL
- dealloc  dynamic grid (G005)          (AX015)   YAX1_100  NORMAL    NORMAL
- allocate dynamic grid (G005)          (AX015)   YAX1_100  NORMAL    NORMAL
- eval    EX#1     C:  4 dset:   1 I:    1  100  J:    1  100  K: -999 -999  L: -999 -999
- allocate dynamic grid (G005)          (AX015)   YAX1_100  NORMAL    NORMAL
- strip regrid on X: A --> (G005)           @XACT
- strip reversing A on Y axis:     1   100 dset:   1
- rdstride A        C:  8 dset:   1 I:    1   91  J:    1  100  K: -999 -999  L: -999 -999
- doing reversing A on Y axis:     1   100 dset:   1
- -DELETE A        M:  1 dset:   1 I:    1   91  J:    1  100  K: -999 -999  L: -999 -999
- nulrgd  A        M:  1 dset:   1 I:    1   10  J:    1  100  K: -999 -999  L: -999 -999
- -DELETE A        M:  2 dset:   1 I:    1   91  J:    1  100  K: -999 -999  L: -999 -999
- dealloc  dynamic grid (G005)          (AX015)   YAX1_100  NORMAL    NORMAL
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G022)          (AX015)   YAX1_100  NORMAL    NORMAL
+ dealloc  dynamic grid (G022)          (AX015)   YAX1_100  NORMAL    NORMAL
+ allocate dynamic grid (G022)          (AX015)   YAX1_100  NORMAL    NORMAL
+ eval    EX#1     C:  4 dset:   1 I:      1    100  J:    1  100  K: -999 -999  L:   -999   -999
+ allocate dynamic grid (G022)          (AX015)   YAX1_100  NORMAL    NORMAL
+ strip regrid on X: A --> (G022)           @XACT
+ strip reversing A on Y axis:        1      100 dset:   1
+ rdstride A        C:  8 dset:   1 I:      1     91  J:    1  100  K: -999 -999  L:   -999   -999
+ doing reversing A on Y axis:        1      100 dset:   1
+ -DELETE A        M:249 dset:   1 I:      1     91  J:    1  100  K: -999 -999  L:   -999   -999
+ nulrgd  A        M:249 dset:   1 I:      1     10  J:    1  100  K: -999 -999  L:   -999   -999
+ -DELETE A        M:235 dset:   1 I:      1     91  J:    1  100  K: -999 -999  L:   -999   -999
+ dealloc  dynamic grid (G022)          (AX015)   YAX1_100  NORMAL    NORMAL
              VARIABLE : IF I EQ J THEN 1 ELSE A0
                         regrid: 10 delta on X
              FILENAME : test_100x100.nc
@@ -38216,28 +38846,28 @@ list/prec=1 a[i=1:100:10] !  this looks just right!!
  100   / 100:  1.  0.  0.  0.  0.  0.  0.  0.  0.  0.
 show grid
  Default grid for DEFINE VARIABLE is ABSTRACT
- Last successful data access was on grid (G005)
-    GRID (G005)
+ Last successful data access was on grid (G022)
+    GRID (G022)
  name       axis              # pts   start                end                 subset
- (AX015)   X                   10 r   1                    91                  9 pts
+ (AX015)   X                   10 r   1                    91                  10 pts
  YAX1_100  Y                  100 r   1                    100                 full
  normal    Z
  normal    T
  
 ! should be a diagonal path of steps all the way across the plot
 shade a[i=1:100:10]
- eval    EX#1     C:  4 dset:   1 I:    1  100  J:    1  100  K: -999 -999  L: -999 -999
- allocate dynamic grid (G005)          (AX015)   YAX1_100  NORMAL    NORMAL
- strip regrid on X: A --> (G005)           @XACT
- strip reversing A on Y axis:     1   100 dset:   1
- rdstride A        C:  8 dset:   1 I:    1   91  J:    1  100  K: -999 -999  L: -999 -999
- doing reversing A on Y axis:     1   100 dset:   1
- -DELETE A        M:  2 dset:   1 I:    1   91  J:    1  100  K: -999 -999  L: -999 -999
- nulrgd  A        M:  2 dset:   1 I:    1   10  J:    1  100  K: -999 -999  L: -999 -999
- -DELETE A        M:  3 dset:   1 I:    1   91  J:    1  100  K: -999 -999  L: -999 -999
- dealloc  dynamic grid (G005)          (AX015)   YAX1_100  NORMAL    NORMAL
+ eval    EX#1     C:  4 dset:   1 I:      1    100  J:    1  100  K: -999 -999  L:   -999   -999
+ allocate dynamic grid (G022)          (AX015)   YAX1_100  NORMAL    NORMAL
+ strip regrid on X: A --> (G022)           @XACT
+ strip reversing A on Y axis:        1      100 dset:   1
+ rdstride A        C:  8 dset:   1 I:      1     91  J:    1  100  K: -999 -999  L:   -999   -999
+ doing reversing A on Y axis:        1      100 dset:   1
+ -DELETE A        M:235 dset:   1 I:      1     91  J:    1  100  K: -999 -999  L:   -999   -999
+ nulrgd  A        M:235 dset:   1 I:      1     10  J:    1  100  K: -999 -999  L:   -999   -999
+ -DELETE A        M:247 dset:   1 I:      1     91  J:    1  100  K: -999 -999  L:   -999   -999
+ dealloc  dynamic grid (G022)          (AX015)   YAX1_100  NORMAL    NORMAL
 setting up 2D plot
- -DELETE A        M:  3 dset:   1 I:    1   10  J:    1  100  K: -999 -999  L: -999 -999
+ -DELETE A        M:247 dset:   1 I:      1     10  J:    1  100  K: -999 -999  L:   -999   -999
 PPL plot 279  complete
 ppl list stats
 
@@ -38471,6 +39101,7 @@ set mem/size=25.6
 ! unknown data type for clauses with constants only
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err540_data_type.jnl
 ! err540_data_type
 ! 2/19/02 *sh*
@@ -38504,6 +39135,7 @@ plot IF {1,3,5} GE 3 THEN 1  ! data type unknown
 ! gridding scattered points to modulo axis had bug
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err540_modscat.jnl
 ! test gridding scattered points to modulo axis.
 ! Show Southern hemisphere.
@@ -38527,6 +39159,7 @@ plot/vs/over xpts[i=1:1000]+360, ypts[i=1:1000]
 ! make sure the USE bug reported 5/01 by A Wittenberg is fixed
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err540_use.jnl
 ! err540_use.jnl
 !
@@ -38616,8 +39249,10 @@ list b[d=1]
  
  
  
-GO bn_reset
+GO bn_reset bn_cancel_axes
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_cancel_axes
 GO bn_cancel_axes
 ! bn_cancel_axes.jnl
  
@@ -38630,6 +39265,7 @@ set data/skip=4/ez/col=2/var="cnt,tim" longax.dat
  
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 ! longax cancel axis axname
 repeat/k=1:10 go bn_cancel_axes_1.sub
 !-> REPEAT: K=1
@@ -38755,6 +39391,7 @@ can data longax.dat
  
  go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 ! longax cancel axis/all
  
 ! Note: cancel axes/all tested in err541_cancel_axes.jnl
@@ -38765,6 +39402,7 @@ cancel mode verify
 ! test remaining axes are intact when we cancel one.
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 define axis/x ax1={2,4,5,6,9}
 define axis/x ax2={30,60,90,100}
 sh axis/x ax2
@@ -38865,11 +39503,26 @@ T0 = 01-JAN-0000 00:00:00
        3>  16-AUG 06:38:15       2191.455   01-JUL 14:54:36        5478.637
        4>  15-NOV 14:05:33       2191.455   30-SEP 22:21:54        7670.092
  
+! test reading space delimited values - trac #2549
+columns/skip=3/var="v1,v2"/typ="num,num" longax.dat
+list/clobber/file=longaxspace.dat/norow/nohead v1, v2
+let nrecs = `v1,return=isize`
+ !-> DEFINE VARIABLE nrecs = 20500
+can data/all
+define axis/x=1:`nrecs`:1 xax
+ !-> define axis/x=1:20500:1 xax
+define grid/x=xax xgrid
+columns/grid=xgrid/delim="\b"/var="v1,v2"/typ="num,num" longaxspace.dat
+! this used to cause a crash (due to improper memory advancing to skip spaces)
+load v1
+ 
  
 ! ******** V5.42 Additions below ***********
  
-GO bn_reset
+GO bn_reset bn542_bug_fixes
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn542_bug_fixes
 GO bn542_bug_fixes
 ! bn542_bug_fixes.jnl
 ! test various fixes that went into version 5.42
@@ -38879,6 +39532,7 @@ GO bn542_bug_fixes
 ! Interior tics disappear on FILL plots
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err541_fill_tics
 ! pplus tics bug - pre 5.42, fill plots overlaid interior tics.
  
@@ -38897,6 +39551,7 @@ ppl tics,,.25,,.25,-1,-1
 ! are used rather than date specifications
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err541_non_gregorian
 !From Andrew Wittenberg, non-Gregorian time axis bug 01 Oct 2002
 ! pre-542, second axis has just one point.
@@ -38929,6 +39584,7 @@ CALENDAR = JULIAN
 ! Could not write or read a NetCDF file with a 4-D string variable.
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err541_string4d
  ! Write a 4-D NetCDF file with a string variable.
  
@@ -39034,6 +39690,7 @@ list axy
 ! Cancel axis/all did not check whether axes were in use
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err541_cancel_axes
 ! Check that an axis in use cannot be cancelled.
 ! 4/2013 changes for Ferret with climatological axes
@@ -39079,13 +39736,16 @@ show axis test_i*
 ! 5/4/05 *acm* Move to bn_ef_err541_date_delim; pulling all jnls that call shared-obj efs out
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 ! GO err541_date_delim
  
  
 ! ******** V5.50 Additions below ***********
  
-GO bn_reset
+GO bn_reset bn_subspan_modulo
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_subspan_modulo
 GO bn_subspan_modulo
 ! bn_subspan_modulo.jnl
 ! *sh* 11/02
@@ -39382,10 +40042,10 @@ set mode stupid  ! always re-read and recompute
 lsx $1  ! default avoids void points
  !-> list/order=x vreg
  dealloc  dynamic grid GFJ3            XAX_SUBSPANORMAL    NORMAL    TAX_SUBSPA
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GFJ1            XAX_SUBSPANORMAL    NORMAL    NORMAL
- eval    EX#1     C:  4 dset:   1 I:    1    6  J: -999 -999  K: -999 -999  L: -999 -999
- reading VREG     M:  2 dset:   1 I:    1    6  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  4 dset:   1 I:      1      6  J: -999 -999  K: -999 -999  L:   -999   -999
+ reading VREG     M:247 dset:   1 I:      1      6  J: -999 -999  K: -999 -999  L:   -999   -999
              VARIABLE : X[GX=XAX_SUBSPAN] -40 + 10
              FILENAME : test_subspan_modulo.nc
              SUBSET   : 6 points (X)
@@ -39395,36 +40055,36 @@ lsx $1  ! default avoids void points
 lsxn/x=100 $1  ! void point above, alone (via "modulo-void-filling")
  !-> list/order=x/nohead/x=100 vreg
  strip limits reconciliation : EX#1
- strip modulo-void-filling EX#1 on X axis:     7     7 dset:   1
- eval    EX#1     C:  6 dset:   1 I:    6    6  J: -999 -999  K: -999 -999  L: -999 -999
- reading VREG     M:  5 dset:   1 I:    6    6  J: -999 -999  K: -999 -999  L: -999 -999
- doing modulo-void-filling VREG on X axis:     6     6 dset:   1
+ strip modulo-void-filling EX#1 on X axis:        7        7 dset:   1
+ eval    EX#1     C:  6 dset:   1 I:      6      6  J: -999 -999  K: -999 -999  L:   -999   -999
+ reading VREG     M:249 dset:   1 I:      6      6  J: -999 -999  K: -999 -999  L:   -999   -999
+ doing modulo-void-filling VREG on X axis:        6        6 dset:   1
         ....
 lsxn/x=0 $1 ! void point below, alone (via modulo)
  !-> list/order=x/nohead/x=0 vreg
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:    0    0  J: -999 -999  K: -999 -999  L: -999 -999
- strip moduloing VREG on X axis:     0     0 dset:   1
- reading VREG     M:  8 dset:   1 I:    6    6  J: -999 -999  K: -999 -999  L: -999 -999
- doing moduloing VREG on X axis:     6     6 dset:   1
+ eval    EX#1     C:  5 dset:   1 I:      0      0  J: -999 -999  K: -999 -999  L:   -999   -999
+ strip moduloing VREG on X axis:        0        0 dset:   1
+ reading VREG     M:229 dset:   1 I:      6      6  J: -999 -999  K: -999 -999  L:   -999   -999
+ doing moduloing VREG on X axis:        6        6 dset:   1
         ....
 lsxn/x=45:100 $1  ! void above (via subspan-fill)
  !-> list/order=x/nohead/x=45:100 vreg
  strip limits reconciliation : EX#1
- strip modulo-void-filling EX#1 on X axis:     5     7 dset:   1
- eval    EX#1     C:  6 dset:   1 I:    5    6  J: -999 -999  K: -999 -999  L: -999 -999
- reading VREG     M:  3 dset:   1 I:    5    6  J: -999 -999  K: -999 -999  L: -999 -999
- doing modulo-void-filling VREG on X axis:     5     6 dset:   1
+ strip modulo-void-filling EX#1 on X axis:        5        7 dset:   1
+ eval    EX#1     C:  6 dset:   1 I:      5      6  J: -999 -999  K: -999 -999  L:   -999   -999
+ reading VREG     M:239 dset:   1 I:      5      6  J: -999 -999  K: -999 -999  L:   -999   -999
+ doing modulo-void-filling VREG on X axis:        5        6 dset:   1
           15.0000  16.0000     ....
 lsxn/x=0:100 $1  ! voids above & below (via modulo)
  !-> list/order=x/nohead/x=0:100 vreg
  strip limits reconciliation : EX#1
- strip modulo-void-filling EX#1 on X axis:     0     7 dset:   1
- eval    EX#1     C:  6 dset:   1 I:    0    6  J: -999 -999  K: -999 -999  L: -999 -999
- strip moduloing VREG on X axis:     0     6 dset:   1
- reading VREG     M:  9 dset:   1 I:    1    6  J: -999 -999  K: -999 -999  L: -999 -999
- doing moduloing VREG on X axis:     1     6 dset:   1
- doing modulo-void-filling VREG on X axis:     0     6 dset:   1
+ strip modulo-void-filling EX#1 on X axis:        0        7 dset:   1
+ eval    EX#1     C:  6 dset:   1 I:      0      6  J: -999 -999  K: -999 -999  L:   -999   -999
+ strip moduloing VREG on X axis:        0        6 dset:   1
+ reading VREG     M:248 dset:   1 I:      1      6  J: -999 -999  K: -999 -999  L:   -999   -999
+ doing moduloing VREG on X axis:        1        6 dset:   1
+ doing modulo-void-filling VREG on X axis:        0        6 dset:   1
              ....  11.0000  12.0000  13.0000  14.0000  15.0000  16.0000     ....
 set mode/last diag
 lsxn/x=50:160 $1  ! modulo above
@@ -39678,38 +40338,38 @@ l200n/order=x $2[l=1,i=0:14]
 set mode diag; l200n/order=x $2[l=1,i=0:14:2]; set mode/last diag
  !-> list/width=200/nohead/order=x v2d_reg[l=1,i=0:14:2]
  dealloc  dynamic grid GFJ3            XAX_SUBSPANORMAL    NORMAL    TAX_SUBSPA
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G002)          (AX025)   NORMAL    NORMAL    TAX_SUBSPA
- dealloc  dynamic grid (G002)          (AX025)   NORMAL    NORMAL    TAX_SUBSPA
- allocate dynamic grid (G002)          (AX025)   NORMAL    NORMAL    TAX_SUBSPA
- eval    EX#1     C:  4 dset:   1 I:    1    8  J: -999 -999  K: -999 -999  L: -999 -999
- allocate dynamic grid (G002)          (AX025)   NORMAL    NORMAL    TAX_SUBSPA
- strip regrid on X: V2D_REG --> (G002)           @XACT
- found   V2D_REG  M: 71 dset:   1 I:    0   14  J: -999 -999  K: -999 -999  L:    1    1
- regrid  V2D_REG  M: 72 dset:   1 I:    1    8  J: -999 -999  K: -999 -999  L:    1    1
- dealloc  dynamic grid (G002)          (AX025)   NORMAL    NORMAL    TAX_SUBSPA
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G010)          (AX025)   NORMAL    NORMAL    TAX_SUBSPA
+ dealloc  dynamic grid (G010)          (AX025)   NORMAL    NORMAL    TAX_SUBSPA
+ allocate dynamic grid (G010)          (AX025)   NORMAL    NORMAL    TAX_SUBSPA
+ eval    EX#1     C:  4 dset:   1 I:      1      8  J: -999 -999  K: -999 -999  L:   -999   -999
+ allocate dynamic grid (G010)          (AX025)   NORMAL    NORMAL    TAX_SUBSPA
+ strip regrid on X: V2D_REG --> (G010)           @XACT
+ found   V2D_REG  M:179 dset:   1 I:      0     14  J: -999 -999  K: -999 -999  L:      1      1
+ regrid  V2D_REG  M:178 dset:   1 I:      1      8  J: -999 -999  K: -999 -999  L:      1      1
+ dealloc  dynamic grid (G010)          (AX025)   NORMAL    NORMAL    TAX_SUBSPA
              ....  12.0000  14.0000  16.0000  11.0000  13.0000  15.0000     ....
 l200n/order=x $2[l=1,i=0:14:7]
  !-> list/width=200/nohead/order=x v2d_reg[l=1,i=0:14:7]
         ............
 set mode diag; l200n $2[i=1,l=1:15:2]; set mode/last diag
  !-> list/width=200/nohead v2d_reg[i=1,l=1:15:2]
- dealloc  dynamic grid (G002)          (AX017)   NORMAL    NORMAL    TAX_SUBSPA
- -DELETE V2D_REG  M: 73 dset:   1 I:    1    3  J: -999 -999  K: -999 -999  L:    1    1
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G002)          XAX_SUBSPANORMAL    NORMAL    (AX025)
- dealloc  dynamic grid (G002)          XAX_SUBSPANORMAL    NORMAL    (AX025)
- allocate dynamic grid (G002)          XAX_SUBSPANORMAL    NORMAL    (AX025)
- eval    EX#1     C:  4 dset:   1 I: -999 -999  J: -999 -999  K: -999 -999  L:    1    8
- allocate dynamic grid (G002)          XAX_SUBSPANORMAL    NORMAL    (AX025)
- strip regrid on T: V2D_REG --> (G002)           @XACT
- strip moduloing V2D_REG on T axis:     1    15 dset:   1
- rdstride V2D_REG  C:  9 dset:   1 I:    1    1  J: -999 -999  K: -999 -999  L:    1    5
- doing moduloing V2D_REG on T axis:     1     5 dset:   1
- -DELETE V2D_REG  M: 73 dset:   1 I:    1    1  J: -999 -999  K: -999 -999  L:    1    5
- nulrgd  V2D_REG  M: 73 dset:   1 I:    1    1  J: -999 -999  K: -999 -999  L:    1    8
- -DELETE V2D_REG  M: 74 dset:   1 I:    1    1  J: -999 -999  K: -999 -999  L:    1   15
- dealloc  dynamic grid (G002)          XAX_SUBSPANORMAL    NORMAL    (AX025)
+ dealloc  dynamic grid (G010)          (AX017)   NORMAL    NORMAL    TAX_SUBSPA
+ -DELETE V2D_REG  M:177 dset:   1 I:      1      3  J: -999 -999  K: -999 -999  L:      1      1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G010)          XAX_SUBSPANORMAL    NORMAL    (AX025)
+ dealloc  dynamic grid (G010)          XAX_SUBSPANORMAL    NORMAL    (AX025)
+ allocate dynamic grid (G010)          XAX_SUBSPANORMAL    NORMAL    (AX025)
+ eval    EX#1     C:  4 dset:   1 I:   -999   -999  J: -999 -999  K: -999 -999  L:      1      8
+ allocate dynamic grid (G010)          XAX_SUBSPANORMAL    NORMAL    (AX025)
+ strip regrid on T: V2D_REG --> (G010)           @XACT
+ strip moduloing V2D_REG on T axis:        1       15 dset:   1
+ rdstride V2D_REG  C:  9 dset:   1 I:      1      1  J: -999 -999  K: -999 -999  L:      1      5
+ doing moduloing V2D_REG on T axis:        1        5 dset:   1
+ -DELETE V2D_REG  M:177 dset:   1 I:      1      1  J: -999 -999  K: -999 -999  L:      1      5
+ nulrgd  V2D_REG  M:177 dset:   1 I:      1      1  J: -999 -999  K: -999 -999  L:      1      8
+ -DELETE V2D_REG  M:176 dset:   1 I:      1      1  J: -999 -999  K: -999 -999  L:      1     15
+ dealloc  dynamic grid (G010)          XAX_SUBSPANORMAL    NORMAL    (AX025)
  16-JAN-0000 / 1:   11.000
  16-MAR-0000 / 2:   71.000
  15-MAY-0000 / 3:  131.000
@@ -39913,10 +40573,10 @@ set mode stupid  ! always re-read and recompute
 lsx $1  ! default avoids void points
  !-> list/order=x virr
  dealloc  dynamic grid GFJ4            XIRREG_SUBNORMAL    NORMAL    TIRREG_SUB
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GFJ2            XIRREG_SUBNORMAL    NORMAL    NORMAL
- eval    EX#1     C:  4 dset:   1 I:    1    6  J: -999 -999  K: -999 -999  L: -999 -999
- reading VIRR     M: 80 dset:   1 I:    1    6  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  4 dset:   1 I:      1      6  J: -999 -999  K: -999 -999  L:   -999   -999
+ reading VIRR     M:170 dset:   1 I:      1      6  J: -999 -999  K: -999 -999  L:   -999   -999
              VARIABLE : X[GX=XIRREG_SUBSPAN] -40 + 10
              FILENAME : test_subspan_modulo.nc
              SUBSET   : 6 points (X)
@@ -39926,36 +40586,36 @@ lsx $1  ! default avoids void points
 lsxn/x=100 $1  ! void point above, alone (via "modulo-void-filling")
  !-> list/order=x/nohead/x=100 virr
  strip limits reconciliation : EX#1
- strip modulo-void-filling EX#1 on X axis:     7     7 dset:   1
- eval    EX#1     C:  6 dset:   1 I:    6    6  J: -999 -999  K: -999 -999  L: -999 -999
- reading VIRR     M: 81 dset:   1 I:    6    6  J: -999 -999  K: -999 -999  L: -999 -999
- doing modulo-void-filling VIRR on X axis:     6     6 dset:   1
+ strip modulo-void-filling EX#1 on X axis:        7        7 dset:   1
+ eval    EX#1     C:  6 dset:   1 I:      6      6  J: -999 -999  K: -999 -999  L:   -999   -999
+ reading VIRR     M:169 dset:   1 I:      6      6  J: -999 -999  K: -999 -999  L:   -999   -999
+ doing modulo-void-filling VIRR on X axis:        6        6 dset:   1
         ....
 lsxn/x=0 $1 ! void point below, alone (via modulo)
  !-> list/order=x/nohead/x=0 virr
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:    0    0  J: -999 -999  K: -999 -999  L: -999 -999
- strip moduloing VIRR on X axis:     0     0 dset:   1
- reading VIRR     M: 83 dset:   1 I:    6    6  J: -999 -999  K: -999 -999  L: -999 -999
- doing moduloing VIRR on X axis:     6     6 dset:   1
+ eval    EX#1     C:  5 dset:   1 I:      0      0  J: -999 -999  K: -999 -999  L:   -999   -999
+ strip moduloing VIRR on X axis:        0        0 dset:   1
+ reading VIRR     M:167 dset:   1 I:      6      6  J: -999 -999  K: -999 -999  L:   -999   -999
+ doing moduloing VIRR on X axis:        6        6 dset:   1
         ....
 lsxn/x=45:100 $1  ! void above (via subspan-fill)
  !-> list/order=x/nohead/x=45:100 virr
  strip limits reconciliation : EX#1
- strip modulo-void-filling EX#1 on X axis:     5     7 dset:   1
- eval    EX#1     C:  6 dset:   1 I:    5    6  J: -999 -999  K: -999 -999  L: -999 -999
- reading VIRR     M: 85 dset:   1 I:    5    6  J: -999 -999  K: -999 -999  L: -999 -999
- doing modulo-void-filling VIRR on X axis:     5     6 dset:   1
+ strip modulo-void-filling EX#1 on X axis:        5        7 dset:   1
+ eval    EX#1     C:  6 dset:   1 I:      5      6  J: -999 -999  K: -999 -999  L:   -999   -999
+ reading VIRR     M:165 dset:   1 I:      5      6  J: -999 -999  K: -999 -999  L:   -999   -999
+ doing modulo-void-filling VIRR on X axis:        5        6 dset:   1
           15.0000  16.0000     ....
 lsxn/x=0:100 $1  ! voids above & below (via modulo)
  !-> list/order=x/nohead/x=0:100 virr
  strip limits reconciliation : EX#1
- strip modulo-void-filling EX#1 on X axis:     0     7 dset:   1
- eval    EX#1     C:  6 dset:   1 I:    0    6  J: -999 -999  K: -999 -999  L: -999 -999
- strip moduloing VIRR on X axis:     0     6 dset:   1
- reading VIRR     M: 87 dset:   1 I:    1    6  J: -999 -999  K: -999 -999  L: -999 -999
- doing moduloing VIRR on X axis:     1     6 dset:   1
- doing modulo-void-filling VIRR on X axis:     0     6 dset:   1
+ strip modulo-void-filling EX#1 on X axis:        0        7 dset:   1
+ eval    EX#1     C:  6 dset:   1 I:      0      6  J: -999 -999  K: -999 -999  L:   -999   -999
+ strip moduloing VIRR on X axis:        0        6 dset:   1
+ reading VIRR     M:163 dset:   1 I:      1      6  J: -999 -999  K: -999 -999  L:   -999   -999
+ doing moduloing VIRR on X axis:        1        6 dset:   1
+ doing modulo-void-filling VIRR on X axis:        0        6 dset:   1
              ....  11.0000  12.0000  12.1000  14.0000  15.0000  16.0000     ....
 set mode/last diag
 lsxn/x=50:160 $1  ! modulo above
@@ -40209,38 +40869,38 @@ l200n/order=x $2[l=1,i=0:14]
 set mode diag; l200n/order=x $2[l=1,i=0:14:2]; set mode/last diag
  !-> list/width=200/nohead/order=x v2d_irr[l=1,i=0:14:2]
  dealloc  dynamic grid GFJ4            XIRREG_SUBNORMAL    NORMAL    TIRREG_SUB
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G018)          (AX017)   NORMAL    NORMAL    TIRREG_SUB
- dealloc  dynamic grid (G018)          (AX017)   NORMAL    NORMAL    TIRREG_SUB
- allocate dynamic grid (G018)          (AX017)   NORMAL    NORMAL    TIRREG_SUB
- eval    EX#1     C:  4 dset:   1 I:    1    8  J: -999 -999  K: -999 -999  L: -999 -999
- allocate dynamic grid (G018)          (AX017)   NORMAL    NORMAL    TIRREG_SUB
- strip regrid on X: V2D_IRR --> (G018)           @XACT
- found   V2D_IRR  M:150 dset:   1 I:    0   14  J: -999 -999  K: -999 -999  L:    1    1
- regrid  V2D_IRR  M:151 dset:   1 I:    1    8  J: -999 -999  K: -999 -999  L:    1    1
- dealloc  dynamic grid (G018)          (AX017)   NORMAL    NORMAL    TIRREG_SUB
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G011)          (AX017)   NORMAL    NORMAL    TIRREG_SUB
+ dealloc  dynamic grid (G011)          (AX017)   NORMAL    NORMAL    TIRREG_SUB
+ allocate dynamic grid (G011)          (AX017)   NORMAL    NORMAL    TIRREG_SUB
+ eval    EX#1     C:  4 dset:   1 I:      1      8  J: -999 -999  K: -999 -999  L:   -999   -999
+ allocate dynamic grid (G011)          (AX017)   NORMAL    NORMAL    TIRREG_SUB
+ strip regrid on X: V2D_IRR --> (G011)           @XACT
+ found   V2D_IRR  M:100 dset:   1 I:      0     14  J: -999 -999  K: -999 -999  L:      1      1
+ regrid  V2D_IRR  M: 99 dset:   1 I:      1      8  J: -999 -999  K: -999 -999  L:      1      1
+ dealloc  dynamic grid (G011)          (AX017)   NORMAL    NORMAL    TIRREG_SUB
              ....  12.0000  14.0000  16.0000  11.0000  12.1000  15.0000     ....
 l200n/order=x $2[l=1,i=0:14:7]
  !-> list/width=200/nohead/order=x v2d_irr[l=1,i=0:14:7]
         ............
 set mode diag; l200n $2[i=1,l=1:15:2]; set mode/last diag
  !-> list/width=200/nohead v2d_irr[i=1,l=1:15:2]
- dealloc  dynamic grid (G018)          (AX015)   NORMAL    NORMAL    TIRREG_SUB
- -DELETE V2D_IRR  M:152 dset:   1 I:    1    3  J: -999 -999  K: -999 -999  L:    1    1
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G018)          XIRREG_SUBNORMAL    NORMAL    (AX017)
- dealloc  dynamic grid (G018)          XIRREG_SUBNORMAL    NORMAL    (AX017)
- allocate dynamic grid (G018)          XIRREG_SUBNORMAL    NORMAL    (AX017)
- eval    EX#1     C:  4 dset:   1 I: -999 -999  J: -999 -999  K: -999 -999  L:    1    8
- allocate dynamic grid (G018)          XIRREG_SUBNORMAL    NORMAL    (AX017)
- strip regrid on T: V2D_IRR --> (G018)           @XACT
- strip moduloing V2D_IRR on T axis:     1    15 dset:   1
- rdstride V2D_IRR  C:  9 dset:   1 I:    1    1  J: -999 -999  K: -999 -999  L:    1    5
- doing moduloing V2D_IRR on T axis:     1     5 dset:   1
- -DELETE V2D_IRR  M:152 dset:   1 I:    1    1  J: -999 -999  K: -999 -999  L:    1    5
- nulrgd  V2D_IRR  M:152 dset:   1 I:    1    1  J: -999 -999  K: -999 -999  L:    1    8
- -DELETE V2D_IRR  M:153 dset:   1 I:    1    1  J: -999 -999  K: -999 -999  L:    1   15
- dealloc  dynamic grid (G018)          XIRREG_SUBNORMAL    NORMAL    (AX017)
+ dealloc  dynamic grid (G011)          (AX015)   NORMAL    NORMAL    TIRREG_SUB
+ -DELETE V2D_IRR  M: 98 dset:   1 I:      1      3  J: -999 -999  K: -999 -999  L:      1      1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G011)          XIRREG_SUBNORMAL    NORMAL    (AX017)
+ dealloc  dynamic grid (G011)          XIRREG_SUBNORMAL    NORMAL    (AX017)
+ allocate dynamic grid (G011)          XIRREG_SUBNORMAL    NORMAL    (AX017)
+ eval    EX#1     C:  4 dset:   1 I:   -999   -999  J: -999 -999  K: -999 -999  L:      1      8
+ allocate dynamic grid (G011)          XIRREG_SUBNORMAL    NORMAL    (AX017)
+ strip regrid on T: V2D_IRR --> (G011)           @XACT
+ strip moduloing V2D_IRR on T axis:        1       15 dset:   1
+ rdstride V2D_IRR  C:  9 dset:   1 I:      1      1  J: -999 -999  K: -999 -999  L:      1      5
+ doing moduloing V2D_IRR on T axis:        1        5 dset:   1
+ -DELETE V2D_IRR  M: 98 dset:   1 I:      1      1  J: -999 -999  K: -999 -999  L:      1      5
+ nulrgd  V2D_IRR  M: 98 dset:   1 I:      1      1  J: -999 -999  K: -999 -999  L:      1      8
+ -DELETE V2D_IRR  M: 97 dset:   1 I:      1      1  J: -999 -999  K: -999 -999  L:      1     15
+ dealloc  dynamic grid (G011)          XIRREG_SUBNORMAL    NORMAL    (AX017)
  16-JAN-0000 / 1:   11.000
  15-MAR-0000 / 2:   70.249
  15-MAY-0000 / 3:  131.249
@@ -40334,8 +40994,10 @@ list $1_strings[i=1013:1024] 	! via IS_MODULO
  
  
  
-GO bn_reset
+GO bn_reset bn_dots
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_dots
 GO bn_dots
 ! PLOT/SYMBOL=DOT  qualifiers
 ! *acm* 12/02
@@ -40357,8 +41019,10 @@ plot/symbol=dot/size=0.5/over/i=1:1000 -0.5*sin(62.8*(i+10) )
 vector/i=1:5/j=1:5 0.*(i+j),0*(i+j)
 set mode logo
  
-GO bn_reset
+GO bn_reset bn_lev_symbols
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_lev_symbols
 GO bn_lev_symbols
 ! Test symbols which capture the latest LEVELS settings
 ! LEV_TEXT  The argument, if any, to the LEV qualifier
@@ -40435,12 +41099,13 @@ LEV_MAX = "33"
 LEV_NUM = "1"
 LEV_DEL = "none"
  
-GO bn_reset
-cancel mode verify
+! GO bn_reset
 ! GO bench_extrema  ! moved to bn_ef_bench_extrema; tests of shared-obj efs.
  
-GO bn_reset
+GO bn_reset bn_mode_logo_lab
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_mode_logo_lab
 GO bn_mode_logo_lab
  
 ! bn_mode_logo_lab.jnl
@@ -40463,12 +41128,12 @@ can mode labels
 can mode logo
 show modes
       MODE            STATE        ARGUMENT
-      DIAGNOSTIC    CANCELLED           99
+      DIAGNOSTIC    CANCELED            99
       VERIFY           SET         DEFAULT
-      INTERPOLATE   CANCELLED
-      IGNORE_ERROR  CANCELLED
-      STUPID        CANCELLED
-      JOURNAL       CANCELLED      ferret.jnl
+      INTERPOLATE   CANCELED
+      IGNORE_ERROR  CANCELED
+      STUPID        CANCELED
+      JOURNAL       CANCELED       ferret.jnl
       LONG_LABEL       SET              -4
       LATIT_LABEL      SET              -4
       DEPTH_LABEL      SET              -4
@@ -40477,24 +41142,25 @@ show modes
       F_LABEL          SET         months
       ASCII_FONT       SET
       SEGMENT          SET
-      WAIT          CANCELLED
-      DESPERATE     CANCELLED      2560000
+      WAIT          CANCELED
+      DESPERATE     CANCELED       2560000
       GKS              SET
       REFRESH          SET
-      METAFILE      CANCELLED      dots.plt
-      PPLLIST       CANCELLED      ppllist.out
-      GUI           CANCELLED
-      LOGO          CANCELLED
-      LABELS        CANCELLED
-      GRATICULE     CANCELLED
+      METAFILE      CANCELED       dots.plt
+      PPLLIST       CANCELED       ppllist.out
+      GUI           CANCELED
+      LOGO          CANCELED
+      LABELS        CANCELED
+      GRATICULE     CANCELED
       LINECOLORS       SET               6
       UPCASE_OUTPU     SET
       NLEVELS          SET              30
       NODATA_LAB       SET
-      SHRINK_YLAB   CANCELLED
-      CURVILINEAR   CANCELLED
-      LAYERZ        CANCELLED
+      SHRINK_YLAB   CANCELED
+      CURVILINEAR   CANCELED
+      LAYERZ        CANCELED
       6D_LAB           SET
+      FRUGAL           SET              30
 contour/i=1:10/j=1:10 i/j
  
 ! restore the labels, logo still gone
@@ -40537,8 +41203,10 @@ cancel view
 set mode logo
 set mode labels
  
-GO bn_reset
+GO bn_reset bn_modulo_attribute
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_modulo_attribute
 GO bn_modulo_attribute
 ! Ferret V5.50 m
  
@@ -40597,8 +41265,10 @@ T0 = 01-JAN-0000 00:00:00
    Axis span (to cell edges) = 1460.97 (modulo length = 8765.82)
  
  
-GO bn_reset
+GO bn_reset bn550_bug_fixes
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn550_bug_fixes
 GO bn550_bug_fixes
 ! bn550_bug_fixes.jnl
 ! test various fixes that went into version 5.5
@@ -40608,6 +41278,7 @@ GO bn550_bug_fixes
 ! Polygon/overlay calendar axis bug
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err542_poly_over_calendar
 ! POLY/OVER when data has a non-standard calendar caused
 ! calendar mismatch error, even on a plot with no time axis.
@@ -40619,8 +41290,10 @@ poly/over/color=red/line=2/title="polygon" {220,240,280,250},{-20,70,40,-30}
  
 ! ******** V5.51 Additions below ***********
  
-GO bn_reset
+GO bn_reset bn551_bug_fixes
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn551_bug_fixes
 GO bn551_bug_fixes
 ! bn551_bug_fixes.jnl
 ! test various fixes that went into version 5.51
@@ -40632,6 +41305,7 @@ GO bn551_bug_fixes
  
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err550_view_axes_fill.jnl
 ! err550_view_axes_fill.jnl
 ! acm 2/5/03
@@ -40721,6 +41395,7 @@ set win/aspect=0.75
 ! defined as a VIEW/AXES viewport.
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err550_view_axes_position.jnl
 ! err550_view_axes_position.jnl
 ! acm 2/5/03
@@ -40739,6 +41414,7 @@ shade/x=1:10/y=1:10 x-y
 ! SHADE bug: hlimits, vlimits without effect
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err550_shade_limits.jnl
 ! err550_shade_limits.jnl
 ! acm 2/5/03
@@ -40753,6 +41429,7 @@ set view lower; shade/hlimits=212:324/vlimits=-34:23 sst[l=1]
 ! Redefining an axis with a new calendar definition
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err550_redefine_calendar_axis.jnl
 ! err550_redefine_calendar_axis.jnl
 ! different calendar axis not recognized as a different specifier,
@@ -40776,6 +41453,7 @@ CALENDAR = JULIAN
 ! Bug in defining axis from an expression.
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err550_define_axis_expression.jnl
 ! err550_define_axis_expression.jnl
 ! reported by A. Wittenberg.
@@ -40827,6 +41505,7 @@ list x[gx=xax]
 ! Bug in reading seconds from time origin in nc file.
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err550_nc_seconds.jnl
 ! err550_nc_seconds.jnl
 ! 2/12/03 ACM
@@ -40853,6 +41532,7 @@ list t[gt=height]    ! Seconds should be 36, 37, 38...
 ! Bug in plotting polymarker dots with pen numbers gt 6
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err550_dots_thickpens.jnl
 ! err550_dots_thickpens.jnl
 ! For pen code higher than 6, get *  rather than dot.
@@ -40991,8 +41671,10 @@ ppl plot
  
 ppl rlabs,4,0
  
-GO bn_reset
+GO bn_reset bn552_bug_fixes
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn552_bug_fixes
 GO bn552_bug_fixes
 ! bn552_bug_fixes.jnl
 ! test various fixes that went into version 5.52
@@ -41003,6 +41685,7 @@ GO bn552_bug_fixes
 ! Default behavior (all axes on) was not reset after a plot/set/AXES=
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err551_axes_set.jnl
 ! Default behavior (all axes on) was not reset after a PLOT/SET/AXES=
  
@@ -41022,6 +41705,7 @@ plot/i=1:100/title="PLOT (no quals); all axes plotted" i*cos(i/12)
 ! test on SHADE and POLYGON plots, and these crashed Ferret.
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err551_num_levels.jnl
 ! Test whether too many levels specified. Previous to v552, no
 ! test was made on SHADE and POLYGON plots, and these crashed Ferret.
@@ -41048,6 +41732,7 @@ SET WIN/CLEAR
 ! Check for invalid value of calendar attribute on reading NetCDF files.
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err551_invalid_calendar.jnl
 ! check on input for invalid calendar name
 ! If file gives calendar attribute with unrecognized name,
@@ -41065,6 +41750,7 @@ sh data
 ! String bug fixes *kob*
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err551_strings.jnl
  
  
@@ -41134,6 +41820,7 @@ list strcmp("b", mystring)
 ! 2-D @AVE bug fix
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err551_2dave.jnl
 ! Bug in 2-D averaging, if source data thats loaded has a
 ! larger range than the dest data, code didnt check whether
@@ -41163,6 +41850,7 @@ list/l=1/y=20 sst[gx=xax at ave,gy=yax at ave]
 ! RETURN error message, and new var,RETURN=dsettitle  argument
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err551_return_message.jnl
  ! err551_return_message.jnl
  ! 4/15/03 ACM
@@ -41186,6 +41874,7 @@ SET MODE/LAST IGNORE_ERROR
 !  file/form=stream didnt see file in another directory
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err551_streamread_directory.jnl
 ! Bug: file/form=stream doesnt see file in another directory
  
@@ -41215,6 +41904,7 @@ list a
 ! GXY=var  regridding syntax, when the variable hasnt been loaded
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err551_regrid_undef_grid.jnl
 ! err551_regrid_undef_grid.jnl
 ! 5/03 *acm* based on bn_regrid_to_user; more testing of multi-axis GXY=var
@@ -41257,8 +41947,8 @@ list/x=160e/y=5s temp[d=2,k=1,gxy=a[d=1]]
           29.5170
 show grid
  Default grid for DEFINE VARIABLE is ABSTRACT
- Last successful data access was on grid (G005)
-    GRID (G005)
+ Last successful data access was on grid (G022)
+    GRID (G022)
  name       axis              # pts   start                end                 subset
  COADSX    LONGITUDE          180mr   21E                  19E(379)            full
  COADSY    LATITUDE            90 r   89S                  89N                 full
@@ -41350,6 +42040,7 @@ list dzdt_anom
 ! Symbol substituted on each repetition of REPEAT
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err551_repeat_sym.jnl
  
 ! This had worked, but stopped working in v541
@@ -41377,6 +42068,7 @@ def sym a 0; rep/i=1:3:1 (def sym a `i`; say ($a))
 ! another time axis, some times have missing data
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err551_modulo_nc_regrid.jnl
 ! data from nc file with time axis having modulo=value, when regridded
 ! to another time axis, some times have missing data
@@ -41438,6 +42130,7 @@ list/l=23:27 vwnd_clim[gt=vwnd[d=1]]
 ! FFT frequency axis not computed accurately enough.
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err551_fft_freqaxis.jnl
  
 DEFINE AXIS/t=1:4998:1 dayt
@@ -41465,6 +42158,7 @@ list `tpts,return=lend`
 ! No error message on request for time on bad time axis
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err551_no_taxis_errmsg.jnl
 ! The time axis is bad, having repeated values, so an abstract axis is
 ! used by Ferret and the list/t=time should result in an error.
@@ -41476,8 +42170,10 @@ list/t=1-jan-1990 dummy
  
 SET MODE/LAST IGNORE_ERROR
  
-GO bn_reset
+GO bn_reset bn_set_var_scale_off.jnl
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_set_var_scale_off.jnl
 GO bn_set_var_scale_off.jnl
 ! Qualifiers /SCALEFACTOR=  and /OFFSET  for SET VARIABLE.
 ! Only for NetCDF datasets
@@ -41524,8 +42220,10 @@ SET VAR/SCALE=10 x2
  
 SET MODE/LAST IGNORE_ERROR
  
-GO bn_reset
+GO bn_reset bn_longvarnames.jnl
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_longvarnames.jnl
 GO bn_longvarnames.jnl
 ! variable names up to 128 characters long
 ! 3/2006 make them 127 to be able to add the null terminator for C strings
@@ -41574,6 +42272,7 @@ SHOW GRID
 ! save to a file a variable that is 128 long
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
  
 LET a234567890b234567890c234567890d234567890e234567890f234567890g234567890h234567890i234567890d234567890j234567890k234567890L234567 = {12,14,20,28,22,10}
 SAVE/CLOBBER/FILE=longvname.nc a234567890b234567890c234567890d234567890e234567890f234567890g234567890h234567890i234567890d234567890j234567890k234567890L234567
@@ -41581,6 +42280,7 @@ SAVE/CLOBBER/FILE=longvname.nc a234567890b234567890c234567890d234567890e23456789
 ! read from the file
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 USE longvname
 LIST a234567890b234567890c234567890d234567890e234567890f234567890g234567890h234567890i234567890d234567890j234567890k234567890L234567
              VARIABLE : {12,14,20,28,22,10}
@@ -41596,11 +42296,13 @@ LIST a234567890b234567890c234567890d234567890e234567890f234567890g234567890h2345
 ! save a 4-D variable
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 LET a234567890b234567890c234567890d234567890e234567890f234567890g234567890h234567890i234567890d234567890j234567890k234567890L234567 = I[I=1:5] * J[J=1:4] * K[K=1:3] + L[L=1:3]
 SAVE/CLOBBER/FILE=longvname.nc a234567890b234567890c234567890d234567890e234567890f234567890g234567890h234567890i234567890d234567890j234567890k234567890L234567
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 USE longvname.nc
 lIST/I=1/J=2 a234567890b234567890c234567890d234567890e234567890f234567890g234567890h234567890i234567890d234567890j234567890k234567890L234567
              VARIABLE : I[I=1:5] * J[J=1:4] * K[K=1:3] + L[L=1:3]
@@ -41626,8 +42328,10 @@ LIST/K=2/L=3 a234567890b234567890c234567890d234567890e234567890f234567890g234567
  3   / 3:   9.0000  15.0000  21.0000  27.0000  33.0000
  4   / 4:  11.0000  19.0000  27.0000  35.0000  43.0000
  
-GO bn_reset
+GO bn_reset bn_shakey.jnl
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_shakey.jnl
 GO bn_shakey.jnl
 ! Changes to shade key:
 ! - Default size is a little bigger
@@ -41754,8 +42458,10 @@ ppl list shakey
          X LO     X HI     Y LO     Y HI
          1.20     9.94    -1.40    -1.31
  
-GO bn_reset
+GO bn_reset bn_eof_4d.jnl
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_eof_4d.jnl
 GO bn_eof_4d.jnl
 ! bn_eof_4d.jnl
 ! test EOFs on XYZT grids
@@ -41964,8 +42670,10 @@ list/nohead/i=1:5/j=3/k=9 eofst
  
 exit/script
  
-GO bn_reset
+GO bn_reset bn_abstract_axis_names.jnl
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_abstract_axis_names.jnl
 GO bn_abstract_axis_names.jnl
 ! bn_abstract_axis_names.jnl
 ! acm 6/12/03
@@ -42150,8 +42858,10 @@ sh grid v
  DDD       T                    7 r   1                    13                  full
 can data 1
  
-GO bn_reset
+GO bn_reset bn_many_polygons.jnl
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_many_polygons.jnl
 GO bn_many_polygons.jnl
 ! testing large number of polygons in a plot.  Map plot has
 ! 130501 polygons; previously we had an upper limit of 100K polygons
@@ -42181,12 +42891,13 @@ let xpts = 180 + 30*randu(i[i=1:10])
 let ypts = 30*randu(1+i[i=1:10])
 polygon xtriangle+xpts, ytriangle+ypts, i[i=1:10]
  
-GO bn_reset
-cancel mode verify
+! GO bn_reset
 ! GO bn_zaxr_fcns.jnl ! move to tests of shared-obj efs.
  
-GO bn_reset
+GO bn_reset bn_fill_irregular.jnl
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_fill_irregular.jnl
 GO bn_fill_irregular.jnl
 ! FILL on vars with irregular axes
  
@@ -42210,8 +42921,10 @@ use coads_clim_irreg.des
 fill/x=180 sst
  
 ! ******** V5.53 Additions below ***********
-GO bn_reset
+GO bn_reset bn_xml_output.jnl
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_xml_output.jnl
 GO bn_xml_output.jnl
 !bn_xml_output.jnl
 ! new-V553 output in XML-style format
@@ -42296,6 +43009,7 @@ save/clobber/file=b.nc ddat
 can var/all
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
  
 USE a.nc
 USE b.nc
@@ -42454,7 +43168,7 @@ SHO VAR/XML
 <attribute name="ferret_datatype" type="char">
    <value><![CDATA[FLOAT]]></value>
 </attribute>
-<grid name="ABSTRACT">
+<grid name="GSI1">
 <axes>
 </axes>
 </grid>
@@ -42509,7 +43223,7 @@ SHO VAR/XML
 <attribute name="ferret_datatype" type="char">
    <value><![CDATA[FLOAT]]></value>
 </attribute>
-<grid name="ABSTRACT">
+<grid name="GSI1">
 <axes>
 </axes>
 </grid>
@@ -42531,7 +43245,7 @@ SHOW VAR/XML
 <attribute name="ferret_datatype" type="char">
    <value><![CDATA[FLOAT]]></value>
 </attribute>
-<grid name="ABSTRACT">
+<grid name="GSI1">
 <axes>
 </axes>
 </grid>
@@ -42700,8 +43414,10 @@ SHO DATA/VAR/XML 1
 </axis>
 </axes>
  
-GO bn_reset
+GO bn_reset bn_test_nan.jnl
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_test_nan.jnl
 GO bn_test_nan.jnl
 !bn_test_nan.jnl
 ! test to make sure that NaN is able to be set by user
@@ -42779,8 +43495,10 @@ can var/all
  
  
  
-GO bn_reset
+GO bn_reset bn553_bug_fixes.jnl
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn553_bug_fixes.jnl
 GO bn553_bug_fixes.jnl
 ! bn553_bug_fixes.jnl
 ! test various fixes that went into version 5.52
@@ -42790,6 +43508,7 @@ GO bn553_bug_fixes.jnl
 ! Make sure numeric filenames works
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err553_numeric_filename.jnl
 ! err553_numeric_filename.jnl
 ! 9/03 kob
@@ -42825,6 +43544,7 @@ list vwnd_clim
 ! Make sure long string variables work
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err553_long_string_var_name.jnl
 ! err553_long_string_var_name.jnl
 ! 9/03 kob
@@ -42848,6 +43568,7 @@ list a
 ! Fixes for colorbar key labelling
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err551_colorkey.jnl
  
 ! colorkey label bugs
@@ -42870,8 +43591,10 @@ ppl shade
  
 ! ******** V5.6Additions below ***********
  
-GO bn_reset
+GO bn_reset bn_graticules.jnl
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_graticules.jnl
 GO bn_graticules.jnl
 ! /GRAT, /HGRAT and /VGRAT to set graticule lines
 ! ACM March 12, 2004
@@ -42957,7 +43680,7 @@ plot/trans/thick/vg="(line,color=blue)"/hg="large(line,color=blue),small(line,co
 ! Tests for MODE GRATICULE  added in Ferret v5.7
 show mode graticule
       MODE            STATE        ARGUMENT
-      GRATICULE     CANCELLED
+      GRATICULE     CANCELED
 set mode graticule
 show mode graticule
       MODE            STATE        ARGUMENT
@@ -42980,8 +43703,10 @@ can mode graticule
 pplus/reset   ! restore tics etc
  
  
-GO bn_reset
+GO bn_reset bn_repeat_range.jnl
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_repeat_range.jnl
 GO bn_repeat_range.jnl
 ! REPEAT/RANGE=[/NAME=]  for looping without depending
 ! on the grid\
@@ -43337,19 +44062,20 @@ set mode diag
 set reg/y=0:50/L=1
 repeat/range=300:360:30/name=m (list sst[x=280:`m`@ave,y=@ave])
 !-> REPEAT: M:300
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I: -999 -999  J: -999 -999  K: -999 -999  L:    1    1  M: -999 -999  N: -999 -999
- constan cnst     M:157 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M: -999 -999  N: -999 -999
- -DELETE cnst     M:152 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M: -999 -999  N: -999 -999
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:   -999   -999  J: -999 -999  K: -999 -999  L:      1      1  M: -999 -999  N: -999 -999
+ constan cnst     M:249 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M: -999 -999  N: -999 -999
+ -DELETE cnst     M:244 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M: -999 -999  N: -999 -999
  !-> list sst[x=280:300 at ave,y=@ave]
- -DELETE cnst     M:157 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M: -999 -999  N: -999 -999
+ -DELETE cnst     M:249 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M: -999 -999  N: -999 -999
  dealloc  dynamic grid ABSTRACT        ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
- eval    EX#1     C:  4 dset:   1 I: -999 -999  J:   46   70  K: -999 -999  L:    1    1
+ eval    EX#1     C:  4 dset:   1 I:   -999   -999  J:   46   70  K: -999 -999  L:      1      1
  strip --> SST[Y=0:50N at AV4,D=1]
- reading SST      M:157 dset:   1 I:  131  140  J:   46   70  K: -999 -999  L:    1    1
+ reading SST      M:249 dset:   1 I:    131    140  J:   46   70  K: -999 -999  L:      1      1
  doing --> SST[Y=0:50N at AV4,D=1]
+ final --> SST[Y=0:50N at AV4,D=1]
              VARIABLE : SEA SURFACE TEMPERATURE (Deg C)
              FILENAME : coads_climatology.cdf
              LONGITUDE: 80W to 60W (XY ave)
@@ -43358,19 +44084,20 @@ repeat/range=300:360:30/name=m (list sst[x=280:`m`@ave,y=@ave])
           20.7890
 !-> REPEAT: M:330
  dealloc  dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I: -999 -999  J: -999 -999  K: -999 -999  L:    1    1  M: -999 -999  N: -999 -999
- constan cnst     M:147 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M: -999 -999  N: -999 -999
- -DELETE cnst     M:144 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M: -999 -999  N: -999 -999
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:   -999   -999  J: -999 -999  K: -999 -999  L:      1      1  M: -999 -999  N: -999 -999
+ constan cnst     M:239 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M: -999 -999  N: -999 -999
+ -DELETE cnst     M:236 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M: -999 -999  N: -999 -999
  !-> list sst[x=280:330 at ave,y=@ave]
- -DELETE cnst     M:147 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M: -999 -999  N: -999 -999
+ -DELETE cnst     M:239 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M: -999 -999  N: -999 -999
  dealloc  dynamic grid ABSTRACT        ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
- eval    EX#1     C:  4 dset:   1 I: -999 -999  J:   46   70  K: -999 -999  L:    1    1
+ eval    EX#1     C:  4 dset:   1 I:   -999   -999  J:   46   70  K: -999 -999  L:      1      1
  strip --> SST[Y=0:50N at AV4,D=1]
- reading SST      M:147 dset:   1 I:  131  155  J:   46   70  K: -999 -999  L:    1    1
+ reading SST      M:239 dset:   1 I:    131    155  J:   46   70  K: -999 -999  L:      1      1
  doing --> SST[Y=0:50N at AV4,D=1]
+ final --> SST[Y=0:50N at AV4,D=1]
              VARIABLE : SEA SURFACE TEMPERATURE (Deg C)
              FILENAME : coads_climatology.cdf
              LONGITUDE: 80W to 30W (XY ave)
@@ -43379,19 +44106,20 @@ repeat/range=300:360:30/name=m (list sst[x=280:`m`@ave,y=@ave])
           21.2500
 !-> REPEAT: M:360
  dealloc  dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I: -999 -999  J: -999 -999  K: -999 -999  L:    1    1  M: -999 -999  N: -999 -999
- constan cnst     M:138 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M: -999 -999  N: -999 -999
- -DELETE cnst     M:133 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M: -999 -999  N: -999 -999
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:   -999   -999  J: -999 -999  K: -999 -999  L:      1      1  M: -999 -999  N: -999 -999
+ constan cnst     M:230 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M: -999 -999  N: -999 -999
+ -DELETE cnst     M:225 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M: -999 -999  N: -999 -999
  !-> list sst[x=280:360 at ave,y=@ave]
- -DELETE cnst     M:138 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M: -999 -999  N: -999 -999
+ -DELETE cnst     M:230 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M: -999 -999  N: -999 -999
  dealloc  dynamic grid ABSTRACT        ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME4
- eval    EX#1     C:  4 dset:   1 I: -999 -999  J:   46   70  K: -999 -999  L:    1    1
+ eval    EX#1     C:  4 dset:   1 I:   -999   -999  J:   46   70  K: -999 -999  L:      1      1
  strip --> SST[Y=0:50N at AV4,D=1]
- reading SST      M:138 dset:   1 I:  131  170  J:   46   70  K: -999 -999  L:    1    1
+ reading SST      M:230 dset:   1 I:    131    170  J:   46   70  K: -999 -999  L:      1      1
  doing --> SST[Y=0:50N at AV4,D=1]
+ final --> SST[Y=0:50N at AV4,D=1]
              VARIABLE : SEA SURFACE TEMPERATURE (Deg C)
              FILENAME : coads_climatology.cdf
              LONGITUDE: 80W to 0E(360) (XY ave)
@@ -43480,8 +44208,10 @@ repeat/range=1:4/name=a (repeat/range=3:1:-1/name=a list a)
 !-> REPEAT: A:4
 cancel mode ignore
  
-GO bn_reset
+GO bn_reset bn554_bug_fixes.jnl
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn554_bug_fixes.jnl
 GO bn554_bug_fixes.jnl
 ! bn554_bug_fixes.jnl
 ! test various fixes that went into version 5.54
@@ -43491,6 +44221,7 @@ GO bn554_bug_fixes.jnl
 ! Test use of longer strings in region names
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err553_regionname_lengths.jnl
 ! In v5.50, we upped the region name storage to
 ! allow 24-characters.  Wasnt fully implemented.
@@ -43547,6 +44278,7 @@ SET MODE/LAST IGNORE_ERRORS
 ! Reqests for data at times outside range of data
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err553_timeregion.jnl
 ! try to apply a region whose limits are both below,
 ! or both above, the data bounds. In v5.53 the error
@@ -43565,6 +44297,7 @@ SET MODE/LAST IGNORE_ERRORS
 ! Contour plot on fine grid has precision problems
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err553_contour_fine_grid.jnl
 ! err553_contour_find_grid.jnl
 ! 11/21/03 ACM
@@ -43600,6 +44333,7 @@ PPLUS/RESET   ! reset aspect ratio
 ! PLOT/SYM/SIZE= did not change the size
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err553_symsize.jnl
 ! PLOT/SYM/SIZE= does not change the size from the default.
 ! acm 11/03
@@ -43610,6 +44344,7 @@ plot/over/i=1:10/sym=20/siz=0.2 i
 ! test labels on shade keys; consistent number of digits set by 5th shakey arg
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err553_shakey_labels.jnl
 ! The 5th argument to shakey is supposed to define
 ! number of digits in the label.
@@ -43626,6 +44361,7 @@ ppl shade
 ! couldnt set the number of small tics with arg to %xaxis, %yaxis commands
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err553_xaxis_nsmtc.jnl
 ! Bug: 5th argument failed to set the number of small
 ! tics for the axis.
@@ -43642,6 +44378,7 @@ ppl %yaxis/nouser 1,100,10,2,6
 ! vs DEFINE AXIS/UNIT=yr
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err553_year_yr.jnl
 ! err553_year_yr.jnl
 ! 2/2004 ACM
@@ -43833,60 +44570,61 @@ can mode ignore
 ! strides, Ferret did a regridding instead.  Test the fix for this
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err553_stride_def_grid.jnl
  
 use gtsa056_2.cdf
 set mode diag
 let a = taux[i=50:55:2,j=44:50:3,l=1:168:8]
 load a
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid A        C:  7 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G023)          (AX023)   (AX013)   NORMAL    (AX033)
- dealloc  dynamic grid (G023)          (AX023)   (AX013)   NORMAL    (AX033)
- allocate dynamic grid (G023)          (AX023)   (AX013)   NORMAL    (AX033)
- allocate dynamic grid (G023)          (AX023)   (AX013)   NORMAL    (AX033)
- eval    EX#1     C:  4 dset:   1 I:    1    3  J:    1    3  K: -999 -999  L:    1   21
- eval    A        C:  6 dset:   1 I:    1    3  J:    1    3  K: -999 -999  L:    1   21
- allocate dynamic grid (G023)          (AX023)   (AX013)   NORMAL    (AX033)
- strip regrid on X: TAUX --> (G023)           @XACT
- rdstride TAUX     C:  9 dset:   1 I:   50   54  J:   44   50  K: -999 -999  L:    1  161
- nulrgd  TAUX     M:153 dset:   1 I:    1    3  J:    1    3  K: -999 -999  L:    1   21
- -DELETE TAUX     M:141 dset:   1 I:   50   54  J:   44   50  K: -999 -999  L:    1  161
- dealloc  dynamic grid (G023)          (AX023)   (AX013)   NORMAL    (AX033)
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid A        C:  7 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G015)          (AX023)   (AX013)   NORMAL    (AX033)
+ dealloc  dynamic grid (G015)          (AX023)   (AX013)   NORMAL    (AX033)
+ allocate dynamic grid (G015)          (AX023)   (AX013)   NORMAL    (AX033)
+ allocate dynamic grid (G015)          (AX023)   (AX013)   NORMAL    (AX033)
+ eval    EX#1     C:  4 dset:   1 I:      1      3  J:    1    3  K: -999 -999  L:      1     21
+ eval    A        C:  6 dset:   1 I:      1      3  J:    1    3  K: -999 -999  L:      1     21
+ allocate dynamic grid (G015)          (AX023)   (AX013)   NORMAL    (AX033)
+ strip regrid on X: TAUX --> (G015)           @XACT
+ rdstride TAUX     C:  9 dset:   1 I:     50     54  J:   44   50  K: -999 -999  L:      1    161
+ nulrgd  TAUX     M:245 dset:   1 I:      1      3  J:    1    3  K: -999 -999  L:      1     21
+ -DELETE TAUX     M:233 dset:   1 I:     50     54  J:   44   50  K: -999 -999  L:      1    161
+ dealloc  dynamic grid (G015)          (AX023)   (AX013)   NORMAL    (AX033)
 can mem/all
- -DELETE A        M:141 dset:   1 I:    1    3  J:    1    3  K: -999 -999  L:    1   21
- -DELETE TAUX     M:153 dset:   1 I:    1    3  J:    1    3  K: -999 -999  L:    1   21
+ -DELETE A        M:233 dset:   1 I:      1      3  J:    1    3  K: -999 -999  L:      1     21
+ -DELETE TAUX     M:245 dset:   1 I:      1      3  J:    1    3  K: -999 -999  L:      1     21
  
 def grid/like=taux agrid
- dealloc  dynamic grid (G023)          (AX023)   (AX013)   NORMAL    (AX033)
- getgrid EX#1     C:  6 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ dealloc  dynamic grid (G015)          (AX023)   (AX013)   NORMAL    (AX033)
+ getgrid EX#1     C:  6 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS2DU1          PSXU      PSYU      NORMAL    TIME6
 set mode diag
 let a = taux[i=50:55:2,j=44:50:3,l=1:168:8]
  dealloc  dynamic grid PS2DU1          PSXU      PSYU      NORMAL    TIME6
- dealloc  dynamic grid (G023)          (AX023)   (AX013)   NORMAL    (AX033)
+ dealloc  dynamic grid (G015)          (AX023)   (AX013)   NORMAL    (AX033)
 load a
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid A        C:  7 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G023)          (AX013)   (AX023)   NORMAL    (AX024)
- dealloc  dynamic grid (G023)          (AX013)   (AX023)   NORMAL    (AX024)
- allocate dynamic grid (G023)          (AX013)   (AX023)   NORMAL    (AX024)
- allocate dynamic grid (G023)          (AX013)   (AX023)   NORMAL    (AX024)
- eval    EX#1     C:  4 dset:   1 I:    1    3  J:    1    3  K: -999 -999  L:    1   21
- eval    A        C:  6 dset:   1 I:    1    3  J:    1    3  K: -999 -999  L:    1   21
- allocate dynamic grid (G023)          (AX013)   (AX023)   NORMAL    (AX024)
- strip regrid on X: TAUX --> (G023)           @XACT
- rdstride TAUX     C:  9 dset:   1 I:   50   54  J:   44   50  K: -999 -999  L:    1  161
- nulrgd  TAUX     M:141 dset:   1 I:    1    3  J:    1    3  K: -999 -999  L:    1   21
- -DELETE TAUX     M:153 dset:   1 I:   50   54  J:   44   50  K: -999 -999  L:    1  161
- dealloc  dynamic grid (G023)          (AX013)   (AX023)   NORMAL    (AX024)
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid A        C:  7 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G015)          (AX013)   (AX023)   NORMAL    (AX024)
+ dealloc  dynamic grid (G015)          (AX013)   (AX023)   NORMAL    (AX024)
+ allocate dynamic grid (G015)          (AX013)   (AX023)   NORMAL    (AX024)
+ allocate dynamic grid (G015)          (AX013)   (AX023)   NORMAL    (AX024)
+ eval    EX#1     C:  4 dset:   1 I:      1      3  J:    1    3  K: -999 -999  L:      1     21
+ eval    A        C:  6 dset:   1 I:      1      3  J:    1    3  K: -999 -999  L:      1     21
+ allocate dynamic grid (G015)          (AX013)   (AX023)   NORMAL    (AX024)
+ strip regrid on X: TAUX --> (G015)           @XACT
+ rdstride TAUX     C:  9 dset:   1 I:     50     54  J:   44   50  K: -999 -999  L:      1    161
+ nulrgd  TAUX     M:233 dset:   1 I:      1      3  J:    1    3  K: -999 -999  L:      1     21
+ -DELETE TAUX     M:245 dset:   1 I:     50     54  J:   44   50  K: -999 -999  L:      1    161
+ dealloc  dynamic grid (G015)          (AX013)   (AX023)   NORMAL    (AX024)
  
 can mem/all
- -DELETE TAUX     M:141 dset:   1 I:    1    3  J:    1    3  K: -999 -999  L:    1   21
- -DELETE A        M:153 dset:   1 I:    1    3  J:    1    3  K: -999 -999  L:    1   21
+ -DELETE TAUX     M:233 dset:   1 I:      1      3  J:    1    3  K: -999 -999  L:      1     21
+ -DELETE A        M:245 dset:   1 I:      1      3  J:    1    3  K: -999 -999  L:      1     21
 can data/all
- dealloc  dynamic grid (G023)          (AX013)   (AX023)   NORMAL    (AX024)
- dealloc  dynamic grid (G023)          (AX013)   (AX023)   NORMAL    (AX024)
+ dealloc  dynamic grid (G015)          (AX013)   (AX023)   NORMAL    (AX024)
+ dealloc  dynamic grid (G015)          (AX013)   (AX023)   NORMAL    (AX024)
  canceling dset ./gtsa056_2.cdf
  
 ! Some tests taken from  bn_strides_revs_perms.jnl but with
@@ -43896,23 +44634,23 @@ can data/all
 set region/i=3:6/j=2:4/k=1:2/l=1
 use bn_strides
 define grid/like=var agrid
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GPC1            XAX1_4    YAX1_3    ZAX1_2    TAX1_1
  dealloc  dynamic grid GPC1            XAX1_4    YAX1_3    ZAX1_2    TAX1_1
 define grid/like=midvar bgrid
- getgrid EX#1     C:  6 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  6 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GPC2            XAX1_9    YAX1_8    ZAX1_7    TAX1_6
 define grid/like=bigvar cgrid
  dealloc  dynamic grid GPC2            XAX1_9    YAX1_8    ZAX1_7    TAX1_6
- getgrid EX#1     C:  7 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  7 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GPC3            XAX1_40   YAX1_30   ZAX1_20   TAX1_10
 define grid/like=unevenvar dgrid
  dealloc  dynamic grid GPC3            XAX1_40   YAX1_30   ZAX1_20   TAX1_10
- getgrid EX#1     C:  8 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  8 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GPC4            XUNEVEN   YUNEVEN   ZAX1_6    TAX1_4
 define grid/like=xytvar egrid
  dealloc  dynamic grid GPC4            XUNEVEN   YUNEVEN   ZAX1_6    TAX1_4
- getgrid EX#1     C:  9 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  9 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GPC5            XLON      YLAT      NORMAL    TTIME
 canc data/all
  dealloc  dynamic grid GPC5            XLON      YLAT      NORMAL    TTIME
@@ -43923,22 +44661,22 @@ canc data/all
 cancel memory/all
 use bn_strides
 load var
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I:    3    4  J:    2    3  K:    1    2  L:    1    1
- reading VAR      M:153 dset:   1 I:    3    4  J:    2    3  K:    1    2  L:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:      3      4  J:    2    3  K:    1    2  L:      1      1
+ reading VAR      M:245 dset:   1 I:      3      4  J:    2    3  K:    1    2  L:      1      1
 LIST VAR[i=2:4:2]
  dealloc  dynamic grid AGRID           XAX1_4    YAX1_3    ZAX1_2    TAX1_1
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G014)          (AX045)   YAX1_3    ZAX1_2    TAX1_1
- dealloc  dynamic grid (G014)          (AX045)   YAX1_3    ZAX1_2    TAX1_1
- allocate dynamic grid (G014)          (AX045)   YAX1_3    ZAX1_2    TAX1_1
- eval    EX#1     C:  4 dset:   1 I:    3    6  J:    2    3  K:    1    2  L:    1    1
- allocate dynamic grid (G014)          (AX045)   YAX1_3    ZAX1_2    TAX1_1
- strip regrid on X: VAR --> (G014)           @XACT
- rdstride VAR      C:  7 dset:   1 I:    2    4  J:    2    3  K:    1    2  L:    1    1
- nulrgd  VAR      M:148 dset:   1 I:    1    2  J:    2    3  K:    1    2  L:    1    1
- -DELETE VAR      M:141 dset:   1 I:    2    4  J:    2    3  K:    1    2  L:    1    1
- dealloc  dynamic grid (G014)          (AX045)   YAX1_3    ZAX1_2    TAX1_1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G004)          (AX045)   YAX1_3    ZAX1_2    TAX1_1
+ dealloc  dynamic grid (G004)          (AX045)   YAX1_3    ZAX1_2    TAX1_1
+ allocate dynamic grid (G004)          (AX045)   YAX1_3    ZAX1_2    TAX1_1
+ eval    EX#1     C:  4 dset:   1 I:      3      6  J:    2    3  K:    1    2  L:      1      1
+ allocate dynamic grid (G004)          (AX045)   YAX1_3    ZAX1_2    TAX1_1
+ strip regrid on X: VAR --> (G004)           @XACT
+ rdstride VAR      C:  7 dset:   1 I:      2      4  J:    2    3  K:    1    2  L:      1      1
+ nulrgd  VAR      M:240 dset:   1 I:      1      2  J:    2    3  K:    1    2  L:      1      1
+ -DELETE VAR      M:233 dset:   1 I:      2      4  J:    2    3  K:    1    2  L:      1      1
+ dealloc  dynamic grid (G004)          (AX045)   YAX1_3    ZAX1_2    TAX1_1
              VARIABLE : L*1000 + K*100 + J*10 + I
                         regrid: 2 delta on X
              FILENAME : bn_strides.cdf
@@ -43953,19 +44691,19 @@ LIST VAR[i=2:4:2]
  2   / 2:  1222.00  1224.00
  3   / 3:  1232.00  1234.00
 LIST VAR[i=2:4:2,j=1:3:2]
- dealloc  dynamic grid (G014)          (AX045)   YAX1_3    ZAX1_2    TAX1_1
- -DELETE VAR      M:148 dset:   1 I:    1    2  J:    2    3  K:    1    2  L:    1    1
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G014)          (AX018)   (AX046)   ZAX1_2    TAX1_1
- dealloc  dynamic grid (G014)          (AX018)   (AX046)   ZAX1_2    TAX1_1
- allocate dynamic grid (G014)          (AX018)   (AX046)   ZAX1_2    TAX1_1
- eval    EX#1     C:  4 dset:   1 I:    3    6  J:    2    4  K:    1    2  L:    1    1
- allocate dynamic grid (G014)          (AX018)   (AX046)   ZAX1_2    TAX1_1
- strip regrid on X: VAR --> (G014)           @XACT
- rdstride VAR      C:  7 dset:   1 I:    2    4  J:    1    3  K:    1    2  L:    1    1
- nulrgd  VAR      M:141 dset:   1 I:    1    2  J:    1    2  K:    1    2  L:    1    1
- -DELETE VAR      M:148 dset:   1 I:    2    4  J:    1    3  K:    1    2  L:    1    1
- dealloc  dynamic grid (G014)          (AX018)   (AX046)   ZAX1_2    TAX1_1
+ dealloc  dynamic grid (G004)          (AX045)   YAX1_3    ZAX1_2    TAX1_1
+ -DELETE VAR      M:240 dset:   1 I:      1      2  J:    2    3  K:    1    2  L:      1      1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G004)          (AX018)   (AX046)   ZAX1_2    TAX1_1
+ dealloc  dynamic grid (G004)          (AX018)   (AX046)   ZAX1_2    TAX1_1
+ allocate dynamic grid (G004)          (AX018)   (AX046)   ZAX1_2    TAX1_1
+ eval    EX#1     C:  4 dset:   1 I:      3      6  J:    2    4  K:    1    2  L:      1      1
+ allocate dynamic grid (G004)          (AX018)   (AX046)   ZAX1_2    TAX1_1
+ strip regrid on X: VAR --> (G004)           @XACT
+ rdstride VAR      C:  7 dset:   1 I:      2      4  J:    1    3  K:    1    2  L:      1      1
+ nulrgd  VAR      M:233 dset:   1 I:      1      2  J:    1    2  K:    1    2  L:      1      1
+ -DELETE VAR      M:240 dset:   1 I:      2      4  J:    1    3  K:    1    2  L:      1      1
+ dealloc  dynamic grid (G004)          (AX018)   (AX046)   ZAX1_2    TAX1_1
              VARIABLE : L*1000 + K*100 + J*10 + I
                         regrid: 2 delta on X, 2 delta on Y
              FILENAME : bn_strides.cdf
@@ -43980,25 +44718,25 @@ LIST VAR[i=2:4:2,j=1:3:2]
  1   / 1:  1212.00  1214.00
  3   / 2:  1232.00  1234.00
 CANC MEM/ALL
- -DELETE VAR      M:141 dset:   1 I:    1    2  J:    1    2  K:    1    2  L:    1    1
- -DELETE VAR      M:153 dset:   1 I:    3    4  J:    2    3  K:    1    2  L:    1    1
+ -DELETE VAR      M:233 dset:   1 I:      1      2  J:    1    2  K:    1    2  L:      1      1
+ -DELETE VAR      M:245 dset:   1 I:      3      4  J:    2    3  K:    1    2  L:      1      1
  
 ! modulo requests cannot use strides (as this example shows)
 set axis/modulo XAX1_4
 LIST VAR[I=1:10:3,j=1,k=1,l=1]    ! 1, 4, 7(3), 10(2)
- dealloc  dynamic grid (G014)          (AX018)   (AX046)   ZAX1_2    TAX1_1
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G014)          (AX018)   YAX1_3    ZAX1_2    TAX1_1
- dealloc  dynamic grid (G014)          (AX018)   YAX1_3    ZAX1_2    TAX1_1
- allocate dynamic grid (G014)          (AX018)   YAX1_3    ZAX1_2    TAX1_1
- eval    EX#1     C:  4 dset:   1 I:    3    6  J:    2    4  K:    1    2  L:    1    1
- allocate dynamic grid (G014)          (AX018)   YAX1_3    ZAX1_2    TAX1_1
- strip regrid on X: VAR --> (G014)           @XACT
- strip moduloing VAR on X axis:     1    10 dset:   1
- reading VAR      M:153 dset:   1 I:    1    4  J:    1    1  K:    1    1  L:    1    1
- doing moduloing VAR on X axis:     1     4 dset:   1
- regrid  VAR      M:148 dset:   1 I:    1    4  J:    1    1  K:    1    1  L:    1    1
- dealloc  dynamic grid (G014)          (AX018)   YAX1_3    ZAX1_2    TAX1_1
+ dealloc  dynamic grid (G004)          (AX018)   (AX046)   ZAX1_2    TAX1_1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G004)          (AX018)   YAX1_3    ZAX1_2    TAX1_1
+ dealloc  dynamic grid (G004)          (AX018)   YAX1_3    ZAX1_2    TAX1_1
+ allocate dynamic grid (G004)          (AX018)   YAX1_3    ZAX1_2    TAX1_1
+ eval    EX#1     C:  4 dset:   1 I:      3      6  J:    2    4  K:    1    2  L:      1      1
+ allocate dynamic grid (G004)          (AX018)   YAX1_3    ZAX1_2    TAX1_1
+ strip regrid on X: VAR --> (G004)           @XACT
+ strip moduloing VAR on X axis:        1       10 dset:   1
+ reading VAR      M:245 dset:   1 I:      1      4  J:    1    1  K:    1    1  L:      1      1
+ doing moduloing VAR on X axis:        1        4 dset:   1
+ regrid  VAR      M:240 dset:   1 I:      1      4  J:    1    1  K:    1    1  L:      1      1
+ dealloc  dynamic grid (G004)          (AX018)   YAX1_3    ZAX1_2    TAX1_1
              VARIABLE : L*1000 + K*100 + J*10 + I
                         regrid: 3 delta on X
              FILENAME : bn_strides.cdf
@@ -44013,24 +44751,24 @@ LIST VAR[I=1:10:3,j=1,k=1,l=1]    ! 1, 4, 7(3), 10(2)
  7    / 3:  1113.00
  10   / 4:  1112.00
 cancel axis/modulo XAX1_4
- -DELETE VAR      M:141 dset:   1 I:    1   10  J:    1    1  K:    1    1  L:    1    1
- -DELETE VAR      M:148 dset:   1 I:    1    4  J:    1    1  K:    1    1  L:    1    1
- -DELETE VAR      M:153 dset:   1 I:    1    4  J:    1    1  K:    1    1  L:    1    1
+ -DELETE VAR      M:233 dset:   1 I:      1     10  J:    1    1  K:    1    1  L:      1      1
+ -DELETE VAR      M:240 dset:   1 I:      1      4  J:    1    1  K:    1    1  L:      1      1
+ -DELETE VAR      M:245 dset:   1 I:      1      4  J:    1    1  K:    1    1  L:      1      1
  
 ! strides applied to more than one axis need special attention in IS_REGRID
 LIST VAR[i=2:4:2,j=1:3:2]
- dealloc  dynamic grid (G014)          (AX018)   YAX1_3    ZAX1_2    TAX1_1
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G014)          (AX046)   (AX045)   ZAX1_2    TAX1_1
- dealloc  dynamic grid (G014)          (AX046)   (AX045)   ZAX1_2    TAX1_1
- allocate dynamic grid (G014)          (AX046)   (AX045)   ZAX1_2    TAX1_1
- eval    EX#1     C:  4 dset:   1 I:    3    6  J:    2    4  K:    1    2  L:    1    1
- allocate dynamic grid (G014)          (AX046)   (AX045)   ZAX1_2    TAX1_1
- strip regrid on X: VAR --> (G014)           @XACT
- rdstride VAR      C:  7 dset:   1 I:    2    4  J:    1    3  K:    1    2  L:    1    1
- nulrgd  VAR      M:148 dset:   1 I:    1    2  J:    1    2  K:    1    2  L:    1    1
- -DELETE VAR      M:153 dset:   1 I:    2    4  J:    1    3  K:    1    2  L:    1    1
- dealloc  dynamic grid (G014)          (AX046)   (AX045)   ZAX1_2    TAX1_1
+ dealloc  dynamic grid (G004)          (AX018)   YAX1_3    ZAX1_2    TAX1_1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G004)          (AX046)   (AX045)   ZAX1_2    TAX1_1
+ dealloc  dynamic grid (G004)          (AX046)   (AX045)   ZAX1_2    TAX1_1
+ allocate dynamic grid (G004)          (AX046)   (AX045)   ZAX1_2    TAX1_1
+ eval    EX#1     C:  4 dset:   1 I:      3      6  J:    2    4  K:    1    2  L:      1      1
+ allocate dynamic grid (G004)          (AX046)   (AX045)   ZAX1_2    TAX1_1
+ strip regrid on X: VAR --> (G004)           @XACT
+ rdstride VAR      C:  7 dset:   1 I:      2      4  J:    1    3  K:    1    2  L:      1      1
+ nulrgd  VAR      M:240 dset:   1 I:      1      2  J:    1    2  K:    1    2  L:      1      1
+ -DELETE VAR      M:245 dset:   1 I:      2      4  J:    1    3  K:    1    2  L:      1      1
+ dealloc  dynamic grid (G004)          (AX046)   (AX045)   ZAX1_2    TAX1_1
              VARIABLE : L*1000 + K*100 + J*10 + I
                         regrid: 2 delta on X, 2 delta on Y
              FILENAME : bn_strides.cdf
@@ -44045,19 +44783,19 @@ LIST VAR[i=2:4:2,j=1:3:2]
  1   / 1:  1212.00  1214.00
  3   / 2:  1232.00  1234.00
 LIST VAR[i=2:6:2,j=1:5:2]
- dealloc  dynamic grid (G014)          (AX046)   (AX045)   ZAX1_2    TAX1_1
- -DELETE VAR      M:148 dset:   1 I:    1    2  J:    1    2  K:    1    2  L:    1    1
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G014)          (AX046)   (AX018)   ZAX1_2    TAX1_1
- dealloc  dynamic grid (G014)          (AX046)   (AX018)   ZAX1_2    TAX1_1
- allocate dynamic grid (G014)          (AX046)   (AX018)   ZAX1_2    TAX1_1
- eval    EX#1     C:  4 dset:   1 I:    3    6  J:    2    4  K:    1    2  L:    1    1
- allocate dynamic grid (G014)          (AX046)   (AX018)   ZAX1_2    TAX1_1
- strip regrid on X: VAR --> (G014)           @XACT
- rdstride VAR      C:  7 dset:   1 I:    2    4  J:    1    3  K:    1    2  L:    1    1
- nulrgd  VAR      M:153 dset:   1 I:    1    2  J:    1    2  K:    1    2  L:    1    1
- -DELETE VAR      M:148 dset:   1 I:    2    4  J:    1    3  K:    1    2  L:    1    1
- dealloc  dynamic grid (G014)          (AX046)   (AX018)   ZAX1_2    TAX1_1
+ dealloc  dynamic grid (G004)          (AX046)   (AX045)   ZAX1_2    TAX1_1
+ -DELETE VAR      M:240 dset:   1 I:      1      2  J:    1    2  K:    1    2  L:      1      1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G004)          (AX046)   (AX018)   ZAX1_2    TAX1_1
+ dealloc  dynamic grid (G004)          (AX046)   (AX018)   ZAX1_2    TAX1_1
+ allocate dynamic grid (G004)          (AX046)   (AX018)   ZAX1_2    TAX1_1
+ eval    EX#1     C:  4 dset:   1 I:      3      6  J:    2    4  K:    1    2  L:      1      1
+ allocate dynamic grid (G004)          (AX046)   (AX018)   ZAX1_2    TAX1_1
+ strip regrid on X: VAR --> (G004)           @XACT
+ rdstride VAR      C:  7 dset:   1 I:      2      4  J:    1    3  K:    1    2  L:      1      1
+ nulrgd  VAR      M:245 dset:   1 I:      1      2  J:    1    2  K:    1    2  L:      1      1
+ -DELETE VAR      M:240 dset:   1 I:      2      4  J:    1    3  K:    1    2  L:      1      1
+ dealloc  dynamic grid (G004)          (AX046)   (AX018)   ZAX1_2    TAX1_1
              VARIABLE : L*1000 + K*100 + J*10 + I
                         regrid: 2 delta on X, 2 delta on Y
              FILENAME : bn_strides.cdf
@@ -44074,24 +44812,24 @@ LIST VAR[i=2:6:2,j=1:5:2]
  
 ! test sub-region selection on strides axis
 let a = bigvar[i=1:40:5]
- dealloc  dynamic grid (G014)          (AX046)   (AX018)   ZAX1_2    TAX1_1
- -DELETE VAR      M:153 dset:   1 I:    1    2  J:    1    2  K:    1    2  L:    1    1
+ dealloc  dynamic grid (G004)          (AX046)   (AX018)   ZAX1_2    TAX1_1
+ -DELETE VAR      M:245 dset:   1 I:      1      2  J:    1    2  K:    1    2  L:      1      1
 list/j=1/k=1/l=1 a[i=3:5]
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid A        C:  7 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G014)          (AX046)   YAX1_30   ZAX1_20   TAX1_10
- dealloc  dynamic grid (G014)          (AX046)   YAX1_30   ZAX1_20   TAX1_10
- allocate dynamic grid (G014)          (AX046)   YAX1_30   ZAX1_20   TAX1_10
- allocate dynamic grid (G014)          (AX046)   YAX1_30   ZAX1_20   TAX1_10
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid A        C:  7 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G004)          (AX046)   YAX1_30   ZAX1_20   TAX1_10
+ dealloc  dynamic grid (G004)          (AX046)   YAX1_30   ZAX1_20   TAX1_10
+ allocate dynamic grid (G004)          (AX046)   YAX1_30   ZAX1_20   TAX1_10
+ allocate dynamic grid (G004)          (AX046)   YAX1_30   ZAX1_20   TAX1_10
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:    3    6  J:    1    1  K:    1    1  L:    1    1
- eval    A        C:  7 dset:   1 I:    3    5  J:    1    1  K:    1    1  L:    1    1
- allocate dynamic grid (G014)          (AX046)   YAX1_30   ZAX1_20   TAX1_10
- strip regrid on X: BIGVAR --> (G014)           @XACT
- rdstride BIGVAR   C: 10 dset:   1 I:    1   36  J:    1    1  K:    1    1  L:    1    1
- nulrgd  BIGVAR   M:148 dset:   1 I:    1    8  J:    1    1  K:    1    1  L:    1    1
- -DELETE BIGVAR   M:153 dset:   1 I:    1   36  J:    1    1  K:    1    1  L:    1    1
- dealloc  dynamic grid (G014)          (AX046)   YAX1_30   ZAX1_20   TAX1_10
+ eval    EX#1     C:  5 dset:   1 I:      3      6  J:    1    1  K:    1    1  L:      1      1
+ eval    A        C:  7 dset:   1 I:      3      5  J:    1    1  K:    1    1  L:      1      1
+ allocate dynamic grid (G004)          (AX046)   YAX1_30   ZAX1_20   TAX1_10
+ strip regrid on X: BIGVAR --> (G004)           @XACT
+ rdstride BIGVAR   C: 10 dset:   1 I:      1     36  J:    1    1  K:    1    1  L:      1      1
+ nulrgd  BIGVAR   M:240 dset:   1 I:      1      8  J:    1    1  K:    1    1  L:      1      1
+ -DELETE BIGVAR   M:245 dset:   1 I:      1     36  J:    1    1  K:    1    1  L:      1      1
+ dealloc  dynamic grid (G004)          (AX046)   YAX1_30   ZAX1_20   TAX1_10
              VARIABLE : BIGVAR[I=1:40:5]
              FILENAME : bn_strides.cdf
              SUBSET   : 3 points (X)
@@ -44103,25 +44841,25 @@ list/j=1/k=1/l=1 a[i=3:5]
  11   / 3:  1121.00
  16   / 4:  1126.00
  21   / 5:  1131.00
- -DELETE A        M:141 dset:   1 I:    1    1  J:    3    5  K:    1    1  L:    1    1
+ -DELETE A        M:233 dset:   1 I:      1      1  J:    3    5  K:    1    1  L:      1      1
 list/k=1/l=1 a[i=3:5,j=1:8:2]
- dealloc  dynamic grid (G014)          (AX046)   YAX1_30   ZAX1_20   TAX1_10
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ dealloc  dynamic grid (G004)          (AX046)   YAX1_30   ZAX1_20   TAX1_10
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G001)          (AX046)   (AX045)   ZAX1_20   TAX1_10
  dealloc  dynamic grid (G001)          (AX046)   (AX045)   ZAX1_20   TAX1_10
  allocate dynamic grid (G001)          (AX046)   (AX045)   ZAX1_20   TAX1_10
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:    3    6  J:    2    4  K:    1    1  L:    1    1
+ eval    EX#1     C:  5 dset:   1 I:      3      6  J:    2    4  K:    1    1  L:      1      1
  allocate dynamic grid (G001)          (AX046)   (AX045)   ZAX1_20   TAX1_10
  strip regrid on Y: A --> (G001)           @XACT
- eval    A        C:  8 dset:   1 I:    3    5  J:    1    7  K:    1    1  L:    1    1
- allocate dynamic grid (G014)          (AX046)   YAX1_30   ZAX1_20   TAX1_10
- strip regrid on X: BIGVAR --> (G014)           @XACT
- rdstride BIGVAR   C: 11 dset:   1 I:    1   36  J:    1    7  K:    1    1  L:    1    1
- nulrgd  BIGVAR   M:140 dset:   1 I:    1    8  J:    1    7  K:    1    1  L:    1    1
- -DELETE BIGVAR   M:141 dset:   1 I:    1   36  J:    1    7  K:    1    1  L:    1    1
- dealloc  dynamic grid (G014)          (AX046)   YAX1_30   ZAX1_20   TAX1_10
- regrid  A        M:152 dset:   1 I:    3    5  J:    1    4  K:    1    1  L:    1    1
+ eval    A        C:  8 dset:   1 I:      3      5  J:    1    7  K:    1    1  L:      1      1
+ allocate dynamic grid (G004)          (AX046)   YAX1_30   ZAX1_20   TAX1_10
+ strip regrid on X: BIGVAR --> (G004)           @XACT
+ rdstride BIGVAR   C: 11 dset:   1 I:      1     36  J:    1    7  K:    1    1  L:      1      1
+ nulrgd  BIGVAR   M:232 dset:   1 I:      1      8  J:    1    7  K:    1    1  L:      1      1
+ -DELETE BIGVAR   M:233 dset:   1 I:      1     36  J:    1    7  K:    1    1  L:      1      1
+ dealloc  dynamic grid (G004)          (AX046)   YAX1_30   ZAX1_20   TAX1_10
+ regrid  A        M:244 dset:   1 I:      3      5  J:    1    4  K:    1    1  L:      1      1
  dealloc  dynamic grid (G001)          (AX046)   (AX045)   ZAX1_20   TAX1_10
              VARIABLE : BIGVAR[I=1:40:5]
                         regrid: 2 delta on Y
@@ -44139,26 +44877,26 @@ list/k=1/l=1 a[i=3:5,j=1:8:2]
 ! ****** unequally spaced points on parent axis
  
 cancel mem/all
- -DELETE BIGVAR   M:140 dset:   1 I:    1    8  J:    1    7  K:    1    1  L:    1    1
- -DELETE A        M:141 dset:   1 I:    1    8  J:    1    7  K:    1    1  L:    1    1
- -DELETE BIGVAR   M:148 dset:   1 I:    1    8  J:    1    1  K:    1    1  L:    1    1
- -DELETE A        M:152 dset:   1 I:    3    5  J:    1    4  K:    1    1  L:    1    1
- -DELETE A        M:153 dset:   1 I:    1    8  J:    1    1  K:    1    1  L:    1    1
+ -DELETE BIGVAR   M:232 dset:   1 I:      1      8  J:    1    7  K:    1    1  L:      1      1
+ -DELETE A        M:233 dset:   1 I:      1      8  J:    1    7  K:    1    1  L:      1      1
+ -DELETE BIGVAR   M:240 dset:   1 I:      1      8  J:    1    1  K:    1    1  L:      1      1
+ -DELETE A        M:244 dset:   1 I:      3      5  J:    1    4  K:    1    1  L:      1      1
+ -DELETE A        M:245 dset:   1 I:      1      8  J:    1    1  K:    1    1  L:      1      1
  
 ! basic strides
 LIST/order=x/j=1/k=1/l=1 UNEVENVAR[i=2:4:2]
  dealloc  dynamic grid (G001)          (AX046)   (AX045)   ZAX1_20   TAX1_10
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G001)          (AX018)   YUNEVEN   ZAX1_6    TAX1_4
  dealloc  dynamic grid (G001)          (AX018)   YUNEVEN   ZAX1_6    TAX1_4
  allocate dynamic grid (G001)          (AX018)   YUNEVEN   ZAX1_6    TAX1_4
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:    3    6  J:    1    1  K:    1    1  L:    1    1
+ eval    EX#1     C:  5 dset:   1 I:      3      6  J:    1    1  K:    1    1  L:      1      1
  allocate dynamic grid (G001)          (AX018)   YUNEVEN   ZAX1_6    TAX1_4
  strip regrid on X: UNEVENVAR --> (G001)           @XACT
- rdstride UNE-NVAR C:  8 dset:   1 I:    2    4  J:    1    1  K:    1    1  L:    1    1
- nulrgd  UNE-NVAR M:152 dset:   1 I:    1    2  J:    1    1  K:    1    1  L:    1    1
- -DELETE UNE-NVAR M:153 dset:   1 I:    2    4  J:    1    1  K:    1    1  L:    1    1
+ rdstride UNE-NVAR C:  8 dset:   1 I:      2      4  J:    1    1  K:    1    1  L:      1      1
+ nulrgd  UNE-NVAR M:244 dset:   1 I:      1      2  J:    1    1  K:    1    1  L:      1      1
+ -DELETE UNE-NVAR M:245 dset:   1 I:      2      4  J:    1    1  K:    1    1  L:      1      1
  dealloc  dynamic grid (G001)          (AX018)   YUNEVEN   ZAX1_6    TAX1_4
              VARIABLE : L*1000 + K*100 + J[GY=YUNEVEN]*10 + I[GX=XUNEVEN]
                         regrid: on X
@@ -44178,17 +44916,17 @@ set region/i=3:6/j=2:4/k=1:2/l=1
 use/order=yx bn_strides
 list bigvar[i=3:9:2, j=2:6:2, k=1:3:2]
  dealloc  dynamic grid (G001)          (AX018)   YUNEVEN   ZAX1_6    TAX1_4
- -DELETE UNE-NVAR M:152 dset:   1 I:    1    2  J:    1    1  K:    1    1  L:    1    1
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ -DELETE UNE-NVAR M:244 dset:   1 I:      1      2  J:    1    1  K:    1    1  L:      1      1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G001)          (AX045)   (AX047)   (AX048)   TAX1_10
  dealloc  dynamic grid (G001)          (AX045)   (AX047)   (AX048)   TAX1_10
  allocate dynamic grid (G001)          (AX045)   (AX047)   (AX048)   TAX1_10
- eval    EX#1     C:  4 dset:   1 I:    3    6  J:    2    4  K:    1    2  L:    1    1
+ eval    EX#1     C:  4 dset:   1 I:      3      6  J:    2    4  K:    1    2  L:      1      1
  allocate dynamic grid (G001)          (AX045)   (AX047)   (AX048)   TAX1_10
  strip regrid on X: BIGVAR --> (G001)           @XACT
- rdstride BIGVAR   C:  7 dset:   1 I:    3    9  J:    2    6  K:    1    3  L:    1    1
- nulrgd  BIGVAR   M:153 dset:   1 I:    1    4  J:    1    3  K:    1    2  L:    1    1
- -DELETE BIGVAR   M:152 dset:   1 I:    3    9  J:    2    6  K:    1    3  L:    1    1
+ rdstride BIGVAR   C:  7 dset:   1 I:      3      9  J:    2    6  K:    1    3  L:      1      1
+ nulrgd  BIGVAR   M:245 dset:   1 I:      1      4  J:    1    3  K:    1    2  L:      1      1
+ -DELETE BIGVAR   M:244 dset:   1 I:      3      9  J:    2    6  K:    1    3  L:      1      1
  dealloc  dynamic grid (G001)          (AX045)   (AX047)   (AX048)   TAX1_10
              VARIABLE : VAR
                         regrid: 2 delta on X, 2 delta on Y, 2 delta on Z
@@ -44207,23 +44945,23 @@ list bigvar[i=3:9:2, j=2:6:2, k=1:3:2]
  6   / 3:  1363.00  1365.00  1367.00  1369.00
 canc data/all
  dealloc  dynamic grid (G001)          (AX045)   (AX047)   (AX048)   TAX1_10
- -DELETE BIGVAR   M:153 dset:   1 I:    1    4  J:    1    3  K:    1    2  L:    1    1
- dealloc  dynamic grid (G014)          (AX046)   YAX1_30   ZAX1_20   TAX1_10
+ -DELETE BIGVAR   M:245 dset:   1 I:      1      4  J:    1    3  K:    1    2  L:      1      1
+ dealloc  dynamic grid (G004)          (AX046)   YAX1_30   ZAX1_20   TAX1_10
  canceling dset ./bn_strides.cdf
  
 use/order=zyx bn_strides
 list bigvar[i=3:9:2, j=2:6:2, k=1:3:2]
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G014)          (AX048)   (AX047)   (AX045)   TAX1_10
- dealloc  dynamic grid (G014)          (AX048)   (AX047)   (AX045)   TAX1_10
- allocate dynamic grid (G014)          (AX048)   (AX047)   (AX045)   TAX1_10
- eval    EX#1     C:  4 dset:   1 I:    3    6  J:    2    4  K:    1    2  L:    1    1
- allocate dynamic grid (G014)          (AX048)   (AX047)   (AX045)   TAX1_10
- strip regrid on X: BIGVAR --> (G014)           @XACT
- rdstride BIGVAR   C:  7 dset:   1 I:    3    9  J:    2    6  K:    1    3  L:    1    1
- nulrgd  BIGVAR   M:152 dset:   1 I:    1    4  J:    1    3  K:    1    2  L:    1    1
- -DELETE BIGVAR   M:153 dset:   1 I:    3    9  J:    2    6  K:    1    3  L:    1    1
- dealloc  dynamic grid (G014)          (AX048)   (AX047)   (AX045)   TAX1_10
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G004)          (AX048)   (AX047)   (AX045)   TAX1_10
+ dealloc  dynamic grid (G004)          (AX048)   (AX047)   (AX045)   TAX1_10
+ allocate dynamic grid (G004)          (AX048)   (AX047)   (AX045)   TAX1_10
+ eval    EX#1     C:  4 dset:   1 I:      3      6  J:    2    4  K:    1    2  L:      1      1
+ allocate dynamic grid (G004)          (AX048)   (AX047)   (AX045)   TAX1_10
+ strip regrid on X: BIGVAR --> (G004)           @XACT
+ rdstride BIGVAR   C:  7 dset:   1 I:      3      9  J:    2    6  K:    1    3  L:      1      1
+ nulrgd  BIGVAR   M:244 dset:   1 I:      1      4  J:    1    3  K:    1    2  L:      1      1
+ -DELETE BIGVAR   M:245 dset:   1 I:      3      9  J:    2    6  K:    1    3  L:      1      1
+ dealloc  dynamic grid (G004)          (AX048)   (AX047)   (AX045)   TAX1_10
              VARIABLE : VAR
                         regrid: 2 delta on X, 2 delta on Y, 2 delta on Z
              FILENAME : bn_strides.cdf
@@ -44240,8 +44978,8 @@ list bigvar[i=3:9:2, j=2:6:2, k=1:3:2]
  4   / 2:  1343.00  1543.00  1743.00  1943.00
  6   / 3:  1363.00  1563.00  1763.00  1963.00
 canc data/all
- dealloc  dynamic grid (G014)          (AX048)   (AX047)   (AX045)   TAX1_10
- -DELETE BIGVAR   M:152 dset:   1 I:    1    4  J:    1    3  K:    1    2  L:    1    1
+ dealloc  dynamic grid (G004)          (AX048)   (AX047)   (AX045)   TAX1_10
+ -DELETE BIGVAR   M:244 dset:   1 I:      1      4  J:    1    3  K:    1    2  L:      1      1
  canceling dset ./bn_strides.cdf
  
 ! now with xytvar
@@ -44250,17 +44988,17 @@ set region/i=1:4/j=1:3/l=1:2
 use bn_strides
  
 list xytvar[i=1:7:2,j=2:6:2,l=3:5:2]
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G014)          (AX047)   (AX048)   NORMAL    (AX046)
- dealloc  dynamic grid (G014)          (AX047)   (AX048)   NORMAL    (AX046)
- allocate dynamic grid (G014)          (AX047)   (AX048)   NORMAL    (AX046)
- eval    EX#1     C:  4 dset:   1 I:    1    4  J:    1    3  K: -999 -999  L:    1    2
- allocate dynamic grid (G014)          (AX047)   (AX048)   NORMAL    (AX046)
- strip regrid on X: XYTVAR --> (G014)           @XACT
- rdstride XYTVAR   C:  7 dset:   1 I:    1    7  J:    2    6  K: -999 -999  L:    3    5
- nulrgd  XYTVAR   M:153 dset:   1 I:    1    4  J:    1    3  K: -999 -999  L:    1    2
- -DELETE XYTVAR   M:152 dset:   1 I:    1    7  J:    2    6  K: -999 -999  L:    3    5
- dealloc  dynamic grid (G014)          (AX047)   (AX048)   NORMAL    (AX046)
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G004)          (AX047)   (AX048)   NORMAL    (AX046)
+ dealloc  dynamic grid (G004)          (AX047)   (AX048)   NORMAL    (AX046)
+ allocate dynamic grid (G004)          (AX047)   (AX048)   NORMAL    (AX046)
+ eval    EX#1     C:  4 dset:   1 I:      1      4  J:    1    3  K: -999 -999  L:      1      2
+ allocate dynamic grid (G004)          (AX047)   (AX048)   NORMAL    (AX046)
+ strip regrid on X: XYTVAR --> (G004)           @XACT
+ rdstride XYTVAR   C:  7 dset:   1 I:      1      7  J:    2    6  K: -999 -999  L:      3      5
+ nulrgd  XYTVAR   M:245 dset:   1 I:      1      4  J:    1    3  K: -999 -999  L:      1      2
+ -DELETE XYTVAR   M:244 dset:   1 I:      1      7  J:    2    6  K: -999 -999  L:      3      5
+ dealloc  dynamic grid (G004)          (AX047)   (AX048)   NORMAL    (AX046)
              VARIABLE : L*1000 + J*10 + I
                         regrid: 2 deg on X, 2 deg on Y, 2 day on T
              FILENAME : bn_strides.cdf
@@ -44278,9 +45016,9 @@ list xytvar[i=1:7:2,j=2:6:2,l=3:5:2]
  
 use/order=tyx bn_strides
 show grid xytvar
- dealloc  dynamic grid (G014)          (AX047)   (AX048)   NORMAL    (AX046)
- -DELETE XYTVAR   M:153 dset:   1 I:    1    4  J:    1    3  K: -999 -999  L:    1    2
- getgrid EX#1     C:  7 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ dealloc  dynamic grid (G004)          (AX047)   (AX048)   NORMAL    (AX046)
+ -DELETE XYTVAR   M:245 dset:   1 I:      1      4  J:    1    3  K: -999 -999  L:      1      2
+ getgrid EX#1     C:  7 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
     GRID EGRID
  name       axis              # pts   start                end                 subset
  XLON      LONGITUDE           40mr   141E                 180E                full
@@ -44290,17 +45028,17 @@ show grid xytvar
  
 list xytvar[i=1:7:2,j=2:6:2,l=3:5:2]
  dealloc  dynamic grid EGRID           XLON      YLAT      NORMAL    TTIME
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G014)          (AX048)   (AX047)   NORMAL    (AX045)
- dealloc  dynamic grid (G014)          (AX048)   (AX047)   NORMAL    (AX045)
- allocate dynamic grid (G014)          (AX048)   (AX047)   NORMAL    (AX045)
- eval    EX#1     C:  4 dset:   1 I:    1    4  J:    1    3  K: -999 -999  L:    1    2
- allocate dynamic grid (G014)          (AX048)   (AX047)   NORMAL    (AX045)
- strip regrid on X: XYTVAR --> (G014)           @XACT
- rdstride XYTVAR   C:  7 dset:   1 I:    1    7  J:    2    6  K: -999 -999  L:    3    5
- nulrgd  XYTVAR   M:152 dset:   1 I:    1    4  J:    1    3  K: -999 -999  L:    1    2
- -DELETE XYTVAR   M:153 dset:   1 I:    1    7  J:    2    6  K: -999 -999  L:    3    5
- dealloc  dynamic grid (G014)          (AX048)   (AX047)   NORMAL    (AX045)
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G004)          (AX048)   (AX047)   NORMAL    (AX045)
+ dealloc  dynamic grid (G004)          (AX048)   (AX047)   NORMAL    (AX045)
+ allocate dynamic grid (G004)          (AX048)   (AX047)   NORMAL    (AX045)
+ eval    EX#1     C:  4 dset:   1 I:      1      4  J:    1    3  K: -999 -999  L:      1      2
+ allocate dynamic grid (G004)          (AX048)   (AX047)   NORMAL    (AX045)
+ strip regrid on X: XYTVAR --> (G004)           @XACT
+ rdstride XYTVAR   C:  7 dset:   1 I:      1      7  J:    2    6  K: -999 -999  L:      3      5
+ nulrgd  XYTVAR   M:244 dset:   1 I:      1      4  J:    1    3  K: -999 -999  L:      1      2
+ -DELETE XYTVAR   M:245 dset:   1 I:      1      7  J:    2    6  K: -999 -999  L:      3      5
+ dealloc  dynamic grid (G004)          (AX048)   (AX047)   NORMAL    (AX045)
              VARIABLE : L*1000 + J*10 + I
                         regrid: 2 deg on X, 2 deg on Y, 2 day on T
              FILENAME : bn_strides.cdf
@@ -44316,14 +45054,14 @@ list xytvar[i=1:7:2,j=2:6:2,l=3:5:2]
  4N   / 2:  5041.00  5043.00  5045.00  5047.00
  2N   / 1:  5021.00  5023.00  5025.00  5027.00
 canc data/all
- dealloc  dynamic grid (G014)          (AX048)   (AX047)   NORMAL    (AX045)
- -DELETE XYTVAR   M:152 dset:   1 I:    1    4  J:    1    3  K: -999 -999  L:    1    2
+ dealloc  dynamic grid (G004)          (AX048)   (AX047)   NORMAL    (AX045)
+ -DELETE XYTVAR   M:244 dset:   1 I:      1      4  J:    1    3  K: -999 -999  L:      1      2
  canceling dset ./bn_strides.cdf
  
 ! map into Z instead of T
 use/order=zxy bn_strides
 show grid xytvar
- getgrid EX#1     C:  7 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  7 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GPC5            TTIME     XLON      YLAT      NORMAL
     GRID GPC5
  name       axis              # pts   start                end                 subset
@@ -44334,17 +45072,17 @@ show grid xytvar
  
 list xytvar[i=1:7:2,j=2:6:2,k=3:5:2]
  dealloc  dynamic grid GPC5            TTIME     XLON      YLAT      NORMAL
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G014)          (AX047)   (AX048)   (AX046)   NORMAL
- dealloc  dynamic grid (G014)          (AX047)   (AX048)   (AX046)   NORMAL
- allocate dynamic grid (G014)          (AX047)   (AX048)   (AX046)   NORMAL
- eval    EX#1     C:  4 dset:   1 I:    1    4  J:    1    3  K:    1    2  L:    1    2
- allocate dynamic grid (G014)          (AX047)   (AX048)   (AX046)   NORMAL
- strip regrid on X: XYTVAR --> (G014)           @XACT
- rdstride XYTVAR   C:  7 dset:   1 I:    1    7  J:    2    6  K:    3    5  L: -999 -999
- nulrgd  XYTVAR   M:153 dset:   1 I:    1    4  J:    1    3  K:    1    2  L: -999 -999
- -DELETE XYTVAR   M:152 dset:   1 I:    1    7  J:    2    6  K:    3    5  L: -999 -999
- dealloc  dynamic grid (G014)          (AX047)   (AX048)   (AX046)   NORMAL
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G004)          (AX047)   (AX048)   (AX046)   NORMAL
+ dealloc  dynamic grid (G004)          (AX047)   (AX048)   (AX046)   NORMAL
+ allocate dynamic grid (G004)          (AX047)   (AX048)   (AX046)   NORMAL
+ eval    EX#1     C:  4 dset:   1 I:      1      4  J:    1    3  K:    1    2  L:      1      2
+ allocate dynamic grid (G004)          (AX047)   (AX048)   (AX046)   NORMAL
+ strip regrid on X: XYTVAR --> (G004)           @XACT
+ rdstride XYTVAR   C:  7 dset:   1 I:      1      7  J:    2    6  K:    3    5  L:   -999   -999
+ nulrgd  XYTVAR   M:245 dset:   1 I:      1      4  J:    1    3  K:    1    2  L:   -999   -999
+ -DELETE XYTVAR   M:244 dset:   1 I:      1      7  J:    2    6  K:    3    5  L:   -999   -999
+ dealloc  dynamic grid (G004)          (AX047)   (AX048)   (AX046)   NORMAL
              VARIABLE : L*1000 + J*10 + I
                         regrid: 2 day on X, 2 deg on Y, 2 deg on Z
              FILENAME : bn_strides.cdf
@@ -44360,8 +45098,8 @@ list xytvar[i=1:7:2,j=2:6:2,k=3:5:2]
  144   / 2:  1054.00  3054.00  5054.00  7054.00
  146   / 3:  1056.00  3056.00  5056.00  7056.00
 canc data/all
- dealloc  dynamic grid (G014)          (AX047)   (AX048)   (AX046)   NORMAL
- -DELETE XYTVAR   M:153 dset:   1 I:    1    4  J:    1    3  K:    1    2  L: -999 -999
+ dealloc  dynamic grid (G004)          (AX047)   (AX048)   (AX046)   NORMAL
+ -DELETE XYTVAR   M:245 dset:   1 I:      1      4  J:    1    3  K:    1    2  L:   -999   -999
  canceling dset ./bn_strides.cdf
  
  
@@ -44370,17 +45108,17 @@ cancel region; set region/l=1
 ! reference output
 use/order=yx bn_strides
 list midvar[i=1:5:4, j=2:5:3, k=3:5:2]
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G014)          (AX048)   (AX047)   (AX045)   TAX1_6
- dealloc  dynamic grid (G014)          (AX048)   (AX047)   (AX045)   TAX1_6
- allocate dynamic grid (G014)          (AX048)   (AX047)   (AX045)   TAX1_6
- eval    EX#1     C:  4 dset:   1 I:    1    2  J:    1    2  K:    1    2  L:    1    1
- allocate dynamic grid (G014)          (AX048)   (AX047)   (AX045)   TAX1_6
- strip regrid on X: MIDVAR --> (G014)           @XACT
- rdstride MIDVAR   C:  7 dset:   1 I:    1    5  J:    2    5  K:    3    5  L:    1    1
- nulrgd  MIDVAR   M:152 dset:   1 I:    1    2  J:    1    2  K:    1    2  L:    1    1
- -DELETE MIDVAR   M:153 dset:   1 I:    1    5  J:    2    5  K:    3    5  L:    1    1
- dealloc  dynamic grid (G014)          (AX048)   (AX047)   (AX045)   TAX1_6
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G004)          (AX048)   (AX047)   (AX045)   TAX1_6
+ dealloc  dynamic grid (G004)          (AX048)   (AX047)   (AX045)   TAX1_6
+ allocate dynamic grid (G004)          (AX048)   (AX047)   (AX045)   TAX1_6
+ eval    EX#1     C:  4 dset:   1 I:      1      2  J:    1    2  K:    1    2  L:      1      1
+ allocate dynamic grid (G004)          (AX048)   (AX047)   (AX045)   TAX1_6
+ strip regrid on X: MIDVAR --> (G004)           @XACT
+ rdstride MIDVAR   C:  7 dset:   1 I:      1      5  J:    2    5  K:    3    5  L:      1      1
+ nulrgd  MIDVAR   M:244 dset:   1 I:      1      2  J:    1    2  K:    1    2  L:      1      1
+ -DELETE MIDVAR   M:245 dset:   1 I:      1      5  J:    2    5  K:    3    5  L:      1      1
+ dealloc  dynamic grid (G004)          (AX048)   (AX047)   (AX045)   TAX1_6
              VARIABLE : VAR
                         regrid: 4 delta on X, 3 delta on Y, 2 delta on Z
              FILENAME : bn_strides.cdf
@@ -44395,26 +45133,26 @@ list midvar[i=1:5:4, j=2:5:3, k=3:5:2]
  2   / 1:  1512.00  1552.00
  5   / 2:  1515.00  1555.00
 canc data/all
- dealloc  dynamic grid (G014)          (AX048)   (AX047)   (AX045)   TAX1_6
- -DELETE MIDVAR   M:152 dset:   1 I:    1    2  J:    1    2  K:    1    2  L:    1    1
+ dealloc  dynamic grid (G004)          (AX048)   (AX047)   (AX045)   TAX1_6
+ -DELETE MIDVAR   M:244 dset:   1 I:      1      2  J:    1    2  K:    1    2  L:      1      1
  canceling dset ./bn_strides.cdf
  
 use/order=-yx bn_strides
 list midvar[i=1:5:4, j=2:5:3, k=3:5:2]
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G014)          (AX047)   (AX048)   (AX046)   TAX1_6
- dealloc  dynamic grid (G014)          (AX047)   (AX048)   (AX046)   TAX1_6
- allocate dynamic grid (G014)          (AX047)   (AX048)   (AX046)   TAX1_6
- eval    EX#1     C:  4 dset:   1 I:    1    2  J:    1    2  K:    1    2  L:    1    1
- allocate dynamic grid (G014)          (AX047)   (AX048)   (AX046)   TAX1_6
- strip regrid on X: MIDVAR --> (G014)           @XACT
- strip reversing MIDVAR on Y axis:     2     5 dset:   1
- rdstride MIDVAR   C:  8 dset:   1 I:    1    5  J:    5    8  K:    3    5  L:    1    1
- doing reversing MIDVAR on Y axis:     2     5 dset:   1
- -DELETE MIDVAR   M:152 dset:   1 I:    1    5  J:    2    5  K:    3    5  L:    1    1
- nulrgd  MIDVAR   M:152 dset:   1 I:    1    2  J:    1    2  K:    1    2  L:    1    1
- -DELETE MIDVAR   M:153 dset:   1 I:    1    5  J:    2    5  K:    3    5  L:    1    1
- dealloc  dynamic grid (G014)          (AX047)   (AX048)   (AX046)   TAX1_6
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G004)          (AX047)   (AX048)   (AX046)   TAX1_6
+ dealloc  dynamic grid (G004)          (AX047)   (AX048)   (AX046)   TAX1_6
+ allocate dynamic grid (G004)          (AX047)   (AX048)   (AX046)   TAX1_6
+ eval    EX#1     C:  4 dset:   1 I:      1      2  J:    1    2  K:    1    2  L:      1      1
+ allocate dynamic grid (G004)          (AX047)   (AX048)   (AX046)   TAX1_6
+ strip regrid on X: MIDVAR --> (G004)           @XACT
+ strip reversing MIDVAR on Y axis:        2        5 dset:   1
+ rdstride MIDVAR   C:  8 dset:   1 I:      1      5  J:    5    8  K:    3    5  L:      1      1
+ doing reversing MIDVAR on Y axis:        2        5 dset:   1
+ -DELETE MIDVAR   M:244 dset:   1 I:      1      5  J:    2    5  K:    3    5  L:      1      1
+ nulrgd  MIDVAR   M:244 dset:   1 I:      1      2  J:    1    2  K:    1    2  L:      1      1
+ -DELETE MIDVAR   M:245 dset:   1 I:      1      5  J:    2    5  K:    3    5  L:      1      1
+ dealloc  dynamic grid (G004)          (AX047)   (AX048)   (AX046)   TAX1_6
              VARIABLE : VAR
                         regrid: 4 delta on X, 3 delta on Y, 2 delta on Z
              FILENAME : bn_strides.cdf
@@ -44429,24 +45167,24 @@ list midvar[i=1:5:4, j=2:5:3, k=3:5:2]
  2   / 1:  1518.00  1558.00
  5   / 2:  1515.00  1555.00
 canc data/all
- dealloc  dynamic grid (G014)          (AX047)   (AX048)   (AX046)   TAX1_6
- -DELETE MIDVAR   M:152 dset:   1 I:    1    2  J:    1    2  K:    1    2  L:    1    1
+ dealloc  dynamic grid (G004)          (AX047)   (AX048)   (AX046)   TAX1_6
+ -DELETE MIDVAR   M:244 dset:   1 I:      1      2  J:    1    2  K:    1    2  L:      1      1
  canceling dset ./bn_strides.cdf
  
 ! reference output
 use/order=tyx bn_strides
 list midvar[i=1:5:4, j=2:5:3, k=3:5:2]
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G014)          (AX048)   (AX047)   (AX045)   ZAX1_7
- dealloc  dynamic grid (G014)          (AX048)   (AX047)   (AX045)   ZAX1_7
- allocate dynamic grid (G014)          (AX048)   (AX047)   (AX045)   ZAX1_7
- eval    EX#1     C:  4 dset:   1 I:    1    2  J:    1    2  K:    1    2  L:    1    1
- allocate dynamic grid (G014)          (AX048)   (AX047)   (AX045)   ZAX1_7
- strip regrid on X: MIDVAR --> (G014)           @XACT
- rdstride MIDVAR   C:  7 dset:   1 I:    1    5  J:    2    5  K:    3    5  L:    1    1
- nulrgd  MIDVAR   M:153 dset:   1 I:    1    2  J:    1    2  K:    1    2  L:    1    1
- -DELETE MIDVAR   M:152 dset:   1 I:    1    5  J:    2    5  K:    3    5  L:    1    1
- dealloc  dynamic grid (G014)          (AX048)   (AX047)   (AX045)   ZAX1_7
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G004)          (AX048)   (AX047)   (AX045)   ZAX1_7
+ dealloc  dynamic grid (G004)          (AX048)   (AX047)   (AX045)   ZAX1_7
+ allocate dynamic grid (G004)          (AX048)   (AX047)   (AX045)   ZAX1_7
+ eval    EX#1     C:  4 dset:   1 I:      1      2  J:    1    2  K:    1    2  L:      1      1
+ allocate dynamic grid (G004)          (AX048)   (AX047)   (AX045)   ZAX1_7
+ strip regrid on X: MIDVAR --> (G004)           @XACT
+ rdstride MIDVAR   C:  7 dset:   1 I:      1      5  J:    2    5  K:    3    5  L:      1      1
+ nulrgd  MIDVAR   M:245 dset:   1 I:      1      2  J:    1    2  K:    1    2  L:      1      1
+ -DELETE MIDVAR   M:244 dset:   1 I:      1      5  J:    2    5  K:    3    5  L:      1      1
+ dealloc  dynamic grid (G004)          (AX048)   (AX047)   (AX045)   ZAX1_7
              VARIABLE : VAR
                         regrid: 4 delta on X, 3 delta on Y, 2 delta on Z
              FILENAME : bn_strides.cdf
@@ -44461,27 +45199,27 @@ list midvar[i=1:5:4, j=2:5:3, k=3:5:2]
  2   / 1:  1125.00  5125.00
  5   / 2:  1155.00  5155.00
 canc data/all
- dealloc  dynamic grid (G014)          (AX048)   (AX047)   (AX045)   ZAX1_7
- -DELETE MIDVAR   M:153 dset:   1 I:    1    2  J:    1    2  K:    1    2  L:    1    1
+ dealloc  dynamic grid (G004)          (AX048)   (AX047)   (AX045)   ZAX1_7
+ -DELETE MIDVAR   M:245 dset:   1 I:      1      2  J:    1    2  K:    1    2  L:      1      1
  canceling dset ./bn_strides.cdf
  
 ! note the reversal on axes 1,2 and 3 (X,Y,Z in memory -- NOT T)
 use/order=-t-y-x bn_strides
 list midvar[i=1:5:4, j=2:5:3, k=3:5:2]
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G014)          (AX047)   (AX048)   (AX046)   ZAX1_7
- dealloc  dynamic grid (G014)          (AX047)   (AX048)   (AX046)   ZAX1_7
- allocate dynamic grid (G014)          (AX047)   (AX048)   (AX046)   ZAX1_7
- eval    EX#1     C:  4 dset:   1 I:    1    2  J:    1    2  K:    1    2  L:    1    1
- allocate dynamic grid (G014)          (AX047)   (AX048)   (AX046)   ZAX1_7
- strip regrid on X: MIDVAR --> (G014)           @XACT
- strip reversing MIDVAR on X axis:     1     5 dset:   1
- rdstride MIDVAR   C:  8 dset:   1 I:    2    6  J:    4    7  K:    3    5  L:    7    7
- doing reversing MIDVAR on X axis:     1     5 dset:   1
- -DELETE MIDVAR   M:153 dset:   1 I:    1    5  J:    2    5  K:    3    5  L:    1    1
- nulrgd  MIDVAR   M:153 dset:   1 I:    1    2  J:    1    2  K:    1    2  L:    1    1
- -DELETE MIDVAR   M:152 dset:   1 I:    1    5  J:    2    5  K:    3    5  L:    1    1
- dealloc  dynamic grid (G014)          (AX047)   (AX048)   (AX046)   ZAX1_7
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G004)          (AX047)   (AX048)   (AX046)   ZAX1_7
+ dealloc  dynamic grid (G004)          (AX047)   (AX048)   (AX046)   ZAX1_7
+ allocate dynamic grid (G004)          (AX047)   (AX048)   (AX046)   ZAX1_7
+ eval    EX#1     C:  4 dset:   1 I:      1      2  J:    1    2  K:    1    2  L:      1      1
+ allocate dynamic grid (G004)          (AX047)   (AX048)   (AX046)   ZAX1_7
+ strip regrid on X: MIDVAR --> (G004)           @XACT
+ strip reversing MIDVAR on X axis:        1        5 dset:   1
+ rdstride MIDVAR   C:  8 dset:   1 I:      2      6  J:    4    7  K:    3    5  L:      7      7
+ doing reversing MIDVAR on X axis:        1        5 dset:   1
+ -DELETE MIDVAR   M:245 dset:   1 I:      1      5  J:    2    5  K:    3    5  L:      1      1
+ nulrgd  MIDVAR   M:245 dset:   1 I:      1      2  J:    1    2  K:    1    2  L:      1      1
+ -DELETE MIDVAR   M:244 dset:   1 I:      1      5  J:    2    5  K:    3    5  L:      1      1
+ dealloc  dynamic grid (G004)          (AX047)   (AX048)   (AX046)   ZAX1_7
              VARIABLE : VAR
                         regrid: 4 delta on X, 3 delta on Y, 2 delta on Z
              FILENAME : bn_strides.cdf
@@ -44496,24 +45234,24 @@ list midvar[i=1:5:4, j=2:5:3, k=3:5:2]
  2   / 1:  6775.00  2775.00
  5   / 2:  6745.00  2745.00
 canc data/all
- dealloc  dynamic grid (G014)          (AX047)   (AX048)   (AX046)   ZAX1_7
- -DELETE MIDVAR   M:153 dset:   1 I:    1    2  J:    1    2  K:    1    2  L:    1    1
+ dealloc  dynamic grid (G004)          (AX047)   (AX048)   (AX046)   ZAX1_7
+ -DELETE MIDVAR   M:245 dset:   1 I:      1      2  J:    1    2  K:    1    2  L:      1      1
  canceling dset ./bn_strides.cdf
  
 ! reference output
 use/order=txy bn_strides
 list midvar[i=1:5:4, j=2:5:3, k=3:5:2]
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G014)          (AX048)   (AX047)   (AX045)   ZAX1_7
- dealloc  dynamic grid (G014)          (AX048)   (AX047)   (AX045)   ZAX1_7
- allocate dynamic grid (G014)          (AX048)   (AX047)   (AX045)   ZAX1_7
- eval    EX#1     C:  4 dset:   1 I:    1    2  J:    1    2  K:    1    2  L:    1    1
- allocate dynamic grid (G014)          (AX048)   (AX047)   (AX045)   ZAX1_7
- strip regrid on X: MIDVAR --> (G014)           @XACT
- rdstride MIDVAR   C:  7 dset:   1 I:    1    5  J:    2    5  K:    3    5  L:    1    1
- nulrgd  MIDVAR   M:152 dset:   1 I:    1    2  J:    1    2  K:    1    2  L:    1    1
- -DELETE MIDVAR   M:153 dset:   1 I:    1    5  J:    2    5  K:    3    5  L:    1    1
- dealloc  dynamic grid (G014)          (AX048)   (AX047)   (AX045)   ZAX1_7
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G004)          (AX048)   (AX047)   (AX045)   ZAX1_7
+ dealloc  dynamic grid (G004)          (AX048)   (AX047)   (AX045)   ZAX1_7
+ allocate dynamic grid (G004)          (AX048)   (AX047)   (AX045)   ZAX1_7
+ eval    EX#1     C:  4 dset:   1 I:      1      2  J:    1    2  K:    1    2  L:      1      1
+ allocate dynamic grid (G004)          (AX048)   (AX047)   (AX045)   ZAX1_7
+ strip regrid on X: MIDVAR --> (G004)           @XACT
+ rdstride MIDVAR   C:  7 dset:   1 I:      1      5  J:    2    5  K:    3    5  L:      1      1
+ nulrgd  MIDVAR   M:244 dset:   1 I:      1      2  J:    1    2  K:    1    2  L:      1      1
+ -DELETE MIDVAR   M:245 dset:   1 I:      1      5  J:    2    5  K:    3    5  L:      1      1
+ dealloc  dynamic grid (G004)          (AX048)   (AX047)   (AX045)   ZAX1_7
              VARIABLE : VAR
                         regrid: 4 delta on X, 3 delta on Y, 2 delta on Z
              FILENAME : bn_strides.cdf
@@ -44528,26 +45266,26 @@ list midvar[i=1:5:4, j=2:5:3, k=3:5:2]
  2   / 1:  1152.00  5152.00
  5   / 2:  1155.00  5155.00
 canc data/all
- dealloc  dynamic grid (G014)          (AX048)   (AX047)   (AX045)   ZAX1_7
- -DELETE MIDVAR   M:152 dset:   1 I:    1    2  J:    1    2  K:    1    2  L:    1    1
+ dealloc  dynamic grid (G004)          (AX048)   (AX047)   (AX045)   ZAX1_7
+ -DELETE MIDVAR   M:244 dset:   1 I:      1      2  J:    1    2  K:    1    2  L:      1      1
  canceling dset ./bn_strides.cdf
  
 use/order=-t-x-y bn_strides
 list midvar[i=1:5:4, j=2:5:3, k=3:5:2]
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G014)          (AX047)   (AX048)   (AX046)   ZAX1_7
- dealloc  dynamic grid (G014)          (AX047)   (AX048)   (AX046)   ZAX1_7
- allocate dynamic grid (G014)          (AX047)   (AX048)   (AX046)   ZAX1_7
- eval    EX#1     C:  4 dset:   1 I:    1    2  J:    1    2  K:    1    2  L:    1    1
- allocate dynamic grid (G014)          (AX047)   (AX048)   (AX046)   ZAX1_7
- strip regrid on X: MIDVAR --> (G014)           @XACT
- strip reversing MIDVAR on Y axis:     2     5 dset:   1
- rdstride MIDVAR   C:  8 dset:   1 I:    2    6  J:    5    8  K:    3    5  L:    7    7
- doing reversing MIDVAR on Y axis:     2     5 dset:   1
- -DELETE MIDVAR   M:152 dset:   1 I:    1    5  J:    2    5  K:    3    5  L:    1    1
- nulrgd  MIDVAR   M:152 dset:   1 I:    1    2  J:    1    2  K:    1    2  L:    1    1
- -DELETE MIDVAR   M:153 dset:   1 I:    1    5  J:    2    5  K:    3    5  L:    1    1
- dealloc  dynamic grid (G014)          (AX047)   (AX048)   (AX046)   ZAX1_7
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G004)          (AX047)   (AX048)   (AX046)   ZAX1_7
+ dealloc  dynamic grid (G004)          (AX047)   (AX048)   (AX046)   ZAX1_7
+ allocate dynamic grid (G004)          (AX047)   (AX048)   (AX046)   ZAX1_7
+ eval    EX#1     C:  4 dset:   1 I:      1      2  J:    1    2  K:    1    2  L:      1      1
+ allocate dynamic grid (G004)          (AX047)   (AX048)   (AX046)   ZAX1_7
+ strip regrid on X: MIDVAR --> (G004)           @XACT
+ strip reversing MIDVAR on Y axis:        2        5 dset:   1
+ rdstride MIDVAR   C:  8 dset:   1 I:      2      6  J:    5    8  K:    3    5  L:      7      7
+ doing reversing MIDVAR on Y axis:        2        5 dset:   1
+ -DELETE MIDVAR   M:244 dset:   1 I:      1      5  J:    2    5  K:    3    5  L:      1      1
+ nulrgd  MIDVAR   M:244 dset:   1 I:      1      2  J:    1    2  K:    1    2  L:      1      1
+ -DELETE MIDVAR   M:245 dset:   1 I:      1      5  J:    2    5  K:    3    5  L:      1      1
+ dealloc  dynamic grid (G004)          (AX047)   (AX048)   (AX046)   ZAX1_7
              VARIABLE : VAR
                         regrid: 4 delta on X, 3 delta on Y, 2 delta on Z
              FILENAME : bn_strides.cdf
@@ -44562,13 +45300,14 @@ list midvar[i=1:5:4, j=2:5:3, k=3:5:2]
  2   / 1:  6758.00  2758.00
  5   / 2:  6755.00  2755.00
 canc data/all
- dealloc  dynamic grid (G014)          (AX047)   (AX048)   (AX046)   ZAX1_7
- -DELETE MIDVAR   M:152 dset:   1 I:    1    2  J:    1    2  K:    1    2  L:    1    1
+ dealloc  dynamic grid (G004)          (AX047)   (AX048)   (AX046)   ZAX1_7
+ -DELETE MIDVAR   M:244 dset:   1 I:      1      2  J:    1    2  K:    1    2  L:      1      1
  canceling dset ./bn_strides.cdf
  
 ! DEFINE AXIS can get the axis too long (bug 673)
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err553_axis_too_long.jnl
 ! From Ned Cokelet
 ! First definition of axis had last grid cell completely
@@ -44599,6 +45338,7 @@ LIST X[GX=x_ax], XBOXLO[GX=x_ax], XBOXHI[GX=x_ax]
 ! non-centered shade key
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err553_lev_c.jnl
  ! under linux only, this has a non-centered shade key
  
@@ -44628,6 +45368,7 @@ ppl list shakey
 ! At lon = 0, we used to have an E; remove this.
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err553_lon_ax_0_label.jnl
 ! Label longitude axes with the degree sign only
 ! at x=0 (previously had an E).
@@ -44641,6 +45382,7 @@ shade/x=-20:20/y=-40:40/L=1 sst
 ! Errors listing string and numeric data together
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err553_list_string_numeric.jnl
 ! err553_list_string_numeric.jnl
 ! 2/2004 ACM
@@ -44736,6 +45478,7 @@ list/i=3:4/l=1:2 b, c, v
 ! Bug in setting axis to depth when reading from nc file
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err553_set_axis_depth.jnl
  ! NOAA/PMEL TMAP
  ! FERRET v5.53
@@ -44755,6 +45498,7 @@ q
 ! Set symbols showing levels settings when poly command is called
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err553_symbol_lev.jnl
 ! err553_symbol_lev.jnl
 ! 2/2004 ACM
@@ -44812,6 +45556,7 @@ can sym lev*
 ! Fixes for modulo striding bugs
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err553_stride_modulo.jnl
 ! err553_stride_modulo_neg.jnl
 ! *acm* 3/31/2004
@@ -44914,6 +45659,7 @@ can mem; list/y=0 var[i=68]
 ! Fixes bug creating format for listing a very long line
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err553_list_width.jnl
 ! err553_list_width.jnl
 ! *acm* 4/1/2004
@@ -44943,8 +45689,10 @@ can mode ignore
  
 ! ******** V5.7 Additions below ***********
  
-GO bn_reset
+GO bn_reset bn_bounds.jnl
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_bounds.jnl
 GO bn_bounds.jnl
  
 ! bn_bounds.jnl
@@ -45308,8 +46056,10 @@ sh axis/t tax
        4>  10                    1          9.5
        5>  11                    1          10.5
  
-GO bn_reset
+GO bn_reset bn_all_leap.jnl
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_all_leap.jnl
 GO bn_all_leap.jnl
 ! bn_all_leap.jnl
 ! ACM 6/2004
@@ -45361,8 +46111,10 @@ def axis/t/cal=nogood/t=1-jan-2000:1-jan-2010:1/units=months tax
  
 can mode ignore
  
-GO bn_reset
+GO bn_reset bn_reset_attributes.jnl
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_reset_attributes.jnl
 GO bn_reset_attributes.jnl
 ! bn_reset_attributes.jnl
 ! acm 6/14/2004
@@ -45709,8 +46461,10 @@ list x[gx=xax]
  120E   / 7:  120.000
  
  
-GO bn_reset
+GO bn_reset bn570_bug_fixes.jnl
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn570_bug_fixes.jnl
 GO bn570_bug_fixes.jnl
 ! bn554_bug_fixes.jnl
 ! test various fixes that went into version 5.70
@@ -45720,6 +46474,7 @@ GO bn570_bug_fixes.jnl
 ! Test use of automatic levels in SHADE
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err560_shade_levels.jnl
 ! err560_shade_levels.jnl  *acm* 4/28/04
 ! Missing levels on SHADE auto-level
@@ -45734,6 +46489,7 @@ set view lower; shade/i=1:10/j=1:10 -1*i*j*0.0034
 ! Test use of reading irregular-time mc datasets
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err560_mc_irreg_t.jnl
 ! err560_mc_irreg_t.jnl
 ! 4/2004  ACM
@@ -45770,6 +46526,7 @@ list/x=180/y=0/t=2000 sst
 ! Crashed on SHADE of variable with NOLEAP axis, and subregion.
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err560_shade_noleap.jnl
 ! err560_shade_noleap.jnl
 ! 4/30/04 ACM
@@ -45787,6 +46544,7 @@ shade/t=4-jan-2000:10-nov-2000 a
 ! -111, was treated as missing rather than a valid index.
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err560_regridding_gaps.jnl
 ! err560_regrid
 !
@@ -45912,6 +46670,7 @@ sp rm xlongshift.nc
 ! bug in drawing the time axis.
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err560_leap_years.jnl
 ! err560_leap_years.jnl
 ! Fixes for bug 882, inconsistency in computing whether
@@ -45930,6 +46689,7 @@ plot v[gt=tax at asn]
 ! Century portion of years were not properly tested in numdm1.F
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err560_century
 ! err560_century.jnl.jnl  *acm* 4/28/04
 ! Century portion of years were not properly tested in numdm1.F
@@ -45951,8 +46711,10 @@ plot t[gt=tt]
  
 ! ******** V5.8 Additions below ***********
  
-GO bn_reset
+GO bn_reset bn_modstats.jnl
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_modstats.jnl
 GO bn_modstats.jnl
 ! bn_modstats.jnl
 ! acm 8/25/04
@@ -46101,8 +46863,10 @@ list var[gt=month_reg at modngd]
  15-NOV      / 11:  10.0000
  16-DEC      / 12:  10.0000
  
-GO bn_reset
+GO bn_reset bn_mc_vary_scale.jnl
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_mc_vary_scale.jnl
 GO bn_mc_vary_scale.jnl
 ! bn_mc_vary_scale.jnl
 !   Allow stepfiles to have different internal scale and offset.
@@ -46182,8 +46946,10 @@ list/quiet/nohead `tt,return=nc_scale`, `tt,return=nc_offset`
 I / *:     2.00000 -0.0200000
  
  
-GO bn_reset
+GO bn_reset bn_plot_nokey.jnl
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_plot_nokey.jnl
 GO bn_plot_nokey.jnl
 ! bn_plot_nokey.jnl (bug 1089)
 ! 22-nov-2004
@@ -46204,8 +46970,10 @@ PLOT/X=180/Y=0/K=1 temp
 PLOT/OVER/NOKEY/X=180/Y=-1/K=1 temp
 PLOT/OVER/NOKEY/X=180/Y=1/K=1 temp
  
-GO bn_reset
+GO bn_reset bn580_bug_fixes.jnl
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn580_bug_fixes.jnl
 GO bn580_bug_fixes.jnl
 ! bn580_bug_fixes.jnl
 ! test various fixes that went into version 5.80
@@ -46215,6 +46983,7 @@ GO bn580_bug_fixes.jnl
 ! POLYGON (or SHADE) plots with a single level had no fill color
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err570_singlecolor.jnl
 ! err570_singlecolor.jnl
 ! 7/6/2004
@@ -46258,6 +47027,7 @@ poly/lev=2 {0,1,2},{1,2,1},a ! OR lev=1
 ! colorbar labels too close to the bar, when user sets bar location
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err570_shakeylab.jnl
  
 ! err570_shakeylab.jnl
@@ -46319,6 +47089,7 @@ ppl dfltfnt sr
 ! Null input gives wierd error message
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err570_null_symbol.jnl
 ! err570_null_symbol.jnl
 ! null input -- > wierd error message see bug 919
@@ -46336,6 +47107,7 @@ can mode ignore
 ! Replace text expression with its value: string variable was too short
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err570_parse_labelcommand.jnl
 ! err570_parse_labelcommand.jnl
 ! fix for bug 956.
@@ -46366,6 +47138,7 @@ label/nouser 3.6,`($ppl$ylen)+0.2`,0,0,0.08, `tsulab`
 ! result of COMPRESSK_BY function does not vary in X
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err570_compressk_by.jnl
 ! err570_compress_by.jnl
 ! fix for bug 925
@@ -46459,6 +47232,7 @@ list tlev[k=1]
 ! Command parsing on PPL side had string lengths too short
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err570_long_label.jnl
 ! err570_long_label.jnl
 ! Fix for bug 956
@@ -46509,6 +47283,7 @@ set mode/last verify
 ! Allow PPL POLYGON after a POLY/SET (previously was PPL FILLPOL)
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err570_ppl_poly.jnl
 ! err570_ppl_poly.jnl
  
@@ -46531,6 +47306,7 @@ ppl polygon
 ! Fix formatting of coordinates on LIST/FORMAT=tab or /FORMAT=comma
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err570_list_tab_coords.jnl
 ! err570_list_tab_coords.jnl
 ! acm 9/7/04
@@ -46574,6 +47350,7 @@ list/form=comma aa
 ! Fix bug in HASH_CX for large numbers of varibles
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err570_many_variables.jnl
 ! err570_many_variables.jnl
 ! 27-sep-2004  ACM
@@ -46837,6 +47614,7 @@ list str4a
 ! Fix bug in @CNNN within multi-line labels
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err570_cnnn_multiline.jnl
 ! Changing pen with @Cnnn did not work in
 ! multi-line labels
@@ -46851,6 +47629,7 @@ label 0.1, 0.3, 0, 0, 0.2, "greek<NL>@SGt at SR_y<NL>works"
 ! For a very fine grid, coordinates not listed with enough precision.
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err570_fine_grid_list.jnl
 ! err570_fine_grid_list.jnl
 ! ACM 10/2004
@@ -46955,6 +47734,7 @@ cancel list/precision
 ! Plot using /HLIM
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err570_hlimit_onepoint
 !err570_hlimit_onepoint.jnl
 ! 15-Oct-2004  ACM
@@ -46977,6 +47757,7 @@ set mode/last ignore_error
 ! caused a segfault.
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err570_index111.jnl
 ! err570_index111.jnl
 ! 3-nov-04 ACM
@@ -47023,6 +47804,7 @@ LIST/T=1-jan-1997:1-jan-1998 s2[GT=s1 at NRST]
 ! crashed on trying to format value for the output buffer.
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err570_sh_dat_nan.jnl
 ! err570_sh_dat_nan.jnl
 ! 4-Nov-2004 acm
@@ -47048,6 +47830,7 @@ show data/full
 ! Time reqest out of range on NOLEAP axes.
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err570_time_range.jnl
 ! err570_time_range.jnl  bug1080
 ! time request out of range with calendar axis and RETURN=
@@ -47072,6 +47855,7 @@ set var/units="`a[gx=var1_grid_,gy=var1_grid_,d=2,t="16-Jan-1861 12:00:00"],retu
 ! a non-standard calendar axis
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err570_poly_over_julian.jnl
 ! err570_poly_over_julian.jnl
 ! ACM 11/12/04
@@ -47094,6 +47878,7 @@ poly/ov/pal=green {400,900,900,400}, {25.5,25.5,26.5,25.5}
 ! string substitution returns the user-given error message
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err570_coaching hello
 ! err570_coaching.jnl
 ! ACM 11/12/04  Bug 1077
@@ -47138,6 +47923,7 @@ set mode/last ignore_errors
 ! name of the script
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err570_dollar_zero.jnl
 ! err570_dollar_zero.jnl
 ! (bug 485) Got a command syntax error;
@@ -47153,6 +47939,7 @@ SET MODE/LAST ignore_error
 ! Fix for bug 596; list/i=0:300:0 var crashed Ferret
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err570_illegal_stride.jnl
 ! err570_illegal_stride.jnl
 ! (bug 596) list/i=0:300:0 var crashed Ferret
@@ -47166,6 +47953,7 @@ SET MODE/LAST ignore_error
 ! Fix for bug 1085; /THICK without color specifier caused all lines to revert to black
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err570_thick_colors.jnl
 ! err570_thick_colors.jnl  bug1085
 ! /THICK without color specifier causes all lines to revert to black
@@ -47191,6 +47979,7 @@ PLOT/OVER/VS/LINE/THICK=1/I=1:314 i*cos(i/14), i*sin(i/14)
 ! starts with a digit.
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err570_digit_filename.jnl
 ! err570_digit_filename.jnl
 ! Bug 1102: under linux, var[d=filename] fails if filename
@@ -47256,13 +48045,14 @@ list a[i=1:4,d=10a.nc]
 ! Fix for bug 1098: DODS URL label was cut off
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err570_dods_url_label.jnl
 ! err570_dods_url_label.jnl
 !
 ! Bug 1098. Look for the label with the URL: it should include
 ! everything up to the last slash.
 ! acm 11/04
- 
+! acm* 3/17 check the URL with TEST_OPENDAP befor trying to open it.
  
 !! Change to another dataset, our server down...
 !!use  "http://www.ferret.noaa.gov/cgi-bin/nph-nc/data/bn_strides.cdf"
@@ -47292,11 +48082,14 @@ GO err570_dods_url_label.jnl
 !!plot/x=180/y=0/k=1 temp
 !!ppl list labels
  
+! If we cant open this, just bail on the test
+IF `test_opendap("http://ferret.pmel.noaa.gov/pmel/thredds/dodsC/data/PMEL/coads_climatology.nc") NE 0` THEN EXIT/SCRIPT
+ !-> IF 0 THEN EXIT/SCRIPT
  
-use "http://ferret.pmel.noaa.gov/thredds/dodsC/data/PMEL/coads_climatology.nc"
+use "http://ferret.pmel.noaa.gov/pmel/thredds/dodsC/data/PMEL/coads_climatology.nc"
 sh data
      currently SET data sets:
-    1> http://ferret.pmel.noaa.gov/thredds/dodsC/data/PMEL/coads_climatology.nc  (default)
+    1> http://ferret.pmel.noaa.gov/pmel/thredds/dodsC/data/PMEL/coads_climatology.nc  (default)
  name     title                             I         J         K         L
  SST      SEA SURFACE TEMPERATURE          1:180     1:90      ...       1:12
  AIRT     AIR TEMPERATURE                  1:180     1:90      ...       1:12
@@ -47313,11 +48106,11 @@ ppl list labels
  @ASDeg C                                                                       
 
           XPOS       YPOS     HGT   ROT   UNITS
- LAB 1  8.000E+00  7.200E+00 0.060    0  SYSTEM  @ASFERRET (beta/debug) Ver.7.1
+ LAB 1  8.000E+00  7.200E+00 0.060    0  SYSTEM  @ASFERRET (beta/debug) Ver.7.2
  LINE PT:    0.000E+00 0.000E+00  NO LINE     CENTER JUSTIFY LABEL
  LAB 2  8.000E+00  7.100E+00 0.060    0  SYSTEM  @ASNOAA/PMEL TMAP
  LINE PT:    0.000E+00 0.000E+00  NO LINE     CENTER JUSTIFY LABEL
- LAB 3  8.000E+00  7.000E+00 0.060    0  SYSTEM  @AS15-FEB-2017 11:28:07
+ LAB 3  8.000E+00  7.000E+00 0.060    0  SYSTEM  @AS12-JUL-2017 09:52:45
  LINE PT:    0.000E+00 0.000E+00  NO LINE     CENTER JUSTIFY LABEL
  LAB 4  0.000E+00  6.800E+00 0.120    0  SYSTEM  @ASLONGITUDE : 179E
  LINE PT:    0.000E+00 0.000E+00  NO LINE     LEFT   JUSTIFY LABEL
@@ -47327,13 +48120,14 @@ ppl list labels
  LINE PT:    0.000E+00 0.000E+00  NO LINE     RIGHT  JUSTIFY LABEL
  LAB 7  4.000E+00  6.330E+00 0.120    0  SYSTEM  @A
  LINE PT:    0.000E+00 0.000E+00  NO LINE     CENTER JUSTIFY LABEL
- LAB 8  8.000E+00  6.790E+00 0.064    0  SYSTEM  @ASOPeNDAP <NL>URL: http://ferret.pmel.noaa.gov/thredds/dodsC/data/PMEL/
+ LAB 8  8.000E+00  6.790E+00 0.058    0  SYSTEM  @ASOPeNDAP <NL>URL: http://ferret.pmel.noaa.gov/pmel/thredds/dodsC/data/PMEL/
  LINE PT:    0.000E+00 0.000E+00  NO LINE     RIGHT  JUSTIFY LABEL
  
  
 ! Fix for bug 906: auto-formatting of labels on color keys loses precision
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err570_keylabels.jnl
 ! err570_keylabels.jnl
 ! 11/2004
@@ -47349,6 +48143,7 @@ shade/lev=(370,382,0.5) a
 ! where polygon arguments have latitude or longitude units
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err570_poly_lonlat_axis.jnl
 ! err570_poly_lonlat_axis.jnl
 ! 12/14/04
@@ -47373,8 +48168,10 @@ POLYGON XT, YT, I[I=1:10]
 PLOT/VS XT, YT
  
 ! ******** V5.81 Additions below ***********
-GO bn_reset
+GO bn_reset bn_inf_levels.jnl
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_inf_levels.jnl
 GO bn_inf_levels.jnl
 ! Run FERRET/fer/ferretdods_gui
 ! test open upper and lower levels (-INF) (INF)
@@ -47467,8 +48264,10 @@ go polymark poly/key/title="polygons"/lev=(-inf)(4,26,1)(inf), lon, lat, xsequen
  
  
  
-GO bn_reset
+GO bn_reset bn_regulart.jnl
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_regulart.jnl
 GO bn_regulart.jnl
 ! bn_regulart.jnl
 ! 5/12/2005 ACM
@@ -47514,8 +48313,10 @@ list/l=1:6 t[gt=tcoads], tbox[gt=tcoads]
 17-JUN-1946 / 6:  90017.  30.44
  
  
-GO bn_reset
+GO bn_reset bn_labwid.jnl
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_labwid.jnl
 GO bn_labwid.jnl
 ! LABWID returns the length in Denbo inches of the
 ! string.  For multi-line strings, returns length of
@@ -47569,8 +48370,10 @@ let wid = labwid("@P2 at IILine1<NL>@IIA LONGER LINE",.15)
 label/nouser `wid`, 3, -1, 0, .15,  "@P4 at IIMulti-line<NL>Length is longest of ALL lines<NL>Line three"
  !-> PPL %LABEL/nouser 2.019230842590332, 3, -1, 0, .15,  "@P4 at IIMulti-line<NL>Length is longest of ALL lines<NL>Line three"
  
-GO bn_reset
+GO bn_reset bn_redefine_taxis_mc.jnl
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_redefine_taxis_mc.jnl
 GO bn_redefine_taxis_mc.jnl
 ! bn_redefine_taxis_mc.jnl
 ! ACM 15-Apr-2005
@@ -47635,8 +48438,10 @@ list/x=180/y=0 sst
  5   / 5:  28.49
  6   / 6:  28.32
  
-GO bn_reset
+GO bn_reset bn_illegal_axisname.jnl
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_illegal_axisname.jnl
 GO bn_illegal_axisname.jnl
 ! Some OPenDAP HDF files have illegal axis names, e.g. with a dot in the name.
 ! This is a test of using such names, in a redefinition of the axes of the data.
@@ -47689,8 +48494,10 @@ sh grid sst
  normal    Z
  normal    T
  
-GO bn_reset
+GO bn_reset bn_exit_script.jnl
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_exit_script.jnl
 GO bn_exit_script.jnl
 ! bn_exit_script.jnl
 ! 5/2005 ACM
@@ -47778,8 +48585,10 @@ loop
 3
 loop
  
-GO bn_reset
+GO bn_reset bn_exit_cycle.jnl
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_exit_cycle.jnl
 GO bn_exit_cycle.jnl
 ! bn_exit_cycle.jnl
 ! 5/2005 ACM
@@ -47809,8 +48618,10 @@ say 16384 if bigger than 500
  
 loop finished 16384 gt 10000
  
-GO bn_reset
+GO bn_reset bn_curv_mod.jnl
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_curv_mod.jnl
 GO bn_curv_mod.jnl
 ! bn_curv_mod
 ! Test of fill/mod and contour/mod
@@ -47830,8 +48641,10 @@ fill/mod/hlim=-180:180 ht, geolon_vert_t[i=1:180,j=1:24], geolat_vert_t[i=1:180,
 contour/over/mod/hlim=-180:180 ht, geolon_vert_t[i=1:180,j=1:24], geolat_vert_t[i=1:180,j=1:24]
  
  
-GO bn_reset
+GO bn_reset bn_shade_keycont.jnl
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_shade_keycont.jnl
 GO bn_shade_keycont.jnl
 ! Continuous shade key
 ! test setting it and whether default is restored on next command.
@@ -47926,8 +48739,10 @@ ppl shakey ,0,-.12,3,,,`x1`,`x2`,`y1`
  !-> ppl shakey ,0,-.12,3,,,2.2,5.212,1.4
 ppl fill
  
-GO bn_reset
+GO bn_reset bn581_bug_fixes.jnl
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn581_bug_fixes.jnl
 GO bn581_bug_fixes.jnl
 ! bn581_bug_fixes.jnl
 ! test various fixes that went into version 5.81
@@ -47937,6 +48752,7 @@ GO bn581_bug_fixes.jnl
 ! Bug 1160 short axis with irreg bounds seen as regular.
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err580_irreg_bounds.jnl
 ! err580_irreg_bounds.jnl
 ! Define a short irregular time axis with some time_bounds,
@@ -47947,7 +48763,7 @@ GO err580_irreg_bounds.jnl
 def ax/t/edge time = {0,1,3}
 let a = t[gt=time]
 show grid/t a
-    GRID (G011)
+    GRID (G006)
  name       axis              # pts   start                end                 subset
  normal    X
  normal    Y
@@ -47983,6 +48799,7 @@ show grid/t a
 ! Bug 1179 Cartesian_axis and positive="down" resulted in depth axis not being recognized
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err580_cartesian_depth.jnl
  ! err580_cartesian_depth.jnl
 ! cartesian_axis attribute
@@ -48002,6 +48819,7 @@ sh grid temp
 ! Bug 1181 Titles were truncated at 80 characters
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err580_long_title.jnl
  
  ! err580_long_title.jnl
@@ -48015,6 +48833,7 @@ sp ncdump longtitle.nc >> all_ncdump.out
 ! Bug 1180 Allow "use filename.des"
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err580_use_des.jnl
 ! err580_use_des.jnl
 ! Allow "use filename.des"   (previously gave an "is this a CDF file?" error)
@@ -48031,6 +48850,7 @@ sh data
 ! Bug 1180 Allow "use filename.des"
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err580_use_des.jnl
 ! err580_use_des.jnl
 ! Allow "use filename.des"   (previously gave an "is this a CDF file?" error)
@@ -48046,6 +48866,7 @@ sh data
 ! fix for bug 1181: dataset title was limited to 80 characters.
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err580_long_dsettitle.jnl
 ! err580_long_dsettitle
 ! fix for bug 1181
@@ -48068,6 +48889,7 @@ sp ncdump longtitle.nc >> all_ncdump.out
 ! fix for bug 1200:crash due to the long veckey format spec.
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err580_long_veckey.jnl
 ! err580_long_veckey.jnl
 ! Bug 1200 The following caused a crash due to the long veckey format spec.
@@ -48083,6 +48905,7 @@ ppl veckey,0,0,,"(1PG10.3)"
 ! fix for bug 1201: mistranslation of time region.
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err580_cal360_region.jnl
 ! err580_cal360_region.jnl
 ! Wrong output region: the set region mistakenly tranlated
@@ -48104,6 +48927,7 @@ default region:
 ! fix for bug 1203: crash if time range left off.
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err580_def_tax_norange.jnl
 ! err580_def_t_norange.jnl
 ! bug 1203. without the T range, these statements cause a STOP.
@@ -48116,6 +48940,7 @@ DEFINE AXIS/T0="1-JAN-1861"/UNITS=months/T/CALENDAR=noleap myt
 ! fix for bug 1207: closest distance and closest index transformations.
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err580_cdb.jnl
 ! err580_cdb.jnl
 ! bug 1207
@@ -48159,6 +48984,7 @@ list var[i=5 at cia:10]
 ! fix for bug 1214: crash on repeating a SET VIEW when viewport defined with /AXES
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err580_def_view_axes.jnl
 ! err580_def_view_axes.jnl
 ! BUG 1214
@@ -48199,6 +49025,7 @@ sp rm -f viewaxes.plt*
 ! fix for bug 1205: symbol LEV_DEL wrong when single level specified
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err580_lev_del.jnl
 ! err580_lev_del.jnl
 ! demonstrates bug 1205; precision of LEV_DEL when single level specified.
@@ -48227,6 +49054,7 @@ LEV_DEL = "1.2"
 ! Fix for bug 1174: strfloat_c("nonsense") gave result of 0 rather than missing.
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err580_strfloat_errors.jnl
 ! err580_strfloat_errors.jnl
 ! Previously a nonsense input gave a result of 0.
@@ -48248,6 +49076,7 @@ list/prec=6 strfloat(b)
 ! Fixes for bugs 1249, 1250: uppercase not recognized for qualifier argument
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err580_arg_case.jnl
 ! err580_arg_case.jnl
 ! 5/2005
@@ -48267,6 +49096,7 @@ plot/step=CONN/i=1:10 sin(i)
 ! Fixes for bugs 1019: kludge for CDC time axes made time origin incorrect on outputs
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err580_cdc_timeaxis.jnl
 ! err580_cdc_timeaxis.jnl
 ! 6/3/05
@@ -48316,6 +49146,7 @@ sp rm -f my_cdc_timeaxis.nc
 ! Fix for bug 1272: show axis/t= with NOLEAP calendar
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err580_show_axis_t.jnl
 ! err580_show_axis_t
 ! bug 1272: wrong range shown when nonstd calendar
@@ -48362,6 +49193,7 @@ T0 = 15-JAN-1901
 ! Fix for bug 1279 which was only in the first iteration of v5.81 release
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err581_nlev.jnl
 ! err580_nlev.jnl
 ! bug 1279
@@ -48376,6 +49208,7 @@ fill/lev=30 sst[l=2]
 ! acm 8/29/2005
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err581_vs_poly_axis.jnl
 ! err581_vs_poly_axis.jnl
 ! Test fix of bug 1349: formatted axis labels on PLOT/VS and POLYGON plot
@@ -48404,8 +49237,10 @@ POLYGON/LINE/fill xp, yp, ypts
  
  
 ! ******** V6.00 Additions below ***********
-GO bn_reset
+GO bn_reset bn_tab_comma_multivar.jnl
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_tab_comma_multivar.jnl
 GO bn_tab_comma_multivar.jnl
 ! bn_tab_comma_multivar.jnl
 !
@@ -48449,8 +49284,10 @@ COUNTRY	ID	AA	BB	NEWCOUNTRY	THE_DATA_VAR
 "JP"	2	8000	2000500	"c"	5  
 "US"	3	12000	3000500	"e"	4  
  
-GO bn_reset
+GO bn_reset bn_element_functions.jnl
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_element_functions.jnl
 GO bn_element_functions.jnl
  ! NOAA/PMEL TMAP
  ! FERRET v5.81
@@ -48576,8 +49413,10 @@ list element_index_str_n (axy[k=1:2,j=1:2], {"a10", "a2", "d4", "c5"})
  2   / 2:   ....  3.000
  
  
-GO bn_reset
+GO bn_reset bn_long_revision_num.jnl
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_long_revision_num.jnl
 GO bn_long_revision_num.jnl
 ! bn_long_revision_num.jnl
 ! ACM 8/30/05
@@ -48586,7 +49425,7 @@ GO bn_long_revision_num.jnl
  
 ! ferret version
 sh sym FERRET_VERSION
-FERRET_VERSION = "7.1"
+FERRET_VERSION = "7.2"
  
 ! history attribute
 let a = 12
@@ -48604,7 +49443,7 @@ LAB1 = "X : 0.5 to 314.5"
  
 ! show commands without an argument, lists version number at the top
 sho command
- Commands in Program FERRET (beta/debug) version7.1:
+ Commands in Program FERRET (beta/debug) version7.2:
  SET
  SET WINDOW/SIZE/NEW/LOCATION/ASPECT/CLEAR/TITLE
  SET REGION/I/J/K/L/M/N/X/Y/Z/T/E/F/DX/DY/DZ/DT/DE/DF/DI/DJ/DK/DL/DM/DN
@@ -48637,7 +49476,7 @@ sho command
  SHOW MOVIE/ALL
  SHOW VARIABLE/ALL/DATASET/USER/XML/OUTFILE/APPEND/CLOBBER/TREE/LAYERZ/CURVILIN
  SHOW COMMANDS/ALL/BRIEF
- SHOW MEMORY/ALL/TEMPORY/PERMANT/FREE
+ SHOW MEMORY/ALL/DIAGNOST/TEMPORY/PERMANT/FREE
  SHOW GRID/ALL/I/J/K/L/M/N/X/Y/Z/T/E/F/DYNAMIC/XML/OUTFILE/APPEND/CLOBBER
  SHOW VIEWPORT/ALL
  SHOW TRANFORM/ALL
@@ -48707,15 +49546,14 @@ sho command
  PPLUS/RESET
  FRAME/FORMAT/FILE/TRANSPAR
  REPEAT/I/J/K/L/M/N/X/Y/Z/T/E/F/ANIMATE/LOOP/RANGE/NAME
- STAT/BRIEF/I/J/K/L/M/N/X/Y/Z/T/E/F/DATASET
+ STAT/BRIEF/PRECISIO/I/J/K/L/M/N/X/Y/Z/T/E/F/DATASET
  SHADE/I/J/K/L/M/N/X/Y/Z/T/E/F/OVERLAY/SET_UP/FRAME/DATASET/TRANPOSE/TRIM
         /LINE/NOLABEL/LEVELS/KEY/NOKEY/PALETTE/XLIMITS/YLIMITS/TITLE/AXES
         /NOAXES/PATTERN/HGRATICU/VGRATICU/GRATICUL/MODULO/HLIMITS/VLIMITS
         /DEGMINSE/HALFSPAC
  SPAWN
- USER/OPT1/OPT2/COMMAND/I/J/K/L/X/Y/Z/T/DATASET/FILE/FORMAT
  WIRE/I/J/K/L/M/N/X/Y/Z/T/E/F/OVERLAY/SET_UP/FRAME/DATASET/VIEWPOIN/ZLIMITS
-       /TRANPOSE/NOLABEL/ZSCALE/TITLE
+       /TRANPOSE/NOLABEL/ZSCALE/COLOR/TITLE
  QUERY/ALL/FILE/IGNORE
  IF
  ELSE
@@ -48729,8 +49567,10 @@ sho command
  
  Use SHOW ALIAS to see alternative command names
  
-GO bn_reset
+GO bn_reset bn_window_title.jnl
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_window_title.jnl
 GO bn_window_title.jnl
 ! bn_window_title.jnl
 ! Define a title for windows rather than just FERRET_1, FERRET_2, ...
@@ -48743,7 +49583,7 @@ go ptest
 PLOT/VS/LINE/I=1:314 i*cos(i/20),i*sin(i/20)
  
 sh sym win_title
-WIN_TITLE = "15-Feb-17:11:27"
+WIN_TITLE = "12-Jul-17:09:51"
  
 set win/title="set the title"
 sho sym win_title
@@ -48761,7 +49601,7 @@ sho sym win_title
 WIN_TITLE = "_"
  
 set win/title="($session_date):($session_time)"
- !-> set win/title="15-Feb-17:11:27"
+ !-> set win/title="12-Jul-17:09:51"
  
 ! If the date or time starts with a blank then we get an extra
 ! underscore in the window title. Evaluating the symbols into
@@ -48770,19 +49610,21 @@ set win/title="($session_date):($session_time)"
 ! If so substitute another string.
  
 DEFINE SYMBOL the_date = ($session_date"SESSION_DATE")
- !-> DEFINE SYMBOL the_date = 15-Feb-17
+ !-> DEFINE SYMBOL the_date = 12-Jul-17
 DEFINE SYMBOL the_time = ($session_time"SESSION_TIME")
- !-> DEFINE SYMBOL the_time = 11:27
+ !-> DEFINE SYMBOL the_time = 09:51
 SET WIN/TITLE="($the_date):($the_time)"
- !-> SET WIN/TITLE="15-Feb-17:11:27"
+ !-> SET WIN/TITLE="12-Jul-17:09:51"
  
 can win/all
 set win/new
 sh sym win_title
-WIN_TITLE = "15-Feb-17:11:27"
+WIN_TITLE = "12-Jul-17:09:51"
  
-GO bn_reset
+GO bn_reset bn_last_error.jnl
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_last_error.jnl
 GO bn_last_error.jnl
 ! bn_last_error.jnl
 ! acm Nov 2005
@@ -48837,8 +49679,10 @@ FER_LAST_ERROR = "**ERROR: error in external function. Bailing out of external f
  
 SET MODE/LAST IGNORE_ERROR
  
-GO bn_reset
+GO bn_reset bn_deg_min.jnl
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_deg_min.jnl
 GO bn_deg_min.jnl
 ! bn_deg_min.jnl
 ! label axes with degrees and minutes rather than degrees and decimal degrees.
@@ -48890,8 +49734,10 @@ plot/x=223./DEGMIN/HALFSP rose
 plot/y=58.52/DEGMIN=2/HALFSP rose
 plot/vs/HALFSP  xpts, ypts
  
-GO bn_reset
+GO bn_reset bn_dp_readscale.jnl
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_dp_readscale.jnl
 GO bn_dp_readscale.jnl
 ! bn_dp_readscale.jnl
 ! 9-Feb-2006 ACM
@@ -48969,8 +49815,10 @@ list xax
  
 cancel list/precision
  
-GO bn_reset
+GO bn_reset bn_bounds_defineax.jnl
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_bounds_defineax.jnl
 GO bn_bounds_defineax.jnl
 ! bn_bounds_defineax.jnl
 ! 3/22/2006
@@ -49174,8 +50022,10 @@ list zboxlo[gz=zax2], z[gz=zax2], zboxhi[gz=zax2]
 1678.5 / 12:  1158.  1679.  2199.
 2849   / 13:  2199.  2849.  3499.
  
-go bn_reset
+go bn_reset bn_attributes.jnl
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_attributes.jnl
 go bn_attributes.jnl
 ! bn_attributes
 ! test attribute handling on netcdf intput/output and
@@ -49541,6 +50391,7 @@ can mode ignore
  
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
  
 !-----
 ! attributes of string variables
@@ -49556,6 +50407,7 @@ sp ncdump a.nc >> all_ncdump.out
  
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
  
 !-----
 ! Demonstrate `var,return=` output for attributes
@@ -49600,6 +50452,7 @@ say `broiled.acf,return=size`
  
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
  
 !-----
 ! define variables to contain attribute value(s)
@@ -49634,6 +50487,7 @@ list s
  
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
  
 !-----
 ! Variables containing number of variables, attributes, dimensions,
@@ -49842,6 +50696,7 @@ let anames = `names[i=2]`.attnames
  
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
  
  
 !-----
@@ -49883,6 +50738,7 @@ say `(yax_lev94).nattrs[d=1]`
  
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
  
 !-----
 ! more on access to attribute names and values as variables
@@ -49902,12 +50758,10 @@ list/d=3 a
 list temp.units[d=3]
              VARIABLE : TEMP.UNITS[D=ocean_atlas_temp]
              FILENAME : ocean_atlas_temp.cdf
-             X        : 1
         "Deg C"
 list/d=3 temp.history
              VARIABLE : TEMP.HISTORY
              FILENAME : ocean_atlas_temp.cdf
-             X        : 1
         "From ocean_atlas_monthly"
  
 can data/all
@@ -50024,6 +50878,7 @@ list a[i=1]
  
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
  
 !-----
 ! keyword . to refer to global properties and attributes
@@ -50068,7 +50923,6 @@ sh data
 list/d=2 ..varnames
              VARIABLE : ..VARNAMES
              FILENAME : coads_climatology.cdf
-             X        : 1
         "SST"
  
 list/d=2 ..dimnames
@@ -50112,7 +50966,6 @@ list/d=1 ..nattrs
 list/d=1 ..attnames
              VARIABLE : ..ATTNAMES
              FILENAME : gt4d011.cdf
-             X        : 1
         "history"
  
 list/d=1 ..ndims
@@ -50161,6 +51014,7 @@ list/d=2 pp
  
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
  
 !-----
 ! Editing attributes: add new attributes to a variable.
@@ -50213,6 +51067,7 @@ sh att/all temp[d=1]
  
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
  
 !-----
 ! Edit existing attributes on variables
@@ -50246,12 +51101,10 @@ use coads_climatology
 list (coadsx).units
              VARIABLE : (COADSX).UNITS
              FILENAME : coads_climatology.cdf
-             X        : 1
         "degrees_east"
 list (coadsx).modulo
              VARIABLE : (COADSX).MODULO
              FILENAME : coads_climatology.cdf
-             X        : 1
         " "
 sho att/all (coadsx)
      attributes for dataset: ./coads_climatology.cdf
@@ -50381,6 +51234,7 @@ can view
 can mode ignore
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
  
 !-----
 ! Edit attributes: inherit all attrs from another variable
@@ -50446,7 +51300,7 @@ sh att/all temp3
  
 can var temp2
 let/units="degrees C"/title="my new TEMP"/bad=`temp,return=bad` temp2 = temp*2
- !-> DEFINE VARIABLE/units="degrees C"/title="my new TEMP"/bad= -9.999999790214768E+33 temp2 = temp*2
+ !-> DEFINE VARIABLE/units="degrees C"/title="my new TEMP"/bad=-9.999999790214768E+33 temp2 = temp*2
 sh att/all temp2
      attributes for user-defined variables
  temp2.long_name = my new TEMP 
@@ -50455,6 +51309,7 @@ sh att/all temp2
  
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
  
 !-----
 ! Edit attributes, changing type
@@ -50544,6 +51399,7 @@ list pq
  
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
  
 ! When we CANCEL MODE upcase_output, writing a netcdf file preserves
 ! case of variable and axis names. This file has lower case and some
@@ -50565,6 +51421,7 @@ set mode/last upcase_output
  
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
  
 !-----
  
@@ -50612,6 +51469,7 @@ sp ncdump -c a.nc >> all_ncdump.out
  
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
  
  
 !-----
@@ -50675,6 +51533,7 @@ sp ncdump -h a.nc >> all_ncdump.out
  
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
  
 !-----
 ! Read EZ ascii, delimited, and stream data files,
@@ -50697,15 +51556,15 @@ sh dat/att
   
  .                               history         CHAR        6    F       EZ.DAT
   
- a1                    FLOAT     long_name       CHAR        2    T       a1
-                                 missing_value   FLOAT       1    T       -1.E+34
+ a1                    DOUBLE    long_name       CHAR        2    T       a1
+                                 missing_value   DOUBLE      1    T       -1.E+34
                                  three           FLOAT       3    T       1 2 3
   
- a2                    FLOAT     long_name       CHAR        2    T       a2
-                                 missing_value   FLOAT       1    T       -1.E+34
+ a2                    DOUBLE    long_name       CHAR        2    T       a2
+                                 missing_value   DOUBLE      1    T       -1.E+34
   
- a3                    FLOAT     long_name       CHAR        2    T       a3
-                                 missing_value   FLOAT       1    T       -1.E+34
+ a3                    DOUBLE    long_name       CHAR        2    T       a3
+                                 missing_value   DOUBLE      1    T       -1.E+34
   
 save/file=a.nc/clobber a1,a2,a3
 sp echo "bn_attributes.jnl --- 14 attributes of data from ez data." >> all_ncdump.out
@@ -50744,6 +51603,7 @@ sh att/all num
  num.new = a string attribute 
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
  
 !-----
 ! manipulate attributes of user-defined variables
@@ -50796,6 +51656,7 @@ sp ncdump -h a.nc >> all_ncdump.out
  
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
  
 !-----
  
@@ -50861,6 +51722,7 @@ sp ncdump a.nc  >> all_ncdump.out
  
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
  
 !-----
 ! Set type of data on output, uses netcdf call to output
@@ -50928,6 +51790,7 @@ can data test0
  
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
  
 !-----
 ! More tests of user-defined variables. Bug 1427, now fixed, problem with varid of user vars
@@ -51003,6 +51866,7 @@ set var/outtype=garbage broiled
 can mode ignore
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
  
  
 !---!!!---
@@ -51050,6 +51914,7 @@ save/file=a.nc/clobber/L=1 t2
 sp ncdump -h a.nc >> all_ncdump.out
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
  
 ! User-defined axes and variables
  
@@ -51080,6 +51945,7 @@ sh att/all (x2ax)
  
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
  
 use levitus_climatology
 define att/out (`temp,return=xaxis`).new_att = "something"
@@ -51123,6 +51989,7 @@ save/file=a.nc/clobber/y=0:5 two
 sp ncdump -h a.nc >> all_ncdump.out
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
  
 ! defining more axes with attributes
  
@@ -51156,6 +52023,7 @@ sp ncdump -h string4d.nc >> all_ncdump.out
  
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 ! For SET ATT timeaxis.units or SET ATT timeaxis.time_origin
 ! include the correct time origin as part of the units attribute.
  
@@ -51466,8 +52334,10 @@ list temp.test_counter[i=3:5]
 !go bn_reset
 !go bn_nco_functions.jnl
  
-go bn_reset
+go bn_reset bn_transforms.jnl
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_transforms.jnl
 go bn_transforms.jnl
 ! Test the transforms
  
@@ -51673,8 +52543,10 @@ list/L=1/y=11:23/x=93w sst, sst[y=@shn] , sst[y=@spz], sst[y=@sum], sst[y=@swl],
 21N   / 56:  23.95  24.06  24.06  181.6  24.08    ....
 23N   / 57:  23.84  23.69  23.69  181.6  23.66    ....
  
-go bn_reset
+go bn_reset bn_variance.jnl
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_variance.jnl
 go bn_variance.jnl
  ! bn_variance.jnl
  ! the @VAR transform is not tested in bn_transforms.jnl script.
@@ -51712,8 +52584,10 @@ list/y=3/l=1/x=233 u[z=@var]
              TIME     : AUG-1982
           11.33
  
-go bn_reset
+go bn_reset bn_linecolors.jnl
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_linecolors.jnl
 go bn_linecolors.jnl
 ! bn_linecolors.jnl
 ! 5/2006 ACM
@@ -51780,8 +52654,10 @@ can win/all
 set win/new
  
  
-go bn_reset
+go bn_reset bn_cdf_errmsg.jnl
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_cdf_errmsg.jnl
 go bn_cdf_errmsg.jnl
 ! bn_cdf_errmsg.jnl
 ! ACM 7/13/2006
@@ -51806,10 +52682,13 @@ use this_is_not_a_file.nc
 !!use "http://iridl.ldeo.columbia.edu/SOURCES/.FSU/.FULL/.tauyyyyy/dods"
  
 ! This is a valid address
-use "http://ferret.pmel.noaa.gov/thredds/dodsC/data/PMEL/COADS/coads_air.cdf"
+use "http://ferret.pmel.noaa.gov/pmel/thredds/dodsC/data/PMEL/COADS/coads_air.cdf"
+ 
+ 
+! Intentional errors
  
 ! change the variable name to something nonexistent
-use "http://ferret.pmel.noaa.gov/thredds/dodsC/data/PMEL/COADS/coads_nothing.cdf"
+use "http://ferret.pmel.noaa.gov/pmel/thredds/dodsC/data/PMEL/COADS/coads_nothing.cdf"
  
 ! bad server
 use  "http://noserver/a/nofile.cdf"
@@ -51825,8 +52704,10 @@ use asc.nc
 set mode/last ignore
  
  
-GO bn_reset
+GO bn_reset bn600_bug_fixes.jnl
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn600_bug_fixes.jnl
 GO bn600_bug_fixes.jnl
 ! bn600_bug_fixes.jnl
 ! test various fixes that went into version 6.00
@@ -51836,6 +52717,7 @@ GO bn600_bug_fixes.jnl
 ! Bug 1129 axis formatting when /HLIM sets axis length < 0.15 deg
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err581_hlim_axislab.jnl
 ! err581_hlim_axislab.jn
 ! bug 1129
@@ -51870,6 +52752,7 @@ ppl list xaxis
 ! Bug 1275 stray characters appear in data lines listing string data
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err581_list_stray_chars.jnl
 ! err581_list_stray_chars.jnl
 ! 8/2005 (acm) bug 1275  stray characters in data listing
@@ -51907,6 +52790,7 @@ list/i=1:5 id, country, type
 ! pattern matching for SHO FUNC failed to match all EF's
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err581_sho_func_pattern_match.jnl
 ! err581_sho_func_pattern_match.jnl
 ! bug 1186
@@ -51936,11 +52820,11 @@ ELEMENT_INDEX_STR_N(VAR,STRINGS)
     VAR: string data to mask (STRING)
     STRINGS: list of strings to match (STRING)
 IS_ELEMENT_OF(VAR,VALUES)
-    Returns 1 if first argument contains any of the values in argument 2, else 0
+    Returns 1 if first argument contains any of the values in 2nd arg, else 0
     VAR: data to test
     VALUES: values to search for
 IS_ELEMENT_OF_STR(VAR,VALUES)
-    Returns 1 if first argument contains any of the values in 2nd argument (case sensitive), else 0
+    Returns 1 if first argument contains any of the values in 2nd arg (case sensitive), else 0
     VAR: string (STRING)
     VALUES: strings to search (STRING)
 IS_ELEMENT_OF_STR_N(VAR,VALUES)
@@ -51951,6 +52835,7 @@ IS_ELEMENT_OF_STR_N(VAR,VALUES)
 ! FILL on data with subspan modulo axis, got wrong data
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err581_subspanx_fill_bug.jnl
 ! err581_subspanx_fill_bug.jnl
 ! bug 900: subspan longitude axis and hlimits gets wrong data
@@ -51976,6 +52861,7 @@ sp rm -f err581_subspanx_fill_bug.nc
 ! bug 1318 Spurious error message on USE file where file has axes with bounds.
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err581_use_bounds.jnl
 ! err581_use_bounds.jnl
 ! bug 1318 Spurious error message on USE file where file has axes with bounds.
@@ -51991,6 +52877,7 @@ use xyir
 ! Bug 1332 variable not scaled unless it is first variable in stepfile.
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err581_des_scale.jnl
 ! err581_des_scale.jnl  bug 1332. When using a descriptor file and
 ! a varriable has scale_factor and/or add_offset attributes, the
@@ -52010,6 +52897,7 @@ EXIT/SCRIPT   ! error in namelist record...
 ! Bug 1335 Zero-contour should be dark line.
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err581_contour_zero_lev.jnl
 ! err581_contour_zero_lev.jnl
 ! acm 9/7/2005
@@ -52022,6 +52910,7 @@ contour/lev=(-20,20,2) sst[L=1] - 20
 ! Bug 1339, code hangs with this combination of (-INF)(INF) levels and shakey
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err581_shakey_inf.jnl
 ! err581_shakey_inf.jnl
 ! acm 9/7/2005
@@ -52040,6 +52929,7 @@ ppl/reset  ! undo the SHAKEY setting.
 ! Bug 918, immediate mode parsing in IF blocks
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err581_if_conditional.jnl
 ! err581_if_conditional.jnl  bug 918.
 ! acm 10/2005
@@ -52250,6 +53140,7 @@ palette rainbow
 ! Ungraceful STOP if we asl for multi-var transformations on axis where there is no data
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err581_illegal_trans.jnl
 ! err581_illegal_trans.jnl
 ! Ungraceful STOP if we do @VAR on an axis where there is no data
@@ -52266,6 +53157,7 @@ can mode ignore_error
 ! missing flag gets scaled by scale and offset factors!
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err581_missing_scale_off.jnl
 ! err581_missing_scale_off.jnl
 ! ACM 11/8/05
@@ -52299,6 +53191,7 @@ list tt
 ! SHOW GRID and other output have wrong dates, non-std calendar axesv
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err581_cal_dates_output.jnl
 ! err581_cal_dates_output.jnl
 ! bug 1363:
@@ -52325,6 +53218,7 @@ sho grid t3
 ! STOP on shade command when modulo-regridding a time-limited nonstd calendar
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err581_noleap_mod.jnl
 ! err581_noleap_mod.jnl
 ! This is bug 1365: STOP on shade command
@@ -52344,6 +53238,7 @@ shade/y=0/k=1 a_clim
 ! CANCEL DATA errors
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err581_cancel_data.jnl
 ! err581_cancel_data.jnl
  
@@ -52396,6 +53291,7 @@ sp rm -f subdir/0000_a.nc
 ! CANCEL DATA errors
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err581_since_units.jnl
 ! err581_since_units.jnl
 ! bug 1394: units of months_since_event
@@ -52428,6 +53324,7 @@ list a
 ! CANCEL DATA errors
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err581_exp_spaces.jnl
 ! err581_exp_spaces.jnl
 ! bug 1395
@@ -52484,6 +53381,7 @@ can mode ignore
 ! bugs 439,1390: applying command context
 GO bn_reset.jnl
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err581_command_cx.jnl
 ! err590_command_cx.jnl
 ! bugs 439 and 1390: the command context should apply to immed. mode evaluation
@@ -52510,6 +53408,7 @@ can mode ignore
 ! bug 1401: define 1-point axis with bounds; gets bounds wrong
 GO bn_reset.jnl
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err581_define_1pt_bounds.jnl
 ! err581_define_1pt_bounds.jnl
 ! see bug 1401:
@@ -52553,6 +53452,7 @@ list xboxlo[gx=xax],xboxhi[gx=xax],x[gx=xax]
 ! Bug in strrindex when 1st argument is a list of strings
 GO bn_reset.jnl
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err581_strrindex.jnl
 ! err581_strrindex.jnl
 ! 5/2/2006
@@ -52572,6 +53472,7 @@ list strrindex(var,"s")
 ! POLYGON/LINE over a depth axis.
 GO bn_reset.jnl
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err581_poly_rev.jnl
 ! err581_poly_rev.jnl
 ! POLYGON/LINE mis-locates the line when there is a depth or
@@ -52627,8 +53528,10 @@ set mem /size=25.6
  
  
 ! ******** V6.01 Additions below ***********
-GO bn_reset
+GO bn_reset bn601_bug_fixes.jnl
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn601_bug_fixes.jnl
 GO bn601_bug_fixes.jnl
 ! bn601_bug_fixes.jnl
 ! test various fixes that went into version 6.01
@@ -52638,6 +53541,7 @@ GO bn601_bug_fixes.jnl
 ! Bug 1443
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err600_long_bounds_name
 ! err600_long_bounds_name.jnl
 ! Long name for bounds attribute was not read by Ferret
@@ -52670,6 +53574,7 @@ list  x[gx=var], xbox[gx=var], xboxlo[gx=var], xboxhi[gx=var]
 ! bug1434
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err600_check_bounds_regular.jnl
 ! err600_check_bounds_regular.jnl
 ! Previously TM_CHECK_BNDS had not been used to check bounds on regular axes.
@@ -52690,6 +53595,7 @@ use b
 ! Bug 1439
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err600_long_symbol_string.jnl
 ! err600_longsym_symbol_string.jnl
 ! Long values for symbols: previously strings were cut off at 255 characters.
@@ -52733,6 +53639,7 @@ CANCEL SYMBOL longsym*
 ! bug 1445
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err600_missing_flag.jnl
 ! noglobalhistory.nc has no global history attribute, and
 ! also the variable B has no missing or fill value flag
@@ -52756,6 +53663,7 @@ list b
 ! ( a parsing error, confusing the dot in the filename with dot in `var.att,return=size` )
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err600_returnsize.jnl
 ! err600_returnsize.jnl
 ! ACM 10-4-2006
@@ -52783,6 +53691,7 @@ say `(($the_x_axis)).units,return=size`
 ! thrown off and we got an error about an invalid ENDIF
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err600_if_comments_tab.jnl
 ! err600_if_comments_tab.jnl
 ! ACM 10-4-2006
@@ -52800,6 +53709,7 @@ ENDIF
 ! Bug 1454 Settings made by SET VAR/TITLE=/UNITS= were not saved in output file
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err600_set_var_title.jnl
 ! err600_set_var_title.jnl
 ! Bug 1454
@@ -52857,6 +53767,7 @@ use a.nc
 ! be labelled with the var name but it only has units label
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err600_var_label.jnl
 ! err600_var_label.jnl
 ! bug1442
@@ -52902,6 +53813,7 @@ list/i=70/l=1/j=30/k=1 temp
 ! Bug 1461 upcasing of axis name on creating bounds variable for output
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err600_upcase.jnl
  ! err600_upcase.jnl
  ! 10/23/2006
@@ -52926,6 +53838,7 @@ SET MODE/LAST ignore_error
 ! structure fail, and the list of variable names was incorrect.
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err600_let_d.jnl
 ! err600_let_d.jnl
 ! Making a LET/D= assignment caused the return of dimension
@@ -52953,6 +53866,7 @@ list ..varnames
 ! Bug 1459 order of multiple descriptor file opening causes netCDF error
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err600_nc_des_order.jnl
 ! err600_nc_des_order.jnl
 ! 11/07/2006 ACM
@@ -53014,6 +53928,7 @@ stat rose[j=12,d=1]
 ! in the attribute structure.
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err600_reset_redefine_axis.jnl
 ! err600_reset_redefine_axis.jnl
 ! Bug 1470; redefine or reset attributes of an axis
@@ -53147,6 +54062,7 @@ show axis ($zax)
 ! orig_file_axname keeps the input name.
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err600_ferret_axis_names.jnl
 ! err600_ferret_axis_names.jnl
 ! If Ferret needed to rename an axis on file initialization for uniqueness,
@@ -53204,7 +54120,7 @@ sho dat/att
  Variable    VarType(in dset)    AttributeName   AttType     Size OutFlag AttValue
 ------------------------------------------------------------------------------------------
   
- .                               history         CHAR        34   T       FERRET V7.1 (beta/debug) 15-Feb-17
+ .                               history         CHAR        34   T       FERRET V7.2 (beta/debug) 12-Jul-17
                                  Conventions     CHAR        6    F       CF-1.6
   
 (PSXT91_108)           DOUBLE    units           CHAR        12   T       degrees_east
@@ -53253,7 +54169,7 @@ sho dat/att
  Variable    VarType(in dset)    AttributeName   AttType     Size OutFlag AttValue
 ------------------------------------------------------------------------------------------
   
- .                               history         CHAR        34   T       FERRET V7.1 (beta/debug) 15-Feb-17
+ .                               history         CHAR        34   T       FERRET V7.2 (beta/debug) 12-Jul-17
                                  Conventions     CHAR        6    F       CF-1.6
   
 (PSXT91_108)           DOUBLE    units           CHAR        12   T       degrees_east
@@ -53304,6 +54220,7 @@ sho dat/att
 ! should output a comma or tab as placeholder for the missing value
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err600_tab_comma_missingdat.jnl
 ! err600_tab_comma_missingdat.jnl
 ! 11/21/2006 acm
@@ -53376,6 +54293,7 @@ list/form=tab a,b,a
 ! VECTOR/ASPECT plots are wrong (incorrect fix for bug 1348)
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err600_vec_aspect.jnl
 ! err600_vec_aspect.jnl
 ! VECTOR/ASPECT plots are wrong (incorrect fix for bug 1348)
@@ -53399,6 +54317,7 @@ vec/asp/over a,b
 ! when checking whether 2nd variable has same grid.
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err600_save_two.jnl
 ! err600_save_two.jnl
 ! 12/11/2006
@@ -53416,6 +54335,7 @@ save/clobber/file="out.nc" olr[d=1], swdn_toa[d=2]
 ! Bug 1459 order of multiple descriptor file opening causes netCDF error
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err600_nc_des_order.jnl
 ! err600_nc_des_order.jnl
 ! 11/07/2006 ACM
@@ -53473,8 +54393,10 @@ stat rose[j=12,d=1]
  Standard deviation: 156.25
  
 ! ******** V6.02 Additions below ***********
-GO bn_reset
+GO bn_reset bn_set_strides.jnl
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_set_strides.jnl
 GO bn_set_strides.jnl
 ! bn_set_strides.jnl
 ! Jing Li, 11/2006
@@ -53915,8 +54837,10 @@ show axis `sst,return=taxis`
 T0 = 01-JAN-0000 00:00:00
    Axis span (to cell edges) = 2191.455 (modulo length = 8765.82)
  
-GO bn_reset
+GO bn_reset bn_lsl_lowpass.jnl
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_lsl_lowpass.jnl
 GO bn_lsl_lowpass.jnl
 ! bn_lsl_lowpass.jnl
 ! Test lsl_lowpass, now included as a statically-linked external function
@@ -53951,8 +54875,10 @@ LIST/L=10:20 MY_TEMP[L=1:110], F_FILTERED[L=1:110]
 14-MAR-1982 09 / 20:   27.42   27.43
  
  
-GO bn_reset
+GO bn_reset bn_return_xmod_tmod.jnl
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_return_xmod_tmod.jnl
 GO bn_return_xmod_tmod.jnl
 ! New `var,return=xmod` `var,return=tmod`
 ! Return modulo lengths, or blank if not modulo
@@ -54022,8 +54948,10 @@ say `axy,return=xmod`
  !-> MESSAGE/CONTINUE 2
 2
  
-GO bn_reset
+GO bn_reset bn602_bug_fixes
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn602_bug_fixes
 GO bn602_bug_fixes
 ! bn602_bug_fixes.jnl
 ! test various fixes that went into version 6.02
@@ -54033,6 +54961,7 @@ GO bn602_bug_fixes
 ! bug 1468: SHOW AXIS/ALL/XML listed the wrong info for the calendar
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err601_sho_ax_xml_calendar.jnl
 ! err601_sho_ax_xml_calendar.jnl
 ! 11/8/2006 ACM
@@ -54087,6 +55016,7 @@ sh axis/xml timenoleap
 ! with unspecified_int4.
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err601_index_111.jnl
  
 ! err601_index_111.jnl
@@ -54113,6 +55043,7 @@ list x[gx=sst,x=-193:-203]
 ! Check for irregular axis actually being irregular failed; bug 1483
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err601_irregular_axis.jnl
 ! err601_irregular_axis.jnl
 ! V6.0 had a new scheme to check for irregular axes; for an axis
@@ -54185,6 +55116,7 @@ SHOW GRID/Z atmos
 ! see bug 1485, check on missing coordinates for 3-argument graphics
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err601_check_missing_3arg.jnl
 ! err601_check_missing_3arg.jnl
 ! see bug 1485: if missing coordinates in a curvilinear dataset, we should be
@@ -54268,6 +55200,7 @@ sp rm -f tripolar_missing_lon.nc
 !  when the last element is missing.
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err601_missing_string_element.jnl
 ! err601_missing_string_element.jnl
 !  Bug 1488. Seg fault when try to list a string variable
@@ -54284,8 +55217,10 @@ list a
  
  
 ! ******** V6.03 Additions below ***********
-GO bn_reset
+GO bn_reset bn_modnbd.jnl
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_modnbd.jnl
 GO bn_modnbd.jnl
 ! Test MODNBD regridding statistic.
  
@@ -54349,8 +55284,10 @@ list var[gt=month_reg at MODNGD], var[gt=month_reg at MODNBD], var[gt=month_reg at MODNGD
 15-NOV      / 11:  10.00   0.00  10.00  10.00
 16-DEC      / 12:  10.00   0.00  10.00  10.00
  
-GO bn_reset
+GO bn_reset bn_fifty_files.jnl
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_fifty_files.jnl
 GO bn_fifty_files.jnl
 ! bn_fifty_files.jnl
 ! We build OPeNDAP so that 100 files can be opened at a time.
@@ -54412,8 +55349,10 @@ use weird_name1.cdf
 cancel mode ignore_error
  
  
-GO bn_reset
+GO bn_reset bn603_bug_fixes
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn603_bug_fixes
 GO bn603_bug_fixes
 ! bn603_bug_fixes.jnl
 ! test various fixes that went into version 6.03
@@ -54423,6 +55362,7 @@ GO bn603_bug_fixes
 ! SHADE/LEV did not keep same levels after a SHADE/LINE
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err602_shade_line_lev.jnl
 ! err602_shade_line_lev.jnl
 ! Bug 904.
@@ -54463,6 +55403,7 @@ LEV_DEL = "0.05"
 ! Draw correct SHADE and FILL plots across the modulo branch cut.
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err602_curvi_modulo_cut
 ! err602_curvi_modulo_cut.jnl
 ! 5/07  bug 1302
@@ -54485,6 +55426,7 @@ fill/hlim=75:85/vlim=-10:0/mod u,geolon_c,geolat_c
 ! SET LIST/PREC worked for multi-var listings, LIST/PREC= var1,var2 did not
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err602_list_prec
 ! err602_list_prec.jnl
 ! fixes for bug 1388: SET LIST/PREC worked for multi-variable listings,
@@ -54531,8 +55473,10 @@ LIST/NOHEAD/I=91:94/J=37/K=1/L=1 TEMP,SALT
  
 ! ******** V6.05 Additions below ***********
  
-GO bn_reset
+GO bn_reset bn_set_var_name.jnl
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_set_var_name.jnl
 GO bn_set_var_name.jnl
 ! bn_set_var_name.jnl
 ! This has been in Ferret since v5.3 but never a benchmark test of it!
@@ -54550,8 +55494,6 @@ SHOW DATA
  
  
 LIST/X=179:183/Y=40/L=3 my_sst
-Unable to allocate 500000.0 Mwords of memory.
-Restoring previous memory of 0.2 Mwords.
              VARIABLE : SEA SURFACE TEMPERATURE (Deg C)
              FILENAME : coads_climatology.cdf
              SUBSET   : 3 points (LONGITUDE)
@@ -54581,15 +55523,16 @@ LIST/X=179:183/Y=40/L=3 sst
  177W   / 82:  36.23927
  
  
-GO bn_reset
-cancel mode verify
+!GO bn_reset
 ! This routine executes a ppl error which exits us from Ferret
 ! when run in the benchmark suite. Should test this, but dont do it
 ! here, for now.
 !GO bn_ppl_errors.jnl
  
-GO bn_reset
+GO bn_reset bn_memory_symbol
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_memory_symbol
 GO bn_memory_symbol
 ! bn_memory_symbol.jnl
 ! Ferret v6.06 15-Aug-07
@@ -54602,22 +55545,28 @@ set mem/siz=90
 sh sym ferret_memory
 FERRET_MEMORY = "90"
 show memory
- Current size of FERRET memory cache: 90 MegaWords  (1 word = 8 bytes)
+    SET MEMORY/SIZE: 90 megawords
+    Peak demand: 0 words
+    Current cache: 0 words
  
 set mem/size=0.05
 sh sym ferret_memory
-FERRET_MEMORY = "0.2"
+FERRET_MEMORY = "0.05"
  
 set mem/siz=500000  ! too large to allow
 sho sym ferret_memory
-FERRET_MEMORY = "0.2"
+FERRET_MEMORY = "500000"
  
 set mem/siz=25.6  ! return to the default setting
 show memory
- Current size of FERRET memory cache: 25.6 MegaWords  (1 word = 8 bytes)
+    SET MEMORY/SIZE: 25.6 megawords
+    Peak demand: 0 words
+    Current cache: 0 words
  
-GO bn_reset
+GO bn_reset bn605_bug_fixes
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn605_bug_fixes
 GO bn605_bug_fixes
 ! bn604_bug_fixes.jnl
 ! test various fixes that went into version 6.05
@@ -54626,6 +55575,7 @@ GO bn605_bug_fixes
 ! Fix for Bug 1524: irregular axis detected as REGULAR
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err604_irreg_axis.jnl
 ! Bug 1524: irregular axis detected as REGULAR!
  
@@ -54657,6 +55607,7 @@ list t[gt=month_irreg], tbox[gt=month_irreg]
 ! SHOW FUNCTIONS caused a crash or a message
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err605_show_func.jnl
 ! err605_show_func.jnl
 ! Reported by Andrew W.
@@ -54714,6 +55665,8 @@ DNCASE(STR)
 STRCAT(STR1,STR2)
 SUBSTRING(STR,OFFSET,LENGTH)
 STRFLOAT(STR)
+DOT(VAR1,VAR2,IDIM)
+TRANSPOSE(VAR,DIM1,DIM2)
  
 Externally defined functions available to Ferret:
 AVE_SCAT2GRID_T(TPTS,VPTS,TAXIS)
@@ -54738,9 +55691,16 @@ CONVOLVEM(COM,WEIGHT)
 CONVOLVEN(COM,WEIGHT)
 CURV_RANGE(LONGITUDES,LATITUDES,xrange_lo,xrange_hi,yrange_lo,yrange_hi,modulo flag for X coordinates)
 CURV_TO_RECT(V,mapping)
+CURV_TO_RECT_FSU(V,mapping)
 CURV_TO_RECT_MAP(lon_in,lat_in,grid_out,radius)
 DATE1900(formatted date)
 DAYS1900TOYMDHMS(day1900)
+DOT_E(VAR1,VAR2)
+DOT_F(VAR1,VAR2)
+DOT_T(VAR1,VAR2)
+DOT_X(VAR1,VAR2)
+DOT_Y(VAR1,VAR2)
+DOT_Z(VAR1,VAR2)
 ECAT(A,B)
 ECAT_STR(A,B)
 ELEMENT_INDEX(VAR,VALUES)
@@ -54748,13 +55708,24 @@ ELEMENT_INDEX_STR(VAR,STRINGS)
 ELEMENT_INDEX_STR_N(VAR,STRINGS)
 EOF_SPACE(A,frac_timeser)
 EOF_STAT(A,frac_timeser)
+EOFSVD_SPACE(A)
+EOFSVD_STAT(A)
+EOFSVD_TFUNC(A)
 EOF_TFUNC(A,frac_timeser)
 EREVERSE(A)
+EXPND_BY_LEN(var,len,nx)
+EXPND_BY_LEN_STR(var,len,nx)
 EXPNDI_BY(dat,mask,outsize)
+EXPNDI_BY_M_COUNTS(Data,Row Sizes,Result X axis)
+EXPNDI_BY_M_COUNTS_STR(Data,Row Sizes,Result X axis)
 EXPNDI_BY_T(dat,mask,n_profiles,max_profile_len)
 EXPNDI_BY_Z(dat,mask,n_profiles,max_profile_len)
+EXPNDI_BY_Z_COUNTS(dat,counts,max_profile_len)
+EXPNDI_ID_BY_Z_COUNTS(counts,max profile len)
+EXPNDI_TO_ET(var data,time data,Rowsize (E direction),Result T)
 FCAT(A,B)
 FCAT_STR(A,B)
+FC_ISUBSET(index_list,lengths,nx,FullData)
 FFTA(A)
 FFT_IM(A)
 FFT_INVERSE(A,B)
@@ -54765,6 +55736,7 @@ FINDHI(A,XRANGE,YRANGE)
 FINDLO(A,XRANGE,YRANGE)
 FLOATSTR(A,FMT)
 FREVERSE(A)
+FT_TO_ORTHOGONAL(VAR,TIME2D,ALLTIME)
 IS_ELEMENT_OF(VAR,VALUES)
 IS_ELEMENT_OF_STR(VAR,VALUES)
 IS_ELEMENT_OF_STR_N(VAR,VALUES)
@@ -54777,27 +55749,37 @@ MINMAX(A)
 MINUTES24(formatted time)
 NCO(operator,arguments)
 NCO_ATTR(FileName,VariableName,AttributeName,AttType,Mode,AttributeValue)
+PIECEWISE3(V1,V2,V3,Control parameter,Tol1,Tol2,Tol3)
 PT_IN_POLY(A,XVERT,YVERT)
 RECT_TO_CURV(V,lon_bounds_out,lat_bounds_out,missing_allowed)
+SAMPLE_FAST_I(V,Indices)
+SAMPLE_FAST_I_STR(S,Indices)
+SAMPLEF_DATE(DAT_TO_SAMPLE,YR,MO,DAY,HR,MIN,SEC)
 SAMPLEIJ(DAT_TO_SAMPLE,XPTS,YPTS)
 SAMPLEI_MULTI(I_INDICES,DAT_TO_SAMPLE)
 SAMPLEJ_MULTI(J_INDICES,DAT_TO_SAMPLE)
 SAMPLEK_MULTI(K_INDICES,DAT_TO_SAMPLE)
 SAMPLEL_MULTI(L_INDICES,DAT_TO_SAMPLE)
-SAMPLEF_DATE(DAT_TO_SAMPLE,YR,MO,DAY,HR,MIN,SEC)
+SAMPLEM_MULTI(DAT_TO_SAMPLE,M_INDICES)
+SAMPLEN_MULTI(DAT_TO_SAMPLE,N_INDICES)
 SAMPLET_DATE(DAT_TO_SAMPLE,YR,MO,DAY,HR,MIN,SEC)
 SAMPLEXY(DAT_TO_SAMPLE,XPTS,YPTS)
 SAMPLEXY_CLOSEST(DAT_TO_SAMPLE,XPTS,YPTS)
 SAMPLEXY_CURV(DAT_TO_SAMPLE,DAT_LON,DAT_LAT,XPTS,YPTS)
 SAMPLEXY_CURV_AVG(DAT_TO_SAMPLE,DAT_LON,DAT_LAT,XPTS,YPTS)
 SAMPLEXY_CURV_NRST(DAT_TO_SAMPLE,DAT_LON,DAT_LAT,XPTS,YPTS)
+SAMPLEXY_NRST(DAT_TO_SAMPLE,XPTS,YPTS)
 SAMPLEXYT(DAT_TO_SAMPLE,XPTS,YPTS,TPTS)
+SAMPLEXYT_NRST(DAT_TO_SAMPLE,XPTS,YPTS,TPTS)
 SAMPLEXZ(DAT_TO_SAMPLE,XPTS,ZPTS)
 SAMPLEYZ(DAT_TO_SAMPLE,YPTS,ZPTS)
 SCAT2DDUPS(coord 1,coord 2,epsilon 1,epsilon 2)
 SCAT2GRID_BIN_XY(XPTS,YPTS,F,XAXPTS,YAXPTS)
 SCAT2GRID_BIN_XYT(XPTS,YPTS,TPTS,F,XAXPTS,YAXPTS,TAXPTS)
 SCAT2GRID_BIN_XYZ(XPTS,YPTS,ZPTS,F,XAXPTS,YAXPTS,ZAXPTS)
+SCAT2GRID_BIN_XYZT(XPTS,YPTS,ZPTS,TPTS,F,XAXPTS,YAXPTS,ZAXPTS,TAXPTS)
+SCAT2GRID_MINMAX_XYT(XPTS,YPTS,TPTS,F,XAXPTS,YAXPTS,TAXPTS)
+SCAT2GRID_STD_XYT(XPTS,YPTS,TPTS,F,XAXPTS,YAXPTS,TAXPTS)
 SCAT2GRIDGAUSS_XT(XPTS,TPTS,F,XAXPTS,TAXPTS,XSCALE,TSCALE,CUTOFF,0)
 SCAT2GRIDGAUSS_XT_V0(XPTS,TPTS,F,XAXPTS,TAXPTS,XSCALE,TSCALE,CUTOFF,0)
 SCAT2GRIDGAUSS_XY(XPTS,YPTS,F,XAXPTS,YAXPTS,XSCALE,YSCALE,CUTOFF,0)
@@ -54821,6 +55803,8 @@ SCAT2GRID_NBIN_XYT(XPTS,YPTS,TPTS,F,XAXPTS,YAXPTS,TAXPTS)
 SCAT2GRID_NOBS_XY(XPTS,YPTS,XAXPTS,YAXPTS)
 SCAT2GRID_NOBS_XYT(XPTS,YPTS,TPTS,XAXPTS,YAXPTS,TAXPTS)
 SCAT2GRID_T(TPTS,TAXIS)
+SEPARATE(A,Rowsize,FixLongitudes)
+SEPARATE_STR(A,Rowsize,FixLongitudes)
 SORTI(DAT)
 SORTI_STR(STR)
 SORTJ(DAT)
@@ -54833,6 +55817,9 @@ SORTM(DAT)
 SORTM_STR(STR)
 SORTN(DAT)
 SORTN_STR(STR)
+STR_MASK(STRING,MASK,--)
+STR_NOBLANKS(STR)
+STR_REPLACE(INSTRING,S1,S2)
 TAUTO_COR(A)
 TAX_DATESTRING(A,B,C)
 TAX_DAY(A,B)
@@ -54848,15 +55835,28 @@ TAX_YEARFRAC(A,B)
 TCAT(A,B)
 TCAT_STR(A,B)
 TEST_OPENDAP(url)
+TIME_REFORMAT(A)
+TRACKS2GRID_MASK_AVE_XYT(VAR,XPTS,YPTS,TPTS,ICRUISE,XAXPTS,YAXPTS,TAXPTS,MASK)
+TRACKS2GRID_STD_XYT(VARIABLE,XPTS,YPTS,TPTS,ICRUISE,XAXPTS,YAXPTS,TAXPTS)
+TRANSPOSE_EF(VAR)
+TRANSPOSE_TE(VAR)
+TRANSPOSE_TF(VAR)
+TRANSPOSE_XE(VAR)
+TRANSPOSE_XF(VAR)
 TRANSPOSE_XT(VAR)
 TRANSPOSE_XY(VAR)
 TRANSPOSE_XZ(VAR)
+TRANSPOSE_YE(VAR)
+TRANSPOSE_YF(VAR)
 TRANSPOSE_YT(VAR)
 TRANSPOSE_YZ(VAR)
+TRANSPOSE_ZE(VAR)
+TRANSPOSE_ZF(VAR)
 TRANSPOSE_ZT(VAR)
 TREVERSE(A)
 UNIQUE_STR2INT(A)
 WRITE_WEBROW(id,name,Cruise_Mask,filename)
+WRITE_WEBROW_GWT(id,name,Cruise_Mask,filename)
 XAUTO_COR(A)
 XCAT(A,B)
 XCAT_STR(A,B)
@@ -54871,34 +55871,6 @@ ZAXREPLACE_ZLEV(V,THICKNESS,ZAX)
 ZCAT(A,B)
 ZCAT_STR(A,B)
 ZREVERSE(A)
-EOFSVD_SPACE(A)
-EOFSVD_STAT(A)
-EOFSVD_TFUNC(A)
-EXPND_BY_LEN(var,len,nx)
-EXPND_BY_LEN_STR(var,len,nx)
-FC_ISUBSET(index_list,lengths,nx,FullData)
-EXPNDI_BY_Z_COUNTS(dat,counts,max_profile_len)
-EXPNDI_ID_BY_Z_COUNTS(counts,max profile len)
-EXPNDI_BY_M_COUNTS(dat,counts,max_row_len)
-STR_MASK(STRING,MASK,--)
-SAMPLEXYT_NRST(DAT_TO_SAMPLE,XPTS,YPTS,TPTS)
-SEPARATE(A,Rowsize,FixLongitudes)
-TIME_REFORMAT(A)
-FT_TO_ORTHOGONAL(VAR,TIME2D,ALLTIME)
-CURV_TO_RECT_FSU(V,mapping)
-PIECEWISE3(V1,V2,V3,Control parameter,Tol1,Tol2,Tol3)
-SAMPLE_FAST_I(V,Indices)
-SAMPLE_FAST_I_STR(S,Indices)
-SEPARATE_STR(A,Rowsize,FixLongitudes)
-WRITE_WEBROW_GWT(id,name,Cruise_Mask,filename)
-BXCAT(A,B)
-BXSEQUENCE(A)
-BXSEQUENCE_STR(A)
-BCOMPRESSI(DAT)
-SCAT2GRID_BIN_XYZT(XPTS,YPTS,ZPTS,TPTS,F,XAXPTS,YAXPTS,ZAXPTS,TAXPTS)
-STR_NOBLANKS(STR)
-STR_REPLACE(INSTRING,S1,S2)
-EXPNDI_TO_ET(var data,time data,Rowsize (E direction),Result T)
 ADD_9(A,B,C,D,E,F,G,H,I)
 APPENDE(ENS,VAR)
 AVET(A)
@@ -54928,8 +55900,10 @@ STUDENT_T_CUTOFF(P,nf)
 SUBTRACT(A,B)
  
  
-GO bn_reset
+GO bn_reset bn608_bug_fixes
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn608_bug_fixes
 GO bn608_bug_fixes
 ! bn608_bug_fixes
 ! test various fixes that went into version 6.08
@@ -54938,6 +55912,7 @@ GO bn608_bug_fixes
 ! Fix for Bug 1539: SHOW VAR/XML
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err607_show_var_xml
 ! Bug 1539 SHOW VAR/XML didnt show all vars.
  
@@ -55024,6 +55999,7 @@ show var/xml
 ! err607_set_new_history_att
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err607_set_new_history_att
 ! err607_set_new_history_att.jnl
 ! Previously if we set a history attribute on a user-defined variable that
@@ -55052,6 +56028,7 @@ show att/all var
 ! Symbols YAXIS_MIN, YAXIS_MAX were 0 when values small
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err607_axis_minmax_syms
 ! Bug 1542
 ! Symbols YAXIS_MIN, YAXIS_MAX were 0 when values small
@@ -55099,6 +56076,7 @@ YAXNAM = "YAX_LEV94"
 ! Error message for too many contour levels requested
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err607_lev_errmsg
 ! err607_lev_errmsg.F
 ! Make the error message more detailed, saying it is the choice of
@@ -55112,8 +56090,10 @@ SET MODE/LAST ignore
  
 ! ******** V6.1 Additions below ***********
  
-GO bn_reset
+GO bn_reset bn_shade_trim
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_shade_trim
 GO bn_shade_trim
 ! bn_shade_trim.jnl
 ! Test new qualifier SHADE/TRIM which trims the region of
@@ -55149,8 +56129,10 @@ YAXIS_MIN = "30.5000000"
 YAXIS_MAX = "43.5000000"
  
  
-GO bn_reset
+GO bn_reset bn_mode_nlevels
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_mode_nlevels
 GO bn_mode_nlevels
 ! bn_mode_nlevels.jnl
 ! 3-mar-2008
@@ -55193,8 +56175,10 @@ LEV_DEL = "0.5"
 set mode nlevels 40
  
  
-GO bn_reset
+GO bn_reset bn61_bug_fixes
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn61_bug_fixes
 GO bn61_bug_fixes
 ! bn608_bug_fixes
 ! test various fixes that went into version 6.1
@@ -55204,6 +56188,7 @@ GO bn61_bug_fixes
 ! Error processing parentheses on abstract axis names.
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err608_bug1556
 ! err608_bug1556.jnl
 ! Error processing parentheses on abstract axis names.
@@ -55231,6 +56216,7 @@ SAVE/FILE=a.nc/CLOBBER sst[i=1:5:1,j=1:5:1,l=1:1:1]
 ! Precision of immediate-mode output of negative values
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err608_precision_neg_numbers
 ! err608_precision_neg_numbers.jnl
 ! ACM 1/2/2008
@@ -55252,8 +56238,10 @@ SAY `1.23456789e-15,prec=10`
  
  
 ! ******** V6.11 Additions below ***********
-GO bn_reset
+GO bn_reset bn_test_opendap
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_test_opendap
 GO bn_test_opendap
 ! Test the test_opendap function: returns 0 if successful, or error code if not.
 SET MODE IGNORE
@@ -55263,8 +56251,8 @@ SET MODE IGNORE
 !!list test_opendap ("http://iridl.ldeo.NOT.columbia.edu/SOURCES/.LEVITUS/.MONTHLY/.temp/dods")
  
 !! Change to another server, this one not working 8/2012
-list test_opendap ("http://ferret.pmel.noaa.gov/thredds/dodsC/data/PMEL/WOA05nc/monthly/s0112an1.nc")
-             VARIABLE : TEST_OPENDAP ("http://ferret.pmel.noaa.gov/thredds/dodsC/data/PMEL/WOA05nc/monthly/s0112an1.nc")
+list test_opendap ("http://ferret.pmel.noaa.gov/pmel/thredds/dodsC/data/PMEL/WOA05nc/monthly/s0112an1.nc")
+             VARIABLE : TEST_OPENDAP ("http://ferret.pmel.noaa.gov/pmel/thredds/dodsC/data/PMEL/WOA05nc/monthly/s0112an1.nc")
              X        : 1
           0.0000000
 list test_opendap ("http://ferret.pmel.NOT.noaa.gov/thredds/dodsC/data/PMEL/WOA05nc/monthly/s0112an1.nc")
@@ -55275,14 +56263,17 @@ list test_opendap ("http://ferret.pmel.NOT.noaa.gov/thredds/dodsC/data/PMEL/WOA0
  
 CANCEL MODE IGNORE
  
-GO bn_reset
+GO bn_reset bn611_bug_fixes
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn611_bug_fixes
 GO bn611_bug_fixes
 ! bn611_bug_fixes.jnl
 ! Fixes that go into v6.11 release
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err61_write_bounds
 ! err61_write_bounds.jnl
 ! test fixes for bugzilla 1534: write correct bounds
@@ -55312,6 +56303,7 @@ sp ncdump a.nc >> all_ncdump.out
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err61_poly_shade_over_noaxes
 ! err61_poly_shade_over_noaxes.jnl
 ! See bug 1571
@@ -55362,6 +56354,7 @@ go polymark poly/lev=(-5,30,1)/fill/line=1/nolab/over v1 v2 v3 circle 2
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err61_context_scalar_strings
 ! err61_context_scalar_strings.jnl
 ! Bug 1558, first present in Ferret v6.02
@@ -55378,6 +56371,7 @@ say `"a" EQ "a"`
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err61_exit_script
 ! Bug 1566 Andrew Wittenberb
 !
@@ -55524,6 +56518,7 @@ exit/script
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err61_new_attr_on_axis
 ! err61_new_attr_on_axis.jnl
 ! For any var or axis, allow adding an attribute
@@ -55556,6 +56551,7 @@ sp ncdump -h a.nc >> all_ncdump.out
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO bn_varcontext_attributes
 ! Examples from bn_attributes, where instead of var.att[specifiers]
 ! we use var[specifiers].att  where appropriate.
@@ -55616,6 +56612,7 @@ list lnames
  
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
  
  
 !-----
@@ -55656,6 +56653,7 @@ say `($yaxnam)[d=1].nattrs`
  
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
  
 !-----
 ! more on access to attribute names and values as variables
@@ -55674,12 +56672,10 @@ list/d=3 a
 list temp[d=3].units
              VARIABLE : TEMP[D=ocean_atlas_temp].UNITS
              FILENAME : gt4d011.cdf
-             X        : 1
         "Deg C"
 list/d=3 temp.history
              VARIABLE : TEMP.HISTORY
              FILENAME : ocean_atlas_temp.cdf
-             X        : 1
         "From ocean_atlas_monthly"
  
 can data/all
@@ -55699,6 +56695,7 @@ list a[i=2]
  
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
  
 ! When the variable context is given in an attribute
 ! spec, we want to ignore the information except for the
@@ -55710,7 +56707,6 @@ list ($ferret_plot_var).long_name
  !-> list sst[x=30:39,y=-90:90].long_name
              VARIABLE : SST[X=30:39,Y=-90:90].LONG_NAME
              FILENAME : coads_climatology.cdf
-             X        : 1
         "SEA SURFACE TEMPERATURE"
  
 use coads_climatology
@@ -55719,7 +56715,6 @@ list ($ferret_plot_var).units
  !-> list sst[d=1,x=30:35,y=-90:90].units
              VARIABLE : SST[D=coads_climatology,X=30:35,Y=-90:90].UNITS
              FILENAME : coads_climatology.cdf
-             X        : 1
         "Deg C"
  
 use coads_climatology
@@ -55729,11 +56724,11 @@ list ($ferret_plot_var).history
  !-> list sst[d=1,x=30:35,y=-90:90].history
              VARIABLE : SST[D=coads_climatology,X=30:35,Y=-90:90].HISTORY
              FILENAME : levitus_climatology.cdf
-             X        : 1
         "From coads_climatology"
  
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
  
 use levitus_climatology
 use coads_climatology
@@ -55747,18 +56742,17 @@ list ($xaxnam)[d=1].modulo
  !-> list (XAXLEVITR1_160)[d=1].modulo
              VARIABLE : (XAXLEVITR1_160)[D=levitus_climatology].MODULO
              FILENAME : coads_climatology.cdf
-             X        : 1
         " "
 list ($yaxnam).point_spacing[d=1]
  !-> list (YAXLEVITR1_90).point_spacing[d=1]
              VARIABLE : (YAXLEVITR1_90).POINT_SPACING[D=levitus_climatology]
              FILENAME : levitus_climatology.cdf
-             X        : 1
         "even"
  
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err61_show_dat_var_xml
 ! err61_show_dat_var_xml.jnl
 ! See bug 1580. Intermediate variablels associated with a
@@ -55919,6 +56913,7 @@ SHOW DATA/VAR/XML 2
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err61_360_calendar
 ! err61_360_calendar.jnl
 !
@@ -55944,6 +56939,7 @@ define axis/t=30-feb-1909:07-mar-1909:2/units=days/t0=1-jan-1909/calendar=d360 t
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err611_exit_if.jnl
 ! err611_exit_if.jnl
 !
@@ -55970,6 +56966,7 @@ exit/script
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err611_save_irreg.jnl
 ! err611_save_irreg.jnl
 !
@@ -55994,8 +56991,10 @@ save/clob/file=b.nc b
  
  
 ! ******** V6.13 Additions below ***********
-GO bn_reset
+GO bn_reset bn_no_valid_on_plot
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_no_valid_on_plot
 GO bn_no_valid_on_plot
 ! bn_no_valid_on_plot.jnl
 ! Bug 1038 points out that the No Valid Data label that is
@@ -56075,8 +57074,10 @@ VECTOR/Y=80:90 sst[L=1], sst[L=1]
  
 SET MODE/last nodata_lab
  
-GO bn_reset
+GO bn_reset bn_median
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_median
 GO bn_median
 ! Test median smoothing tranform
 ! Default length is 3
@@ -56183,14 +57184,17 @@ plot/trans var, var[z=@med:4]
 set mode/last ignore
  
  
-GO bn_reset
+GO bn_reset bn614_bug_fixes
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn614_bug_fixes
 GO bn614_bug_fixes
 ! bn614_bug_fixes.jnl
 ! Fixes that go into v6.14 release
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err611_axislab
 ! err611_axislab.jnl
 ! Fix bug 1582: Horizontal axis label disappeared
@@ -56205,6 +57209,7 @@ ppl plot
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err61_360_calendar
 ! err61_360_calendar.jnl
 !
@@ -56230,6 +57235,7 @@ define axis/t=30-feb-1909:07-mar-1909:2/units=days/t0=1-jan-1909/calendar=d360 t
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err611_exit_if.jnl
 ! err611_exit_if.jnl
 !
@@ -56256,6 +57262,7 @@ exit/script
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err611_save_irreg.jnl
 ! err611_save_irreg.jnl
 !
@@ -56280,6 +57287,7 @@ save/clob/file=b.nc b
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err611_wrong_fineaxis_range
 ! err611_wrong_fineaxis_range.jnl
 ! Bug 1594
@@ -56350,6 +57358,7 @@ say `the_plot_var,return=size`
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err611_digit_filename
 ! err611_digit_filename.jnl
 ! Under linux, FILE command fails if filename
@@ -56449,6 +57458,7 @@ SHOW DATA
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err611_parse_semicolon
 ! err611_parse_semicolon.jnl
 ! Bug 1608. The first time it was issued, the first command
@@ -56469,6 +57479,7 @@ c (d; say a ; b
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err611_ov_ax
 ! err611_ov_ax.jnl
 !
@@ -56489,6 +57500,7 @@ set v lr; ppl axlabp 0 0; plot/nolab {-1,1,6}
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err611_context_after_error
 ! err611_context_after_error.jnl
 ! ACM 11/12/08
@@ -56573,6 +57585,7 @@ SET MODE/LAST ignore_error
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err611_isize_gc_fcns
 ! err611_isize_gc_fcns.jnl
 ! ACM 11/13/2008
@@ -56616,6 +57629,7 @@ SAY `XSEQUENCE(a),RETURN=size`
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err611_return_precision
 ! err611_return_precision.jnl
 ! 17-Nov-08 ACM
@@ -56766,6 +57780,7 @@ a-950
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err611_set_var_ez
 ! err611_set_var_ez.jnl
 ! 6-Jan-2009
@@ -56793,8 +57808,8 @@ SHOW DAT/ATT
   
  .                               history         CHAR        7    F       dat.dat
   
- my_asc                FLOAT     long_name       CHAR        11   T       chlorophyll
-                                 missing_value   FLOAT       1    T       3
+ my_asc                DOUBLE    long_name       CHAR        11   T       chlorophyll
+                                 missing_value   DOUBLE      1    T       3
                                  units           CHAR        12   T       micrograms/L
   
 SAVE/FILE=a.nc/CLOBBER my_asc
@@ -56812,6 +57827,7 @@ SP ncdump -h a.nc >> all_ncdump.out
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err611_convert_missing_type
 ! err611_convert_missing_type.jnl
 ! Fix for bug 1620 message about converting data type of
@@ -56834,6 +57850,7 @@ SAVE/CLOBBER/FILE=lonlat.nc lat, lon
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err611_shade_fill_levs
 ! err611_shade_fill_levs.jnl
 ! 2/27/2009
@@ -56857,6 +57874,7 @@ LEV_DEL = "0.02"
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err611_set_uvar_outtyp
 ! err611_set_uvar_outtyp.jnl
 ! fix for bug 1646: set outtype for user variables.
@@ -56879,6 +57897,7 @@ SP ncdump a.nc >> all_ncdump.out
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err611_save_from_desc
 ! err611_save_from_desc.jnl
 !
@@ -56890,6 +57909,7 @@ save/clobber/file=a.nc/i=100 sst
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err611_irregular_axis
  ! err611_irregular_axis.jnl
  
@@ -56920,6 +57940,7 @@ sh grid cc
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err611_ef_string_result
 ! err611_ef_string_result.jnl
 ! testing the fix for bug 1621
@@ -57005,6 +58026,7 @@ list xt
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err61_contour_subspan_reps
 ! err61_contour_subspan_reps.jnl
 ! Bug 1659.
@@ -57042,8 +58064,10 @@ cont/ov/x=-360:360 b
  
  
 ! ******** V6.14 Additions below ***********
-GO bn_reset
+GO bn_reset bn_mode_nodata_lab
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_mode_nodata_lab
 GO bn_mode_nodata_lab
 ! bn_mode_nodata_lab
 ! turns off the No Valid Data label on plots
@@ -57074,8 +58098,10 @@ contour/fill/y=40:50/x=70e:110e/L=1 vwnd
 set mode/last nodata_lab
  
  
-GO bn_reset
+GO bn_reset bn_proleptic_gregorian_calendar
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_proleptic_gregorian_calendar
 GO bn_proleptic_gregorian_calendar
 ! proleptic_gregorian_calendar.jnl
 ! Allow PROLEPTIC_GREGORIAN as a calendar attribute
@@ -57095,8 +58121,10 @@ T0 = 15-JAN-1901
 CALENDAR = ALL_LEAP
    Axis span (to cell edges) = 733
  
-GO bn_reset
+GO bn_reset bn_string_ngd_nbd
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_string_ngd_nbd
 GO bn_string_ngd_nbd
 ! @NGD and @NBD for strings
 ! Bad data is taken to be the null string
@@ -57414,8 +58442,10 @@ list av[i=@ngd,j=@ngd,k=@ngd,L=@ngd]
              T        : 0.5 to 2.5 (XYZT # valid)
           16.00000
  
-GO bn_reset
+GO bn_reset bn_cat_string
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_cat_string
 GO bn_cat_string
 ! bn_cat_string.jnl
 ! Test concatenation functions for string variables
@@ -57483,8 +58513,10 @@ list tcat(a,b)
  5   / 5:"V"
  6   / 6:"W"
  
-GO bn_reset
+GO bn_reset bn_sort_strings
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_sort_strings
 GO bn_sort_strings
 ! bn_sort_strings.jnl
 ! 11/08 acm
@@ -57662,8 +58694,10 @@ list indx_bl, samplel(bl,indx_bl)
 7   / 7:      .... ""   
  
  
-GO bn_reset
+GO bn_reset bn_samplexyt
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_samplexyt
 GO bn_samplexyt
 ! bn_samplexyt.jnl
 ! 1/2009
@@ -57735,8 +58769,10 @@ plot/vs/color=red/over tpts, sampl_pts
  
 set mode calendar
  
-GO bn_reset
+GO bn_reset bn_last_go_file.jnl
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_last_go_file.jnl
 GO bn_last_go_file.jnl
 ! bn_last_go_file.jnl
 ! test the automatically-defined symbol LAST_GO_FILE
@@ -57745,8 +58781,10 @@ show sym last_go_file
 LAST_GO_FILE = "./bn_last_go_file.jnl"
  
  
-GO bn_reset
+GO bn_reset bn_cancel_upcase_uservar.jnl
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_cancel_upcase_uservar.jnl
 GO bn_cancel_upcase_uservar.jnl
 ! bn_cancel_upcase_uservar.jnl
 !
@@ -57780,8 +58818,10 @@ SP ncdump -h a.nc >> all_ncdump.out
  
 SET MODE/LAST upcase_output
  
-GO bn_reset
+GO bn_reset bn_cdf_keepax.jnl
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_cdf_keepax.jnl
 GO bn_cdf_keepax.jnl
 ! bn320_cdf
 ! benchmark to test netCDF input and output
@@ -58635,8 +59675,10 @@ list/x=180 fcn_rev_sub
  0    / 11:  0.0000000
  1S   / 10:  0.3165727
  
-GO bn_reset
+GO bn_reset bn_keep_axisnames.jnl
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_keep_axisnames.jnl
 GO bn_keep_axisnames.jnl
 ! bn_keep_axisnames.jnl
 ! 2/2009 ACM
@@ -58665,8 +59707,10 @@ sp echo "bn_keep_axisnames.jnl --- without /KEEP_AXISNAMES" >> all_ncdump.out
 sp ncdump -h a.nc >> all_ncdump.out
  
  
-GO bn_reset
+GO bn_reset bn_key_label_minmax.jnl
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_key_label_minmax.jnl
 GO bn_key_label_minmax.jnl
 ! bn_key_label_minmax.jnl
  
@@ -58749,14 +59793,17 @@ shade/lev=35 sst[L=1]
  
  
 ! ******** V6.2 Additions below ***********
-GO bn_reset
+GO bn_reset bn62_bug_fixes.jnl
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn62_bug_fixes.jnl
 GO bn62_bug_fixes.jnl
 ! bn62_bug_fixes.jnl
 ! Fixes that go into v6.2 release
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err618_julday.jnl
 ! err618_julday.jnl
 ! Bug 1639
@@ -58806,6 +59853,7 @@ list/t=27-feb-1999:02-mar-1999 rjulianday
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err611_polygons.jnl
 ! err611_polygons.jnl
 ! bug 1661
@@ -58823,8 +59871,10 @@ plot/title="vertical profile" yp4
 GO error_bars polygon/color=red/thickness=2/title="variability" yp4 errors
  
  
-GO bn_reset
+GO bn_reset bn_convolve.jnl
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_convolve.jnl
 GO bn_convolve.jnl
 ! bn_convolve.jnl
 ! test convolutions, including with missing-data.
@@ -58954,8 +60004,10 @@ list a, a[i=@spz], convolvei(a,{.25,.5,.25})
  
  
  
-GO bn_reset
+GO bn_reset bn_tax_tstep.jnl
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_tax_tstep.jnl
 GO bn_tax_tstep.jnl
 ! bn_tax_tstep.jnl
 !
@@ -59069,8 +60121,10 @@ LIST/L=1:15 TAX_TSTEP(tt, "`reset_date`")
  01-JAN-1902 00:01:05 / 14:  65.00000
  01-JAN-1902 00:01:10 / 15:  70.00000
  
-GO bn_reset
+GO bn_reset bn_grads_z.jnl
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_grads_z.jnl
 GO bn_grads_z.jnl
 ! bn_grads_z.jnl
 ! acm 3/31/09
@@ -59135,12 +60189,16 @@ SH GRID am
  CAXIS     DEPTH (m)            5 r-  2                    10                  full
  normal    T
  
+GO bn_reset bn_clock_syms
+cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_clock_syms
 GO bn_clock_syms
 SH SYM delta_cpu, clock_secs, current_date, current_time
-DELTA_CPU = "47.3968"
-CLOCK_SECS = "70.492"
-CURRENT_DATE = "15-Feb-17"
-CURRENT_TIME = "11:28:31"
+DELTA_CPU = "95.9394"
+CLOCK_SECS = "129.132"
+CURRENT_DATE = "12-Jul-17"
+CURRENT_TIME = "09:53:29"
 ! test special symbols DELTA_CPU, CLOCK_SECS
 !
 ! NOTE THAT THE VALUES OF THE SYMBOLS WILL VARY FROM ONE
@@ -59149,8 +60207,8 @@ CURRENT_TIME = "11:28:31"
 use gt4d011
 shade/k=1 temp[L=@ave]
 sh sym DELTA_CPU, CLOCK_SECS
-DELTA_CPU = "0.034995"
-CLOCK_SECS = "70.557"
+DELTA_CPU = "0.079988"
+CLOCK_SECS = "129.293"
  
 repeat/k=1:10 shade temp[L=@ave]
 !-> REPEAT: K=1
@@ -59164,60 +60222,60 @@ repeat/k=1:10 shade temp[L=@ave]
 !-> REPEAT: K=9
 !-> REPEAT: K=10
 let ten_plots = ($DELTA_CPU)
- !-> DEFINE VARIABLE ten_plots = 0.213968
+ !-> DEFINE VARIABLE ten_plots = 0.506922
 sh sym DELTA_CPU, CLOCK_SECS
 DELTA_CPU = "0.001"
-CLOCK_SECS = "71.225"
+CLOCK_SECS = "130.91"
  
 let  sumclock = 0
 let  sumcpu = 0
 sh sym CLOCK_SECS
-CLOCK_SECS = "71.226"
+CLOCK_SECS = "130.912"
 repeat/k=1:10 (shade/pal=rnb2 temp[L=@ave]; let dt = ($DELTA_CPU);\
 let sumcpu =`sumcpu + dt`)
  !-> repeat/k=1:10 (shade/pal=rnb2 temp[L=@ave]; let dt = ($DELTA_CPU);let sumcpu =`sumcpu + dt`)
 !-> REPEAT: K=1
- !-> DEFINE VARIABLE dt = 0.028995
- !-> DEFINE VARIABLE sumcpu =0.028995
+ !-> DEFINE VARIABLE dt = 0.06799
+ !-> DEFINE VARIABLE sumcpu =0.06799
 !-> REPEAT: K=2
- !-> DEFINE VARIABLE dt = 0.025996
- !-> DEFINE VARIABLE sumcpu =0.054991
+ !-> DEFINE VARIABLE dt = 0.052992
+ !-> DEFINE VARIABLE sumcpu =0.120982
 !-> REPEAT: K=3
- !-> DEFINE VARIABLE dt = 0.030995
- !-> DEFINE VARIABLE sumcpu =0.085986
+ !-> DEFINE VARIABLE dt = 0.050992
+ !-> DEFINE VARIABLE sumcpu =0.171974
 !-> REPEAT: K=4
- !-> DEFINE VARIABLE dt = 0.030995
- !-> DEFINE VARIABLE sumcpu =0.116981
+ !-> DEFINE VARIABLE dt = 0.053992
+ !-> DEFINE VARIABLE sumcpu =0.225966
 !-> REPEAT: K=5
- !-> DEFINE VARIABLE dt = 0.025997
- !-> DEFINE VARIABLE sumcpu =0.142978
+ !-> DEFINE VARIABLE dt = 0.051992
+ !-> DEFINE VARIABLE sumcpu =0.277958
 !-> REPEAT: K=6
- !-> DEFINE VARIABLE dt = 0.027995
- !-> DEFINE VARIABLE sumcpu =0.170973
+ !-> DEFINE VARIABLE dt = 0.050992
+ !-> DEFINE VARIABLE sumcpu =0.32895
 !-> REPEAT: K=7
- !-> DEFINE VARIABLE dt = 0.024996
- !-> DEFINE VARIABLE sumcpu =0.195969
+ !-> DEFINE VARIABLE dt = 0.053992
+ !-> DEFINE VARIABLE sumcpu =0.382942
 !-> REPEAT: K=8
- !-> DEFINE VARIABLE dt = 0.028996
- !-> DEFINE VARIABLE sumcpu =0.224965
+ !-> DEFINE VARIABLE dt = 0.054991
+ !-> DEFINE VARIABLE sumcpu =0.437933
 !-> REPEAT: K=9
- !-> DEFINE VARIABLE dt = 0.029996
- !-> DEFINE VARIABLE sumcpu =0.254961
+ !-> DEFINE VARIABLE dt = 0.050993
+ !-> DEFINE VARIABLE sumcpu =0.488926
 !-> REPEAT: K=10
- !-> DEFINE VARIABLE dt = 0.027996
- !-> DEFINE VARIABLE sumcpu =0.282957
+ !-> DEFINE VARIABLE dt = 0.052992
+ !-> DEFINE VARIABLE sumcpu =0.541918
  
 say `sumcpu`
- !-> MESSAGE/CONTINUE 0.282957
-0.282957
+ !-> MESSAGE/CONTINUE 0.541918
+0.541918
 sh sym CLOCK_SECS
-CLOCK_SECS = "72.42"
+CLOCK_SECS = "133.553"
  
 SH SYM session_date, current_date, session_time, current_time
-SESSION_DATE = "15-Feb-17"
-SESSION_TIME = "11:27"
-CURRENT_DATE = "15-Feb-17"
-CURRENT_TIME = "11:28:32"
+SESSION_DATE = "12-Jul-17"
+SESSION_TIME = "09:51"
+CURRENT_DATE = "12-Jul-17"
+CURRENT_TIME = "09:53:33"
  
  
 ! ******** V6.3 Additions below ***********
@@ -59225,14 +60283,17 @@ CURRENT_TIME = "11:28:32"
 ! window, not only in window 1, is implemented in v6.3. Not
 ! tested in the benchmarks.
  
-GO bn_reset
+GO bn_reset bn63_bug_fixes.jnl
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn63_bug_fixes.jnl
 GO bn63_bug_fixes.jnl
 ! bn63_bug_fixes.jnl
 ! Fixes that go into v6.3 release
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err62_string_write_nc
 ! err62_string_write_nc.jnl
 ! Bug 1664: string variable written as a float.
@@ -59311,6 +60372,7 @@ list cruise_id_xz
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err62_levset
 ! err62_levset.jnl
 ! fix for bug 1672, top color level chopped off in some circumstances
@@ -59322,6 +60384,7 @@ shade/x=350:390/y=1:10/lev=(376.6,379.0,0.8)(379.0,385.4,0.2) var
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err62_thick_tic_time_axis
 ! err62_thick_tic_time_axis.jnl
 ! Fixing bug 1668
@@ -59375,6 +60438,7 @@ set win/new
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err62_reset_after_inf
 ! err62_reset_after_inf.jnl
 ! Bug 1292
@@ -59394,6 +60458,7 @@ cancel mode meta
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err62_reversed_up
 ! err62_reversed_up.jnl
 !
@@ -59440,6 +60505,7 @@ list z[gz=temp], zboxlo[gz=temp], zboxhi[gz=temp]
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err62_samplexy
 ! err62_samplexy
 ! bug 1677
@@ -59474,6 +60540,7 @@ list sr
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err62_one_point_bounds
 ! err62_one_point_bounds.jnl
 ! Bug 1680
@@ -59506,6 +60573,7 @@ I / *:     5.000000  4.890000  5.110000
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err62_cos_lat_uncentered
 !err62_cos_lat_uncentered.jnl
 ! See this thread, here is the esample, with his test.nc renamed to uncentered.nc
@@ -59654,6 +60722,7 @@ list cell18[x=@din,y=@din]/total_area
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err62_if_inside_repeat
 ! err62_if_inside_repeat.jnl
 ! Bug 1681. Parsing error when, inside the REPEAT, we have
@@ -59720,6 +60789,7 @@ done
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err62_title_curvi_plot
 ! err62_title_curvi_plot.jnl
 ! bug 1669; when the variable and its coordinate variables
@@ -59757,6 +60827,7 @@ LABTIT = "SEA SURFACE TEMPERATURE (Deg C)"
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go err62_save_missingcoordvar
 ! err62_save_missingcoordvar.jnl
 ! see bug 1686
@@ -59773,6 +60844,7 @@ save/clobber/file=a.nc sst
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err62_contourbug
 ! err62_contourbug.jnl
 ! Bug 1688
@@ -59795,6 +60867,7 @@ fill/hlimits=-100:400:50 0.0000001*(xb2+zb)^3,xb2,zb
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err62_append_irreg_to_reg
 ! err62_append_irreg_to_reg.jnl
 ! bug 1692
@@ -59827,6 +60900,7 @@ SET MODE/LAST IGNORE
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err62_axis_stride_off
 ! err62_axis_stride_off.jnl
 ! fixing bug 1689: offset shifted by 1 so /OFFSET=0 >> start index = 1
@@ -59861,7 +60935,7 @@ LIST var
  16-JAN-1969 / 20:  0.6617913
  
 CAN AXIS/STRIDE `var,return=taxis`
- !-> CAN AXIS/STRIDE (AX144)
+ !-> CAN AXIS/STRIDE (AX143)
 SET AXIS/STRIDE=12/OFFSET=11 truemonth ! every December
 LIST var
              VARIABLE : COS(T[GT=TRUEMONTH]/100)
@@ -59890,7 +60964,7 @@ LIST var
 SET MODE IGNORE_ERRROR
 ! Previously didnt check for negative offset value
 CAN AXIS/STRIDE `var,return=taxis`
- !-> CAN AXIS/STRIDE (AX135)
+ !-> CAN AXIS/STRIDE (AX137)
 SET AXIS/STRIDE=12/OFFSET=-1 truemonth
  
 ! Previously didnt give err msg; just ignored non-positive stride value
@@ -59904,6 +60978,7 @@ SET MODE/LAST IGNORE
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err62_compound_string_conditional
 ! err62_compound_string_conditional
 ! Bug 1380
@@ -59934,8 +61009,10 @@ LIST 1 EQ 2 OR "A" EQ "B"    ! should be 0
           0.0000000
  
  
-GO bn_reset
+GO bn_reset bn_axis_reversed_syms
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_axis_reversed_syms
 GO bn_axis_reversed_syms
 ! bn_axis_reversed_syms.jnl
 ! XAXIS_REVERSED and YAXIS_REVERSED are
@@ -60021,8 +61098,10 @@ XAXIS_REVERSED = "0"
 YAXIS_REVERSED = "1"
  
  
-GO bn_reset
+GO bn_reset bn_isdepth
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_isdepth
 GO bn_isdepth
 ! Tests of `var,RETURN=ISDEPTH`
  
@@ -60057,8 +61136,10 @@ say `temp,return=isdepth`
 0
  
  
-GO bn_reset
+GO bn_reset bn_var_hist_levels.jnl
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_var_hist_levels.jnl
 GO bn_var_hist_levels.jnl
 ! bn_var_hist_levels.jnl
 ! Syntax for variance-based or histogram-based levels
@@ -60120,8 +61201,10 @@ shade/line/key/lev=50h/title="/LEV=50h" cvar[K=1]
  
 ! ******** V6.4 Additions below ***********
  
-GO bn_reset
+GO bn_reset bn64_bug_fixes
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn64_bug_fixes
 GO bn64_bug_fixes
 ! bn64_bug_fixes.jnl
 ! Fixes that go into v6.4 release
@@ -60131,6 +61214,7 @@ GO bn64_bug_fixes
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err63_days1900toydmhms
 ! err63_days1900toydmhms.jnl
 !
@@ -60155,6 +61239,7 @@ list/k=2:3 tpts
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err63_log_vaxis
 ! err63_log_vaxis.jnl
 ! fix for bug 1708
@@ -60173,6 +61258,7 @@ plot/vlog z[gz=vert_axis_dn]
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err63_delim_E.jnl
 ! err63_delim_E.jnl
 ! bug 1700
@@ -60210,8 +61296,10 @@ list v1
              X        : 1
         "ZAIRA"
  
-GO bn_reset
+GO bn_reset bn_long_grid_names
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_long_grid_names
 GO bn_long_grid_names
 ! bn_long_grid_names.jnl
 ! test longer grid names (16 --> 64 chars)
@@ -60420,6 +61508,7 @@ stat v1234[g=even]-veven, v1234
  
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 ! regrid_transforms
 use gtsa056_1
 use gtsa056_2
@@ -60428,14 +61517,14 @@ set mode diag
 define axis/t=15-jan-1982:15-mar-1984:120/unit=hour tax5day
 define axis/x=120e:60w:10/unit=degrees xax10
 define grid/like=u/t=tax5day g5dayg5dayg5dayg5dayg5dayg5dayg5dayg5dayg5dayg5day
- getgrid EX#1     C:  7 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  7 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU1          PSXU      PSYU      PSZT2     TIME14
 define grid/like=u/x=xax10/z=w/t=tax5day g5_10g00abcdefghijklmnopqrstuvwxyz1234567890
  dealloc  dynamic grid PS3DU1          PSXU      PSYU      PSZT2     TIME14
- getgrid EX#1     C:  8 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  8 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU1          PSXU      PSYU      PSZT2     TIME14
  dealloc  dynamic grid PS3DU1          PSXU      PSYU      PSZT2     TIME14
- getgrid EX#1     C:  9 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  9 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DW11         PSXT      PSYT1     PSZW      TIME14
  
 set reg/x=130w:125w/y=0:1.5/z=0:15/t=21-JAN-1982:24-jan-1982
@@ -60445,18 +61534,18 @@ use gtsa056_1    	!kob 4/99
  
 LIST temp[g=g5_10g00abcdefghijklmnopqrstuvwxyz1234567890 at ave]
  dealloc  dynamic grid PS3DW11         PSXT      PSYT1     PSZW      TIME14
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I:   12   12  J:   45   49  K:    1    1  L:    2    3
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:     12     12  J:   45   49  K:    1    1  L:      2      3
  strip regrid on X: TEMP --> G5_10G00ABCDEFGH @AAV
  strip regrid on Z: TEMP --> XNTERMED         @AVE
  strip regrid on T: TEMP --> ZNTERMED         @AVE
- reading TEMP     M: 43 dset:   1 I:   95  106  J:   45   50  K:    1    2  L:    2    5
- regrid  TEMP     M: 42 dset:   1 I:   95  106  J:   45   50  K:    1    2  L:    2    3
- regrid  TEMP     M: 36 dset:   1 I:   95  106  J:   45   50  K:    1    1  L:    2    3
- -DELETE TEMP     M: 42 dset:   1 I:   95  106  J:   45   50  K:    1    2  L:    2    3  M: -999 -999  N: -999 -999
+ reading TEMP     M:249 dset:   1 I:     95    106  J:   45   50  K:    1    2  L:      2      5
+ regrid  TEMP     M:248 dset:   1 I:     95    106  J:   45   50  K:    1    2  L:      2      3
+ regrid  TEMP     M:247 dset:   1 I:     95    106  J:   45   50  K:    1    1  L:      2      3
+ -DELETE TEMP     M:248 dset:   1 I:     95    106  J:   45   50  K:    1    2  L:      2      3  M: -999 -999  N: -999 -999
  regrid XY
- regrid  TEMP     M: 42 dset:   1 I:   12   12  J:   45   49  K:    1    1  L:    2    3
- -DELETE TEMP     M: 36 dset:   1 I:   95  106  J:   45   50  K:    1    1  L:    2    3  M: -999 -999  N: -999 -999
+ regrid  TEMP     M:248 dset:   1 I:     12     12  J:   45   49  K:    1    1  L:      2      3
+ -DELETE TEMP     M:247 dset:   1 I:     95    106  J:   45   50  K:    1    1  L:      2      3  M: -999 -999  N: -999 -999
              VARIABLE : TEMPERATURE (deg. C)
                         regrid: G5_10G00ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890 on X at AAV, on Y at AAV*
              FILENAME : gtsa056_1.cdf
@@ -60469,20 +61558,20 @@ LIST temp[g=g5_10g00abcdefghijklmnopqrstuvwxyz1234567890 at ave]
  25-JAN-1982 00 / 3:  23.88501  23.98344  24.16565  24.39832  24.65027
 LIST temp[g=g5_10g00abcdefghijklmnopqrstuvwxyz1234567890,gx=g5_10g00abcdefghijklmnopqrstuvwxyz1234567890 at ave]
  dealloc  dynamic grid G5_10           XAX10     PSYU      PSZW      TAX5DAY
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I:   12   12  J:   45   49  K:    1    1  L:    2    3
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:     12     12  J:   45   49  K:    1    1  L:      2      3
  strip regrid on X: TEMP --> G5_10            @AVE
  strip regrid on Y: TEMP --> XNTERMED         @LIN
  strip regrid on Z: TEMP --> YNTERMED         @LIN
  strip regrid on T: TEMP --> ZNTERMED         @LIN
- found   TEMP     M: 43 dset:   1 I:   95  106  J:   45   50  K:    1    2  L:    2    5
- regrid  TEMP     M: 36 dset:   1 I:   95  106  J:   45   50  K:    1    2  L:    2    3
- regrid  TEMP     M: 32 dset:   1 I:   95  106  J:   45   50  K:    1    1  L:    2    3
- -DELETE TEMP     M: 36 dset:   1 I:   95  106  J:   45   50  K:    1    2  L:    2    3  M: -999 -999  N: -999 -999
- regrid  TEMP     M: 36 dset:   1 I:   95  106  J:   45   49  K:    1    1  L:    2    3
- -DELETE TEMP     M: 32 dset:   1 I:   95  106  J:   45   50  K:    1    1  L:    2    3  M: -999 -999  N: -999 -999
- regrid  TEMP     M: 32 dset:   1 I:   12   12  J:   45   49  K:    1    1  L:    2    3
- -DELETE TEMP     M: 36 dset:   1 I:   95  106  J:   45   49  K:    1    1  L:    2    3  M: -999 -999  N: -999 -999
+ found   TEMP     M:249 dset:   1 I:     95    106  J:   45   50  K:    1    2  L:      2      5
+ regrid  TEMP     M:247 dset:   1 I:     95    106  J:   45   50  K:    1    2  L:      2      3
+ regrid  TEMP     M:245 dset:   1 I:     95    106  J:   45   50  K:    1    1  L:      2      3
+ -DELETE TEMP     M:247 dset:   1 I:     95    106  J:   45   50  K:    1    2  L:      2      3  M: -999 -999  N: -999 -999
+ regrid  TEMP     M:247 dset:   1 I:     95    106  J:   45   49  K:    1    1  L:      2      3
+ -DELETE TEMP     M:245 dset:   1 I:     95    106  J:   45   50  K:    1    1  L:      2      3  M: -999 -999  N: -999 -999
+ regrid  TEMP     M:245 dset:   1 I:     12     12  J:   45   49  K:    1    1  L:      2      3
+ -DELETE TEMP     M:247 dset:   1 I:     95    106  J:   45   49  K:    1    1  L:      2      3  M: -999 -999  N: -999 -999
              VARIABLE : TEMPERATURE (deg. C)
                         regrid: G5_10 on X at AVE, on Y at LIN, on Z at LIN, on T at LIN
              FILENAME : gtsa056_1.cdf
@@ -60496,18 +61585,18 @@ LIST temp[g=g5_10g00abcdefghijklmnopqrstuvwxyz1234567890,gx=g5_10g00abcdefghijkl
  
 LIST temp[g=g5_10g00abcdefghijklmnopqrstuvwxyz1234567890,gt=g5_10g00abcdefghijklmnopqrstuvwxyz1234567890 at asn]
  dealloc  dynamic grid G5_10           XAX10     PSYU      PSZW      TAX5DAY
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I:   12   12  J:   45   49  K:    1    1  L:    2    3
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:     12     12  J:   45   49  K:    1    1  L:      2      3
  strip regrid on X: TEMP --> G5_10            @LIN
  strip regrid on Z: TEMP --> XNTERMED         @LIN
  strip regrid on T: TEMP --> ZNTERMED         @ASN
- found   TEMP     M: 43 dset:   1 I:   95  106  J:   45   50  K:    1    2  L:    2    5
- regrid  TEMP     M: 36 dset:   1 I:  100  101  J:   45   50  K:    1    2  L:    2    3
- regrid  TEMP     M: 29 dset:   1 I:  100  101  J:   45   50  K:    1    1  L:    2    3
- -DELETE TEMP     M: 36 dset:   1 I:  100  101  J:   45   50  K:    1    2  L:    2    3  M: -999 -999  N: -999 -999
+ found   TEMP     M:249 dset:   1 I:     95    106  J:   45   50  K:    1    2  L:      2      5
+ regrid  TEMP     M:247 dset:   1 I:    100    101  J:   45   50  K:    1    2  L:      2      3
+ regrid  TEMP     M:244 dset:   1 I:    100    101  J:   45   50  K:    1    1  L:      2      3
+ -DELETE TEMP     M:247 dset:   1 I:    100    101  J:   45   50  K:    1    2  L:      2      3  M: -999 -999  N: -999 -999
  regrid XY
- regrid  TEMP     M: 36 dset:   1 I:   12   12  J:   45   49  K:    1    1  L:    2    3
- -DELETE TEMP     M: 29 dset:   1 I:  100  101  J:   45   50  K:    1    1  L:    2    3  M: -999 -999  N: -999 -999
+ regrid  TEMP     M:247 dset:   1 I:     12     12  J:   45   49  K:    1    1  L:      2      3
+ -DELETE TEMP     M:244 dset:   1 I:    100    101  J:   45   50  K:    1    1  L:      2      3  M: -999 -999  N: -999 -999
              VARIABLE : TEMPERATURE (deg. C)
                         regrid: G5_10 on X at LIN, on Y at LIN, on Z at LIN, on T at ASN
              FILENAME : gtsa056_1.cdf
@@ -60524,210 +61613,210 @@ use gtsa056_2	!kob  4/99
 set region/x=180W/y=0/z=5/t=21-JAN-1982:13-JUN-1983
 load temp[i=50:51,j=45:56,k=1:2,l=1:172]  ! preload to save time
  dealloc  dynamic grid G5_10           XAX10     PSYU      PSZW      TAX5DAY
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DT1          PSXT      PSYT1     PSZT2     TIME14
- eval    EX#1     C:  4 dset:   2 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- strip moduloing TEMP on T axis:     1   172 dset:   2
- reading TEMP     M: 29 dset:   2 I:   50   51  J:   45   50  K:    1    2  L:    1  168
- doing moduloing TEMP on T axis:     1   168 dset:   2
+ eval    EX#1     C:  4 dset:   2 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
+ strip moduloing TEMP on T axis:        1      172 dset:   2
+ reading TEMP     M:244 dset:   2 I:     50     51  J:   45   50  K:    1    2  L:      1    168
+ doing moduloing TEMP on T axis:        1      168 dset:   2
 plot temp
  dealloc  dynamic grid PS3DT1          PSXT      PSYT1     PSZT2     TIME14
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DT1          PSXT      PSYT1     PSZT2     TIME14
- eval    EX#1     C:  4 dset:   2 I:   50   50  J:   45   45  K:    1    1  L:    3  170
- found   TEMP     M: 34 dset:   2 I:   50   51  J:   45   50  K:    1    2  L:    1  172
+ eval    EX#1     C:  4 dset:   2 I:     50     50  J:   45   45  K:    1    1  L:      3    170
+ found   TEMP     M:246 dset:   2 I:     50     51  J:   45   50  K:    1    2  L:      1    172
 setting up plot
 PPL plot 760  complete
 plot/over temp[g=u]
  dealloc  dynamic grid PS3DT1          PSXT      PSYT1     PSZT2     TIME14
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU1          PSXU      PSYU      PSZT2     TIME14
- eval    EX#1     C:  4 dset:   2 I:   50   50  J:   45   45  K:    1    1  L:    3  170
- strip moduloing TEMP on T axis:     3   170 dset:   2
+ eval    EX#1     C:  4 dset:   2 I:     50     50  J:   45   45  K:    1    1  L:      3    170
+ strip moduloing TEMP on T axis:        3      170 dset:   2
  strip regrid on X: TEMP --> PS3DU1           @LIN
- found   TEMP     M: 34 dset:   2 I:   50   51  J:   45   50  K:    1    2  L:    1  172
+ found   TEMP     M:246 dset:   2 I:     50     51  J:   45   50  K:    1    2  L:      1    172
  regrid XY
- regrid  TEMP     M: 28 dset:   2 I:   50   50  J:   45   45  K:    1    1  L:    3  168
- doing moduloing TEMP on T axis:     3   168 dset:   2
+ regrid  TEMP     M:243 dset:   2 I:     50     50  J:   45   45  K:    1    1  L:      3    168
+ doing moduloing TEMP on T axis:        3      168 dset:   2
  strip regrid on X: TEMP --> PS3DU1           @LIN
- found   TEMP     M: 34 dset:   2 I:   50   51  J:   45   50  K:    1    2  L:    1  172
+ found   TEMP     M:246 dset:   2 I:     50     51  J:   45   50  K:    1    2  L:      1    172
  regrid XY
- regrid  TEMP     M: 20 dset:   2 I:   50   50  J:   45   45  K:    1    1  L:    1    2
- doing moduloing TEMP on T axis:     1     2 dset:   2
+ regrid  TEMP     M:236 dset:   2 I:     50     50  J:   45   45  K:    1    1  L:      1      2
+ doing moduloing TEMP on T axis:        1        2 dset:   2
 setting up plot
 PPL plot 761  complete
 plot/over temp[g=g5dayg5dayg5dayg5dayg5dayg5dayg5dayg5dayg5dayg5day]
  dealloc  dynamic grid PS3DU1          PSXU      PSYU      PSZT2     TIME14
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   2 I:   50   50  J:   45   45  K:    1    1  L:    2  104
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   2 I:     50     50  J:   45   45  K:    1    1  L:      2    104
  strip regrid on X: TEMP --> G5DAYG5DAYG5DAYG @LIN
  strip regrid on T: TEMP --> XNTERMED         @LIN
- found   TEMP     M: 34 dset:   2 I:   50   51  J:   45   50  K:    1    2  L:    1  172
- regrid  TEMP     M: 18 dset:   2 I:   50   51  J:   45   46  K:    1    1  L:    2  104
+ found   TEMP     M:246 dset:   2 I:     50     51  J:   45   50  K:    1    2  L:      1    172
+ regrid  TEMP     M:234 dset:   2 I:     50     51  J:   45   46  K:    1    1  L:      2    104
  regrid XY
- regrid  TEMP     M: 15 dset:   2 I:   50   50  J:   45   45  K:    1    1  L:    2  104
- -DELETE TEMP     M: 18 dset:   2 I:   50   51  J:   45   46  K:    1    1  L:    2  104  M: -999 -999  N: -999 -999
+ regrid  TEMP     M:232 dset:   2 I:     50     50  J:   45   45  K:    1    1  L:      2    104
+ -DELETE TEMP     M:234 dset:   2 I:     50     51  J:   45   46  K:    1    1  L:      2    104  M: -999 -999  N: -999 -999
 setting up plot
 PPL plot 762  complete
 plot/over temp[g=g5_10g00abcdefghijklmnopqrstuvwxyz1234567890]
  dealloc  dynamic grid G5DAYG5DAYG5DAYGPSXU      PSYU      PSZT2     TAX5DAY
- -DELETE TEMP     M: 15 dset:   2 I:   50   50  J:   45   45  K:    1    1  L:    2  104
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   2 I:    7    7  J:   45   45  K:    1    1  L:    2  104
+ -DELETE TEMP     M:232 dset:   2 I:     50     50  J:   45   45  K:    1    1  L:      2    104
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   2 I:      7      7  J:   45   45  K:    1    1  L:      2    104
  strip regrid on X: TEMP --> G5_10G00ABCDEFGH @LIN
  strip regrid on Z: TEMP --> XNTERMED         @LIN
  strip regrid on T: TEMP --> ZNTERMED         @LIN
- found   TEMP     M: 34 dset:   2 I:   50   51  J:   45   50  K:    1    2  L:    1  172
- regrid  TEMP     M: 15 dset:   2 I:   50   51  J:   45   46  K:    1    2  L:    2  104
- regrid  TEMP     M: 18 dset:   2 I:   50   51  J:   45   46  K:    1    1  L:    2  104
- -DELETE TEMP     M: 15 dset:   2 I:   50   51  J:   45   46  K:    1    2  L:    2  104  M: -999 -999  N: -999 -999
+ found   TEMP     M:246 dset:   2 I:     50     51  J:   45   50  K:    1    2  L:      1    172
+ regrid  TEMP     M:232 dset:   2 I:     50     51  J:   45   46  K:    1    2  L:      2    104
+ regrid  TEMP     M:234 dset:   2 I:     50     51  J:   45   46  K:    1    1  L:      2    104
+ -DELETE TEMP     M:232 dset:   2 I:     50     51  J:   45   46  K:    1    2  L:      2    104  M: -999 -999  N: -999 -999
  regrid XY
- regrid  TEMP     M: 15 dset:   2 I:    7    7  J:   45   45  K:    1    1  L:    2  104
- -DELETE TEMP     M: 18 dset:   2 I:   50   51  J:   45   46  K:    1    1  L:    2  104  M: -999 -999  N: -999 -999
+ regrid  TEMP     M:232 dset:   2 I:      7      7  J:   45   45  K:    1    1  L:      2    104
+ -DELETE TEMP     M:234 dset:   2 I:     50     51  J:   45   46  K:    1    1  L:      2    104  M: -999 -999  N: -999 -999
 setting up plot
 PPL plot 763  complete
 plot/over temp[g=u at ave]
  dealloc  dynamic grid G5_10           XAX10     PSYU      PSZW      TAX5DAY
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU1          PSXU      PSYU      PSZT2     TIME14
- eval    EX#1     C:  4 dset:   2 I:   50   50  J:   45   45  K:    1    1  L:    3  170
- strip moduloing TEMP on T axis:     3   170 dset:   2
+ eval    EX#1     C:  4 dset:   2 I:     50     50  J:   45   45  K:    1    1  L:      3    170
+ strip moduloing TEMP on T axis:        3      170 dset:   2
  strip regrid on X: TEMP --> PS3DU1           @AAV
- found   TEMP     M: 34 dset:   2 I:   50   51  J:   45   50  K:    1    2  L:    1  172
+ found   TEMP     M:246 dset:   2 I:     50     51  J:   45   50  K:    1    2  L:      1    172
  regrid XY
- regrid  TEMP     M: 18 dset:   2 I:   50   50  J:   45   45  K:    1    1  L:    3  168
- doing moduloing TEMP on T axis:     3   168 dset:   2
+ regrid  TEMP     M:234 dset:   2 I:     50     50  J:   45   45  K:    1    1  L:      3    168
+ doing moduloing TEMP on T axis:        3      168 dset:   2
  strip regrid on X: TEMP --> PS3DU1           @AAV
- found   TEMP     M: 34 dset:   2 I:   50   51  J:   45   50  K:    1    2  L:    1  172
+ found   TEMP     M:246 dset:   2 I:     50     51  J:   45   50  K:    1    2  L:      1    172
  regrid XY
- regrid  TEMP     M: 13 dset:   2 I:   50   50  J:   45   45  K:    1    1  L:    1    2
- doing moduloing TEMP on T axis:     1     2 dset:   2
+ regrid  TEMP     M:230 dset:   2 I:     50     50  J:   45   45  K:    1    1  L:      1      2
+ doing moduloing TEMP on T axis:        1        2 dset:   2
 setting up plot
 PPL plot 764  complete
 plot/over temp[g=g5dayg5dayg5dayg5dayg5dayg5dayg5dayg5dayg5dayg5day at ave]
  dealloc  dynamic grid PS3DU1          PSXU      PSYU      PSZT2     TIME14
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   2 I:   50   50  J:   45   45  K:    1    1  L:    2  104
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   2 I:     50     50  J:   45   45  K:    1    1  L:      2    104
  strip regrid on X: TEMP --> G5DAYG5DAYG5DAYG @AAV
  strip regrid on T: TEMP --> XNTERMED         @AVE
- found   TEMP     M: 34 dset:   2 I:   50   51  J:   45   50  K:    1    2  L:    1  172
- regrid  TEMP     M: 12 dset:   2 I:   50   51  J:   45   46  K:    1    1  L:    2  104
+ found   TEMP     M:246 dset:   2 I:     50     51  J:   45   50  K:    1    2  L:      1    172
+ regrid  TEMP     M:229 dset:   2 I:     50     51  J:   45   46  K:    1    1  L:      2    104
  regrid XY
- regrid  TEMP     M: 11 dset:   2 I:   50   50  J:   45   45  K:    1    1  L:    2  104
- -DELETE TEMP     M: 12 dset:   2 I:   50   51  J:   45   46  K:    1    1  L:    2  104  M: -999 -999  N: -999 -999
+ regrid  TEMP     M:228 dset:   2 I:     50     50  J:   45   45  K:    1    1  L:      2    104
+ -DELETE TEMP     M:229 dset:   2 I:     50     51  J:   45   46  K:    1    1  L:      2    104  M: -999 -999  N: -999 -999
 setting up plot
 PPL plot 765  complete
 plot/over temp[g=g5_10g00abcdefghijklmnopqrstuvwxyz1234567890 at ave]
  dealloc  dynamic grid G5DAYG5DAYG5DAYGPSXU      PSYU      PSZT2     TAX5DAY
- -DELETE TEMP     M: 11 dset:   2 I:   50   50  J:   45   45  K:    1    1  L:    2  104
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   2 I:    7    7  J:   45   45  K:    1    1  L:    2  104
+ -DELETE TEMP     M:228 dset:   2 I:     50     50  J:   45   45  K:    1    1  L:      2    104
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   2 I:      7      7  J:   45   45  K:    1    1  L:      2    104
  strip regrid on X: TEMP --> G5_10G00ABCDEFGH @AAV
  strip regrid on Z: TEMP --> XNTERMED         @AVE
  strip regrid on T: TEMP --> ZNTERMED         @AVE
- strip moduloing TEMP on T axis:     2   171 dset:   2
- reading TEMP     M: 11 dset:   2 I:   45   56  J:   45   46  K:    1    2  L:    1  168
- doing moduloing TEMP on T axis:     1   168 dset:   2
- regrid  TEMP     M:  9 dset:   2 I:   45   56  J:   45   46  K:    1    2  L:    2  104
- regrid  TEMP     M: 23 dset:   2 I:   45   56  J:   45   46  K:    1    1  L:    2  104
- -DELETE TEMP     M:  9 dset:   2 I:   45   56  J:   45   46  K:    1    2  L:    2  104  M: -999 -999  N: -999 -999
+ strip moduloing TEMP on T axis:        2      171 dset:   2
+ reading TEMP     M:228 dset:   2 I:     45     56  J:   45   46  K:    1    2  L:      1    168
+ doing moduloing TEMP on T axis:        1      168 dset:   2
+ regrid  TEMP     M:226 dset:   2 I:     45     56  J:   45   46  K:    1    2  L:      2    104
+ regrid  TEMP     M:239 dset:   2 I:     45     56  J:   45   46  K:    1    1  L:      2    104
+ -DELETE TEMP     M:226 dset:   2 I:     45     56  J:   45   46  K:    1    2  L:      2    104  M: -999 -999  N: -999 -999
  regrid XY
- regrid  TEMP     M:  9 dset:   2 I:    7    7  J:   45   45  K:    1    1  L:    2  104
- -DELETE TEMP     M: 23 dset:   2 I:   45   56  J:   45   46  K:    1    1  L:    2  104  M: -999 -999  N: -999 -999
+ regrid  TEMP     M:226 dset:   2 I:      7      7  J:   45   45  K:    1    1  L:      2    104
+ -DELETE TEMP     M:239 dset:   2 I:     45     56  J:   45   46  K:    1    1  L:      2    104  M: -999 -999  N: -999 -999
 setting up plot
 PPL plot 766  complete
 plot/over temp[g=u at asn]
  dealloc  dynamic grid G5_10           XAX10     PSYU      PSZW      TAX5DAY
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU1          PSXU      PSYU      PSZT2     TIME14
- eval    EX#1     C:  4 dset:   2 I:   50   50  J:   45   45  K:    1    1  L:    3  170
- strip moduloing TEMP on T axis:     3   170 dset:   2
+ eval    EX#1     C:  4 dset:   2 I:     50     50  J:   45   45  K:    1    1  L:      3    170
+ strip moduloing TEMP on T axis:        3      170 dset:   2
  strip regrid on X: TEMP --> PS3DU1           @ASN
  strip regrid on Y: TEMP --> XNTERMED         @ASN
- found   TEMP     M: 12 dset:   2 I:   45   56  J:   45   46  K:    1    2  L:    2  171
- regrid  TEMP     M: 23 dset:   2 I:   50   50  J:   45   45  K:    1    1  L:    3  168
- regrid  TEMP     M: 26 dset:   2 I:   50   50  J:   45   45  K:    1    1  L:    3  168
- -DELETE TEMP     M: 23 dset:   2 I:   50   50  J:   45   45  K:    1    1  L:    3  168  M: -999 -999  N: -999 -999
- doing moduloing TEMP on T axis:     3   168 dset:   2
+ found   TEMP     M:229 dset:   2 I:     45     56  J:   45   46  K:    1    2  L:      2    171
+ regrid  TEMP     M:239 dset:   2 I:     50     50  J:   45   45  K:    1    1  L:      3    168
+ regrid  TEMP     M:241 dset:   2 I:     50     50  J:   45   45  K:    1    1  L:      3    168
+ -DELETE TEMP     M:239 dset:   2 I:     50     50  J:   45   45  K:    1    1  L:      3    168  M: -999 -999  N: -999 -999
+ doing moduloing TEMP on T axis:        3      168 dset:   2
  strip regrid on X: TEMP --> PS3DU1           @ASN
  strip regrid on Y: TEMP --> XNTERMED         @ASN
- found   TEMP     M: 11 dset:   2 I:   45   56  J:   45   46  K:    1    2  L:    1  168
- regrid  TEMP     M: 27 dset:   2 I:   50   50  J:   45   45  K:    1    1  L:    1    2
- regrid  TEMP     M: 22 dset:   2 I:   50   50  J:   45   45  K:    1    1  L:    1    2
- -DELETE TEMP     M: 27 dset:   2 I:   50   50  J:   45   45  K:    1    1  L:    1    2  M: -999 -999  N: -999 -999
- doing moduloing TEMP on T axis:     1     2 dset:   2
+ found   TEMP     M:228 dset:   2 I:     45     56  J:   45   46  K:    1    2  L:      1    168
+ regrid  TEMP     M:242 dset:   2 I:     50     50  J:   45   45  K:    1    1  L:      1      2
+ regrid  TEMP     M:237 dset:   2 I:     50     50  J:   45   45  K:    1    1  L:      1      2
+ -DELETE TEMP     M:242 dset:   2 I:     50     50  J:   45   45  K:    1    1  L:      1      2  M: -999 -999  N: -999 -999
+ doing moduloing TEMP on T axis:        1        2 dset:   2
 setting up plot
 PPL plot 767  complete
 plot/over temp[g=g5_10g00abcdefghijklmnopqrstuvwxyz1234567890 at asn]
  dealloc  dynamic grid PS3DU1          PSXU      PSYU      PSZT2     TIME14
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   2 I:    7    7  J:   45   45  K:    1    1  L:    2  104
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   2 I:      7      7  J:   45   45  K:    1    1  L:      2    104
  strip regrid on X: TEMP --> G5_10G00ABCDEFGH @ASN
  strip regrid on Y: TEMP --> XNTERMED         @ASN
  strip regrid on Z: TEMP --> YNTERMED         @ASN
  strip regrid on T: TEMP --> ZNTERMED         @ASN
- reading TEMP     M: 27 dset:   2 I:    7    7  J:   45   45  K:    1    1  L:    2  104
- regrid  TEMP     M: 19 dset:   2 I:    7    7  J:   45   45  K:    1    1  L:    2  104
- regrid  TEMP     M: 10 dset:   2 I:    7    7  J:   45   45  K:    1    1  L:    2  104
- -DELETE TEMP     M: 19 dset:   2 I:    7    7  J:   45   45  K:    1    1  L:    2  104  M: -999 -999  N: -999 -999
- regrid  TEMP     M: 19 dset:   2 I:    7    7  J:   45   45  K:    1    1  L:    2  104
- -DELETE TEMP     M: 10 dset:   2 I:    7    7  J:   45   45  K:    1    1  L:    2  104  M: -999 -999  N: -999 -999
- regrid  TEMP     M: 10 dset:   2 I:    7    7  J:   45   45  K:    1    1  L:    2  104
- -DELETE TEMP     M: 19 dset:   2 I:    7    7  J:   45   45  K:    1    1  L:    2  104  M: -999 -999  N: -999 -999
+ reading TEMP     M:242 dset:   2 I:      7      7  J:   45   45  K:    1    1  L:      2    104
+ regrid  TEMP     M:235 dset:   2 I:      7      7  J:   45   45  K:    1    1  L:      2    104
+ regrid  TEMP     M:227 dset:   2 I:      7      7  J:   45   45  K:    1    1  L:      2    104
+ -DELETE TEMP     M:235 dset:   2 I:      7      7  J:   45   45  K:    1    1  L:      2    104  M: -999 -999  N: -999 -999
+ regrid  TEMP     M:235 dset:   2 I:      7      7  J:   45   45  K:    1    1  L:      2    104
+ -DELETE TEMP     M:227 dset:   2 I:      7      7  J:   45   45  K:    1    1  L:      2    104  M: -999 -999  N: -999 -999
+ regrid  TEMP     M:227 dset:   2 I:      7      7  J:   45   45  K:    1    1  L:      2    104
+ -DELETE TEMP     M:235 dset:   2 I:      7      7  J:   45   45  K:    1    1  L:      2    104  M: -999 -999  N: -999 -999
 setting up plot
 PPL plot 768  complete
 plot/over temp[g=u,gt=u at ave]
  dealloc  dynamic grid G5_10           XAX10     PSYU      PSZW      TAX5DAY
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU1          PSXU      PSYU      PSZT2     TIME14
  dealloc  dynamic grid PS3DU1          PSXU      PSYU      PSZT2     TIME14
  allocate dynamic grid PS3DU1          PSXU      PSYU      PSZT2     TIME14
- eval    EX#1     C:  4 dset:   2 I:   50   50  J:   45   45  K:    1    1  L:    3  170
+ eval    EX#1     C:  4 dset:   2 I:     50     50  J:   45   45  K:    1    1  L:      3    170
  allocate dynamic grid PS3DU1          PSXU      PSYU      PSZT2     TIME14
- found   TEMP     M: 17 dset:   2 I:   50   50  J:   45   45  K:    1    1  L:    3  170
+ found   TEMP     M:233 dset:   2 I:     50     50  J:   45   45  K:    1    1  L:      3    170
  dealloc  dynamic grid PS3DU1          PSXU      PSYU      PSZT2     TIME14
 setting up plot
 PPL plot 769  complete
 plot/over temp[g=g5dayg5dayg5dayg5dayg5dayg5dayg5dayg5dayg5dayg5day,gt=g5dayg5dayg5dayg5dayg5dayg5dayg5dayg5dayg5dayg5day at ave]
  dealloc  dynamic grid PS3DU1          PSXU      PSYU      PSZT2     TIME14
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   2 I:   50   50  J:   45   45  K:    1    1  L:    2  104
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   2 I:     50     50  J:   45   45  K:    1    1  L:      2    104
  strip regrid on X: TEMP --> G5DAYG5DAYG5DAYG @LIN
  strip regrid on T: TEMP --> XNTERMED         @AVE
- found   TEMP     M: 12 dset:   2 I:   45   56  J:   45   46  K:    1    2  L:    2  171
- regrid  TEMP     M: 19 dset:   2 I:   50   51  J:   45   46  K:    1    1  L:    2  104
+ found   TEMP     M:229 dset:   2 I:     45     56  J:   45   46  K:    1    2  L:      2    171
+ regrid  TEMP     M:235 dset:   2 I:     50     51  J:   45   46  K:    1    1  L:      2    104
  regrid XY
- regrid  TEMP     M: 25 dset:   2 I:   50   50  J:   45   45  K:    1    1  L:    2  104
- -DELETE TEMP     M: 19 dset:   2 I:   50   51  J:   45   46  K:    1    1  L:    2  104  M: -999 -999  N: -999 -999
+ regrid  TEMP     M:240 dset:   2 I:     50     50  J:   45   45  K:    1    1  L:      2    104
+ -DELETE TEMP     M:235 dset:   2 I:     50     51  J:   45   46  K:    1    1  L:      2    104  M: -999 -999  N: -999 -999
 setting up plot
 PPL plot 770  complete
 plot/over temp[g=g5_10g00abcdefghijklmnopqrstuvwxyz1234567890,gt=g5_10g00abcdefghijklmnopqrstuvwxyz1234567890 at ave]
  dealloc  dynamic grid G5DAYG5DAYG5DAYGPSXU      PSYU      PSZT2     TAX5DAY
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   2 I:    7    7  J:   45   45  K:    1    1  L:    2  104
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   2 I:      7      7  J:   45   45  K:    1    1  L:      2    104
  strip regrid on X: TEMP --> G5_10            @LIN
  strip regrid on Z: TEMP --> XNTERMED         @LIN
  strip regrid on T: TEMP --> ZNTERMED         @AVE
- found   TEMP     M: 12 dset:   2 I:   45   56  J:   45   46  K:    1    2  L:    2  171
- regrid  TEMP     M: 19 dset:   2 I:   50   51  J:   45   46  K:    1    2  L:    2  104
- regrid  TEMP     M: 21 dset:   2 I:   50   51  J:   45   46  K:    1    1  L:    2  104
- -DELETE TEMP     M: 19 dset:   2 I:   50   51  J:   45   46  K:    1    2  L:    2  104  M: -999 -999  N: -999 -999
+ found   TEMP     M:229 dset:   2 I:     45     56  J:   45   46  K:    1    2  L:      2    171
+ regrid  TEMP     M:235 dset:   2 I:     50     51  J:   45   46  K:    1    2  L:      2    104
+ regrid  TEMP     M:238 dset:   2 I:     50     51  J:   45   46  K:    1    1  L:      2    104
+ -DELETE TEMP     M:235 dset:   2 I:     50     51  J:   45   46  K:    1    2  L:      2    104  M: -999 -999  N: -999 -999
  regrid XY
- regrid  TEMP     M: 19 dset:   2 I:    7    7  J:   45   45  K:    1    1  L:    2  104
- -DELETE TEMP     M: 21 dset:   2 I:   50   51  J:   45   46  K:    1    1  L:    2  104  M: -999 -999  N: -999 -999
+ regrid  TEMP     M:235 dset:   2 I:      7      7  J:   45   45  K:    1    1  L:      2    104
+ -DELETE TEMP     M:238 dset:   2 I:     50     51  J:   45   46  K:    1    1  L:      2    104  M: -999 -999  N: -999 -999
 setting up plot
 PPL plot 771  complete
 plot/over temp[g=g5dayg5dayg5dayg5dayg5dayg5dayg5dayg5dayg5dayg5day,gt=g5dayg5dayg5dayg5dayg5dayg5dayg5dayg5dayg5dayg5day at asn]  ! invalid interpretation of data
  dealloc  dynamic grid G5_10           XAX10     PSYU      PSZW      TAX5DAY
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   2 I:   50   50  J:   45   45  K:    1    1  L:    2  104
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   2 I:     50     50  J:   45   45  K:    1    1  L:      2    104
  strip regrid on X: TEMP --> G5DAYG5DAYG5DAYG @LIN
  strip regrid on T: TEMP --> XNTERMED         @ASN
- found   TEMP     M: 12 dset:   2 I:   45   56  J:   45   46  K:    1    2  L:    2  171
- regrid  TEMP     M: 21 dset:   2 I:   50   51  J:   45   46  K:    1    1  L:    2  104
+ found   TEMP     M:229 dset:   2 I:     45     56  J:   45   46  K:    1    2  L:      2    171
+ regrid  TEMP     M:238 dset:   2 I:     50     51  J:   45   46  K:    1    1  L:      2    104
  regrid XY
- regrid  TEMP     M:  8 dset:   2 I:   50   50  J:   45   45  K:    1    1  L:    2  104
- -DELETE TEMP     M: 21 dset:   2 I:   50   51  J:   45   46  K:    1    1  L:    2  104  M: -999 -999  N: -999 -999
+ regrid  TEMP     M:225 dset:   2 I:     50     50  J:   45   45  K:    1    1  L:      2    104
+ -DELETE TEMP     M:238 dset:   2 I:     50     51  J:   45   46  K:    1    1  L:      2    104  M: -999 -999  N: -999 -999
 setting up plot
 PPL plot 772  complete
  
@@ -60736,6 +61825,7 @@ set mode/last diag
  
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 ! regrid_to_user
  
 use coads_climatology
@@ -60769,8 +61859,8 @@ list/x=160e/y=5s temp[d=2,k=1,g=a[d=1]]
           29.51700
 show grid
  Default grid for DEFINE VARIABLE is ABSTRACT
- Last successful data access was on grid (G108)
-    GRID (G108)
+ Last successful data access was on grid (G104)
+    GRID (G104)
  name       axis              # pts   start                end                 subset
  COADSX    LONGITUDE          180mr   21E                  19E(379)            full
  COADSY    LATITUDE            90 r   89S                  89N                 full
@@ -60798,8 +61888,8 @@ list/x=160e/y=5s temp[d=2,k=1,gy=yax,gx=a[d=1]]
           29.51700
 show grid
  Default grid for DEFINE VARIABLE is ABSTRACT
- Last successful data access was on grid (G108)
-    GRID (G108)
+ Last successful data access was on grid (G104)
+    GRID (G104)
  name       axis              # pts   start                end                 subset
  COADSX    LONGITUDE          180mr   21E                  19E(379)            full
  YAX       LATITUDE            81 r   20S                  20N                 full
@@ -60825,8 +61915,8 @@ list/x=160e/y=5s temp[d=2,k=1,gx=a[d=1],g=gg12345678901234567890]
           29.51700
 show grid
  Default grid for DEFINE VARIABLE is ABSTRACT
- Last successful data access was on grid (G108)
-    GRID (G108)
+ Last successful data access was on grid (G104)
+    GRID (G104)
  name       axis              # pts   start                end                 subset
  COADSX    LONGITUDE          180mr   21E                  19E(379)            full
  YAX       LATITUDE            81 r   20S                  20N                 full
@@ -60931,16 +62021,16 @@ show grid
 load/d=coads_climatology sst[y=-10:10:.1,l=1,x=160e]
 show grid
  Default grid for DEFINE VARIABLE is G
- Last successful data access was on grid (G108)
-    GRID (G108)
+ Last successful data access was on grid (G104)
+    GRID (G104)
  name       axis              # pts   start                end                 subset
  COADSX    LONGITUDE          180mr   21E                  19E(379)            1 pt
- (AX121)   LATITUDE           201 r   10S                  10N                 200 pts
+ (AX121)   LATITUDE           201 r   10S                  10N                 201 pts
  normal    Z
  TIME10    TIME                 3mr   16-JAN 06:00         17-MAR 02:58        1 pt
 show grid/dynamic
 Dynamic grids:
-    GRID (G108)                          use count:   1
+    GRID (G104)                          use count:   1
  name       axis              # pts   start                end
  COADSX    LONGITUDE          180mr   21E                  19E(379)
  (AX121)   LATITUDE           201 r   10S                  10N
@@ -60955,6 +62045,7 @@ set mode/last ignore
  
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
  
 ! dynamic grid commands
  
@@ -60970,8 +62061,10 @@ SHOW GRID mygrid_123456789012345678901234567890
  ZAXLEVITR1_1 DEPTH (m)         1 r-  0                    0
  normal    T
  
-GO bn_reset
+GO bn_reset bn_xml_repl
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_xml_repl
 GO bn_xml_repl
 ! bn_xml_repl.jnl
 ! replace > and < and & with their html equivalents.
@@ -61020,14 +62113,17 @@ sh dat/xml/var
  
 ! ******** V6.5 Additions below ***********
  
-GO bn_reset
+GO bn_reset bn65_bug_fixes
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn65_bug_fixes
 GO bn65_bug_fixes
 ! bn65_bug_fixes.jnl
 ! Fixes that go into v6.5 release
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err64_very_small_latlon
 ! err64_very_small_latlon.jnl
 ! Based on a report and data file from Jean Newman.
@@ -61042,6 +62138,7 @@ shade/i=1:10/j=1:10 bathy
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err64_packed_data
 ! err64_packed_data.jnl
 ! Test writing packed data. Prior to v6.4 this example shows the
@@ -61134,6 +62231,7 @@ list/i=1:15 sst
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO bn_repl_9999999
 ! bn_repl_9999999.jnl
 ! Bug 1717
@@ -61148,6 +62246,7 @@ can view view9999999
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err64_shakey_missingdata
 ! err64_shakey_missingdata.jnl
 ! starting with v6.2 a polygon plot with all missing data.
@@ -61172,6 +62271,7 @@ go polytube polygon/over/key/lev=(0,6,1) xpts,ypts,zpts
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err64_return_precision
 !err64_return_precision.jnl
 ! most of these resulted in *** - format too small.
@@ -61204,6 +62304,7 @@ say `999.999,p=-2`
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err64_parse_equals
 ! err64_parse_equals
 ! Bug1469 (and duplicate 1690)
@@ -61224,6 +62325,7 @@ DEFINE SYMBOL my_sym  = `UPCASE("/lev=(0,30,2)")`
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err64_regrid_noleap
 ! err64_regrid_noleap.jnl
 !
@@ -61267,6 +62369,7 @@ list b[t=15-feb-1150]  ! Now ok??
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err64_polymark_over_calendar
 ! err64_polymark_over_calendar.jnl
 ! bug1722.  Polymark script failed with calendar mismatch
@@ -61284,8 +62387,10 @@ go polymark "poly/ov/nolab/pal=red/line=1" pos pos " " circle .5
  
  
  
-GO bn_reset
+GO bn_reset bn_txtype_dmy
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_txtype_dmy
 GO bn_txtype_dmy
 ! bn_txtype_dmy.jnl
 ! 2/2010 ACM
@@ -61410,8 +62515,10 @@ ppl plot
 plot/y=-1/k=1/t=5-mar-1982:28-mar-1982/x=144w temp
 plot/y=-1/k=1/t=5-mar-1982:28-apr-1982/x=144w temp
  
-GO bn_reset
+GO bn_reset bn_n_open_dsets_sym
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_n_open_dsets_sym
 GO bn_n_open_dsets_sym
  !  bn_n_open_dsets_sym.jnl
 ! Ferret v6.5
@@ -61454,8 +62561,10 @@ sh sym N_OPEN_DSETS
 N_OPEN_DSETS = "0"
  
  
-GO bn_reset
+GO bn_reset bn_multi_decade
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_multi_decade
 GO bn_multi_decade
 ! bn_multi_decade.jnl
 ! New default no-small tics for multi-decade plots
@@ -61518,8 +62627,10 @@ set view v8; plot/trans/nolab/ax=0,0,1,0/hlim=0:1/set tvar
   ppl tics,0.1,0.25
   ppl plot
  
-GO bn_reset
+GO bn_reset bn_show_xml_file
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_show_xml_file
 GO bn_show_xml_file
 ! bn_show_xml_file.jnl
 ! Testing SHOW DATA/OUTFILE
@@ -61639,18 +62750,18 @@ sp cat the_xml_file.xml
    <value><![CDATA[MONTH_IRREG]]></value>
 </attribute>
 </axis>
-<axis name="XAX1_15">
+<axis name="YAX1_5">
 <attribute name="direction" type="char">
-   <value><![CDATA[I]]></value>
+   <value><![CDATA[J]]></value>
 </attribute>
 <attribute name="length" type="short">
-   <value>15</value>
+   <value>5</value>
 </attribute>
 <attribute name="start" type="double">
    <value>1</value>
 </attribute>
 <attribute name="end" type="double">
-   <value>15</value>
+   <value>5</value>
 </attribute>
 <attribute name="point_spacing" type="char">
    <value><![CDATA[even]]></value>
@@ -61662,24 +62773,24 @@ sp cat the_xml_file.xml
    <value><![CDATA[DOUBLE]]></value>
 </attribute>
 <attribute name="axis" type="char">
-   <value><![CDATA[X]]></value>
+   <value><![CDATA[Y]]></value>
 </attribute>
 <attribute name="orig_file_axname" type="char">
-   <value><![CDATA[XAX1_15]]></value>
+   <value><![CDATA[YAX1_5]]></value>
 </attribute>
 </axis>
-<axis name="YAX1_5">
+<axis name="XAX1_15">
 <attribute name="direction" type="char">
-   <value><![CDATA[J]]></value>
+   <value><![CDATA[I]]></value>
 </attribute>
 <attribute name="length" type="short">
-   <value>5</value>
+   <value>15</value>
 </attribute>
 <attribute name="start" type="double">
    <value>1</value>
 </attribute>
 <attribute name="end" type="double">
-   <value>5</value>
+   <value>15</value>
 </attribute>
 <attribute name="point_spacing" type="char">
    <value><![CDATA[even]]></value>
@@ -61691,10 +62802,10 @@ sp cat the_xml_file.xml
    <value><![CDATA[DOUBLE]]></value>
 </attribute>
 <attribute name="axis" type="char">
-   <value><![CDATA[Y]]></value>
+   <value><![CDATA[X]]></value>
 </attribute>
 <attribute name="orig_file_axname" type="char">
-   <value><![CDATA[YAX1_5]]></value>
+   <value><![CDATA[XAX1_15]]></value>
 </attribute>
 </axis>
 </axes>
@@ -61702,13 +62813,15 @@ sp cat the_xml_file.xml
  
  
  
-! GO bn_reset
+! GO bn_reset O bn_encode_url
 ! GO bn_encode_url
  
 ! ******** V6.6 Additions below ***********
  
-GO bn_reset
+GO bn_reset bn66_bug_fixes
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn66_bug_fixes
 GO bn66_bug_fixes
 ! bn66_bug_fixes.jnl
 ! Fixes that go into v6.6 release
@@ -61716,6 +62829,7 @@ GO bn66_bug_fixes
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err65_averages.jnl
  
 use gt4d011
@@ -61806,8 +62920,10 @@ stat temp[z=@ave,t=@ave,y=-2:2]
  
 cancel region
  
-GO bn_reset
+GO bn_reset bn_netcdf4
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_netcdf4
 GO bn_netcdf4
 ! bn_netcdf4.jnl
 ! test syntax for controling NetCDF-4 intput and output.
@@ -61865,11 +62981,11 @@ save/file=nc4_deflate4_defaultchunk.nc/clobber/ncformat=4/deflate/shuffle sst
 sp stat nc4_nodeflate3.nc --printf="Bytes: %s\n"
 Bytes: 197528
 sp stat nc4_deflate4bigchunk.nc --printf="Bytes: %s\n"
-Bytes: 125228
+Bytes: 125636
 sp stat nc4_deflate4_xyt.nc --printf="Bytes: %s\n"
-Bytes: 124816
+Bytes: 125250
 sp stat nc4_deflate4_defaultchunk.nc --printf="Bytes: %s\n"
-Bytes: 118881
+Bytes: 119315
  
 ! Write variable as INT
 CAN DAT/all; can var/all; can mem/all
@@ -61886,9 +63002,9 @@ save/clobber/shuffle=1/file=nc4_inttemp_shuffle_set_list_deflate_chunk.nc temp
 sp stat nc4_inttemp_classic.nc --printf="Bytes: %s\n"
 Bytes: 60560
 sp stat nc4_inttemp_set_list_deflate_chunk.nc --printf="Bytes: %s\n"
-Bytes: 32404
+Bytes: 32900
 sp stat nc4_inttemp_shuffle_set_list_deflate_chunk.nc --printf="Bytes: %s\n"
-Bytes: 32581
+Bytes: 33115
  
 cancel list/all
 set list/ncformat=classic
@@ -61944,8 +63060,10 @@ save/file=nc4_deflate4chunktoobig.nc/clobber/ncformat=4/deflate=1/xchunk=6/ychun
 can mode ignore
  
  
-GO bn_reset
+GO bn_reset bn_scat2grid_bin.jnl
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_scat2grid_bin.jnl
 GO bn_scat2grid_bin.jnl
 ! bn_scat2grid_bin.jnl
 ! Tests of scat2grid_bin and scat2grid_nbin functions.
@@ -61956,12 +63074,12 @@ define axis/t=1-jan-2010:30-mar-2010:1/units=days tin
 define axis/t=1-jan-2010:30-mar-2010:10/units=days tout
 let tt = t[gt=tout,L=1:10]
 sh grid tt
-    GRID (G093)
+    GRID (G099)
  name       axis              # pts   start                end                 subset
  normal    X
  normal    Y
  normal    Z
- TOUT      TIME                10 r   01-JAN-2010 00:00    01-APR-2010 00:00   9 pts
+ TOUT      TIME                10 r   01-JAN-2010 00:00    01-APR-2010 00:00   10 pts
  
  
 define axis/x=0:10:0.05 x10
@@ -62161,12 +63279,12 @@ list/x=2:3 sgrid
  
 let tpts = 39798 + 87*RANDU(I)
 show grid tt
-    GRID (G091)
+    GRID (G093)
  name       axis              # pts   start                end                 subset
- x10       X                  201 r   0                    10                  full
+ X10       X                  201 r   0                    10                  full
  Y10       Y                  201 r   0                    10                  full
  normal    Z
- TOUT      TIME                10 r   01-JAN-2010 00:00    01-APR-2010 00:00   9 pts
+ TOUT      TIME                10 r   01-JAN-2010 00:00    01-APR-2010 00:00   10 pts
  
 let sgrid = scat2grid_bin_xyt (xpts, ypts, tpts, sample_function, x[gx=xax5], y[gy=yax5], tt)
 SAVE/FILE=a.nc/clobber sgrid
@@ -62282,8 +63400,10 @@ can axis tin
  
 ! *********** v6.62 Additions ***********
  
-GO bn_reset
+GO bn_reset bn_axis_dir_symbols
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_axis_dir_symbols
 GO bn_axis_dir_symbols
 ! bn_axis_dir_symbols.jnl
 ! 5/2010
@@ -62314,8 +63434,10 @@ AX_VERT = "Y"
  
 ! *********** v6.63 Additions ***********
  
-GO bn_reset
+GO bn_reset bn663_bug_fixes
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn663_bug_fixes
 GO bn663_bug_fixes
 ! bn663_bug_fixes.jnl
 ! Fixes that go into v6.63 release
@@ -62323,6 +63445,7 @@ GO bn663_bug_fixes
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err65_dots_in_dashes.jnl
 ! err65_dots_in_dashes.jnl
 ! Test fix to bug 1396: dots where there should
@@ -62343,6 +63466,7 @@ cancel mode meta
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err66_all_missing_lev_v.jnl
 ! err66_all_missing_lev_v.jnl
 ! Ferret hangs with /LEV=V and all missing data
@@ -62352,8 +63476,10 @@ SHADE/L=1/X=60:70/Y=40:50/LEV=v sst
  
 FILL/L=2/X=60:70/Y=40:50/LEV=v sst
  
-GO bn_reset
+GO bn_reset bn_set_axis_regular
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_set_axis_regular
 GO bn_set_axis_regular
 ! bn_set_axis_regular.jnl
 ! Karl Smith, 5/2010
@@ -62552,6 +63678,7 @@ show grid
 ! --- clean up
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 cancel grid mygrid
  
 ! --- read a NetCDF file with the irregular axes and data
@@ -62618,8 +63745,10 @@ show grid
  normal    T
  
  
-GO bn_reset
+GO bn_reset bn_set_cancel_redirect
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_set_cancel_redirect
 GO bn_set_cancel_redirect
 ! bn_set_cancel_redirect.jnl
 ! Karl Smith, 5/2010
@@ -63059,9 +64188,9 @@ list contents
              VARIABLE : { SPAWN:"cat redirect_journal.txt" }
              SUBSET   : 45 points (X)
  1    /  1:" ! NOAA/PMEL TMAP"                                                          
- 2    /  2:" ! FERRET v7.1 (beta/debug)"                                                
- 3    /  3:" ! Linux 2.6.32-642.13.1.el6.x86_64 64-bit - 02/15/17"                      
- 4    /  4:" ! 15-Feb-17 11:27     "                                                    
+ 2    /  2:" ! FERRET v7.2 (beta/debug)"                                                
+ 3    /  3:" ! Linux 2.6.32-696.3.2.el6.x86_64 64-bit - 07/12/17"                       
+ 4    /  4:" ! 12-Jul-17 09:51     "                                                    
  5    /  5:""                                                                           
  6    /  6:"! "                                                                         
  7    /  7:"!! --- 22. produce some output to stdout and stderr"                        
@@ -63111,8 +64240,10 @@ cancel grid mygrid
  
 !!! NOTE: journal mode is now turned off !!!
  
-GO bn_reset
+GO bn_reset bn_min_max_smoothers
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_min_max_smoothers
 GO bn_min_max_smoothers
 ! bn_min_max_smoothers.jnl
 ! New transforms @SMN and @SMX, smoothers based on the
@@ -63152,7 +64283,7 @@ regridding transforms e.g.SST[GX=x5deg at AVE]
    @MAX        maximum                      @NRST       nearst coord
    @SUM        area-wgtd sum                @BIN        unwgtd avg
    @NGD        #gd pts, area wgtd           @NBIN       #good in bin
-   @MOD        modulo ave
+   @MOD        modulo ave                   @IIN        #indef integral
  
 auxiliary varible regridding transforms e.g.TEMP[GZ(depth)=zax at AVE]
    code        description                  code        description
@@ -63402,8 +64533,10 @@ list/l=1/x=123.5w/y=2.5/z=0:100 temp, temp[k=@med], temp[k=@smx], temp[k=@smn]
 95    / 10:  23.54  24.51  24.51  23.54
  
  
-GO bn_reset
+GO bn_reset bn_vector_symbols
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_vector_symbols
 GO bn_vector_symbols
 ! bn_vector_symbols.jnl
 ! ACM 7/16/21010 Ferret V6.6.3
@@ -63450,8 +64583,10 @@ VECTOR/NOLAB/KEY/I=1:300/J=1:200/LEN=12.2/XSKIP=10/YSKIP=6 i/j,j/i
  
 VECTOR/OVER/KEY/NOLAB/I=1:300/J=1:200/LEN=12.2/XSKIP=10/YSKIP=4 i/j,j/i
  
-GO bn_reset
+GO bn_reset bn_variance_large
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_variance_large
 GO bn_variance_large
 ! bn_variance_large.jnl
 ! Previous to v6.6.4, these returned messages **too big**
@@ -63499,8 +64634,10 @@ SHADE/L=1/LEV=v huge
  
 CANCEL SYMBOL lev*
  
-GO bn_reset
+GO bn_reset bn_labnum_calendar
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_labnum_calendar
 GO bn_labnum_calendar
 ! bn_labnum_calendar.jn.
 ! Define new symbol, when a Calendar label is on
@@ -63522,8 +64659,10 @@ LAB4 = "CALENDAR: NOLEAP"
  
  
 ! *********** v6.65 Additions ***********
-GO bn_reset
+GO bn_reset bn665_bug_fixes
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn665_bug_fixes
 GO bn665_bug_fixes
 ! bn65_bug_fixes.jnl
 ! test various fixes that went into version 6.6.5
@@ -63532,6 +64671,7 @@ GO bn665_bug_fixes
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err664_xml_keep_case
 ! err664_xml_keep_case.jnl
 !
@@ -63721,6 +64861,7 @@ REPEAT/RANGE=1:`nd`/name=m (DEFINE SYMBOL m = `m`; SH AXIS/XML `axis_names[i=($m
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err664_xml_one_point_axis
 ! err664_xml_one_point_axis.jnl
 ! See LAS ticket 969.
@@ -63792,6 +64933,7 @@ SH VAR/XML
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err65_read_epic_cdf
 ! Ned Cokelet reports that the time coordinate is read incorrectly
 ! from this file.  Should translate to  04-MAY-2007 05:02
@@ -63830,6 +64972,7 @@ list ..dimnames
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err664_tax_fcns
 ! err664_tax_fcns.jnl
 ! Fixes for tickets 1766 and 1765
@@ -63900,8 +65043,10 @@ list tax_year(a,a)
  JUL-0005 / 6:"01-JUL-0005"
  
  
-GO bn_reset
+GO bn_reset bn_floatstr
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_floatstr
 GO bn_floatstr
 ! bn_floatstr.jnl
 ! testing new function to convert floating-point
@@ -64025,8 +65170,10 @@ LIST/X=165W:135W/Y=-50/L=1 STRLEN(var)
  135W   / 103:  0.000
  
 ! *********** v6.7 Additions ***********
-GO bn_reset
+GO bn_reset bn67_bug_fixes
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn67_bug_fixes
 GO bn67_bug_fixes
 ! bn67_bug_fixes.jnl
 ! test various fixes that went into version 6.7
@@ -64034,6 +65181,7 @@ GO bn67_bug_fixes
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err665_sum_4d_labels
 ! A multi-dimensioned sum is now done as a 4D transformation.
 ! the labels on a LISTing of the result contained ???
@@ -64050,6 +65198,7 @@ list sst[X=125E,Y=75S:75N at sum,l=1:12 at sum]
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err665_din
 ! err665_din
 ! Fixing incorrect latitude corrections for single-point y axis,
@@ -64119,6 +65268,7 @@ list p[x=279:380 at din,z=0:10 at din]
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err665_centered_lev
 ! err665_centered_lev
 ! Bug 1803; computation of new levels isnt requested for
@@ -64159,6 +65309,7 @@ LEV_DEL = "5"
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err665_hours_since_T
 ! err665_hours_since_T.jnl
 ! Ticket 1806: allow time-axis units string to
@@ -64177,6 +65328,7 @@ T0 = 15-JAN-1901 12:00:00
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err667_att_too_long
 ! err667_att_too_long.jnl
 ! 3/25/2011 ACM
@@ -64227,6 +65379,7 @@ save/file=aa.nc/clobber sfco2
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err667_mode_desperate
 ! err667_mode_desperate
 ! 3/25/2011 ACM
@@ -64238,22 +65391,22 @@ set mode ignore
  
 ! setting too large
 set mode desperate `9999999999`
- !-> set mode desperate   9999999999.000000
+ !-> set mode desperate 9999999999.
 show mode desperate
       MODE            STATE        ARGUMENT
-      DESPERATE     CANCELLED      2560000
+      DESPERATE     CANCELED       2560000
  
 ! another setting too large (previously value
 ! was set to the first 10 digits of this)
 set mode desperate 1234567890123456789
 show mode desperate
       MODE            STATE        ARGUMENT
-      DESPERATE     CANCELLED      2560000
+      DESPERATE     CANCELED       2560000
  
 ! Previously couldnt handle a floating point
 ! input. Now we can.
 set mode desperate `96 * 1024 * 1024`
- !-> set mode desperate   100663296.0000000
+ !-> set mode desperate 100663296.
 show mode desperate
       MODE            STATE        ARGUMENT
       DESPERATE        SET           100663296
@@ -64263,6 +65416,7 @@ cancel mode desperate
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err667_dup_axnames
 ! err667_dup_axnames.jnl
 ! See bug 1750
@@ -64293,6 +65447,7 @@ save/clob/file="justg.nc" g[d=1]
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err667_string_if
 ! err667_string_if.jnl
 ! Previously both of these LIST commands caused a crash.
@@ -64318,6 +65473,7 @@ list IF strings EQ "a" THEN "" ELSE strings
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err667_show_var_twice
  ! err667_show_var_twice.jnl
  ! ticket 1825
@@ -64339,11 +65495,13 @@ sh var airt2[d=1]
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err667_5d_netcdf
 exit/script  ! this test is not valid for 6D Ferret.
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err67_save_append_open
 ! err67_save_append_open.jnl
 ! ticket 1832
@@ -64383,8 +65541,10 @@ sh dat
  
  
  
-GO bn_reset
+GO bn_reset bn_NaN_note
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_NaN_note
 GO bn_NaN_note
 ! bn_NaN_note.jnl
 ! Ferret v6.7  2/2011
@@ -64399,13 +65559,16 @@ USE test0
 ! Now we get the NOTE
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 SET MODE diag
 USE test0
 CANCEL MODE diag
  
 ! *********** v6.71 Additions ***********
-GO bn_reset
+GO bn_reset bn671_bug_fixes
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn671_bug_fixes
 GO bn671_bug_fixes
 ! bn671_bug_fixes.jnl
 ! test various fixes that went into version 6.71
@@ -64413,6 +65576,7 @@ GO bn671_bug_fixes
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err67_tax_modtime
 ! err67_tax_modtime.jnl
 ! 5/17/2011
@@ -64483,6 +65647,7 @@ list tax_units(tvar)
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err67_save_append_open
 ! err67_save_append_open.jnl
 ! ticket 1832
@@ -64523,6 +65688,7 @@ sh dat
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err67_regridding_dyn
 ! err67_regridding_dyn.jnl
 !  6/2011
@@ -64630,6 +65796,7 @@ list/x=330/y=40:90 filled[d=3,gxy=filled[d=2]]
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err67_reverse_bounds
 ! err67_reverse_bounds.jnl
 !
@@ -64672,6 +65839,7 @@ list lev_var, zboxlo[gz=lev_var], zboxhi[gz=lev_var]
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err67_nrst_trans
 ! err67_nrst_trans.jnl
 !
@@ -64698,14 +65866,17 @@ list var
  400   / 11:   ....
  
 ! *********** v6.8 Additions ***********
-GO bn_reset
+GO bn_reset bn68_bug_fixes
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn68_bug_fixes
 GO bn68_bug_fixes
 ! bn68_bug_fixes.jnl
 ! test various fixes that went into version 6.8
 !
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err672_stray_line
 ! err672_stray_line.jnl
 ! bug 1545, present in older versions of Ferret too.
@@ -64726,6 +65897,7 @@ plot/over/vs/nolab/line/sym {148.83, 148.17}, {-29.96, -29.68}
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err672_tax_functions_prec
 ! See ticket 1642: arg 1 of TAX_* functions
 ! is a single-precision variale representing double-precision coords.
@@ -65023,6 +66195,7 @@ can mode ignore
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err672_subscr_precision
 ! err672_subscr_precision.jnl
 ! See ticket 1888.
@@ -65050,6 +66223,7 @@ list/t="02-JUN-2010:13:34:40":"02-JUN-2010:13:34:50" tt
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err672_vert_axislabel
 ! err672_vert_axislabel.jnl
 ! bug 1896
@@ -65080,6 +66254,7 @@ SET MODE/LAST shrink_ylab
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err672_axis_label_prec
 ! See ticket 1907
 ! Axis label format didnt give enough precision for accurate labels
@@ -65113,6 +66288,7 @@ plot v
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err672_long_show_axis
 ! See ticket 1905 - axes with very large number of points overflowed
 ! the format in SHOW AXIS commands
@@ -65128,6 +66304,7 @@ can axis huge
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err672_axis_order
 ! err672_axis_order
 ! See comment 5 under ticket 1774.
@@ -65196,6 +66373,7 @@ list/k=3/i=1 ucov[d=2]
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err672_runoff_page
 ! err672_runoff_page
 ! acm 5/3/2012
@@ -65216,6 +66394,7 @@ SET MODE/LAST shrink_ylab
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err672_samplexy_modulo
 ! err672_samplexy_modulo.jnl
 ! See ticket 1950: samplexy doesnt correctly do modulo operations.
@@ -65274,6 +66453,7 @@ list samplexyt(sst,{160,180,-20},{0,0,0},{`t1`,`t1`,`t1`})
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err672_varnames
 ! err672_varnames.jnl
 ! ticket 1938
@@ -65304,6 +66484,7 @@ CAN MODE IGNORE
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err672_dset_cx
 ! err672_dset_cx.jnl
 ! Ticket 1951: The dataset specified in list x[gx=a[d=1,i=1:3]] is not applied.
@@ -65313,7 +66494,7 @@ let a = x[gx=0:2:1]; save/clob/file=a1.nc a
 sho grid/x a
     GRID (G103)
  name       axis              # pts   start                end                 subset
- (AX137)   X                    3 r   0                    2                   2 pts
+ (AX084)   X                    3 r   0                    2                   3 pts
  normal    Y
  normal    Z
  normal    T
@@ -65327,7 +66508,7 @@ let a = x[gx=1:3:1]; save/clob/file=a2.nc a
 sho grid/x a
     GRID (G103)
  name       axis              # pts   start                end                 subset
- (AX121)   X                    3 r   1                    3                   2 pts
+ (AX121)   X                    3 r   1                    3                   3 pts
  normal    Y
  normal    Z
  normal    T
@@ -65346,14 +66527,14 @@ can var/all; can dat/all
 use a1
 list x[gx=a[d=1]]
              VARIABLE : X
-                        axis AX137
+                        axis AX084
              SUBSET   : 3 points (X)
  0   / 1:  0.000
  1   / 2:  1.000
  2   / 3:  2.000
 list x[gx=a[d=1,i=1:3]]
              VARIABLE : X
-                        axis AX137
+                        axis AX084
              SUBSET   : 3 points (X)
  0   / 1:  0.000
  1   / 2:  1.000
@@ -65368,7 +66549,7 @@ use a2
  
 list x[gx=a[d=1]]
              VARIABLE : X
-                        axis AX137
+                        axis AX084
              SUBSET   : 3 points (X)
  0   / 1:  0.000
  1   / 2:  1.000
@@ -65377,7 +66558,7 @@ list x[gx=a[d=1]]
 ! The bug was that this listed 1,2,3 rather than 0,1,2
 list x[gx=a[d=1,i=1:3]]
              VARIABLE : X
-                        axis AX137
+                        axis AX084
              SUBSET   : 3 points (X)
  0   / 1:  0.000
  1   / 2:  1.000
@@ -65393,14 +66574,16 @@ list x[gx=a[d=1,i=1:3]]
 ! Why is the following different?
 list x[gx=a[d=1],i=1:3]
              VARIABLE : X
-                        axis AX137
+                        axis AX084
              SUBSET   : 3 points (X)
  0   / 1:  0.000
  1   / 2:  1.000
  2   / 3:  2.000
  
-GO bn_reset
+GO bn_reset bn_ifv
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_ifv
 GO bn_ifv
 ! bn_ifv.jnl
 ! test IFV IfValid masking for a variety of combos
@@ -65537,8 +66720,10 @@ list IFV strings EQ "a" THEN "" ELSE strings
  2   / 2:"b"
  3   / 3:"" 
  
-GO bn_reset
+GO bn_reset bn_randu2_randn2
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_randu2_randn2
 GO bn_randu2_randn2
 ! Test randu2 and randn2 with newer random-number algorithm.
 ! 9/2011 acm
@@ -65556,40 +66741,40 @@ can mode ver
              BAD FLAG : -1.E+34       
              SUBSET   : 5 points (X)
              X        : 0.5 to 5.5
-randu2_randn2       0.108
-randu2_randn2       0.154
-randu2_randn2       0.365
-randu2_randn2       0.147
-randu2_randn2       0.657
+randu2_randn2       0.755
+randu2_randn2       0.885
+randu2_randn2       0.428
+randu2_randn2       0.677
+randu2_randn2       0.061
              VARIABLE : RANDU2(XBIG,-1)
              BAD FLAG : -1.E+34       
              SUBSET   : 5 points (X)
              X        : 0.5 to 5.5
-randu2_randn2       0.220
-randu2_randn2       0.395
-randu2_randn2       0.357
-randu2_randn2       0.661
-randu2_randn2       0.160
+randu2_randn2       0.613
+randu2_randn2       0.029
+randu2_randn2       0.293
+randu2_randn2       0.277
+randu2_randn2       0.607
              VARIABLE : RANDU2(XX,0)
              BAD FLAG : -1.E+34       
              SUBSET   : 6 points (X)
              X        : 0.5 to 6.5
-randu2_randn2       0.515
-randu2_randn2       0.537
-randu2_randn2       0.072
-randu2_randn2       0.784
-randu2_randn2       0.226
-randu2_randn2       0.972
+randu2_randn2       0.713
+randu2_randn2       0.235
+randu2_randn2       0.054
+randu2_randn2       0.282
+randu2_randn2       0.345
+randu2_randn2       0.214
              VARIABLE : RANDU2(XX,0)
              BAD FLAG : -1.E+34       
              SUBSET   : 6 points (X)
              X        : 0.5 to 6.5
-randu2_randn2       0.246
-randu2_randn2       0.422
-randu2_randn2       0.937
-randu2_randn2       0.486
-randu2_randn2       0.006
-randu2_randn2       0.333
+randu2_randn2       0.989
+randu2_randn2       0.563
+randu2_randn2       0.542
+randu2_randn2       0.199
+randu2_randn2       0.853
+randu2_randn2       0.395
              VARIABLE : RANDU2(XX,12436)
              BAD FLAG : -1.E+34       
              SUBSET   : 6 points (X)
@@ -65614,40 +66799,40 @@ randu2_randn2       0.638
              BAD FLAG : -1.E+34       
              SUBSET   : 5 points (X)
              X        : 0.5 to 5.5
-randu2_randn2       0.211
-randu2_randn2       1.687
-randu2_randn2      -1.395
-randu2_randn2      -1.004
-randu2_randn2       0.484
+randu2_randn2      -0.985
+randu2_randn2      -2.244
+randu2_randn2       0.281
+randu2_randn2       0.988
+randu2_randn2      -0.766
              VARIABLE : RANDN2(XBIG,-1)
              BAD FLAG : -1.E+34       
              SUBSET   : 5 points (X)
              X        : 0.5 to 5.5
-randu2_randn2       1.137
-randu2_randn2       0.178
-randu2_randn2      -0.317
-randu2_randn2      -1.711
-randu2_randn2      -1.646
+randu2_randn2      -0.698
+randu2_randn2      -0.470
+randu2_randn2      -1.085
+randu2_randn2      -0.810
+randu2_randn2      -0.525
              VARIABLE : RANDN2(XX,0)
              BAD FLAG : -1.E+34       
              SUBSET   : 6 points (X)
              X        : 0.5 to 6.5
-randu2_randn2       2.267
-randu2_randn2      -0.494
-randu2_randn2      -0.240
-randu2_randn2       1.912
-randu2_randn2      -0.191
-randu2_randn2       0.325
+randu2_randn2       1.275
+randu2_randn2      -1.232
+randu2_randn2       1.093
+randu2_randn2       0.427
+randu2_randn2      -0.453
+randu2_randn2       0.042
              VARIABLE : RANDN2(XX,0)
              BAD FLAG : -1.E+34       
              SUBSET   : 6 points (X)
              X        : 0.5 to 6.5
-randu2_randn2       0.089
-randu2_randn2      -0.694
-randu2_randn2       1.949
-randu2_randn2       1.214
-randu2_randn2      -0.488
-randu2_randn2       1.214
+randu2_randn2      -0.347
+randu2_randn2      -0.293
+randu2_randn2      -1.142
+randu2_randn2      -1.119
+randu2_randn2       0.198
+randu2_randn2      -0.552
              VARIABLE : RANDN2(XX,12436)
              BAD FLAG : -1.E+34       
              SUBSET   : 6 points (X)
@@ -65672,17 +66857,19 @@ randu2_randn2      -1.279
  Column  1: VAR2 is COS(Z[GZ=ZAX]/30) + RANDU2(1+K[GZ=ZAX],-1)
  Column  2: VAR2[Z=@MED:3] is COS(Z[GZ=ZAX]/30) + RANDU2(1+K[GZ=ZAX],-1) (median smoothed by 3 pts on Z)
  Column  3: VAR2[Z=@MED:9] is COS(Z[GZ=ZAX]/30) + RANDU2(1+K[GZ=ZAX],-1) (median smoothed by 9 pts on Z)
-randu2_randn2       1.869       1.869       1.022
-randu2_randn2       1.022       1.032       1.022
-randu2_randn2       1.032       1.022       0.243
-randu2_randn2       0.243       0.243       0.597
-randu2_randn2      -0.200      -0.200       0.597
-randu2_randn2      -0.365      -0.200       0.597
-randu2_randn2      -0.159      -0.159       0.597
-randu2_randn2       0.597       0.597       0.597
- 
-GO bn_reset
-cancel mode verify
+randu2_randn2       1.045       1.429       0.276
+randu2_randn2       1.429       1.045       0.276
+randu2_randn2       0.276       0.276       0.262
+randu2_randn2       0.262       0.262       0.276
+randu2_randn2      -0.538      -0.129       0.276
+randu2_randn2      -0.129      -0.538       0.276
+randu2_randn2      -0.554      -0.129       0.276
+randu2_randn2       0.582       0.582       0.582
+ 
+GO bn_reset bn_axis_cf
+cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_axis_cf
 GO bn_axis_cf
 ! Ticket 1792: Write axes with CF-compliant units
 ! and with standard name attributes for geophysical attrs.
@@ -65750,8 +66937,10 @@ sp ncdump -h a.nc >> all_ncdump.out
  
  
  
-GO bn_reset
+GO bn_reset bn_repeated_coords
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_repeated_coords
 GO bn_repeated_coords
 ! Test the use of micro-adjusting on NetCDF read
 ! when coordinates are repeated.
@@ -65821,8 +67010,10 @@ list aa[L=1:71:10]
  01-JAN-2001 01:10:00 / 8:  0.6997
  
  
-GO bn_reset
+GO bn_reset bn_xml_header
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_xml_header
 GO bn_xml_header
 ! bn_xml_header.jnl
 ! run the exact script that LAS uses to make XML header files
@@ -66039,8 +67230,10 @@ sp grep -A5 dimension xml_out_string.xml
 </dimensions>
 </data>
  
-GO bn_reset
+GO bn_reset bn_eof_simple
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_eof_simple
 GO bn_eof_simple
 ! bn_eof_simple
 ! Define a simple function with two known functions.
@@ -66662,8 +67855,10 @@ can axis xaxis
  
 exit/script
  
-GO bn_reset
+GO bn_reset bn_eof_simple2
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_eof_simple2
 GO bn_eof_simple2
 ! bn_eof_simple2
 ! Define a simple function with four known functions, two of which are degenerate.
@@ -67025,8 +68220,10 @@ exit/script
  
 ! 6D tests for Ferret v6.8
  
-GO bn_reset
+GO bn_reset bn_interpolate_6d
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_interpolate_6d
 GO bn_interpolate_6d
 ! bn_interpolate_6d.JNL
 ! benchmark interpolation along various axes
@@ -67428,8 +68625,10 @@ LIST v[@xpt, at ypt, at ept, at fpt]
  
 set mode/last calendar
  
-GO bn_reset
+GO bn_reset bn_regrid_6d
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_regrid_6d
 GO bn_regrid_6d
 ! bn_regrid_6d.jnl
 ! version of bn_regrid, using E and F directions.
@@ -68814,8 +70013,10 @@ set mode/last long_label
 set mode/last calendar
  
  
-GO bn_reset
+GO bn_reset bn_syntax_6d
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_syntax_6d
 GO bn_syntax_6d
 ! bn_syntax_6d.JNL
 ! - test syntax interpretation of Program FERRET 6D
@@ -68944,8 +70145,10 @@ cancel variables/all;\
      currently SET data sets:
           3.00000
  
-GO bn_reset
+GO bn_reset bn_expressions_6d
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_expressions_6d
 GO bn_expressions_6d
 ! bn_expressions_6d.jnl
 ! testing expressions syntax in E and F directions.
@@ -69427,8 +70630,10 @@ LIST/n=5:7 FBOXLO, FBOXHI
 6   / 6:  5.50000  6.50000
 7   / 7:  6.50000  7.50000
  
-GO bn_reset
+GO bn_reset bn_direction_fcns_6d
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_direction_fcns_6d
 GO bn_direction_fcns_6d
 ! bn_direction_functions_6d
 ! Tests of sort, sample, reverse, convolve, compress, and compess_by
@@ -69647,8 +70852,10 @@ list compressn_by(fsequence({10,20,30,40,50}),mask)
  4   / 4:     ....     ....
  5   / 5:     ....     ....
  
-GO bn_reset
+GO bn_reset bn_regrid_transforms_6d
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_regrid_transforms_6d
 GO bn_regrid_transforms_6d
 ! bn_regrid_transforms_6d.jnl
 ! benchmark to test regridding transformations and syntax
@@ -69662,7 +70869,7 @@ set mode calendar:years
 define axis/f=23-jan-1982:30-jan-1982:20/unit=hour fax20
 define axis/x=120e:60w:10/unit=degrees xax10
 define grid/like=temp/f=fax20 g5day
- getgrid EX#1     C:  6 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  6 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GGR1            PSXT      PSYT5_89  PSZT1_2   TIME21    EAXIS     FAXIS
  dealloc  dynamic grid GGR1            PSXT      PSYT5_89  PSZT1_2   TIME21    EAXIS     FAXIS
  
@@ -69671,15 +70878,15 @@ set reg/x=130w:125w/y=0:1.5/e=1:2/f=23-JAN-1982:24-jan-1982/t=21-JAN-1982/z=5
 use gtsa056_1_ef    	!kob 4/99
  
 stat temp[g=g5day] - temp[g=g5day at ave]
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip --> EX#1[T=1982 at ITP,D=1]
- eval    EX#1     C:  5 dset:   1 I:  101  105  J:   41   46  K:    1    1  L:    2    3  M:    1    2  N:    1    2
+ eval    EX#1     C:  5 dset:   1 I:    101    105  J:   41   46  K:    1    1  L:      2      3  M:    1    2  N:    1    2
  strip regrid on F: TEMP --> G5DAY            @LIN
- reading TEMP     M:120 dset:   1 I:  101  105  J:   41   46  K:    1    1  L:    2    3  M:    1    2  N:    1    2
- regrid  TEMP     M:118 dset:   1 I:  101  105  J:   41   46  K:    1    1  L:    2    3  M:    1    2  N:    1    2
+ reading TEMP     M:248 dset:   1 I:    101    105  J:   41   46  K:    1    1  L:      2      3  M:    1    2  N:    1    2
+ regrid  TEMP     M:236 dset:   1 I:    101    105  J:   41   46  K:    1    1  L:      2      3  M:    1    2  N:    1    2
  strip regrid on F: TEMP --> G5DAY            @AVE
- reading TEMP     M:114 dset:   1 I:  101  105  J:   41   46  K:    1    1  L:    2    3  M:    1    2  N:    1    2
- regrid  TEMP     M:104 dset:   1 I:  101  105  J:   41   46  K:    1    1  L:    2    3  M:    1    2  N:    1    2
+ found   TEMP     M:248 dset:   1 I:    101    105  J:   41   46  K:    1    1  L:      2      3  M:    1    2  N:    1    2
+ regrid  TEMP     M:232 dset:   1 I:    101    105  J:   41   46  K:    1    1  L:      2      3  M:    1    2  N:    1    2
  doing --> EX#1[T=1982 at ITP,D=1]
  
              TEMP[G=G5DAY] - TEMP[G=G5DAY at AVE]
@@ -69700,17 +70907,17 @@ stat temp[g=g5day] - temp[g=g5day at ave]
  
 ! basic regrid tests
 LIST temp[g=g5day at ave]
- -DELETE EX#1     M: 94 dset:   1 I:  101  105  J:   41   46  K:    1    1  L: -999 -999  M:    1    2  N:    1    2
- -DELETE EX#1     M:112 dset:   1 I:  101  105  J:   41   46  K:    1    1  L:    2    3  M:    1    2  N:    1    2
+ -DELETE EX#1     M:226 dset:   1 I:    101    105  J:   41   46  K:    1    1  L:      2      3  M:    1    2  N:    1    2
+ -DELETE EX#1     M:234 dset:   1 I:    101    105  J:   41   46  K:    1    1  L:   -999   -999  M:    1    2  N:    1    2
  dealloc  dynamic grid G5DAY           PSXT      PSYT5_89  PSZT1_2   TIME21    EAXIS     FAX20
- -DELETE TEMP     M:104 dset:   1 I:  101  105  J:   41   46  K:    1    1  L:    2    3  M:    1    2  N:    1    2
- -DELETE TEMP     M:118 dset:   1 I:  101  105  J:   41   46  K:    1    1  L:    2    3  M:    1    2  N:    1    2
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ -DELETE TEMP     M:232 dset:   1 I:    101    105  J:   41   46  K:    1    1  L:      2      3  M:    1    2  N:    1    2
+ -DELETE TEMP     M:236 dset:   1 I:    101    105  J:   41   46  K:    1    1  L:      2      3  M:    1    2  N:    1    2
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip --> EX#1[T=1982 at ITP,D=1]
- eval    EX#1     C:  5 dset:   1 I:  101  105  J:   41   46  K:    1    1  L:    2    3  M:    1    2  N:    1    2
+ eval    EX#1     C:  5 dset:   1 I:    101    105  J:   41   46  K:    1    1  L:      2      3  M:    1    2  N:    1    2
  strip regrid on F: TEMP --> G5DAY            @AVE
- reading TEMP     M:118 dset:   1 I:  101  105  J:   41   46  K:    1    1  L:    2    3  M:    1    2  N:    1    2
- regrid  TEMP     M:104 dset:   1 I:  101  105  J:   41   46  K:    1    1  L:    2    3  M:    1    2  N:    1    2
+ found   TEMP     M:248 dset:   1 I:    101    105  J:   41   46  K:    1    1  L:      2      3  M:    1    2  N:    1    2
+ regrid  TEMP     M:236 dset:   1 I:    101    105  J:   41   46  K:    1    1  L:      2      3  M:    1    2  N:    1    2
  doing --> TEMP[T=1982 at ITP,D=1]
              VARIABLE : TEMPERATURE (deg. C)
                         regrid: G5DAY on F at AVE
@@ -69752,14 +70959,14 @@ LIST temp[g=g5day at ave]
  0.17S / 41:  43.3538  43.2657  43.1716  43.1285  43.2282
 LIST temp[g=g5day]	
  dealloc  dynamic grid G5DAY           PSXT      PSYT5_89  PSZT1_2   TIME21    EAXIS     FAX20
- -DELETE TEMP     M:104 dset:   1 I:  101  105  J:   41   46  K:    1    1  L:    2    3  M:    1    2  N:    1    2
- -DELETE TEMP     M:112 dset:   1 I:  101  105  J:   41   46  K:    1    1  L: -999 -999  M:    1    2  N:    1    2
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ -DELETE TEMP     M:232 dset:   1 I:    101    105  J:   41   46  K:    1    1  L:   -999   -999  M:    1    2  N:    1    2
+ -DELETE TEMP     M:236 dset:   1 I:    101    105  J:   41   46  K:    1    1  L:      2      3  M:    1    2  N:    1    2
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip --> EX#1[T=1982 at ITP,D=1]
- eval    EX#1     C:  5 dset:   1 I:  101  105  J:   41   46  K:    1    1  L:    2    3  M:    1    2  N:    1    2
+ eval    EX#1     C:  5 dset:   1 I:    101    105  J:   41   46  K:    1    1  L:      2      3  M:    1    2  N:    1    2
  strip regrid on F: TEMP --> G5DAY            @LIN
- reading TEMP     M:112 dset:   1 I:  101  105  J:   41   46  K:    1    1  L:    2    3  M:    1    2  N:    1    2
- regrid  TEMP     M:104 dset:   1 I:  101  105  J:   41   46  K:    1    1  L:    2    3  M:    1    2  N:    1    2
+ found   TEMP     M:248 dset:   1 I:    101    105  J:   41   46  K:    1    1  L:      2      3  M:    1    2  N:    1    2
+ regrid  TEMP     M:236 dset:   1 I:    101    105  J:   41   46  K:    1    1  L:      2      3  M:    1    2  N:    1    2
  doing --> TEMP[T=1982 at ITP,D=1]
              VARIABLE : TEMPERATURE (deg. C)
                         regrid: G5DAY
@@ -69820,16 +71027,16 @@ use gtsa056_1_ef 		!kob 4/99
 set region/x=180E/y=0/f=23-JAN-1982/t=21-JAN-1982/z=5
 plot temp
  dealloc  dynamic grid G5DAY           PSXT      PSYT5_89  PSZT1_2   TIME21    EAXIS     FAX20
- -DELETE TEMP     M: 94 dset:   1 I:  101  105  J:   41   46  K:    1    1  L: -999 -999  M:    1    2  N:    1    2
- -DELETE TEMP     M:104 dset:   1 I:  101  105  J:   41   46  K:    1    1  L:    2    3  M:    1    2  N:    1    2
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ -DELETE TEMP     M:232 dset:   1 I:    101    105  J:   41   46  K:    1    1  L:   -999   -999  M:    1    2  N:    1    2
+ -DELETE TEMP     M:236 dset:   1 I:    101    105  J:   41   46  K:    1    1  L:      2      3  M:    1    2  N:    1    2
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GGR1            PSXT      PSYT5_89  PSZT1_2   TIME21    EAXIS     FAXIS
  strip --> EX#1[F=1982 at ITP,D=1]
  strip --> EX#1[T=1982 at ITP,D=1]
  strip --> EX#1[Y=0 at ITP,D=1]
  strip --> EX#1[X=180E at ITP,D=1]
- eval    EX#1     C:  8 dset:   1 I:   50   51  J:   41   42  K:    1    1  L:    2    3  M:    1    2  N:    1    2
- reading TEMP     M:104 dset:   1 I:   50   51  J:   41   42  K:    1    1  L:    2    3  M:    1    2  N:    1    2
+ eval    EX#1     C:  8 dset:   1 I:     50     51  J:   41   42  K:    1    1  L:      2      3  M:    1    2  N:    1    2
+ reading TEMP     M:236 dset:   1 I:     50     51  J:   41   42  K:    1    1  L:      2      3  M:    1    2  N:    1    2
  doing --> TEMP[X=180E at ITP,D=1]
  doing --> TEMP[Y=0 at ITP,D=1]
  doing --> TEMP[T=1982 at ITP,D=1]
@@ -69838,14 +71045,14 @@ setting up plot
 PPL plot 869  complete
 plot/over temp[g=g5day]
  dealloc  dynamic grid GGR1            PSXT      PSYT5_89  PSZT1_2   TIME21    EAXIS     FAXIS
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip --> EX#1[T=1982 at ITP,D=1]
  strip --> EX#1[Y=0 at ITP,D=1]
  strip --> EX#1[X=180E at ITP,D=1]
- eval    EX#1     C:  7 dset:   1 I:   50   51  J:   41   42  K:    1    1  L:    2    3  M:    1    2  N:    1    1
+ eval    EX#1     C:  7 dset:   1 I:     50     51  J:   41   42  K:    1    1  L:      2      3  M:    1    2  N:    1    1
  strip regrid on F: TEMP --> G5DAY            @LIN
- reading TEMP     M: 86 dset:   1 I:   50   51  J:   41   42  K:    1    1  L:    2    3  M:    1    2  N:    1    2
- regrid  TEMP     M: 58 dset:   1 I:   50   51  J:   41   42  K:    1    1  L:    2    3  M:    1    2  N:    1    1
+ found   TEMP     M:236 dset:   1 I:     50     51  J:   41   42  K:    1    1  L:      2      3  M:    1    2  N:    1    2
+ regrid  TEMP     M:216 dset:   1 I:     50     51  J:   41   42  K:    1    1  L:      2      3  M:    1    2  N:    1    1
  doing --> TEMP[X=180E at ITP,D=1]
  doing --> TEMP[Y=0 at ITP,D=1]
  doing --> TEMP[T=1982 at ITP,D=1]
@@ -69853,18 +71060,18 @@ setting up plot
 PPL plot 870  complete
 plot/over temp[g=g5day at ave]
  dealloc  dynamic grid G5DAY           PSXT      PSYT5_89  PSZT1_2   TIME21    EAXIS     FAX20
- -DELETE TEMP     M: 58 dset:   1 I:   50   51  J:   41   42  K:    1    1  L:    2    3  M:    1    2  N:    1    1
- -DELETE TEMP     M: 72 dset:   1 I: -999 -999  J: -999 -999  K:    1    1  L: -999 -999  M:    1    2  N:    1    1
- -DELETE TEMP     M: 88 dset:   1 I: -999 -999  J: -999 -999  K:    1    1  L:    2    3  M:    1    2  N:    1    1
- -DELETE TEMP     M: 96 dset:   1 I: -999 -999  J:   41   42  K:    1    1  L:    2    3  M:    1    2  N:    1    1
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ -DELETE TEMP     M:216 dset:   1 I:     50     51  J:   41   42  K:    1    1  L:      2      3  M:    1    2  N:    1    1
+ -DELETE TEMP     M:220 dset:   1 I:   -999   -999  J: -999 -999  K:    1    1  L:      2      3  M:    1    2  N:    1    1
+ -DELETE TEMP     M:228 dset:   1 I:   -999   -999  J:   41   42  K:    1    1  L:      2      3  M:    1    2  N:    1    1
+ -DELETE TEMP     M:242 dset:   1 I:   -999   -999  J: -999 -999  K:    1    1  L:   -999   -999  M:    1    2  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip --> EX#1[T=1982 at ITP,D=1]
  strip --> EX#1[Y=0 at ITP,D=1]
  strip --> EX#1[X=180E at ITP,D=1]
- eval    EX#1     C:  7 dset:   1 I:   50   51  J:   41   42  K:    1    1  L:    2    3  M:    1    2  N:    1    1
+ eval    EX#1     C:  7 dset:   1 I:     50     51  J:   41   42  K:    1    1  L:      2      3  M:    1    2  N:    1    1
  strip regrid on F: TEMP --> G5DAY            @AVE
- reading TEMP     M: 96 dset:   1 I:   50   51  J:   41   42  K:    1    1  L:    2    3  M:    1    2  N:    1    1
- regrid  TEMP     M: 88 dset:   1 I:   50   51  J:   41   42  K:    1    1  L:    2    3  M:    1    2  N:    1    1
+ found   TEMP     M:236 dset:   1 I:     50     51  J:   41   42  K:    1    1  L:      2      3  M:    1    2  N:    1    2
+ regrid  TEMP     M:242 dset:   1 I:     50     51  J:   41   42  K:    1    1  L:      2      3  M:    1    2  N:    1    1
  doing --> TEMP[X=180E at ITP,D=1]
  doing --> TEMP[Y=0 at ITP,D=1]
  doing --> TEMP[T=1982 at ITP,D=1]
@@ -69872,18 +71079,18 @@ setting up plot
 PPL plot 871  complete
 plot/over temp[g=g5day at asn]
  dealloc  dynamic grid G5DAY           PSXT      PSYT5_89  PSZT1_2   TIME21    EAXIS     FAX20
- -DELETE TEMP     M: 58 dset:   1 I: -999 -999  J: -999 -999  K:    1    1  L:    2    3  M:    1    2  N:    1    1
- -DELETE TEMP     M: 72 dset:   1 I: -999 -999  J:   41   42  K:    1    1  L:    2    3  M:    1    2  N:    1    1
- -DELETE TEMP     M: 80 dset:   1 I: -999 -999  J: -999 -999  K:    1    1  L: -999 -999  M:    1    2  N:    1    1
- -DELETE TEMP     M: 88 dset:   1 I:   50   51  J:   41   42  K:    1    1  L:    2    3  M:    1    2  N:    1    1
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ -DELETE TEMP     M:216 dset:   1 I:   -999   -999  J: -999 -999  K:    1    1  L:   -999   -999  M:    1    2  N:    1    1
+ -DELETE TEMP     M:220 dset:   1 I:   -999   -999  J: -999 -999  K:    1    1  L:      2      3  M:    1    2  N:    1    1
+ -DELETE TEMP     M:228 dset:   1 I:   -999   -999  J:   41   42  K:    1    1  L:      2      3  M:    1    2  N:    1    1
+ -DELETE TEMP     M:242 dset:   1 I:     50     51  J:   41   42  K:    1    1  L:      2      3  M:    1    2  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip --> EX#1[T=1982 at ITP,D=1]
  strip --> EX#1[Y=0 at ITP,D=1]
  strip --> EX#1[X=180E at ITP,D=1]
- eval    EX#1     C:  7 dset:   1 I:   50   51  J:   41   42  K:    1    1  L:    2    3  M:    1    2  N:    1    1
+ eval    EX#1     C:  7 dset:   1 I:     50     51  J:   41   42  K:    1    1  L:      2      3  M:    1    2  N:    1    1
  strip regrid on F: TEMP --> G5DAY            @ASN
- reading TEMP     M: 88 dset:   1 I:   50   51  J:   41   42  K:    1    1  L:    2    3  M:    1    2  N:    1    1
- regrid  TEMP     M: 80 dset:   1 I:   50   51  J:   41   42  K:    1    1  L:    2    3  M:    1    2  N:    1    1
+ found   TEMP     M:236 dset:   1 I:     50     51  J:   41   42  K:    1    1  L:      2      3  M:    1    2  N:    1    2
+ regrid  TEMP     M:242 dset:   1 I:     50     51  J:   41   42  K:    1    1  L:      2      3  M:    1    2  N:    1    1
  doing --> TEMP[X=180E at ITP,D=1]
  doing --> TEMP[Y=0 at ITP,D=1]
  doing --> TEMP[T=1982 at ITP,D=1]
@@ -69894,17 +71101,17 @@ PPL plot 872  complete
 set region/x=180/y=20s:20n/e=2/t=21-JAN-1982/z=5
 plot temp
  dealloc  dynamic grid G5DAY           PSXT      PSYT5_89  PSZT1_2   TIME21    EAXIS     FAX20
- -DELETE TEMP     M: 58 dset:   1 I: -999 -999  J: -999 -999  K:    1    1  L:    2    3  M:    1    2  N:    1    1
- -DELETE TEMP     M: 72 dset:   1 I: -999 -999  J:   41   42  K:    1    1  L:    2    3  M:    1    2  N:    1    1
- -DELETE TEMP     M: 78 dset:   1 I: -999 -999  J: -999 -999  K:    1    1  L: -999 -999  M:    1    2  N:    1    1
- -DELETE TEMP     M: 80 dset:   1 I:   50   51  J:   41   42  K:    1    1  L:    2    3  M:    1    2  N:    1    1
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ -DELETE TEMP     M:216 dset:   1 I:   -999   -999  J: -999 -999  K:    1    1  L:   -999   -999  M:    1    2  N:    1    1
+ -DELETE TEMP     M:220 dset:   1 I:   -999   -999  J: -999 -999  K:    1    1  L:      2      3  M:    1    2  N:    1    1
+ -DELETE TEMP     M:228 dset:   1 I:   -999   -999  J:   41   42  K:    1    1  L:      2      3  M:    1    2  N:    1    1
+ -DELETE TEMP     M:242 dset:   1 I:     50     51  J:   41   42  K:    1    1  L:      2      3  M:    1    2  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GGR1            PSXT      PSYT5_89  PSZT1_2   TIME21    EAXIS     FAXIS
  strip --> EX#1[F=1982 at ITP,D=1]
  strip --> EX#1[T=1982 at ITP,D=1]
  strip --> EX#1[X=180E at ITP,D=1]
- eval    EX#1     C:  7 dset:   1 I:   50   51  J:    1   84  K:    1    1  L:    2    3  M:    2    2  N:    1    2
- reading TEMP     M: 80 dset:   1 I:   50   51  J:    1   84  K:    1    1  L:    2    3  M:    2    2  N:    1    2
+ eval    EX#1     C:  7 dset:   1 I:     50     51  J:    1   84  K:    1    1  L:      2      3  M:    2    2  N:    1    2
+ reading TEMP     M:242 dset:   1 I:     50     51  J:    1   84  K:    1    1  L:      2      3  M:    2    2  N:    1    2
  doing --> TEMP[X=180E at ITP,D=1]
  doing --> TEMP[T=1982 at ITP,D=1]
  doing --> TEMP[F=1982 at ITP,D=1]
@@ -69912,45 +71119,45 @@ setting up plot
 PPL plot 873  complete
 plot/over temp[g=g5day]
  dealloc  dynamic grid GGR1            PSXT      PSYT5_89  PSZT1_2   TIME21    EAXIS     FAXIS
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip --> EX#1[T=1982 at ITP,D=1]
  strip --> EX#1[X=180E at ITP,D=1]
- eval    EX#1     C:  6 dset:   1 I:   50   51  J:    1   84  K:    1    1  L:    2    3  M:    2    2  N:    1    1
+ eval    EX#1     C:  6 dset:   1 I:     50     51  J:    1   84  K:    1    1  L:      2      3  M:    2    2  N:    1    1
  strip regrid on F: TEMP --> G5DAY            @LIN
- reading TEMP     M:106 dset:   1 I:   50   51  J:    1   84  K:    1    1  L:    2    3  M:    2    2  N:    1    2
- regrid  TEMP     M: 98 dset:   1 I:   50   51  J:    1   84  K:    1    1  L:    2    3  M:    2    2  N:    1    1
+ found   TEMP     M:242 dset:   1 I:     50     51  J:    1   84  K:    1    1  L:      2      3  M:    2    2  N:    1    2
+ regrid  TEMP     M:224 dset:   1 I:     50     51  J:    1   84  K:    1    1  L:      2      3  M:    2    2  N:    1    1
  doing --> TEMP[X=180E at ITP,D=1]
  doing --> TEMP[T=1982 at ITP,D=1]
 setting up plot
 PPL plot 874  complete
 plot/over temp[g=g5day at ave]
  dealloc  dynamic grid G5DAY           PSXT      PSYT5_89  PSZT1_2   TIME21    EAXIS     FAX20
- -DELETE TEMP     M: 74 dset:   1 I: -999 -999  J:    1   84  K:    1    1  L: -999 -999  M:    2    2  N:    1    1
- -DELETE TEMP     M: 82 dset:   1 I: -999 -999  J:    1   84  K:    1    1  L:    2    3  M:    2    2  N:    1    1
- -DELETE TEMP     M: 98 dset:   1 I:   50   51  J:    1   84  K:    1    1  L:    2    3  M:    2    2  N:    1    1
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ -DELETE TEMP     M:212 dset:   1 I:   -999   -999  J:    1   84  K:    1    1  L:   -999   -999  M:    2    2  N:    1    1
+ -DELETE TEMP     M:224 dset:   1 I:     50     51  J:    1   84  K:    1    1  L:      2      3  M:    2    2  N:    1    1
+ -DELETE TEMP     M:240 dset:   1 I:   -999   -999  J:    1   84  K:    1    1  L:      2      3  M:    2    2  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip --> EX#1[T=1982 at ITP,D=1]
  strip --> EX#1[X=180E at ITP,D=1]
- eval    EX#1     C:  6 dset:   1 I:   50   51  J:    1   84  K:    1    1  L:    2    3  M:    2    2  N:    1    1
+ eval    EX#1     C:  6 dset:   1 I:     50     51  J:    1   84  K:    1    1  L:      2      3  M:    2    2  N:    1    1
  strip regrid on F: TEMP --> G5DAY            @AVE
- reading TEMP     M: 98 dset:   1 I:   50   51  J:    1   84  K:    1    1  L:    2    3  M:    2    2  N:    1    1
- regrid  TEMP     M: 82 dset:   1 I:   50   51  J:    1   84  K:    1    1  L:    2    3  M:    2    2  N:    1    1
+ found   TEMP     M:242 dset:   1 I:     50     51  J:    1   84  K:    1    1  L:      2      3  M:    2    2  N:    1    2
+ regrid  TEMP     M:240 dset:   1 I:     50     51  J:    1   84  K:    1    1  L:      2      3  M:    2    2  N:    1    1
  doing --> TEMP[X=180E at ITP,D=1]
  doing --> TEMP[T=1982 at ITP,D=1]
 setting up plot
 PPL plot 875  complete
 plot/over temp[g=g5day at asn]
  dealloc  dynamic grid G5DAY           PSXT      PSYT5_89  PSZT1_2   TIME21    EAXIS     FAX20
- -DELETE TEMP     M: 70 dset:   1 I: -999 -999  J:    1   84  K:    1    1  L: -999 -999  M:    2    2  N:    1    1
- -DELETE TEMP     M: 74 dset:   1 I: -999 -999  J:    1   84  K:    1    1  L:    2    3  M:    2    2  N:    1    1
- -DELETE TEMP     M: 82 dset:   1 I:   50   51  J:    1   84  K:    1    1  L:    2    3  M:    2    2  N:    1    1
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ -DELETE TEMP     M:212 dset:   1 I:   -999   -999  J:    1   84  K:    1    1  L:   -999   -999  M:    2    2  N:    1    1
+ -DELETE TEMP     M:224 dset:   1 I:   -999   -999  J:    1   84  K:    1    1  L:      2      3  M:    2    2  N:    1    1
+ -DELETE TEMP     M:240 dset:   1 I:     50     51  J:    1   84  K:    1    1  L:      2      3  M:    2    2  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip --> EX#1[T=1982 at ITP,D=1]
  strip --> EX#1[X=180E at ITP,D=1]
- eval    EX#1     C:  6 dset:   1 I:   50   51  J:    1   84  K:    1    1  L:    2    3  M:    2    2  N:    1    1
+ eval    EX#1     C:  6 dset:   1 I:     50     51  J:    1   84  K:    1    1  L:      2      3  M:    2    2  N:    1    1
  strip regrid on F: TEMP --> G5DAY            @ASN
- reading TEMP     M: 82 dset:   1 I:   50   51  J:    1   84  K:    1    1  L:    2    3  M:    2    2  N:    1    1
- regrid  TEMP     M: 74 dset:   1 I:   50   51  J:    1   84  K:    1    1  L:    2    3  M:    2    2  N:    1    1
+ found   TEMP     M:242 dset:   1 I:     50     51  J:    1   84  K:    1    1  L:      2      3  M:    2    2  N:    1    2
+ regrid  TEMP     M:240 dset:   1 I:     50     51  J:    1   84  K:    1    1  L:      2      3  M:    2    2  N:    1    1
  doing --> TEMP[X=180E at ITP,D=1]
  doing --> TEMP[T=1982 at ITP,D=1]
 setting up plot
@@ -69976,36 +71183,36 @@ let a2 = _e[ge=e2pt]+_f[gf=f2pt]
  
 list a1[ge=eoffset at ave, gf=fax4day at ave]
  dealloc  dynamic grid G5DAY           PSXT      PSYT5_89  PSZT1_2   TIME21    EAXIS     FAX20
- -DELETE TEMP     M: 66 dset:   1 I: -999 -999  J:    1   84  K:    1    1  L: -999 -999  M:    2    2  N:    1    1
- -DELETE TEMP     M: 70 dset:   1 I: -999 -999  J:    1   84  K:    1    1  L:    2    3  M:    2    2  N:    1    1
- -DELETE TEMP     M: 74 dset:   1 I:   50   51  J:    1   84  K:    1    1  L:    2    3  M:    2    2  N:    1    1
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid A1       C:  7 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ -DELETE TEMP     M:212 dset:   1 I:   -999   -999  J:    1   84  K:    1    1  L:   -999   -999  M:    2    2  N:    1    1
+ -DELETE TEMP     M:224 dset:   1 I:   -999   -999  J:    1   84  K:    1    1  L:      2      3  M:    2    2  N:    1    1
+ -DELETE TEMP     M:240 dset:   1 I:     50     51  J:    1   84  K:    1    1  L:      2      3  M:    2    2  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid A1       C:  7 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G089)          NORMAL    NORMAL    NORMAL    NORMAL    NORMAL    F1PT
  dealloc  dynamic grid (G089)          NORMAL    NORMAL    NORMAL    NORMAL    NORMAL    F1PT
  allocate dynamic grid (G089)          NORMAL    NORMAL    NORMAL    NORMAL    E1PT      NORMAL
  dealloc  dynamic grid (G089)          NORMAL    NORMAL    NORMAL    NORMAL    E1PT      NORMAL
  allocate dynamic grid (G089)          NORMAL    NORMAL    NORMAL    NORMAL    E1PT      F1PT
- allocate dynamic grid (G094)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
- dealloc  dynamic grid (G094)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
- allocate dynamic grid (G094)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
- eval    EX#1     C:  4 dset:   1 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    2  N:    1   16
- allocate dynamic grid (G094)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
- strip regrid on E: A1 --> (G094)           @AVE
+ allocate dynamic grid (G091)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
+ dealloc  dynamic grid (G091)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
+ allocate dynamic grid (G091)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
+ eval    EX#1     C:  4 dset:   1 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    2  N:    1   16
+ allocate dynamic grid (G091)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
+ strip regrid on E: A1 --> (G091)           @AVE
  strip regrid on F: A1 --> ENTERMED         @AVE
- eval    A1       C:  8 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    1  N:    1    1
+ eval    A1       C:  8 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    1  N:    1    1
  allocate dynamic grid (G103)          NORMAL    NORMAL    NORMAL    NORMAL    E1PT      NORMAL
- pseudo  _E       M: 74 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    1  N: -999 -999
- allocate dynamic grid (G098)          NORMAL    NORMAL    NORMAL    NORMAL    NORMAL    F1PT
- pseudo  _F       M: 70 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M: -999 -999  N:    1    1
- -DELETE _F       M: 70 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M: -999 -999  N:    1    1
- dealloc  dynamic grid (G098)          NORMAL    NORMAL    NORMAL    NORMAL    NORMAL    F1PT
- -DELETE _E       M: 74 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    1  N: -999 -999
+ pseudo  _E       M:240 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    1  N: -999 -999
+ allocate dynamic grid (G094)          NORMAL    NORMAL    NORMAL    NORMAL    NORMAL    F1PT
+ pseudo  _F       M:224 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M: -999 -999  N:    1    1
+ -DELETE _F       M:224 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M: -999 -999  N:    1    1
+ dealloc  dynamic grid (G094)          NORMAL    NORMAL    NORMAL    NORMAL    NORMAL    F1PT
+ -DELETE _E       M:240 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    1  N: -999 -999
  dealloc  dynamic grid (G103)          NORMAL    NORMAL    NORMAL    NORMAL    E1PT      NORMAL
- regrid  A1       M: 74 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    1  N:    1   16
- regrid  A1       M: 70 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    2  N:    1   16
- -DELETE A1       M: 74 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    1  N:    1   16
- dealloc  dynamic grid (G094)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
+ regrid  A1       M:240 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    1  N:    1   16
+ regrid  A1       M:224 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    2  N:    1   16
+ -DELETE A1       M:240 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    1  N:    1   16
+ dealloc  dynamic grid (G091)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
              VARIABLE : _E[GE=E1PT]+_F[GF=F1PT]
                         regrid: 1 delta on E at AVE, 96 hour on F at AVE
              SUBSET   : 2 by 16 points (E-FORECAST)
@@ -70028,29 +71235,21 @@ list a1[ge=eoffset at ave, gf=fax4day at ave]
  12-MAR-1982 00 / 15:     ....     ....
  16-MAR-1982 00 / 16:     ....     ....
 list a1[ge=eoffset at sum, gf=fax4day at sum]
- dealloc  dynamic grid (G094)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
- -DELETE A1       M: 70 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    2  N:    1   16
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G094)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
- dealloc  dynamic grid (G094)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
- allocate dynamic grid (G094)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
- eval    EX#1     C:  4 dset:   1 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    2  N:    1   16
- allocate dynamic grid (G094)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
- strip regrid on E: A1 --> (G094)           @SUM
+ dealloc  dynamic grid (G091)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
+ -DELETE A1       M:224 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    2  N:    1   16
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G091)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
+ dealloc  dynamic grid (G091)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
+ allocate dynamic grid (G091)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
+ eval    EX#1     C:  4 dset:   1 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    2  N:    1   16
+ allocate dynamic grid (G091)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
+ strip regrid on E: A1 --> (G091)           @SUM
  strip regrid on F: A1 --> ENTERMED         @SUM
- eval    A1       C:  8 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    1  N:    1    1
- allocate dynamic grid (G103)          NORMAL    NORMAL    NORMAL    NORMAL    E1PT      NORMAL
- pseudo  _E       M: 70 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    1  N: -999 -999
- allocate dynamic grid (G098)          NORMAL    NORMAL    NORMAL    NORMAL    NORMAL    F1PT
- pseudo  _F       M: 74 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M: -999 -999  N:    1    1
- -DELETE _F       M: 74 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M: -999 -999  N:    1    1
- dealloc  dynamic grid (G098)          NORMAL    NORMAL    NORMAL    NORMAL    NORMAL    F1PT
- -DELETE _E       M: 70 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    1  N: -999 -999
- dealloc  dynamic grid (G103)          NORMAL    NORMAL    NORMAL    NORMAL    E1PT      NORMAL
- regrid  A1       M: 70 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    1  N:    1   16
- regrid  A1       M: 74 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    2  N:    1   16
- -DELETE A1       M: 70 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    1  N:    1   16
- dealloc  dynamic grid (G094)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
+ found   A1       M:212 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    1  N:    1    1
+ regrid  A1       M:224 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    1  N:    1   16
+ regrid  A1       M:240 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    2  N:    1   16
+ -DELETE A1       M:224 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    1  N:    1   16
+ dealloc  dynamic grid (G091)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
              VARIABLE : _E[GE=E1PT]+_F[GF=F1PT]
                         regrid: 1 delta on E at SUM, 96 hour on F at SUM
              SUBSET   : 2 by 16 points (E-FORECAST)
@@ -70073,29 +71272,21 @@ list a1[ge=eoffset at sum, gf=fax4day at sum]
  12-MAR-1982 00 / 15:     ....     ....
  16-MAR-1982 00 / 16:     ....     ....
 list a1[ge=eoffset at var, gf=fax4day at var]
- dealloc  dynamic grid (G094)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
- -DELETE A1       M: 74 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    2  N:    1   16
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G094)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
- dealloc  dynamic grid (G094)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
- allocate dynamic grid (G094)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
- eval    EX#1     C:  4 dset:   1 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    2  N:    1   16
- allocate dynamic grid (G094)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
- strip regrid on E: A1 --> (G094)           @VAR
+ dealloc  dynamic grid (G091)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
+ -DELETE A1       M:240 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    2  N:    1   16
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G091)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
+ dealloc  dynamic grid (G091)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
+ allocate dynamic grid (G091)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
+ eval    EX#1     C:  4 dset:   1 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    2  N:    1   16
+ allocate dynamic grid (G091)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
+ strip regrid on E: A1 --> (G091)           @VAR
  strip regrid on F: A1 --> ENTERMED         @VAR
- eval    A1       C:  8 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    1  N:    1    1
- allocate dynamic grid (G103)          NORMAL    NORMAL    NORMAL    NORMAL    E1PT      NORMAL
- pseudo  _E       M: 74 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    1  N: -999 -999
- allocate dynamic grid (G098)          NORMAL    NORMAL    NORMAL    NORMAL    NORMAL    F1PT
- pseudo  _F       M: 70 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M: -999 -999  N:    1    1
- -DELETE _F       M: 70 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M: -999 -999  N:    1    1
- dealloc  dynamic grid (G098)          NORMAL    NORMAL    NORMAL    NORMAL    NORMAL    F1PT
- -DELETE _E       M: 74 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    1  N: -999 -999
- dealloc  dynamic grid (G103)          NORMAL    NORMAL    NORMAL    NORMAL    E1PT      NORMAL
- regrid  A1       M: 74 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    1  N:    1   16
- regrid  A1       M: 70 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    2  N:    1   16
- -DELETE A1       M: 74 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    1  N:    1   16
- dealloc  dynamic grid (G094)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
+ found   A1       M:212 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    1  N:    1    1
+ regrid  A1       M:240 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    1  N:    1   16
+ regrid  A1       M:224 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    2  N:    1   16
+ -DELETE A1       M:240 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    1  N:    1   16
+ dealloc  dynamic grid (G091)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
              VARIABLE : Variance of _E[GE=E1PT]+_F[GF=F1PT]
                         regrid: 1 delta on E at VAR, 96 hour on F at VAR
              SUBSET   : 2 by 16 points (E-FORECAST)
@@ -70119,34 +71310,34 @@ list a1[ge=eoffset at var, gf=fax4day at var]
  16-MAR-1982 00 / 16:........
  
 list a2[ge=eoffset at ave, gf=fax4day at ave]
- dealloc  dynamic grid (G094)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
- -DELETE A1       M: 70 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    2  N:    1   16
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid A2       C:  7 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G094)          NORMAL    NORMAL    NORMAL    NORMAL    NORMAL    F2PT
- dealloc  dynamic grid (G094)          NORMAL    NORMAL    NORMAL    NORMAL    NORMAL    F2PT
- allocate dynamic grid (G094)          NORMAL    NORMAL    NORMAL    NORMAL    E2PT      NORMAL
- dealloc  dynamic grid (G094)          NORMAL    NORMAL    NORMAL    NORMAL    E2PT      NORMAL
- allocate dynamic grid (G094)          NORMAL    NORMAL    NORMAL    NORMAL    E2PT      F2PT
+ dealloc  dynamic grid (G091)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
+ -DELETE A1       M:224 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    2  N:    1   16
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid A2       C:  7 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G091)          NORMAL    NORMAL    NORMAL    NORMAL    NORMAL    F2PT
+ dealloc  dynamic grid (G091)          NORMAL    NORMAL    NORMAL    NORMAL    NORMAL    F2PT
+ allocate dynamic grid (G091)          NORMAL    NORMAL    NORMAL    NORMAL    E2PT      NORMAL
+ dealloc  dynamic grid (G091)          NORMAL    NORMAL    NORMAL    NORMAL    E2PT      NORMAL
+ allocate dynamic grid (G091)          NORMAL    NORMAL    NORMAL    NORMAL    E2PT      F2PT
  allocate dynamic grid (G103)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
  dealloc  dynamic grid (G103)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
  allocate dynamic grid (G103)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
- eval    EX#1     C:  4 dset:   1 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    2  N:    1   16
+ eval    EX#1     C:  4 dset:   1 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    2  N:    1   16
  allocate dynamic grid (G103)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
  strip regrid on E: A2 --> (G103)           @AVE
  strip regrid on F: A2 --> ENTERMED         @AVE
- eval    A2       C:  8 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    2  N:    1   48
- allocate dynamic grid (G098)          NORMAL    NORMAL    NORMAL    NORMAL    E2PT      NORMAL
- pseudo  _E       M: 70 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    2  N: -999 -999
- allocate dynamic grid (G105)          NORMAL    NORMAL    NORMAL    NORMAL    NORMAL    F2PT
- pseudo  _F       M: 74 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M: -999 -999  N:    1   48
- -DELETE _F       M: 74 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M: -999 -999  N:    1   48
- dealloc  dynamic grid (G105)          NORMAL    NORMAL    NORMAL    NORMAL    NORMAL    F2PT
- -DELETE _E       M: 70 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    2  N: -999 -999
- dealloc  dynamic grid (G098)          NORMAL    NORMAL    NORMAL    NORMAL    E2PT      NORMAL
- regrid  A2       M: 70 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    2  N:    1   16
- regrid  A2       M: 74 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    2  N:    1   16
- -DELETE A2       M: 70 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    2  N:    1   16
+ eval    A2       C:  8 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    2  N:    1   48
+ allocate dynamic grid (G094)          NORMAL    NORMAL    NORMAL    NORMAL    E2PT      NORMAL
+ pseudo  _E       M:224 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    2  N: -999 -999
+ allocate dynamic grid (G108)          NORMAL    NORMAL    NORMAL    NORMAL    NORMAL    F2PT
+ pseudo  _F       M:240 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M: -999 -999  N:    1   48
+ -DELETE _F       M:240 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M: -999 -999  N:    1   48
+ dealloc  dynamic grid (G108)          NORMAL    NORMAL    NORMAL    NORMAL    NORMAL    F2PT
+ -DELETE _E       M:224 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    2  N: -999 -999
+ dealloc  dynamic grid (G094)          NORMAL    NORMAL    NORMAL    NORMAL    E2PT      NORMAL
+ regrid  A2       M:224 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    2  N:    1   16
+ regrid  A2       M:240 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    2  N:    1   16
+ -DELETE A2       M:224 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    2  N:    1   16
  dealloc  dynamic grid (G103)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
              VARIABLE : _E[GE=E2PT]+_F[GF=F2PT]
                         regrid: 1 delta on E at AVE, 96 hour on F at AVE
@@ -70171,27 +71362,19 @@ list a2[ge=eoffset at ave, gf=fax4day at ave]
  16-MAR-1982 00 / 16:     ....     ....
 list a2[ge=eoffset at sum, gf=fax4day at sum]
  dealloc  dynamic grid (G103)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
- -DELETE A2       M: 74 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    2  N:    1   16
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ -DELETE A2       M:240 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    2  N:    1   16
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G103)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
  dealloc  dynamic grid (G103)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
  allocate dynamic grid (G103)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
- eval    EX#1     C:  4 dset:   1 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    2  N:    1   16
+ eval    EX#1     C:  4 dset:   1 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    2  N:    1   16
  allocate dynamic grid (G103)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
  strip regrid on E: A2 --> (G103)           @SUM
  strip regrid on F: A2 --> ENTERMED         @SUM
- eval    A2       C:  8 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    2  N:    1   48
- allocate dynamic grid (G098)          NORMAL    NORMAL    NORMAL    NORMAL    E2PT      NORMAL
- pseudo  _E       M: 74 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    2  N: -999 -999
- allocate dynamic grid (G105)          NORMAL    NORMAL    NORMAL    NORMAL    NORMAL    F2PT
- pseudo  _F       M: 70 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M: -999 -999  N:    1   48
- -DELETE _F       M: 70 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M: -999 -999  N:    1   48
- dealloc  dynamic grid (G105)          NORMAL    NORMAL    NORMAL    NORMAL    NORMAL    F2PT
- -DELETE _E       M: 74 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    2  N: -999 -999
- dealloc  dynamic grid (G098)          NORMAL    NORMAL    NORMAL    NORMAL    E2PT      NORMAL
- regrid  A2       M: 74 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    2  N:    1   16
- regrid  A2       M: 70 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    2  N:    1   16
- -DELETE A2       M: 74 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    2  N:    1   16
+ found   A2       M:208 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    2  N:    1   48
+ regrid  A2       M:240 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    2  N:    1   16
+ regrid  A2       M:224 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    2  N:    1   16
+ -DELETE A2       M:240 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    2  N:    1   16
  dealloc  dynamic grid (G103)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
              VARIABLE : _E[GE=E2PT]+_F[GF=F2PT]
                         regrid: 1 delta on E at SUM, 96 hour on F at SUM
@@ -70216,27 +71399,19 @@ list a2[ge=eoffset at sum, gf=fax4day at sum]
  16-MAR-1982 00 / 16:       ....       ....
 list a2[ge=eoffset at var, gf=fax4day at var]
  dealloc  dynamic grid (G103)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
- -DELETE A2       M: 70 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    2  N:    1   16
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ -DELETE A2       M:224 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    2  N:    1   16
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G103)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
  dealloc  dynamic grid (G103)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
  allocate dynamic grid (G103)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
- eval    EX#1     C:  4 dset:   1 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    2  N:    1   16
+ eval    EX#1     C:  4 dset:   1 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    2  N:    1   16
  allocate dynamic grid (G103)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
  strip regrid on E: A2 --> (G103)           @VAR
  strip regrid on F: A2 --> ENTERMED         @VAR
- eval    A2       C:  8 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    2  N:    1   48
- allocate dynamic grid (G098)          NORMAL    NORMAL    NORMAL    NORMAL    E2PT      NORMAL
- pseudo  _E       M: 70 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    2  N: -999 -999
- allocate dynamic grid (G105)          NORMAL    NORMAL    NORMAL    NORMAL    NORMAL    F2PT
- pseudo  _F       M: 74 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M: -999 -999  N:    1   48
- -DELETE _F       M: 74 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M: -999 -999  N:    1   48
- dealloc  dynamic grid (G105)          NORMAL    NORMAL    NORMAL    NORMAL    NORMAL    F2PT
- -DELETE _E       M: 70 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    2  N: -999 -999
- dealloc  dynamic grid (G098)          NORMAL    NORMAL    NORMAL    NORMAL    E2PT      NORMAL
- regrid  A2       M: 70 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    2  N:    1   16
- regrid  A2       M: 74 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    2  N:    1   16
- -DELETE A2       M: 70 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    2  N:    1   16
+ found   A2       M:208 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    2  N:    1   48
+ regrid  A2       M:224 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    2  N:    1   16
+ regrid  A2       M:240 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    2  N:    1   16
+ -DELETE A2       M:224 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    2  N:    1   16
  dealloc  dynamic grid (G103)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
              VARIABLE : Variance of _E[GE=E2PT]+_F[GF=F2PT]
                         regrid: 1 delta on E at VAR, 96 hour on F at VAR
@@ -70264,61 +71439,57 @@ list a2[ge=eoffset at var, gf=fax4day at var]
  
 let a1 = _e[ge=e1pt]
  dealloc  dynamic grid (G103)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
- -DELETE A2       M: 74 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    2  N:    1   16
- -DELETE A2       M: 50 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    2  N:    1   48
- -DELETE A2       M: 56 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    2  N:    1   48
- -DELETE A2       M: 62 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    2  N:    1   48
- dealloc  dynamic grid (G094)          NORMAL    NORMAL    NORMAL    NORMAL    E2PT      F2PT
- -DELETE A1       M: 54 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    1  N:    1    1
- -DELETE A1       M: 64 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    1  N:    1    1
- -DELETE A1       M: 66 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    1  N:    1    1
+ -DELETE A2       M:240 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    2  N:    1   16
+ -DELETE A2       M:208 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    2  N:    1   48
+ dealloc  dynamic grid (G091)          NORMAL    NORMAL    NORMAL    NORMAL    E2PT      F2PT
+ -DELETE A1       M:212 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    1  N:    1    1
  dealloc  dynamic grid (G089)          NORMAL    NORMAL    NORMAL    NORMAL    E1PT      F1PT
 let a2 = _e[ge=e2pt]
 let a4 = _e[ge=e4pt]
  
 list a1[ge=eoffset at max]
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid A1       C:  7 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid A1       C:  7 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G089)          NORMAL    NORMAL    NORMAL    NORMAL    E1PT      NORMAL
  dealloc  dynamic grid (G089)          NORMAL    NORMAL    NORMAL    NORMAL    E1PT      NORMAL
  allocate dynamic grid (G089)          NORMAL    NORMAL    NORMAL    NORMAL    E1PT      NORMAL
- allocate dynamic grid (G094)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
- dealloc  dynamic grid (G094)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
- allocate dynamic grid (G094)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
- eval    EX#1     C:  4 dset:   1 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    2  N: -999 -999
- allocate dynamic grid (G094)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
- strip regrid on E: A1 --> (G094)           @MAX
- eval    A1       C:  7 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    1  N: -999 -999
+ allocate dynamic grid (G091)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
+ dealloc  dynamic grid (G091)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
+ allocate dynamic grid (G091)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
+ eval    EX#1     C:  4 dset:   1 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    2  N: -999 -999
+ allocate dynamic grid (G091)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
+ strip regrid on E: A1 --> (G091)           @MAX
+ eval    A1       C:  7 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    1  N: -999 -999
  allocate dynamic grid (G089)          NORMAL    NORMAL    NORMAL    NORMAL    E1PT      NORMAL
- pseudo  _E       M: 66 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    1  N: -999 -999
+ pseudo  _E       M:212 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    1  N: -999 -999
  dealloc  dynamic grid (G089)          NORMAL    NORMAL    NORMAL    NORMAL    E1PT      NORMAL
- regrid  A1       M: 54 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    2  N: -999 -999
- dealloc  dynamic grid (G094)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
+ regrid  A1       M:240 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    2  N: -999 -999
+ dealloc  dynamic grid (G091)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
              VARIABLE : _E[GE=E1PT]
                         regrid: 1 delta on E at MAX
              SUBSET   : 2 points (E)
  1.1 / 1:     ....
  2.1 / 2:  2.50000
 list a2[ge=eoffset at max]
- -DELETE _E       M: 66 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    1  N: -999 -999
- dealloc  dynamic grid (G094)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
- -DELETE A1       M: 54 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    2  N: -999 -999
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid A2       C:  7 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G094)          NORMAL    NORMAL    NORMAL    NORMAL    E2PT      NORMAL
- dealloc  dynamic grid (G094)          NORMAL    NORMAL    NORMAL    NORMAL    E2PT      NORMAL
- allocate dynamic grid (G094)          NORMAL    NORMAL    NORMAL    NORMAL    E2PT      NORMAL
+ -DELETE _E       M:212 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    1  N: -999 -999
+ dealloc  dynamic grid (G091)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
+ -DELETE A1       M:240 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    2  N: -999 -999
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid A2       C:  7 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G091)          NORMAL    NORMAL    NORMAL    NORMAL    E2PT      NORMAL
+ dealloc  dynamic grid (G091)          NORMAL    NORMAL    NORMAL    NORMAL    E2PT      NORMAL
+ allocate dynamic grid (G091)          NORMAL    NORMAL    NORMAL    NORMAL    E2PT      NORMAL
  allocate dynamic grid (G103)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
  dealloc  dynamic grid (G103)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
  allocate dynamic grid (G103)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
- eval    EX#1     C:  4 dset:   1 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    2  N: -999 -999
+ eval    EX#1     C:  4 dset:   1 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    2  N: -999 -999
  allocate dynamic grid (G103)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
  strip regrid on E: A2 --> (G103)           @MAX
- eval    A2       C:  7 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    2  N: -999 -999
- allocate dynamic grid (G094)          NORMAL    NORMAL    NORMAL    NORMAL    E2PT      NORMAL
- pseudo  _E       M: 54 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    2  N: -999 -999
- dealloc  dynamic grid (G094)          NORMAL    NORMAL    NORMAL    NORMAL    E2PT      NORMAL
- regrid  A2       M: 62 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    2  N: -999 -999
+ eval    A2       C:  7 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    2  N: -999 -999
+ allocate dynamic grid (G091)          NORMAL    NORMAL    NORMAL    NORMAL    E2PT      NORMAL
+ pseudo  _E       M:240 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    2  N: -999 -999
+ dealloc  dynamic grid (G091)          NORMAL    NORMAL    NORMAL    NORMAL    E2PT      NORMAL
+ regrid  A2       M:224 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    2  N: -999 -999
  dealloc  dynamic grid (G103)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
              VARIABLE : _E[GE=E2PT]
                         regrid: 1 delta on E at MAX
@@ -70326,70 +71497,63 @@ list a2[ge=eoffset at max]
  1.1 / 1:  1.50000
  2.1 / 2:  2.50000
 list a4[ge=eoffset at max]
- -DELETE _E       M: 54 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    2  N: -999 -999
+ -DELETE _E       M:240 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    2  N: -999 -999
  dealloc  dynamic grid (G103)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
- -DELETE A2       M: 62 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    2  N: -999 -999
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid A4       C:  7 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ -DELETE A2       M:224 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    2  N: -999 -999
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid A4       C:  7 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G103)          NORMAL    NORMAL    NORMAL    NORMAL    E4PT      NORMAL
  dealloc  dynamic grid (G103)          NORMAL    NORMAL    NORMAL    NORMAL    E4PT      NORMAL
  allocate dynamic grid (G103)          NORMAL    NORMAL    NORMAL    NORMAL    E4PT      NORMAL
- allocate dynamic grid (G098)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
- dealloc  dynamic grid (G098)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
- allocate dynamic grid (G098)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
- eval    EX#1     C:  4 dset:   1 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    2  N: -999 -999
- allocate dynamic grid (G098)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
- strip regrid on E: A4 --> (G098)           @MAX
- eval    A4       C:  7 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    3  N: -999 -999
+ allocate dynamic grid (G094)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
+ dealloc  dynamic grid (G094)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
+ allocate dynamic grid (G094)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
+ eval    EX#1     C:  4 dset:   1 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    2  N: -999 -999
+ allocate dynamic grid (G094)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
+ strip regrid on E: A4 --> (G094)           @MAX
+ eval    A4       C:  7 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    3  N: -999 -999
  allocate dynamic grid (G103)          NORMAL    NORMAL    NORMAL    NORMAL    E4PT      NORMAL
- pseudo  _E       M: 62 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    3  N: -999 -999
+ pseudo  _E       M:224 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    3  N: -999 -999
  dealloc  dynamic grid (G103)          NORMAL    NORMAL    NORMAL    NORMAL    E4PT      NORMAL
- regrid  A4       M: 56 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    2  N: -999 -999
- dealloc  dynamic grid (G098)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
+ regrid  A4       M:244 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    2  N: -999 -999
+ dealloc  dynamic grid (G094)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
              VARIABLE : _E[GE=E4PT]
                         regrid: 1 delta on E at MAX
              SUBSET   : 2 points (E)
  1.1 / 1:  1.50000
  2.1 / 2:  2.50000
 list a4[ge=eoffset at min]
- -DELETE _E       M: 62 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    3  N: -999 -999
- dealloc  dynamic grid (G098)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
- -DELETE A4       M: 56 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    2  N: -999 -999
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G098)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
- dealloc  dynamic grid (G098)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
- allocate dynamic grid (G098)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
- eval    EX#1     C:  4 dset:   1 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    2  N: -999 -999
- allocate dynamic grid (G098)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
- strip regrid on E: A4 --> (G098)           @MIN
- eval    A4       C:  7 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    3  N: -999 -999
- allocate dynamic grid (G103)          NORMAL    NORMAL    NORMAL    NORMAL    E4PT      NORMAL
- pseudo  _E       M: 56 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    3  N: -999 -999
- dealloc  dynamic grid (G103)          NORMAL    NORMAL    NORMAL    NORMAL    E4PT      NORMAL
- regrid  A4       M: 50 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    2  N: -999 -999
- dealloc  dynamic grid (G098)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
+ -DELETE _E       M:224 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    3  N: -999 -999
+ dealloc  dynamic grid (G094)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
+ -DELETE A4       M:244 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    2  N: -999 -999
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G094)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
+ dealloc  dynamic grid (G094)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
+ allocate dynamic grid (G094)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
+ eval    EX#1     C:  4 dset:   1 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    2  N: -999 -999
+ allocate dynamic grid (G094)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
+ strip regrid on E: A4 --> (G094)           @MIN
+ found   A4       M:240 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    3  N: -999 -999
+ regrid  A4       M:244 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    2  N: -999 -999
+ dealloc  dynamic grid (G094)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
              VARIABLE : _E[GE=E4PT]
                         regrid: 1 delta on E at MIN
              SUBSET   : 2 points (E)
  1.1 / 1:  1.50000
  2.1 / 2:  2.00000
 list a4[ge=eoffset at sum] ! 5+5.5+6+6.5=23
- -DELETE _E       M: 56 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    3  N: -999 -999
- dealloc  dynamic grid (G098)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
- -DELETE A4       M: 50 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    2  N: -999 -999
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G098)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
- dealloc  dynamic grid (G098)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
- allocate dynamic grid (G098)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
- eval    EX#1     C:  4 dset:   1 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    2  N: -999 -999
- allocate dynamic grid (G098)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
- strip regrid on E: A4 --> (G098)           @SUM
- eval    A4       C:  7 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    3  N: -999 -999
- allocate dynamic grid (G103)          NORMAL    NORMAL    NORMAL    NORMAL    E4PT      NORMAL
- pseudo  _E       M: 50 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    3  N: -999 -999
- dealloc  dynamic grid (G103)          NORMAL    NORMAL    NORMAL    NORMAL    E4PT      NORMAL
- regrid  A4       M: 74 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    2  N: -999 -999
- dealloc  dynamic grid (G098)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
+ dealloc  dynamic grid (G094)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
+ -DELETE A4       M:244 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    2  N: -999 -999
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G094)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
+ dealloc  dynamic grid (G094)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
+ allocate dynamic grid (G094)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
+ eval    EX#1     C:  4 dset:   1 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    2  N: -999 -999
+ allocate dynamic grid (G094)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
+ strip regrid on E: A4 --> (G094)           @SUM
+ found   A4       M:240 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    3  N: -999 -999
+ regrid  A4       M:244 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    2  N: -999 -999
+ dealloc  dynamic grid (G094)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
              VARIABLE : _E[GE=E4PT]
                         regrid: 1 delta on E at SUM
              SUBSET   : 2 points (E)
@@ -70401,20 +71565,19 @@ define axis/f=1-jan-1990:5-jan-1990:1/units=days eday
 define axis/f=1-jan-1990:5-jan-1990:24/units=hours ehour
 let afcst = _f[gf=eday]
 list afcst
- -DELETE _E       M: 50 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    3  N: -999 -999
- dealloc  dynamic grid (G098)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
- -DELETE A4       M: 74 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    2  N: -999 -999
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid AFCST    C:  7 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G098)          NORMAL    NORMAL    NORMAL    NORMAL    NORMAL    EDAY
- dealloc  dynamic grid (G098)          NORMAL    NORMAL    NORMAL    NORMAL    NORMAL    EDAY
- allocate dynamic grid (G098)          NORMAL    NORMAL    NORMAL    NORMAL    NORMAL    EDAY
- allocate dynamic grid (G098)          NORMAL    NORMAL    NORMAL    NORMAL    NORMAL    EDAY
- eval    EX#1     C:  4 dset:   1 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M: -999 -999  N:    1    5
- eval    AFCST    C:  6 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M: -999 -999  N:    1    5
- allocate dynamic grid (G098)          NORMAL    NORMAL    NORMAL    NORMAL    NORMAL    EDAY
- pseudo  _F       M: 74 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M: -999 -999  N:    1    5
- dealloc  dynamic grid (G098)          NORMAL    NORMAL    NORMAL    NORMAL    NORMAL    EDAY
+ dealloc  dynamic grid (G094)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
+ -DELETE A4       M:244 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    2  N: -999 -999
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid AFCST    C:  7 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G094)          NORMAL    NORMAL    NORMAL    NORMAL    NORMAL    EDAY
+ dealloc  dynamic grid (G094)          NORMAL    NORMAL    NORMAL    NORMAL    NORMAL    EDAY
+ allocate dynamic grid (G094)          NORMAL    NORMAL    NORMAL    NORMAL    NORMAL    EDAY
+ allocate dynamic grid (G094)          NORMAL    NORMAL    NORMAL    NORMAL    NORMAL    EDAY
+ eval    EX#1     C:  4 dset:   1 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M: -999 -999  N:    1    5
+ eval    AFCST    C:  6 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M: -999 -999  N:    1    5
+ allocate dynamic grid (G094)          NORMAL    NORMAL    NORMAL    NORMAL    NORMAL    EDAY
+ pseudo  _F       M:244 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M: -999 -999  N:    1    5
+ dealloc  dynamic grid (G094)          NORMAL    NORMAL    NORMAL    NORMAL    NORMAL    EDAY
              VARIABLE : _F[GF=EDAY]
              SUBSET   : 5 points (FORECAST)
  01-JAN-1990 00 / 1:  32493.0
@@ -70424,8 +71587,8 @@ list afcst
  05-JAN-1990 00 / 5:  32497.0
 show grid
  Default grid for DEFINE VARIABLE is ABSTRACT
- Last successful data access was on grid (G098)
-    GRID (G098)
+ Last successful data access was on grid (G094)
+    GRID (G094)
  name       axis              # pts   start                end                 subset
  normal    X
  normal    Y
@@ -70434,21 +71597,18 @@ show grid
  normal    E
  EDAY      FORECAST             5 r   01-JAN-1990 00:00    05-JAN-1990 00:00   full
 list afcst[gf=ehour at max]
- -DELETE _F       M: 74 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M: -999 -999  N:    1    5
- dealloc  dynamic grid (G098)          NORMAL    NORMAL    NORMAL    NORMAL    NORMAL    EDAY
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G105)          NORMAL    NORMAL    NORMAL    NORMAL    NORMAL    EHOUR
- dealloc  dynamic grid (G105)          NORMAL    NORMAL    NORMAL    NORMAL    NORMAL    EHOUR
- allocate dynamic grid (G105)          NORMAL    NORMAL    NORMAL    NORMAL    NORMAL    EHOUR
- eval    EX#1     C:  4 dset:   1 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M: -999 -999  N:    1    5
- allocate dynamic grid (G105)          NORMAL    NORMAL    NORMAL    NORMAL    NORMAL    EHOUR
- strip regrid on F: AFCST --> (G105)           @MAX
- eval    AFCST    C:  7 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M: -999 -999  N:    1    5
- allocate dynamic grid (G098)          NORMAL    NORMAL    NORMAL    NORMAL    NORMAL    EDAY
- pseudo  _F       M: 74 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M: -999 -999  N:    1    5
- dealloc  dynamic grid (G098)          NORMAL    NORMAL    NORMAL    NORMAL    NORMAL    EDAY
- regrid  AFCST    M: 46 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M: -999 -999  N:    1    5
- dealloc  dynamic grid (G105)          NORMAL    NORMAL    NORMAL    NORMAL    NORMAL    EHOUR
+ -DELETE _F       M:244 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M: -999 -999  N:    1    5
+ dealloc  dynamic grid (G094)          NORMAL    NORMAL    NORMAL    NORMAL    NORMAL    EDAY
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G108)          NORMAL    NORMAL    NORMAL    NORMAL    NORMAL    EHOUR
+ dealloc  dynamic grid (G108)          NORMAL    NORMAL    NORMAL    NORMAL    NORMAL    EHOUR
+ allocate dynamic grid (G108)          NORMAL    NORMAL    NORMAL    NORMAL    NORMAL    EHOUR
+ eval    EX#1     C:  4 dset:   1 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M: -999 -999  N:    1    5
+ allocate dynamic grid (G108)          NORMAL    NORMAL    NORMAL    NORMAL    NORMAL    EHOUR
+ strip regrid on F: AFCST --> (G108)           @MAX
+ found   AFCST    M:224 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M: -999 -999  N:    1    5
+ regrid  AFCST    M:244 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M: -999 -999  N:    1    5
+ dealloc  dynamic grid (G108)          NORMAL    NORMAL    NORMAL    NORMAL    NORMAL    EHOUR
              VARIABLE : _F[GF=EDAY]
                         regrid: 24 hour on F at MAX
              SUBSET   : 5 points (FORECAST)
@@ -70459,8 +71619,8 @@ list afcst[gf=ehour at max]
  05-JAN-1990 00 / 5:  32497.0
 show grid
  Default grid for DEFINE VARIABLE is ABSTRACT
- Last successful data access was on grid (G105)
-    GRID (G105)
+ Last successful data access was on grid (G108)
+    GRID (G108)
  name       axis              # pts   start                end                 subset
  normal    X
  normal    Y
@@ -70472,8 +71632,10 @@ show grid
 set mode/last diag
 set mode/last calendar
  
-GO bn_reset
+GO bn_reset bn_aggregate_e
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_aggregate_e
 GO bn_aggregate_e
 ! bn_aggregate_e.jnl
 ! using the DEFINE DATA/AGGREGATE/E command
@@ -70498,25 +71660,26 @@ show data fourfiles
  
  
 list/i=3 sst[T=@ave]
- getgrid EX#1     C:  5 dset:   5 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G105)          COADSX116_COADSY52_6NORMAL    TIME13    ENSEMBLE  NORMAL
+ getgrid EX#1     C:  5 dset:   5 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G108)          COADSX116_COADSY52_6NORMAL    TIME13    ENSEMBLE  NORMAL
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   5 I:    3    3  J:    1    9  K: -999 -999  L:    1   12  M:    1    4  N: -999 -999
+ eval    EX#1     C:  5 dset:   5 I:      3      3  J:    1    9  K: -999 -999  L:      1     12  M:    1    4  N: -999 -999
  strip --> SST[T=01-JAN00:45:31-DEC06:34 at AVE,D=5]
- strip aggregate gathering SST on E axis:     1     4 dset:   5
- reading SST      M:120 dset:   1 I:    3    3  J:    1    9  K: -999 -999  L:    1   12
- doing aggregate gathering SST on E axis:     1     1 dset:   1
- -DELETE SST      M:120 dset:   1 I:    3    3  J:    1    9  K: -999 -999  L:    1   12
- reading SST      M:120 dset:   3 I:    3    3  J:    1    9  K: -999 -999  L:    1   12
- doing aggregate gathering SST on E axis:     2     2 dset:   3
- -DELETE SST      M:120 dset:   3 I:    3    3  J:    1    9  K: -999 -999  L:    1   12
- reading SST      M:120 dset:   2 I:    3    3  J:    1    9  K: -999 -999  L:    1   12
- doing aggregate gathering SST on E axis:     3     3 dset:   2
- -DELETE SST      M:120 dset:   2 I:    3    3  J:    1    9  K: -999 -999  L:    1   12
- reading SST      M:120 dset:   4 I:    3    3  J:    1    9  K: -999 -999  L:    1   12
- doing aggregate gathering SST on E axis:     4     4 dset:   4
- -DELETE SST      M:120 dset:   4 I:    3    3  J:    1    9  K: -999 -999  L:    1   12
+ strip aggregate gathering SST on E axis:        1        4 dset:   5
+ reading SST      M:248 dset:   1 I:      3      3  J:    1    9  K: -999 -999  L:      1     12
+ doing aggregate gathering SST on E axis:        1        1 dset:   1
+ -DELETE SST      M:248 dset:   1 I:      3      3  J:    1    9  K: -999 -999  L:      1     12
+ reading SST      M:248 dset:   3 I:      3      3  J:    1    9  K: -999 -999  L:      1     12
+ doing aggregate gathering SST on E axis:        2        2 dset:   3
+ -DELETE SST      M:248 dset:   3 I:      3      3  J:    1    9  K: -999 -999  L:      1     12
+ reading SST      M:248 dset:   2 I:      3      3  J:    1    9  K: -999 -999  L:      1     12
+ doing aggregate gathering SST on E axis:        3        3 dset:   2
+ -DELETE SST      M:248 dset:   2 I:      3      3  J:    1    9  K: -999 -999  L:      1     12
+ reading SST      M:248 dset:   4 I:      3      3  J:    1    9  K: -999 -999  L:      1     12
+ doing aggregate gathering SST on E axis:        4        4 dset:   4
+ -DELETE SST      M:248 dset:   4 I:      3      3  J:    1    9  K: -999 -999  L:      1     12
  doing --> SST[T=01-JAN00:45:31-DEC06:34 at AVE,D=5]
+ final --> SST[T=01-JAN00:45:31-DEC06:34 at AVE,D=5]
              VARIABLE : SST_IN (Deg C)
              DATA SET : Ensemble series of 4 datasets patterned on ens1
              FILENAME : fourfiles
@@ -70531,23 +71694,27 @@ list/i=3 sst[T=@ave]
  4   / 4:  114.051  113.765  111.568  109.826  106.903  102.245     ....     ....     ....
  
 show memory/all  ! show memory-resident variables before canceling dataset
- Current size of FERRET memory cache: 25.6 MegaWords  (1 word = 8 bytes)
+    SET MEMORY/SIZE: 25.6 megawords
+    Peak demand: 540 words
+    Current cache: 504 words
 all data in memory:
- SST[D=fourfiles]                  YE    mr:120  blk1:1  nblk:1
-    3  /106W           1  /12N          ...  / ...         ...  /01-JAN 00:45   1  /0.5          ...  / ...
-    3  /104W           9  /30N          ...  / ...         ...  /31-DEC 06:34   4  /4.5          ...  / ...
+ SST[D=fourfiles]                  YE    mr:248 size:72
+         3/106W                1/12N              ... / ...             ... /01-JAN 00:45        1/0.5              ... / ...
+         3/104W                9/30N              ... / ...             ... /31-DEC 06:34        4/4.5              ... / ...
                                                               AVE
- SST[D=fourfiles]                  YTE   mr:118  blk1:2  nblk:1
-    3  /106W           1  /12N          ...  / ...           1  /01-JAN 00:45   1  /0.5          ...  / ...
-    3  /104W           9  /30N          ...  / ...          12  /31-DEC 06:34   4  /4.5          ...  / ...
+ SST[D=fourfiles]                  YTE   mr:242 size:432
+         3/106W                1/12N              ... / ...                1/01-JAN 00:45        1/0.5              ... / ...
+         3/104W                9/30N              ... / ...               12/31-DEC 06:34        4/4.5              ... / ...
  
 cancel data fourfiles
- dealloc  dynamic grid (G105)          COADSX116_COADSY52_6NORMAL    TIME13    ENSEMBLE  NORMAL
+ dealloc  dynamic grid (G108)          COADSX116_COADSY52_6NORMAL    TIME13    ENSEMBLE  NORMAL
  canceling dset fourfiles
- -DELETE SST      M:118 dset:   5 I:    3    3  J:    1    9  K: -999 -999  L:    1   12  M:    1    4  N: -999 -999
- -DELETE SST      M:120 dset:   5 I:    3    3  J:    1    9  K: -999 -999  L: -999 -999  M:    1    4  N: -999 -999
+ -DELETE SST      M:242 dset:   5 I:      3      3  J:    1    9  K: -999 -999  L:      1     12  M:    1    4  N: -999 -999
+ -DELETE SST      M:248 dset:   5 I:      3      3  J:    1    9  K: -999 -999  L:   -999   -999  M:    1    4  N: -999 -999
 show memory/all  ! show memory-resident variables after  canceling dataset
- Current size of FERRET memory cache: 25.6 MegaWords  (1 word = 8 bytes)
+    SET MEMORY/SIZE: 25.6 megawords
+    Peak demand: 540 words
+    Current cache: 0 words
 all data in memory:
  
 ! 12/15 now do again adding COADS to de-align toe dset #s from the sequence #s
@@ -70587,11 +71754,11 @@ let/d=ens3 airt = sst + 1
 let/d=ens4 airt = sst + 1
  
 ENSEMBLE fourfiles = ens1, ens3, ens2, ens4
- getgrid AIRT     C:  5 dset:   4 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid AIRT     C:  5 dset:   4 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GOH1            COADSX116_COADSY52_6NORMAL    TIME13
- getgrid AIRT     C:  5 dset:   3 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid AIRT     C:  5 dset:   3 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GOH1            COADSX116_COADSY52_6NORMAL    TIME13
- getgrid AIRT     C:  5 dset:   5 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid AIRT     C:  5 dset:   5 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GOH1            COADSX116_COADSY52_6NORMAL    TIME13
 show data fourfiles
      currently SET data sets:
@@ -70602,34 +71769,35 @@ show data fourfiles
  
  
 list/i=3 airt[T=@ave]
- getgrid EX#1     C:  5 dset:   6 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G094)          COADSX116_COADSY52_6NORMAL    TIME13    ENSEMBLE  NORMAL
+ getgrid EX#1     C:  5 dset:   6 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G091)          COADSX116_COADSY52_6NORMAL    TIME13    ENSEMBLE  NORMAL
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   6 I:    3    3  J:    1    9  K: -999 -999  L:    1   12  M:    1    4  N: -999 -999
+ eval    EX#1     C:  5 dset:   6 I:      3      3  J:    1    9  K: -999 -999  L:      1     12  M:    1    4  N: -999 -999
  strip --> AIRT[T=01-JAN00:45:31-DEC06:34 at AVE,D=6]
- strip aggregate gathering AIRT on E axis:     1     4 dset:   6
- reading AIRT     M:120 dset:   2 I:    3    3  J:    1    9  K: -999 -999  L:    1   12
- doing aggregate gathering AIRT on E axis:     1     1 dset:   2
- -DELETE AIRT     M:120 dset:   2 I:    3    3  J:    1    9  K: -999 -999  L:    1   12
- eval    AIRT     C:  9 dset:   4 I:    3    3  J:    1    9  K: -999 -999  L:    1   12
- reading SST      M:120 dset:   4 I:    3    3  J:    1    9  K: -999 -999  L:    1   12
- constan cnst     M:114 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- -DELETE cnst     M:114 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- doing aggregate gathering AIRT on E axis:     2     2 dset:   4
- -DELETE AIRT     M:112 dset:   4 I:    3    3  J:    1    9  K: -999 -999  L:    1   12
- eval    AIRT     C:  9 dset:   3 I:    3    3  J:    1    9  K: -999 -999  L:    1   12
- reading SST      M:112 dset:   3 I:    3    3  J:    1    9  K: -999 -999  L:    1   12
- constan cnst     M:114 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- -DELETE cnst     M:114 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- doing aggregate gathering AIRT on E axis:     3     3 dset:   3
- -DELETE AIRT     M:110 dset:   3 I:    3    3  J:    1    9  K: -999 -999  L:    1   12
- eval    AIRT     C:  9 dset:   5 I:    3    3  J:    1    9  K: -999 -999  L:    1   12
- reading SST      M:110 dset:   5 I:    3    3  J:    1    9  K: -999 -999  L:    1   12
- constan cnst     M:114 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- -DELETE cnst     M:114 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- doing aggregate gathering AIRT on E axis:     4     4 dset:   5
- -DELETE AIRT     M:106 dset:   5 I:    3    3  J:    1    9  K: -999 -999  L:    1   12
+ strip aggregate gathering AIRT on E axis:        1        4 dset:   6
+ reading AIRT     M:248 dset:   2 I:      3      3  J:    1    9  K: -999 -999  L:      1     12
+ doing aggregate gathering AIRT on E axis:        1        1 dset:   2
+ -DELETE AIRT     M:248 dset:   2 I:      3      3  J:    1    9  K: -999 -999  L:      1     12
+ eval    AIRT     C:  9 dset:   4 I:      3      3  J:    1    9  K: -999 -999  L:      1     12
+ reading SST      M:248 dset:   4 I:      3      3  J:    1    9  K: -999 -999  L:      1     12
+ constan cnst     M:236 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
+ -DELETE cnst     M:236 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
+ doing aggregate gathering AIRT on E axis:        2        2 dset:   4
+ -DELETE AIRT     M:234 dset:   4 I:      3      3  J:    1    9  K: -999 -999  L:      1     12
+ eval    AIRT     C:  9 dset:   3 I:      3      3  J:    1    9  K: -999 -999  L:      1     12
+ reading SST      M:234 dset:   3 I:      3      3  J:    1    9  K: -999 -999  L:      1     12
+ constan cnst     M:236 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
+ -DELETE cnst     M:236 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
+ doing aggregate gathering AIRT on E axis:        3        3 dset:   3
+ -DELETE AIRT     M:232 dset:   3 I:      3      3  J:    1    9  K: -999 -999  L:      1     12
+ eval    AIRT     C:  9 dset:   5 I:      3      3  J:    1    9  K: -999 -999  L:      1     12
+ reading SST      M:232 dset:   5 I:      3      3  J:    1    9  K: -999 -999  L:      1     12
+ constan cnst     M:236 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
+ -DELETE cnst     M:236 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
+ doing aggregate gathering AIRT on E axis:        4        4 dset:   5
+ -DELETE AIRT     M:228 dset:   5 I:      3      3  J:    1    9  K: -999 -999  L:      1     12
  doing --> AIRT[T=01-JAN00:45:31-DEC06:34 at AVE,D=6]
+ final --> AIRT[T=01-JAN00:45:31-DEC06:34 at AVE,D=6]
              VARIABLE : AIR TEMPERATURE (DEG C)
              DATA SET : Ensemble series of 4 datasets patterned on ens1
              FILENAME : fourfiles
@@ -70645,9 +71813,9 @@ list/i=3 airt[T=@ave]
  
 ! create an ensemble where one member is missing
 ENSEMBLE fourfiles_gap = ens1, -, ens3, ens4
- getgrid AIRT     C:  5 dset:   4 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid AIRT     C:  5 dset:   4 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GOH1            COADSX116_COADSY52_6NORMAL    TIME13
- getgrid AIRT     C:  5 dset:   5 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid AIRT     C:  5 dset:   5 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GOH1            COADSX116_COADSY52_6NORMAL    TIME13
 show data/files fourfiles_gap
      currently SET data sets:
@@ -70662,31 +71830,32 @@ show data/files fourfiles_gap
       7.3: ./ens3.nc
       7.4: ./ens4.nc
 list/i=3 airt[T=@ave]
- getgrid EX#1     C:  5 dset:   7 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G094)          COADSX116_COADSY52_6NORMAL    TIME13    ENSEMBLE  NORMAL
+ getgrid EX#1     C:  5 dset:   7 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G091)          COADSX116_COADSY52_6NORMAL    TIME13    ENSEMBLE  NORMAL
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   7 I:    3    3  J:    1    9  K: -999 -999  L:    1   12  M:    1    4  N: -999 -999
+ eval    EX#1     C:  5 dset:   7 I:      3      3  J:    1    9  K: -999 -999  L:      1     12  M:    1    4  N: -999 -999
  strip --> AIRT[T=01-JAN00:45:31-DEC06:34 at AVE,D=7]
- strip aggregate gathering AIRT on E axis:     1     4 dset:   7
- reading AIRT     M:114 dset:   2 I:    3    3  J:    1    9  K: -999 -999  L:    1   12
- doing aggregate gathering AIRT on E axis:     1     1 dset:   2
- -DELETE AIRT     M:114 dset:   2 I:    3    3  J:    1    9  K: -999 -999  L:    1   12
- dummy AIRT     M:114 dset:5001 I:    3    3  J:    1    9  K: -999 -999  L:    1   12
- doing aggregate gathering AIRT on E axis:     2     2 dset:5001
- -DELETE AIRT     M:114 dset:5001 I:    3    3  J:    1    9  K: -999 -999  L:    1   12
- eval    AIRT     C:  9 dset:   4 I:    3    3  J:    1    9  K: -999 -999  L:    1   12
- reading SST      M:114 dset:   4 I:    3    3  J:    1    9  K: -999 -999  L:    1   12
- constan cnst     M:102 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- -DELETE cnst     M:102 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- doing aggregate gathering AIRT on E axis:     3     3 dset:   4
- -DELETE AIRT     M: 98 dset:   4 I:    3    3  J:    1    9  K: -999 -999  L:    1   12
- eval    AIRT     C:  9 dset:   5 I:    3    3  J:    1    9  K: -999 -999  L:    1   12
- reading SST      M: 98 dset:   5 I:    3    3  J:    1    9  K: -999 -999  L:    1   12
- constan cnst     M:102 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- -DELETE cnst     M:102 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- doing aggregate gathering AIRT on E axis:     4     4 dset:   5
- -DELETE AIRT     M: 96 dset:   5 I:    3    3  J:    1    9  K: -999 -999  L:    1   12
+ strip aggregate gathering AIRT on E axis:        1        4 dset:   7
+ reading AIRT     M:236 dset:   2 I:      3      3  J:    1    9  K: -999 -999  L:      1     12
+ doing aggregate gathering AIRT on E axis:        1        1 dset:   2
+ -DELETE AIRT     M:236 dset:   2 I:      3      3  J:    1    9  K: -999 -999  L:      1     12
+ dummy AIRT     M:236 dset:5001 I:      3      3  J:    1    9  K: -999 -999  L:      1     12
+ doing aggregate gathering AIRT on E axis:        2        2 dset:5001
+ -DELETE AIRT     M:236 dset:5001 I:      3      3  J:    1    9  K: -999 -999  L:      1     12
+ eval    AIRT     C:  9 dset:   4 I:      3      3  J:    1    9  K: -999 -999  L:      1     12
+ found   SST      M:248 dset:   4 I:      3      3  J:    1    9  K: -999 -999  L:      1     12
+ constan cnst     M:236 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
+ -DELETE cnst     M:236 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
+ doing aggregate gathering AIRT on E axis:        3        3 dset:   4
+ -DELETE AIRT     M:220 dset:   4 I:      3      3  J:    1    9  K: -999 -999  L:      1     12
+ eval    AIRT     C:  9 dset:   5 I:      3      3  J:    1    9  K: -999 -999  L:      1     12
+ found   SST      M:232 dset:   5 I:      3      3  J:    1    9  K: -999 -999  L:      1     12
+ constan cnst     M:220 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
+ -DELETE cnst     M:220 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
+ doing aggregate gathering AIRT on E axis:        4        4 dset:   5
+ -DELETE AIRT     M:236 dset:   5 I:      3      3  J:    1    9  K: -999 -999  L:      1     12
  doing --> AIRT[T=01-JAN00:45:31-DEC06:34 at AVE,D=7]
+ final --> AIRT[T=01-JAN00:45:31-DEC06:34 at AVE,D=7]
              VARIABLE : AIR TEMPERATURE (DEG C)
              DATA SET : Ensemble series of 4 datasets patterned on ens1
              FILENAME : fourfiles_gap
@@ -70865,7 +72034,7 @@ show command show
  SHOW MOVIE/ALL
  SHOW VARIABLE/ALL/DATASET/USER/XML/OUTFILE/APPEND/CLOBBER/TREE/LAYERZ/CURVILIN
  SHOW COMMANDS/ALL/BRIEF
- SHOW MEMORY/ALL/TEMPORY/PERMANT/FREE
+ SHOW MEMORY/ALL/DIAGNOST/TEMPORY/PERMANT/FREE
  SHOW GRID/ALL/I/J/K/L/M/N/X/Y/Z/T/E/F/DYNAMIC/XML/OUTFILE/APPEND/CLOBBER
  SHOW VIEWPORT/ALL
  SHOW TRANFORM/ALL
@@ -70980,8 +72149,10 @@ show data/brief
     1> ./coads_climatology.cdf  (default)
  
  
-GO bn_reset
+GO bn_reset bn_6d_lab_mode
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_6d_lab_mode
 GO bn_6d_lab_mode
 ! bn_6d_lab_mode.jnl
 !
@@ -71082,13 +72253,14 @@ set mode diag
 set mode 6d_lab
 list/L=1:8 taux[x=@ave,y=@ave]
  dealloc  dynamic grid PS3DT21         PSXT      PSYT1     PSZT2     TIME14
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS2DU2          PSXU      PSYU      NORMAL    TIME14
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:    1  160  J:    1  100  K: -999 -999  L:    1    8
+ eval    EX#1     C:  5 dset:   1 I:      1    160  J:    1  100  K: -999 -999  L:      1      8
  strip --> TAUX[Y=28.8361S:51.4321N at AV4,D=1]
- reading TAUX     M:104 dset:   1 I:   91  108  J:   35   55  K: -999 -999  L:    1    8
+ reading TAUX     M:226 dset:   1 I:     91    108  J:   35   55  K: -999 -999  L:      1      8
  doing --> TAUX[Y=3.5S:3.5N at AV4,D=1]
+ final --> TAUX[Y=3.5S:3.5N at AV4,D=1]
              VARIABLE : ZONAL WIND STRESS (dynes/cm**2)
              FILENAME : gt4d011.cdf
              SUBSET   : 8 points (TIME)
@@ -71105,12 +72277,12 @@ list/L=1:8 taux[x=@ave,y=@ave]
 cancel mode 6d_lab
 list/L=1:8 taux[x=@sum,y=@sum]
  dealloc  dynamic grid PS2DU2          PSXU      PSYU      NORMAL    TIME14
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS2DU2          PSXU      PSYU      NORMAL    TIME14
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:    1  160  J:    1  100  K: -999 -999  L:    1    8
+ eval    EX#1     C:  5 dset:   1 I:      1    160  J:    1  100  K: -999 -999  L:      1      8
  strip --> TAUX[Y=28.8361S:51.4321N at SM4,D=1]
- reading TAUX     M: 94 dset:   1 I:   91  108  J:   35   55  K: -999 -999  L:    1    8
+ found   TAUX     M:226 dset:   1 I:     91    108  J:   35   55  K: -999 -999  L:      1      8
  doing --> TAUX[Y=3.5S:3.5N at SM4,D=1]
              VARIABLE : ZONAL WIND STRESS (dynes/cm**2)
              FILENAME : gt4d011.cdf
@@ -71132,8 +72304,10 @@ set mode 6d_lab
  
  
 ! *********** v6.82 Additions ***********
-GO bn_reset
+GO bn_reset bn682_bug_fixes
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn682_bug_fixes
 GO bn682_bug_fixes
 ! bn682_bug_fixes.jnl
 ! test various fixes that went into version 6.82
@@ -71141,6 +72315,7 @@ GO bn682_bug_fixes
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err681_dims_direction
 ! err681_dims_direction.jnl
 ! ticket 1955: Code still existed that determined axis direction
@@ -71185,8 +72360,10 @@ sho grid lon_c
 ! *********** v6.83 Additions ***********
 !  (was released as v6.84)
  
-GO bn_reset
+GO bn_reset bn683_bug_fixes
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn683_bug_fixes
 GO bn683_bug_fixes
 ! bn683_bug_fixes.jnl
 ! test various fixes that went into version 6.83
@@ -71194,6 +72371,7 @@ GO bn683_bug_fixes
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err682_shrink_axlab
 ! err682_shrink_axlab.jnl
 ! See ticket 1958. Scripts may want the axis labels to
@@ -71221,6 +72399,7 @@ set mode/last shrink_ylab
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err682_xact_high_prec
 ! err682_xact_high_prec.jnl
 ! based on an example from the Users List,
@@ -71228,6 +72407,8 @@ GO err682_xact_high_prec
  
 ! shows that the @XACT regridding in double-precision Ferret is broken.
  
+! 3/17 *sh* - broke after change to RESHAPE in GCF_IMPOSE_AXES
+!           - fixed it by cleaning up the definition of var_regrid
  
 Let time = {\
  22585.3295833333,\
@@ -71244,11 +72425,14 @@ Let time = {\
 Define Axis /T /From /T0=1-JAN-1950 /Units=days my_axis = time
  
 Let fake_var = T[GT=my_axis]
-Let var = RANDU( fake_var )
-Let var_regrid = RESHAPE( var, fake_var )
+! this was the definition prior to 3/17
+!Let var = RANDU( fake_var )
+!Let var_regrid = RESHAPE( var, fake_var )
+Let var_regrid = RANDU( fake_var )   ! new definition
+ 
  
 List /T="2-nov-2011 07:54":"2-nov-2011 08:04" var_regrid
-             VARIABLE : RESHAPE( VAR, FAKE_VAR )
+             VARIABLE : RANDU( FAKE_VAR )
              SUBSET   : 10 points (TIME)
  02-NOV-2011 07:54:36 /  1:  0.625140
  02-NOV-2011 07:55:36 /  2:  0.220931
@@ -71306,6 +72490,7 @@ List /T="2-nov-2011 07:54:30":"2-nov-2011 07:54:50" var_sec
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err682_if_yes_exit
 ! err682_if_yes_exit.jnl
 ! Ticket 1965
@@ -71322,6 +72507,7 @@ if `test` then exit
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err682_use_no_quotes
 ! err682_use_no_quotes.jnl
 ! See ticket 1974 - on 64-bit machines, this statement causes a crash.
@@ -71335,6 +72521,7 @@ CANCEL MODE ignore
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err682_axis_no_clue
 ! err682_axis_no_clue.jnl
 ! See ticket 1975. The axis sax is intended to be
@@ -71352,6 +72539,7 @@ sh dat
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err682_grid_merge
 ! err682_grid_merge.jnl
 ! Bug 1972. When merging contexts, the calendar time-axis
@@ -71398,6 +72586,7 @@ list b[T=1-JAN-1960:1-JAN-1961]
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err682_scale_no_offset
 ! err682_scale_no_offset.jnl
 ! See ticket 1980 and the report on the Ferret list at
@@ -71433,6 +72622,7 @@ say `sst_rms[x=@nbd,y=@nbd]`  SHOULD BE 30
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err682_append_packed
 ! err682_append_packed.jnl
 ! See ticket 2004. Write packed variable with scale attributes
@@ -71473,8 +72663,10 @@ list temp  ! values should match those above.
  
 set mode/last upcase_output
  
-GO bn_reset
+GO bn_reset bn_outtype
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_outtype
 GO bn_outtype
 ! bn_outtype
 ! Tests of output-type control:
@@ -71508,7 +72700,7 @@ use mytype.nc; sh dat/att mytype.nc; can data mytype
  Variable    VarType(in dset)    AttributeName   AttType     Size OutFlag AttValue
 ------------------------------------------------------------------------------------------
   
- .                               history         CHAR        34   T       FERRET V7.1 (beta/debug) 15-Feb-17
+ .                               history         CHAR        34   T       FERRET V7.2 (beta/debug) 12-Jul-17
                                  Conventions     CHAR        6    F       CF-1.6
   
 (COADSY46_48)          DOUBLE    units           CHAR        13   T       degrees_north
@@ -71561,7 +72753,7 @@ use mytype.nc; sh dat/att mytype.nc; can data mytype
  Variable    VarType(in dset)    AttributeName   AttType     Size OutFlag AttValue
 ------------------------------------------------------------------------------------------
   
- .                               history         CHAR        34   T       FERRET V7.1 (beta/debug) 15-Feb-17
+ .                               history         CHAR        34   T       FERRET V7.2 (beta/debug) 12-Jul-17
                                  Conventions     CHAR        6    F       CF-1.6
   
 (COADSY46_48)          DOUBLE    units           CHAR        13   T       degrees_north
@@ -71603,7 +72795,7 @@ use mytype.nc; sh dat/att mytype.nc; can data mytype
  Variable    VarType(in dset)    AttributeName   AttType     Size OutFlag AttValue
 ------------------------------------------------------------------------------------------
   
- .                               history         CHAR        34   T       FERRET V7.1 (beta/debug) 15-Feb-17
+ .                               history         CHAR        34   T       FERRET V7.2 (beta/debug) 12-Jul-17
                                  Conventions     CHAR        6    F       CF-1.6
   
 (COADSY46_48)          DOUBLE    units           CHAR        13   T       degrees_north
@@ -71645,7 +72837,7 @@ use mytype.nc; sh dat/att mytype.nc; can data mytype
  Variable    VarType(in dset)    AttributeName   AttType     Size OutFlag AttValue
 ------------------------------------------------------------------------------------------
   
- .                               history         CHAR        34   T       FERRET V7.1 (beta/debug) 15-Feb-17
+ .                               history         CHAR        34   T       FERRET V7.2 (beta/debug) 12-Jul-17
                                  Conventions     CHAR        6    F       CF-1.6
   
 (COADSY46_48)          DOUBLE    units           CHAR        13   T       degrees_north
@@ -71678,7 +72870,7 @@ use mytype.nc; sh dat/att mytype.nc; can data mytype
  Variable    VarType(in dset)    AttributeName   AttType     Size OutFlag AttValue
 ------------------------------------------------------------------------------------------
   
- .                               history         CHAR        34   T       FERRET V7.1 (beta/debug) 15-Feb-17
+ .                               history         CHAR        34   T       FERRET V7.2 (beta/debug) 12-Jul-17
                                  Conventions     CHAR        6    F       CF-1.6
   
 (COADSY46_48)          DOUBLE    units           CHAR        13   T       degrees_north
@@ -71712,7 +72904,7 @@ use mytype.nc; sh dat/att mytype.nc; can data mytype
  Variable    VarType(in dset)    AttributeName   AttType     Size OutFlag AttValue
 ------------------------------------------------------------------------------------------
   
- .                               history         CHAR        34   T       FERRET V7.1 (beta/debug) 15-Feb-17
+ .                               history         CHAR        34   T       FERRET V7.2 (beta/debug) 12-Jul-17
                                  Conventions     CHAR        6    F       CF-1.6
   
 (COADSY46_48)          DOUBLE    units           CHAR        13   T       degrees_north
@@ -71775,7 +72967,7 @@ use mytype.nc; sh dat/att mytype.nc; can data mytype
  Variable    VarType(in dset)    AttributeName   AttType     Size OutFlag AttValue
 ------------------------------------------------------------------------------------------
   
- .                               history         CHAR        34   T       FERRET V7.1 (beta/debug) 15-Feb-17
+ .                               history         CHAR        34   T       FERRET V7.2 (beta/debug) 12-Jul-17
                                  Conventions     CHAR        6    F       CF-1.6
   
 (COADSY46_48)          DOUBLE    units           CHAR        13   T       degrees_north
@@ -71823,7 +73015,7 @@ use mytype.nc; sh dat/att mytype.nc; can data mytype
  Variable    VarType(in dset)    AttributeName   AttType     Size OutFlag AttValue
 ------------------------------------------------------------------------------------------
   
- .                               history         CHAR        34   T       FERRET V7.1 (beta/debug) 15-Feb-17
+ .                               history         CHAR        34   T       FERRET V7.2 (beta/debug) 12-Jul-17
                                  Conventions     CHAR        6    F       CF-1.6
   
 (COADSY46_48)          DOUBLE    units           CHAR        13   T       degrees_north
@@ -71880,7 +73072,7 @@ use mytype.nc; sh dat/att mytype.nc; can data mytype
  Variable    VarType(in dset)    AttributeName   AttType     Size OutFlag AttValue
 ------------------------------------------------------------------------------------------
   
- .                               history         CHAR        34   T       FERRET V7.1 (beta/debug) 15-Feb-17
+ .                               history         CHAR        34   T       FERRET V7.2 (beta/debug) 12-Jul-17
                                  Conventions     CHAR        6    F       CF-1.6
   
 (COADSY46_48)          DOUBLE    units           CHAR        13   T       degrees_north
@@ -71918,7 +73110,7 @@ use mytype.nc; sh dat/att mytype.nc; can data mytype
  Variable    VarType(in dset)    AttributeName   AttType     Size OutFlag AttValue
 ------------------------------------------------------------------------------------------
   
- .                               history         CHAR        34   T       FERRET V7.1 (beta/debug) 15-Feb-17
+ .                               history         CHAR        34   T       FERRET V7.2 (beta/debug) 12-Jul-17
                                  Conventions     CHAR        6    F       CF-1.6
   
 (COADSY46_48)          DOUBLE    units           CHAR        13   T       degrees_north
@@ -71956,7 +73148,7 @@ use mytype.nc; sh dat/att mytype.nc; can data mytype
  Variable    VarType(in dset)    AttributeName   AttType     Size OutFlag AttValue
 ------------------------------------------------------------------------------------------
   
- .                               history         CHAR        34   T       FERRET V7.1 (beta/debug) 15-Feb-17
+ .                               history         CHAR        34   T       FERRET V7.2 (beta/debug) 12-Jul-17
                                  Conventions     CHAR        6    F       CF-1.6
   
 (COADSY46_48)          DOUBLE    units           CHAR        13   T       degrees_north
@@ -71994,7 +73186,7 @@ use mytype.nc; sh dat/att mytype.nc; can data mytype
  Variable    VarType(in dset)    AttributeName   AttType     Size OutFlag AttValue
 ------------------------------------------------------------------------------------------
   
- .                               history         CHAR        34   T       FERRET V7.1 (beta/debug) 15-Feb-17
+ .                               history         CHAR        34   T       FERRET V7.2 (beta/debug) 12-Jul-17
                                  Conventions     CHAR        6    F       CF-1.6
   
 (COADSY46_48)          DOUBLE    units           CHAR        13   T       degrees_north
@@ -72028,7 +73220,7 @@ use mytype.nc; sh dat/att mytype.nc; can data mytype
  Variable    VarType(in dset)    AttributeName   AttType     Size OutFlag AttValue
 ------------------------------------------------------------------------------------------
   
- .                               history         CHAR        34   T       FERRET V7.1 (beta/debug) 15-Feb-17
+ .                               history         CHAR        34   T       FERRET V7.2 (beta/debug) 12-Jul-17
                                  Conventions     CHAR        6    F       CF-1.6
   
 (COADSY46_48)          DOUBLE    units           CHAR        13   T       degrees_north
@@ -72062,8 +73254,10 @@ use mytype.nc; sh dat/att mytype.nc; can data mytype
 ! Go back to default setting.
 can list/outtype
  
-GO bn_reset
+GO bn_reset bn_ribbon_plot
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_ribbon_plot
 GO bn_ribbon_plot
 ! bn_ribbon_plot.jnl
 ! Test color-line-by variable style of plots
@@ -72208,8 +73402,10 @@ RIBBON/vs/over/nolab/thick=3/sym=20/key/set xpts, ypts, var
 ppl shakey,1,0
 ppl ribbon/over
  
-GO bn_reset
+GO bn_reset bn_descr_4digit
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_descr_4digit
 GO bn_descr_4digit
  ! bn_descr_4digit.jnl
  ! See ticket 1969: step files have 3- or 4-digit extensions
@@ -72236,8 +73432,10 @@ list/x=180/y=0 sst
  17-MAY-1900 / 5:  28.41
  17-JUN-1900 / 6:  28.23
  
-GO bn_reset
+GO bn_reset bn_axis_outtype
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_axis_outtype
 GO bn_axis_outtype
 ! bn_axis_outtype.jnl
 !  SET AXIS/OUTTYPE
@@ -72260,7 +73458,7 @@ use mytype.nc; sh dat/att mytype.nc; can data mytype
  Variable    VarType(in dset)    AttributeName   AttType     Size OutFlag AttValue
 ------------------------------------------------------------------------------------------
   
- .                               history         CHAR        34   T       FERRET V7.1 (beta/debug) 15-Feb-17
+ .                               history         CHAR        34   T       FERRET V7.2 (beta/debug) 12-Jul-17
                                  Conventions     CHAR        6    F       CF-1.6
   
 (COADSY46_48)          FLOAT     units           CHAR        13   T       degrees_north
@@ -72294,7 +73492,7 @@ use mytype.nc; sh dat/att mytype.nc; can data mytype
  Variable    VarType(in dset)    AttributeName   AttType     Size OutFlag AttValue
 ------------------------------------------------------------------------------------------
   
- .                               history         CHAR        34   T       FERRET V7.1 (beta/debug) 15-Feb-17
+ .                               history         CHAR        34   T       FERRET V7.2 (beta/debug) 12-Jul-17
                                  Conventions     CHAR        6    F       CF-1.6
   
 (COADSY46_48)          FLOAT     units           CHAR        13   T       degrees_north
@@ -72338,7 +73536,7 @@ use mytype.nc; sh dat/att mytype.nc; can data mytype
  Variable    VarType(in dset)    AttributeName   AttType     Size OutFlag AttValue
 ------------------------------------------------------------------------------------------
   
- .                               history         CHAR        34   T       FERRET V7.1 (beta/debug) 15-Feb-17
+ .                               history         CHAR        34   T       FERRET V7.2 (beta/debug) 12-Jul-17
                                  Conventions     CHAR        6    F       CF-1.6
   
 (COADSY46_48)          DOUBLE    units           CHAR        13   T       degrees_north
@@ -72379,7 +73577,7 @@ use mytype.nc; sh dat/att mytype.nc; can data mytype
  Variable    VarType(in dset)    AttributeName   AttType     Size OutFlag AttValue
 ------------------------------------------------------------------------------------------
   
- .                               history         CHAR        34   T       FERRET V7.1 (beta/debug) 15-Feb-17
+ .                               history         CHAR        34   T       FERRET V7.2 (beta/debug) 12-Jul-17
                                  Conventions     CHAR        6    F       CF-1.6
   
 (MYHOURS1)             DOUBLE    units           CHAR        31   T       hours since 1901-01-15 00:00:00
@@ -72405,7 +73603,7 @@ use mytype.nc; sh dat/att mytype.nc; can data mytype
  Variable    VarType(in dset)    AttributeName   AttType     Size OutFlag AttValue
 ------------------------------------------------------------------------------------------
   
- .                               history         CHAR        34   T       FERRET V7.1 (beta/debug) 15-Feb-17
+ .                               history         CHAR        34   T       FERRET V7.2 (beta/debug) 12-Jul-17
                                  Conventions     CHAR        6    F       CF-1.6
   
 (MYHOURS1)             INT       units           CHAR        31   T       hours since 1901-01-15 00:00:00
@@ -72431,7 +73629,7 @@ use mytype.nc; sh dat/att mytype.nc; can data mytype
  Variable    VarType(in dset)    AttributeName   AttType     Size OutFlag AttValue
 ------------------------------------------------------------------------------------------
   
- .                               history         CHAR        34   T       FERRET V7.1 (beta/debug) 15-Feb-17
+ .                               history         CHAR        34   T       FERRET V7.2 (beta/debug) 12-Jul-17
                                  Conventions     CHAR        6    F       CF-1.6
   
 (MYHOURS1)             DOUBLE    units           CHAR        31   T       hours since 1901-01-15 00:00:00
@@ -72472,8 +73670,10 @@ save/clobber/file=mytype.nc my_data
 cancel mode ignore
  
  
-GO bn_reset
+GO bn_reset bn_axis_nonmonotonic
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_axis_nonmonotonic
 GO bn_axis_nonmonotonic
 ! bn_axis_nonmonotonic.jnl
 ! bn_define_axis doesnt test the case where the varible is not monotonic
@@ -72487,8 +73687,10 @@ define axis/t/units=days tax = tvar
  
 cancel mode ignore
  
-GO bn_reset
+GO bn_reset bn_vec_mod
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_vec_mod
 GO bn_vec_mod
 ! bn_vec_mod.jnl
 ! /MODULO qualifier for the vector command.
@@ -72512,8 +73714,10 @@ vec/MOD/HLIM=-180:180 u,fakev,geolon_c,geolat_c
 can view
  
 ! *********** v6.85 Additions ***********
-GO bn_reset
+GO bn_reset bn685_bug_fixes
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn685_bug_fixes
 GO bn685_bug_fixes
 ! bn685_bug_fixes.jnl
 ! test various fixes that went into version 6.85
@@ -72521,6 +73725,7 @@ GO bn685_bug_fixes
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err684_label_quotes
 ! err684_label_quotes.jnl
 ! See ticket 1298.
@@ -72548,6 +73753,7 @@ label 4.5 .5 0 0 .3 "'hello'"
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err684_context_shape
 ! when limits are omitted with a compressing transformation the grave
 ! accent R=SHAPE erroneously includes the corresponding axis in the shape
@@ -72578,6 +73784,7 @@ XY
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err684_tax_fcns
 !err684_tax_fcns.jnl
 ! See ticket 2043, bug in workaround for single-precision arguments
@@ -72666,6 +73873,7 @@ GO err684_tax_fcns
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err684_save_subset
 ! err684_bug_save_subset
 ! see ticke 2064, precision in internal comparison of coordinate data
@@ -72678,6 +73886,7 @@ save/clobber/file=aa.nc/i=5:15 sh
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err684_save_subset
 ! err684_bug_save_subset
 ! see ticke 2064, precision in internal comparison of coordinate data
@@ -72690,6 +73899,7 @@ save/clobber/file=aa.nc/i=5:15 sh
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err684_line_plot_zero
 ! err684_line_plot_zero.jnl
 ! plot all-zero variable gave blank plot.
@@ -72704,6 +73914,7 @@ YAXIS_MAX = "1.00000000"
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err684_delimited_precision
 ! err684_delimited_precision.jnl
 ! 5/2013 Fixing bug 2066
@@ -72751,6 +73962,7 @@ list/prec=10 day, lon, lat, tim
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err6842_context_shape
 ! err6842_context_shape.jnl
 ! 5/2013 acm
@@ -72803,6 +74015,7 @@ XYT
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err684_evnt_z
 ! err684_evnt_z.jnl
 ! see ticket 2054
@@ -72843,6 +74056,7 @@ list my_var, my_event
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err684_save_expression
 ! err684_save_expression.jnl
 ! Bug 2076. If we write out an expression that has not been defined
@@ -72872,13 +74086,13 @@ variables:
 		A:history = "From coads_climatology" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 15-Feb-17" ;
+		:history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
 		:Conventions = "CF-1.6" ;
 data:
 
  TIME10 = 366, 1096.485, 1826.97 ;
 
- A = -0.0994369294620974, -0.0415768591396031, 0.141480238198142 ;
+ A = -0.0994369294620867, -0.0415768591395924, 0.141480238198152 ;
 }
  
 save/clob/file=aa.nc sst[x=@ave,y=@ave]-sst[x=@ave,y=@ave,t=@ave]
@@ -72901,13 +74115,13 @@ variables:
 		E410:history = "From coads_climatology" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 15-Feb-17" ;
+		:history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
 		:Conventions = "CF-1.6" ;
 data:
 
  TIME10 = 366, 1096.485, 1826.97 ;
 
- E410 = -0.0994369294620974, -0.0415768591396031, 0.141480238198142 ;
+ E410 = -0.0994369294620867, -0.0415768591395924, 0.141480238198152 ;
 }
  
 ! Double check the missing-value matches what is written.
@@ -72952,7 +74166,7 @@ variables:
 		E410:history = "From coads_climatology" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 15-Feb-17" ;
+		:history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
 		:Conventions = "CF-1.6" ;
 data:
 
@@ -72987,6 +74201,7 @@ set mode/last ignore
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err684_degC_axlab
 ! err684_degC_axlab.jnl
 ! ACM 6/2013
@@ -73006,6 +74221,7 @@ set mode/last logo
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err684_null_stringwrite
 ! err684_null_stringwrite.jnl
 ! 18-Jun-2013 ACM
@@ -73028,11 +74244,12 @@ set mode/last ignore
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err684_FillValue_xml
 ! err684_FillValue_xml.jnl
 ! ACM 6/2013
 !
-! See the dataset at http://ferret.pmel.noaa.gov/thredds/dodsC/woa09_1deg_monthly
+! See the dataset at http://ferret.pmel.noaa.gov/pmel/thredds/dodsC/woa09_1deg_monthly
 ! where the "number of" variables have  _FillValues attributes = -2147483647
 ! This value was being written to the xml headers as a float, without enough precision.
 ! See las ticket #761, fixes in show_data_set_vars_xml.F
@@ -73053,7 +74270,7 @@ sh dat/var/xml
    <value><![CDATA[Number of O2 Utilization Observations]]></value>
 </attribute>
 <attribute name="_FillValue" type="float">
-   <value> -2147483647.</value>
+   <value>-2147483647.</value>
 </attribute>
 <attribute name="ferret_datatype" type="char">
    <value><![CDATA[FLOAT]]></value>
@@ -73106,6 +74323,7 @@ sh dat/var/xml
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err684_axticlab
 ! err684_axticlab
 ! 7/10/2013 *acm
@@ -73129,6 +74347,7 @@ cancel mode meta
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err684_dotstart
 ! err684_dotstart.jnl
 ! 12-Jul-2013 ACM
@@ -73155,6 +74374,7 @@ set mode/last ignore
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err684_vfine_to_coarse
  ! err684_vfine_to_coarse
  ! see ticket 2070.
@@ -73284,6 +74504,7 @@ list v eq v_coarse[gf=v at ave]
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err684_repeated_coordindates
 ! err685_repeated_coordindates.jnl
 !  The NOTE about repeated axis coordaintes reported the wrong index location.
@@ -73293,6 +74514,7 @@ use latestOb.nc
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err684_packed_output
 ! err684_packed_output.jnl
 ! See ticket 2089
@@ -73333,6 +74555,7 @@ list/i=1:3 sst
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err684_string_dim_name
 ! err685_string_dim_name.jnl
 ! Ticket 2091. If the string variable shares its dimension name,
@@ -73356,6 +74579,7 @@ list ..varnames
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err684_define_grid
 ! err684_define_grid.jnl
 ! 25-Oct-2013 ACM
@@ -73370,8 +74594,10 @@ define axis/y=54:66:0.5/units=degrees_north lat_ax
 define grid/x=lon_ax/y=lat_ax/z=zax three_d_grd
  
  
-GO bn_reset
+GO bn_reset bn_dsg_e_x
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_dsg_e_x
 GO bn_dsg_e_x
 ! bn_dsg_e.jnl
 !
@@ -73466,8 +74692,10 @@ sh grid pco2
  normal    Z
  normal    T
  
-GO bn_reset
+GO bn_reset bn_nco_append
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_nco_append
 GO bn_nco_append
 ! bn_nco_append.jnl
 ! 5/2013 add a test appending files with ncks
@@ -73517,14 +74745,16 @@ variables:
 		DDAT_ORIG:long_name = "DDAT[GZ=ZAXIS_ORIG at ASN]" ;
 
 // global attributes:
-		:history = "Wed Feb 15 11:28:51 2017: ncks -h -A -h z1.nc append_to_this.nc\n",
-			"FERRET V7.1 (beta/debug) 15-Feb-17" ;
+		:history = "Wed Jul 12 09:54:09 2017: ncks -h -A -h z1.nc append_to_this.nc\n",
+			"FERRET V7.2 (beta/debug) 12-Jul-17" ;
 		:Conventions = "CF-1.6" ;
 		:NCO = "4.4.6" ;
 }
  
-GO bn_reset
+GO bn_reset bn_nobounds
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_nobounds
 GO bn_nobounds
 ! bn_nobounds.jnl
 ! The SAVE/NOBOUNDS qualifier causes bounds never to be written
@@ -73552,7 +74782,7 @@ variables:
 		AVAR:long_name = "X[GX=XIRREG]" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 15-Feb-17" ;
+		:history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
 		:Conventions = "CF-1.6" ;
 data:
 
@@ -73583,7 +74813,7 @@ variables:
 		AVAR:long_name = "X[GX=XIRREG]" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 15-Feb-17" ;
+		:history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
 		:Conventions = "CF-1.6" ;
 data:
 
@@ -73646,7 +74876,7 @@ variables:
 		A:history = "From coads" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 15-Feb-17" ;
+		:history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
 		:Conventions = "CF-1.6" ;
 }
  
@@ -73674,13 +74904,15 @@ variables:
 		A:history = "From coads" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 15-Feb-17" ;
+		:history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
 		:Conventions = "CF-1.6" ;
 }
  
  
-GO bn_reset
+GO bn_reset bn_write_integer_att
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_write_integer_att
 GO bn_write_integer_att
 ! bn_write_integer_att.jnl
 !  ACM 6/2013
@@ -73713,8 +74945,10 @@ sp ncdump a.nc | grep numberOfObservations
  
  
  
-GO bn_reset
+GO bn_reset bn_descriptor_mc
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_descriptor_mc
 GO bn_descriptor_mc
 ! bn_descriptor_mc.jnl
 ! 7/2013 ACM
@@ -73751,8 +74985,10 @@ list /x=300/y=10 sst
  16-MAY-0000 / 3:  27.39
  16-JUN-0000 / 4:  27.65
  
-GO bn_reset
+GO bn_reset bn_plot_color_only
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_plot_color_only
 GO bn_plot_color_only
 ! bn_plot_color_only.jnl
 ! 9/20/2013 ACM
@@ -73829,8 +75065,10 @@ set mode/last ignore
  
  
  
-GO bn_reset
+GO bn_reset bn_vtree
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_vtree
 GO bn_vtree
 ! bn_tree.jnl
  
@@ -74472,6 +75710,7 @@ go bn_vtree_regrid
 ! exercise 12/14 enhancements to display regrid target on a separate line
 ! updated 1/26/15 to exercise multiple regrid target outputs
 ! updated 2/23/15 to report target of regrid even when aux regridding occurs
+! 5/2017 note that the fix for #2533 causes some duplicate  UNKNOWN GRID lines
  
 ! case 1: target grid known,   regridded variable known
 let myvar = 1           ! var to be regridded is known
@@ -74816,6 +76055,7 @@ go bn_vtree.sub myvar[gx=temp,gy=temp,g=mybad[d=1]]  ! dup known targets
    in default dataset levitus_climatology
    MYVAR = X[GX=X1] + Y[GY=Y1]
      regrid to TEMP
+     regrid to TEMP
      regrid to MYBAD[D=1] ??		<== UNKNOWN GRID ******
 /TREE=USER
    in default dataset levitus_climatology
@@ -74832,13 +76072,16 @@ go bn_vtree.sub myvar[g=temp,gx=mybad,gy=mybad]      ! dup unknown suppressed
    MYVAR = X[GX=X1] + Y[GY=Y1]
      regrid to TEMP
      regrid to MYBAD ??		<== UNKNOWN GRID ******
+     regrid to MYBAD ??		<== UNKNOWN GRID ******
 /TREE=USER
    in default dataset levitus_climatology
    MYVAR = X[GX=X1] + Y[GY=Y1]
      regrid to MYBAD ??		<== UNKNOWN GRID ******
+     regrid to MYBAD ??		<== UNKNOWN GRID ******
 /TREE=FILE
    regrid to TEMP[d=levitus_climatology]
    *unknown grid: MYBAD
+   *unknown grid: MYBAD
 the problem is UNKNOWN GRID: MYBAD
 ************************
 go bn_vtree.sub myvar[g=temp,gx=mybad[d=2],gy=mybad] ! dup unknown missed
@@ -74989,8 +76232,10 @@ vtree=all tempz4
  
  
 ! *********** v6.86 Additions ***********
-GO bn_reset
+GO bn_reset bn686_bug_fixes
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn686_bug_fixes
 GO bn686_bug_fixes
 ! bn686_bug_fixes
 ! test various fixes that went into version 6.86
@@ -74998,6 +76243,7 @@ GO bn686_bug_fixes
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err685_ribbon_by_val
 ! err685_ribbon_by_val.jnl
 ! 11/21/2013
@@ -75013,6 +76259,7 @@ plot/vs/line/thick/ribbon/MISS=black/PAL=ocean_temp xpts, ypts, fpts
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err685_ppl_palette
 ! err685_ppl_palette.jnl
 ! Further fix for ticket 2049. If the palette or pattern file
@@ -75042,6 +76289,7 @@ pattern solid
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err685_show_grid_e
 ! err685_show_grid_e.jnl
 ! See ticket 2122
@@ -75108,6 +76356,7 @@ sh grid /f gensy
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err685_lowercaseAxis
 ! err685_lowercaseAxis.jnl
 ! Ticket  2126
@@ -75173,6 +76422,7 @@ list/L=1:5 aa
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err685_redefine_uvar_att
 ! err685_redefine_uvar_att.jnl
 ! ticket 2127 Redefine an attribute for a
@@ -75185,6 +76435,7 @@ define att/type=STRING  a.ival = 99
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err685_use_no_extension
 ! Ticket 2128: if no extension, we should try .cdf, .nc, .des
 !  but .des was not being tried.
@@ -75221,6 +76472,7 @@ set mode/last ignore
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err685_samplexy
 ! err685_samplexy.jnl
 ! Fix for ticket 2137. out-of-bounds error
@@ -75243,6 +76495,7 @@ list  samplexy(sst[x=290:310,y=0:20], lon, lat)
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err685_shade_set
 ! err685_shade_set.jnl
 !
@@ -75290,6 +76543,7 @@ set mode/last logo
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err686_individual_levels
 ! err686_individual_levels.jnl
 ! Ticket 2142
@@ -75318,8 +76572,10 @@ LEV_NUM = "4"
 LEV_DEL = "5"
  
  
-GO bn_reset
+GO bn_reset bn_long_symnames
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_long_symnames
 GO bn_long_symnames
 ! bn_long_symnames.jnl
 ! *ACM* 11/22/2013
@@ -75358,8 +76614,10 @@ show symbol q*
 Q23456789012345678901234567890Q23456789012345678901234567890Q23456789012345678901234567890Q23456789012345678901234567890 = "5"
 Q23456789012345678901234567890Q23456789012345678901234567890Q23456789012345678901234567890Q23456789012345678901234567XXX = "6"
  
-GO bn_reset
+GO bn_reset bn_strdim
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_strdim
 GO bn_strdim
 ! bn_strdim.jnl
 ! Keep the string dimension name and size from the intput file
@@ -75386,7 +76644,7 @@ variables:
 		LABELS:history = "From http://dunkel.pmel.noaa.gov:8930/thredds/dodsC/data/atmos3.ncml" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 15-Feb-17" ;
+		:history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
 		:Conventions = "CF-1.6" ;
 }
  
@@ -75409,13 +76667,15 @@ variables:
 		STRVAR:long_name = "mystrings" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 15-Feb-17" ;
+		:history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
 		:Conventions = "CF-1.6" ;
 }
  
  
-GO bn_reset
+GO bn_reset bn_single_colorlev
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_single_colorlev
 GO bn_single_colorlev
 ! bn_single_colorlev.jnl
 ! Ticket 2123, mis-labeled color bars when
@@ -75436,8 +76696,10 @@ fill/lev=(20,30,10)/L=1 sst
  
  
 ! *********** v6.9 Additions ***********
-GO bn_reset
+GO bn_reset bn69_bug_fixes
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn69_bug_fixes
 GO bn69_bug_fixes
 ! bn69_bug_fixes
 ! test various fixes that went into version 6.9
@@ -75445,6 +76707,7 @@ GO bn69_bug_fixes
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err686_long_list_varnames
 ! err686_long_list_varnames.jnl
 !
@@ -75532,6 +76795,7 @@ list etopo2_depth
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err686_faxis_label
 ! err686_faxis_label.jnl
 ! 3/11/2014 ACM
@@ -75565,6 +76829,7 @@ LAB5 = "FORECAST : 03-JAN-2000 00:00 JULIAN"
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err686_dup_axnames
 ! err686_dup_axnames
 ! Ticket 1750
@@ -75633,7 +76898,7 @@ variables:
 		B:history = "From b" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 15-Feb-17" ;
+		:history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
 		:Conventions = "CF-1.6" ;
 }
  
@@ -75663,7 +76928,7 @@ variables:
 		A:history = "From a" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 15-Feb-17" ;
+		:history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
 		:Conventions = "CF-1.6" ;
 }
  
@@ -75684,7 +76949,7 @@ variables:
 		B:history = "From b" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 15-Feb-17" ;
+		:history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
 		:Conventions = "CF-1.6" ;
 }
  
@@ -75705,7 +76970,7 @@ variables:
 		B:history = "From b" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 15-Feb-17" ;
+		:history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
 		:Conventions = "CF-1.6" ;
 }
  
@@ -75727,7 +76992,7 @@ variables:
 		B:history = "From b" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 15-Feb-17" ;
+		:history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
 		:Conventions = "CF-1.6" ;
 }
  
@@ -75740,6 +77005,7 @@ set mode/last ignore
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err686_cancel_invalid_var
 ! err686_cancel_invalid_var
 ! ticket 2159
@@ -75763,6 +77029,7 @@ shade/x=161.1:161.3/y=0.2:0.4/L=1 sst
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err686_redef_ascii_att
 ! err686_redef_ascii_att.jnl
 ! Bug 2161
@@ -75801,6 +77068,7 @@ sh att v1
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err686_sho_nonexist_att
 ! err686_sho_nonexist_att.jnl
 ! See ticket 2133
@@ -75816,6 +77084,7 @@ set mode/last ignore
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err686_set_var_name
 ! err686_set_var_name.jnl
 ! ticket 2152
@@ -75904,8 +77173,10 @@ set var/name=diff w
  
 SET MODE/LAST ignore
  
-GO bn_reset
+GO bn_reset bn_bad_axis_bounds
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_bad_axis_bounds
 GO bn_bad_axis_bounds
 ! bn_bad_axis_bounds
 ! Ticket 2146 If there are invalid axis bounds
@@ -75922,8 +77193,10 @@ show data
  TEMP2    TEMP[GT=MONTH_IRREG at ASN]         1:1       1:1       1:1       1:12
  
  
-GO bn_reset
+GO bn_reset bn_enter_exit_GO
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_enter_exit_GO
 GO bn_enter_exit_GO
 ! GO bn_enter_exit_GO
 ! Lines to allow trace of GO scripts:
@@ -75992,8 +77265,10 @@ plot/i=1:15/color=red/thick i
  
 cancel redirect
  
-GO bn_reset
+GO bn_reset bn_stddev
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_stddev
 GO bn_stddev
 ! bn_std.jnl
 ! New StdDev transform
@@ -76056,8 +77331,10 @@ list/y=3/l=1 temp[z=@std,x=@std]
              TIME     : 17-AUG-1982 12:00
           1.037
  
-GO bn_reset
+GO bn_reset bn_set_axis_name
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_set_axis_name
 GO bn_set_axis_name
 ! bn_set_axis_name.jnl
 ! ticket 2160 Implementing new qualifier SET AXIS/NAME
@@ -76148,7 +77425,7 @@ sh dat/att
  Variable    VarType(in dset)    AttributeName   AttType     Size OutFlag AttValue
 ------------------------------------------------------------------------------------------
   
- .                               history         CHAR        34   T       FERRET V7.1 (beta/debug) 15-Feb-17
+ .                               history         CHAR        34   T       FERRET V7.2 (beta/debug) 12-Jul-17
                                  Conventions     CHAR        6    F       CF-1.6
   
 (x_in_meters)          DOUBLE    units           CHAR        6    T       meters
@@ -76165,7 +77442,7 @@ sh dat/att
  Variable    VarType(in dset)    AttributeName   AttType     Size OutFlag AttValue
 ------------------------------------------------------------------------------------------
   
- .                               history         CHAR        34   T       FERRET V7.1 (beta/debug) 15-Feb-17
+ .                               history         CHAR        34   T       FERRET V7.2 (beta/debug) 12-Jul-17
                                  Conventions     CHAR        6    F       CF-1.6
   
 (x_in_meters)          DOUBLE    units           CHAR        6    T       meters
@@ -76182,7 +77459,7 @@ sh dat/att
  Variable    VarType(in dset)    AttributeName   AttType     Size OutFlag AttValue
 ------------------------------------------------------------------------------------------
   
- .                               history         CHAR        34   T       FERRET V7.1 (beta/debug) 15-Feb-17
+ .                               history         CHAR        34   T       FERRET V7.2 (beta/debug) 12-Jul-17
                                  Conventions     CHAR        6    F       CF-1.6
   
 (x_in_meters)          DOUBLE    units           CHAR        6    T       meters
@@ -76209,57 +77486,61 @@ set axis/name=.fr x_in_meters
  
 set mode/last ignore
  
-GO bn_reset
+GO bn_reset bn_let_remote
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_let_remote
 GO bn_let_remote
 ! bn_let_remote.jnl
 ! Tests of the F-TDS LET/REMOTE
 ! 6/2016 installed NVODS on new-bock server
 ! 9/2016 load smaller subsets of the data
+! 4/2017 Update thredds server urls. To find the right URL, go to the dataset
+!        in the NVODS server, and hit the "Export to Desktop Application"
+!        button. The .jnl address is the correct F-TDS URL.
  
 ! See if the F-TDS is working and bail if not.
- 
 let status = TEST_OPENDAP("http://ferret.pmel.noaa.gov/nvods/thredds/dodsC/las/COADS-climatology/data_coads_climatology.jnl")
 load status
 if `status NE 0` then EXIT/SCRIPT
  !-> if 0 then EXIT/SCRIPT
  
-use "http://ferret.pmel.noaa.gov/nvods/thredds/dodsC/las/woa05_monthly/data_ferret.pmel.noaa.gov_thredds_dodsC_data_PMEL_WOA05nc_monthly_t0112mn1.nc.jnl"
-let/D=1/remote myvar = t0112mn1[k=1:5 at sum]
-let/D=1/remote ave_z = t0112mn1[z=0:20 at ave]
+use "http://ferret.pmel.noaa.gov/nvods/thredds/dodsC/las/woa05_annual/data_ferret.pmel.noaa.gov_pmel_thredds_dodsC_data_PMEL_WOA05nc_annual_t00an1.nc.jnl"
+let/D=1/remote myvar = t00an1[k=1:5 at sum]
+let/D=1/remote ave_z = t00an1[z=0:20 at ave]
 sh var
  Created by DEFINE VARIABLE:
-     AVE_Z[D=data_ferret.pmel.noaa.gov_thredds_dodsC_data_PMEL_WOA05nc_monthly_t0112mn1.nc.jnl] (/REMOTE) = T0112MN1[Z=0:20 at AVE]
-     MYVAR[D=data_ferret.pmel.noaa.gov_thredds_dodsC_data_PMEL_WOA05nc_monthly_t0112mn1.nc.jnl] (/REMOTE) = T0112MN1[K=1:5 at SUM]
+     AVE_Z[D=data_ferret.pmel.noaa.gov_pmel_thredds_dodsC_data_PMEL_WOA05nc_annual_t00an1.nc.jnl] (/REMOTE) = T00AN1[Z=0:20 at AVE]
+     MYVAR[D=data_ferret.pmel.noaa.gov_pmel_thredds_dodsC_data_PMEL_WOA05nc_annual_t00an1.nc.jnl] (/REMOTE) = T00AN1[K=1:5 at SUM]
  >>> Definitions that replace any file variable of same name:
      STATUS = TEST_OPENDAP("http://ferret.pmel.noaa.gov/nvods/thredds/dodsC/las/COADS-climatology/data_coads_climatology.jnl")
 set view ul; shade/l=7/x=180:200/y=20:30 myvar
 set view ur; shade/l=3/x=180:200/y=20:30 ave_z
  
 list/l=7/x=300:310/y=15 myvar, ave_z
-             DATA SET: http://ferret.pmel.noaa.gov/nvods/thredds/dodsC/las/woa05_monthly/data_ferret.pmel.noaa.gov_thredds_dodsC_data_PMEL_WOA05nc_monthly_t0112mn1.nc.jnl
+             DATA SET: http://ferret.pmel.noaa.gov/nvods/thredds/dodsC/las/woa05_annual/data_ferret.pmel.noaa.gov_pmel_thredds_dodsC_data_PMEL_WOA05nc_annual_t00an1.nc.jnl
              LONGITUDE: 60W to 50W
              LATITUDE: 15N (interpolated)
-             TIME: 14-JUL 12:00
- Column  1: MYVAR is T0112MN1[K=1:5 at SUM]
- Column  2: AVE_Z is T0112MN1[Z=0:20 at AVE]
+             TIME: 02-JUL-0003 05:27
+ Column  1: MYVAR is T00AN1[K=1:5 at SUM]
+ Column  2: AVE_Z is T00AN1[Z=0:20 at AVE]
              MYVAR   AVE_Z
-59.5W / 301:  138.8  27.89
-58.5W / 302:  139.2  27.91
-57.5W / 303:  139.4  27.95
-56.5W / 304:  140.4  28.14
-55.5W / 305:  137.4  27.62
-54.5W / 306:  135.3  27.32
-53.5W / 307:  134.0  27.07
-52.5W / 308:  136.4  27.34
-51.5W / 309:   ....   ....
-50.5W / 310:  135.1  27.19
- 
-let/D=1/remote ave_t = t0112mn1[L=1:12 at ave]
+59.5W / 301:  136.6  27.41
+58.5W / 302:  136.4  27.37
+57.5W / 303:  136.2  27.31
+56.5W / 304:  135.8  27.24
+55.5W / 305:  135.3  27.15
+54.5W / 306:  134.9  27.05
+53.5W / 307:  134.4  26.95
+52.5W / 308:  133.8  26.84
+51.5W / 309:  133.3  26.72
+50.5W / 310:  132.7  26.60
+ 
+let/D=1/remote ave_t = t00an1[L=1:12 at ave]
 set view ll; shade/z=0/x=180:200/y=20:30 ave_t
  
-let/D=1/remote/units="`t0112mn1,ret=units`"/title="Summer average Temperature" ave_summer = t0112mn1[t=15-jun:15-sep at ave]
- !-> DEFINE VARIABLE/D=1/remote/units="deg C"/title="Summer average Temperature" ave_summer = t0112mn1[t=15-jun:15-sep at ave]
+let/D=1/remote/units="`t00an1,ret=units`"/title="Summer average Temperature" ave_summer = t00an1[t=15-jun:15-sep at ave]
+ !-> DEFINE VARIABLE/D=1/remote/units="deg C"/title="Summer average Temperature" ave_summer = t00an1[t=15-jun:15-sep at ave]
 set view lr; shade/z=0/x=180:200/y=20:30 ave_summer
  
 can view
@@ -76267,15 +77548,15 @@ can data/all; can var/all
  
 ! open another dataset, define more remote variables
  
-use "http://ferret.pmel.noaa.gov/nvods/thredds/dodsC/las/woa05_monthly/data_ferret.pmel.noaa.gov_thredds_dodsC_data_PMEL_WOA05nc_monthly_t0112mn1.nc.jnl"
+use "http://ferret.pmel.noaa.gov/nvods/thredds/dodsC/las/woa05_annual/data_ferret.pmel.noaa.gov_pmel_thredds_dodsC_data_PMEL_WOA05nc_annual_t00an1.nc.jnl"
 use "http://ferret.pmel.noaa.gov/nvods/thredds/dodsC/las/COADS-climatology/data_coads_climatology.jnl"
 let/D=2/remote sstsum = sst[L=1:5 at sum]
 let/D=2/remote airtsum = airt[L=1:5 at sum]
 sh dat
      currently SET data sets:
-    1> http://ferret.pmel.noaa.gov/nvods/thredds/dodsC/las/woa05_monthly/data_ferret.pmel.noaa.gov_thredds_dodsC_data_PMEL_WOA05nc_monthly_t0112mn1.nc.jnl
+    1> http://ferret.pmel.noaa.gov/nvods/thredds/dodsC/las/woa05_annual/data_ferret.pmel.noaa.gov_pmel_thredds_dodsC_data_PMEL_WOA05nc_annual_t00an1.nc.jnl
  name     title                             I         J         K         L
- T0112MN1 Temperature                      1:360     1:180     1:24      1:12
+ T00AN1   Temperature                      1:360     1:180     1:33      1:1
  
     2> http://ferret.pmel.noaa.gov/nvods/thredds/dodsC/las/COADS-climatology/data_coads_climatology.jnl  (default)
  name     title                             I         J         K         L
@@ -76352,10 +77633,10 @@ list/y=-5/x=130w:110w combo
  
 can dat/all; can var/all
  
-use "http://ferret.pmel.noaa.gov/nvods/thredds/dodsC/las/woa05_monthly/data_ferret.pmel.noaa.gov_thredds_dodsC_data_PMEL_WOA05nc_monthly_t0112mn1.nc.jnl"
+use "http://ferret.pmel.noaa.gov/nvods/thredds/dodsC/las/woa05_annual/data_ferret.pmel.noaa.gov_pmel_thredds_dodsC_data_PMEL_WOA05nc_annual_t00an1.nc.jnl"
  
 ! This is ok let/remote/D=
-let/D=1/remote myvar = t0112mn1[z=1:100 at ave]
+let/D=1/remote myvar = t00an1[z=1:100 at ave]
  
 ! Intentional errors:
  
@@ -76363,17 +77644,17 @@ let/D=1/remote myvar = t0112mn1[z=1:100 at ave]
 ! the remote server so the same datsets are not open there.
  
 set mode ignore
-let/D=1/remote rvar = t0112mn1[d=1,z=1:100 at ave]
+let/D=1/remote rvar = t00an1[d=1,z=1:100 at ave]
  
  
 ! But, require LET/D= with /REMOTE
-let/remote rvar = t0112mn1[d=1,z=1:100 at ave]
+let/remote rvar = t00an1[d=1,z=1:100 at ave]
  
 ! If expressions involve local variables not defined in the remote dset,
 ! then the variable can be computed but not as a remote-var.
  
 let a = 12
-let/D=1/remote avar = a*t0112mn1[L=@ave]
+let/D=1/remote avar = a*t00an1[L=@ave]
 list/x=300/y=15 avar
  
 SET MODE/LAST ignore
@@ -76382,36 +77663,38 @@ SET MODE/LAST ignore
 let/D=1/remote a = 12
 sho dat
      currently SET data sets:
-    1> http://ferret.pmel.noaa.gov/nvods/thredds/dodsC/las/woa05_monthly/data_ferret.pmel.noaa.gov_thredds_dodsC_data_PMEL_WOA05nc_monthly_t0112mn1.nc.jnl  (default)
+    1> http://ferret.pmel.noaa.gov/nvods/thredds/dodsC/las/woa05_annual/data_ferret.pmel.noaa.gov_pmel_thredds_dodsC_data_PMEL_WOA05nc_annual_t00an1.nc.jnl  (default)
  name     title                             I         J         K         L
- T0112MN1 Temperature                      1:360     1:180     1:24      1:12
+ T00AN1   Temperature                      1:360     1:180     1:33      1:1
  ------------------------------
- A[D=data_ferret.pmel.noaa.gov_thredds_dodsC_data_PMEL_WOA05nc_monthly_t0112mn1.nc.jnl] (/REMOTE) = 12
- AVAR[D=data_ferret.pmel.noaa.gov_thredds_dodsC_data_PMEL_WOA05nc_monthly_t0112mn1.nc.jnl] (/REMOTE) = A*T0112MN1[L=@AVE]
- MYVAR[D=data_ferret.pmel.noaa.gov_thredds_dodsC_data_PMEL_WOA05nc_monthly_t0112mn1.nc.jnl] (/REMOTE) = T0112MN1[Z=1:100 at AVE]
+ A[D=data_ferret.pmel.noaa.gov_pmel_thredds_dodsC_data_PMEL_WOA05nc_annual_t00an1.nc.jnl] (/REMOTE) = 12
+ AVAR[D=data_ferret.pmel.noaa.gov_pmel_thredds_dodsC_data_PMEL_WOA05nc_annual_t00an1.nc.jnl] (/REMOTE) = A*T00AN1[L=@AVE]
+ MYVAR[D=data_ferret.pmel.noaa.gov_pmel_thredds_dodsC_data_PMEL_WOA05nc_annual_t00an1.nc.jnl] (/REMOTE) = T00AN1[Z=1:100 at AVE]
  
 list/x=300/y=15/z=0:100 avar
-             VARIABLE : A*T0112MN1[L=@AVE]
-             FILENAME : data_ferret.pmel.noaa.gov_thredds_dodsC_data_PMEL_WOA05nc_monthly_t0112mn1.nc.jnl
-             FILEPATH : http://ferret.pmel.noaa.gov/nvods/thredds/dodsC/las/woa05_monthly/
+             VARIABLE : A*T00AN1[L=@AVE]
+             FILENAME : data_ferret.pmel.noaa.gov_pmel_thredds_dodsC_data_PMEL_WOA05nc_annual_t00an1.nc.jnl
+             FILEPATH : http://ferret.pmel.noaa.gov/nvods/thredds/dodsC/las/woa05_annual/
              SUBSET   : 7 points (DEPTH (m))
              LONGITUDE: 60W (interpolated)
              LATITUDE : 15N (interpolated)
-             TIME     : 01-JAN 12:00 to 30-DEC 06:00
- 0      / 1:  329.8
- 10     / 2:  329.4
- 20     / 3:  329.2
- 30     / 4:  328.7
- 50     / 5:  325.1
- 75     / 6:  315.3
- 100    / 7:  302.9
+             TIME     : 01-JUL 00:00 to 02-JUL 00:00
+ 0      / 1:  329.3
+ 10     / 2:  329.1
+ 20     / 3:  328.8
+ 30     / 4:  328.2
+ 50     / 5:  324.4
+ 75     / 6:  313.9
+ 100    / 7:  300.0
  
 can dat/all; can var/all
  
  
 ! *********** v6.93 Additions ***********
-GO bn_reset
+GO bn_reset bn691_bug_fixes
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn691_bug_fixes
 GO bn691_bug_fixes
 ! bn691_bug_fixes
 ! test various fixes that went into version 6.91
@@ -76419,6 +77702,7 @@ GO bn691_bug_fixes
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err69_arg_type_error
 ! err69_arg_type_error
 ! See ticket 2169
@@ -76481,6 +77765,7 @@ set mode /last ignore
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err69_bad_bounds
 ! err69_bad_bounds.jnl
 ! See ticket 2170
@@ -76553,6 +77838,7 @@ set mode/last ignore
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err69_const_array
 ! err69_const_array.jnl
 ! 5/8/2014  ACM
@@ -76588,6 +77874,7 @@ set mode/last ignore
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err69_multi_label_ascii
 ! err69_multi_label_ascii.jnl
 ! 5/2014  ACM
@@ -76621,6 +77908,7 @@ label .55 .2 0 0 .16 "@ASEscape_color_not_font<NL>@P2 at SRred_1<NL>@P3 at SRgreen_2
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err69_ens_badvalue
 ! err69_ens_badvalue.jnl
 !
@@ -76656,6 +77944,7 @@ list/y=29.25  MAIZE_YIELD[d=1], MAIZE_YIELD[d=2], MAIZE_YIELD[d=3],  MAIZE_YIELD
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err69_ribbon_by_levels
 ! err69_ribbon_by_levels.jnl
 ! ACM 5/19/2014
@@ -76681,6 +77970,7 @@ RIBBON/vs/line/thick/lev=(1,20,1)/fast/pal=ten_by_levels xpts,ypts,var
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err69_ribbon_histogram
 ! err69_ribbon_histogram.jnl
 ! ACM 5/24/2014
@@ -76708,6 +77998,7 @@ ribbon/vs/line/thick/lev=10h xpts,ypts,var
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err69_repl_scinot
 ! err69_repl_scinot.jnl
 ! ticket 2175
@@ -76735,6 +78026,7 @@ say (`a`)
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err691_bnds_case
 ! err691_bnds_case
 ! 6/30/14
@@ -76749,6 +78041,7 @@ set mode/last upcase_output
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err69_plot_vs_labs
 ! err69_plot_vs_labs.jnl
 ! ticket 2187: the axis labels on the dependent axis
@@ -76786,6 +78079,7 @@ LABY = "A[X=150W:90W at AVE]"
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err69_levels_v
 ! err69_levels_v.jnl
 ! Ferret ticket 2186, and LAS ticket 1598
@@ -76811,6 +78105,7 @@ LEV_MAX = "open-ended"
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err69_letd_dsetnum
 ! err69_letd_dsetnum.jnl
 !  Ticket 2189. Previously the grave-accent expression didn't get
@@ -76830,6 +78125,7 @@ sh dat
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err69_long_string_to_xml
 ! err69_long_string_to_xml.jnl
 ! ticket 2190  8-8-2014
@@ -76848,6 +78144,7 @@ sp cat out.xml
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err69_fill_trans
 ! err69_fill_trans.jnl
 ! ticket 2196. Visible only if bounds-checking is turned on.
@@ -76896,6 +78193,7 @@ list myvar[x=6 at fav:18]
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err69_load_big_grid
 ! err69_load_big_grid
 ! ticket 1758
@@ -76913,29 +78211,40 @@ def axis/z=1:20:1 zaxis
 define axis/t=1-jan-2000:1-jan-2005:1/units=days  longtime
 let bigvar = x[gx=xaxis]+y[gy=yaxis] + z[gz=zaxis] + t[gt=longtime]
 sh grid bigvar
-    GRID (G091)
+    GRID (G093)
  name       axis              # pts   start                end                 subset
  XAXIS     X                  360 r   1                    360                 full
  YAXIS     Y                  180 r   1                    180                 full
  ZAXIS     Z                   20 r   1                    20                  full
  LONGTIME  TIME              1828 r   01-JAN-2000 00:00    01-JAN-2005 00:00   full
 load bigvar
+    To fulfill this request would exceed the current SET MEMORY/SIZE= limit of 25.6 megawords
+    At the moment that the memory limit was reached
+    memory was committed as follows:
+        - to objects used in computation: : 1297828 (5.1%)
+    The size of the requested object was: : 2369088000 (9254%)
  
 ! also was an incorrect size.
 define axis/t=1-jan-2000:1-jan-2010:1/units=days  longtime
 sh grid bigvar
-    GRID (G091)
+    GRID (G093)
  name       axis              # pts   start                end                 subset
  XAXIS     X                  360 r   1                    360                 full
  YAXIS     Y                  180 r   1                    180                 full
  ZAXIS     Z                   20 r   1                    20                  full
  LONGTIME  TIME              3654 r   01-JAN-2000 00:00    01-JAN-2010 00:00   full
 load bigvar
+    To fulfill this request would exceed the current SET MEMORY/SIZE= limit of 25.6 megawords
+    At the moment that the memory limit was reached
+    memory was committed as follows:
+        - to objects used in computation: : 1299654 (5.1%)
+    The size of the requested object was: : 4735584000 (18498%)
  
 cancel mode ignore
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err69_write_attribute
 ! err69_write_attribute.jnl
 ! Bug 1863
@@ -77074,6 +78383,7 @@ sp rm aa.nc bb.nc
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err69_isready_status_errmsgs
 ! err69_isready_status_errmsgs
 ! ticket 2197
@@ -77097,6 +78407,7 @@ set mode/last ignore
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err69_isready_status_errmsgs
 ! err69_isready_status_errmsgs
 ! ticket 2197
@@ -77120,6 +78431,7 @@ set mode/last ignore
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err69_countervar_context
 ! err69_countervar_context.jnl
 ! ACM 10/3/2014
@@ -77144,6 +78456,7 @@ can region
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err69_label_backspace
 ! err69_label_backspace
 ! Ticket 2203:  \\ before a character backspaces before
@@ -77155,6 +78468,7 @@ label .5 .5 0 0 1 "El Nin\\^@MA45 at SRo\!"
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err69_isready_and_regridding
 ! err69_isready_and_regridding.jnl
 ! Ticket 2204: A `var,return=isready` sends Ferret into a hanged
@@ -77200,6 +78514,7 @@ ENDIF
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err69_vtree_and_uvar_regrid
 ! err69_vtree_and_uvar_regrid.jnl
 ! Ticket 2206: This lead to a crash.
@@ -77225,6 +78540,7 @@ c is ready and AVAILABLE
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err69_vtree_cancel_axis
 ! err69_vtree_cancel_axis
 ! Ticket 2201: After a return=isready,
@@ -77252,6 +78568,7 @@ cancel axis xax2
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err69_isready_bugs
 ! err69_isready_bugs.jnl
 ! Tickets 2201 and 2215
@@ -77306,6 +78623,7 @@ m
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err691_substring_arg
 ! err693_substring_arg
 ! ACM 12/10/2014
@@ -77317,8 +78635,10 @@ list substring("hello",1,-3)
  
 set mode/last ignore
  
-GO bn_reset
+GO bn_reset bn_append_dsg
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_append_dsg
 GO bn_append_dsg
 ! bn_append_dsg.jnl
 !From SOCAT 3: appending to a dsg file where the new variable is on the obs
@@ -77397,14 +78717,16 @@ variables:
 		:geospatial_lat_max = 29.07 ;
 		:time_coverage_start = "2006-06-10T23:48:00Z" ;
 		:time_converage_end = "2006-06-11T00:12:00Z" ;
-		:history = "FERRET V7.1 (beta/debug) 15-Feb-17" ;
+		:history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
 }
  
 set mode/last upcase
  
  
-GO bn_reset
+GO bn_reset bn_global_atts
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_global_atts
 GO bn_global_atts
 ! bn_global_atts
 ! NOTE With the fix for ticket 2241, we need to add CANCEL MODE UPCASE.
@@ -77493,7 +78815,7 @@ variables:
 		lon360:history = "added to test_save_dsg.nc" ;
 
 // global attributes:
-		:history = "CruiseDsgNcFile 1.0FERRET V7.1 (beta/debug) 15-Feb-17" ;
+		:history = "CruiseDsgNcFile 1.0FERRET V7.2 (beta/debug) 12-Jul-17" ;
 		:featureType = "Trajectory" ;
 		:Conventions = "Some other conventionsCF-1.6" ;
 		:geospatial_lon_min = -92.77 ;
@@ -77520,15 +78842,17 @@ can dat/all; use anew_global.nc
 sh att .
      attributes for dataset: ./anew_global.nc
  ..history = Subset of etopo20,
- FERRET V7.1 (beta/debug) 15-Feb-17 
+ FERRET V7.2 (beta/debug) 12-Jul-17 
  ..Conventions = Existing conventions note, , CF-1.6 
  
  
 set mode/last upcase
  
  
-GO bn_reset
+GO bn_reset bn_conventions_history
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_conventions_history
 GO bn_conventions_history
 ! bn_conventions_history.jnl
 ! ticket 2169:
@@ -77553,11 +78877,13 @@ can dat/all; use conventions_history
 ! The new attibutes
 sh att .
      attributes for dataset: ./conventions_history.nc
- ..history = The history of the fileFERRET V7.1 (beta/debug) 15-Feb-17 
+ ..history = The history of the fileFERRET V7.2 (beta/debug) 12-Jul-17 
  ..Conventions = Conventions for variables named V2CF-1.6 
  
-GO bn_reset
+GO bn_reset bn_center_key_labels
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_center_key_labels
 GO bn_center_key_labels
 ! bn_center_key_labels
 !  6/2014
@@ -77604,8 +78930,10 @@ can data coads_climatology
 shade temp
  
  
-GO bn_reset
+GO bn_reset bn_wgt_transform
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_wgt_transform
 GO bn_wgt_transform
 ! bn_wgt_transform.jnl  test new @WGT transform,
 ! returns weights used in the equiv. average or integral transform
@@ -77711,8 +79039,10 @@ list/y=1.5/x=130w/z=8:43.5/t=1-sep-1982 temp[z=@wgt]
  35    / 4:  10.00
  45    / 5:   3.50
  
-GO bn_reset
+GO bn_reset bn_show_outfile
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_show_outfile
 GO bn_show_outfile
 ! bn_show_outfile
 ! Adding tests for SHOW/OUTFILE=
@@ -78377,8 +79707,10 @@ f is ready and AVAILABLE
  
  
  
-GO bn_reset
+GO bn_reset bn_date1900_array
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_date1900_array
 GO bn_date1900_array
 ! bn_date1900_array.jnl
 ! Let date1900 accept an array of date strings, returning a list
@@ -78429,8 +79761,10 @@ list t[gt=taxis]
  30-JUL-2002 00 / 3:  37465.
  
  
-GO bn_reset
+GO bn_reset bn_spawn_size
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_spawn_size
 GO bn_spawn_size
 ! bn_spawn_size.jnl
 ! Added 9/9/2014
@@ -78509,8 +79843,10 @@ say `name_len, return=isize`
 sp rm bn_spawn_size*.dat bn_spawn_size*.cdf
  
  
-GO bn_reset
+GO bn_reset bn_polygon_log
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_polygon_log
 GO bn_polygon_log
 ! bn_polygon_log.jnl
 ! polygon plots on a log axis need tests
@@ -78548,8 +79884,10 @@ set mode/last ignore
  
 ! *********** v6.94Additions ***********
  
-GO bn_reset
+GO bn_reset bn694_bug_fixes
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn694_bug_fixes
 GO bn694_bug_fixes
 ! bn694_bug_fixes
 ! test various fixes that went into version 6.94
@@ -78559,6 +79897,7 @@ GO bn694_bug_fixes
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err693_upcase_quoted_name
 ! err693_upcase_quoted_name.jnl
 ! ticket 2050. Names are saved in uppercase
@@ -78583,6 +79922,7 @@ set mode/last upcase
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err693_isready_hang
 ! err693_isready_hang.jnl
 ! ACM 12/10/2014
@@ -78610,6 +79950,7 @@ IF `a,r=isready` THEN; let/title="`a,r=title`" a5 = a; ENDIF
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err693_isready_dyn_grid_crash   ! 12/23/2014
 let/unit="m" b = x[gx=1:5:1]
 say "`b,r=unit`"     ! this causes dynamic grid of b to be created
@@ -78625,6 +79966,7 @@ VTREE b2
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err693_attr_in_gcfcn
 ! err693_attr_in_gcfcn.jnl
 ! ACM 12/10/2014
@@ -78664,6 +80006,7 @@ list is_element_of_str (a, {"Kelvin", "Celsius", "DEG C"})
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err693_inconsistent_quote
 ! inconsistent interpretation of surrounding double quotes
 ! the original source of the problem is in PARSE_COMMAND
@@ -78685,6 +80028,7 @@ LIST "foobar"           ! error: lists the value instead
 ! IF-THEN flow tests
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err693_if_then_flow_2214
 ! bug 2214
 ! If we put the "say hi" in parentheses, this seems to work.
@@ -78716,6 +80060,7 @@ CORRECT
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err693_if_then_flow_2211
 ! bug #2211
  
@@ -78726,6 +80071,7 @@ ELSE
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err693_if_then_flow_1860
 ! from bug 1860
 ! continue line found within grave accents
@@ -78741,6 +80087,7 @@ CORRECT IF THIS DISPLAYS
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err693_if_then_flow_1446
 ! testing ticket 1446
  
@@ -78755,6 +80102,7 @@ ENDIF
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err693_if_then_flow_1681
 ! testing ticker 1681
  
@@ -78783,6 +80131,7 @@ endif
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err693_if_then_flow_1706
 ! testing ticket 1706
 !
@@ -78799,6 +80148,7 @@ ENDIF
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err693_if_then_flow_1368   ! Jan 28, 2010, Ferret version 5.812
 ! testing ticket 1368 - first found in Ferret v5.812 (Jan 28, 2010)
  
@@ -78831,6 +80181,7 @@ ENDIF
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err693_ribbon_start_missing
 ! err693_ribbon_start_missing
 ! 1/6/2015 ACM
@@ -78881,6 +80232,7 @@ let vvar = {,1.e7,,271,319}
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err691_pt_in_poly
 ! err691_pt_in_poly
 ! ticket 1961: modulo longitude for pt_in_poly
@@ -78929,6 +80281,7 @@ list minmax(pts)
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err693_undetected_regrid_dset
 ! err693_undetected_regrid_dset.jnl    - Jan 2015
  
@@ -78948,11 +80301,12 @@ set mode/last ignore
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err693_line_over_axis
 ! Ticket 2232: line plots overlaid the plot axes
 show mode meta
       MODE            STATE        ARGUMENT
-      METAFILE      CANCELLED      metafile.plt
+      METAFILE      CANCELED       metafile.plt
 ! line plot with /VS draw on top of the axes
 let xval = {0.0, 0.2, 1.0, 0.8, 0}
 let yval = {0.0, 1.1, 1.1, 0.0, 0}
@@ -78966,6 +80320,7 @@ plot/ribbon/vs/line/thick=3/over/nolab/pal=green_light xval, yval, yval
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err693_save_packed
 ! err693_save_packed.jnl
 ! ticket 2240: bug writing multiple vars with one SAVE when scaled
@@ -78977,6 +80332,7 @@ save/clobber/file=a.nc QA_OF_SEAICE_CONC_CDR, GODDARD_MERGED_SEAICE_CONC
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err693_subspan_trans
 ! err693_subspan_trans
 ! bug 2241  3/9/2015
@@ -78991,37 +80347,31 @@ let b = a[x=@min]
  
 set mode diag
 say `a[x=@min]`
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GSI1            COADSX51_1NORMAL    NORMAL    NORMAL
- eval    EX#1     C:  4 dset:   2 I:    0   83  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  4 dset:   2 I:      0     83  J: -999 -999  K: -999 -999  L:   -999   -999
  strip --> A[X=25E:25E(385)@MIN,D=2]
- strip modulo-void-filling A on X axis:     0    83 dset:   2
- strip moduloing A on X axis:     0    82 dset:   2
- reading A        M: 86 dset:   2 I:    1   82  J: -999 -999  K: -999 -999  L: -999 -999
- doing moduloing A on X axis:     1    82 dset:   2
- doing modulo-void-filling A on X axis:     0    82 dset:   2
+ strip modulo-void-filling A on X axis:        0       83 dset:   2
+ strip moduloing A on X axis:        0       82 dset:   2
+ reading A        M:246 dset:   2 I:      1     82  J: -999 -999  K: -999 -999  L:   -999   -999
+ doing moduloing A on X axis:        1       82 dset:   2
+ doing modulo-void-filling A on X axis:        0       82 dset:   2
  doing --> A[X=25E:25E(385)@MIN,D=2]
- -DELETE A        M: 62 dset:   2 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
+ -DELETE A        M:238 dset:   2 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
  !-> MESSAGE/CONTINUE 25.27740573883057
 25.27740573883057
  
 ! This previously resulted in an error.
 say `b`
  dealloc  dynamic grid GSI1            COADSX51_1NORMAL    NORMAL    NORMAL
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid B        C:  7 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid B        C:  7 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GSI1            COADSX51_1NORMAL    NORMAL    NORMAL
  allocate dynamic grid GSI1            COADSX51_1NORMAL    NORMAL    NORMAL
- eval    EX#1     C:  4 dset:   2 I:    0   83  J: -999 -999  K: -999 -999  L: -999 -999
- eval    B        C:  6 dset:   2 I:    0   83  J: -999 -999  K: -999 -999  L: -999 -999
- strip --> A[X=25E:25E(385)@MIN,D=2]
- strip modulo-void-filling A on X axis:     0    83 dset:   2
- strip moduloing A on X axis:     0    82 dset:   2
- reading A        M: 62 dset:   2 I:    1   82  J: -999 -999  K: -999 -999  L: -999 -999
- doing moduloing A on X axis:     1    82 dset:   2
- doing modulo-void-filling A on X axis:     0    82 dset:   2
- doing --> A[X=25E:25E(385)@MIN,D=2]
- -DELETE B        M: 44 dset:   2 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  4 dset:   2 I:      0     83  J: -999 -999  K: -999 -999  L:   -999   -999
+ eval    B        C:  6 dset:   2 I:      0     83  J: -999 -999  K: -999 -999  L:   -999   -999
+ found   A        M:241 dset:   2 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
+ -DELETE B        M:240 dset:   2 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
  !-> MESSAGE/CONTINUE 25.27740573883057
 25.27740573883057
  
@@ -79057,6 +80407,7 @@ bad
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err693_repeat_err
 !   err693_repeat_err.jnl
 ! test fix for ticket 2244: Error handling in REPEAT
@@ -79088,6 +80439,7 @@ set mode/last ignore
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err693_edit_useratt
 ! err693_edit_useratt.jnl
 ! ticket 2249: set attribute properties for user-defined variable
@@ -79143,6 +80495,7 @@ list/x=135.402W:135.321W/y=58.609 elev
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err693_redef_rec_axis
 ! err693_redef_rec_axis.jnl
 ! ticket 2271. Redefining the record axis meant
@@ -79177,6 +80530,7 @@ show data/full
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err693_frame_types
 ! bn_frame_types.jnl
 ! Ticket 2275
@@ -79201,6 +80555,7 @@ set mode/last ignore
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err693_shape
 ! err693_shape.jnl
 ! bug 2273 shape of variable with various subexpressions
@@ -79225,6 +80580,7 @@ say `sst,r=isize`  `a,r=isize` `a_anom,r=isize`
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err693_ef_axis_precision
  ! NOAA/PMEL TMAP
  ! FERRET v6.94
@@ -79256,6 +80612,7 @@ q
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err693_string_results
 ! err693_string_results.jnl
 ! Ticket 2234, the LIST B returned the numeric pointer to the string.
@@ -79277,6 +80634,7 @@ list d
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err693_lev_nv_over
 ! err693_lev_nv_over.jnl
 ! The polygon command with /LEV=20V caused a crash; levels settings incorrect.
@@ -79297,6 +80655,7 @@ GO polymark polygon/over/lev=20v/key/title="SST"  xpts,ypts,sst,square, 0.5
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err693_fcn_of_attvar
 ! err693_fcn_of_attvar.jnl
 ! Ticket 2291 Function of attribute-expression
@@ -79348,6 +80707,7 @@ list ysequence(dncase(sst.dimnames))
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err693_isize_and_gcfcn
 ! err693_isize_and_gcfcn.jnl
 ! ticket 2213
@@ -79359,7 +80719,7 @@ can mode verify
 8
     GRID XABSTRACT
  name       axis              # pts   start                end                 subset
- ABSTRACT  X             99999999 r   1                    1.E+08              7 pts
+ ABSTRACT  X             99999999 r   1                    1.E+08              8 pts
  normal    Y
  normal    Z
  normal    T
@@ -79405,6 +80765,7 @@ can mode verify
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err693_ribbon_scale
 ! err693_ribbon_scale.jnl
 ! ticket 2295: the vertical scale is mis-computed
@@ -79417,11 +80778,12 @@ plot/ribbon/key var,color
 ! should be -82 to -80
 sh sym yaxis*
 YAXIS_REVERSED = "0"
-YAXIS_MIN = "-82.0000000"
-YAXIS_MAX = "-80.0000000"
+YAXIS_MIN = "-72.9000000"
+YAXIS_MAX = "-89.1000000"
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err693_parse_curly
 ! err693_parse_curly.jnl
 ! the sub-routine defines a string variable containing commands for overlays in
@@ -79535,6 +80897,7 @@ define symbol overcommands = `p1s_ov`
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err693_list_missing
 ! err693_list_missing.jnl
  
@@ -79556,6 +80919,7 @@ list a,b
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err693_shf_subscr
 ! err693_shf_subscr.jnl
 ! ticket 2231  Subscripts used to compute @SHF-1 at the low end of the axis
@@ -79598,6 +80962,7 @@ list/k=3:4 zdiff_t
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err693_shift_w_region
 ! err693_shift_w_region
 ! Ticket 2300.  In fact with bounds checking on, the list a[i=@shf] would have
@@ -79631,6 +80996,7 @@ list a[i=@shf]
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err693_scalar_grids
 ! err693_scalar_grids.jnl
 ! See ticket 1602
@@ -79699,8 +81065,10 @@ list b[x=@ave,k=@ave]
  
  
  
-GO bn_reset
+GO bn_reset bn_permute_ascii
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_permute_ascii
 GO bn_permute_ascii
 ! bn_permute_ascii.jnl
 ! test permutations when reading ascii data, in E and F directions
@@ -80008,8 +81376,10 @@ list tm
  4   / 4: -28.54  -8.39
  
  
-GO bn_reset
+GO bn_reset bn_lon_lat_time_string
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_lon_lat_time_string
 GO bn_lon_lat_time_string
 ! bn_lon_lat_time_string.jnl
 ! Test function written for LAS, to create profile labels from
@@ -80043,8 +81413,10 @@ list lon_lat_time_string(lon, lat, time, tt, "my_string")
  3   / 3:"my_string_340.5E_15.03S_04-JAN-2001"
  
  
-GO bn_reset
+GO bn_reset bn_save_justdim
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_save_justdim
 GO bn_save_justdim
 ! bn_save_justdim.jnl
 ! When a dataset has axes that are dimensions but not 1-D coordinate variables,
@@ -80076,8 +81448,10 @@ sp ncdump a.nc >> all_ncdump.out
  
 SET MODE/LAST upcase_output
  
-GO bn_reset
+GO bn_reset bn_time2d
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_time2d
 GO bn_time2d
 ! bn_time2d.jnl
 ! 1/30/2015 ACM
@@ -80111,8 +81485,10 @@ set att/like=time time2d
 shade time2d
 shade/trans time2d
  
-GO bn_reset
+GO bn_reset bn_legend_labels
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_legend_labels
 GO bn_legend_labels
 ! bn_legend_labels.jnl
 ! The legend labels on a multi-line plot describe the
@@ -80141,8 +81517,10 @@ LAB7 = "January"
 LAB9 = "March"
 LAB8 = "February"
  
-GO bn_reset
+GO bn_reset bn_DQ
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_DQ
 GO bn_DQ
 ! bn_DQ.jnl  *sh* 2/2015
 ! test the use of _DQ_ and _SQ_ in lieu of " and '
@@ -80374,16 +81752,19 @@ say ($a)
 foobar
  
 ! ======
+! Note this result changes 6/30/2017, due to change in merge_grid for ticket
+! 2313, in grid-merging the grid of a constant is now a normal grid. Previously
+! it was the abstract grid.
 DEFINE SYMBOL a    "(`foobar,return=xaxis`)"
- !-> DEFINE SYMBOL a    "(ABSTRACT)"
+ !-> DEFINE SYMBOL a    "(NORMAL)"
 say ($a)
- !-> MESSAGE/CONTINUE (ABSTRACT)
-(ABSTRACT)
+ !-> MESSAGE/CONTINUE (NORMAL)
+(NORMAL)
 DEFINE SYMBOL a _DQ_(`foobar,return=xaxis`)_DQ_
- !-> DEFINE SYMBOL a _DQ_(ABSTRACT)_DQ_
+ !-> DEFINE SYMBOL a _DQ_(NORMAL)_DQ_
 say ($a)
- !-> MESSAGE/CONTINUE (ABSTRACT)
-(ABSTRACT)
+ !-> MESSAGE/CONTINUE (NORMAL)
+(NORMAL)
  
 ! ======
 GO bn_DQ.sub _DQ_+-/_SQ_\!foo"bar;_SQ_"_DQ_    "_DQ_+-/_SQ_\!foobar;_SQ_"
@@ -80642,14 +82023,17 @@ plot/vlim=-2:2/hlim=_DQ_1-jan-1980_DQ_:_DQ_15-feb-1980:12:00_DQ_ \
  
 ! *********** v6.95Additions ***********
  
-GO bn_reset
+GO bn_reset bn695_bug_fixes
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn695_bug_fixes
 GO bn695_bug_fixes
 ! bn695_bug_fixes
 ! test various fixes that went into version 6.95
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err694_shf_missing
 ! err694_shf_missing.jnl
 ! Test the fix for ticket 2314
@@ -80703,6 +82087,7 @@ list/x=10:30/y=-60/l=1  sst[i=@shf:3]
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err694_longname_showdat
 ! err694_longname_showdat.jnl
 ! ticket 2317
@@ -80751,6 +82136,7 @@ sp rm WestCoastCarbon_9d9c_f562_77b5_5.nc
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err693_std4d
 ! err693_std4d
 ! Check fix to ticket 2319: std transform in multi-dimensions
@@ -80797,8 +82183,10 @@ list astd^2, avar, avar_calc, astd_e_f^2
 I / *:     5.778  5.778   5.778  0.4444
  
  
-GO bn_reset
+GO bn_reset bn_f_tax_fcns
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_f_tax_fcns
 GO bn_f_tax_fcns
 ! bn_f_from_tax_fcns.jnl
 ! test tax_* functions returning results from a
@@ -81066,8 +82454,10 @@ LIST/N=1:15 TAX_TSTEP(ff, "`reset_date`")
  01-JAN-1902 00:01:05 / 14:  65.00000
  01-JAN-1902 00:01:10 / 15:  70.00000
  
-GO bn_reset
+GO bn_reset bn_fmrc
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_fmrc
 GO bn_fmrc
 ! bn_fmrc.jnl
 ! initial test of DEFINE DATA/F
@@ -81082,7 +82472,7 @@ use "run4.nc"
 define data/hide/F/agg fourfiles = 1,2,3,4
  
 sh grid sst
-    GRID (G091)
+    GRID (G093)
  name       axis              # pts   start                end                 subset
  LON1      LONGITUDE           10mr   109W                 91W                 full
  LAT       LATITUDE             9 r   13N                  29N                 full
@@ -81131,8 +82521,10 @@ list/L=1:6/n=1:4 `sst._ftime2d`
  07-JAN-2010 12 / 4:   7.00000   8.00000   9.00000  10.00000  11.00000  12.00000
  
  
-GO bn_reset
+GO bn_reset bn_return_defined
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_return_defined
 GO bn_return_defined
 ! bn_return_defined.jnl
 ! 5/3/2015 *acm*
@@ -81156,8 +82548,10 @@ say `temp,return=defined`
  !-> MESSAGE/CONTINUE 0
 0
  
-GO bn_reset
+GO bn_reset bn_can_var_noerr
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_can_var_noerr
 GO bn_can_var_noerr
 ! bn_can_var_noerr.jnl
 ! CANCEL VARIABLE/NOERROR
@@ -81205,8 +82599,10 @@ cancel var/noerror/all
 show var
  Created by DEFINE VARIABLE:
  
-GO bn_reset
+GO bn_reset bn_annotate
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_annotate
 GO bn_annotate
 ! bn_annotate.jnl
 ! The command ANNOTATE /USER/NORM/NOUSER/XPOS/YPOS/HALIGN/VALIGN/ANGLE/SIZE
@@ -81484,8 +82880,10 @@ shad/set/i=1:2/j=1:2 i+j; def anno/nou/ypos=0 "My Lab"; ppl plot
 shad/set/i=1:2/j=1:2 i+j; def anno/nou/xpos=0/hal=1/val=0 "My Lab"; ppl plot
 shad/set/i=1:2/j=1:2 i+j; def anno/nou/user/xpos=0/ypos=0 "My Lab"; ppl plot
  
-GO bn_reset
+GO bn_reset bn_auxiliary
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_auxiliary
 GO bn_auxiliary
 ! bn_auxiliary.jnl:  exercise auxiliary coordinate regridding
  
@@ -81649,7 +83047,7 @@ SHOW GRID
  name       axis              # pts   start                end                 subset
  XAXLEVITR101_102 LONGITUDE     2mr   120.5E               121.5E              full
  YAXLEVITR41_42 LATITUDE        2 r   49.5S                48.5S               full
- ZAXLEVITR DEPTH (m)           20 i-  0                    5000                10 pts
+ ZAXLEVITR DEPTH (m)           20 i-  0                    5000                11 pts
  normal    T
  
 ! use aux var regridding.  Target coordinate points match the source points
@@ -81661,11 +83059,11 @@ SET MODE diagnostic
 LET tempz = temp[gz(depth)=zpts]
 LIST/PREC=7 tempz
  dealloc  dynamic grid GAO1            XAXLEVITR1YAXLEVITR4ZAXLEVITR NORMAL
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid TEMPZ    C:  7 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid DEPTH    C:  9 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid TEMPZ    C:  7 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid DEPTH    C:  9 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GAO1            XAXLEVITR1YAXLEVITR4ZAXLEVITR NORMAL
- getgrid ZPTS     C:  9 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid ZPTS     C:  9 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G096)          NORMAL    NORMAL    (AX113)   NORMAL
  dealloc  dynamic grid (G096)          NORMAL    NORMAL    (AX113)   NORMAL
  allocate dynamic grid (G096)          NORMAL    NORMAL    (AX113)   NORMAL
@@ -81673,19 +83071,19 @@ LIST/PREC=7 tempz
  dealloc  dynamic grid (G088)          XAXLEVITR1YAXLEVITR4(AX113)   NORMAL
  allocate dynamic grid (G088)          XAXLEVITR1YAXLEVITR4(AX113)   NORMAL
  allocate dynamic grid (G088)          XAXLEVITR1YAXLEVITR4(AX113)   NORMAL
- eval    EX#1     C:  4 dset:   1 I:    1    2  J:    1    2  K:    1    5  L: -999 -999
- eval    TEMPZ    C:  6 dset:   1 I:    1    2  J:    1    2  K:    1    5  L: -999 -999
+ eval    EX#1     C:  4 dset:   1 I:      1      2  J:    1    2  K:    1    5  L:   -999   -999
+ eval    TEMPZ    C:  6 dset:   1 I:      1      2  J:    1    2  K:    1    5  L:   -999   -999
  allocate dynamic grid (G088)          XAXLEVITR1YAXLEVITR4(AX113)   NORMAL
  strip regrid on Z: TEMP --> (G088)           @LIN
- eval    DEPTH    C:  9 dset:   1 I:    1    2  J:    1    2  K:    1   20  L: -999 -999
- pseudo  Z        M: 86 dset:   1 I: -999 -999  J: -999 -999  K:    1   20  L: -999 -999
- constan cnst     M: 82 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- reading TEMP     M: 80 dset:   1 I:    1    2  J:    1    2  K:    1    1  L: -999 -999
- -DELETE cnst     M: 82 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- -DELETE tpry     M: 72 dset:   0 I:    1    2  J:    1    2  K:    1    1  L: -999 -999  M: -999 -999  N: -999 -999
- -DELETE Z        M: 86 dset:   1 I: -999 -999  J: -999 -999  K:    1   20  L: -999 -999
- reading TEMP     M: 86 dset:   1 I:    1    2  J:    1    2  K:    7   12  L: -999 -999
- auxgrd  TEMP     M: 72 dset:   1 I:    1    2  J:    1    2  K:    1    5  L: -999 -999
+ eval    DEPTH    C:  9 dset:   1 I:      1      2  J:    1    2  K:    1   20  L:   -999   -999
+ pseudo  Z        M:246 dset:   1 I:   -999   -999  J: -999 -999  K:    1   20  L:   -999   -999
+ constan cnst     M:244 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
+ found   TEMP     M:248 dset:   1 I:      1      2  J:    1    2  K:    1   11  L:   -999   -999
+ -DELETE cnst     M:244 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
+ -DELETE tpry     M:243 dset:   0 I:      1      2  J:    1    2  K:    1    1  L:   -999   -999  M: -999 -999  N: -999 -999
+ -DELETE Z        M:246 dset:   1 I:   -999   -999  J: -999 -999  K:    1   20  L:   -999   -999
+ reading TEMP     M:246 dset:   1 I:      1      2  J:    1    2  K:    7   12  L:   -999   -999
+ auxgrd  TEMP     M:243 dset:   1 I:      1      2  J:    1    2  K:    1    5  L:   -999   -999
  dealloc  dynamic grid (G088)          XAXLEVITR1YAXLEVITR4(AX113)   NORMAL
              VARIABLE : TEMP[GZ(DEPTH)=ZPTS]
              FILENAME : levitus_3d_subset.nc
@@ -81709,7 +83107,7 @@ LIST/PREC=7 tempz
  49.5S / 1:  4.879000  5.102500
 SHOW GRID tempz
  dealloc  dynamic grid (G088)          XAXLEVITR1YAXLEVITR4(AX113)   NORMAL
- getgrid EX#1     C:  7 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  7 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G088)          XAXLEVITR1YAXLEVITR4(AX113)   NORMAL
     GRID (G088)
  name       axis              # pts   start                end                 subset
@@ -81793,11 +83191,11 @@ LIST/PREC=7 tempz_alt
  48.5S / 2:  7.726000  7.917999
  49.5S / 1:  6.843000  7.021999
 SHOW GRID tempz_alt
-    GRID (G098)
+    GRID (G109)
  name       axis              # pts   start                end                 subset
  XAXLEVITR101_102 LONGITUDE     2mr   120.5E               121.5E              full
  YAXLEVITR41_42 LATITUDE        2 r   49.5S                48.5S               full
- (AX122)   Z                    5 r   2                    10                  4 pts
+ (AX122)   Z                    5 r   2                    10                  5 pts
  normal    T
  
 !! do same regrid using the shorhand semi-automated notation
@@ -81818,7 +83216,7 @@ LIST/PREC=7 tempz_1pt
  48.5S / 2:  7.725600  7.917999
  49.5S / 1:  6.836600  7.016000
 SHOW GRID/z tempz_1pt
-    GRID (G091)
+    GRID (G093)
  name       axis              # pts   start                end                 subset
  XAXLEVITR101_102 LONGITUDE     2mr   120.5E               121.5E              full
  YAXLEVITR41_42 LATITUDE        2 r   49.5S                48.5S               full
@@ -85255,8 +86653,10 @@ CANC MODE VERIFY
               1         2         3         4         5
           20.75000  24.00000  20.75000      ....  20.75000
  
-GO bn_reset
+GO bn_reset bn_plot_ribbon_gaploc
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_plot_ribbon_gaploc
 GO bn_plot_ribbon_gaploc
 ! bn_plot_ribbon_gaploc.jnl
 ! 7/20/2015 *acm*  new PLOT/VS/RIBBON/GAPLOC
@@ -85297,8 +86697,10 @@ plot/vs/thick/line/sym=21/siz=0.3/gap xpts, 10*ypts, 10.1*ypts, 9.93*ypts, gvar
 plot/ov/nolab/vs/thick/line/sym=21/siz=.3/gapl xpts, color, gvar
 set mode/last ignore
  
-GO bn_reset
+GO bn_reset bn_time_short_axes
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_time_short_axes
 GO bn_time_short_axes
 ! bn_time_short_axes.jnl
 ! testing time axis style with HH:MM on the time axis labels.
@@ -85328,8 +86730,10 @@ shade/trans/t="21-aug-2015:00:00":"21-aug-2015:04:30" var2d
 fill/trans/t="21-aug-2015:01:15":"21-aug-2015:03:30" var2d
 shade/trans/t="21-aug-2015:01:15":"21-aug-2015:12:00" var2d
  
-GO bn_reset
+GO bn_reset bn_floatstr_extended
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_floatstr_extended
 GO bn_floatstr_extended
 ! bn_floatstr_extended.jnl
 ! test use of Integer and zero-filled formats in FLOATSTR function (Ferret v6.95)
@@ -85566,14 +86970,17 @@ LIST/X=165W/L=1 var1[j=1:40:2], var2[j=1:40:2]
  
 ! *********** v6.96 Additions ***********
  
-GO bn_reset
+GO bn_reset bn696_bug_fixes
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn696_bug_fixes
 GO bn696_bug_fixes
 ! bn696_bug_fixes
 ! test various fixes that went into version 6.96
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err695_bounds_match_axis
 ! err695_bounds_match_axis.jnl
 ! ticket 2321.
@@ -85602,6 +87009,7 @@ sh grid/l=1:4444 temp
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err695_show_dat_nodata
 ! err695_show_dat_nodata.jnl
 ! ticket 2322
@@ -85634,16 +87042,17 @@ SET MODE/LAST ignore
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err695_grave_prec
 ! err695_grave_prec
 ! Bug 2323. Large numbers had incorrect results on grave-accent
 ! evaluations, returning only 8 digits of precision
  
 list/nohead/p=16 1234567890123456, `1234567890123456`
- !-> list/nohead/p=16 1234567890123456,   1234567890123456.
+ !-> list/nohead/p=16 1234567890123456, 1234567890123456.
 I / *:     1234567890123456.  1234567890123456.
 list/nohead/p=16 -1234567890123.456, `-1234567890123.456`
- !-> list/nohead/p=16 -1234567890123.456,  -1234567890123.456
+ !-> list/nohead/p=16 -1234567890123.456, -1234567890123.456
 I / *:    -1234567890123.456 -1234567890123.456
  
 ! this was ok
@@ -85653,10 +87062,10 @@ I / *:     1.234567890123456  1.123456789012346
  
 ! check output when asking for lower precision
 list/nohead/p=9 1234567890123456, `1234567890123456`
- !-> list/nohead/p=9 1234567890123456,   1234567890123456.
+ !-> list/nohead/p=9 1234567890123456, 1234567890123456.
 I / *:     1.23456789E+15  1.23456789E+15
 list/nohead/p=6 1234567890123456, `1234567890123456`
- !-> list/nohead/p=6 1234567890123456,   1234567890123456.
+ !-> list/nohead/p=6 1234567890123456, 1234567890123456.
 I / *:     1.23457E+15  1.23457E+15
  
 let var = 1.23456e+34
@@ -85668,8 +87077,10 @@ say `var,prec=4`
  !-> MESSAGE/CONTINUE 1.235E+34
 1.235E+34
  
-GO bn_reset
+GO bn_reset bn_bin_regrid
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_bin_regrid
 GO bn_bin_regrid
 ! bin regridding tests
  
@@ -85726,9 +87137,8 @@ LIST dest, var[G$1=dcoarse at ave], var[G$1=dcoarse at BIN], var[G$1=dcoarse at NBIN]
  
 LIST dest, var[G$1=dcoarse]
  !-> LIST dest, var[GX=dcoarse]
-             X: 0.5 to 5.5
- Column  1: DEST is _X[GX=DCOARSE]
- Column  2: VAR[G=1 delta on X] is RESHAPE(SBIN, _X[GX=IRR]) (regrid: 1 delta on X)
+ Column  1: DEST[X=0.5:5.5] is _X[GX=DCOARSE]
+ Column  2: VAR[G=1 delta on X,X=1.5:5.5] is RESHAPE(SBIN, _X[GX=IRR]) (regrid: 1 delta on X)
              DEST     VAR
 1   / 1:  1.000000      ....
 2   / 2:  2.000000      ....
@@ -85789,9 +87199,8 @@ LIST dest, var[G$1=dcoarse at ave], var[G$1=dcoarse at BIN], var[G$1=dcoarse at NBIN]
  
 LIST dest, var[G$1=dcoarse]
  !-> LIST dest, var[GY=dcoarse]
-             Y: 0.5 to 5.5
- Column  1: DEST is _Y[GY=DCOARSE]
- Column  2: VAR[G=1 delta on Y] is RESHAPE(SBIN, _Y[GY=IRR]) (regrid: 1 delta on Y)
+ Column  1: DEST[Y=0.5:5.5] is _Y[GY=DCOARSE]
+ Column  2: VAR[G=1 delta on Y,Y=1.5:5.5] is RESHAPE(SBIN, _Y[GY=IRR]) (regrid: 1 delta on Y)
              DEST     VAR
 1   / 1:  1.000000      ....
 2   / 2:  2.000000      ....
@@ -85852,9 +87261,8 @@ LIST dest, var[G$1=dcoarse at ave], var[G$1=dcoarse at BIN], var[G$1=dcoarse at NBIN]
  
 LIST dest, var[G$1=dcoarse]
  !-> LIST dest, var[GZ=dcoarse]
-             Z: 0.5 to 5.5
- Column  1: DEST is _Z[GZ=DCOARSE]
- Column  2: VAR[G=1 delta on Z] is RESHAPE(SBIN, _Z[GZ=IRR]) (regrid: 1 delta on Z)
+ Column  1: DEST[Z=0.5:5.5] is _Z[GZ=DCOARSE]
+ Column  2: VAR[G=1 delta on Z,Z=1.5:5.5] is RESHAPE(SBIN, _Z[GZ=IRR]) (regrid: 1 delta on Z)
              DEST     VAR
 1   / 1:  1.000000      ....
 2   / 2:  2.000000      ....
@@ -85915,9 +87323,8 @@ LIST dest, var[G$1=dcoarse at ave], var[G$1=dcoarse at BIN], var[G$1=dcoarse at NBIN]
  
 LIST dest, var[G$1=dcoarse]
  !-> LIST dest, var[GT=dcoarse]
-             T: 0.5 to 5.5
- Column  1: DEST is _T[GT=DCOARSE]
- Column  2: VAR[G=1 delta on T] is RESHAPE(SBIN, _T[GT=IRR]) (regrid: 1 delta on T)
+ Column  1: DEST[T=0.5:5.5] is _T[GT=DCOARSE]
+ Column  2: VAR[G=1 delta on T,T=1.5:5.5] is RESHAPE(SBIN, _T[GT=IRR]) (regrid: 1 delta on T)
              DEST     VAR
 1   / 1:  1.000000      ....
 2   / 2:  2.000000      ....
@@ -85978,9 +87385,8 @@ LIST dest, var[G$1=dcoarse at ave], var[G$1=dcoarse at BIN], var[G$1=dcoarse at NBIN]
  
 LIST dest, var[G$1=dcoarse]
  !-> LIST dest, var[GE=dcoarse]
-             E: 0.5 to 5.5
- Column  1: DEST is _E[GE=DCOARSE]
- Column  2: VAR[G=1 delta on E] is RESHAPE(SBIN, _E[GE=IRR]) (regrid: 1 delta on E)
+ Column  1: DEST[E=0.5:5.5] is _E[GE=DCOARSE]
+ Column  2: VAR[G=1 delta on E,E=1.5:5.5] is RESHAPE(SBIN, _E[GE=IRR]) (regrid: 1 delta on E)
              DEST     VAR
 1   / 1:  1.000000      ....
 2   / 2:  2.000000      ....
@@ -86041,9 +87447,8 @@ LIST dest, var[G$1=dcoarse at ave], var[G$1=dcoarse at BIN], var[G$1=dcoarse at NBIN]
  
 LIST dest, var[G$1=dcoarse]
  !-> LIST dest, var[GF=dcoarse]
-             F: 0.5 to 5.5
- Column  1: DEST is _F[GF=DCOARSE]
- Column  2: VAR[G=1 delta on F] is RESHAPE(SBIN, _F[GF=IRR]) (regrid: 1 delta on F)
+ Column  1: DEST[F=0.5:5.5] is _F[GF=DCOARSE]
+ Column  2: VAR[G=1 delta on F,F=1.5:5.5] is RESHAPE(SBIN, _F[GF=IRR]) (regrid: 1 delta on F)
              DEST     VAR
 1   / 1:  1.000000      ....
 2   / 2:  2.000000      ....
@@ -86055,14 +87460,17 @@ LIST dest, var[G$1=dcoarse]
 ! *********** v6.97 Additions ***********
 !            (released as V7.0)
  
-GO bn_reset
+GO bn_reset bn697_bug_fixes
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn697_bug_fixes
 GO bn697_bug_fixes
 ! bn697_bug_fixes
 ! test various fixes that went into version 6.97
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err696_only_inf_lev
 ! Bug 2326: levels with only a value and (inf) or (-inf)
 ! should show values less-equal or greater-equal to that level.
@@ -86090,6 +87498,7 @@ set view ur; shade/key=horiz/lev=(-inf)(22)(inf) sst
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err696_plot_ax_ppl
 ! err696_plot_ax_ppl.jnl
 ! ticket 2327
@@ -86173,6 +87582,7 @@ plot/i=1:199 i*cos(i/10)
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err696_ft_calendars
 ! err696_ft_calendars.jnl
 ! see ticket 2332: check for matching calendars when
@@ -86199,6 +87609,7 @@ can data/all
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err696_centerlab_restore
 ! err696_centerlab_restore
 ! Ticket 2331.
@@ -86259,6 +87670,7 @@ polygon/trans/i=1:20/nolab/key=horiz  xpts+xsqr, ypts+ysqr, x*x/10
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err696_time_overlay
 ! err696_time_overlay
 ! bug 2334, first plot/over takes too long and the line is incorrect.
@@ -86266,23 +87678,24 @@ GO err696_time_overlay
 def ax/t="1-jan-0001":"1-jan-0009":1/unit="year"/t0="1-jan-0001"/cal=noleap tax_nlp
 def ax/t="1-jan-0001":"1-jan-0009":1/unit="year"/t0="1-jan-0001"/cal=julian tax_jul
 sp date
-Wed Feb 15 11:29:14 PST 2017
+Wed Jul 12 09:54:47 PDT 2017
 set view upper
 plot t[gt=tax_nlp]
 plot/ov/vs/line/dash {1,1}, 1e6*{-1,1}
 sp date
-Wed Feb 15 11:29:14 PST 2017
+Wed Jul 12 09:54:47 PDT 2017
  
 sp date
-Wed Feb 15 11:29:14 PST 2017
+Wed Jul 12 09:54:47 PDT 2017
 set view lower
 plot t[gt=tax_jul]
 plot/ov/vs/line/dash {2,2}, 1e6*{-1,1}
 sp date
-Wed Feb 15 11:29:14 PST 2017
+Wed Jul 12 09:54:47 PDT 2017
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err696_save_noupcase
 ! err696_save_noupcase
 ! Ticket 2336: When UPCASE canceled an extra upcase axis
@@ -86335,7 +87748,7 @@ variables:
 		var:long_name = "0*TT + X[GX=XAX]" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 15-Feb-17" ;
+		:history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
 		:Conventions = "CF-1.6" ;
 }
  
@@ -86343,6 +87756,7 @@ set mode/last upcase
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err696_argument_blanks
 ! err696_argument_blanks.jnl
 ! Ticket 2343: quoted argument with a blank at the end.
@@ -86379,6 +87793,7 @@ Hi Hi there my friend
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err696_annotate_numeric
 ! err696_annotate_numeric
 ! 1/7/2016
@@ -86411,6 +87826,7 @@ annotate/nouser/xpos=1/ypos=0.5 1,2,3,4,5
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err696_e_component_mem_crptn
 ! canceling of an E aggregation dataset is leaving
 ! corrupted variables in memory as seen by the variable names "%%"
@@ -86441,28 +87857,37 @@ list/i=3 sst[T=@ave]
  4   / 4:  114.0514  113.7646  111.5685  109.8262  106.9033  102.2446      ....      ....      ....
  
 show mem/all
- Current size of FERRET memory cache: 25.6 MegaWords  (1 word = 8 bytes)
+    SET MEMORY/SIZE: 25.6 megawords
+    Peak demand: 540 words
+    Current cache: 504 words
 all data in memory:
- SST[D=fourfiles]                  YE    mr:188  blk1:1  nblk:1
-    3  /106W           1  /12N          ...  / ...         ...  /01-JAN 00:45   1  /0.5          ...  / ...
-    3  /104W           9  /30N          ...  / ...         ...  /31-DEC 06:34   4  /4.5          ...  / ...
+ SST[D=fourfiles]                  YE    mr:242 size:72
+         3/106W                1/12N              ... / ...             ... /01-JAN 00:45        1/0.5              ... / ...
+         3/104W                9/30N              ... / ...             ... /31-DEC 06:34        4/4.5              ... / ...
                                                               AVE
- SST[D=fourfiles]                  YTE   mr:187  blk1:2  nblk:1
-    3  /106W           1  /12N          ...  / ...           1  /01-JAN 00:45   1  /0.5          ...  / ...
-    3  /104W           9  /30N          ...  / ...          12  /31-DEC 06:34   4  /4.5          ...  / ...
+ SST[D=fourfiles]                  YTE   mr:194 size:432
+         3/106W                1/12N              ... / ...                1/01-JAN 00:45        1/0.5              ... / ...
+         3/104W                9/30N              ... / ...               12/31-DEC 06:34        4/4.5              ... / ...
  
 cancel data fourfiles
 show mem/all
- Current size of FERRET memory cache: 25.6 MegaWords  (1 word = 8 bytes)
+    SET MEMORY/SIZE: 25.6 megawords
+    Peak demand: 540 words
+    Current cache: 0 words
 all data in memory:
  
 exit
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err696_mem_err_report
 ! err696_mem_err_report.jnl
 ! 1/21/2016 *acm*
+! V702: *sh* 2/17 - This script depends upon the specific formatting
+! of the error string, when memory is exceeded
+! Tweaked it to match the new formatting
+ 
 ! Ticket 2354: The error message shows the wrong number for memory needed.
 !
 ! Try to load some data larger than the default amount of memory
@@ -86479,7 +87904,7 @@ define axis/t=1-jan-2000:1-jan-2005:1/units=days  longtime
  
 let bigvar = x[gx=xaxis]+y[gy=yaxis] + z[gz=zaxis] + t[gt=longtime]
 sh grid bigvar
-    GRID (G094)
+    GRID (G091)
  name       axis              # pts   start                end                 subset
  XAXIS     X                  360 r   1                    360                 full
  YAXIS     Y                  180 r   1                    180                 full
@@ -86489,25 +87914,24 @@ sh grid bigvar
  
 set mode ignore
 load/l=1:5 bigvar
+    To fulfill this request would exceed the current SET MEMORY/SIZE= limit of 2 megawords
+    At the moment that the memory limit was reached
+    memory was committed as follows:
+        - to objects used in computation: : 1296005 (65%)
+    The size of the requested object was: : 6480000 (324%)
  
 ! Previously the number Mwords shown was too low
 show sym fer_last_error
-FER_LAST_ERROR = "**ERROR: request exceeds memory setting: 13 Mwords were requested. "
+FER_LAST_ERROR = "**ERROR: request exceeds memory setting"
 cancel mode ignore
  
-! Get the number Ferret says it needs
-let ms1 = `strrindex("($fer_last_error)", ":")`
- !-> DEFINE VARIABLE ms1 = 40
-let ms2 = `strindex("($fer_last_error)", "Mword")`
- !-> DEFINE VARIABLE ms2 = 45
-let siz = substring("($fer_last_error)", `ms1+1`, `ms2-ms1-1`)
- !-> DEFINE VARIABLE siz = substring("**ERROR: request exceeds memory setting: 13 Mwords were requested. ", 41, 4)
- 
-! Increase memory accordingly
+! V702:  we no longer have to parse the error string.
+! Instead look at PEAK_MEMORY
  
-set mem/siz=`siz`
- !-> set mem/siz= 13
+SET MEMORY/SIZE=15
 load/l=1:5 bigvar
+SHOW SYMBOL ($PEAK_MEMORY)
+ !-> SHOW SYMBOL 7776005
  
 ! restore default
 set mem/siz=`memsize`
@@ -86516,6 +87940,7 @@ set mem/siz=`memsize`
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err696_multiple_slashes
 ! err696_multiple_slashes.jnl
 ! 1/25/2016 *acm*
@@ -86560,9 +87985,9 @@ fill/($regqual)($plotqual) sst
  !-> CONTOUR/FILL//x=300:360///y=-20:20/L=3/pal=grayscale/line//key=cont sst
  
 ! command lines with urls unchanged
-IF `test_opendap("http://ferret.pmel.noaa.gov/thredds/dodsC/data/PMEL/COADS/coads_sst.cdf") EQ 0` THEN
+IF `test_opendap("http://ferret.pmel.noaa.gov/pmel/thredds/dodsC/data/PMEL/COADS/coads_sst.cdf") EQ 0` THEN
  !-> IF 1 THEN
-   set data///format=cdf http://ferret.pmel.noaa.gov/thredds/dodsC/data/PMEL/COADS/coads_sst.cdf
+   set data///format=cdf http://ferret.pmel.noaa.gov/pmel/thredds/dodsC/data/PMEL/COADS/coads_sst.cdf
    let//d=coads_sst myvar = 1
    sh dat
      currently SET data sets:
@@ -86570,7 +87995,7 @@ IF `test_opendap("http://ferret.pmel.noaa.gov/thredds/dodsC/data/PMEL/COADS/coad
  name     title                             I         J         K         L
  SST      SEA SURFACE TEMPERATURE          1:180     1:90      ...       1:3
  
-    2> http://ferret.pmel.noaa.gov/thredds/dodsC/data/PMEL/COADS/coads_sst.cdf  (default)
+    2> http://ferret.pmel.noaa.gov/pmel/thredds/dodsC/data/PMEL/COADS/coads_sst.cdf  (default)
  name     title                             I         J         K         L
  SST      Sea Surface Temperature          1:180     1:90      ...       1:1680
  ------------------------------
@@ -86654,6 +88079,7 @@ repeat/l=1:2 (set reg/x=1:4//)
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err696_2d_time_overlay
 ! err696_2d_time_overlay.jnl
 ! ticket 2360: 2-D time overlay plots have never worked.
@@ -86703,6 +88129,7 @@ shade/ov/pal=grayscale/lev f2
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err696_singlevec_over
 ! err696_singlevec_over.jnl
 ! Ticket 2365: overlay a single vector. If
@@ -86746,6 +88173,7 @@ PPL_VECLEN = "  27.2"
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err696_return_type
 ! err696_return_type
 ! See ticket #2367
@@ -86799,6 +88227,7 @@ list allcat
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err696_hovmuller_mod_fill
 ! err696_hovmuller_mod_fill.jnl
 ! 3/7/2016 ACM
@@ -86814,6 +88243,7 @@ fill/lin/t=1-jan-0000:31-dec-0001/hlim=1-jan-0000:1-jan-0001/x=180/lev=8 sst
  
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go err696_repeat_escapes.jnl
 ! err696_repeat_escapes.jnl
 ! Ticket 2376 - parsing error with escaped grave-accent syntax
@@ -86861,6 +88291,7 @@ repeat/k=1:3 (rep/i=1:2 (sp echo \``a`\`))
  
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go err696_red_keylab.jnl
 ! err696_red_keylab.jnl
 ! Ticket 2375: outline and labels of color key were
@@ -86875,6 +88306,7 @@ fill/over/nolab/key/lev=v,2min temp
  
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go err696_poly_over_label
 ! err696_poly_over_label
 ! Tiket 2396: incorrect label in the lower
@@ -86942,6 +88374,7 @@ ppl list labels  ! shows cvar for lab2
  
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go err696_def_ax_f
 ! err696_def_ax_f.jnl
 ! See ticket 2380
@@ -86989,6 +88422,7 @@ list _t[gt=aax]
  
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go err696_mode_cal_f
 ! err696_mode_cal_f.jnl
 ! ticket 2399 MODE CALENDAR and F calendar axes
@@ -87052,6 +88486,7 @@ LAB1 = "F (DAY) : 1.5"
  
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go err696_def_ax_edges
 ! err696_def_ax_edges
 ! See ticket 2400
@@ -87169,6 +88604,7 @@ def ax/edge/x xax = edges[i=1:4]; sh axis xax; list x[gx=xax]
  
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go err696_write_no_dim
 ! err696_write_no_dim.jnl
 ! ticket 2241: save a subset of a variable whose grid
@@ -87214,7 +88650,7 @@ variables:
 		TEMP:history = "From /home/data/socat/socatV3/11SS/11SS20140225.nc" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 15-Feb-17" ;
+		:history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
 		:Conventions = "CF-1.6" ;
 data:
 
@@ -87224,6 +88660,7 @@ data:
  
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go err696_mod_sub_fln
 ! err696_mod_sub_fln.jnl
 ! Ticket 2366, @FLN on a modulo subspan axis
@@ -87292,6 +88729,7 @@ list/x=-180:720 b, b[x=@fln]
  
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go err696_subspan_transforms
 ! err696_subspan_transforms.jnl
 ! See ticket 2364.  Results previously
@@ -88091,6 +89529,7 @@ can var a; can ax xaxis; use a.nc
  
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go err696_subspan_mod_in_expr
 ! err696_subspan_mod_in_expr.jnl
 ! ticket 1845: a subspan modulo due to context info buried
@@ -88122,6 +89561,7 @@ XAXIS_MAX = "145.345261"
  
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go err696_shade_subspan_clim
 ! err696_shade_subspan_clim
 ! See ticket 2404
@@ -88165,10 +89605,12 @@ XAXIS_MAX = "243.000000"
  
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 ! go err696_subspan_mod_strides  ! do this test in bn_gif
  
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go err696_def_att
 ! err696_def_att.jnl
 ! tickets 2415, 2416
@@ -88224,6 +89666,7 @@ sp ncdump a.nc | grep -i sst
  
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go err696_return_prec
 ! err696_return_prec.jnl
 ! ACM 5/16 See ticket 2389.
@@ -88286,7 +89729,7 @@ say `1.55555551e8,p=14`
  !-> MESSAGE/CONTINUE 155555551
 155555551
 say `1.555555001e8,p=14`
- !-> MESSAGE/CONTINUE   155555500.1
+ !-> MESSAGE/CONTINUE 155555500.1
 155555500.1
  
  
@@ -88294,6 +89737,7 @@ say `1.555555001e8,p=14`
  
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go err686_show_xml_letd
 ! ! bn_show_xml_letd
 ! Testing SHOW DATA/VAR/XML with a let/D variable
@@ -88327,8 +89771,10 @@ sp grep "var name" out.xml
 <var name="v2">
 <var name="u2">
  
-GO bn_reset
+GO bn_reset bn_aggregate_t
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_aggregate_t
 GO bn_aggregate_t
 ! bn_aggregate_t.jnl
 ! 9/12/2015 *sh* tweak to put all test files into "tmp" subdirectory
@@ -89372,9 +90818,9 @@ canc data/all
 ! show grid/T below was eliminated by the "clean_draconian" script)
 ! 1/17/2017 changes due to backing off auto-detection of truemonth axes, tkt 2497
  
-IF `test_opendap("http://ferret.pmel.noaa.gov/thredds/dodsC/data/ferret/test_coads_monthly_air_2012.nc") EQ 0` THEN
+IF `test_opendap("http://ferret.pmel.noaa.gov/pmel/thredds/dodsC/data/ferret/test_coads_monthly_air_2012.nc") EQ 0` THEN
  !-> IF 1 THEN
-   tseries COADS = http://ferret.pmel.noaa.gov/thredds/dodsC/data/ferret/test_coads_monthly_air_2012.nc, http://ferret.pmel.noaa.gov/thredds/dodsC/data/ferret/test_coads_monthly_air_2013.nc, http://ferret.pmel.noaa.gov/thredds/dodsC/data/ferret/test_coads_monthly_air_2014.nc
+   tseries COADS = http://ferret.pmel.noaa.gov/pmel/thredds/dodsC/data/ferret/test_coads_monthly_air_2012.nc, http://ferret.pmel.noaa.gov/pmel/thredds/dodsC/data/ferret/test_coads_monthly_air_2013.nc, http://ferret.pmel.noaa.gov/pmel/thredds/dodsC/data/ferret/test_coads_monthly_air_2014.nc
 show data COADS
      currently SET data sets:
     1> COADS  (default)
@@ -89458,8 +90904,10 @@ show data/br
     1> myagg3  (default)
 cancel data/all
  
-GO bn_reset
+GO bn_reset bn_unquoted_args
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_unquoted_args
 GO bn_unquoted_args
 ! bn_unquoted_args.jnl
 ! 12/2015 -- a hack change to PPARSE_COMMAND to allow users to omit
@@ -89477,10 +90925,10 @@ save/clobber/file="tmp/test3.nc" i[i=1:3] + 3
 ! generate absolute path
 let dir = SPAWN("pwd")
 define sym use_abs_path = `DIR+"/tmp/test1.nc"`
- !-> define sym use_abs_path = /home/users/ansley/build/trunk/FERRET/bench/tmp/test1.nc
+ !-> define sym use_abs_path = /home/users/ansley/build/working/FERRET/bench/tmp/test1.nc
 say ($use_abs_path)
- !-> MESSAGE/CONTINUE /home/users/ansley/build/trunk/FERRET/bench/tmp/test1.nc
-/home/users/ansley/build/trunk/FERRET/bench/tmp/test1.nc
+ !-> MESSAGE/CONTINUE /home/users/ansley/build/working/FERRET/bench/tmp/test1.nc
+/home/users/ansley/build/working/FERRET/bench/tmp/test1.nc
  
 use tmp/test1.nc
 show data/brief
@@ -89507,17 +90955,17 @@ show data/brief
 canc data/all
  
 use "($use_abs_path)"
- !-> SET DAT/FORM=CDF "/home/users/ansley/build/trunk/FERRET/bench/tmp/test1.nc"
+ !-> SET DAT/FORM=CDF "/home/users/ansley/build/working/FERRET/bench/tmp/test1.nc"
 show data/brief
      currently SET data sets:
-    1> /home/users/ansley/build/trunk/FERRET/bench/tmp/test1.nc  (default)
+    1> /home/users/ansley/build/working/FERRET/bench/tmp/test1.nc  (default)
 canc data/all
  
 use ($use_abs_path)
- !-> SET DAT/FORM=CDF /home/users/ansley/build/trunk/FERRET/bench/tmp/test1.nc
+ !-> SET DAT/FORM=CDF /home/users/ansley/build/working/FERRET/bench/tmp/test1.nc
 show data/brief
      currently SET data sets:
-    1> /home/users/ansley/build/trunk/FERRET/bench/tmp/test1.nc  (default)
+    1> /home/users/ansley/build/working/FERRET/bench/tmp/test1.nc  (default)
 canc data/all
  
 use tmp/test1.nc,tmp/test2.nc,tmp/test3.nc
@@ -89536,24 +90984,24 @@ show data/brief
     3> tmp/test3.nc  (default)
 canc data/all
  
-IF `test_opendap("http://ferret.pmel.noaa.gov/thredds/dodsC/data/PMEL/COADS/coads_sst.cdf") EQ 0` THEN
+IF `test_opendap("http://ferret.pmel.noaa.gov/pmel/thredds/dodsC/data/PMEL/COADS/coads_sst.cdf") EQ 0` THEN
  !-> IF 1 THEN
-  use "http://ferret.pmel.noaa.gov/thredds/dodsC/data/PMEL/COADS/coads_sst.cdf"
+  use "http://ferret.pmel.noaa.gov/pmel/thredds/dodsC/data/PMEL/COADS/coads_sst.cdf"
   show data/brief
      currently SET data sets:
-    1> http://ferret.pmel.noaa.gov/thredds/dodsC/data/PMEL/COADS/coads_sst.cdf  (default)
+    1> http://ferret.pmel.noaa.gov/pmel/thredds/dodsC/data/PMEL/COADS/coads_sst.cdf  (default)
   canc data/all
-  use http://ferret.pmel.noaa.gov/thredds/dodsC/data/PMEL/COADS/coads_sst.cdf
+  use http://ferret.pmel.noaa.gov/pmel/thredds/dodsC/data/PMEL/COADS/coads_sst.cdf
   show data/brief
      currently SET data sets:
-    1> http://ferret.pmel.noaa.gov/thredds/dodsC/data/PMEL/COADS/coads_sst.cdf  (default)
+    1> http://ferret.pmel.noaa.gov/pmel/thredds/dodsC/data/PMEL/COADS/coads_sst.cdf  (default)
   canc data/all
-  use tmp/test1.nc, "tmp/test2.nc", http://ferret.pmel.noaa.gov/thredds/dodsC/data/PMEL/COADS/coads_sst.cdf
+  use tmp/test1.nc, "tmp/test2.nc", http://ferret.pmel.noaa.gov/pmel/thredds/dodsC/data/PMEL/COADS/coads_sst.cdf
   show data/brief
      currently SET data sets:
     1> tmp/test1.nc
     2> tmp/test2.nc
-    3> http://ferret.pmel.noaa.gov/thredds/dodsC/data/PMEL/COADS/coads_sst.cdf  (default)
+    3> http://ferret.pmel.noaa.gov/pmel/thredds/dodsC/data/PMEL/COADS/coads_sst.cdf  (default)
   canc data/all
 ELSE
 ENDIF
@@ -89583,10 +91031,10 @@ spawn echo 'say $1"1-n/a"  $2"2-n/a"  $3"3-n/a"  $4"4-n/a" $5"5-n/a" $6"6-n/a" $
 ! generate absolute path
 let dir = SPAWN("pwd")
 define sym abs_path = `DIR+"/tmp/testMe.jnl"`
- !-> define sym abs_path = /home/users/ansley/build/trunk/FERRET/bench/tmp/testMe.jnl
+ !-> define sym abs_path = /home/users/ansley/build/working/FERRET/bench/tmp/testMe.jnl
 say ($abs_path)
- !-> MESSAGE/CONTINUE /home/users/ansley/build/trunk/FERRET/bench/tmp/testMe.jnl
-/home/users/ansley/build/trunk/FERRET/bench/tmp/testMe.jnl
+ !-> MESSAGE/CONTINUE /home/users/ansley/build/working/FERRET/bench/tmp/testMe.jnl
+/home/users/ansley/build/working/FERRET/bench/tmp/testMe.jnl
  
 go tmp/testMe.jnl
 say $1"1-n/a"  $2"2-n/a"  $3"3-n/a"  $4"4-n/a" $5"5-n/a" $6"6-n/a" $7"7-n/a" $8"8-n/a"
@@ -89599,13 +91047,13 @@ say $1"1-n/a"  $2"2-n/a"  $3"3-n/a"  $4"4-n/a" $5"5-n/a" $6"6-n/a" $7"7-n/a" $8"
 1-n/a  2-n/a  3-n/a  4-n/a 5-n/a 6-n/a 7-n/a 8-n/a
  
 go ($abs_path)
- !-> go /home/users/ansley/build/trunk/FERRET/bench/tmp/testMe.jnl
+ !-> go /home/users/ansley/build/working/FERRET/bench/tmp/testMe.jnl
 say $1"1-n/a"  $2"2-n/a"  $3"3-n/a"  $4"4-n/a" $5"5-n/a" $6"6-n/a" $7"7-n/a" $8"8-n/a"
  !-> MESSAGE/CONTINUE 1-n/a  2-n/a  3-n/a  4-n/a 5-n/a 6-n/a 7-n/a 8-n/a
 1-n/a  2-n/a  3-n/a  4-n/a 5-n/a 6-n/a 7-n/a 8-n/a
  
 go "($abs_path)"
- !-> go "/home/users/ansley/build/trunk/FERRET/bench/tmp/testMe.jnl"
+ !-> go "/home/users/ansley/build/working/FERRET/bench/tmp/testMe.jnl"
 say $1"1-n/a"  $2"2-n/a"  $3"3-n/a"  $4"4-n/a" $5"5-n/a" $6"6-n/a" $7"7-n/a" $8"8-n/a"
  !-> MESSAGE/CONTINUE 1-n/a  2-n/a  3-n/a  4-n/a 5-n/a 6-n/a 7-n/a 8-n/a
 1-n/a  2-n/a  3-n/a  4-n/a 5-n/a 6-n/a 7-n/a 8-n/a
@@ -89621,13 +91069,13 @@ say $1"1-n/a"  $2"2-n/a"  $3"3-n/a"  $4"4-n/a" $5"5-n/a" $6"6-n/a" $7"7-n/a" $8"
 5  hello  bye  /quoted_path /unquoted_path 6-n/a 7-n/a 8-n/a
  
 go ($abs_path) 5 hello "bye" "/quoted_path" /unquoted_path
- !-> go /home/users/ansley/build/trunk/FERRET/bench/tmp/testMe.jnl 5 hello "bye" "/quoted_path" /unquoted_path
+ !-> go /home/users/ansley/build/working/FERRET/bench/tmp/testMe.jnl 5 hello "bye" "/quoted_path" /unquoted_path
 say $1"1-n/a"  $2"2-n/a"  $3"3-n/a"  $4"4-n/a" $5"5-n/a" $6"6-n/a" $7"7-n/a" $8"8-n/a"
  !-> MESSAGE/CONTINUE 5  hello  bye  /quoted_path /unquoted_path 6-n/a 7-n/a 8-n/a
 5  hello  bye  /quoted_path /unquoted_path 6-n/a 7-n/a 8-n/a
  
 go "($abs_path)" 5 hello "bye" "/quoted_path" /unquoted_path
- !-> go "/home/users/ansley/build/trunk/FERRET/bench/tmp/testMe.jnl" 5 hello "bye" "/quoted_path" /unquoted_path
+ !-> go "/home/users/ansley/build/working/FERRET/bench/tmp/testMe.jnl" 5 hello "bye" "/quoted_path" /unquoted_path
 say $1"1-n/a"  $2"2-n/a"  $3"3-n/a"  $4"4-n/a" $5"5-n/a" $6"6-n/a" $7"7-n/a" $8"8-n/a"
  !-> MESSAGE/CONTINUE 5  hello  bye  /quoted_path /unquoted_path 6-n/a 7-n/a 8-n/a
 5  hello  bye  /quoted_path /unquoted_path 6-n/a 7-n/a 8-n/a
@@ -89666,8 +91114,10 @@ set mode/last ignore
  
  
  
-GO bn_reset
+GO bn_reset bn_long_lists
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_long_lists
 GO bn_long_lists
 ! bn_long_lists.jnl
 ! See ticket 2337
@@ -89811,8 +91261,10 @@ let file_list = {\
  
 set mode/last ignore
  
-GO bn_reset
+GO bn_reset bn_show_uvar_grid
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_show_uvar_grid
 GO bn_show_uvar_grid
 ! bn_show_uvar_grid.jnl
 ! Add notes to the output of SHOW GRID for variables and expressions
@@ -89827,7 +91279,7 @@ use coads_climatology
 show grid sst[x=240:320,y=0,t=@ave]
     GRID GSQ1
  name       axis              # pts   start                end                 subset
- COADSX    LONGITUDE          180mr   21E                  19E(379)            39 pts
+ COADSX    LONGITUDE          180mr   21E                  19E(379)            40 pts
  COADSY    LATITUDE            90 r   89S                  89N                 1 pt
  normal    Z
  TIME10    TIME                 3mr   16-JAN 06:00         17-MAR 02:58        compressed
@@ -89836,10 +91288,10 @@ show grid sst[x=240:320,y=0,t=@ave]
 show grid sst[x=0:540,L=1:15]
     GRID GSQ1
  name       axis              # pts   start                end                 subset
- COADSX    LONGITUDE          180mr   21E                  19E(379)            269 pts
+ COADSX    LONGITUDE          180mr   21E                  19E(379)            270 pts
  COADSY    LATITUDE            90 r   89S                  89N                 full
  normal    Z
- TIME10    TIME                 3mr   16-JAN 06:00         17-MAR 02:58        14 pts
+ TIME10    TIME                 3mr   16-JAN 06:00         17-MAR 02:58        15 pts
  
 ! Constant: full abstract grid
 show grid 1
@@ -89864,7 +91316,7 @@ let var = {1,2,4,8}  ! Note that show grid {1,2,4,8} fails: bug
 show grid var
     GRID XABSTRACT
  name       axis              # pts   start                end                 subset
- ABSTRACT  X             99999999 r   1                    1.E+08              3 pts
+ ABSTRACT  X             99999999 r   1                    1.E+08              4 pts
  normal    Y
  normal    Z
  normal    T
@@ -89928,7 +91380,7 @@ show grid var
     GRID (G086)
  name       axis              # pts   start                end                 subset
  COADSX    LONGITUDE          180mr   21E                  19E(379)            1 pt
- (AX111)   LATITUDE           201 r   10S                  10N                 200 pts
+ (AX111)   LATITUDE           201 r   10S                  10N                 201 pts
  normal    Z
  TIME10    TIME                 3mr   16-JAN 06:00         17-MAR 02:58        1 pt
  
@@ -89936,8 +91388,8 @@ show grid var
 show grid sst[i=1:180:3,j=1:90:2]
     GRID (G085)
  name       axis              # pts   start                end                 subset
- (AX113)   LONGITUDE           60 r   21E                  15E(375)            59 pts
- (AX133)   LATITUDE            45 r   89S                  87N                 44 pts
+ (AX113)   LONGITUDE           60 r   21E                  15E(375)            60 pts
+ (AX133)   LATITUDE            45 r   89S                  87N                 45 pts
  normal    Z
  TIME10    TIME                 3mr   16-JAN 06:00         17-MAR 02:58        full
  
@@ -89952,7 +91404,7 @@ sh grid vwnd_days
  COADSX    LONGITUDE          180mr   21E                  19E(379)            full
  COADSY    LATITUDE            90 r   89S                  89N                 full
  normal    Z
- DAX       TIME              1096 r   01-JAN-1980 00:00    31-DEC-1982 00:00   44 pts
+ DAX       TIME              1096 r   01-JAN-1980 00:00    31-DEC-1982 00:00   45 pts
  
 let vwnd_clim = vwnd[gt=month_irreg at mod]
 sh grid vwnd_clim[L=4:9]
@@ -89961,7 +91413,7 @@ sh grid vwnd_clim[L=4:9]
  COADSX    LONGITUDE          180mr   21E                  19E(379)            full
  COADSY    LATITUDE            90 r   89S                  89N                 full
  normal    Z
- MONTH_IRREG TIME              12mi   16-JAN 12:00         15-DEC 17:49        5 pts
+ MONTH_IRREG TIME              12mi   16-JAN 12:00         15-DEC 17:49        6 pts
  
 can dat/all
 use coads_climatology
@@ -89982,7 +91434,7 @@ show grid var
     GRID GSQ1
  name       axis              # pts   start                end                 subset
  COADSX    LONGITUDE          180mr   21E                  19E(379)            full
- COADSY    LATITUDE            90 r   89S                  89N                 29 pts
+ COADSY    LATITUDE            90 r   89S                  89N                 30 pts
  normal    Z
  TIME10    TIME                 3mr   16-JAN 06:00         17-MAR 02:58        full
  
@@ -90002,7 +91454,7 @@ show grid var
  name       axis              # pts   start                end                 subset
  XAXLEVITR101_102 LONGITUDE     2mr   120.5E               121.5E              full
  YAXLEVITR41_42 LATITUDE        2 r   49.5S                48.5S               full
- ZAXLEVITR DEPTH (m)           20 i-  0                    5000                6 pts
+ ZAXLEVITR DEPTH (m)           20 i-  0                    5000                7 pts
  normal    T
  
  
@@ -90044,7 +91496,7 @@ show grid ffta(sample_function + temp[d=levitus_3d_subset,z=0:40])
  name       axis              # pts   start                end                 subset
  XAXLEVITR101_102 LONGITUDE     2mr   120.5E               121.5E              full
  YAXLEVITR41_42 LATITUDE        2 r   49.5S                48.5S               full
- ZAXLEVITR DEPTH (m)           20 i-  0                    5000                3 pts
+ ZAXLEVITR DEPTH (m)           20 i-  0                    5000                4 pts
  (AX125)   T (CYC/HOURS)      182 r   0.00011447           0.020833            (axis from grid-changing func)
  
 can dat/all
@@ -90069,7 +91521,7 @@ sh grid tempz[z=100:400]
  name       axis              # pts   start                end                 subset
  XAXLEVITR101_102 LONGITUDE     2mr   120.5E               121.5E              full
  YAXLEVITR41_42 LATITUDE        2 r   49.5S                48.5S               full
- (AX111)   Z                    5 r   100                  500                 3 pts
+ (AX111)   Z                    5 r   100                  500                 4 pts
  normal    T
  
 ! and with a grid-changing function thrown in
@@ -90102,8 +91554,10 @@ show grid rvtempzax[z=100:300]
  ZAX       Z (METERS)           5 r   100                  500                 (axis from grid-changing func)
  normal    T
  
-GO bn_reset
+GO bn_reset bn_aggregate_f
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_aggregate_f
 GO bn_aggregate_f
 ! bn_aggregate_f.F
 ! 12/2015 *sh*
@@ -90252,22 +91706,22 @@ show data/attr my_fmrc
                                  _cal_t_ax       CHAR        8    T       TF_CAL_T
                                  _lag_f_ax       CHAR        8    T       TF_LAG_F
   
- FCST                  FLOAT     long_name       CHAR        18   T       FIELD + FCST_ERROR
-                                 missing_value   FLOAT       1    T       -1.E+34
+ FCST                  DOUBLE    long_name       CHAR        18   T       FIELD + FCST_ERROR
+                                 missing_value   DOUBLE      1    T       -1.E+34
                                  coordinates     CHAR        34   T       RUN TIME16 TF_TIMES TIME16 YAX XAX
                                  _ftime2d        CHAR        8    T       TF_TIMES
                                  _cal_t_ax       CHAR        8    T       TF_CAL_T
                                  _lag_f_ax       CHAR        8    T       TF_LAG_F
   
- TF_TIMES              FLOAT     long_name       CHAR        25   T       Forecast time step matrix
+ TF_TIMES              DOUBLE    long_name       CHAR        25   T       Forecast time step matrix
                                  units           CHAR        31   T       days since 01-JAN-1900 00:00:00
-                                 missing_value   FLOAT       1    T       -1.E+34
+                                 missing_value   DOUBLE      1    T       -1.E+34
                                  _CoordinateAxisType
                                                  CHAR        4    T       Time
                                  calendar        CHAR        9    T       GREGORIAN
   
- FCST_2                FLOAT     long_name       CHAR        16   T       another variable
-                                 missing_value   FLOAT       1    T       -1.E+34
+ FCST_2                DOUBLE    long_name       CHAR        16   T       another variable
+                                 missing_value   DOUBLE      1    T       -1.E+34
                                  coordinates     CHAR        39   T       TF_CAL_F TIME16 TF_TIMES TIME16 YAX XAX
                                  _ftime2d        CHAR        8    T       TF_TIMES
                                  _cal_t_ax       CHAR        8    T       TF_CAL_T
@@ -91444,13 +92898,16 @@ SH DATA/BR/HIDDEN
  
 set mode/last ignore
  
-GO bn_reset
+GO bn_reset bn_aggregate_tef
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_aggregate_tef
 GO bn_aggregate_tef
 ! bn_aggregate_tef.F
 ! 2/2016 *sh*
 ! 3/2016 - modified to test single point axis aggregations on Z axis
 ! 1/2017 *acm* changes in output due to backing off auto-detection of truemonth axes, tkt 2497
+! *acm*7/2017 0=success for SPAWN_STATUS
  
 ! to avoid re-creating the test files include argument "0" as in
 !  yes?  GO bn_aggregate_tef 0
@@ -91461,6 +92918,8 @@ GO bn_aggregate_tef
 ! do not bother to echo the creation of files and the definitions of the
 ! many time aggregations
 CANCEL MODE VERIFY
+tmp/f04_e3_t3_1v.nc
+*** NOT RE-CREATING bn_aggregate_tef.jnl test files. They already exist.
  
 show data/members/br
      currently SET data sets:
@@ -91806,14 +93265,14 @@ show grid fcst[d=t_f01_e1]
     GRID GFA1
  name       axis              # pts   start                end                 subset
  XAX       LONGITUDE           21mr   140E                 160E                full
- YAX       LATITUDE            11 r   10N                  20N                 full
+ YAX1      LATITUDE            11 r   10N                  20N                 full
  ZAX1      Z (m)                1 r   250                  250                 full
  TRUEMONTH3 TIME               36 i   16-JAN-1950 12:00    16-DEC-1952 12:00   full
 show grid fcst[d=t_f01_e2]
     GRID GFA1
  name       axis              # pts   start                end                 subset
  XAX       LONGITUDE           21mr   140E                 160E                full
- YAX       LATITUDE            11 r   10N                  20N                 full
+ YAX1      LATITUDE            11 r   10N                  20N                 full
  ZAX1      Z (m)                1 r   250                  250                 full
  TRUEMONTH3 TIME               36 i   16-JAN-1950 12:00    16-DEC-1952 12:00   full
  
@@ -91884,17 +93343,17 @@ SHOW DATA/ATT te_f11   ! notice the promotion of fcst.im_everywhere
   
  .                               aggregate name  CHAR        6    F       te_f11
   
- FCST                  FLOAT     long_name       CHAR        13   T       some variable
-                                 missing_value   FLOAT       1    T       -1.E+34
+ FCST                  DOUBLE    long_name       CHAR        13   T       some variable
+                                 missing_value   DOUBLE      1    T       -1.E+34
                                  im_everywhere   CHAR        13   F       so promote me
                                  long_name_mod   CHAR        7    F       L=31:42
   
- FCST_2                FLOAT     long_name       CHAR        16   T       another variable
-                                 missing_value   FLOAT       1    T       -1.E+34
+ FCST_2                DOUBLE    long_name       CHAR        16   T       another variable
+                                 missing_value   DOUBLE      1    T       -1.E+34
                                  long_name_mod   CHAR        7    F       L=31:42
   
- REALIZATION           FLOAT     long_name       CHAR        1    T       1
-                                 missing_value   FLOAT       1    T       -1.E+34
+ REALIZATION           DOUBLE    long_name       CHAR        1    T       1
+                                 missing_value   DOUBLE      1    T       -1.E+34
   
  
 ! define tef aggregation
@@ -92017,7 +93476,7 @@ SHOW DATA/ATT t_f04_e3_1v ! note atts im_everwhere vs im_not_everwhere
  Variable    VarType(in dset)    AttributeName   AttType     Size OutFlag AttValue
 ------------------------------------------------------------------------------------------
   
- .                               history         CHAR        34   T       FERRET V7.1 (beta/debug) 15-Feb-17
+ .                               history         CHAR        34   T       FERRET V7.2 (beta/debug) 12-Jul-17
                                  Conventions     CHAR        6    F       CF-1.6
   
 (XAX)                  DOUBLE    point_spacing   CHAR        4    T       even
@@ -92028,7 +93487,7 @@ SHOW DATA/ATT t_f04_e3_1v ! note atts im_everwhere vs im_not_everwhere
                                  orig_file_axname
                                                  CHAR        3    F       XAX
   
-(YAX)                  DOUBLE    point_spacing   CHAR        4    T       even
+(YAX1)                 DOUBLE    point_spacing   CHAR        4    T       even
                                  axis            CHAR        1    T       Y
                                  units           CHAR        13   T       degrees_north
                                  standard_name   CHAR        8    F       latitude
@@ -92073,13 +93532,13 @@ SHOW DATA/ATT te_f04_1v  ! note atts im_everwhere vs im_not_everwhere
   
  .                               aggregate name  CHAR        9    F       te_f04_1v
   
- FCST                  FLOAT     long_name       CHAR        13   T       some variable
-                                 missing_value   FLOAT       1    T       -1.E+34
+ FCST                  DOUBLE    long_name       CHAR        13   T       some variable
+                                 missing_value   DOUBLE      1    T       -1.E+34
                                  im_everywhere   CHAR        13   F       so promote me
                                  long_name_mod   CHAR        7    F       L=10:21
   
- REALIZATION           FLOAT     long_name       CHAR        1    T       1
-                                 missing_value   FLOAT       1    T       -1.E+34
+ REALIZATION           DOUBLE    long_name       CHAR        1    T       1
+                                 missing_value   DOUBLE      1    T       -1.E+34
   
  
 ! define fcst_2 as a LET/D variable and then do same calc
@@ -92300,24 +93759,24 @@ SHOW DATA/ATTRIB tfe   ! also notice the promotion of fcst.im_everywhere
   
  .                               aggregate name  CHAR        3    F       tfe
   
- FCST                  FLOAT     long_name       CHAR        13   T       some variable
-                                 missing_value   FLOAT       1    T       -1.E+34
-                                 coordinates     CHAR        32   T       RUN TIME16 TF_TIMES ZAX1 YAX XAX
+ FCST                  DOUBLE    long_name       CHAR        13   T       some variable
+                                 missing_value   DOUBLE      1    T       -1.E+34
+                                 coordinates     CHAR        33   T       RUN TIME16 TF_TIMES ZAX1 YAX1 XAX
                                  _ftime2d        CHAR        8    T       TF_TIMES
                                  _cal_t_ax       CHAR        8    T       TF_CAL_T
                                  _lag_f_ax       CHAR        8    T       TF_LAG_F
                                  im_everywhere   CHAR        13   F       so promote me
   
- TF_TIMES              FLOAT     long_name       CHAR        25   T       Forecast time step matrix
+ TF_TIMES              DOUBLE    long_name       CHAR        25   T       Forecast time step matrix
                                  units           CHAR        31   T       days since 01-JAN-1900 00:00:00
-                                 missing_value   FLOAT       1    T       -1.E+34
+                                 missing_value   DOUBLE      1    T       -1.E+34
                                  _CoordinateAxisType
                                                  CHAR        4    T       Time
                                  calendar        CHAR        9    T       GREGORIAN
   
- FCST_2                FLOAT     long_name       CHAR        16   T       another variable
-                                 missing_value   FLOAT       1    T       -1.E+34
-                                 coordinates     CHAR        38   T       TF_CAL_F1 TIME16 TF_TIMES ZAX1 YAX XAX
+ FCST_2                DOUBLE    long_name       CHAR        16   T       another variable
+                                 missing_value   DOUBLE      1    T       -1.E+34
+                                 coordinates     CHAR        39   T       TF_CAL_F1 TIME16 TF_TIMES ZAX1 YAX1 XAX
                                  _ftime2d        CHAR        8    T       TF_TIMES
                                  _cal_t_ax       CHAR        8    T       TF_CAL_T
                                  _lag_f_ax       CHAR        8    T       TF_LAG_F
@@ -92439,18 +93898,18 @@ set mode/last ignore
  
 CANCEL DATA/ALL
  
-GO bn_reset
-cancel mode verify
+!GO bn_reset
 ! Add this to the gif benchmark tests
 ! GO bn_hovmuller_overlays
  
-GO bn_reset
-cancel mode verify
+!GO bn_reset
 ! Add this to the gif benchmark tests
 ! GO bn_labels_on_taxis
  
-GO bn_reset
+GO bn_reset bn_dataset_qualifier
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_dataset_qualifier
 GO bn_dataset_qualifier
 ! bn_dataset_qualifier
 ! see ticket 2632
@@ -92515,7 +93974,7 @@ save/clobber/file=a.nc/outtype=float elev[d=1]
 use a.nc
 sh att .
      attributes for dataset: ./a.nc
- ..history = FERRET V7.1 (beta/debug) 15-Feb-17 
+ ..history = FERRET V7.2 (beta/debug) 12-Jul-17 
  ..Conventions = CF-1.6 
  ..dt_internal = 15
 sh att elev
@@ -92536,7 +93995,7 @@ save/clobber/file=a.nc/outtype=float elev[d=1]
 use a.nc
 sh att .
      attributes for dataset: ./a.nc
- ..history = FERRET V7.1 (beta/debug) 15-Feb-17 
+ ..history = FERRET V7.2 (beta/debug) 12-Jul-17 
  ..Conventions = CF-1.6 
 sh att elev
      attributes for dataset: ./a.nc
@@ -92560,7 +94019,7 @@ show grid
     GRID (G200)
  name       axis              # pts   start                end                 subset
  COADSX    LONGITUDE          180mr   21E                  19E(379)            1 pt
- (AX110)   LATITUDE           201 r   10S                  10N                 200 pts
+ (AX114)   LATITUDE           201 r   10S                  10N                 201 pts
  normal    Z
  TIME10    TIME                 3mr   16-JAN 06:00         17-MAR 02:58        1 pt
  
@@ -92581,7 +94040,6 @@ list/DAT=3 a
 list/DAT=3 temp.history
              VARIABLE : TEMP.HISTORY
              FILENAME : levitus_climatology.cdf
-             X        : 1
         "From levitus_climatology"
  
 ! PLOT, SHADE, FILL, CONTOUR, VECTOR, STAT
@@ -92655,18 +94113,22 @@ plot/dash/x=180/z=0/DATASET=1 temp
 ! VECTOR/FLOW/DATA=/DENSITY
 flow/DAT=2/den=3/L=3 taux,tauy
  
-GO bn_reset
+GO bn_reset bn_speedtest
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_speedtest
 GO bn_speedtest
 ! bn_speedtest.jnl
 ! issue large numbers of commands, timing with clock time
 can mode verify
-10K LET commands LET a = 0 takes  1.012  seconds
-Second 10K LET commands LET a = 0 takes  2.265  seconds
-5K LOAD with transform takes  3.517  seconds
+10K LET commands LET a = 0 takes  2.234  seconds
+Second 10K LET commands LET a = 0 takes  3.519  seconds
+5K LOAD with transform takes  3.849000000000018  seconds
  
-GO bn_reset
+GO bn_reset bn_show_noupcase
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_show_noupcase
 GO bn_show_noupcase
 ! bn_show_noupcase.jnl
 ! 1/2016 ticket 1796
@@ -92690,7 +94152,7 @@ show var
 show grid MyUpperLowerCaseVar
     GRID (G204)
  name       axis              # pts   start                end                 subset
- ABSTRACT  X             99999999 r   1                    1.E+08              9 pts
+ ABSTRACT  X             99999999 r   1                    1.E+08              10 pts
  normal    Y
  normal    Z
  tday      TIME                31 r   01-JAN-1999 00:00    31-JAN-1999 00:00   full
@@ -92759,6 +94221,7 @@ show data
  
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
  
  
 ! xml output
@@ -93717,8 +95180,10 @@ SHO VAR/XML
 set mode/last upcase
  
  
-GO bn_reset
+GO bn_reset bn_letd_attributes
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_letd_attributes
 GO bn_letd_attributes
 ! bn_letd_attributes.jnl
 ! Allow for the same variable name defined with LET/D in multiple datasets.
@@ -93777,7 +95242,7 @@ show dat/att 1
   
  ------------------------------
  myvar[D=coads_climatology]      long_name       CHAR        11   T       coads myvar
-                                 missing_value   FLOAT       1    T       -1.E+34
+                                 missing_value   DOUBLE      1    T       -1.E+34
   
  
 show att myvar
@@ -93839,7 +95304,7 @@ show dat/att 2
   
  ------------------------------
  myvar[D=levitus_climatology]    long_name       CHAR        13   T       Levitus myvar
-                                 missing_value   FLOAT       1    T       -1.E+34
+                                 missing_value   DOUBLE      1    T       -1.E+34
   
 show att myvar
      attributes for user-defined variables
@@ -93964,8 +95429,10 @@ save/clobber/file=a.nc myvar[d=2]
 sp ncdump -h a.nc >> all_ncdump.out
  
  
-GO bn_reset
+GO bn_reset bn_list_clim_axes
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_list_clim_axes
 GO bn_list_clim_axes
 ! bn_list_clim_axes.jnl
 ! *acm* 3/16
@@ -94106,8 +95573,10 @@ CALENDAR = ALL_LEAP
       11>  16-NOV 00:00:00       30         01-NOV 00:00:00         320
       12>  16-DEC 12:00:00       31         01-DEC 00:00:00         350.5
  
-GO bn_reset
+GO bn_reset bn_climatology_attr
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_climatology_attr
 GO bn_climatology_attr
 ! bn_climatology_attr.jnl
 ! *acm* 3/16  See ticket 2278
@@ -94192,8 +95661,10 @@ show att `vname[i=1]`
  E494.long_name = 3*CLIM1 
  
  
-GO bn_reset
+GO bn_reset bn_plot_along
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_plot_along
 GO bn_plot_along
 ! BN_PLOT_ALONG
  
@@ -94267,8 +95738,10 @@ LET sin_block = SIN(T[l=1:100]/10)*block
 LET ens_sin_block = sin_block*( (20+_E[m=1:20])/20 )
 PLOT/ALONG=t ens_sin_block[i=1,j=2,k=3]
  
-GO bn_reset
+GO bn_reset bn_show_commands
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_show_commands
 GO bn_show_commands
 ! bn_show_commands.jnl
 ! Testing results for ticket 2078: SHOW COMMAND cmnd subcmnd
@@ -94352,7 +95825,7 @@ sho command sho
  SHOW MOVIE/ALL
  SHOW VARIABLE/ALL/DATASET/USER/XML/OUTFILE/APPEND/CLOBBER/TREE/LAYERZ/CURVILIN
  SHOW COMMANDS/ALL/BRIEF
- SHOW MEMORY/ALL/TEMPORY/PERMANT/FREE
+ SHOW MEMORY/ALL/DIAGNOST/TEMPORY/PERMANT/FREE
  SHOW GRID/ALL/I/J/K/L/M/N/X/Y/Z/T/E/F/DYNAMIC/XML/OUTFILE/APPEND/CLOBBER
  SHOW VIEWPORT/ALL
  SHOW TRANFORM/ALL
@@ -94385,7 +95858,7 @@ sho command sho v  ! SHOW VARIABLE
 sho command sho c  ! SHOW COMMANDS
  SHOW COMMANDS/ALL/BRIEF
 sho command sho me ! SHOW MEMORY
- SHOW MEMORY/ALL/TEMPORY/PERMANT/FREE
+ SHOW MEMORY/ALL/DIAGNOST/TEMPORY/PERMANT/FREE
 sho command sho g  ! SHOW GRID
  SHOW GRID/ALL/I/J/K/L/M/N/X/Y/Z/T/E/F/DYNAMIC/XML/OUTFILE/APPEND/CLOBBER
 sho command sho vi ! SHOW VIEWPORT
@@ -94660,14 +96133,16 @@ sho command/brief sp
 sho command/brief st
  STAT
 sho command/brief u
- USER
+ Not a recognized command: u
+ 
+ Use SHOW ALIAS to see alternative command names
 sho command/brief v
  VECTOR
  
  
 ! All the commands, no subcommands, no qualifiers
 SHOW COMMAND/BRIEF
- Commands in Program FERRET (beta/debug) version7.1:
+ Commands in Program FERRET (beta/debug) version7.2:
  SET
  SHOW
  CANCEL
@@ -94687,7 +96162,6 @@ SHOW COMMAND/BRIEF
  STAT
  SHADE
  SPAWN
- USER
  WIRE
  QUERY
  IF
@@ -94729,8 +96203,10 @@ SHOW COMMAND/BRIEF sho da
  SHOW DATA
  
  
-GO bn_reset
+GO bn_reset bn_plot_decimate
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_plot_decimate
 GO bn_plot_decimate
 ! BN_PLOT_SKIP
  
@@ -94819,14 +96295,17 @@ LET ens_sin_block = sin_block*( (20+_E[m=1:20])/20 )
 PLOT/SKIP=($deci)/ALONG=t ens_sin_block[i=1,j=2,k=3]
  !-> PLOT/SKIP=5/ALONG=t ens_sin_block[i=1,j=2,k=3]
  
-GO bn_reset
+GO bn_reset bn_auto_tprec
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_auto_tprec
 GO bn_auto_tprec
 ! bn_auto_tprec.jnl
 ! See ticket 2405
 ! Time labels on plots always just get the precision from MODE CALENDAR
 ! Instead, use the same logic as is used for text labels, automatically adjust.
 ! (later make this the default setting??)
+! acm* 3/17 check the URL with TEST_OPENDAP befor trying to open it.
  
 set mode calendar:auto
 show mode calendar
@@ -94925,12 +96404,16 @@ shade/title="hours "/l=3/k=1/x=60:70/y=-40:-30 ttim; sh sym  lab($labnum_t)
 LAB2 = "TIME : 01-JAN-2001 12:00"
  
 ! Reynolds SST weekly, even 7-day spacing
-use http://ferret.pmel.noaa.gov/thredds/dodsC/data/PMEL/reynolds_sst_wk.nc
+ 
+IF `test_opendap("http://ferret.pmel.noaa.gov/pmel/thredds/dodsC/data/PMEL/reynolds_sst_wk.nc") NE 0` THEN EXIT/SCRIPT
+ !-> IF 0 THEN EXIT/SCRIPT
+ 
+use http://ferret.pmel.noaa.gov/pmel/thredds/dodsC/data/PMEL/reynolds_sst_wk.nc
 list/x=180/y=0/l=20:25 fsst
              VARIABLE : Filtered Weekly SST Means (deg C)
              DATA SET : Reynolds Optimum Interpolation Weekly SST Analysis
              FILENAME : reynolds_sst_wk.nc
-             FILEPATH : http://ferret.pmel.noaa.gov/thredds/dodsC/data/PMEL/
+             FILEPATH : http://ferret.pmel.noaa.gov/pmel/thredds/dodsC/data/PMEL/
              SUBSET   : 6 points (TIME)
              LONGITUDE: 180E (interpolated)
              LATITUDE : 0 (interpolated)
@@ -95000,8 +96483,10 @@ LAB2 = "TIME : 16-AUG-1952 12:00"
 !GO bn_reset
 !GO bn_warn_subspan
  
-GO bn_reset
+GO bn_reset bn_coordvars_atts
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_coordvars_atts
 GO bn_coordvars_atts
 ! bn_coordvars_atts.jnl
 ! 5/2016 *acm*  see ticket 2413
@@ -95066,8 +96551,10 @@ list/nohead ..coordnames
  
 ! *********** v7.1 Additions ***********
  
-GO bn_reset
+GO bn_reset bn710_bug_fixes
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn710_bug_fixes
 GO bn710_bug_fixes
 ! bn710_bug_fixes.jnl
 ! test various fixes that went into version 7.1
@@ -95077,6 +96564,7 @@ GO bn710_bug_fixes
 ! Bug 2445 missing or repeated coords when axis marked as regular
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go err700_reg_axis_check
 ! err700_reg_axis_check.jnl
 ! Ticket 2445: regular axis, test for valid line_delta
@@ -95137,6 +96625,7 @@ list yax
 ! Bug 2446 include script name on warning about unclosed IF block
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go err700_unclosed_if
 ! err71_unclosed_if.jnl
 ! Ticket 2446
@@ -95156,6 +96645,7 @@ let b = 1
 ! Bug 2446 inheriting attributes
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go err700_inherit_all
 ! err700_inherit_all.jnl
 ! Ticket 2447: If all attributes are inherited, missing-value flags
@@ -95207,6 +96697,7 @@ list b
 ! Bug 2458  Subspan modulo grids and SAMPLEXY
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go err700_samplexy_subspan_modulo
 ! err700_samplexy_subspan_modulo.jnl
 ! 7/29/2016 ACM
@@ -95406,6 +96897,7 @@ list samplexyt(sst, -80, 22, `t[gt=sst,l=1]`)
 ! Bug 2463  SHADE/LEVELS and single-color data
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go err700_levels_one_level
 ! err700_levels_one_level.jnl
 ! Ticket 2436. If the data has just one value, then shade it with
@@ -95429,6 +96921,7 @@ can view
 ! Bug xxxx  Only examine key labels that are actually going to be printed
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go err700_key
 use coads_climatology
 set window/aspect=0.7 1
@@ -95440,6 +96933,7 @@ frame /file=err700_key.gif
 ! Bug 2468 Symbol AX_HORIZ corrupted by an overlay
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go err700_ax_horiz
 ! err700_ax_horiz.jnl
 ! 8/30/2016 *acm* Ticket 2468
@@ -95475,6 +96969,7 @@ AX_HORIZ = "X"
 ! Bug 2470 Symbol LEV_DEL incorrect on a LEV=(lo,hi,delta)
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go err700_lev_del_symb
 ! err700_lev_del_symb.jnl
 ! 9/9/2016
@@ -95548,6 +97043,7 @@ LEV_MAX = "24.4"
 ! Bug 2466 Graticule lines too dense on time plots
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go err700_timegrat
 !err700_timegrat.jnl
 ! 22-sep-2016 *acm*
@@ -95581,6 +97077,7 @@ set view right; plot/trans/grat=(color=light_blue)/z=20/t=16-SEP-2016:19-sep-201
 ! Bug 2465 parsing errors on commands with expressions involving attrbutes
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go err700_attribute_parsing
 ! err700_attribute_parsing.jnl
 ! See ticket 2465. Parsing errors for commands with attribute references
@@ -95620,23 +97117,14 @@ list/nohead strindex(..title, "file")
  
  
 ! Bug 2477 plot axes are not fully drawn, some /VS plots
-go bn_reset
-cancel mode verify
-go err700_vs_plot_axes
-! err700_vs_plot_axes.jnl
-! See ticket 2477, in some cases the plot axes are not fully drawn
-! 11/2016 ACM
- 
- 
-USE err700_vs_data.nc
- 
-! only with PLOT/VS plots, only with SYMBOLS not PLOT/VS/LINE
-PLOT/VS/THICK/COLOR=red/SIZ=0.2 lon,lat
-FRAME/FILE=bn_axis_vs.gif
+! move this to bn_gif.jnl
+! go bn_reset
+! go err700_vs_plot_axes
  
 ! Bug 2483. Fixing axis-ends symbols XAXIS_MIN,XAXIS_MAX, YAXIS_MIN,YAXIS_MAX
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go err700_axis_dates
 ! err700_axis_dates.jnl
 ! See ticket 2483. 11/10/2016 ACM
@@ -95720,6 +97208,7 @@ I / *:    "23-OCT-2015 01:00" "23-OCT-2015 13:00"
 ! Bug 2489. Attribute climatology_time_range not defined on an expression
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go err700_clim_attr_expression
 ! err700_clim_attr_expression.jnl
 ! Ticket 2489
@@ -95753,6 +97242,7 @@ show att `vname[i=1]`
 ! on /HLOG or /VLOG plots
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go err700_ribbon_vlog
 ! err700_ribbon_vlog.jnl
 ! 1/3/2017 *acm*
@@ -95777,6 +97267,7 @@ frame/file=bn_ribbon_vlog.gif
 ! Bug 2492: single-variable listings with /form=comma or /form=tab
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go err700_list_comma
 ! err700_list_comma.jnl
 ! 1/4/2017 Fixes for ticket 2492: for single-variable listings, /FORM=comma and /FORM=tab
@@ -95895,6 +97386,7 @@ list/norow/nohead/L=1:3/K=1/i=95/j=40/form=tab taux
 ! Bug 2493: T aggregation when there are E or F axes
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go err700_aggT_5d
 ! err700_aggT_5d.jnl
 ! 1/6/2017 ACM  Ticket 2493
@@ -95978,6 +97470,7 @@ list/i=3/j=2 thetao
 ! Bug 2495: shift on overlay of time series plot on 2d time plot
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go err700_time_overlay
 ! err700_time_overlay.jnl
 ! bug 2495
@@ -96004,6 +97497,7 @@ plot/trans/over/color=blue cos(tt/3000) + 0.5
 ! Bug 2494:  drawing a single-cell shade plot
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go err700_shade_singlecell
 ! err700_shade_singlecell.jnl
 ! Ticket 2494, drawing a single-cell shade plot
@@ -96045,6 +97539,7 @@ shade/pal=rnb2 iijj[x=74.5w,y=39.9:40.8]
 !           where coordinates are very near grid-cell edges.
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go err700_coords
 ! err700_coords.jnl
 ! 1/17/2017
@@ -96088,18 +97583,18 @@ set mode diag
 save/clob/file=a.nc c
  dealloc  dynamic grid GAY2            XAX1_21   NORMAL    NORMAL    NORMAL
  dealloc  dynamic grid GG              XAX1_20   NORMAL    NORMAL    NORMAL
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid C        C:  7 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid C        C:  7 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid (G208)          C2D_AX_X  NORMAL    NORMAL    NORMAL
  dealloc  dynamic grid (G208)          C2D_AX_X  NORMAL    NORMAL    NORMAL
  allocate dynamic grid (G208)          C2D_AX_X  NORMAL    NORMAL    NORMAL
  allocate dynamic grid (G208)          C2D_AX_X  NORMAL    NORMAL    NORMAL
- eval    EX#1     C:  4 dset:   1 I:   11   31  J: -999 -999  K: -999 -999  L: -999 -999
- eval    C        C:  6 dset:   0 I:   11   31  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  4 dset:   1 I:     11     31  J: -999 -999  K: -999 -999  L:   -999   -999
+ eval    C        C:  6 dset:   0 I:     11     31  J: -999 -999  K: -999 -999  L:   -999   -999
  allocate dynamic grid (G208)          C2D_AX_X  NORMAL    NORMAL    NORMAL
- pseudo  X        M: 97 dset:   0 I:   11   31  J: -999 -999  K: -999 -999  L: -999 -999
+ pseudo  X        M:244 dset:   0 I:     11     31  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid (G208)          C2D_AX_X  NORMAL    NORMAL    NORMAL
- -DELETE C        M: 95 dset:   0 I:   11   30  J: -999 -999  K: -999 -999  L: -999 -999
+ -DELETE C        M:240 dset:   0 I:     11     30  J: -999 -999  K: -999 -999  L:   -999   -999
  
 set mode /last diag
  
@@ -96107,6 +97602,7 @@ set mode /last diag
 ! Bug 2499: Define a single-point axis with bounds
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go err700_define_1pt_axis
 ! err700_define_1pt_axis.jnl
 ! Ticket 2499: regular axis, test for valid line_delta
@@ -96136,12 +97632,18 @@ sh dat
  
 sh axis/t tax
  name       axis              # pts   start                end
+ TAX       T                    1 i   1                    1
+   Axis span (to cell edges) = 2
+ 
+       L     T                   TBOX      TBOXLO
+       1>  1                     2          0
  
  
  
 ! Bug 2498: time unit error in F-aggregation of some OPENDAP datasets
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go err700_aggregate_from_fmrc
 ! err700_aggregate_from_fmrc.jnl
 ! 1/2017 *acm*
@@ -96175,6 +97677,7 @@ SHOW GRID zeta
 ! Bug 2504: modulo axes and coordinates
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go err700_modulo
 ! err700_modulo.jnl
 ! See ticket 2504. Axis defintions where bounds are not given, and Ferret
@@ -96310,6 +97813,7 @@ T0 = 1-JAN-0000
 ! Bug 1480: saving modulo axis with too big a region
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go err700_save_mod_att
 ! err700_save_mod_att.jnl
 ! ticket 1480: do not write a modulo axis when saving a modulo
@@ -96343,11 +97847,12 @@ variables:
 		VAR:long_name = "X[GX=XLON]" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 15-Feb-17" ;
+		:history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
 		:Conventions = "CF-1.6" ;
 }
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
  
 ! Now set a region and write data. The axis length would be 362.5
 use a1
@@ -96401,12 +97906,13 @@ variables:
 		VAR:history = "From a1" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 15-Feb-17" ;
+		:history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
 		:Conventions = "CF-1.6" ;
 }
  
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 use a
 sh axis `var,return=xaxis`
  !-> sh axis XLONN7_136
@@ -96416,6 +97922,7 @@ sh axis `var,return=xaxis`
  
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
  
 ! Now set a bigger region and write data. The axis length is 372.5
 use a1
@@ -96446,12 +97953,13 @@ variables:
 		VAR:history = "From a1" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 15-Feb-17" ;
+		:history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
 		:Conventions = "CF-1.6" ;
 }
  
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 use a
 sh axis `var,return=xaxis`
  !-> sh axis XLONN7_141
@@ -96475,6 +97983,7 @@ save/clobber/file=a.nc/y=0/l=1 sst
  
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 use a
 sh att (`sst,return=xaxis`)
  !-> sh att (COADSXN9_170)
@@ -96498,6 +98007,7 @@ show axis `sst,return=xaxis`
 ! Bug 2502: FMRC regridding sensitive to insignificant floating-point differences in time
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go err700_fmrcdiag
 ! err700_fmrcdiag.jnl
 ! these particular datasets (quarterly forecasts of two years of monthly data)
@@ -96517,7 +98027,7 @@ SHOW GRID actual
     GRID (G181)
  name       axis              # pts   start                end                 subset
  XAX1      LONGITUDE            7mr   140W                 110W                full
- YAX1      LATITUDE             4 r   45N                  60N                 full
+ YAX2      LATITUDE             4 r   45N                  60N                 full
  ZAX3      Z (meter)            3 i   50                   1000                full
  TF_LAG_T  MODEL ELAPSED TIME (25 r   15.217               745.62              full
  normal    E
@@ -96548,7 +98058,7 @@ SHOW GRID diagview
     GRID (G181)
  name       axis              # pts   start                end                 subset
  XAX1      LONGITUDE            7mr   140W                 110W                full
- YAX1      LATITUDE             4 r   45N                  60N                 full
+ YAX2      LATITUDE             4 r   45N                  60N                 full
  ZAX3      Z (meter)            3 i   50                   1000                full
  TF_CAL_T  TIME                34 r   17-OCT-2010 02:48    17-JUL-2013 10:00   full
  normal    E
@@ -96578,7 +98088,7 @@ SHOW GRID leadview
     GRID (G201)
  name       axis              # pts   start                end                 subset
  XAX1      LONGITUDE            7mr   140W                 110W                full
- YAX1      LATITUDE             4 r   45N                  60N                 full
+ YAX2      LATITUDE             4 r   45N                  60N                 full
  ZAX3      Z (meter)            3 i   50                   1000                full
  TF_CAL_T  TIME                34 r   17-OCT-2010 02:48    17-JUL-2013 10:00   full
  normal    E
@@ -96609,6 +98119,7 @@ FRAME /FILE=forecast_leadview.gif
 ! Bug 2331: Labeling the labels in line-plot legends.
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 Go err700_legend_labels
 ! err700_legend_labels.jnl
 ! See ticket 2231:
@@ -96722,6 +98233,7 @@ PLOT/OVER/KEY=TITLE 10+cos(T[gt=tdays]/200)
 ! Bug 2507: time aggregations with same time axis in different grids per file
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 Go err700_aggt_dup_grids
 ! err700_aggt_dup_grids
 ! 2/15/2017 ACM
@@ -96765,8 +98277,11 @@ sh dat
  NEWVAR   X[GX=XAX1] + MYVAR               1:1       ...       ...       1:20
  
  
-GO bn_reset
+ 
+GO bn_reset bn_delim_datetime
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_delim_datetime
 GO bn_delim_datetime
 ! bn_delim_datetime.jnl
 ! ACM 7/2016
@@ -96966,8 +98481,10 @@ set mode/last ignore
  
  
  
-GO bn_reset
+GO bn_reset bn_aggregate_u
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_aggregate_u
 GO bn_aggregate_u
 ! bn_aggregate_u.jnl
 ! Union aggregations including tests of UNION in combination
@@ -97022,10 +98539,10 @@ sh dat/att
  .                               aggregate name  CHAR        2    F       uu
   
  SST                   FLOAT     long_name       CHAR        3    T       sst
-                                 missing_value   FLOAT       1    T       -1.E+34
+                                 missing_value   DOUBLE      1    T       -1.E+34
   
  TEMP                  FLOAT     long_name       CHAR        14   T       temp in uagg_5
-                                 missing_value   FLOAT       1    T       -1.E+34
+                                 missing_value   DOUBLE      1    T       -1.E+34
   
 can dat/all
  
@@ -97276,14 +98793,14 @@ show grid fcst[d=t_f01_e1]
     GRID GEM1
  name       axis              # pts   start                end                 subset
  XAX       LONGITUDE           21mr   140E                 160E                full
- YAX       LATITUDE            11 r   10N                  20N                 full
+ YAX1      LATITUDE            11 r   10N                  20N                 full
  ZAX1      Z (m)                1 r   250                  250                 full
  TRUEMONTH3 TIME               36 i   16-JAN-1950 12:00    16-DEC-1952 12:00   full
 show grid fcst_3[d=t_f_u01_e2]
     GRID GEM1
  name       axis              # pts   start                end                 subset
  XAX       LONGITUDE           21mr   140E                 160E                full
- YAX       LATITUDE            11 r   10N                  20N                 full
+ YAX1      LATITUDE            11 r   10N                  20N                 full
  ZAX1      Z (m)                1 r   250                  250                 full
  TRUEMONTH3 TIME               36 i   16-JAN-1950 12:00    16-DEC-1952 12:00   full
  
@@ -97351,16 +98868,16 @@ SHOW DATA/ATT tue_f03   ! notice the promotion of fcst.im_everywhere
  .                               aggregate name  CHAR        7    F       tue_f03
   
  FCST                  FLOAT     long_name       CHAR        13   T       some variable
-                                 missing_value   FLOAT       1    T       -1.E+34
+                                 missing_value   DOUBLE      1    T       -1.E+34
   
  FCST_2                FLOAT     long_name       CHAR        16   T       another variable
-                                 missing_value   FLOAT       1    T       -1.E+34
+                                 missing_value   DOUBLE      1    T       -1.E+34
   
  REALIZATION           FLOAT     long_name       CHAR        1    T       1
-                                 missing_value   FLOAT       1    T       -1.E+34
+                                 missing_value   DOUBLE      1    T       -1.E+34
   
  FCST_3                FLOAT     long_name       CHAR        16   T       another variable
-                                 missing_value   FLOAT       1    T       -1.E+34
+                                 missing_value   DOUBLE      1    T       -1.E+34
   
  
 ! define tuef aggregation
@@ -97440,17 +98957,17 @@ SHOW DATA/brief/files
 16-JUL-1952 12:00 -> 16-JUN-1953 00:00    tmp/f03_e2_tu3.nc
  
    13> t_f_u01_e1     Union aggregation
-          time-dependent data files:
-31-DEC-1899 23:59 -> 31-DEC-1899 23:59    t_f_u01_e1
- 
+          Member datasets:
+      13.1: t_f01_e1
+      13.2: t_f01_e1_3
    14> t_f_u01_e2     Union aggregation
-          time-dependent data files:
-31-DEC-1899 23:59 -> 31-DEC-1899 23:59    t_f_u01_e2
- 
+          Member datasets:
+      14.1: t_f01_e2
+      14.2: t_f01_e2_3
    16> t_f_u02_e2     Union aggregation
-          time-dependent data files:
-31-DEC-1899 23:59 -> 31-DEC-1899 23:59    t_f_u02_e2
- 
+          Member datasets:
+      16.1: t_f02_e2
+      16.2: t_f02_e2_3
    22> tuef  (default)  Forecast aggregation
           Member datasets:
       22.1: tue_f01
@@ -97503,7 +99020,7 @@ sh grid fcst
     GRID (G174)  Forecast Aggregation Grid
  name       axis              # pts   start                end                 subset
  XAX       LONGITUDE           21mr   140E                 160E                full
- YAX       LATITUDE            11 r   10N                  20N                 full
+ YAX1      LATITUDE            11 r   10N                  20N                 full
  ZAX1      Z (m)                1 r   250                  250                 full
  TF_LAG_T  MODEL ELAPSED TIME  36 r   15.214               1080.2              full
  ENSEMBLE  E (realization)      2 r   1                    2                   full
@@ -97512,7 +99029,7 @@ sh grid fcst_3
     GRID (G174)  Forecast Aggregation Grid
  name       axis              # pts   start                end                 subset
  XAX       LONGITUDE           21mr   140E                 160E                full
- YAX       LATITUDE            11 r   10N                  20N                 full
+ YAX1      LATITUDE            11 r   10N                  20N                 full
  ZAX1      Z (m)                1 r   250                  250                 full
  TF_LAG_T  MODEL ELAPSED TIME  36 r   15.214               1080.2              full
  ENSEMBLE  E (realization)      2 r   1                    2                   full
@@ -97549,8 +99066,10 @@ CANCEL DATA/ALL
  
  
  
-GO bn_reset
+GO bn_reset bn_ez_noupcase
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_ez_noupcase
 GO bn_ez_noupcase
 ! bn_ez_noupcase.jnl
 ! 7/2016 *acm* see ticket 2454
@@ -97580,8 +99099,8 @@ sh dat/att
   
  .                               history         CHAR        7    F       abc.dat
   
- abc                   FLOAT     long_name       CHAR        3    T       abc
-                                 missing_value   FLOAT       1    T       -1.E+34
+ abc                   DOUBLE    long_name       CHAR        3    T       abc
+                                 missing_value   DOUBLE      1    T       -1.E+34
   
 save/clobber/file=a.nc abc
 sp ncdump -h a.nc
@@ -97592,14 +99111,14 @@ variables:
 	double AX043(AX043) ;
 		AX043:point_spacing = "even" ;
 		AX043:axis = "X" ;
-	float abc(AX043) ;
-		abc:missing_value = -1.e+34f ;
-		abc:_FillValue = -1.e+34f ;
+	double abc(AX043) ;
+		abc:missing_value = -1.e+34 ;
+		abc:_FillValue = -1.e+34 ;
 		abc:long_name = "abc" ;
 		abc:history = "From abc.dat" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 15-Feb-17" ;
+		:history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
 		:Conventions = "CF-1.6" ;
 }
  
@@ -97630,8 +99149,8 @@ sh dat/att
   
  .                               history         CHAR        7    F       abc.dat
   
- abc                   FLOAT     long_name       CHAR        3    T       abc
-                                 missing_value   FLOAT       1    T       -1.E+34
+ abc                   DOUBLE    long_name       CHAR        3    T       abc
+                                 missing_value   DOUBLE      1    T       -1.E+34
   
     2> ./bn_delimited_read_1.dat  (default)
  Variable    VarType(in dset)    AttributeName   AttType     Size OutFlag AttValue
@@ -97640,60 +99159,62 @@ sh dat/att
  .                               history         CHAR        23   F       bn_delimited_read_1.dat
   
  lab                   CHAR      long_name       CHAR        3    T       lab
-                                 missing_value   FLOAT       1    T       -1.E+34
+                                 missing_value   DOUBLE      1    T       -1.E+34
   
  nothing               CHAR      long_name       CHAR        7    T       nothing
-                                 missing_value   FLOAT       1    T       -1.E+34
+                                 missing_value   DOUBLE      1    T       -1.E+34
   
- var                   FLOAT     long_name       CHAR        3    T       var
-                                 missing_value   FLOAT       1    T       -1.E+34
+ var                   DOUBLE    long_name       CHAR        3    T       var
+                                 missing_value   DOUBLE      1    T       -1.E+34
   
- latitude              FLOAT     long_name       CHAR        8    T       latitude
+ latitude              DOUBLE    long_name       CHAR        8    T       latitude
                                  units           CHAR        13   T       degrees_north
-                                 missing_value   FLOAT       1    T       -1.E+34
+                                 missing_value   DOUBLE      1    T       -1.E+34
   
- longitude             FLOAT     long_name       CHAR        9    T       longitude
+ longitude             DOUBLE    long_name       CHAR        9    T       longitude
                                  units           CHAR        12   T       degrees_east
-                                 missing_value   FLOAT       1    T       -1.E+34
+                                 missing_value   DOUBLE      1    T       -1.E+34
   
 sav/file=a.nc/clobber var,longitude,latitude
 sp ncdump -h a.nc
 netcdf a {
 dimensions:
-	AX104 = 6 ;
+	AX103 = 6 ;
 variables:
-	double AX104(AX104) ;
-		AX104:point_spacing = "even" ;
-		AX104:axis = "X" ;
-	float var(AX104) ;
-		var:missing_value = -1.e+34f ;
-		var:_FillValue = -1.e+34f ;
+	double AX103(AX103) ;
+		AX103:point_spacing = "even" ;
+		AX103:axis = "X" ;
+	double var(AX103) ;
+		var:missing_value = -1.e+34 ;
+		var:_FillValue = -1.e+34 ;
 		var:long_name = "var" ;
 		var:history = "From bn_delimited_read_1.dat" ;
-	float longitude(AX104) ;
-		longitude:missing_value = -1.e+34f ;
-		longitude:_FillValue = -1.e+34f ;
+	double longitude(AX103) ;
+		longitude:missing_value = -1.e+34 ;
+		longitude:_FillValue = -1.e+34 ;
 		longitude:long_name = "longitude" ;
 		longitude:units = "degrees_east" ;
 		longitude:long_name_mod = "Longitude" ;
 		longitude:history = "From bn_delimited_read_1.dat" ;
-	float latitude(AX104) ;
-		latitude:missing_value = -1.e+34f ;
-		latitude:_FillValue = -1.e+34f ;
+	double latitude(AX103) ;
+		latitude:missing_value = -1.e+34 ;
+		latitude:_FillValue = -1.e+34 ;
 		latitude:long_name = "latitude" ;
 		latitude:units = "degrees_north" ;
 		latitude:long_name_mod = "Latitude" ;
 		latitude:history = "From bn_delimited_read_1.dat" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 15-Feb-17" ;
+		:history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
 		:Conventions = "CF-1.6" ;
 }
  
 set mode/last upcase
  
-GO bn_reset
+GO bn_reset bn_spawn_fail
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_spawn_fail
 GO bn_spawn_fail
 ! bn_spawn_fail.jnl
 !  See ticket 2453
@@ -97707,8 +99228,10 @@ sp rm nothing.dat
 sp grep modulus non_COARDS.cdl
 sp cp nofile.dat not_either.dat
  
-GO bn_reset
+GO bn_reset bn_ave_of_ave
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_ave_of_ave
 GO bn_ave_of_ave
 ! bn_ave_of_ave.jnl
 ! see ticket 2469
@@ -97779,8 +99302,10 @@ list a[t=@MAX] - a_xtrns[t=@MAX]
           0.0000000
  
  
-GO bn_reset
+GO bn_reset bn_agg_member_syntax
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_agg_member_syntax
 GO bn_agg_member_syntax
 ! bn_agg_member_syntax
  
@@ -97927,6 +99452,37 @@ set mode/last ignore
 cancel data/all
 cancel var/all
  
+! Union datasets and SHOW DATA/MEMBERS
+union tmp/uagg_1.nc,tmp/uagg_2.nc,tmp/uagg_3.nc,tmp/uagg_4.nc
+show data/members
+     currently SET data sets:
+    5> ./bn_agg_member_syntax.jnl  (default)  Union aggregation
+ name     title                             I         J         K         L
+ SST      sst                              1:5       1:4       ...       1:10
+ TEMP     temp                             1:5       1:4       ...       1:10
+ U        U                                1:5       1:4       ...       1:10
+ V        V                                1:5       1:4       ...       1:10
+ 
+          Member datasets:
+      5.1: tmp/uagg_1.nc
+      5.2: tmp/uagg_2.nc
+      5.3: tmp/uagg_3.nc
+      5.4: tmp/uagg_4.nc
+show data 5.2
+     currently SET data sets:
+    2> tmp/uagg_2.nc
+ name     title                             I         J         K         L
+ TEMP     temp                             1:5       1:4       ...       1:10
+ 
+show data 5.3
+     currently SET data sets:
+    3> tmp/uagg_3.nc
+ name     title                             I         J         K         L
+ U        U                                1:5       1:4       ...       1:10
+ 
+ 
+cancel data/all
+ 
 ! Tests for Ensembles
 let files = SPAWN("ls -1 ens*.nc")
 ensemble my_ens = files
@@ -98014,6 +99570,7 @@ stat sst[d=5] - sst[d=5.3]   ! ensemble minus member #3
  Mean    value: 13.481 (unweighted average)
  Standard deviation: 30.317
  
+ 
 ! deliberate errors
 set mode ignore
  
@@ -98023,8 +99580,10 @@ stat/br sst[d=5.30]    ! not this many members
 set mode/last ignore
  
  
-GO bn_reset
+GO bn_reset bn_true_monthly
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_true_monthly
 GO bn_true_monthly
 ! bn_true_monthly.jnl
 ! examples defining axes with /DEFINE AXIS/MONTHLY
@@ -98355,7 +99914,7 @@ sh dat/att
  Variable    VarType(in dset)    AttributeName   AttType     Size OutFlag AttValue
 ------------------------------------------------------------------------------------------
   
- .                               history         CHAR        34   T       FERRET V7.1 (beta/debug) 15-Feb-17
+ .                               history         CHAR        34   T       FERRET V7.2 (beta/debug) 12-Jul-17
                                  Conventions     CHAR        6    F       CF-1.6
   
 (TAXIS1)               DOUBLE    axis            CHAR        1    T       T
@@ -98424,7 +99983,7 @@ sh dat/att
  Variable    VarType(in dset)    AttributeName   AttType     Size OutFlag AttValue
 ------------------------------------------------------------------------------------------
   
- .                               history         CHAR        34   T       FERRET V7.1 (beta/debug) 15-Feb-17
+ .                               history         CHAR        34   T       FERRET V7.2 (beta/debug) 12-Jul-17
                                  Conventions     CHAR        6    F       CF-1.6
   
 (TAXIS1)               DOUBLE    axis            CHAR        1    T       T
@@ -98495,7 +100054,7 @@ sh dat/att
  Variable    VarType(in dset)    AttributeName   AttType     Size OutFlag AttValue
 ------------------------------------------------------------------------------------------
   
- .                               history         CHAR        34   T       FERRET V7.1 (beta/debug) 15-Feb-17
+ .                               history         CHAR        34   T       FERRET V7.2 (beta/debug) 12-Jul-17
                                  Conventions     CHAR        6    F       CF-1.6
   
 (TAXIS1)               DOUBLE    axis            CHAR        1    T       T
@@ -98672,7 +100231,7 @@ let var = {1,2,3,4,5,6,7,8,9,10,11,12}
 let tvar = reshape(var,t[gt=taxis])
 list/L=1:23 tvar
              VARIABLE : RESHAPE(VAR,T[GT=TAXIS])
-             SUBSET   : 23 points (TIME)
+             SUBSET   : 12 points (TIME)
  16-JAN-2010 12 /  1:   1.00000
  15-FEB-2010 00 /  2:   2.00000
  16-MAR-2010 12 /  3:   3.00000
@@ -98685,17 +100244,11 @@ list/L=1:23 tvar
  16-OCT-2010 12 / 10:  10.00000
  16-NOV-2010 00 / 11:  11.00000
  16-DEC-2010 12 / 12:  12.00000
- 16-JAN-2011 17 / 13:   1.00000
- 15-FEB-2011 05 / 14:   2.00000
- 16-MAR-2011 17 / 15:   3.00000
- 16-APR-2011 05 / 16:   4.00000
- 16-MAY-2011 17 / 17:   5.00000
- 16-JUN-2011 05 / 18:   6.00000
- 16-JUL-2011 17 / 19:   7.00000
- 16-AUG-2011 17 / 20:   8.00000
- 16-SEP-2011 05 / 21:   9.00000
- 16-OCT-2011 17 / 22:  10.00000
- 16-NOV-2011 05 / 23:  11.00000
+! *sh* 3/17:  a possible alternative syntax:
+!  let var = TSEQUENCE({1,2,3,4,5,6,7,8,9,10,11,12})
+!  let tvar = var[gt=taxis at asn]
+! Since this is a fairly common need -- creating a line along some axis
+! should we offer a new function AXSEQUENCE(array, axis)  ?
  
 ! Striding on a monthly axis
  
@@ -98782,13 +100335,4769 @@ define axis/x=1:5:1/monthly aaxis
  
 cancel mode ignore
  
-! Note the release notes for v7.1 should include mention of memory-leak fixes. For example see this exchange:
-! http://www.pmel.noaa.gov/maillists/tmap/ferret_users/fu_2017/msg00025.html
+ 
+! *********** v7.2 Additions ***********
+ 
+GO bn_reset bn720_bug_fixes
+cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn720_bug_fixes
+GO bn720_bug_fixes
+! bn720_bug_fixes.jnl
+! test various fixes that went into version 7.2
+! 2/17 *acm*
+!
+ 
+GO bn_reset
+cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+GO err71_uvar_strides
+! err710_uvar_strides
+! see ticket 2511: crash when doing strides on the user-variable
+ 
+ 
+use coads_climatology
+ 
+! this is ok using a file variable
+let y_vec = x[gx=sst,x=0:360:30]
+list y_vec
+             VARIABLE : X[GX=SST,X=0:360:30]
+             FILENAME : coads_climatology.cdf
+             SUBSET   : 13 points (LONGITUDE)
+ 0E     /  1:    0.0000
+ 30E    /  2:   30.0000
+ 60E    /  3:   60.0000
+ 90E    /  4:   90.0000
+ 120E   /  5:  120.0000
+ 150E   /  6:  150.0000
+ 180E   /  7:  180.0000
+ 150W   /  8:  210.0000
+ 120W   /  9:  240.0000
+ 90W    / 10:  270.0000
+ 60W    / 11:  300.0000
+ 30W    / 12:  330.0000
+ 0E     / 13:  360.0000
+ 
+! but this gave a crash on loading the variable.
+let s = sst
+let y_vec = x[gx=s,x=0:360:30]
+list y_vec
+             VARIABLE : X[GX=S,X=0:360:30]
+             FILENAME : coads_climatology.cdf
+             SUBSET   : 13 points (X)
+ 0     /  1:    0.0000
+ 30    /  2:   30.0000
+ 60    /  3:   60.0000
+ 90    /  4:   90.0000
+ 120   /  5:  120.0000
+ 150   /  6:  150.0000
+ 180   /  7:  180.0000
+ 210   /  8:  210.0000
+ 240   /  9:  240.0000
+ 270   / 10:  270.0000
+ 300   / 11:  300.0000
+ 330   / 12:  330.0000
+ 360   / 13:  360.0000
+ 
+GO bn_reset
+cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+GO err71_prec_return
+! err71_prec_return.jnl
+! Ticket 2510, `prec=hh` doesn't work when the data is very
+! near an integer.
+ 
+ 
+let a=1+1e-12
+ 
+! This should show the 001 at the end
+list/nohead/norow/prec=13 `a,prec=13`
+ !-> list/nohead/norow/prec=13 1.000000000001
+   1.000000000001
+ 
+! This does not have the 001 at the end
+list/nohead/norow/prec=13 `a,prec=12`
+ !-> list/nohead/norow/prec=13 1
+   1.000000000000
+ 
+! The example from the ticket, with one more.
+list/nohead/norow/prec=12 {`1 + 0.1`, `1 + 1e-7`, `1 + 1e-8`, `1 + 1e-10`} - 1
+ !-> list/nohead/norow/prec=12 {1.1, 1.0000001, 1.00000001, 1.0000000001} - 1
+   0.100000000000
+   0.000000100000
+   0.000000010000
+   0.000000000100
+ 
+GO bn_reset
+cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+GO err71_save_rigid
+! err71_save_rigid.jnl
+! Ticket 2513: SAVE/RIGID with irregular axis wrote a bad file.
+ 
+! Define a variable on an irregular axis.
+ 
+let var = {123, 234, 345, 456, 567, 678, 789}
+define axis/t/t0=1-jan-2015/units=day tax = \
+{ 312.1, 312.7, 313.4, 314.2, 314.7, 315.4, 316.1}
+ 
+let vart = reshape(var, t[gt=tax])
+ 
+! Save with /RIGID. Previously this wrote a file with
+! both bounds and edges attributes on the time axis.
+! It wrote the edges variable, not the bounds.
+ 
+! Starting with this version, write bounds if needed when
+! writing with /RIGID. Only write edges if they said /EDGES.
+ 
+save/clobber/rigid/file=a.nc vart
+sp ncdump a.nc
+netcdf a {
+dimensions:
+	TAX = 7 ;
+	bnds = 2 ;
+variables:
+	double TAX(TAX) ;
+		TAX:point_spacing = "uneven" ;
+		TAX:axis = "T" ;
+		TAX:units = "day since 2015-01-01 00:00:00" ;
+		TAX:time_origin = "1-JAN-2015" ;
+		TAX:standard_name = "time" ;
+		TAX:bounds = "TAX_bnds" ;
+	double TAX_bnds(TAX, bnds) ;
+	double VART(TAX) ;
+		VART:missing_value = -1.e+34 ;
+		VART:_FillValue = -1.e+34 ;
+		VART:long_name = "RESHAPE(VAR, T[GT=TAX])" ;
+
+// global attributes:
+		:history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
+		:Conventions = "CF-1.6" ;
+data:
+
+ TAX = 312.1, 312.7, 313.4, 314.2, 314.7, 315.4, 316.1 ;
+
+ TAX_bnds =
+  311.8, 312.4,
+  312.4, 313.05,
+  313.05, 313.8,
+  313.8, 314.45,
+  314.45, 315.05,
+  315.05, 315.75,
+  315.75, 316.45 ;
+
+ VART = 123, 234, 345, 456, 567, 678, 789 ;
+}
+ 
+cancel var/all
+ 
+! The grid was messed up - this gave an error
+use a
+show grid vart
+    GRID GSI1
+ name       axis              # pts   start                end                 subset
+ normal    X
+ normal    Y
+ normal    Z
+ TAX3      TIME                 7 i   09-NOV-2015 02:24    13-NOV-2015 02:24   full
+ 
+ 
+! move this to bn_gif.jnl
+! GO bn_reset
+! GO err71_plotvs_mode_label
+ 
+GO bn_reset
+cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+GO err71_set_redirect
+! err71_set_redirect.jnl
+! 3/2017 ACM
+! redirect results to a file with a path.
+! See ticket 2521, the path was previously rejected if it contains dashes
+ 
+spawn "mkdir -p sub-dir"
+!
+! Previously this resulted in an error.
+set redirect /tee /file="./sub-dir/redirect_stdout.txt" /clobber  stderr stdout
+ 
+! write to the file and look at the results
+ 
+show symbol ferret_precision, ferret_memory
+FERRET_PRECISION = "double"
+FERRET_MEMORY = "25.6"
+cancel redirect
+let contents = { spawn:"cat ./sub-dir/redirect_stdout.txt" }
+list contents
+             VARIABLE : { SPAWN:"cat ./sub-dir/redirect_stdout.txt" }
+             SUBSET   : 7 points (X)
+ 1   / 1:" "                                          
+ 2   / 2:"! write to the file and look at the results"
+ 3   / 3:" "                                          
+ 4   / 4:"show symbol ferret_precision, ferret_memory"
+ 5   / 5:"FERRET_PRECISION = "double""                
+ 6   / 6:"FERRET_MEMORY = "25.6""                     
+ 7   / 7:"cancel redirect"                            
+cancel var contents
+ 
+sp rm -rf sub-dir
+ 
+GO bn_reset
+cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+GO err71_set_redirect
+! err71_set_redirect.jnl
+! 3/2017 ACM
+! redirect results to a file with a path.
+! See ticket 2521, the path was previously rejected if it contains dashes
+ 
+spawn "mkdir -p sub-dir"
+!
+! Previously this resulted in an error.
+set redirect /tee /file="./sub-dir/redirect_stdout.txt" /clobber  stderr stdout
+ 
+! write to the file and look at the results
+ 
+show symbol ferret_precision, ferret_memory
+FERRET_PRECISION = "double"
+FERRET_MEMORY = "25.6"
+cancel redirect
+let contents = { spawn:"cat ./sub-dir/redirect_stdout.txt" }
+list contents
+             VARIABLE : { SPAWN:"cat ./sub-dir/redirect_stdout.txt" }
+             SUBSET   : 7 points (X)
+ 1   / 1:" "                                          
+ 2   / 2:"! write to the file and look at the results"
+ 3   / 3:" "                                          
+ 4   / 4:"show symbol ferret_precision, ferret_memory"
+ 5   / 5:"FERRET_PRECISION = "double""                
+ 6   / 6:"FERRET_MEMORY = "25.6""                     
+ 7   / 7:"cancel redirect"                            
+cancel var contents
+ 
+sp rm -rf sub-dir
+ 
+GO bn_reset
+cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+GO err71_err_attrib_overrun
+! err71_err_attrib_overrun.jnl
+! See ticket 2523
+ 
+! this ends with a segment fault sensitive to any changes
+! presumably a buffer over-run
+ 
+! the crash is occuring because of a buffer over-run
+! in IS_ATTRIB_VAL we call CREATE_TEMP_MEM_VAR to create an mr of size=1
+! later we call INIT_C_STRING_ARRAY and tell it to initialize this mr array
+! using a length nvdims=3  ==> OVERRUN
+ 
+! This bug never reared its head in the pre-dynamic memory Ferret, because
+! the buffers couldn't really be over-run, since they were part of a huge
+! static memory block
+ 
+! other INIT_* calls in IS_ATTRIB_VAL may have a similar issue
+ 
+ 
+set mode diag
+ 
+use ocean_atlas_temp
+use gt4d011
+use levitus_climatology
+ 
+use coads_climatology
+ 
+let lnames = ..dimnames[d=2]
+ 
+CANCEL DATA/ALL
+ canceling dset ./ocean_atlas_temp.cdf
+ canceling dset ./gt4d011.cdf
+ canceling dset ./levitus_climatology.cdf
+ canceling dset ./coads_climatology.cdf
+ 
+! this line seems to be essential making the crash happen
+PPL TICS .125,.25,.125,.25 !reset tics to default
+ 
+use coads_climatology
+ 
+let a = sst[d=1].dimnames
+show mem/diag   ! looks like no dynamic memory actions have occured
+    No split/gather occurred in the last evaluation
+    Total table slots: 500
+    Free table slots: 500
+    Un-cached variables: 0
+    SET MEMORY/SIZE: 25.6 megawords
+    Peak demand: 0 words
+    Current cache: 0 words
+ 
+! resulted in a seg fault (on 32-bit stout)
+list a[i=2]
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid A        C:  7 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
+ eval    A        C:  6 dset:   1 I:      2      2  J: -999 -999  K: -999 -999  L:   -999   -999
+ attrib_val attr     M:237 dset:   1 I:      2      2  J: -999 -999  K: -999 -999  L:   -999   -999
+             VARIABLE : SST[D=coads_climatology].DIMNAMES
+             FILENAME : coads_climatology.cdf
+             X        : 2
+        "COADSY"
+ 
+ 
+GO bn_reset
+cancel mode verify
+ dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
+ -DELETE A        M:238 dset:   1 I:      2      2  J: -999 -999  K: -999 -999  L:   -999   -999
+ dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
+ -DELETE attr     M:237 dset:   1 I:      2      2  J: -999 -999  K: -999 -999  L:   -999   -999
+ canceling dset ./coads_climatology.cdf
+ooooooooooooooooooooooooooooooooooooooooooo
+GO err71_user_var_attrib
+! err71_user_var_attrib.jnl
+! See ticket 2132
+ 
+! command was trying to list dataset information for a user variable
+!
+ 
+let a = 1
+define att a.myAttr = "whatever"
+show att a.myAttr
+ a.myAttr = whatever 
+ 
+ 
+GO bn_reset
+cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+GO err71_save_bounds
+! err71_save_bounds
+! Ticket 2524. The SAVE command previously gave an error
+ 
+define axis/t time = {1,2,4}
+use write_int_att.nc
+ 
+! Tell Ferret to use the axis names from the file, and write data
+cancel mode upcase
+save/file=a.nc/clobber mhchla
+ 
+! move this to bn_gif.jnl
+! GO bn_reset
+! GO err71_vs_constant
+ 
+! run this from bn_gif.jnl
+! GO bn_reset
+! GO err71_vs_lon_over
+ 
+ 
+GO bn_reset
+cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+GO err71_point_average
+! err71_point_average.jnl
+! Ticket 2538 6/2017
+! Average over a point removes dependence on that dimension.
+! previously returned missing-data
+ 
+let a = x[x=1:5] + y[y=1:3]
+list a
+             VARIABLE : X[X=1:5] + Y[Y=1:3]
+             SUBSET   : 5 by 3 points (X-Y)
+              1         2         3         4         5      
+               1         2         3         4         5
+ 1   / 1:  2.000000  3.000000  4.000000  5.000000  6.000000
+ 2   / 2:  3.000000  4.000000  5.000000  6.000000  7.000000
+ 3   / 3:  4.000000  5.000000  6.000000  7.000000  8.000000
+ 
+list a[y=2 at ave]
+             VARIABLE : X[X=1:5] + Y[Y=1:3]
+             SUBSET   : 5 points (X)
+             Y        : 2 (averaged)
+ 1   / 1:  3.000000
+ 2   / 2:  4.000000
+ 3   / 3:  5.000000
+ 4   / 4:  6.000000
+ 5   / 5:  7.000000
+list a[x=2 at ave]
+             VARIABLE : X[X=1:5] + Y[Y=1:3]
+             SUBSET   : 3 points (Y)
+             X        : 2 (averaged)
+ 1   / 1:  3.000000
+ 2   / 2:  4.000000
+ 3   / 3:  5.000000
+list a[y=2 at ave,x=4 at ave]  ! all prev. versions listed these as missing
+             VARIABLE : X[X=1:5] + Y[Y=1:3]
+             X        : 4 (XY ave)
+             Y        : 2 (XY ave)
+          6.000000
+ 
+let a = z[z=1:5] + t[t=1:3]
+list a[z=2 at ave]
+             VARIABLE : Z[Z=1:5] + T[T=1:3]
+             SUBSET   : 3 points (T)
+             Z        : 2 (averaged)
+ 1   / 1:  3.000000
+ 2   / 2:  4.000000
+ 3   / 3:  5.000000
+list a[t=2 at ave]
+             VARIABLE : Z[Z=1:5] + T[T=1:3]
+             SUBSET   : 5 points (Z)
+             T        : 2 (averaged)
+ 1   / 1:  3.000000
+ 2   / 2:  4.000000
+ 3   / 3:  5.000000
+ 4   / 4:  6.000000
+ 5   / 5:  7.000000
+ 
+list a[t=2 at ave,z=4 at ave]
+             VARIABLE : Z[Z=1:5] + T[T=1:3]
+             Z        : 4 (ZT ave)
+             T        : 2 (ZT ave)
+          6.000000
+ 
+let a = _e[e=1:5] + _f[f=1:3]
+list a[f=2 at ave]
+             VARIABLE : _E[E=1:5] + _F[F=1:3]
+             SUBSET   : 5 points (E)
+             F        : 2 (averaged)
+ 1   / 1:  3.000000
+ 2   / 2:  4.000000
+ 3   / 3:  5.000000
+ 4   / 4:  6.000000
+ 5   / 5:  7.000000
+list a[e=2 at ave]
+             VARIABLE : _E[E=1:5] + _F[F=1:3]
+             SUBSET   : 3 points (F)
+             E        : 2 (averaged)
+ 1   / 1:  3.000000
+ 2   / 2:  4.000000
+ 3   / 3:  5.000000
+list a[f=2 at ave,e=4 at ave]
+             VARIABLE : _E[E=1:5] + _F[F=1:3]
+             E        : 4 ( ave)
+             F        : 2 ( ave)
+          6.000000
+ 
+! Check result if the missing-flag is zero
+ 
+let/bad=0 a = x[x=1:5] + y[y=1:3]
+list a
+             VARIABLE : X[X=1:5] + Y[Y=1:3]
+             SUBSET   : 5 by 3 points (X-Y)
+              1         2         3         4         5      
+               1         2         3         4         5
+ 1   / 1:  2.000000  3.000000  4.000000  5.000000  6.000000
+ 2   / 2:  3.000000  4.000000  5.000000  6.000000  7.000000
+ 3   / 3:  4.000000  5.000000  6.000000  7.000000  8.000000
+ 
+list a[y=2 at ave]
+             VARIABLE : X[X=1:5] + Y[Y=1:3]
+             SUBSET   : 5 points (X)
+             Y        : 2 (averaged)
+ 1   / 1:  3.000000
+ 2   / 2:  4.000000
+ 3   / 3:  5.000000
+ 4   / 4:  6.000000
+ 5   / 5:  7.000000
+list a[x=2 at ave]
+             VARIABLE : X[X=1:5] + Y[Y=1:3]
+             SUBSET   : 3 points (Y)
+             X        : 2 (averaged)
+ 1   / 1:  3.000000
+ 2   / 2:  4.000000
+ 3   / 3:  5.000000
+list a[y=2 at ave,x=4 at ave]  ! all prev. versions listed these as missing
+             VARIABLE : X[X=1:5] + Y[Y=1:3]
+             X        : 4 (XY ave)
+             Y        : 2 (XY ave)
+          6.000000
+ 
+ 
+! multiple directions including e,f
+ 
+use 6dfile.nc
+ 
+! average, result is on xz
+let uave = u[i=1:3,j=50 at ave,l=1 at ave,m=3 at ave,n=2 at ave]
+list uave
+             VARIABLE : U[I=1:3,J=50 at AVE,L=1 at AVE,M=3 at AVE,N=2 at AVE]
+             FILENAME : 6dfile.nc
+             SUBSET   : 3 by 27 points (LONGITUDE-DEPTH (m))
+             LATITUDE : 6.1667N to 6.5N
+             TIME     : 15-MAR-1983 09:30 to 15-MAR-1983 10:30
+             E        : 2.5 to 3.5
+             F        : 2 to 4
+                  161W      160W      159W    
+                    1         2         3
+ 5       /  1:  24.15486  24.09508  24.51689
+ 15      /  2:  41.57817  41.84150  42.38058
+ 25      /  3:  36.75881  36.95299  37.38991
+ 35      /  4:  34.77849  34.85667  35.17619
+ 45      /  5:  34.36352  34.45921  34.69579
+ 55      /  6:  30.07708  30.09764  30.46488
+ 65      /  7:  27.88727  27.80886  27.93594
+ 75      /  8:  25.72183  25.65516  25.78408
+ 85      /  9:  23.76570  23.68603  23.76244
+ 95      / 10:  21.95625  21.86659  21.91703
+ 106.3   / 11:  20.21578  20.11764  20.13833
+ 120     / 12:  18.45474  18.34873  18.34122
+ 136.3   / 13:  16.95586  16.84863  16.81954
+ 155     / 14:  15.77561  15.66338  15.61111
+ 177.5   / 15:  14.84618  14.72107  14.64049
+ 205     / 16:  14.11461  13.96774  13.85358
+ 240     / 17:  13.42961  13.25451  13.10313
+ 288.5   / 18:  12.55841  12.34769  12.15240
+ 362.5   / 19:  11.29979  11.03768  10.78375
+ 483.5   / 20:   9.31719   8.98873   8.66654
+ 680     / 21:   6.68034   6.33032   5.98914
+ 979.5   / 22:   4.30961   4.04182   3.78413
+ 1395.5  / 23:   3.08924   2.96375   2.84510
+ 1916    / 24:   3.05169   3.06862   3.08250
+ 2524    / 25:   3.23960   3.36031   3.46738
+ 3174    / 26:   3.18619   3.35835   3.51064
+ 3824    / 27:   3.19324   3.38708   3.55849
+save/clobber/nobounds/file=a.nc uave
+sp ncdump -h a.nc
+netcdf a {
+dimensions:
+	PSXU69_72 = 3 ;
+	PSZT = 27 ;
+variables:
+	double PSXU69_72(PSXU69_72) ;
+		PSXU69_72:units = "degrees_east" ;
+		PSXU69_72:point_spacing = "even" ;
+		PSXU69_72:modulo = 360. ;
+		PSXU69_72:axis = "X" ;
+		PSXU69_72:standard_name = "longitude" ;
+	double PSZT(PSZT) ;
+		PSZT:units = "METERS" ;
+		PSZT:positive = "down" ;
+		PSZT:point_spacing = "uneven" ;
+		PSZT:axis = "Z" ;
+		PSZT:standard_name = "depth" ;
+	double uave(PSZT, PSXU69_72) ;
+		uave:missing_value = -1.e+34 ;
+		uave:_FillValue = -1.e+34 ;
+		uave:long_name = "U[I=1:3,J=50 at AVE,L=1 at AVE,M=3 at AVE,N=2 at AVE]" ;
+		uave:history = "From 6dfile" ;
+
+// global attributes:
+		:history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
+		:Conventions = "CF-1.6" ;
+}
+ 
+! average, result is on yt
+let uave = u[i=3 at ave,j=50:60,l=3:6,z=40 at ave,m=3 at ave,n=2 at ave]
+list uave
+             VARIABLE : U[I=3 at AVE,J=50:60,L=3:6,Z=40 at AVE,M=3 at AVE,N=2 at AVE]
+             FILENAME : 6dfile.nc
+             SUBSET   : 11 points (LATITUDE)
+             LONGITUDE: 159.5W to 158.5W
+             DEPTH (m): 35
+             TIME     : 15-MAR-1983 12:00
+             E        : 2.5 to 3.5
+             F        : 2 to 4
+ 9.67N / 60: -21.61473
+ 9.33N / 59: -15.77042
+ 9N    / 58: -10.95188
+ 8.67N / 57:  -4.78444
+ 8.33N / 56:   0.43465
+ 8N    / 55:   5.48566
+ 7.67N / 54:  10.50152
+ 7.33N / 53:  15.95639
+ 7N    / 52:  21.88764
+ 6.67N / 51:  28.23372
+ 6.33N / 50:  35.19776
+save/clobber/nobounds/file=a.nc uave
+sp ncdump -h a.nc
+netcdf a {
+dimensions:
+	PSYU15_75 = 11 ;
+	TIME = UNLIMITED ; // (1 currently)
+variables:
+	double PSYU15_75(PSYU15_75) ;
+		PSYU15_75:units = "degrees_north" ;
+		PSYU15_75:point_spacing = "uneven" ;
+		PSYU15_75:axis = "Y" ;
+		PSYU15_75:standard_name = "latitude" ;
+	double TIME(TIME) ;
+		TIME:units = "hour since 1980-01-14 14:00:00" ;
+		TIME:time_origin = "14-JAN-1980 14:00:00" ;
+		TIME:axis = "T" ;
+		TIME:standard_name = "time" ;
+	double uave(TIME, PSYU15_75) ;
+		uave:missing_value = -1.e+34 ;
+		uave:_FillValue = -1.e+34 ;
+		uave:long_name = "U[I=3 at AVE,J=50:60,L=3:6,Z=40 at AVE,M=3 at AVE,N=2 at AVE]" ;
+		uave:history = "From 6dfile" ;
+
+// global attributes:
+		:history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
+		:Conventions = "CF-1.6" ;
+}
+ 
+! average, result is on e-f, single time
+let uave = u[i=3 at ave,y=8 at ave,z=15 at ave,t="15-MAR-1983 11:00"]
+list uave
+             VARIABLE : U[I=3 at AVE,Y=8 at AVE,Z=15 at AVE,T="15-MAR-1983 11:00"]
+             FILENAME : 6dfile.nc
+             SUBSET   : 5 by 4 points (E-F)
+             LONGITUDE: 159.5W to 158.5W
+             LATITUDE : 8N
+             DEPTH (m): 15
+             TIME     : 15-MAR-1983 11:00
+              1         2         3         4         5      
+               1         2         3         4         5
+ 1   / 1: -2.239468 -1.239468 -0.239468  0.760532  1.760532
+ 3   / 2: -2.039468 -1.039468 -0.039468  0.960532  1.960532
+ 5   / 3: -1.839468 -0.839468  0.160532  1.160532  2.160532
+ 7   / 4: -1.639468 -0.639468  0.360532  1.360532  2.360532
+save/clobber/nobounds/file=a.nc uave
+sp ncdump -h a.nc
+netcdf a {
+dimensions:
+	TIME = 1 ;
+	EAXIS = 5 ;
+	FAXIS = 4 ;
+variables:
+	double TIME(TIME) ;
+		TIME:units = "hour since 1980-01-14 14:00:00" ;
+		TIME:time_origin = "14-JAN-1980 14:00:00" ;
+		TIME:point_spacing = "even" ;
+		TIME:axis = "T" ;
+		TIME:standard_name = "time" ;
+	double EAXIS(EAXIS) ;
+		EAXIS:point_spacing = "even" ;
+		EAXIS:axis = "E" ;
+	double FAXIS(FAXIS) ;
+		FAXIS:point_spacing = "uneven" ;
+		FAXIS:axis = "F" ;
+	double uave(FAXIS, EAXIS, TIME) ;
+		uave:missing_value = -1.e+34 ;
+		uave:_FillValue = -1.e+34 ;
+		uave:long_name = "U[I=3 at AVE,Y=8 at AVE,Z=15 at AVE,T=\"15-MAR-1983 11:00\"]" ;
+		uave:history = "From 6dfile" ;
+
+// global attributes:
+		:history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
+		:Conventions = "CF-1.6" ;
+}
+ 
+GO bn_reset
+cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+GO err71_2d_ave_miss0
+! err71_2d_ave_miss0.jnl
+! Ticket 2539: data with 0 as missing flag,
+! 2D average or definite integral all-missing
+! 6/5/2017 *acm*
+ 
+use gt4d011.cdf
+let temp0 = temp
+set var/bad=0. temp0
+save/clobber/file=a.nc temp0
+can dat/all
+can var/all
+use a.nc
+ 
+! Both of these should have all valid numbers,
+! previously (in v7.1+) they were all-missing.
+list/k=1/L=1:10 temp0[x=@ave,y=@ave], temp0[x=@din,y=@din]
+             DATA SET: ./a.nc
+             TIME: 14-AUG-1982 11:00 to 14-OCT-1982 07:00
+             LONGITUDE: 140W to 122W
+             LATITUDE: 3.6667S to 3.6667N
+             DEPTH (m): 5
+ Column  1: TEMP0[X=@AV4,Y=@AV4] is TEMP
+ Column  2: TEMP0[X=@IN4,Y=@IN4] is TEMP
+                        TEMP0      TEMP0
+17-AUG-1982 12 /  1:  26.50036  4.322143E+13
+23-AUG-1982 14 /  2:  26.63478  4.344066E+13
+29-AUG-1982 16 /  3:  26.80730  4.372203E+13
+04-SEP-1982 18 /  4:  27.02365  4.407490E+13
+10-SEP-1982 20 /  5:  27.29811  4.452254E+13
+16-SEP-1982 22 /  6:  27.64980  4.509613E+13
+23-SEP-1982 00 /  7:  28.06512  4.577352E+13
+29-SEP-1982 02 /  8:  28.56054  4.658153E+13
+05-OCT-1982 04 /  9:  29.16769  4.757178E+13
+11-OCT-1982 06 / 10:  29.83611  4.866194E+13
+ 
+GO bn_reset
+cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+GO err71_read_delim
+! err71_read_delim.jnl
+! 6/9/2017 ACM
+! Ticket 2540, Write errors when data is read using - to skip fields
+! in a delimited read
+ 
+define axis/x=1:10:1 row_ax
+define grid/x=row_ax in_grid
+ 
+ 
+FILE/FORM=delim/skip=1/grid=in_grid\
+/var="YEAR,MONTH,LON,LAT,-,HAULJOIN,LENGTH,FREQ,-,BTTM_TEMP,SST,BTTM_DEPTH,CPUE,BIN"\
+/typ="num,num,num,num,-,num,num,num,-,num,num,num,num,num,"/delim="\,"\
+ shorttest.dat
+ 
+set var/title="year" YEAR
+set var/title="month" MONTH
+set var/title="lon"/units="degrees_E" LON
+set var/title="lat"/units="degrees_N" LAT
+set var/title="hauljoin" HAULJOIN
+set var/title="length"/units="mm" LENGTH
+set var/title="freq"/units="Number" FREQ
+set var/title="bttm_temp"/units="degrees_C" BTTM_TEMP
+set var/title="SST"/units="degrees_C" SST
+set var/title="bttm_depth"/units="m" BTTM_DEPTH
+set var/title="CPUE"/units="fish/km**2" CPUE
+set var/title="bin_size"/units="mm" BIN
+ 
+! Previously this caused netcdf library errors and exited out of Ferret
+save/file=a.nc/clobber year, month, lon, lat, hauljoin, length, freq, bttm_temp, SST, bttm_depth, CPUE, bin
+ 
+sp ncdump -h a.nc
+netcdf a {
+dimensions:
+	row_ax = 10 ;
+variables:
+	double row_ax(row_ax) ;
+		row_ax:point_spacing = "even" ;
+		row_ax:axis = "X" ;
+	double YEAR(row_ax) ;
+		YEAR:missing_value = -1.e+34 ;
+		YEAR:_FillValue = -1.e+34 ;
+		YEAR:long_name = "year" ;
+		YEAR:history = "From shorttest.dat" ;
+	double MONTH(row_ax) ;
+		MONTH:missing_value = -1.e+34 ;
+		MONTH:_FillValue = -1.e+34 ;
+		MONTH:long_name = "month" ;
+		MONTH:history = "From shorttest.dat" ;
+	double LON(row_ax) ;
+		LON:missing_value = -1.e+34 ;
+		LON:_FillValue = -1.e+34 ;
+		LON:long_name = "lon" ;
+		LON:units = "degrees_E" ;
+		LON:history = "From shorttest.dat" ;
+	double LAT(row_ax) ;
+		LAT:missing_value = -1.e+34 ;
+		LAT:_FillValue = -1.e+34 ;
+		LAT:long_name = "lat" ;
+		LAT:units = "degrees_N" ;
+		LAT:history = "From shorttest.dat" ;
+	double HAULJOIN(row_ax) ;
+		HAULJOIN:missing_value = -1.e+34 ;
+		HAULJOIN:_FillValue = -1.e+34 ;
+		HAULJOIN:long_name = "hauljoin" ;
+		HAULJOIN:history = "From shorttest.dat" ;
+	double LENGTH(row_ax) ;
+		LENGTH:missing_value = -1.e+34 ;
+		LENGTH:_FillValue = -1.e+34 ;
+		LENGTH:long_name = "length" ;
+		LENGTH:units = "mm" ;
+		LENGTH:history = "From shorttest.dat" ;
+	double FREQ(row_ax) ;
+		FREQ:missing_value = -1.e+34 ;
+		FREQ:_FillValue = -1.e+34 ;
+		FREQ:long_name = "freq" ;
+		FREQ:units = "Number" ;
+		FREQ:history = "From shorttest.dat" ;
+	double BTTM_TEMP(row_ax) ;
+		BTTM_TEMP:missing_value = -1.e+34 ;
+		BTTM_TEMP:_FillValue = -1.e+34 ;
+		BTTM_TEMP:long_name = "bttm_temp" ;
+		BTTM_TEMP:units = "degrees_C" ;
+		BTTM_TEMP:history = "From shorttest.dat" ;
+	double SST(row_ax) ;
+		SST:missing_value = -1.e+34 ;
+		SST:_FillValue = -1.e+34 ;
+		SST:long_name = "SST" ;
+		SST:units = "degrees_C" ;
+		SST:history = "From shorttest.dat" ;
+	double BTTM_DEPTH(row_ax) ;
+		BTTM_DEPTH:missing_value = -1.e+34 ;
+		BTTM_DEPTH:_FillValue = -1.e+34 ;
+		BTTM_DEPTH:long_name = "bttm_depth" ;
+		BTTM_DEPTH:units = "m" ;
+		BTTM_DEPTH:history = "From shorttest.dat" ;
+	double CPUE(row_ax) ;
+		CPUE:missing_value = -1.e+34 ;
+		CPUE:_FillValue = -1.e+34 ;
+		CPUE:long_name = "CPUE" ;
+		CPUE:units = "fish/km**2" ;
+		CPUE:history = "From shorttest.dat" ;
+	double BIN(row_ax) ;
+		BIN:missing_value = -1.e+34 ;
+		BIN:_FillValue = -1.e+34 ;
+		BIN:long_name = "bin_size" ;
+		BIN:units = "mm" ;
+		BIN:history = "From shorttest.dat" ;
+
+// global attributes:
+		:history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
+		:Conventions = "CF-1.6" ;
+}
+ 
+GO bn_reset
+cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+GO err71_isready_unknown
+! err71_isready_unknown.jnl
+! ticket 2533, variable b depending on undefined variable c is
+! reported not ready, but variable a with a regridding operation is
+! mistakenly reported ready.
+ 
+use coads_climatology
+let a = b[gxy=sst[d=1]]
+let b = c
+ 
+! both should return 0
+say `b,r=isready`
+ !-> MESSAGE/CONTINUE 0
+0
+say `a,r=isready`
+ !-> MESSAGE/CONTINUE 0
+0
+ 
+! And VTREE reported no unknown variables in its tree
+! The line for C should say UNKNOWN VARIABLE
+sho var/tree a
+   in default dataset coads_climatology
+   A = B[GXY=SST[D=1]]
+     B = C
+       C ??			<== UNKNOWN VARIABLE ******
+ 
+ 
+GO bn_reset
+cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+GO err71_ppl_sho_empty
+! err71_ppl_sho_empty.jnl
+! ticket 2543, PPL SHOW pplsym is a command, but it
+! gave a Fortran runtime error if given with no argument
+! Now send these errors through the Ferret errmsg routine.
+ 
+! This is a valid sequence, pplus symbol definition
+ 
+pplus set xpos 3.2
+pplus show xpos
+ XPOS                           = 3.2
+ 
+! intentional error
+ 
+set mode ignore
+ 
+! This is a correct error message, undefined symbol
+pplus show nosymbol
+ 
+! This previously hit a runtime error, symbol name missing.
+ppl show
+ 
+! Another PPL error we might hit is an invalid command.
+! Write this error message
+PPL nonsense
+ 
+set mode/last ignore
+ 
+ 
+GO bn_reset
+cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+GO err71_string_and_if
+! err71_string_and_if.jnl
+!  6/28/2018, ticket 2547
+ 
+! problem with masked strings -> unexpected values instead of strings:
+can var/all
+let test = {1,1,0}
+let strings = {"a", "b", "c"}
+list if (test) then strings
+             VARIABLE : IF (TEST) THEN STRINGS
+             SUBSET   : 3 points (X)
+ 1   / 1:"a"
+ 2   / 2:"b"
+ 3   / 3:"" 
+ 
+! works: define a masked variable instead, then list
+let masked = if (test) then strings
+list masked
+             VARIABLE : IF (TEST) THEN STRINGS
+             SUBSET   : 3 points (X)
+ 1   / 1:"a"
+ 2   / 2:"b"
+ 3   / 3:"" 
+ 
+! alternatively, do the same listing for a float first
+let floats = {2,3,4}
+list if (test) then floats
+             VARIABLE : IF (TEST) THEN FLOATS
+             SUBSET   : 3 points (X)
+ 1   / 1:  2.000000
+ 2   / 2:  3.000000
+ 3   / 3:      ....
+ 
+! now, also for strings listing while masking works
+list if (test) then strings
+             VARIABLE : IF (TEST) THEN STRINGS
+             SUBSET   : 3 points (X)
+ 1   / 1:"a"
+ 2   / 2:"b"
+ 3   / 3:"" 
+ 
+ 
+ 
+! the next problem comes with xsequence
+! again unexpected numerical values instead of strings
+can var/all
+let test = {1,1,0}
+let strings = {"a", "b", "c"}
+let masked = if (test) then strings
+list xsequence(masked)
+             VARIABLE : XSEQUENCE(MASKED)
+             SUBSET   : 3 points (X)
+ 1   / 1:"a"
+ 2   / 2:"b"
+ 3   / 3:"" 
+ 
+! but doing a listing first fixes it:
+can var/all
+let test = {1,1,0}
+let strings = {"a", "b", "c"}
+list if (test) then strings
+             VARIABLE : IF (TEST) THEN STRINGS
+             SUBSET   : 3 points (X)
+ 1   / 1:"a"
+ 2   / 2:"b"
+ 3   / 3:"" 
+let masked = if (test) then strings
+list xsequence(masked)
+             VARIABLE : XSEQUENCE(MASKED)
+             SUBSET   : 3 points (X)
+ 1   / 1:"a"
+ 2   / 2:"b"
+ 3   / 3:"" 
+ 
+ 
+! NOT fixed by defining a second masked variable before:
+can var/all
+let test = {1,1,0}
+let strings = {"a", "b", "c"}
+let masked = if (test) then strings
+let masked2 = xsequence(masked)
+list masked2
+             VARIABLE : XSEQUENCE(MASKED)
+             SUBSET   : 3 points (X)
+ 1   / 1:"a"
+ 2   / 2:"b"
+ 3   / 3:"" 
+ 
+ 
+GO bn_reset
+cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+GO err71_expr_w_const
+! err71_expr_w_const.jnl
+! ticket 2313: return= is loading the whole
+! grid unnecessarily in the last example
+ 
+set mem/size=1
+def ax/t=1-jan-0001:1-jan-1000:1/unit=year tax
+let a = t[gt=tax] + x[gx=1:1000:1] + y[gy=1:1000:1]
+ 
+! These work fine
+say `a,return=cal`
+ !-> MESSAGE/CONTINUE GREGORIAN
+GREGORIAN
+ 
+use coads_climatology
+let s1= sst[x=@ave,y=1,L=@max]
+say `s1*a,return=cal`
+ !-> MESSAGE/CONTINUE GREGORIAN
+GREGORIAN
+ 
+! but the constant variable "let one = 1" introduced abstract
+! axes to the grid which  caused Ferret to try to load the
+! data in A which is large
+ 
+let one = 1
+let a1 = a*one
+show grid a1
+    GRID (G175)
+ name       axis              # pts   start                end                 subset
+ (AX125)   X                 1000 r   1                    1000                1000 pts
+ (AX125)   Y                 1000 r   1                    1000                1000 pts
+ normal    Z
+ tax       TIME              1000 r   01-JAN-0001 00:00    01-JAN-1000 06:10   full
+say `a*one,return=cal`
+ !-> MESSAGE/CONTINUE GREGORIAN
+GREGORIAN
+ 
+GO bn_reset
+cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+GO err71_colorlevs
+! err71_colorlevs
+! See ticket 2550. Top data value is not among color levels used in the plot.
+! And symbols LEV* do not list the levels used.
+ 
+use co_emac.nc
+stat co_emac
+ 
+             CO EMAC
+             LONGITUDE: 0E to 120E
+             LATITUDE: 0 to 40N
+             Z:  N/A
+             T:  N/A
+             E:  N/A
+             F:  N/A
+             DATA SET: ./co_emac.nc
+ 
+ Total # of data points: 48 (12*4*1*1*1*1)
+ # flagged as bad  data: 4
+ Minimum value: 6.152674857E-08
+ Maximum value: 0.00000018643
+ Mean    value: 0.000000087383 (unweighted average)
+ Standard deviation: 2.230821645E-08
+ 
+! previously there were 25 levels chosen by the automatic
+! method, missing the top one because of roundoff error.
+! Thus one cell went unfilled.  The LEV_MIN etc symbols were
+! set to 0 because of inadequate formatting of the tiny numbers.
+ 
+set mode nlevels 30
+shade co_emac
+sh sym lev*
+LEV_MIN = "6.E-08"
+LEV_MAX = "1.9E-07"
+LEV_NUM = "26"
+LEV_DEL = "5.E-09"
+ 
+GO bn_reset
+cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+GO err71_repeat_paren
+! err71_repeat_paren.jnl
+! Ticket 2551. The second command with an extra parenthese is not reported
+! to be a syntax error but just reports wrong info.
+ 
+repeat/range=1:3:1/name=count (def sym count = `count`; say ($count); message/continue)
+ !-> repeat/range=1:3:1/name=count (def sym count = `count`; say ($count); message/continue)
+!-> REPEAT: COUNT:1
+ !-> def sym count = 1
+ !-> MESSAGE/CONTINUE 1
+1
+
+!-> REPEAT: COUNT:2
+ !-> def sym count = 2
+ !-> MESSAGE/CONTINUE 2
+2
+
+!-> REPEAT: COUNT:3
+ !-> def sym count = 3
+ !-> MESSAGE/CONTINUE 3
+3
+
+ 
+! Previously the extra paren at the end did not trigger an error
+! but caused a parsing error so the command
+!   say ($count)
+! was parsed and fixed at "say 3" before the loop started.
+ 
+set mode ignore
+repeat/range=1:3:1/name=count (def sym count = `count`; say ($count); message/continue))
+set mode/last ignore
+ 
+ 
+GO bn_reset bn_compressed_gather
+cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_compressed_gather
+GO bn_compressed_gather
+! bn_compressed_gather.jnl
+! 11/2016 (for trac #2428 enhancement)
+! updated 3/17 for dynamic memory and using SHOW MEM/DIAG
+ 
+! force a split/gather operation due to a T=@ave
+ 
+! in previous versions of Ferret the split could not occur on the transformed
+! axis, so the X axis would have been used.  Here the T=@ave axis will be used
+ 
+! Give us something to look at while we run these tests which dont make plots
+plot/noax/nolab/vlim=0:1/i=4:5 i
+annotate/norm/x=0/y=0.5 "@AC... running bn_compressed_gather"
+ 
+! ******* tests of  T=@DIN and T=@ave ******
+define axis/x=1:1001:1 xax
+define axis/y=1:10:1 yax
+define axis/T=1:1000:1 tax
+ 
+let xt = (x[gx=xax]-501) + 0*y[gy=yax] + T[gt=tax]
+ 
+* note: SUM of integers 1 to 1000 = N(N+1)/2 ==> 500500
+*       stat average of (x[gx=xax]-501) is zero
+*       so the full 2D stat mean should be 500500
+ 
+! there are 10*1000*1001 points in the full grid => ~10M
+! given the necessary cautions (see IS_STRIP and MODE FRUGAL),
+! a size of 12 for sure requires a gather operation
+! confirm gathering is occuring by looking at the diagnostic output
+ 
+!set mode desperate: 400000
+SET MEMORY/SIZE=12
+ 
+stat xt[l=@din]
+ 
+             (X[GX=XAX]-501) + 0*Y[GY=YAX] + T[GT=TAX]
+             X: 0.5 to 1002
+             Y: 0.5 to 10.5
+             Z:  N/A
+             T: 0.5 to 1000.5 (integrated)
+             E:  N/A
+             F:  N/A
+             DATA SET: N/A
+ 
+ Total # of data points: 10010 (1001*10*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 500
+ Maximum value: 1000500
+ Mean    value: 500500 (unweighted average)
+ Standard deviation: 288978
+SHOW MEMORY/DIAGNOSTIC   ! look at peak memory usage
+    Last gather
+        Variable    Axis   Xform     Chunk    Repeated
+        XT             T     DIN       209           1
+    Total table slots: 500
+    Free table slots: 494
+    Un-cached variables: 0
+    SET MEMORY/SIZE: 12 megawords
+    Peak demand: 2.122329 megawords
+    Current cache: 10.03002 megawords
+ 
+! many variations on this test
+! note that in the first case peak memory will show as ZERO.
+! The first SET MEMORY command resets the peak memory to zero, and
+! then the expression "xt[l=@din]" gets found without re-computation
+! having been computed just above
+GO bn_compressed_gather.sub xt[l=@din] 40 12
+ 
+ Total # of data points: 10010 (1001*10*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 500
+ Maximum value: 1000500
+ Mean    value: 500500 (unweighted average)
+    SET MEMORY/SIZE: 40 megawords
+    Peak demand: 20020 words
+    Current cache: 10.03002 megawords
+ 
+ Total # of data points: 10010 (1001*10*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 500
+ Maximum value: 1000500
+ Mean    value: 500500 (unweighted average)
+    SET MEMORY/SIZE: 12 megawords
+    Peak demand: 2.122329 megawords
+    Current cache: 10.03002 megawords
+COMPRESSED GATHER success on expression xt[l=@din]
+ 
+! altered limits syntax
+GO bn_compressed_gather.sub xt[l=1:1000 at din] 40 12
+ 
+ Total # of data points: 10010 (1001*10*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 500
+ Maximum value: 1000500
+ Mean    value: 500500 (unweighted average)
+    SET MEMORY/SIZE: 40 megawords
+    Peak demand: 20020 words
+    Current cache: 10.030021 megawords
+ 
+ Total # of data points: 10010 (1001*10*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 500
+ Maximum value: 1000500
+ Mean    value: 500500 (unweighted average)
+    SET MEMORY/SIZE: 12 megawords
+    Peak demand: 2.122329 megawords
+    Current cache: 10.03002 megawords
+COMPRESSED GATHER success on expression xt[l=1:1000 at din]
+ 
+! test T=@AVE
+GO bn_compressed_gather.sub xt[l=@ave]  40 12
+ 
+ Total # of data points: 10010 (1001*10*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 0.5
+ Maximum value: 1000.5
+ Mean    value: 500.5 (unweighted average)
+    SET MEMORY/SIZE: 40 megawords
+    Peak demand: 7.007 megawords
+    Current cache: 10.030021 megawords
+ 
+ Total # of data points: 10010 (1001*10*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 0.5
+ Maximum value: 1000.5
+ Mean    value: 500.5 (unweighted average)
+    SET MEMORY/SIZE: 12 megawords
+    Peak demand: 2.122329 megawords
+    Current cache: 10.03002 megawords
+COMPRESSED GATHER success on expression xt[l=@ave]
+ 
+! various partial grid points at end
+GO bn_compressed_gather.sub xt[T=@ave]  40 12
+ 
+ Total # of data points: 10010 (1001*10*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 0.5
+ Maximum value: 1000.5
+ Mean    value: 500.5 (unweighted average)
+    SET MEMORY/SIZE: 40 megawords
+    Peak demand: 7.007 megawords
+    Current cache: 10.030021 megawords
+ 
+ Total # of data points: 10010 (1001*10*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 0.5
+ Maximum value: 1000.5
+ Mean    value: 500.5 (unweighted average)
+    SET MEMORY/SIZE: 12 megawords
+    Peak demand: 2.122329 megawords
+    Current cache: 10.03002 megawords
+COMPRESSED GATHER success on expression xt[T=@ave]
+GO bn_compressed_gather.sub xt[T=0.5:1000.5 at ave]  40 12
+ 
+ Total # of data points: 10010 (1001*10*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 0.5
+ Maximum value: 1000.5
+ Mean    value: 500.5 (unweighted average)
+    SET MEMORY/SIZE: 40 megawords
+    Peak demand: 7.007 megawords
+    Current cache: 10.030021 megawords
+ 
+ Total # of data points: 10010 (1001*10*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 0.5
+ Maximum value: 1000.5
+ Mean    value: 500.5 (unweighted average)
+    SET MEMORY/SIZE: 12 megawords
+    Peak demand: 2.122329 megawords
+    Current cache: 10.03002 megawords
+COMPRESSED GATHER success on expression xt[T=0.5:1000.5 at ave]
+GO bn_compressed_gather.sub xt[T=0.6:1000.4 at ave]  40 12
+ 
+ Total # of data points: 10010 (1001*10*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 0.5
+ Maximum value: 1000.5
+ Mean    value: 500.5 (unweighted average)
+    SET MEMORY/SIZE: 40 megawords
+    Peak demand: 7.007 megawords
+    Current cache: 10.030021 megawords
+ 
+ Total # of data points: 10010 (1001*10*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 0.5
+ Maximum value: 1000.5
+ Mean    value: 500.5 (unweighted average)
+    SET MEMORY/SIZE: 12 megawords
+    Peak demand: 2.122329 megawords
+    Current cache: 10.03002 megawords
+COMPRESSED GATHER success on expression xt[T=0.6:1000.4 at ave]
+GO bn_compressed_gather.sub xt[T=1:1000 at ave]  40 12
+ 
+ Total # of data points: 10010 (1001*10*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 0.5
+ Maximum value: 1000.5
+ Mean    value: 500.5 (unweighted average)
+    SET MEMORY/SIZE: 40 megawords
+    Peak demand: 7.007 megawords
+    Current cache: 10.030021 megawords
+ 
+ Total # of data points: 10010 (1001*10*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 0.5
+ Maximum value: 1000.5
+ Mean    value: 500.5 (unweighted average)
+    SET MEMORY/SIZE: 12 megawords
+    Peak demand: 2.122329 megawords
+    Current cache: 10.03002 megawords
+COMPRESSED GATHER success on expression xt[T=1:1000 at ave]
+GO bn_compressed_gather.sub xt[T=1.2:999.8 at ave] 40 12
+ 
+ Total # of data points: 10010 (1001*10*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 0.5
+ Maximum value: 1000.5
+ Mean    value: 500.5 (unweighted average)
+    SET MEMORY/SIZE: 40 megawords
+    Peak demand: 7.007 megawords
+    Current cache: 10.030021 megawords
+ 
+ Total # of data points: 10010 (1001*10*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 0.5
+ Maximum value: 1000.5
+ Mean    value: 500.5 (unweighted average)
+    SET MEMORY/SIZE: 12 megawords
+    Peak demand: 2.122329 megawords
+    Current cache: 10.03002 megawords
+COMPRESSED GATHER success on expression xt[T=1.2:999.8 at ave]
+ 
+! *********************************************************
+! ******* tests of "4D" @DIN and @ave ******
+define axis/x=1:200:1 xax
+define axis/y=1:200:1 yax
+define axis/z=1:200:1 zax
+define axis/T=1:2:1  tax
+let xyz  = 0*X[gx=xax] + 0*Y[gy=yax] + Z[gz=zax]
+let xyzt = 0*X[gx=xax] + 0*Y[gy=yax] + Z[gz=zax] + 0*T[gt=tax]
+ 
+* note: SUM of Z is N*(N+1)/2 = 20100
+* area integral in XY is 200*200=40,000
+* total integral is 804,000,000 (8.04*E8)
+ 
+* 3D XYZ test
+* 2d slice size = 200*200 = 40,000
+* 3d full size is 8,000,000  - so 10,000,000 is bigger
+ 
+! confirm gathering is occuring by looking at the diagnostic output
+cancel memory/all
+!set mode desp: 2000000
+set memory/size = 2  ! 2M v 8M: requires split/gather
+! will split into 4 pieces (1/4 of 8,000,000 fits into 2,000,000)
+! so z=1:50; then =51:100, Z=101:150, Z=151:200
+stat xyz[x=@din,y=@din,z=@din]
+ 
+             0*X[GX=XAX] + 0*Y[GY=YAX] + Z[GZ=ZAX]
+             X: 0.5 to 200.5 (XYZ integ.)
+             Y: 0.5 to 200.5 (XYZ integ.)
+             Z: 0.5 to 200.5 (XYZ integ.)
+             T:  N/A
+             E:  N/A
+             F:  N/A
+             DATA SET: N/A
+ 
+ Total # of data points: 1 (1*1*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 8.04E+08
+ Maximum value: 8.04E+08
+ Mean    value: 8.04E+08 (unweighted average)
+SHOW MEMORY/DIAGNOSTIC   ! look at peak memory usage
+    Last gather
+        Variable    Axis   Xform     Chunk    Repeated
+        XYZ            Z     IN4         8           1
+    Total table slots: 500
+    Free table slots: 493
+    Un-cached variables: 0
+    SET MEMORY/SIZE: 2 megawords
+    Peak demand: 360010 words
+    Current cache: 1.920002 megawords
+ 
+! the clean version of same test
+GO bn_compressed_gather.sub xyz[x=@din,y=@din,z=@din] 20 2
+ 
+ Total # of data points: 1 (1*1*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 8.04E+08
+ Maximum value: 8.04E+08
+ Mean    value: 8.04E+08 (unweighted average)
+    SET MEMORY/SIZE: 20 megawords
+    Peak demand: 2 words
+    Current cache: 1.920002 megawords
+ 
+ Total # of data points: 1 (1*1*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 8.04E+08
+ Maximum value: 8.04E+08
+ Mean    value: 8.04E+08 (unweighted average)
+    SET MEMORY/SIZE: 2 megawords
+    Peak demand: 360010 words
+    Current cache: 1.920002 megawords
+COMPRESSED GATHER success on expression xyz[x=@din,y=@din,z=@din]
+ 
+! also do the average, which will provide a comparison result for the test
+! that follows
+! average along Z is 100.5
+GO bn_compressed_gather.sub xyz[x=@ave,y=@ave,z=@ave] 20 2
+ 
+ Total # of data points: 1 (1*1*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 100.5
+ Maximum value: 100.5
+ Mean    value: 100.5 (unweighted average)
+    SET MEMORY/SIZE: 20 megawords
+    Peak demand: 3.520089 megawords
+    Current cache: 8.000003 megawords
+ 
+ Total # of data points: 1 (1*1*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 100.5
+ Maximum value: 100.5
+ Mean    value: 100.5 (unweighted average)
+    SET MEMORY/SIZE: 2 megawords
+    Peak demand: 360010 words
+    Current cache: 1.920002 megawords
+COMPRESSED GATHER success on expression xyz[x=@ave,y=@ave,z=@ave]
+ 
+! Since the T axis has only 2 points, the arithmetic above shows that the
+! chunks to be gathered will still be too large after splitting on T, which
+! in theory would trigger further splitting along Z.  However, there is only
+! one opportunity to process compressed axis splitting -- in IS_STRIP
+! at the time that it is stripping off the compressed transformation.  But
+! a "4D" transform is stripped in a single operation. We choose an axis that
+! is long enough to break into sufficiently small fragments
+set memory/size = 6  ! 16M points in grid, 8M in each T-chunk
+stat xyzt[x=@ave,y=@ave,z=@ave,t=@ave]
+ 
+             0*X[GX=XAX] + 0*Y[GY=YAX] + Z[GZ=ZAX] + 0*T[GT=TAX]
+             X: 0.5 to 200.5 (XYZT ave)
+             Y: 0.5 to 200.5 (XYZT ave)
+             Z: 0.5 to 200.5 (XYZT ave)
+             T: 0.5 to 2.5 (XYZT ave)
+             E:  N/A
+             F:  N/A
+             DATA SET: N/A
+ 
+ Total # of data points: 1 (1*1*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 100.5
+ Maximum value: 100.5
+ Mean    value: 100.5 (unweighted average)
+show mem/diagnostic
+    Last gather
+        Variable    Axis   Xform     Chunk    Repeated
+        XYZT           Z     AV4        13           1
+    Total table slots: 500
+    Free table slots: 493
+    Un-cached variables: 0
+    SET MEMORY/SIZE: 6 megawords
+    Peak demand: 1.560004 megawords
+    Current cache: 5.600002 megawords
+ 
+! test splitting along 2 axes in succession by making T=@AVE into a separate
+! averaging operation
+CANCEL MEMORY/ALL
+LET xyzave = xyzt[x=@ave,y=@ave,z=@ave]
+!set mode desp: 2000000
+set memory/size = 6  ! 2M v 8M: requires split/gather
+stat xyzave[t=@ave]
+ 
+             XYZT[X=@AVE,Y=@AVE,Z=@AVE]
+             X: 0.5 to 200.5
+             Y: 0.5 to 200.5
+             Z: 0.5 to 200.5
+             T: 0.5 to 2.5 (averaged)
+             E:  N/A
+             F:  N/A
+             DATA SET: N/A
+ 
+ Total # of data points: 1 (1*1*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 100.5
+ Maximum value: 100.5
+ Mean    value: 100.5 (unweighted average)
+SHOW MEMORY/DIAGNOSTIC   ! look at peak memory usage
+    Last gather
+        Variable    Axis   Xform     Chunk    Repeated
+        XYZAVE         T     AVE         1           1
+        XYZT           Z     AV4        26           2
+    Total table slots: 500
+    Free table slots: 492
+    Un-cached variables: 0
+    SET MEMORY/SIZE: 6 megawords
+    Peak demand: 2.080005 megawords
+    Current cache: 4.880005 megawords
+ 
+! *********************************************************
+! ******* tests of T= @var and @std ******
+! the @var and @std transformation had to be switched to
+! a single pass algorithm in order to implement split/gather
+define axis/x=1:10000:1 xax
+define axis/T=1:1001:1 tax
+ 
+let xt = 0*x[gx=xax] + T[gt=tax]
+let constant = 0*X[gx=xax] + 0*T[gt=tax] + 1234
+let xt_zero_mean = 0*X[gx=xax] + (T[gt=tax]-501) + 1234
+ 
+* note: sum of a sequence 1 to N of square integers is [N*(N+1)*(2N+1)]/6
+* T-501 is 2 sequences: -500 to 1 and 1 to 500, therefore sum is
+* 2 * [500*501*1001]/6 = 83583500
+* mean of this sequence is 83583500/1001 = 83500
+* ==> look for this as the correct answer to variance
+ 
+! confirm gathering is occuring by looking at the diagnostic output
+!set mode desperate: 400000
+set memory/size= 12
+stat constant[l=@var]
+ 
+             Variance of 0*X[GX=XAX] + 0*T[GT=TAX] + 1234
+             X: 0.5 to 10001
+             Y:  N/A
+             Z:  N/A
+             T: 0.5 to 1001.5 (variance)
+             E:  N/A
+             F:  N/A
+             DATA SET: N/A
+ 
+ Total # of data points: 10000 (10000*1*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 0
+ Maximum value: 0
+ Mean    value: 0 (unweighted average)
+ Standard deviation: 0
+SHOW MEMORY/DIAGNOSTIC   ! look at peak memory usage
+    Last gather
+        Variable    Axis   Xform     Chunk    Repeated
+        CONSTANT       T     VAR       209           1
+    Total table slots: 500
+    Free table slots: 494
+    Un-cached variables: 0
+    SET MEMORY/SIZE: 12 megawords
+    Peak demand: 4.210001 megawords
+    Current cache: 10.04 megawords
+ 
+! clean test
+cancel memory/all
+GO bn_compressed_gather.sub constant[l=@var] 40 12
+ 
+ Total # of data points: 10000 (10000*1*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 0
+ Maximum value: 0
+ Mean    value: 0 (unweighted average)
+    SET MEMORY/SIZE: 40 megawords
+    Peak demand: 13.980001 megawords
+    Current cache: 10.04 megawords
+ 
+ Total # of data points: 10000 (10000*1*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 0
+ Maximum value: 0
+ Mean    value: 0 (unweighted average)
+    SET MEMORY/SIZE: 12 megawords
+    Peak demand: 4.210001 megawords
+    Current cache: 10.04 megawords
+COMPRESSED GATHER success on expression constant[l=@var]
+ 
+! known result
+GO bn_compressed_gather.sub xt_zero_mean[l=@var] 40 12
+ 
+ Total # of data points: 10000 (10000*1*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 83500
+ Maximum value: 83500
+ Mean    value: 83500 (unweighted average)
+    SET MEMORY/SIZE: 40 megawords
+    Peak demand: 13.980001 megawords
+    Current cache: 10.040001 megawords
+ 
+ Total # of data points: 10000 (10000*1*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 83500
+ Maximum value: 83500
+ Mean    value: 83500 (unweighted average)
+    SET MEMORY/SIZE: 12 megawords
+    Peak demand: 4.210001 megawords
+    Current cache: 10.04 megawords
+COMPRESSED GATHER success on expression xt_zero_mean[l=@var]
+ 
+! adding a constant doesn't effect the variance
+GO bn_compressed_gather.sub xt[l=@var] 40 12
+ 
+ Total # of data points: 10000 (10000*1*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 83500
+ Maximum value: 83500
+ Mean    value: 83500 (unweighted average)
+    SET MEMORY/SIZE: 40 megawords
+    Peak demand: 7.02 megawords
+    Current cache: 10.040001 megawords
+ 
+ Total # of data points: 10000 (10000*1*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 83500
+ Maximum value: 83500
+ Mean    value: 83500 (unweighted average)
+    SET MEMORY/SIZE: 12 megawords
+    Peak demand: 2.130209 megawords
+    Current cache: 10.04 megawords
+COMPRESSED GATHER success on expression xt[l=@var]
+ 
+! same test, but  on @std (only one line of code difference so limited test)
+* square root of 83500 is 288.96366553599779.
+* Note: previous Ferret versions gave a consistent value
+*  Minimum value: 288.9636655359978
+*  Maximum value: 288.9636655359978
+*  Mean    value: 288.9636655359978
+* Now (11/16) we are getting slight variations in the 16th decimal (see"6")
+*  Minimum value: 288.9636655359978
+*  Maximum value: 288.9636655359978
+*  Mean    value: 288.9636655359976
+* *sh* @std differs from @var only by taking a SQRT() in the finalization step.
+*      I suspect this is an artifact of the compiler optimization level
+GO bn_compressed_gather.sub xt[l=@std] 4000000 400000
+ 
+ Total # of data points: 10000 (10000*1*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 288.9636655359978
+ Maximum value: 288.9636655359978
+ Mean    value: 288.9636655360099 (unweighted average)
+    SET MEMORY/SIZE: 4000000 megawords
+    Peak demand: 10.04 megawords
+    Current cache: 10.040001 megawords
+ 
+ Total # of data points: 10000 (10000*1*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 288.9636655359978
+ Maximum value: 288.9636655359978
+ Mean    value: 288.9636655360099 (unweighted average)
+    SET MEMORY/SIZE: 400000 megawords
+    Peak demand: 10.04 megawords
+    Current cache: 10.04 megawords
+COMPRESSED GATHER success on expression xt[l=@std]
+ 
+ 
+! *********************************************************
+! ******* tests of "4D" @var and @std ******
+! the @var and @srd transformation had to be switched to
+! a single pass algorithm in order to implement split/gather
+define axis/x=1:200:1 xax
+define axis/y=1:200:1 yax
+define axis/z=1:201:1 zax
+define axis/T=1:200:1 tax
+! adding a constant doesn't effect variance
+let constant = 0*X[gx=xax] + 0*Y[gy=yax] + 0*Z[gz=zax] + 1234
+let xyz = 0*X[gx=xax] + 0*Y[gy=yax] + Z[gz=zax] + 1
+let xyz_zero_mean = 0*X[gx=xax] + 0*Y[gy=yax] + (Z[gz=zax]-101)
+ 
+* note: sum of a sequence 1 to N of square integers is [N*(N+1)*(2N+1)]/6
+* Z-101 is 2 sequences: -100 to -1 and 1 to 100, therefore sum is
+* 2 * [100*101*201]/6 = 676700
+* so the average is 676700/201 = 3366.666666 ...
+* At every XY point we have the identical sequence in Z, so the variance is
+* the same as the single Z sequence
+ 
+* 3D XYZ test
+* 2d slice size = 200*200 = 40,000
+* 3d full size is 8,000,000  - so 10,000,000 is bigger
+cancel memory/all
+!set mode desp: 2000000
+set memory/size = 2  ! 2M v 8M: requires split/gather
+! will split into 4 pieces (1/4 of 8,000,000 fits into 2,000,000)
+! so z=1:50; then =51:100, Z=101:150, Z=151:200
+LIST/PREC=12 constant[x=@var,y=@var,z=@var]
+             VARIABLE : 0*X[GX=XAX] + 0*Y[GY=YAX] + 0*Z[GZ=ZAX] + 1234
+             X        : 0.5 to 200.5 (XYZ variance)
+             Y        : 0.5 to 200.5 (XYZ variance)
+             Z        : 0.5 to 201.5 (XYZ variance)
+          0.000000000000
+ 
+! variance of a constant is zero
+GO bn_compressed_gather.sub constant[x=@var,y=@var,z=@var] 20 2
+ 
+ Total # of data points: 1 (1*1*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 0
+ Maximum value: 0
+ Mean    value: 0 (unweighted average)
+    SET MEMORY/SIZE: 20 megawords
+    Peak demand: 3 words
+    Current cache: 1.640003 megawords
+ 
+ Total # of data points: 1 (1*1*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 0
+ Maximum value: 0
+ Mean    value: 0 (unweighted average)
+    SET MEMORY/SIZE: 2 megawords
+    Peak demand: 640004 words
+    Current cache: 1.640003 megawords
+COMPRESSED GATHER success on expression constant[x=@var,y=@var,z=@var]
+ 
+! confirm that we get the result computed above
+GO bn_compressed_gather.sub xyz_zero_mean[x=@var,y=@var,z=@var]  20 2
+ 
+ Total # of data points: 1 (1*1*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 3366.7
+ Maximum value: 3366.7
+ Mean    value: 3366.7 (unweighted average)
+    SET MEMORY/SIZE: 20 megawords
+    Peak demand: 3.52009 megawords
+    Current cache: 8.040004 megawords
+ 
+ Total # of data points: 1 (1*1*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 3366.7
+ Maximum value: 3366.7
+ Mean    value: 3366.7 (unweighted average)
+    SET MEMORY/SIZE: 2 megawords
+    Peak demand: 360011 words
+    Current cache: 1.640003 megawords
+COMPRESSED GATHER success on expression xyz_zero_mean[x=@var,y=@var,z=@var]
+LIST/PREC=12 xyz_zero_mean[x=@var,y=@var,z=@var]
+             VARIABLE : 0*X[GX=XAX] + 0*Y[GY=YAX] + (Z[GZ=ZAX]-101)
+             X        : 0.5 to 200.5 (XYZ variance)
+             Y        : 0.5 to 200.5 (XYZ variance)
+             Z        : 0.5 to 201.5 (XYZ variance)
+          3366.66666667
+ 
+! confirm that adding a constant does not change the result
+GO bn_compressed_gather.sub xyz[x=@var,y=@var,z=@var]  20 2
+ 
+ Total # of data points: 1 (1*1*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 3366.7
+ Maximum value: 3366.7
+ Mean    value: 3366.7 (unweighted average)
+    SET MEMORY/SIZE: 20 megawords
+    Peak demand: 6.960004 megawords
+    Current cache: 9.680006 megawords
+ 
+ Total # of data points: 1 (1*1*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 3366.7
+ Maximum value: 3366.7
+ Mean    value: 3366.7 (unweighted average)
+    SET MEMORY/SIZE: 2 megawords
+    Peak demand: 640004 words
+    Current cache: 1.640003 megawords
+COMPRESSED GATHER success on expression xyz[x=@var,y=@var,z=@var]
+LIST/PREC=12 xyz[x=@var,y=@var,z=@var]
+             VARIABLE : 0*X[GX=XAX] + 0*Y[GY=YAX] + Z[GZ=ZAX] + 1
+             X        : 0.5 to 200.5 (XYZ variance)
+             Y        : 0.5 to 200.5 (XYZ variance)
+             Z        : 0.5 to 201.5 (XYZ variance)
+          3366.66666667
+ 
+CANCEL MEMORY/ALL  ! IF PRESENT THIS PREVENTS THE MEMORY CORRUPTION
+! confirm the @std gives the square root of the variance
+! SQRT(676700/201) = 58.022983951764034269074805569046
+GO bn_compressed_gather.sub xyz[x=@std,y=@std,z=@std]  20 2
+ 
+ Total # of data points: 1 (1*1*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 58.023
+ Maximum value: 58.023
+ Mean    value: 58.023 (unweighted average)
+    SET MEMORY/SIZE: 20 megawords
+    Peak demand: 6.960004 megawords
+    Current cache: 8.040003 megawords
+ 
+ Total # of data points: 1 (1*1*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 58.023
+ Maximum value: 58.023
+ Mean    value: 58.023 (unweighted average)
+    SET MEMORY/SIZE: 2 megawords
+    Peak demand: 640004 words
+    Current cache: 1.640003 megawords
+COMPRESSED GATHER success on expression xyz[x=@std,y=@std,z=@std]
+LIST/PREC=12 xyz[x=@std,y=@std,z=@std]
+             VARIABLE : 0*X[GX=XAX] + 0*Y[GY=YAX] + Z[GZ=ZAX] + 1
+             X        : 0.5 to 200.5 (XYZ stddev)
+             Y        : 0.5 to 200.5 (XYZ stddev)
+             Z        : 0.5 to 201.5 (XYZ stddev)
+          58.0229839518
+ 
+ 
+! add more tests here
+! the highest liklihood of problem is in the formulation of "the next chunk"
+! when IS_TRANS requests the next piece to be gathered
+! ... variations on inner and outer limits
+!     (i.e. averaging an expression with limits embedded inside of it
+!      where the averaging limits may or may not match the inner limits)
+! ... file variable, vs user variables
+! ... embedded functions, especially grid-changing functions
+!
+! ... test irregular axes (unequal weighting) and see how significant are
+!     the changes in results from old Ferret (particularly on @var)
+ 
+ 
+GO bn_reset bn_dynamic_gather
+cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_dynamic_gather
+GO bn_dynamic_gather
+! bn_dynamic_gather.jnl
+! *sh* 3/2017
+! *acm*7/2017 0=success for SPAWN_STATUS
+ 
+! There's not really anything "dynamic" about this benchmark, except that it
+! excercises the split/gather improvements that were implemented together with
+! dynamic memory management
+ 
+ 
+ 
+ 
+! Give us something to look at while we run these tests which dont make plots
+plot/noax/nolab/vlim=0:1/i=4:5 i
+annotate/norm/x=0/y=0.5 "@AC... running bn_dynamic_gather"
+ 
+ 
+! **************************************
+! create the test data
+spawn "mkdir -p tmp"     ! tmp directory to store files
+ 
+! see if the test file already exists
+SPAWN "ls tmp/test_dyn_mem.nc"
+tmp/test_dyn_mem.nc
+IF ($SPAWN_OK) THEN
+ !-> IF 1 THEN
+  say test files already exist.  not re-creating them
+test files already exist.  not re-creating them
+ELSE
+ENDIF
+ 
+! ************************************
+ 
+use tmp/test_dyn_mem.nc
+show data
+     currently SET data sets:
+    1> tmp/test_dyn_mem.nc  (default)
+ name     title                             I         J         K         L
+ v        X[G=GG]+Y[G=GG]+Z[G=GG]+T[G=GG]  1:1000    1:1000    1:2       1:10
+ v1000    X[GX=X10]+Y[GY=Y100]+Z[GZ=Z4]+T  1:10      1:100     1:4       1:1000
+ 
+ 
+! excercise under the least strict memory management
+CANCEL MODE FRUGAL
+GO bn_dynamic_gather.sub
+! bn_dynamic_gather.sub
+ 
+! this subroutine to get called repeatedly for different values of MODE FRUGAL
+ 
+!**************
+! remember to test:
+! - MODE FRUGAL
+! done - case of no single axis long enough
+! done - case of transformed axis not long enough, but another is
+! 2-axis split including compressed
+! 2-axis split not including
+! 3-axis splits
+!    -- with slowest axis GT 5 in length
+!    -- with slowest axis LT 5 and second slowest GT 50
+! - modulo regrid examples
+! 2d and 3d @AVE
+! mixed @AVE and @DIN
+!*************
+ 
+! **************************************************
+! test memory that is too small to accommodate the result
+! this request will fail trying to get the third argument
+set mode ignore
+set memory/siz=1.99
+stat/brief v[i=101:200,j=101:200,k=1,l=1:10 at ave], v[i=101:200,j=101:200,k=2,l=1:10 at ave], v[l=1:10 at ave]
+    At the moment that the memory limit was reached
+    argument 3 was being evaluated: V[L=1:10 at AVE]
+    memory was committed as follows:
+        - to arguments 1-2: 40000 (2%)
+        - to objects used in computation: : 0 (0%)
+    The size of the requested object was: : 2000000 (101%)
+cancel mode ignore
+ 
+! **************************************************
+! if memory size is large enough to accommodate the result data plus
+! its accumulation buffer(s) when split along the compressed axis (4M)
+! then it can choose to use the compressed axis.
+! The smallest chunk along that axis is 1000x1000x2x1 ==> 2M
+set memory/siz=6
+stat/brief v[l=1:10 at ave]
+ 
+ Total # of data points: 2000000 (1000*1000*2*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 8.5
+ Maximum value: 2007.5
+ Mean    value: 1008 (unweighted average)
+show memory/diagnostic   ! T axis split, chunk size = 1, peak mem=6
+    Last gather
+        Variable    Axis   Xform     Chunk    Repeated
+        V              T     AVE         1           1
+    Total table slots: 500
+    Free table slots: 498
+    Un-cached variables: 0
+    SET MEMORY/SIZE: 6 megawords
+    Peak demand: 6 megawords
+    Current cache: 6 megawords
+show memory/all          ! in memory following the last chunk
+    SET MEMORY/SIZE: 6 megawords
+    Peak demand: 6 megawords
+    Current cache: 6 megawords
+all data in memory:
+ V[D=test_dyn_mem]                 XYZ   mr:228 size:4000000
+         1/0.5                 1/0.5                 1/0.5              ... /0.5
+      1000/1001             1000/1000.5              2/2.5              ... /10.5
+                                                              AVE
+ V[D=test_dyn_mem]                 XYZ   mr:246 size:2000000
+         1/0.5                 1/0.5                 1/0.5                10/9.5
+      1000/1001             1000/1000.5              2/2.5                10/10.5
+ 
+cancel memory/all
+ 
+! **************************************************
+! Since @VAR requires two buffers - the total size of the result is 2M+2*2M=6M
+! if we were to split along T the size of a chunk would be 1000x1000x2x1 = 2M
+! So the total memory needed would be 6M+2M=8M to split along T
+set memory/size=8
+stat/brief v[l=1:10 at var]
+ 
+ Total # of data points: 2000000 (1000*1000*2*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 8.25
+ Maximum value: 8.25
+ Mean    value: 8.25 (unweighted average)
+show memory/diagnostic   ! T axis split, chunk size = 1, peak mem=8
+    Last gather
+        Variable    Axis   Xform     Chunk    Repeated
+        V              T     VAR         1           1
+    Total table slots: 500
+    Free table slots: 498
+    Un-cached variables: 0
+    SET MEMORY/SIZE: 8 megawords
+    Peak demand: 8 megawords
+    Current cache: 8 megawords
+cancel memory/all
+ 
+! **************************************************
+! if memory size is NOT large enough to accommodate the result data plus
+! its accumulation buffer(s) then it cannot split along T
+set memory/siz=5.9
+stat/brief v[l=1:10 at ave]
+ 
+ Total # of data points: 2000000 (1000*1000*2*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 8.5
+ Maximum value: 2007.5
+ Mean    value: 1008 (unweighted average)
+show memory/diagnostic   ! Y axis split, big chunk size = 1
+    Last gather
+        Variable    Axis   Xform     Chunk    Repeated
+        V              Y     AVE       162           1
+    Total table slots: 500
+    Free table slots: 496
+    Un-cached variables: 0
+    SET MEMORY/SIZE: 5.9 megawords
+    Peak demand: 5.888 megawords
+    Current cache: 3.32 megawords
+cancel memory/all
+ 
+! **************************************************
+! memory barely large enough to accommodate the result (2M), and the
+! smallest achievable chunk
+! splitting along the Y axis, the smallest chunk size is 1000x1x2x10 ==> 20000
+! and the average of a single chunk (incl buffer) is 1000x1x2x1*2 ==> 4000
+set memory/siz=2.024
+stat/brief v[l=1:10 at ave]
+ 
+ Total # of data points: 2000000 (1000*1000*2*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 8.5
+ Maximum value: 2007.5
+ Mean    value: 1008 (unweighted average)
+show memory/diagnostic ! Y axis split, chunk size=1, peak mem=2.024
+    Last gather
+        Variable    Axis   Xform     Chunk    Repeated
+        V              Y     AVE         1           1
+    Total table slots: 500
+    Free table slots: 497
+    Un-cached variables: 0
+    SET MEMORY/SIZE: 2.024 megawords
+    Peak demand: 2.024 megawords
+    Current cache: 2.024 megawords
+show memory/all        ! in memory following the last chunk
+    SET MEMORY/SIZE: 2.024 megawords
+    Peak demand: 2.024 megawords
+    Current cache: 2.024 megawords
+all data in memory:
+ V[D=test_dyn_mem]                 XYZ   mr:237 size:2000000
+         1/0.5                 1/0.5                 1/0.5              ... /0.5
+      1000/1001             1000/1000.5              2/2.5              ... /10.5
+                                                              AVE
+ V[D=test_dyn_mem]                 XZ    mr:238 size:4000
+         1/0.5              1000/999.5               1/0.5              ... /0.5
+      1000/1001             1000/1000.5              2/2.5              ... /10.5
+                                                              AVE
+ V[D=test_dyn_mem]                 XZT   mr:246 size:20000
+         1/0.5              1000/999.5               1/0.5                 1/0.5
+      1000/1001             1000/1000.5              2/2.5                10/10.5
+ 
+cancel memory/all
+ 
+! **************************************************
+! Since @VAR requires two buffers - the total size of the result is 2M+2*2M=6M
+! if we were to split along T the size of a chunk would be 1000x1000x2x1 = 2M
+! So the total memory needed would be 6M+2M=8M.  So the current SET MEMORY=6
+! is not enuf mem to split along the T axis
+set memory/siz=6
+stat/brief v[l=1:10 at var]
+ 
+ Total # of data points: 2000000 (1000*1000*2*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 8.25
+ Maximum value: 8.25
+ Mean    value: 8.25 (unweighted average)
+show memory/diagnostic   ! Y axis split
+    Last gather
+        Variable    Axis   Xform     Chunk    Repeated
+        V              Y     VAR       153           1
+    Total table slots: 500
+    Free table slots: 496
+    Un-cached variables: 0
+    SET MEMORY/SIZE: 6 megawords
+    Peak demand: 5.978 megawords
+    Current cache: 5.05 megawords
+cancel memory/all
+ 
+! **************************************************
+! 3D averaging  v[x=@ave,y=@ave,z=@ave,L=1]
+! result size will be 1x1x1x1*2 = 2
+! chunk size if split along Z will be 1000x1000x1x1 = 1M
+! chunk size if split along Y will be 1000x1x2x1    = 2K
+ 
+! this request can succeed by splitting along Z
+set memory/siz=1.001
+stat/brief v[x=@ave,y=@ave,z=@ave,L=1]
+ 
+ Total # of data points: 1 (1*1*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 1003.5
+ Maximum value: 1003.5
+ Mean    value: 1003.5 (unweighted average)
+show memory/diagnostic     ! Z axis split
+    Last gather
+        Variable    Axis   Xform     Chunk    Repeated
+        V              Z     AV4         1           1
+    Total table slots: 500
+    Free table slots: 498
+    Un-cached variables: 0
+    SET MEMORY/SIZE: 1.001 megawords
+    Peak demand: 1.000002 megawords
+    Current cache: 1.000002 megawords
+cancel memory/all
+ 
+! **************************************************
+! but if memory is so small that the Z axis of 2 points does not provide
+! enough size reduction, then we choose to split along Y
+set memory/siz=.99
+stat/brief v[x=@ave,y=@ave,z=@ave,L=1]
+ 
+ Total # of data points: 1 (1*1*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 1003.5
+ Maximum value: 1003.5
+ Mean    value: 1003.5 (unweighted average)
+show memory/diagnostic     ! Y axis split
+    Last gather
+        Variable    Axis   Xform     Chunk    Repeated
+        V              Y     AV4       494           1
+    Total table slots: 500
+    Free table slots: 498
+    Un-cached variables: 0
+    SET MEMORY/SIZE: 990000 words
+    Peak demand: 988002 words
+    Current cache: 24002 words
+cancel memory/all
+ 
+! **************************************************
+! multiple transformations on a single expression
+! Use of these expressions **is a bad idea in Ferret**
+! he "potential size" of the source data is 1000x1000x20x10=20M
+! we just get aggressive about memory saving: choose the longest axis
+! preferring an uncompressed axis if available
+! Here we see a triple level strip: Z-T-Y
+! (SHOW MEM/DIAG repeats on each of the 2 K values)
+set memory/siz=.99
+stat/brief v[x=@ave,y=@ave,L=@SUM]
+ 
+ Total # of data points: 2 (1*1*2*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 10075
+ Maximum value: 10085
+ Mean    value: 10080 (unweighted average)
+show memory/diagnostic        !  split on Z-(T-Y,T-Y)
+    Last gather
+        Variable    Axis   Xform     Chunk    Repeated
+        V              Z     SUM         1           1
+        V              T     SUM         1           1
+        V              Y     AV4       989          10
+        V              T     SUM         1           1
+        V              Y     AV4       989          10
+    Total table slots: 500
+    Free table slots: 496
+    Un-cached variables: 0
+    SET MEMORY/SIZE: 990000 words
+    Peak demand: 989006 words
+    Current cache: 11006 words
+cancel memory/all
+ 
+! **************************************************
+! now the same situation, but where Z is compressed as well
+! Z is not stripped off because other axes are longer
+set memory/siz=.99
+stat/brief v[x=@ave,y=@ave,z=@ave,L=@SUM]
+ 
+ Total # of data points: 1 (1*1*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 10080
+ Maximum value: 10080
+ Mean    value: 10080 (unweighted average)
+show memory/diagnostic       ! split on T-Y
+    Last gather
+        Variable    Axis   Xform     Chunk    Repeated
+        V              T     SUM         1           1
+        V              Y     AV4       494          10
+    Total table slots: 500
+    Free table slots: 497
+    Un-cached variables: 0
+    SET MEMORY/SIZE: 990000 words
+    Peak demand: 988004 words
+    Current cache: 24004 words
+cancel memory/all
+ 
+! **************************************************
+! multiple transformation again
+! first strip YZT at AVE. Split the long Y axis, no further split needed
+set memory/siz=.99
+stat/brief v[x=@SUM,y=@ave,z=@ave,L=@ave]
+ 
+ Total # of data points: 1 (1*1*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 1008000
+ Maximum value: 1008000
+ Mean    value: 1008000 (unweighted average)
+show memory/diagnostic      ! split on Y
+    Last gather
+        Variable    Axis   Xform     Chunk    Repeated
+        V              Y     AV4        24           1
+    Total table slots: 500
+    Free table slots: 494
+    Un-cached variables: 0
+    SET MEMORY/SIZE: 990000 words
+    Peak demand: 480962 words
+    Current cache: 802562 words
+cancel memory/all
+ 
+! **************************************************
+! MODULO REGRID
+ 
+! v1000 is 10x100x4x1000
+! for gt=@mod the full result size is 10x100x4x12 ==>  48,000
+ 
+define axis/mod/t=1:12:1 t12mod
+ 
+!**************************************************
+set mem/size=10   ! bigger than needed
+stat/brief v1000[gt=t12mod at mod]
+ 
+ Total # of data points: 48000 (10*100*4*12*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 500
+ Maximum value: 618
+ Mean    value: 559 (unweighted average)
+show mem/diag     ! note peak size demand a bit over 4
+    No split/gather occurred in the last evaluation
+    Total table slots: 500
+    Free table slots: 498
+    Un-cached variables: 0
+    SET MEMORY/SIZE: 10 megawords
+    Peak demand: 4.144 megawords
+    Current cache: 4.048 megawords
+canc mem/all
+ 
+!**************************************************
+set mem/size=4
+stat/brief v1000[gt=t12mod at mod]
+ 
+ Total # of data points: 48000 (10*100*4*12*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 500
+ Maximum value: 618
+ Mean    value: 559 (unweighted average)
+show mem/diag              ! big z chunks (3 on ax of len 4)
+    Last gather
+        Variable    Axis   Xform     Chunk    Repeated
+        V1000          Z                 3           1
+    Total table slots: 500
+    Free table slots: 496
+    Un-cached variables: 0
+    SET MEMORY/SIZE: 4 megawords
+    Peak demand: 3.108 megawords
+    Current cache: 1.096 megawords
+canc mem/all
+ 
+!**************************************************
+set mem/size=1
+stat/brief v1000[gt=t12mod at mod]
+ 
+ Total # of data points: 48000 (10*100*4*12*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 500
+ Maximum value: 618
+ Mean    value: 559 (unweighted average)
+show mem/diag              !  big y chunks (22 on ax of len 100)
+    Last gather
+        Variable    Axis   Xform     Chunk    Repeated
+        V1000          Y                22           1
+    Total table slots: 500
+    Free table slots: 496
+    Un-cached variables: 0
+    SET MEMORY/SIZE: 1000000 words
+    Peak demand: 959680 words
+    Current cache: 544320 words
+canc mem/all
+ 
+!**************************************************
+! if the chunk size is 1, then each chunk src is 10x1x4x1000 ==> 40000
+! and requires a result plus 2 buffers:          10x1x4x12*3 ==>  1440
+! plus the full result size in IS_GATHER                     ==> 48000
+!                                                      total ==> 89440
+set mem/size=.09
+stat/brief v1000[gt=t12mod at mod]
+ 
+ Total # of data points: 48000 (10*100*4*12*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 500
+ Maximum value: 618
+ Mean    value: 559 (unweighted average)
+show mem/diag              !  y chunk size = 1
+    Last gather
+        Variable    Axis   Xform     Chunk    Repeated
+        V1000          Y                 1           1
+    Total table slots: 500
+    Free table slots: 496
+    Un-cached variables: 0
+    SET MEMORY/SIZE: 90000 words
+    Peak demand: 89440 words
+    Current cache: 88960 words
+canc mem/all
+ 
+ 
+! ************** USER VARIABLES ********************
+let a = v[k=1]
+let b = v[k=2]
+let c = a + b
+let d = a + c
+ 
+! for comparison: memory management to average a simple file variable
+set memory/siz=3
+stat/brief v[l=1:10 at ave,k=1]
+ 
+ Total # of data points: 1000000 (1000*1000*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 8.5
+ Maximum value: 2006.5
+ Mean    value: 1007.5 (unweighted average)
+show memory/diagnostic   ! T axis split, chunk size = 1, peak mem=6
+    Last gather
+        Variable    Axis   Xform     Chunk    Repeated
+        V              T     AVE         1           1
+    Total table slots: 500
+    Free table slots: 498
+    Un-cached variables: 0
+    SET MEMORY/SIZE: 3 megawords
+    Peak demand: 3 megawords
+    Current cache: 3 megawords
+cancel memory/all
+ 
+! compare to memory management averaging user variables
+! not split on T because more memory is needed for components of calculation
+set memory/siz=3
+ 
+stat/brief a[l=1:10 at ave]
+ 
+ Total # of data points: 1000000 (1000*1000*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 8.5
+ Maximum value: 2006.5
+ Mean    value: 1007.5 (unweighted average)
+show memory/diagnostic   ! X axis split, chunk size = 1, peak mem=1.82
+    Last gather
+        Variable    Axis   Xform     Chunk    Repeated
+        A              Y     AVE        47           1
+    Total table slots: 500
+    Free table slots: 491
+    Un-cached variables: 0
+    SET MEMORY/SIZE: 3 megawords
+    Peak demand: 1.94 megawords
+    Current cache: 2.884 megawords
+cancel memory/all
+ 
+stat/brief d[l=1:10 at ave]
+ 
+ Total # of data points: 1000000 (1000*1000*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 26.5
+ Maximum value: 6020.5
+ Mean    value: 3023.5 (unweighted average)
+show memory/diagnostic   ! X axis split, chunk size = 1, peak mem=2.23
+    Last gather
+        Variable    Axis   Xform     Chunk    Repeated
+        D              Y     AVE        47           1
+    Total table slots: 500
+    Free table slots: 489
+    Un-cached variables: 0
+    SET MEMORY/SIZE: 3 megawords
+    Peak demand: 2.41 megawords
+    Current cache: 2.84 megawords
+cancel memory/all
+ 
+! progressively more frugal mem mgmt is needed as multiple results accumulate
+stat/brief a[i=1:500,l=1:10 at ave], b[i=1:500,l=1:10 at ave], c[i=1:500,l=1:10 at ave], d[i=1:500,l=1:10 at ave]
+ 
+ Total # of data points: 500000 (500*1000*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 8.5
+ Maximum value: 1506.5
+ Mean    value: 757.5 (unweighted average)
+ 
+ Total # of data points: 500000 (500*1000*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 9.5
+ Maximum value: 1507.5
+ Mean    value: 758.5 (unweighted average)
+ 
+ Total # of data points: 500000 (500*1000*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 18
+ Maximum value: 3014
+ Mean    value: 1516 (unweighted average)
+ 
+ Total # of data points: 500000 (500*1000*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 26.5
+ Maximum value: 4520.5
+ Mean    value: 2273.5 (unweighted average)
+show memory/diagnostic   ! X axis split, chunk size = 1, peak mem=2.23
+    Last gather
+        Variable    Axis   Xform     Chunk    Repeated
+        A              T     AVE         1           1
+        B              Y     AVE        71           1
+        C              Y     AVE        47           1
+        D              Y     AVE        23           1
+    Total table slots: 500
+    Free table slots: 487
+    Un-cached variables: 0
+    SET MEMORY/SIZE: 3 megawords
+    Peak demand: 2.845 megawords
+    Current cache: 2.979 megawords
+cancel memory/all
+ 
+! if the initial arguments take up too much memory we cannot succeed
+set mode ignore
+stat/brief a[l=1:10 at ave], b[l=1:10 at ave], c[l=1:10 at ave], d[l=1:10 at ave]
+    At the moment that the memory limit was reached
+    argument 3 was being evaluated: C[L=1:10 at AVE]
+    memory was committed as follows:
+        - to arguments 1-2: 2000000 (67%)
+        - to objects used in computation: : 0 (0%)
+    The size of the requested object was: : 1000000 (33%)
+show memory/diagnostic   ! X axis split, chunk size = 1, peak mem=2.23
+    Last gather
+        Variable    Axis   Xform     Chunk    Repeated
+        A              Y     AVE        47           1
+        B              Y     AVE        23           1
+    Total table slots: 500
+    Free table slots: 491
+    Un-cached variables: 0
+    SET MEMORY/SIZE: 3 megawords
+    Peak demand: 2.46 megawords
+    Current cache: 2.794 megawords
+cancel mode ignore
+cancel memory/all
+ 
+ 
+! now run the same tests under 3 different FRUGAL levels
+! save the outputs so they can be compared
+ 
+! excercise under the least strict memory management
+CANCEL REDIRECT
+SET REDIRECT/CLOBBER/FILE=bn_dynamic_gather_0.out
+SET REDIRECT/CLOBBER/FILE=bn_dynamic_gather_30.out
+SET REDIRECT/CLOBBER/FILE=bn_dynamic_gather_60.out
+ 
+! now compare the three output logs:
+! differences in *how* the results are computed are fine
+! differences in what the results are would be problems
+SAY **************************************************
+**************************************************
+SAY ************* DIFF FRUGAL 0 TO 30 ****************
+************* DIFF FRUGAL 0 TO 30 ****************
+SPAWN diff bn_dynamic_gather_0.out bn_dynamic_gather_30.out
+1c1
+< CANCEL MODE FRUGAL
+---
+> SET MODE FRUGAL    ! 30%
+4c4
+<       FRUGAL        CANCELED            30
+---
+>       FRUGAL           SET              30
+56c56
+<         V              T     AVE         1           1
+---
+>         V              Y     AVE        91           1
+58c58
+<     Free table slots: 498
+---
+>     Free table slots: 496
+61,62c61,62
+<     Peak demand: 6 megawords
+<     Current cache: 6 megawords
+---
+>     Peak demand: 4.184 megawords
+>     Current cache: 4.524 megawords
+65,66c65,66
+<     Peak demand: 6 megawords
+<     Current cache: 6 megawords
+---
+>     Peak demand: 4.184 megawords
+>     Current cache: 4.524 megawords
+68c68
+<  V[D=test_dyn_mem]                 XYZ   mr:224 size:4000000
+---
+>  V[D=test_dyn_mem]                 XYZ   mr:208 size:2000000
+72,73c72,77
+<  V[D=test_dyn_mem]                 XYZ   mr:243 size:2000000
+<          1/0.5                 1/0.5                 1/0.5                10/9.5
+---
+>  V[D=test_dyn_mem]                 XYZ   mr:224 size:360000
+>          1/0.5               911/910.5               1/0.5              ... /0.5
+>       1000/1001             1000/1000.5              2/2.5              ... /10.5
+>                                                               AVE
+>  V[D=test_dyn_mem]                 XYZT  mr:243 size:1800000
+>          1/0.5               911/910.5               1/0.5                 1/0.5
+75a80,83
+>  V[D=test_dyn_mem]                 XYZ   mr:228 size:364000
+>          1/0.5               820/819.5               1/0.5              ... /0.5
+>       1000/1001              910/910.5               2/2.5              ... /10.5
+>                                                               AVE
+93c101
+<         V              T     VAR         1           1
+---
+>         V              Y     VAR       138           1
+95c103
+<     Free table slots: 498
+---
+>     Free table slots: 494
+98,99c106,107
+<     Peak demand: 8 megawords
+<     Current cache: 8 megawords
+---
+>     Peak demand: 5.588 megawords
+>     Current cache: 7.3 megawords
+116c124
+<         V              Y     AVE       162           1
+---
+>         V              Y     AVE        88           1
+118c126
+<     Free table slots: 496
+---
+>     Free table slots: 494
+121,122c129,130
+<     Peak demand: 5.888 megawords
+<     Current cache: 3.32 megawords
+---
+>     Peak demand: 4.112 megawords
+>     Current cache: 5.232 megawords
+141a150
+>         V              T     AVE         6         999
+143c152
+<     Free table slots: 497
+---
+>     Free table slots: 496
+146c155
+<     Peak demand: 2.024 megawords
+---
+>     Peak demand: 2.016 megawords
+150c159
+<     Peak demand: 2.024 megawords
+---
+>     Peak demand: 2.016 megawords
+161,162c170,171
+<  V[D=test_dyn_mem]                 XZT   mr:243 size:20000
+<          1/0.5              1000/999.5               1/0.5                 1/0.5
+---
+>  V[D=test_dyn_mem]                 XZT   mr:208 size:8000
+>          1/0.5              1000/999.5               1/0.5                 7/6.5
+164a174,177
+>  V[D=test_dyn_mem]                 XZT   mr:243 size:12000
+>          1/0.5              1000/999.5               1/0.5                 1/0.5
+>       1000/1001             1000/1000.5              2/2.5                 6/6.5
+>  
+183c196
+<         V              Y     VAR       153           1
+---
+>         V              Y     VAR        84           1
+188,189c201,202
+<     Peak demand: 5.978 megawords
+<     Current cache: 5.05 megawords
+---
+>     Peak demand: 4.184 megawords
+>     Current cache: 4.48 megawords
+210c223
+<         V              Z     AV4         1           1
+---
+>         V              Y     AV4       350           1
+215,216c228,229
+<     Peak demand: 1.000002 megawords
+<     Current cache: 1.000002 megawords
+---
+>     Peak demand: 700002 words
+>     Current cache: 600002 words
+233c246
+<         V              Y     AV4       494           1
+---
+>         V              Y     AV4       346           1
+238,239c251,252
+<     Peak demand: 988002 words
+<     Current cache: 24002 words
+---
+>     Peak demand: 692002 words
+>     Current cache: 616002 words
+263c276
+<         V              Y     AV4       989          10
+---
+>         V              Y     AV4       692          10
+265c278
+<         V              Y     AV4       989          10
+---
+>         V              Y     AV4       692          10
+270,271c283,284
+<     Peak demand: 989006 words
+<     Current cache: 11006 words
+---
+>     Peak demand: 692006 words
+>     Current cache: 308006 words
+289c302
+<         V              Y     AV4       494          10
+---
+>         V              Y     AV4       346          10
+294,295c307,308
+<     Peak demand: 988004 words
+<     Current cache: 24004 words
+---
+>     Peak demand: 692004 words
+>     Current cache: 616004 words
+312c325
+<         V              Y     AV4        24           1
+---
+>         V              Y     AV4        17           1
+314c327
+<     Free table slots: 494
+---
+>     Free table slots: 492
+317,318c330,331
+<     Peak demand: 480962 words
+<     Current cache: 802562 words
+---
+>     Peak demand: 340682 words
+>     Current cache: 962602 words
+360c373
+<         V1000          Z                 3           1
+---
+>         V1000          Z                 2           1
+365,366c378,379
+<     Peak demand: 3.108 megawords
+<     Current cache: 1.096 megawords
+---
+>     Peak demand: 2.12 megawords
+>     Current cache: 2.096 megawords
+381c394
+<         V1000          Y                22           1
+---
+>         V1000          Y                15           1
+386,387c399,400
+<     Peak demand: 959680 words
+<     Current cache: 544320 words
+---
+>     Peak demand: 669600 words
+>     Current cache: 460000 words
+406a420
+>         V1000          Z                 2          99
+408c422
+<     Free table slots: 496
+---
+>     Free table slots: 493
+411,412c425,426
+<     Peak demand: 89440 words
+<     Current cache: 88960 words
+---
+>     Peak demand: 69200 words
+>     Current cache: 89440 words
+434c448
+<         V              T     AVE         1           1
+---
+>         V              Y     AVE        91           1
+436c450
+<     Free table slots: 498
+---
+>     Free table slots: 496
+439,440c453,454
+<     Peak demand: 3 megawords
+<     Current cache: 3 megawords
+---
+>     Peak demand: 2.092 megawords
+>     Current cache: 2.262 megawords
+457c471
+<         A              Y     AVE        47           1
+---
+>         A              Y     AVE        26           1
+459c473
+<     Free table slots: 491
+---
+>     Free table slots: 487
+462,463c476,477
+<     Peak demand: 1.94 megawords
+<     Current cache: 2.884 megawords
+---
+>     Peak demand: 1.52 megawords
+>     Current cache: 2.98 megawords
+476c490
+<         D              Y     AVE        47           1
+---
+>         D              Y     AVE        26           1
+478c492
+<     Free table slots: 489
+---
+>     Free table slots: 487
+481,482c495,496
+<     Peak demand: 2.41 megawords
+<     Current cache: 2.84 megawords
+---
+>     Peak demand: 1.78 megawords
+>     Current cache: 2.836 megawords
+514,517c528,531
+<         A              T     AVE         1           1
+<         B              Y     AVE        71           1
+<         C              Y     AVE        47           1
+<         D              Y     AVE        23           1
+---
+>         A              Y     AVE        76           1
+>         B              Y     AVE        59           1
+>         C              Y     AVE        42           1
+>         D              Y     AVE        26           1
+519c533
+<     Free table slots: 487
+---
+>     Free table slots: 484
+522,523c536,537
+<     Peak demand: 2.845 megawords
+<     Current cache: 2.979 megawords
+---
+>     Peak demand: 2.39 megawords
+>     Current cache: 2.918 megawords
+538,539c552,553
+<         A              Y     AVE        47           1
+<         B              Y     AVE        23           1
+---
+>         A              Y     AVE        26           1
+>         B              Y     AVE         9           1
+541c555
+<     Free table slots: 491
+---
+>     Free table slots: 481
+544,545c558,559
+<     Peak demand: 2.46 megawords
+<     Current cache: 2.794 megawords
+---
+>     Peak demand: 2.18 megawords
+>     Current cache: 2.922 megawords
+551c565
+< ! excercise under the default memory management
+---
+> ! excercise under pretty strict memory management
+ 
+SAY **************************************************
+**************************************************
+SAY ************* DIFF FRUGAL 0 TO 60 ****************
+************* DIFF FRUGAL 0 TO 60 ****************
+SPAWN diff bn_dynamic_gather_0.out bn_dynamic_gather_60.out
+1c1
+< CANCEL MODE FRUGAL
+---
+> SET MODE FRUGAL:60
+4c4
+<       FRUGAL        CANCELED            30
+---
+>       FRUGAL           SET              60
+56c56
+<         V              T     AVE         1           1
+---
+>         V              Y     AVE        16           1
+58c58
+<     Free table slots: 498
+---
+>     Free table slots: 478
+61,62c61,62
+<     Peak demand: 6 megawords
+<     Current cache: 6 megawords
+---
+>     Peak demand: 2.384 megawords
+>     Current cache: 5.712 megawords
+65,66c65,66
+<     Peak demand: 6 megawords
+<     Current cache: 6 megawords
+---
+>     Peak demand: 2.384 megawords
+>     Current cache: 5.712 megawords
+68c68
+<  V[D=test_dyn_mem]                 XYZ   mr:224 size:4000000
+---
+>  V[D=test_dyn_mem]                 XYZ   mr:241 size:2000000
+72,73c72,77
+<  V[D=test_dyn_mem]                 XYZ   mr:243 size:2000000
+<          1/0.5                 1/0.5                 1/0.5                10/9.5
+---
+>  V[D=test_dyn_mem]                 XYZ   mr:226 size:32000
+>          1/0.5               993/992.5               1/0.5              ... /0.5
+>       1000/1001             1000/1000.5              2/2.5              ... /10.5
+>                                                               AVE
+>  V[D=test_dyn_mem]                 XYZT  mr:178 size:160000
+>          1/0.5               993/992.5               1/0.5                 1/0.5
+75a80,155
+>  V[D=test_dyn_mem]                 XYZ   mr:176 size:64000
+>          1/0.5               977/976.5               1/0.5              ... /0.5
+>       1000/1001              992/992.5               2/2.5              ... /10.5
+>                                                               AVE
+>  V[D=test_dyn_mem]                 XYZT  mr:194 size:320000
+>          1/0.5               977/976.5               1/0.5                 1/0.5
+>       1000/1001              992/992.5               2/2.5                10/10.5
+>  
+>  V[D=test_dyn_mem]                 XYZ   mr:186 size:64000
+>          1/0.5               961/960.5               1/0.5              ... /0.5
+>       1000/1001              976/976.5               2/2.5              ... /10.5
+>                                                               AVE
+>  V[D=test_dyn_mem]                 XYZT  mr:208 size:320000
+>          1/0.5               961/960.5               1/0.5                 1/0.5
+>       1000/1001              976/976.5               2/2.5                10/10.5
+>  
+>  V[D=test_dyn_mem]                 XYZ   mr:202 size:64000
+>          1/0.5               945/944.5               1/0.5              ... /0.5
+>       1000/1001              960/960.5               2/2.5              ... /10.5
+>                                                               AVE
+>  V[D=test_dyn_mem]                 XYZT  mr:224 size:320000
+>          1/0.5               945/944.5               1/0.5                 1/0.5
+>       1000/1001              960/960.5               2/2.5                10/10.5
+>  
+>  V[D=test_dyn_mem]                 XYZ   mr:218 size:64000
+>          1/0.5               929/928.5               1/0.5              ... /0.5
+>       1000/1001              944/944.5               2/2.5              ... /10.5
+>                                                               AVE
+>  V[D=test_dyn_mem]                 XYZT  mr:234 size:320000
+>          1/0.5               929/928.5               1/0.5                 1/0.5
+>       1000/1001              944/944.5               2/2.5                10/10.5
+>  
+>  V[D=test_dyn_mem]                 XYZ   mr:228 size:64000
+>          1/0.5               913/912.5               1/0.5              ... /0.5
+>       1000/1001              928/928.5               2/2.5              ... /10.5
+>                                                               AVE
+>  V[D=test_dyn_mem]                 XYZT  mr:238 size:320000
+>          1/0.5               913/912.5               1/0.5                 1/0.5
+>       1000/1001              928/928.5               2/2.5                10/10.5
+>  
+>  V[D=test_dyn_mem]                 XYZ   mr:237 size:64000
+>          1/0.5               897/896.5               1/0.5              ... /0.5
+>       1000/1001              912/912.5               2/2.5              ... /10.5
+>                                                               AVE
+>  V[D=test_dyn_mem]                 XYZT  mr:243 size:320000
+>          1/0.5               897/896.5               1/0.5                 1/0.5
+>       1000/1001              912/912.5               2/2.5                10/10.5
+>  
+>  V[D=test_dyn_mem]                 XYZ   mr:240 size:64000
+>          1/0.5               881/880.5               1/0.5              ... /0.5
+>       1000/1001              896/896.5               2/2.5              ... /10.5
+>                                                               AVE
+>  V[D=test_dyn_mem]                 XYZT  mr:247 size:320000
+>          1/0.5               881/880.5               1/0.5                 1/0.5
+>       1000/1001              896/896.5               2/2.5                10/10.5
+>  
+>  V[D=test_dyn_mem]                 XYZ   mr:244 size:64000
+>          1/0.5               865/864.5               1/0.5              ... /0.5
+>       1000/1001              880/880.5               2/2.5              ... /10.5
+>                                                               AVE
+>  V[D=test_dyn_mem]                 XYZT  mr:248 size:320000
+>          1/0.5               865/864.5               1/0.5                 1/0.5
+>       1000/1001              880/880.5               2/2.5                10/10.5
+>  
+>  V[D=test_dyn_mem]                 XYZ   mr:249 size:64000
+>          1/0.5               849/848.5               1/0.5              ... /0.5
+>       1000/1001              864/864.5               2/2.5              ... /10.5
+>                                                               AVE
+>  V[D=test_dyn_mem]                 XYZT  mr:216 size:320000
+>          1/0.5               849/848.5               1/0.5                 1/0.5
+>       1000/1001              864/864.5               2/2.5                10/10.5
+>  
+>  V[D=test_dyn_mem]                 XYZ   mr:239 size:64000
+>          1/0.5               833/832.5               1/0.5              ... /0.5
+>       1000/1001              848/848.5               2/2.5              ... /10.5
+>                                                               AVE
+93c173
+<         V              T     VAR         1           1
+---
+>         V              Y     VAR        46           1
+95c175
+<     Free table slots: 498
+---
+>     Free table slots: 488
+98,99c178,179
+<     Peak demand: 8 megawords
+<     Current cache: 8 megawords
+---
+>     Peak demand: 3.196 megawords
+>     Current cache: 7.944 megawords
+116c196
+<         V              Y     AVE       162           1
+---
+>         V              Y     AVE        14           1
+118c198
+<     Free table slots: 496
+---
+>     Free table slots: 474
+121,122c201,202
+<     Peak demand: 5.888 megawords
+<     Current cache: 3.32 megawords
+---
+>     Peak demand: 2.336 megawords
+>     Current cache: 5.896 megawords
+141a222
+>         V              T     AVE         2         999
+143c224
+<     Free table slots: 497
+---
+>     Free table slots: 493
+146c227
+<     Peak demand: 2.024 megawords
+---
+>     Peak demand: 2.008 megawords
+150c231
+<     Peak demand: 2.024 megawords
+---
+>     Peak demand: 2.008 megawords
+153c234
+<  V[D=test_dyn_mem]                 XYZ   mr:228 size:2000000
+---
+>  V[D=test_dyn_mem]                 XYZ   mr:247 size:2000000
+157c238
+<  V[D=test_dyn_mem]                 XZ    mr:238 size:4000
+---
+>  V[D=test_dyn_mem]                 XZ    mr:248 size:4000
+161,162c242,243
+<  V[D=test_dyn_mem]                 XZT   mr:243 size:20000
+<          1/0.5              1000/999.5               1/0.5                 1/0.5
+---
+>  V[D=test_dyn_mem]                 XZT   mr:241 size:4000
+>          1/0.5              1000/999.5               1/0.5                 9/8.5
+164a246,261
+>  V[D=test_dyn_mem]                 XZT   mr:243 size:4000
+>          1/0.5              1000/999.5               1/0.5                 7/6.5
+>       1000/1001             1000/1000.5              2/2.5                 8/8.5
+>  
+>  V[D=test_dyn_mem]                 XZT   mr:244 size:4000
+>          1/0.5              1000/999.5               1/0.5                 5/4.5
+>       1000/1001             1000/1000.5              2/2.5                 6/6.5
+>  
+>  V[D=test_dyn_mem]                 XZT   mr:245 size:4000
+>          1/0.5              1000/999.5               1/0.5                 3/2.5
+>       1000/1001             1000/1000.5              2/2.5                 4/4.5
+>  
+>  V[D=test_dyn_mem]                 XZT   mr:249 size:4000
+>          1/0.5              1000/999.5               1/0.5                 1/0.5
+>       1000/1001             1000/1000.5              2/2.5                 2/2.5
+>  
+183c280
+<         V              Y     VAR       153           1
+---
+>         V              Y     VAR        15           1
+185c282
+<     Free table slots: 496
+---
+>     Free table slots: 478
+188,189c285,286
+<     Peak demand: 5.978 megawords
+<     Current cache: 5.05 megawords
+---
+>     Peak demand: 2.39 megawords
+>     Current cache: 5.86 megawords
+210c307
+<         V              Z     AV4         1           1
+---
+>         V              Y     AV4       200           1
+212c309
+<     Free table slots: 498
+---
+>     Free table slots: 497
+215,216c312,313
+<     Peak demand: 1.000002 megawords
+<     Current cache: 1.000002 megawords
+---
+>     Peak demand: 400002 words
+>     Current cache: 800002 words
+233c330
+<         V              Y     AV4       494           1
+---
+>         V              Y     AV4       197           1
+235c332
+<     Free table slots: 498
+---
+>     Free table slots: 496
+238,239c335,336
+<     Peak demand: 988002 words
+<     Current cache: 24002 words
+---
+>     Peak demand: 394002 words
+>     Current cache: 818002 words
+263c360
+<         V              Y     AV4       989          10
+---
+>         V              Y     AV4       395          10
+265c362
+<         V              Y     AV4       989          10
+---
+>         V              Y     AV4       395          10
+267c364
+<     Free table slots: 496
+---
+>     Free table slots: 495
+270,271c367,368
+<     Peak demand: 989006 words
+<     Current cache: 11006 words
+---
+>     Peak demand: 395006 words
+>     Current cache: 605006 words
+289c386
+<         V              Y     AV4       494          10
+---
+>         V              Y     AV4       197          10
+291c388
+<     Free table slots: 497
+---
+>     Free table slots: 495
+294,295c391,392
+<     Peak demand: 988004 words
+<     Current cache: 24004 words
+---
+>     Peak demand: 394004 words
+>     Current cache: 818004 words
+312c409
+<         V              Y     AV4        24           1
+---
+>         V              Y     AV4         9           1
+314c411
+<     Free table slots: 494
+---
+>     Free table slots: 486
+317,318c414,415
+<     Peak demand: 480962 words
+<     Current cache: 802562 words
+---
+>     Peak demand: 180362 words
+>     Current cache: 922202 words
+339c436,438
+<     No split/gather occurred in the last evaluation
+---
+>     Last gather
+>         Variable    Axis   Xform     Chunk    Repeated
+>         V1000          Z                 3           1
+341c440
+<     Free table slots: 498
+---
+>     Free table slots: 495
+344,345c443,444
+<     Peak demand: 4.144 megawords
+<     Current cache: 4.048 megawords
+---
+>     Peak demand: 3.108 megawords
+>     Current cache: 4.096 megawords
+360c459
+<         V1000          Z                 3           1
+---
+>         V1000          Z                 1           1
+362c461
+<     Free table slots: 496
+---
+>     Free table slots: 492
+365,366c464,465
+<     Peak demand: 3.108 megawords
+<     Current cache: 1.096 megawords
+---
+>     Peak demand: 1.084 megawords
+>     Current cache: 3.096 megawords
+381c480
+<         V1000          Y                22           1
+---
+>         V1000          Y                 8           1
+383c482
+<     Free table slots: 496
+---
+>     Free table slots: 492
+386,387c485,486
+<     Peak demand: 959680 words
+<     Current cache: 544320 words
+---
+>     Peak demand: 379520 words
+>     Current cache: 861440 words
+406a506
+>         V1000          Z                 3         100
+408c508
+<     Free table slots: 496
+---
+>     Free table slots: 488
+411,412c511,512
+<     Peak demand: 89440 words
+<     Current cache: 88960 words
+---
+>     Peak demand: 58840 words
+>     Current cache: 89560 words
+434c534
+<         V              T     AVE         1           1
+---
+>         V              Y     AVE        16           1
+436c536
+<     Free table slots: 498
+---
+>     Free table slots: 478
+439,440c539,540
+<     Peak demand: 3 megawords
+<     Current cache: 3 megawords
+---
+>     Peak demand: 1.192 megawords
+>     Current cache: 2.856 megawords
+457c557
+<         A              Y     AVE        47           1
+---
+>         A              Y     AVE         4           1
+459c559
+<     Free table slots: 491
+---
+>     Free table slots: 431
+462,463c562,563
+<     Peak demand: 1.94 megawords
+<     Current cache: 2.884 megawords
+---
+>     Peak demand: 1.08 megawords
+>     Current cache: 2.984 megawords
+476c576
+<         D              Y     AVE        47           1
+---
+>         D              Y     AVE         4           1
+478c578
+<     Free table slots: 489
+---
+>     Free table slots: 442
+481,482c581,582
+<     Peak demand: 2.41 megawords
+<     Current cache: 2.84 megawords
+---
+>     Peak demand: 1.12 megawords
+>     Current cache: 2.992 megawords
+514,517c614,617
+<         A              T     AVE         1           1
+<         B              Y     AVE        71           1
+<         C              Y     AVE        47           1
+<         D              Y     AVE        23           1
+---
+>         A              Y     AVE        33           1
+>         B              Y     AVE        23           1
+>         C              Y     AVE        14           1
+>         D              Y     AVE         4           1
+519c619
+<     Free table slots: 487
+---
+>     Free table slots: 439
+522,523c622,623
+<     Peak demand: 2.845 megawords
+<     Current cache: 2.979 megawords
+---
+>     Peak demand: 2.06 megawords
+>     Current cache: 2.996 megawords
+538,539c638,639
+<         A              Y     AVE        47           1
+<         B              Y     AVE        23           1
+---
+>         A              Y     AVE         4           1
+>         B              Y     AVE         9           1
+541c641
+<     Free table slots: 491
+---
+>     Free table slots: 481
+544,545c644,645
+<     Peak demand: 2.46 megawords
+<     Current cache: 2.794 megawords
+---
+>     Peak demand: 2.18 megawords
+>     Current cache: 2.922 megawords
+551d650
+< ! excercise under the default memory management
+ 
+ 
+! deliberate error
+SET MODE IGNORE
+SET MODE FRUGAL:95
+SET MODE/LAST IGNORE
+ 
+ 
+GO bn_reset bn_stat_precision
+cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_stat_precision
+GO bn_stat_precision
+! bn_stat_precision.jnl
+! 3/2017 *acm* Ticket 2512
+ 
+! The stat command self-adjusts precision to make the
+! min and max listed distinct
+ 
+let var = {1907.1,1907.05,1907.11}
+stat/br var
+ 
+ Total # of data points: 3 (3*1*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 1907.05
+ Maximum value: 1907.11
+ Mean    value: 1907.08667 (unweighted average)
+ 
+let var = {1907.001,1907.0005,1907.0011}
+stat/br var
+ 
+ Total # of data points: 3 (3*1*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 1907.0005
+ Maximum value: 1907.0011
+ Mean    value: 1907.00087 (unweighted average)
+ 
+let var = {221907.001,221907.0005,221907.0011}
+stat/br var
+ 
+ Total # of data points: 3 (3*1*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 221907.0005
+ Maximum value: 221907.0011
+ Mean    value: 221907.0008666667 (unweighted average)
+ 
+ 
+! STAT/PREC controls the precision, writing more or less digits
+ 
+stat/br/prec=5 var
+ 
+ Total # of data points: 3 (3*1*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 221907
+ Maximum value: 221907
+ Mean    value: 221907 (unweighted average)
+stat/br/prec=12 var
+ 
+ Total # of data points: 3 (3*1*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 221907.0005
+ Maximum value: 221907.0011
+ Mean    value: 221907.000867 (unweighted average)
+ 
+! some more examples
+let var = 30*randu(1+i[i=1:10])
+stat/br var
+ 
+ Total # of data points: 10 (10*1*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 2.7871
+ Maximum value: 27.002
+ Mean    value: 15.77 (unweighted average)
+stat/br/prec=3 var
+ 
+ Total # of data points: 10 (10*1*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 2.79
+ Maximum value: 27
+ Mean    value: 15.8 (unweighted average)
+stat/br/prec=7 var
+ 
+ Total # of data points: 10 (10*1*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 2.787087
+ Maximum value: 27.00225
+ Mean    value: 15.76991 (unweighted average)
+stat/br/prec=12 var
+ 
+ Total # of data points: 10 (10*1*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 2.78708674143
+ Maximum value: 27.002246751
+ Mean    value: 15.76991222 (unweighted average)
+ 
+GO bn_reset bn_plot_vs_with_time
+cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_plot_vs_with_time
+GO bn_plot_vs_with_time
+! bn_plot_vs_with_time.jnl
+! See ticket 2246
+! 3/27/2017 *ACM*
+ 
+! PLOT/VS plots automatically draw a formatted time axis
+! when one of the variables has calendar units and time origin
+ 
+! (Currently allow just one axis to be time formatted)
+ 
+can mode logo
+ 
+! Date units syntax days since 1982-01-01 is valid
+ 
+define axis/t=1:500:10/units=days/t0="01-jan-1982" tax
+let/units="days since 1982-01-01" mytime2 = t[gt=tax]
+ 
+let myvar2 = RANDU(mytime2)
+plot/vs/line mytime2, myvar2
+plot/vs/over/sym/color=red mytime2[L=1:50:2], myvar2[L=1:50:2]
+ 
+! time axis on the vertical
+ 
+! Date syntax days since 01-jan-1982 is also valid.
+define axis/t=1:500:10/units=days/t0="01-jan-1982" tax
+let/units="days since 01-jan-1982" mytime2 = t[gt=tax]
+ 
+plot/vs/line myvar2, mytime2
+plot/vs/over/sym/color=red/line  myvar2[L=1:50:2],  mytime2[L=1:50:2]
+ 
+! LAS style plots:
+! Dataset with pressure,temperature on ZT grid. Define a time variable
+! send it to PLOT/VS to draw plots with time-formatted axis, plain
+! 2-variable plots and plot/vs plots.
+! Define variables as if gridded T-Z data in spurs dataset
+ 
+define axis/t="25-JAN-2017:23:00":"02-FEB-2017 10:00":12/units=hours/t0=1-jan-2017 time
+define axis/z=1:50:4/units=m/depth zaxis
+let/title=pressure/units=m pres=z[gz=zaxis] + 0.3*randu(t[gt=time])
+let/title=temperature/units="Deg C" temp = 20 - z[gz=zaxis] + 10*randu(t[gt=time])
+ 
+! Define a time variable
+let/units="`pres,return=tunits` since `pres,return=t0`" ttvar = t[gt=temp] + 0*temp
+ !-> DEFINE VARIABLE/units="HOURS since 1-JAN-2017" ttvar = t[gt=temp] + 0*temp
+ 
+! time on horizontal axis
+set v ul; plot/vs/ribbon/sym=17/thick/vlim=50:0  ttvar, pres, temp
+ 
+! time on vertical axis
+set v ur; plot/vs/ribbon/sym=17/thick/hlim=50:0  pres, ttvar, temp
+ 
+! More time axis styles
+ 
+define axis/t=1-jan-2016:1-jan-2017:45/units=days/t0=1-jan-1970 time
+let/title=pressure/units=m pres=z[gz=zaxis] + 0.3*randu(t[gt=time])
+let/title=temperature/units="Deg C" temp = 20 - z[gz=zaxis] + 10*randu(t[gt=time])
+let/units="`pres,return=tunits` since `pres,return=t0`" ttvar = t[gt=temp] + 0*temp
+ !-> DEFINE VARIABLE/units="DAYS since 1-JAN-1970" ttvar = t[gt=temp] + 0*temp
+ 
+set v ll; plot/vs/ribbon/sym=17/thick/vlim=50:0  ttvar, pres, temp
+ 
+define axis/t=1-jan-2001:1-jan-2012:181/units=days/t0=1-jan-1970 time
+let/title=pressure/units=m pres=z[gz=zaxis] + 0.3*randu(t[gt=time])
+let/title=temperature/units="Deg C" temp = 20 - z[gz=zaxis] + 10*randu(t[gt=time])
+let/units="`pres,return=tunits` since `pres,return=t0`" ttvar = t[gt=temp] + 0*temp
+ !-> DEFINE VARIABLE/units="DAYS since 1-JAN-1970" ttvar = t[gt=temp] + 0*temp
+ 
+set v lr; plot/vs/ribbon/sym=17/thick/vlim=50:0  ttvar, pres, temp
+ 
+ 
+set mode/last logo
+ 
+GO bn_reset bn_dot_product
+cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_dot_product
+GO bn_dot_product
+! bn_dot_product.jnl
+! 3/2017 *acm*  dot product function for matrix multiply operation
+ 
+ 
+sh func dot*
+DOT(VAR1,VAR2,IDIM)
+    Compute the inner product of two variables along given dimension
+    VAR1: Variable 1
+    VAR2: Variable 2
+    IDIM: Dimension (e.g.1,2,...)
+DOT_E(VAR1,VAR2)
+    Compute the inner product of two variables along E-axis
+    VAR1: Variable 1
+    VAR2: Variable 2
+DOT_F(VAR1,VAR2)
+    Compute the inner product of two variables along F-axis
+    VAR1: Variable 1
+    VAR2: Variable 2
+DOT_T(VAR1,VAR2)
+    Compute the inner product of two variables along T-axis
+    VAR1: Variable 1
+    VAR2: Variable 2
+DOT_X(VAR1,VAR2)
+    Compute the inner product of two variables along X-axis
+    VAR1: Variable 1
+    VAR2: Variable 2
+DOT_Y(VAR1,VAR2)
+    Compute the inner product of two variables along Y-axis
+    VAR1: Variable 1
+    VAR2: Variable 2
+DOT_Z(VAR1,VAR2)
+    Compute the inner product of two variables along Z-axis
+    VAR1: Variable 1
+    VAR2: Variable 2
+ 
+! A call to dot(var1, var2, dir) translates into call to
+! function dot_q(var1,var2) where q is the pax direction
+! corresponding to dir=1,2,...,6
+ 
+set list/pre=7
+ 
+define axis/x=1:5:1 xpax
+define axis/y=0.1:0.3:0.1 ypax
+define axis/z=0.01:0.04:0.01 zpax
+define axis/e=-3:-1:1 epax
+define axis/f=-0.4:-0.1:0.1 fpax
+ 
+let var1 = x[gx=xpax]
+let var2 = 1+0*x[gx=xpax]
+list var1, var2
+             X: 0.5 to 5.5
+ Column  1: VAR1 is X[GX=XPAX]
+ Column  2: VAR2 is 1+0*X[GX=XPAX]
+             VAR1     VAR2
+1   / 1:  1.000000  1.000000
+2   / 2:  2.000000  1.000000
+3   / 3:  3.000000  1.000000
+4   / 4:  4.000000  1.000000
+5   / 5:  5.000000  1.000000
+list  dot(var1, var2, 1)
+             VARIABLE : DOT(VAR1, VAR2, 1)
+          15.00000
+!can var/all
+ 
+let var1 = x[gx=xpax]
+let var2 = 1+0*x[gx=xpax]
+list  dot_x(var1, var2)
+             VARIABLE : DOT_X(VAR1, VAR2)
+          15.00000
+ 
+let var1 = y[gy=ypax]
+let var2 = 1+0*y[gy=ypax]
+list var1, var2
+             Y: 0.05 to 0.35
+ Column  1: VAR1 is Y[GY=YPAX]
+ Column  2: VAR2 is 1+0*Y[GY=YPAX]
+               VAR1     VAR2
+0.1  / 1:  0.1000000  1.000000
+0.2  / 2:  0.2000000  1.000000
+0.3  / 3:  0.3000000  1.000000
+list  dot(var1, var2, 2)
+             VARIABLE : DOT(VAR1, VAR2, 2)
+          0.6000000
+ 
+let var1 = z[gz=zpax]
+let var2 = 1+0*z[gz=zpax]
+list var1, var2
+             Z: 0.005 to 0.045
+ Column  1: VAR1 is Z[GZ=ZPAX]
+ Column  2: VAR2 is 1+0*Z[GZ=ZPAX]
+                 VAR1     VAR2
+0.01  / 1:  0.01000000  1.000000
+0.02  / 2:  0.02000000  1.000000
+0.03  / 3:  0.03000000  1.000000
+0.04  / 4:  0.04000000  1.000000
+list  dot(var1, var2, 3)
+             VARIABLE : DOT(VAR1, VAR2, 3)
+          0.10000000
+ 
+let var1 = L[gt=month_reg]
+let var2 = 1+0*L[gt=month_reg]
+list var1, var2
+             TIME: 01-JAN 00:45 to 31-DEC 06:34
+ Column  1: VAR1 is L[GT=MONTH_REG]
+ Column  2: VAR2 is 1+0*L[GT=MONTH_REG]
+                      VAR1     VAR2
+16-JAN      /  1:   1.00000  1.000000
+15-FEB      /  2:   2.00000  1.000000
+17-MAR      /  3:   3.00000  1.000000
+16-APR      /  4:   4.00000  1.000000
+16-MAY      /  5:   5.00000  1.000000
+16-JUN      /  6:   6.00000  1.000000
+16-JUL      /  7:   7.00000  1.000000
+16-AUG      /  8:   8.00000  1.000000
+15-SEP      /  9:   9.00000  1.000000
+16-OCT      / 10:  10.00000  1.000000
+15-NOV      / 11:  11.00000  1.000000
+16-DEC      / 12:  12.00000  1.000000
+list  dot(var1, var2, 4)
+             VARIABLE : DOT(VAR1, VAR2, 4)
+          78.00000
+ 
+let var1 = _e[ge=epax]
+let var2 = 1+0*_e[ge=epax]
+list var1, var2
+             E: -3.5 to -0.5
+ Column  1: VAR1 is _E[GE=EPAX]
+ Column  2: VAR2 is 1+0*_E[GE=EPAX]
+              VAR1     VAR2
+-3   / 1: -3.000000  1.000000
+-2   / 2: -2.000000  1.000000
+-1   / 3: -1.000000  1.000000
+list  dot(var1, var2, 5)
+             VARIABLE : DOT(VAR1, VAR2, 5)
+         -6.000000
+ 
+let var1 = _f[gf=fpax]
+let var2 = 1+0*_f[gf=fpax]
+list var1, var2
+             F: -0.45 to -0.05
+ Column  1: VAR1 is _F[GF=FPAX]
+ Column  2: VAR2 is 1+0*_F[GF=FPAX]
+                VAR1     VAR2
+-0.4  / 1: -0.4000000  1.000000
+-0.3  / 2: -0.3000000  1.000000
+-0.2  / 3: -0.2000000  1.000000
+-0.1  / 4: -0.1000000  1.000000
+list  dot(var1, var2, 6)
+             VARIABLE : DOT(VAR1, VAR2, 6)
+         -1.000000
+ 
+let axy = x[gx=xpax] + y[gy=ypax]
+let bxz = 0*x[gx=xpax]+  10*Z[GZ=Zpax]
+list axy, bxz
+             X: 0.5 to 5.5
+             Y: 0.05 to 0.35
+             Z: 0.005 to 0.045
+ Column  1: AXY is X[GX=XPAX] + Y[GY=YPAX]
+ Column  2: BXZ is 0*X[GX=XPAX]+  10*Z[GZ=ZPAX]
+              AXY      BXZ
+ ---- K:1 Z:   0.01
+ ---- J:1 Y:   0.1
+1   / 1:  1.100000  0.1000000
+2   / 2:  2.100000  0.1000000
+3   / 3:  3.100000  0.1000000
+4   / 4:  4.100000  0.1000000
+5   / 5:  5.100000  0.1000000
+ ---- J:2 Y:   0.2
+1   / 1:  1.200000  0.1000000
+2   / 2:  2.200000  0.1000000
+3   / 3:  3.200000  0.1000000
+4   / 4:  4.200000  0.1000000
+5   / 5:  5.200000  0.1000000
+ ---- J:3 Y:   0.3
+1   / 1:  1.300000  0.1000000
+2   / 2:  2.300000  0.1000000
+3   / 3:  3.300000  0.1000000
+4   / 4:  4.300000  0.1000000
+5   / 5:  5.300000  0.1000000
+ ---- K:2 Z:   0.02
+ ---- J:1 Y:   0.1
+1   / 1:  1.100000  0.2000000
+2   / 2:  2.100000  0.2000000
+3   / 3:  3.100000  0.2000000
+4   / 4:  4.100000  0.2000000
+5   / 5:  5.100000  0.2000000
+ ---- J:2 Y:   0.2
+1   / 1:  1.200000  0.2000000
+2   / 2:  2.200000  0.2000000
+3   / 3:  3.200000  0.2000000
+4   / 4:  4.200000  0.2000000
+5   / 5:  5.200000  0.2000000
+ ---- J:3 Y:   0.3
+1   / 1:  1.300000  0.2000000
+2   / 2:  2.300000  0.2000000
+3   / 3:  3.300000  0.2000000
+4   / 4:  4.300000  0.2000000
+5   / 5:  5.300000  0.2000000
+ ---- K:3 Z:   0.03
+ ---- J:1 Y:   0.1
+1   / 1:  1.100000  0.3000000
+2   / 2:  2.100000  0.3000000
+3   / 3:  3.100000  0.3000000
+4   / 4:  4.100000  0.3000000
+5   / 5:  5.100000  0.3000000
+ ---- J:2 Y:   0.2
+1   / 1:  1.200000  0.3000000
+2   / 2:  2.200000  0.3000000
+3   / 3:  3.200000  0.3000000
+4   / 4:  4.200000  0.3000000
+5   / 5:  5.200000  0.3000000
+ ---- J:3 Y:   0.3
+1   / 1:  1.300000  0.3000000
+2   / 2:  2.300000  0.3000000
+3   / 3:  3.300000  0.3000000
+4   / 4:  4.300000  0.3000000
+5   / 5:  5.300000  0.3000000
+ ---- K:4 Z:   0.04
+ ---- J:1 Y:   0.1
+1   / 1:  1.100000  0.4000000
+2   / 2:  2.100000  0.4000000
+3   / 3:  3.100000  0.4000000
+4   / 4:  4.100000  0.4000000
+5   / 5:  5.100000  0.4000000
+ ---- J:2 Y:   0.2
+1   / 1:  1.200000  0.4000000
+2   / 2:  2.200000  0.4000000
+3   / 3:  3.200000  0.4000000
+4   / 4:  4.200000  0.4000000
+5   / 5:  5.200000  0.4000000
+ ---- J:3 Y:   0.3
+1   / 1:  1.300000  0.4000000
+2   / 2:  2.300000  0.4000000
+3   / 3:  3.300000  0.4000000
+4   / 4:  4.300000  0.4000000
+5   / 5:  5.300000  0.4000000
+list dot(axy, bxz, 1)
+             VARIABLE : DOT(AXY, BXZ, 1)
+             SUBSET   : 3 by 4 points (Y-Z)
+                0.1       0.2       0.3    
+                 1         2         3
+ 0.01  / 1:  1.550000  1.600000  1.650000
+ 0.02  / 2:  3.100000  3.200000  3.300000
+ 0.03  / 3:  4.650000  4.800000  4.950000
+ 0.04  / 4:  6.200000  6.400000  6.600000
+ 
+let byz = y[gy=ypax]+  10*Z[GZ=Zpax]
+list dot(axy, byz, 2)
+             VARIABLE : DOT(AXY, BYZ, 2)
+             SUBSET   : 5 by 4 points (X-Z)
+                1         2         3         4         5      
+                 1         2         3         4         5
+ 0.01  / 1:  1.100000  2.000000  2.900000  3.800000  4.700000
+ 0.02  / 2:  1.460000  2.660000  3.860000  5.060000  6.260000
+ 0.03  / 3:  1.820000  3.320000  4.820000  6.320000  7.820000
+ 0.04  / 4:  2.180000  3.980000  5.780000  7.580000  9.380000
+ 
+let lvar = L[gt=month_reg] - 1
+let axyt = axy + lvar
+let multi_dot = dot(axyt, byz, 2)
+save/file=a.nc/clobber multi_dot
+ 
+can var multi_dot
+use a.nc
+!  This should be the same as dot(axy, byz, 2)
+list/l=1 multi_dot
+             VARIABLE : DOT(AXYT, BYZ, 2)
+             FILENAME : a.nc
+             SUBSET   : 5 by 4 points (X-Z)
+             TIME     : 16-JAN 06:00
+                1         2         3         4         5      
+                 1         2         3         4         5
+ 0.01  / 1:  1.100000  2.000000  2.900000  3.800000  4.700000
+ 0.02  / 2:  1.460000  2.660000  3.860000  5.060000  6.260000
+ 0.03  / 3:  1.820000  3.320000  4.820000  6.320000  7.820000
+ 0.04  / 4:  2.180000  3.980000  5.780000  7.580000  9.380000
+ 
+!  z and t
+ 
+ 
+let axz = x[gx=xpax] + z[gz=zpax]
+let bzt = 0*z[gz=zpax]+  10*L[gt=month_reg]
+list dot(axz, bzt, 3)
+             VARIABLE : DOT(AXZ, BZT, 3)
+             SUBSET   : 5 by 12 points (X-TIME)
+                       1         2         3         4         5      
+                        1         2         3         4         5
+ 16-JAN      /  1:    41.000    81.000   121.000   161.000   201.000
+ 15-FEB      /  2:    82.000   162.000   242.000   322.000   402.000
+ 17-MAR      /  3:   123.000   243.000   363.000   483.000   603.000
+ 16-APR      /  4:   164.000   324.000   484.000   644.000   804.000
+ 16-MAY      /  5:   205.000   405.000   605.000   805.000  1005.000
+ 16-JUN      /  6:   246.000   486.000   726.000   966.000  1206.000
+ 16-JUL      /  7:   287.000   567.000   847.000  1127.000  1407.000
+ 16-AUG      /  8:   328.000   648.000   968.000  1288.000  1608.000
+ 15-SEP      /  9:   369.000   729.000  1089.000  1449.000  1809.000
+ 16-OCT      / 10:   410.000   810.000  1210.000  1610.000  2010.000
+ 15-NOV      / 11:   451.000   891.000  1331.000  1771.000  2211.000
+ 16-DEC      / 12:   492.000   972.000  1452.000  1932.000  2412.000
+ 
+let ayt = y[gy=ypax]+ 10*L[gt=month_reg]
+list dot(ayt, bzt, 4)
+             VARIABLE : DOT(AYT, BZT, 4)
+             SUBSET   : 3 by 4 points (Y-Z)
+                0.1       0.2       0.3    
+                 1         2         3
+ 0.01  / 1:  65078.00  65156.00  65234.00
+ 0.02  / 2:  65078.00  65156.00  65234.00
+ 0.03  / 3:  65078.00  65156.00  65234.00
+ 0.04  / 4:  65078.00  65156.00  65234.00
+ 
+ 
+let xvar = x[gx=xpax] - 1
+let axyt = ayt + xvar
+let multi_dot = dot(axyt, bzt, 4)
+save/file=a.nc/clobber multi_dot
+ 
+can var multi_dot
+use a.nc
+!  This should be the same as dot(ayt, bzt, 4)
+list/i=1 multi_dot
+             VARIABLE : DOT(AXYT, BYZ, 2)
+             FILENAME : a.nc
+             SUBSET   : 4 by 12 points (Z-TIME)
+             X        : 1
+                      0.01      0.02      0.03      0.04    
+                        1         2         3         4
+ 16-JAN      /  1:   1.10000   1.46000   1.82000   2.18000
+ 15-FEB      /  2:   2.00000   2.66000   3.32000   3.98000
+ 17-MAR      /  3:   2.90000   3.86000   4.82000   5.78000
+ 16-APR      /  4:   3.80000   5.06000   6.32000   7.58000
+ 16-MAY      /  5:   4.70000   6.26000   7.82000   9.38000
+ 16-JUN      /  6:   5.60000   7.46000   9.32000  11.18000
+ 16-JUL      /  7:   6.50000   8.66000  10.82000  12.98000
+ 16-AUG      /  8:   7.40000   9.86000  12.32000  14.78000
+ 15-SEP      /  9:   8.30000  11.06000  13.82000  16.58000
+ 16-OCT      / 10:   9.20000  12.26000  15.32000  18.38000
+ 15-NOV      / 11:  10.10000  13.46000  16.82000  20.18000
+ 16-DEC      / 12:  11.00000  14.66000  18.32000  21.98000
+ 
+can dat/all
+ 
+!  e and f
+ 
+let ayf = _f[gf=fpax] + y[gy=ypax]
+let bfe = 0*_f[gf=fpax]+  10*_e[ge=epax]
+list dot(ayf, bfe, 6)
+             VARIABLE : DOT(AYF, BFE, 6)
+             SUBSET   : 3 by 3 points (Y-E)
+               0.1       0.2       0.3    
+                1         2         3
+ -3   / 1:  18.00000   6.00000  -6.00000
+ -2   / 2:  12.00000   4.00000  -4.00000
+ -1   / 3:   6.00000   2.00000  -2.00000
+ 
+let aze = z[gz=zpax]+ 10*_e[ge=epax]
+list dot(aze, bfe, 5)
+             VARIABLE : DOT(AZE, BFE, 5)
+             SUBSET   : 4 by 4 points (Z-F)
+               0.01      0.02      0.03      0.04    
+                 1         2         3         4
+ -0.4  / 1:  1399.400  1398.800  1398.200  1397.600
+ -0.3  / 2:  1399.400  1398.800  1398.200  1397.600
+ -0.2  / 3:  1399.400  1398.800  1398.200  1397.600
+ -0.1  / 4:  1399.400  1398.800  1398.200  1397.600
+ 
+let xvar = x[gx=xpax] - 1
+let azex = aze + xvar
+let multi_dot = dot(azex, bfe, 5)
+save/file=a.nc/clobber multi_dot
+ 
+can var multi_dot
+use a.nc
+!  This should be the same as dot(azex, bfe, 5)
+list/i=1 multi_dot
+             VARIABLE : DOT(AZEX, BFE, 5)
+             FILENAME : a.nc
+             SUBSET   : 4 by 4 points (Z-F)
+             X        : 1
+               0.01      0.02      0.03      0.04    
+                 1         2         3         4
+ -0.4  / 1:  1399.400  1398.800  1398.200  1397.600
+ -0.3  / 2:  1399.400  1398.800  1398.200  1397.600
+ -0.2  / 3:  1399.400  1398.800  1398.200  1397.600
+ -0.1  / 4:  1399.400  1398.800  1398.200  1397.600
+ 
+cancel list/precision
+ 
+GO bn_reset bn_cache_management
+cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_cache_management
+GO bn_cache_management
+! bn_cache_management.jnl
+ 
+ ! 1/2017 - try to force Ferret into a complex juggling of dependencies
+! and cache maintenance in order to reproduce the problem seen in trac
+! ticket #2485 (from Ned Cokelet)
+! *acm*7/2017 0=success for SPAWN_STATUS
+ 
+! Ferret's cache of memory-resident results is full when it holds 500 of them.
+! At that point it must delete cached results to make room for new variables.
+! It is supposed to chose the cached result that has not been used for the
+! longest time, AND that is not being "protected" because it is needed in a
+! pending calculation.  This script is intended to exercise that behavior.
+ 
+! Memory footprint needed:
+! Each dataset contains 7 variables of 1 Mword each
+! VTREE reveals that the "result" variable requires 78 intermediate variables
+! of size 1Mword (plus 7 small ones)
+! Of these only 12 variables needed in the top level "result" sum calculation
+! Each of the top level variables in turn requires ?25? component variables
+! But the top level variables need these components only in sequence.
+! So if no split-gather is performed, Ferret requires ~12+25=37 Mwords
+ 
+DEFINE SYMBOL saved_memory_size = ($FERRET_MEMORY)
+ !-> DEFINE SYMBOL saved_memory_size = 3
+ 
+SET MEMORY/SIZE=20
+CANCEL MEMORY/ALL
+ 
+DEFINE SYMBOL nsets = 20
+ 
+define axis/x=1:1000000:1 xmillion
+ 
+! aside: to demonstrate lmitations of ferret memory management prior to
+! dynamic memory, use
+!     yes? set memory/size=37
+!     yes? GO test_auto_cache_delete 0 20
+ 
+! see if the test files already exist
+SPAWN "mkdir -p tmp"     ! tmp directory to store files
+SPAWN ls tmp/test_auto_cache_($nsets).nc
+ !-> SPAWN ls tmp/test_auto_cache_20.nc
+tmp/test_auto_cache_20.nc
+IF ($SPAWN_OK) THEN
+ !-> IF 1 THEN
+ say test files already exist.  not re-creating them
+test files already exist.  not re-creating them
+ELSE
+ENDIF
+ 
+! open the many input datasets
+REPEAT/k=1:($nsets)  USE tmp/test_auto_cache_`k`.nc
+ !-> REPEAT/k=1:20  USE tmp/test_auto_cache_`k`.nc
+!-> REPEAT: K=1
+ !-> SET DAT/FORM=CDF tmp/test_auto_cache_1.nc
+!-> REPEAT: K=2
+ !-> SET DAT/FORM=CDF tmp/test_auto_cache_2.nc
+!-> REPEAT: K=3
+ !-> SET DAT/FORM=CDF tmp/test_auto_cache_3.nc
+!-> REPEAT: K=4
+ !-> SET DAT/FORM=CDF tmp/test_auto_cache_4.nc
+!-> REPEAT: K=5
+ !-> SET DAT/FORM=CDF tmp/test_auto_cache_5.nc
+!-> REPEAT: K=6
+ !-> SET DAT/FORM=CDF tmp/test_auto_cache_6.nc
+!-> REPEAT: K=7
+ !-> SET DAT/FORM=CDF tmp/test_auto_cache_7.nc
+!-> REPEAT: K=8
+ !-> SET DAT/FORM=CDF tmp/test_auto_cache_8.nc
+!-> REPEAT: K=9
+ !-> SET DAT/FORM=CDF tmp/test_auto_cache_9.nc
+!-> REPEAT: K=10
+ !-> SET DAT/FORM=CDF tmp/test_auto_cache_10.nc
+!-> REPEAT: K=11
+ !-> SET DAT/FORM=CDF tmp/test_auto_cache_11.nc
+!-> REPEAT: K=12
+ !-> SET DAT/FORM=CDF tmp/test_auto_cache_12.nc
+!-> REPEAT: K=13
+ !-> SET DAT/FORM=CDF tmp/test_auto_cache_13.nc
+!-> REPEAT: K=14
+ !-> SET DAT/FORM=CDF tmp/test_auto_cache_14.nc
+!-> REPEAT: K=15
+ !-> SET DAT/FORM=CDF tmp/test_auto_cache_15.nc
+!-> REPEAT: K=16
+ !-> SET DAT/FORM=CDF tmp/test_auto_cache_16.nc
+!-> REPEAT: K=17
+ !-> SET DAT/FORM=CDF tmp/test_auto_cache_17.nc
+!-> REPEAT: K=18
+ !-> SET DAT/FORM=CDF tmp/test_auto_cache_18.nc
+!-> REPEAT: K=19
+ !-> SET DAT/FORM=CDF tmp/test_auto_cache_19.nc
+!-> REPEAT: K=20
+ !-> SET DAT/FORM=CDF tmp/test_auto_cache_20.nc
+ 
+! define a huge tree of variables
+let  r_one      = RESHAPE(one,X[gx=xmillion])
+let  r_ten      = RESHAPE(ten,X[gx=xmillion])
+let  r_hundred  = RESHAPE(hundred,X[gx=xmillion])
+let  r_thousand = RESHAPE(thousand,X[gx=xmillion])
+let  r_tenthou  = RESHAPE(tenthou,X[gx=xmillion])
+let  r_hundthou = RESHAPE(hundthou,X[gx=xmillion])
+let  r_million  = RESHAPE(million,X[gx=xmillion])
+ 
+let a_one     = r_one[X=@ave]
+let a_ten     = r_ten[X=@ave]
+let a_hundred = r_hundred[X=@ave]
+let a_thousand= r_thousand[X=@ave]
+let a_tenthou = r_tenthou[X=@ave]
+let a_hundthou= r_hundthou[X=@ave]
+let a_million = r_million[X=@ave]
+ 
+let one_2      = a_one
+let ten_2      = a_ten
+let hundred_2  = a_hundred
+let thousand_2 = a_thousand
+let tenthou_2  = a_tenthou
+let hundthou_2 = a_hundthou
+let million_2  = a_million
+ 
+let one_3      = a_one
+let ten_3      = a_ten
+let hundred_3  = a_hundred
+let thousand_3 = a_thousand
+let tenthou_3  = a_tenthou
+let hundthou_3 = a_hundthou
+let million_3  = a_million
+ 
+let result_31 = \
+one_3 + ten_3 + hundred_3 + thousand_3 + tenthou_3 + hundthou_3 + million_3
+ 
+let result_21 = \
+one_2 + ten_2 + hundred_2 + thousand_2 + tenthou_2 + hundthou_2 + million_2
+ 
+let result_32 = \
+one_3 + ten_3 + hundred_3 + thousand_3 + tenthou_3 + hundthou_3 + million_3
+ 
+let result_22 = \
+one_2 + ten_2 + hundred_2 + thousand_2 + tenthou_2 + hundthou_2 + million_2
+ 
+let result = result_31 + result_21 + result_32 + result_22 + \
+a_one + a_ten + a_hundred + a_thousand + a_tenthou + a_hundthou + a_million
+ 
+! process all of the datasets in turn
+! ==> WATCH HOW THE NUMBER OF FREE SLOTS IS PROGRESSIVELY EXHAUSTED
+! This proves that we are exercising the limits of table space
+sp rm -f test_auto_cache.out
+REPEAT/k=1:($nsets)  \
+(list/nohead/file=test_auto_cache.out/append result[d=test_auto_cache_`k`.nc];\
+SHOW MEMORY/DIAG)
+ !-> REPEAT/k=1:20  (list/nohead/file=test_auto_cache.out/append result[d=test_auto_cache_`k`.nc];SHOW MEMORY/DIAG)
+!-> REPEAT: K=1
+ !-> list/nohead/file=test_auto_cache.out/append result[d=test_auto_cache_1.nc]
+    No split/gather occurred in the last evaluation
+    Total table slots: 500
+    Free table slots: 432
+    Un-cached variables: 0
+    SET MEMORY/SIZE: 20 megawords
+    Peak demand: 8.020001 megawords
+    Current cache: 14.21004 megawords
+!-> REPEAT: K=2
+ !-> list/nohead/file=test_auto_cache.out/append result[d=test_auto_cache_2.nc]
+    No split/gather occurred in the last evaluation
+    Total table slots: 500
+    Free table slots: 385
+    Un-cached variables: 0
+    SET MEMORY/SIZE: 20 megawords
+    Peak demand: 8.020001 megawords
+    Current cache: 7.42008 megawords
+!-> REPEAT: K=3
+ !-> list/nohead/file=test_auto_cache.out/append result[d=test_auto_cache_3.nc]
+    No split/gather occurred in the last evaluation
+    Total table slots: 500
+    Free table slots: 331
+    Un-cached variables: 0
+    SET MEMORY/SIZE: 20 megawords
+    Peak demand: 8.020001 megawords
+    Current cache: 7.63012 megawords
+!-> REPEAT: K=4
+ !-> list/nohead/file=test_auto_cache.out/append result[d=test_auto_cache_4.nc]
+    No split/gather occurred in the last evaluation
+    Total table slots: 500
+    Free table slots: 277
+    Un-cached variables: 0
+    SET MEMORY/SIZE: 20 megawords
+    Peak demand: 8.020001 megawords
+    Current cache: 7.84016 megawords
+!-> REPEAT: K=5
+ !-> list/nohead/file=test_auto_cache.out/append result[d=test_auto_cache_5.nc]
+    No split/gather occurred in the last evaluation
+    Total table slots: 500
+    Free table slots: 223
+    Un-cached variables: 0
+    SET MEMORY/SIZE: 20 megawords
+    Peak demand: 8.020001 megawords
+    Current cache: 8.0502 megawords
+!-> REPEAT: K=6
+ !-> list/nohead/file=test_auto_cache.out/append result[d=test_auto_cache_6.nc]
+    No split/gather occurred in the last evaluation
+    Total table slots: 500
+    Free table slots: 169
+    Un-cached variables: 0
+    SET MEMORY/SIZE: 20 megawords
+    Peak demand: 8.020001 megawords
+    Current cache: 8.26024 megawords
+!-> REPEAT: K=7
+ !-> list/nohead/file=test_auto_cache.out/append result[d=test_auto_cache_7.nc]
+    No split/gather occurred in the last evaluation
+    Total table slots: 500
+    Free table slots: 115
+    Un-cached variables: 0
+    SET MEMORY/SIZE: 20 megawords
+    Peak demand: 8.020001 megawords
+    Current cache: 8.47028 megawords
+!-> REPEAT: K=8
+ !-> list/nohead/file=test_auto_cache.out/append result[d=test_auto_cache_8.nc]
+    No split/gather occurred in the last evaluation
+    Total table slots: 500
+    Free table slots: 61
+    Un-cached variables: 0
+    SET MEMORY/SIZE: 20 megawords
+    Peak demand: 8.020001 megawords
+    Current cache: 8.68032 megawords
+!-> REPEAT: K=9
+ !-> list/nohead/file=test_auto_cache.out/append result[d=test_auto_cache_9.nc]
+    No split/gather occurred in the last evaluation
+    Total table slots: 500
+    Free table slots: 7
+    Un-cached variables: 0
+    SET MEMORY/SIZE: 20 megawords
+    Peak demand: 8.020001 megawords
+    Current cache: 8.89036 megawords
+!-> REPEAT: K=10
+ !-> list/nohead/file=test_auto_cache.out/append result[d=test_auto_cache_10.nc]
+    No split/gather occurred in the last evaluation
+    Total table slots: 500
+    Free table slots: 1
+    Un-cached variables: 0
+    SET MEMORY/SIZE: 20 megawords
+    Peak demand: 8.020001 megawords
+    Current cache: 8.890366 megawords
+!-> REPEAT: K=11
+ !-> list/nohead/file=test_auto_cache.out/append result[d=test_auto_cache_11.nc]
+    No split/gather occurred in the last evaluation
+    Total table slots: 500
+    Free table slots: 1
+    Un-cached variables: 0
+    SET MEMORY/SIZE: 20 megawords
+    Peak demand: 8.020001 megawords
+    Current cache: 8.890366 megawords
+!-> REPEAT: K=12
+ !-> list/nohead/file=test_auto_cache.out/append result[d=test_auto_cache_12.nc]
+    No split/gather occurred in the last evaluation
+    Total table slots: 500
+    Free table slots: 1
+    Un-cached variables: 0
+    SET MEMORY/SIZE: 20 megawords
+    Peak demand: 8.020001 megawords
+    Current cache: 8.890366 megawords
+!-> REPEAT: K=13
+ !-> list/nohead/file=test_auto_cache.out/append result[d=test_auto_cache_13.nc]
+    No split/gather occurred in the last evaluation
+    Total table slots: 500
+    Free table slots: 1
+    Un-cached variables: 0
+    SET MEMORY/SIZE: 20 megawords
+    Peak demand: 8.020001 megawords
+    Current cache: 8.890366 megawords
+!-> REPEAT: K=14
+ !-> list/nohead/file=test_auto_cache.out/append result[d=test_auto_cache_14.nc]
+    No split/gather occurred in the last evaluation
+    Total table slots: 500
+    Free table slots: 1
+    Un-cached variables: 0
+    SET MEMORY/SIZE: 20 megawords
+    Peak demand: 8.020001 megawords
+    Current cache: 8.890366 megawords
+!-> REPEAT: K=15
+ !-> list/nohead/file=test_auto_cache.out/append result[d=test_auto_cache_15.nc]
+    No split/gather occurred in the last evaluation
+    Total table slots: 500
+    Free table slots: 1
+    Un-cached variables: 0
+    SET MEMORY/SIZE: 20 megawords
+    Peak demand: 8.020001 megawords
+    Current cache: 8.890366 megawords
+!-> REPEAT: K=16
+ !-> list/nohead/file=test_auto_cache.out/append result[d=test_auto_cache_16.nc]
+    No split/gather occurred in the last evaluation
+    Total table slots: 500
+    Free table slots: 1
+    Un-cached variables: 0
+    SET MEMORY/SIZE: 20 megawords
+    Peak demand: 8.020001 megawords
+    Current cache: 8.890366 megawords
+!-> REPEAT: K=17
+ !-> list/nohead/file=test_auto_cache.out/append result[d=test_auto_cache_17.nc]
+    No split/gather occurred in the last evaluation
+    Total table slots: 500
+    Free table slots: 1
+    Un-cached variables: 0
+    SET MEMORY/SIZE: 20 megawords
+    Peak demand: 8.020001 megawords
+    Current cache: 8.890366 megawords
+!-> REPEAT: K=18
+ !-> list/nohead/file=test_auto_cache.out/append result[d=test_auto_cache_18.nc]
+    No split/gather occurred in the last evaluation
+    Total table slots: 500
+    Free table slots: 1
+    Un-cached variables: 0
+    SET MEMORY/SIZE: 20 megawords
+    Peak demand: 8.020001 megawords
+    Current cache: 8.890366 megawords
+!-> REPEAT: K=19
+ !-> list/nohead/file=test_auto_cache.out/append result[d=test_auto_cache_19.nc]
+    No split/gather occurred in the last evaluation
+    Total table slots: 500
+    Free table slots: 1
+    Un-cached variables: 0
+    SET MEMORY/SIZE: 20 megawords
+    Peak demand: 8.020001 megawords
+    Current cache: 8.890366 megawords
+!-> REPEAT: K=20
+ !-> list/nohead/file=test_auto_cache.out/append result[d=test_auto_cache_20.nc]
+    No split/gather occurred in the last evaluation
+    Total table slots: 500
+    Free table slots: 1
+    Un-cached variables: 0
+    SET MEMORY/SIZE: 20 megawords
+    Peak demand: 8.020001 megawords
+    Current cache: 8.890366 megawords
+ 
+! success
+vtree result
+   in default dataset test_auto_cache_20
+   RESULT = RESULT_31 + RESULT_21 + RESULT_32 + RESULT_22 + A_ONE + A_TEN + A_HUNDRED + A_THOUSAND + A_TENTHOU + A_HUNDTHOU + A_MILLION
+     RESULT_31 = ONE_3 + TEN_3 + HUNDRED_3 + THOUSAND_3 + TENTHOU_3 + HUNDTHOU_3 + MILLION_3
+       ONE_3 = A_ONE
+         A_ONE = R_ONE[X=@AVE]
+           R_ONE = RESHAPE(ONE,X[GX=XMILLION])
+             (C001,V002) = RESHAPE(ONE,X[GX=XMILLION])
+               (C013,V002) = X[GX=XMILLION]
+       TEN_3 = A_TEN
+         A_TEN = R_TEN[X=@AVE]
+           R_TEN = RESHAPE(TEN,X[GX=XMILLION])
+             (C001,V005) = RESHAPE(TEN,X[GX=XMILLION])
+               (C013,V005) = X[GX=XMILLION]
+       HUNDRED_3 = A_HUNDRED
+         A_HUNDRED = R_HUNDRED[X=@AVE]
+           R_HUNDRED = RESHAPE(HUNDRED,X[GX=XMILLION])
+             (C001,V008) = RESHAPE(HUNDRED,X[GX=XMILLION])
+               (C017,V008) = X[GX=XMILLION]
+       THOUSAND_3 = A_THOUSAND
+         A_THOUSAND = R_THOUSAND[X=@AVE]
+           R_THOUSAND = RESHAPE(THOUSAND,X[GX=XMILLION])
+             (C001,V011) = RESHAPE(THOUSAND,X[GX=XMILLION])
+               (C018,V011) = X[GX=XMILLION]
+       TENTHOU_3 = A_TENTHOU
+         A_TENTHOU = R_TENTHOU[X=@AVE]
+           R_TENTHOU = RESHAPE(TENTHOU,X[GX=XMILLION])
+             (C001,V014) = RESHAPE(TENTHOU,X[GX=XMILLION])
+               (C017,V014) = X[GX=XMILLION]
+       HUNDTHOU_3 = A_HUNDTHOU
+         A_HUNDTHOU = R_HUNDTHOU[X=@AVE]
+           R_HUNDTHOU = RESHAPE(HUNDTHOU,X[GX=XMILLION])
+             (C001,V017) = RESHAPE(HUNDTHOU,X[GX=XMILLION])
+               (C018,V017) = X[GX=XMILLION]
+       MILLION_3 = A_MILLION
+         A_MILLION = R_MILLION[X=@AVE]
+           R_MILLION = RESHAPE(MILLION,X[GX=XMILLION])
+             (C001,V020) = RESHAPE(MILLION,X[GX=XMILLION])
+               (C017,V020) = X[GX=XMILLION]
+     RESULT_21 = ONE_2 + TEN_2 + HUNDRED_2 + THOUSAND_2 + TENTHOU_2 + HUNDTHOU_2 + MILLION_2
+       ONE_2 = A_ONE
+         A_ONE =  (defined above)
+       TEN_2 = A_TEN
+         A_TEN =  (defined above)
+       HUNDRED_2 = A_HUNDRED
+         A_HUNDRED =  (defined above)
+       THOUSAND_2 = A_THOUSAND
+         A_THOUSAND =  (defined above)
+       TENTHOU_2 = A_TENTHOU
+         A_TENTHOU =  (defined above)
+       HUNDTHOU_2 = A_HUNDTHOU
+         A_HUNDTHOU =  (defined above)
+       MILLION_2 = A_MILLION
+         A_MILLION =  (defined above)
+     RESULT_32 = ONE_3 + TEN_3 + HUNDRED_3 + THOUSAND_3 + TENTHOU_3 + HUNDTHOU_3 + MILLION_3
+       ONE_3 =  (defined above)
+       TEN_3 =  (defined above)
+       HUNDRED_3 =  (defined above)
+       THOUSAND_3 =  (defined above)
+       TENTHOU_3 =  (defined above)
+       HUNDTHOU_3 =  (defined above)
+       MILLION_3 =  (defined above)
+     RESULT_22 = ONE_2 + TEN_2 + HUNDRED_2 + THOUSAND_2 + TENTHOU_2 + HUNDTHOU_2 + MILLION_2
+       ONE_2 =  (defined above)
+       TEN_2 =  (defined above)
+       HUNDRED_2 =  (defined above)
+       THOUSAND_2 =  (defined above)
+       TENTHOU_2 =  (defined above)
+       HUNDTHOU_2 =  (defined above)
+       MILLION_2 =  (defined above)
+     A_ONE =  (defined above)
+     A_TEN =  (defined above)
+     A_HUNDRED =  (defined above)
+     A_THOUSAND =  (defined above)
+     A_TENTHOU =  (defined above)
+     A_HUNDTHOU =  (defined above)
+     A_MILLION =  (defined above)
+! show that the calculation result never varied
+spawn cat test_auto_cache.out
+          5555555.
+          5555555.
+          5555555.
+          5555555.
+          5555555.
+          5555555.
+          5555555.
+          5555555.
+          5555555.
+          5555555.
+          5555555.
+          5555555.
+          5555555.
+          5555555.
+          5555555.
+          5555555.
+          5555555.
+          5555555.
+          5555555.
+          5555555.
+ 
+! clean up
+SET MEMORY/SIZE=($saved_memory_size)
+ !-> SET MEMORY/SIZE=3
+ 
+GO bn_reset bn_transp_choose
+cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_transp_choose
+GO bn_transp_choose
+! bn_transp_choose.jnl
+!  Test the TRANSPOSE function which chooses which of the
+! transpose_ functions to run based on arguments
+ 
+can mem
+sh func transpose
+TRANSPOSE(VAR,DIM1,DIM2)
+    Compute the transpose along two given dimensions
+    VAR: Variable to transpose
+    DIM1: Dimension 1 for transpose (1,2,...)
+    DIM2: Dimension 2 for transpose (1,2,...)
+ 
+use gt4d011
+ 
+list/K=1/l=1 u[i=91:100,j=35:45]
+             VARIABLE : ZONAL VELOCITY (cm/sec)
+             FILENAME : gt4d011.cdf
+             SUBSET   : 10 by 11 points (LONGITUDE-LATITUDE)
+             DEPTH (m): 5
+             TIME     : 17-AUG-1982 12:00
+              139W   138W   137W   136W   135W   134W   133W   132W   131W   130W   
+               91     92     93     94     95     96     97     98     99    100
+ 0     / 45:  -8.20 -19.89 -28.29 -25.75 -16.70 -11.70 -11.69 -13.85 -17.12 -21.07
+ 0.33S / 44:   1.59  -6.13 -13.69 -15.25 -11.03  -7.87  -7.10  -7.63  -9.21 -12.26
+ 0.67S / 43:   5.32   1.48  -3.07  -5.89  -5.82  -5.23  -4.74  -4.33  -4.43  -6.13
+ 1S    / 42:   4.21   2.98   1.52  -0.92  -2.98  -3.76  -3.56  -2.80  -2.14  -2.69
+ 1.33S / 41:   0.84   0.81   1.58   0.30  -2.14  -2.93  -2.57  -1.80  -1.01  -0.84
+ 1.67S / 40:  -2.97  -2.36  -0.43  -0.56  -2.17  -2.25  -1.77  -1.32  -0.77  -0.35
+ 2S    / 39:  -5.92  -4.46  -2.65  -1.48  -1.97  -1.38  -1.01  -1.15  -1.17  -1.00
+ 2.33S / 38:  -7.43  -5.01  -2.65  -0.75  -0.32   0.16   0.24  -0.26  -0.54  -0.55
+ 2.67S / 37:  -7.90  -5.72  -2.76  -0.71   0.17   0.87   0.49  -0.46  -1.02  -1.12
+ 3S    / 36:  -7.76  -5.38  -2.21  -0.01   0.83   1.06   0.35  -1.04  -2.12  -2.57
+ 3.33S / 35:  -6.68  -4.47  -2.20  -0.62  -0.06  -0.21  -1.41  -2.79  -3.67  -4.03
+let var = transpose (u[i=91:100,j=35:41], 1, 2)
+list/K=1/l=1 var
+             VARIABLE : TRANSPOSE (U[I=91:100,J=35:41], 1, 2)
+             FILENAME : gt4d011.cdf
+             SUBSET   : 7 by 10 points (X-Y)
+             DEPTH (m): 5
+             TIME     : 17-AUG-1982 12:00
+               1      2      3      4      5      6      7    
+               1      2      3      4      5      6      7
+ 1    /  1: -6.680 -7.762 -7.904 -7.426 -5.923 -2.970  0.842
+ 2    /  2: -4.470 -5.381 -5.718 -5.006 -4.457 -2.359  0.813
+ 3    /  3: -2.198 -2.209 -2.764 -2.647 -2.652 -0.425  1.580
+ 4    /  4: -0.620 -0.005 -0.710 -0.755 -1.478 -0.555  0.299
+ 5    /  5: -0.058  0.828  0.170 -0.324 -1.974 -2.169 -2.136
+ 6    /  6: -0.214  1.056  0.875  0.164 -1.383 -2.248 -2.932
+ 7    /  7: -1.413  0.347  0.486  0.235 -1.009 -1.767 -2.566
+ 8    /  8: -2.788 -1.040 -0.455 -0.259 -1.149 -1.316 -1.802
+ 9    /  9: -3.674 -2.118 -1.018 -0.536 -1.167 -0.772 -1.006
+ 10   / 10: -4.028 -2.566 -1.120 -0.550 -1.001 -0.346 -0.835
+ 
+! same as transpose_xy function
+list/k=1/l=1 transpose_xy(u[i=91:100,j=35:41])
+             VARIABLE : TRANSPOSE_XY(U[I=91:100,J=35:41])
+             FILENAME : gt4d011.cdf
+             SUBSET   : 7 by 10 points (X-Y)
+             DEPTH (m): 5
+             TIME     : 17-AUG-1982 12:00
+               1      2      3      4      5      6      7    
+               1      2      3      4      5      6      7
+ 1    /  1: -6.680 -7.762 -7.904 -7.426 -5.923 -2.970  0.842
+ 2    /  2: -4.470 -5.381 -5.718 -5.006 -4.457 -2.359  0.813
+ 3    /  3: -2.198 -2.209 -2.764 -2.647 -2.652 -0.425  1.580
+ 4    /  4: -0.620 -0.005 -0.710 -0.755 -1.478 -0.555  0.299
+ 5    /  5: -0.058  0.828  0.170 -0.324 -1.974 -2.169 -2.136
+ 6    /  6: -0.214  1.056  0.875  0.164 -1.383 -2.248 -2.932
+ 7    /  7: -1.413  0.347  0.486  0.235 -1.009 -1.767 -2.566
+ 8    /  8: -2.788 -1.040 -0.455 -0.259 -1.149 -1.316 -1.802
+ 9    /  9: -3.674 -2.118 -1.018 -0.536 -1.167 -0.772 -1.006
+ 10   / 10: -4.028 -2.566 -1.120 -0.550 -1.001 -0.346 -0.835
+ 
+! Combine transpose with other operations
+let vari = u - v
+list/l=1 vari[i=91:100,j=35:41,k=1:5 at ave]
+             VARIABLE : U - V
+             FILENAME : gt4d011.cdf
+             SUBSET   : 10 by 7 points (LONGITUDE-LATITUDE)
+             DEPTH (m): 0 to 50 (averaged)
+             TIME     : 17-AUG-1982 12:00
+              139W   138W   137W   136W   135W   134W   133W   132W   131W   130W   
+               91     92     93     94     95     96     97     98     99    100
+ 1.33S / 41:  31.96  33.88  35.22  32.52  26.48  23.46  23.71  26.69  30.92  34.16
+ 1.67S / 40:  25.82  27.64  29.79  29.00  24.90  23.10  23.50  25.89  29.37  32.46
+ 2S    / 39:  20.82  22.59  24.84  25.83  23.44  22.68  23.09  24.69  27.27  29.79
+ 2.33S / 38:  17.62  19.51  22.20  24.22  22.98  22.48  22.74  23.81  25.76  27.66
+ 2.67S / 37:  15.96  17.53  20.70  22.98  22.23  22.31  22.43  23.10  24.59  25.95
+ 3S    / 36:  14.43  16.40  19.31  21.57  20.87  20.95  20.89  21.14  22.19  23.48
+ 3.33S / 35:  13.00  14.83  17.21  19.11  18.28  18.32  18.33  18.69  19.60  20.46
+let var = transpose (vari[i=91:100,j=35:41,k=1:5 at ave], 1, 2)
+list/l=1 var
+             VARIABLE : TRANSPOSE (VARI[I=91:100,J=35:41,K=1:5 at AVE], 1, 2)
+             FILENAME : gt4d011.cdf
+             SUBSET   : 7 by 10 points (X-Y)
+             TIME     : 17-AUG-1982 12:00
+               1      2      3      4      5      6      7    
+               1      2      3      4      5      6      7
+ 1    /  1:  13.00  14.43  15.96  17.62  20.82  25.82  31.96
+ 2    /  2:  14.83  16.40  17.53  19.51  22.59  27.64  33.88
+ 3    /  3:  17.21  19.31  20.70  22.20  24.84  29.79  35.22
+ 4    /  4:  19.11  21.57  22.98  24.22  25.83  29.00  32.52
+ 5    /  5:  18.28  20.87  22.23  22.98  23.44  24.90  26.48
+ 6    /  6:  18.32  20.95  22.31  22.48  22.68  23.10  23.46
+ 7    /  7:  18.33  20.89  22.43  22.74  23.09  23.50  23.71
+ 8    /  8:  18.69  21.14  23.10  23.81  24.69  25.89  26.69
+ 9    /  9:  19.60  22.19  24.59  25.76  27.27  29.37  30.92
+ 10   / 10:  20.46  23.48  25.95  27.66  29.79  32.46  34.16
+ 
+ 
+GO bn_reset bn_iin_regrid
+cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Starting test: bn_iin_regrid
+GO bn_iin_regrid
+! bn_iin_regrid.jnl
+! @IIN as a regridding transform See Ticket 2346
+ 
+def ax/edge/x=0:10:1 aline
+let a = mod(.5+x[gx=aline],2)
+ 
+let xlo = xboxlo[gx=a]
+def ax/x aline_edges = xcat(xlo[i=1], xboxhi[gx=a])
+ 
+! new @IIN regridding
+show axis/x aline_edges
+ name       axis              # pts   start                end
+ aline_edges X                 11 r   0                    10
+   Axis span (to cell edges) = 11
+ 
+       I     X                   XBOX      XBOXLO
+       1>  0                     1          -0.5
+       2>  1                     1          0.5
+       3>  2                     1          1.5
+       4>  3                     1          2.5
+       5>  4                     1          3.5
+       6>  5                     1          4.5
+       7>  6                     1          5.5
+       8>  7                     1          6.5
+       9>  8                     1          7.5
+      10>  9                     1          8.5
+      11>  10                    1          9.5
+ 
+let c = a[gx=aline_edges at iin]
+list a
+             VARIABLE : MOD(.5+X[GX=ALINE],2)
+             SUBSET   : 10 points (X)
+ 0.5 /  1:  1.000
+ 1.5 /  2:  0.000
+ 2.5 /  3:  1.000
+ 3.5 /  4:  0.000
+ 4.5 /  5:  1.000
+ 5.5 /  6:  0.000
+ 6.5 /  7:  1.000
+ 7.5 /  8:  0.000
+ 8.5 /  9:  1.000
+ 9.5 / 10:  0.000
+list c
+             VARIABLE : A[GX=ALINE_EDGES at IIN]
+             SUBSET   : 11 points (X)
+ 0    /  1:  0.000
+ 1    /  2:  1.000
+ 2    /  3:  1.000
+ 3    /  4:  2.000
+ 4    /  5:  2.000
+ 5    /  6:  3.000
+ 6    /  7:  3.000
+ 7    /  8:  4.000
+ 8    /  9:  4.000
+ 9    / 10:  5.000
+ 10   / 11:  5.000
+ 
+ 
+def ax/edge/x=0:10:1 aline
+let a = mod(.5+x[gx=aline],2)
+ 
+! Intentional error
+ 
+set mode ignore
+! Different delta
+ 
+define axis/x=0.5:10.5:0.5 alinenew
+list a[gx=alinenew at iin]
+ 
+set mode/last ignore
+ 
+ 
+! result out of range, returns missing
+define axis/x=100:111:1 alinenew
+list a[gx=alinenew at iin]
+             VARIABLE : MOD(.5+X[GX=ALINE],2)
+                        regrid: 1 delta on X at IIN
+             SUBSET   : 12 points (X)
+ 100   /  1:....
+ 101   /  2:....
+ 102   /  3:....
+ 103   /  4:....
+ 104   /  5:....
+ 105   /  6:....
+ 106   /  7:....
+ 107   /  8:....
+ 108   /  9:....
+ 109   / 10:....
+ 110   / 11:....
+ 111   / 12:....
+ 
+! partially out of range
+define axis/x=2.5:15.5:1 alinenew
+list a[gx=alinenew at iin]
+             VARIABLE : MOD(.5+X[GX=ALINE],2)
+                        regrid: 1 delta on X at IIN
+             SUBSET   : 14 points (X)
+ 2.5  /  1:  0.000
+ 3.5  /  2:  0.000
+ 4.5  /  3:  1.000
+ 5.5  /  4:  1.000
+ 6.5  /  5:  2.000
+ 7.5  /  6:  2.000
+ 8.5  /  7:  3.000
+ 9.5  /  8:  3.000
+ 10.5 /  9:   ....
+ 11.5 / 10:   ....
+ 12.5 / 11:   ....
+ 13.5 / 12:   ....
+ 14.5 / 13:   ....
+ 15.5 / 14:   ....
+ 
+! same range, outer boxes
+define axis/x=-0.5:10.5:1 alinenew
+list a[gx=alinenew at iin]
+             VARIABLE : MOD(.5+X[GX=ALINE],2)
+                        regrid: 1 delta on X at IIN
+             SUBSET   : 12 points (X)
+ -0.5 /  1:   ....
+ 0.5  /  2:  0.000
+ 1.5  /  3:  1.000
+ 2.5  /  4:  1.000
+ 3.5  /  5:  2.000
+ 4.5  /  6:  2.000
+ 5.5  /  7:  3.000
+ 6.5  /  8:  3.000
+ 7.5  /  9:  4.000
+ 8.5  / 10:  4.000
+ 9.5  / 11:  5.000
+ 10.5 / 12:   ....
+can mem
+! plots in different directions
+ 
+can view; can var/all
+! In X
+ 
+set win/asp=0.5
+set v left
+def ax/edge/x=0:10:1 aline
+let a = mod(.5+x[gx=aline],2)
+plot/step=con/vl=-1:6:1/hl=-1:11:1/grat=dash/col=green/thic=3 a
+let a_iin = a[x=@iin]
+plot/ov/line/sym=2/si=.1/col=2/thic=2 a_iin
+let xlo = xboxlo[gx=a]
+def ax/x aline_edges = xcat(xlo[i=1], xboxhi[gx=a])
+let a_iin_edges = a_iin[gx=aline_edges at asn]
+let a_int = IF i[gx=aline_edges] EQ 1 THEN 0 ELSE a_iin_edges[x=@shf:-1]
+plot/ov/line/sym=28/si=.1/col=purple/thic=2 a_int
+ 
+ 
+! new @IIN regridding
+ 
+show axis/x aline_edges
+ name       axis              # pts   start                end
+ aline_edges X                 11 r   0                    10
+   Axis span (to cell edges) = 11
+ 
+       I     X                   XBOX      XBOXLO
+       1>  0                     1          -0.5
+       2>  1                     1          0.5
+       3>  2                     1          1.5
+       4>  3                     1          2.5
+       5>  4                     1          3.5
+       6>  5                     1          4.5
+       7>  6                     1          5.5
+       8>  7                     1          6.5
+       9>  8                     1          7.5
+      10>  9                     1          8.5
+      11>  10                    1          9.5
+let c = a[gx=aline_edges at iin]
+plot/ov/line/sym=19/si=.1/col=light/thic=1 c
+ 
+set v right
+let b = 1+0*a
+plot/step=con/vl=-1:12:1/hl=-1:11:1/grat=dash/col=green/thic=3 b
+let b_iin = b[x=@iin]
+plot/ov/line/sym=2/si=.1/col=2/thic=2 b_iin
+let b_iin_edges = b_iin[gx=aline_edges at asn]
+let b_int = IF i[gx=aline_edges] EQ 1 THEN 0 ELSE b_iin_edges[x=@shf:-1]
+plot/ov/line/sym=28/si=.1/col=purple/thic=2 b_int
+ 
+! new @IIN regridding
+let d = b[gx=aline_edges at iin]
+plot/ov/line/sym=19/si=.1/col=light/thic=1 d
+ 
+list d
+             VARIABLE : B[GX=ALINE_EDGES at IIN]
+             SUBSET   : 11 points (X)
+ 0    /  1:   0.00
+ 1    /  2:   1.00
+ 2    /  3:   2.00
+ 3    /  4:   3.00
+ 4    /  5:   4.00
+ 5    /  6:   5.00
+ 6    /  7:   6.00
+ 7    /  8:   7.00
+ 8    /  9:   8.00
+ 9    / 10:   9.00
+ 10   / 11:  10.00
+define axis/z=1:2:1 otheraxis
+let b2d = b + z[gz=otheraxis]
+list b2d[gx=aline_edges at iin]
+             VARIABLE : B + Z[GZ=OTHERAXIS]
+                        regrid: 1 delta on X at IIN
+             SUBSET   : 11 by 2 points (X-Z)
+             0      1      2      3      4      5      6      7      8      9     10    
+             1      2      3      4      5      6      7      8      9     10     11
+ 1   / 1:   0.00   2.00   4.00   6.00   8.00  10.00  12.00  14.00  16.00  18.00  20.00
+ 2   / 2:   0.00   3.00   6.00   9.00  12.00  15.00  18.00  21.00  24.00  27.00  30.00
+ 
+ 
+can view; can var/all
+! In Y
+ 
+set win/asp=0.5
+set v left
+def ax/edge/y=0:10:1 aline
+let a = mod(.5+y[gy=aline],2)
+plot/step=con/vl=-1:6:1/hl=-1:11:1/grat=dash/col=green/thic=3 a
+let a_iin = a[y=@iin]
+plot/ov/line/sym=2/si=.1/col=2/thic=2 a_iin
+let ylo = yboxlo[gy=a]
+def ax/y aline_edges = ycat(ylo[j=1], yboxhi[gy=a])
+ 
+let a_iin_edges = a_iin[gy=aline_edges at asn]
+let a_int = IF j[gy=aline_edges] EQ 1 THEN 0 ELSE a_iin_edges[y=@shf:-1]
+plot/ov/line/sym=28/si=.1/col=purple/thic=2 a_int
+ 
+ 
+! new @IIN regridding
+let c = a[gy=aline_edges at iin]
+plot/ov/line/sym=19/si=.1/col=light/thic=1 c
+ 
+ 
+set v right
+let b = 1+0*a
+plot/step=con/vl=-1:12:1/hl=-1:11:1/grat=dash/col=green/thic=3 b
+let b_iin = b[y=@iin]
+plot/ov/line/sym=2/si=.1/col=2/thic=2 b_iin
+let b_iin_edges = b_iin[gy=aline_edges at asn]
+let b_int = IF j[gy=aline_edges] EQ 1 THEN 0 ELSE b_iin_edges[y=@shf:-1]
+plot/ov/line/sym=28/si=.1/col=purple/thic=2 b_int
+ 
+! new @IIN regridding
+let d = b[gy=aline_edges at iin]
+plot/ov/line/sym=19/si=.1/col=light/thic=1 d
+ 
+list d
+             VARIABLE : B[GY=ALINE_EDGES at IIN]
+             SUBSET   : 11 points (Y)
+ 0    /  1:   0.00
+ 1    /  2:   1.00
+ 2    /  3:   2.00
+ 3    /  4:   3.00
+ 4    /  5:   4.00
+ 5    /  6:   5.00
+ 6    /  7:   6.00
+ 7    /  8:   7.00
+ 8    /  9:   8.00
+ 9    / 10:   9.00
+ 10   / 11:  10.00
+define axis/z=1:2:1 otheraxis
+let b2d = b + z[gz=otheraxis]
+list b2d[gy=aline_edges at iin]
+             VARIABLE : B + Z[GZ=OTHERAXIS]
+                        regrid: 1 delta on Y at IIN
+             SUBSET   : 11 by 2 points (Y-Z)
+             0      1      2      3      4      5      6      7      8      9     10    
+             1      2      3      4      5      6      7      8      9     10     11
+ 1   / 1:   0.00   2.00   4.00   6.00   8.00  10.00  12.00  14.00  16.00  18.00  20.00
+ 2   / 2:   0.00   3.00   6.00   9.00  12.00  15.00  18.00  21.00  24.00  27.00  30.00
+ 
+ 
+can view; can var/all
+! in Z
+ 
+set win/asp=0.5
+set v left
+def ax/edge/z=0:10:1 aline
+let a = mod(.5+z[gz=aline],2)
+plot/step=con/hl=-1:6:1/vl=-1:11:1/grat=dash/col=green/thic=3 a
+let a_iin = a[z=@iin]
+plot/ov/line/sym=2/si=.1/col=2/thic=2 a_iin
+let zlo = zboxlo[gz=a]
+def ax/z aline_edges = zcat(zlo[k=1], zboxhi[gz=a])
+ 
+let a_iin_edges = a_iin[gz=aline_edges at asn]
+let a_int = IF k[gz=aline_edges] EQ 1 THEN 0 ELSE a_iin_edges[z=@shf:-1]
+plot/ov/line/sym=28/si=.1/col=purple/thic=2 a_int
+ 
+ 
+! new @IIN regridding
+let c = a[gz=aline_edges at iin]
+plot/ov/line/sym=19/si=.1/col=light/thic=1 c
+ 
+set v right
+let b = 1+0*a
+plot/step=con/hl=-1:12:1/vl=-1:11:1/grat=dash/col=green/thic=3 b
+let b_iin = b[z=@iin]
+plot/ov/line/sym=2/si=.1/col=2/thic=2 b_iin
+let b_iin_edges = b_iin[gz=aline_edges at asn]
+let b_int = IF k[gz=aline_edges] EQ 1 THEN 0 ELSE b_iin_edges[z=@shf:-1]
+plot/ov/line/sym=28/si=.1/col=purple/thic=2 b_int
+ 
+! new @IIN regridding
+let d = b[gz=aline_edges at iin]
+plot/ov/line/sym=19/si=.1/col=light/thic=1 d
+ 
+list d
+             VARIABLE : B[GZ=ALINE_EDGES at IIN]
+             SUBSET   : 11 points (Z)
+ 0    /  1:   0.00
+ 1    /  2:   1.00
+ 2    /  3:   2.00
+ 3    /  4:   3.00
+ 4    /  5:   4.00
+ 5    /  6:   5.00
+ 6    /  7:   6.00
+ 7    /  8:   7.00
+ 8    /  9:   8.00
+ 9    / 10:   9.00
+ 10   / 11:  10.00
+define axis/e=1:2:1 otheraxis
+let b2d = b + _e[ge=otheraxis]
+list b2d[gz=aline_edges at iin]
+             VARIABLE : B + _E[GE=OTHERAXIS]
+                        regrid: 1 delta on Z at IIN
+             SUBSET   : 11 by 2 points (Z-E)
+             0      1      2      3      4      5      6      7      8      9     10    
+             1      2      3      4      5      6      7      8      9     10     11
+ 1   / 1:   0.00   2.00   4.00   6.00   8.00  10.00  12.00  14.00  16.00  18.00  20.00
+ 2   / 2:   0.00   3.00   6.00   9.00  12.00  15.00  18.00  21.00  24.00  27.00  30.00
+ 
+ 
+can view; can var/all
+! In T
+ 
+set win/asp=0.5
+set v left
+def ax/edge/t=0:10:1 aline
+let a = mod(.5+t[gt=aline],2)
+plot/step=con/vl=-1:6:1/hl=-1:11:1/grat=dash/col=green/thic=3 a
+let a_iin = a[t=@iin]
+plot/ov/line/sym=2/si=.1/col=2/thic=2 a_iin
+let tlo = tboxlo[gt=a]
+def ax/t aline_edges = tcat(tlo[l=1], tboxhi[gt=a])
+ 
+let a_iin_edges = a_iin[gt=aline_edges at asn]
+let a_int = IF l[gt=aline_edges] EQ 1 THEN 0 ELSE a_iin_edges[t=@shf:-1]
+plot/ov/line/sym=28/si=.1/col=purple/thic=2 a_int
+ 
+ 
+! new @IIN regridding
+let c = a[gt=aline_edges at iin]
+plot/ov/line/sym=19/si=.1/col=light/thic=1 c
+ 
+set v right
+let b = 1+0*a
+plot/step=con/vl=-1:12:1/hl=-1:11:1/grat=dash/col=green/thic=3 b
+let b_iin = b[t=@iin]
+plot/ov/line/sym=2/si=.1/col=2/thic=2 b_iin
+let b_iin_edges = b_iin[gt=aline_edges at asn]
+let b_int = IF l[gt=aline_edges] EQ 1 THEN 0 ELSE b_iin_edges[t=@shf:-1]
+plot/ov/line/sym=28/si=.1/col=purple/thic=2 b_int
+ 
+! new @IIN regridding
+let d = b[gt=aline_edges at iin]
+plot/ov/line/sym=19/si=.1/col=light/thic=1 d
+ 
+list d
+             VARIABLE : B[GT=ALINE_EDGES at IIN]
+             SUBSET   : 11 points (T)
+ 0    /  1:   0.00
+ 1    /  2:   1.00
+ 2    /  3:   2.00
+ 3    /  4:   3.00
+ 4    /  5:   4.00
+ 5    /  6:   5.00
+ 6    /  7:   6.00
+ 7    /  8:   7.00
+ 8    /  9:   8.00
+ 9    / 10:   9.00
+ 10   / 11:  10.00
+define axis/z=1:2:1 otheraxis
+let b2d = b + z[gz=otheraxis]
+list b2d[gt=aline_edges at iin]
+             VARIABLE : B + Z[GZ=OTHERAXIS]
+                        regrid: 1 delta on T at IIN
+             SUBSET   : 2 by 11 points (Z-T)
+               1      2    
+               1      2
+ 0    /  1:   0.00   0.00
+ 1    /  2:   2.00   3.00
+ 2    /  3:   4.00   6.00
+ 3    /  4:   6.00   9.00
+ 4    /  5:   8.00  12.00
+ 5    /  6:  10.00  15.00
+ 6    /  7:  12.00  18.00
+ 7    /  8:  14.00  21.00
+ 8    /  9:  16.00  24.00
+ 9    / 10:  18.00  27.00
+ 10   / 11:  20.00  30.00
+ 
+ 
+can view; can var/all
+! in E
+ 
+set win/asp=0.5
+set v left
+def ax/edge/e=0:10:1 aline
+let a = mod(.5+_e[ge=aline],2)
+plot/step=con/vl=-1:6:1/hl=-1:11:1/grat=dash/col=green/thic=3 a
+let a_iin = a[e=@iin]
+plot/ov/line/sym=2/si=.1/col=2/thic=2 a_iin
+let elo = eboxlo[ge=a]
+def ax/e aline_edges = ecat(elo[m=1], eboxhi[ge=a])
+ 
+let a_iin_edges = a_iin[ge=aline_edges at asn]
+let a_int = IF _m[ge=aline_edges] EQ 1 THEN 0 ELSE a_iin_edges[e=@shf:-1]
+plot/ov/line/sym=28/si=.1/col=purple/thic=2 a_int
+ 
+ 
+! new @IIN regridding
+let c = a[ge=aline_edges at iin]
+plot/ov/line/sym=19/si=.1/col=light/thic=1 c
+ 
+set v right
+let b = 1+0*a
+plot/step=con/hl=-1:12:1/vl=-1:11:1/grat=dash/col=green/thic=3 b
+let b_iin = b[e=@iin]
+plot/ov/line/sym=2/si=.1/col=2/thic=2 b_iin
+let b_iin_edges = b_iin[ge=aline_edges at asn]
+let b_int = IF _m[ge=aline_edges] EQ 1 THEN 0 ELSE b_iin_edges[e=@shf:-1]
+plot/ov/line/sym=28/si=.1/col=purple/thic=2 b_int
+ 
+! new @IIN regridding
+let d = b[ge=aline_edges at iin]
+plot/ov/line/sym=19/si=.1/col=light/thic=1 d
+ 
+list d
+             VARIABLE : B[GE=ALINE_EDGES at IIN]
+             SUBSET   : 11 points (E)
+ 0    /  1:   0.00
+ 1    /  2:   1.00
+ 2    /  3:   2.00
+ 3    /  4:   3.00
+ 4    /  5:   4.00
+ 5    /  6:   5.00
+ 6    /  7:   6.00
+ 7    /  8:   7.00
+ 8    /  9:   8.00
+ 9    / 10:   9.00
+ 10   / 11:  10.00
+define axis/z=1:2:1 otheraxis
+let b2d = b + z[gz=otheraxis]
+list b2d[ge=aline_edges at iin]
+             VARIABLE : B + Z[GZ=OTHERAXIS]
+                        regrid: 1 delta on E at IIN
+             SUBSET   : 2 by 11 points (Z-E)
+               1      2    
+               1      2
+ 0    /  1:   0.00   0.00
+ 1    /  2:   2.00   3.00
+ 2    /  3:   4.00   6.00
+ 3    /  4:   6.00   9.00
+ 4    /  5:   8.00  12.00
+ 5    /  6:  10.00  15.00
+ 6    /  7:  12.00  18.00
+ 7    /  8:  14.00  21.00
+ 8    /  9:  16.00  24.00
+ 9    / 10:  18.00  27.00
+ 10   / 11:  20.00  30.00
+ 
+ 
+can view; can var/all
+! In F
+ 
+set win/asp=0.5
+set v left
+def ax/edge/f=0:10:1 aline
+let a = mod(.5+_f[gf=aline],2)
+plot/step=con/vl=-1:6:1/hl=-1:11:1/grat=dash/col=green/thic=3 a
+let a_iin = a[f=@iin]
+plot/ov/line/sym=2/si=.1/col=2/thic=2 a_iin
+let flo = fboxlo[gf=a]
+def ax/f aline_edges = fcat(flo[n=1], fboxhi[gf=a])
+ 
+let a_iin_edges = a_iin[gf=aline_edges at asn]
+let a_int = IF _n[gf=aline_edges] EQ 1 THEN 0 ELSE a_iin_edges[f=@shf:-1]
+plot/ov/line/sym=28/si=.1/col=purple/thic=2 a_int
+ 
+ 
+! new @IIN regridding
+let c = a[gf=aline_edges at iin]
+plot/ov/line/sym=19/si=.1/col=light/thic=1 c
+ 
+set v right
+let b = 1+0*a
+plot/step=con/vl=-1:12:1/hl=-1:11:1/grat=dash/col=green/thic=3 b
+let b_iin = b[f=@iin]
+plot/ov/line/sym=2/si=.1/col=2/thic=2 b_iin
+let b_iin_edges = b_iin[gf=aline_edges at asn]
+let b_int = IF _n[gf=aline_edges] EQ 1 THEN 0 ELSE b_iin_edges[f=@shf:-1]
+plot/ov/line/sym=28/si=.1/col=purple/thic=2 b_int
+ 
+! new @IIN regridding
+let d = b[gf=aline_edges at iin]
+plot/ov/line/sym=19/si=.1/col=light/thic=1 d
+ 
+list d
+             VARIABLE : B[GF=ALINE_EDGES at IIN]
+             SUBSET   : 11 points (F)
+ 0    /  1:   0.00
+ 1    /  2:   1.00
+ 2    /  3:   2.00
+ 3    /  4:   3.00
+ 4    /  5:   4.00
+ 5    /  6:   5.00
+ 6    /  7:   6.00
+ 7    /  8:   7.00
+ 8    /  9:   8.00
+ 9    / 10:   9.00
+ 10   / 11:  10.00
+define axis/z=1:2:1 otheraxis
+let b2d = b + z[gz=otheraxis]
+list b2d[gf=aline_edges at iin]
+             VARIABLE : B + Z[GZ=OTHERAXIS]
+                        regrid: 1 delta on F at IIN
+             SUBSET   : 2 by 11 points (Z-F)
+               1      2    
+               1      2
+ 0    /  1:   0.00   0.00
+ 1    /  2:   2.00   3.00
+ 2    /  3:   4.00   6.00
+ 3    /  4:   6.00   9.00
+ 4    /  5:   8.00  12.00
+ 5    /  6:  10.00  15.00
+ 6    /  7:  12.00  18.00
+ 7    /  8:  14.00  21.00
+ 8    /  9:  16.00  24.00
+ 9    / 10:  18.00  27.00
+ 10   / 11:  20.00  30.00
  
 !  *********** Always do a bn_reset  ***********
 !  *********** make sure things clean up well **
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
  
 ! version 2.3 requires exit/command *sh* 3/92
 exit/command
@@ -98798,9 +105107,9 @@ yes? ! run bn_all_ef tests
 yes? 
 yes? GO bn_all_ef
  	NOAA/PMEL TMAP
- 	FERRET v7.1 (beta/debug)
- 	Linux 2.6.32-642.13.1.el6.x86_64 64-bit - 02/15/17
- 	15-Feb-17 11:30     
+ 	FERRET v7.2 (beta/debug)
+ 	Linux 2.6.32-696.3.2.el6.x86_64 64-bit - 07/12/17
+ 	12-Jul-17 09:57     
 
 SET MODE VERIFY
 ! bn_all_ef.jnl
@@ -98809,6 +105118,7 @@ SET MODE VERIFY
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO bn_ef_external_functions.jnl
 ! Tests of external functions that are distributed as shared object files.
  
@@ -98943,21 +105253,21 @@ list a - sst[l=@ave]
              TIME     : 01-JAN 00:45 to 01-APR 08:12
                   1S      
                   45
- 151E   / 66:  0.000E+00
- 153E   / 67: -3.553E-15
- 155E   / 68:  0.000E+00
+ 151E   / 66: -3.553E-15
+ 153E   / 67:  0.000E+00
+ 155E   / 68: -3.553E-15
  157E   / 69:  0.000E+00
- 159E   / 70:  3.553E-15
- 161E   / 71:  7.105E-15
- 163E   / 72:  3.553E-15
- 165E   / 73:  0.000E+00
- 167E   / 74:  0.000E+00
- 169E   / 75:  3.553E-15
+ 159E   / 70: -3.553E-15
+ 161E   / 71:  0.000E+00
+ 163E   / 72: -3.553E-15
+ 165E   / 73: -3.553E-15
+ 167E   / 74: -3.553E-15
+ 169E   / 75: -3.553E-15
  171E   / 76:  0.000E+00
- 173E   / 77:  3.553E-15
- 175E   / 78:  0.000E+00
- 177E   / 79:  3.553E-15
- 179E   / 80:  3.553E-15
+ 173E   / 77: -3.553E-15
+ 175E   / 78:  3.553E-15
+ 177E   / 79:  0.000E+00
+ 179E   / 80:  0.000E+00
  
 can region
 let a = x[i=1:9,k=1:5] + t[l=1:5]
@@ -99585,6 +105895,7 @@ set mode/last ignore_errors
  
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go bn_fcn_calls.jnl
 ! Simple tests of external functions
 ! these are not otherwise tested in the benchmarkd
@@ -99616,7 +105927,7 @@ variables:
 		MY_VAR:long_name = "T[GT=T5]" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 15-Feb-17" ;
+		:history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
 		:Conventions = "CF-1.6" ;
 data:
 
@@ -99641,7 +105952,7 @@ variables:
 		MY_VAR:long_name = "T[GT=T5]" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 15-Feb-17" ;
+		:history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
 		:Conventions = "CF-1.6" ;
 data:
 
@@ -99665,7 +105976,7 @@ variables:
 		B:long_name = "\"one line of text\"" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 15-Feb-17" ;
+		:history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
 		:Conventions = "CF-1.6" ;
 data:
 
@@ -99704,7 +106015,7 @@ variables:
 		D:history = "From test_string" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 15-Feb-17" ;
+		:history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
 		:Conventions = "CF-1.6" ;
 data:
 
@@ -99739,7 +106050,7 @@ variables:
 		B:long_name = "SAMPLEJ(YSEQUENCE({\"a\",\"b\",,\"d\",\"e\",\"f\"}),{2,,1})" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 15-Feb-17" ;
+		:history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
 		:Conventions = "CF-1.6" ;
 data:
 
@@ -99780,7 +106091,7 @@ variables:
 		V:long_name = "T[GT=MONTH_IRREG]" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 15-Feb-17" ;
+		:history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
 		:Conventions = "CF-1.6" ;
 data:
 
@@ -99837,7 +106148,7 @@ variables:
 		V:history = "From coads_vwnd" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 15-Feb-17" ;
+		:history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
 		:Conventions = "CF-1.6" ;
 data:
 
@@ -99894,7 +106205,7 @@ variables:
 		V:history = "From coads_vwnd" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 15-Feb-17" ;
+		:history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
 		:Conventions = "CF-1.6" ;
 data:
 
@@ -99949,7 +106260,7 @@ variables:
 		T2:long_name = "Z[GZ=ZIRR]" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 15-Feb-17" ;
+		:history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
 		:Conventions = "CF-1.6" ;
 data:
 
@@ -99997,7 +106308,7 @@ variables:
 		V:history = "From coads_climatology" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 15-Feb-17" ;
+		:history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
 		:Conventions = "CF-1.6" ;
 data:
 
@@ -100091,7 +106402,7 @@ variables:
 		SST:units = "Deg C" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 15-Feb-17" ;
+		:history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
 		:Conventions = "CF-1.6" ;
 data:
 
@@ -100161,7 +106472,7 @@ variables:
 		SST:units = "Deg C" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 15-Feb-17" ;
+		:history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
 		:Conventions = "CF-1.6" ;
 data:
 
@@ -100212,7 +106523,7 @@ variables:
 		V:long_name = "X[GX=XAX] +Z[GZ=ZAX] + T[GT=TAX]" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 15-Feb-17" ;
+		:history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
 		:Conventions = "CF-1.6" ;
 data:
 
@@ -100287,7 +106598,7 @@ variables:
 		A:long_name = "T[GT=TIME]" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 15-Feb-17" ;
+		:history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
 		:Conventions = "CF-1.6" ;
 data:
 
@@ -100314,7 +106625,7 @@ variables:
 		X_:long_name_mod = "axis ABSTRACT" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 15-Feb-17" ;
+		:history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
 		:Conventions = "CF-1.6" ;
 		:title = "a long title longer than 80 characters a123456789b123456789c123456789d123456789e123456789f123456789g123456789h123456789" ;
 data:
@@ -100338,7 +106649,7 @@ variables:
 		A:history = "From x" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 15-Feb-17" ;
+		:history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
 		:Conventions = "CF-1.6" ;
 		:title = "a long title, longer than the previous limit of 80 characters.  Previously various buffers were set to 80, and storage in ds_title was also too short." ;
 data:
@@ -100365,11 +106676,11 @@ variables:
 		A:history = "From t0_cdc" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 15-Feb-17" ;
+		:history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
 		:Conventions = "CF-1.6" ;
 }
 bn_long_revision_num.jnl --- history attribute
-		:history = "FERRET V7.1 (beta/debug) 15-Feb-17" ;
+		:history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
 bn_bounds_defineax.jnl --- N+1 def of bounds.
 netcdf irrxzt {
 dimensions:
@@ -100400,7 +106711,7 @@ variables:
 		V:long_name = "X[GX=XAX] +Z[GZ=ZAX] + T[GT=TAX]" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 15-Feb-17" ;
+		:history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
 		:Conventions = "CF-1.6" ;
 data:
 
@@ -100472,7 +106783,7 @@ variables:
 		VAR_B:long_name = "my strings" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 15-Feb-17" ;
+		:history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
 		:Conventions = "CF-1.6" ;
 data:
 
@@ -100516,7 +106827,7 @@ variables:
 		SST:units = "Deg C" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 15-Feb-17" ;
+		:history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
 		:Conventions = "CF-1.6" ;
 data:
 
@@ -100558,7 +106869,7 @@ variables:
 		SST:units = "Deg C" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 15-Feb-17" ;
+		:history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
 		:Conventions = "CF-1.6" ;
 data:
 
@@ -100666,7 +106977,7 @@ variables:
 		ELEV:history = "From err491_attval" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 15-Feb-17" ;
+		:history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
 		:Conventions = "CF-1.6" ;
 }
 bn_attributes.jnl --- 6 after CANCEL MODE upcase_output
@@ -100707,7 +107018,7 @@ variables:
 		Elev:history = "From err491_attval" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 15-Feb-17" ;
+		:history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
 		:Conventions = "CF-1.6" ;
 }
 bn_attributes.jnl --- 7 outtput flags to control attribute output
@@ -100730,7 +107041,7 @@ variables:
 		BB:another_attr = 6.f ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 15-Feb-17" ;
+		:history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
 		:Conventions = "CF-1.6" ;
 data:
 
@@ -100756,7 +107067,7 @@ variables:
 		BB:another_attr = 6.f ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 15-Feb-17" ;
+		:history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
 		:Conventions = "CF-1.6" ;
 data:
 
@@ -100776,7 +107087,7 @@ variables:
 		BB:long_name = "{3,4.5,6,7,4}" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 15-Feb-17" ;
+		:history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
 		:Conventions = "CF-1.6" ;
 data:
 
@@ -100797,7 +107108,7 @@ variables:
 		BB:long_name = "{3,4.5,6,7,4}" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 15-Feb-17" ;
+		:history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
 		:Conventions = "CF-1.6" ;
 data:
 
@@ -100840,7 +107151,7 @@ variables:
 		TEMP:units = "Deg C" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 15-Feb-17" ;
+		:history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
 		:Conventions = "CF-1.6" ;
 }
 bn_attributes.jnl --- 12 Check that settings hold for child axis.
@@ -100880,7 +107191,7 @@ variables:
 		TEMP:units = "Deg C" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 15-Feb-17" ;
+		:history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
 		:Conventions = "CF-1.6" ;
 }
 bn_attributes.jnl --- 13 cancel output of attributes of the variable.
@@ -100918,7 +107229,7 @@ variables:
 		TEMP:units = "Deg C" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 15-Feb-17" ;
+		:history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
 		:Conventions = "CF-1.6" ;
 }
 bn_attributes.jnl --- 14 attributes of data from ez data.
@@ -100929,25 +107240,25 @@ variables:
 	double AX047(AX047) ;
 		AX047:point_spacing = "even" ;
 		AX047:axis = "X" ;
-	float A1(AX047) ;
-		A1:missing_value = -1.e+34f ;
-		A1:_FillValue = -1.e+34f ;
+	double A1(AX047) ;
+		A1:missing_value = -1.e+34 ;
+		A1:_FillValue = -1.e+34 ;
 		A1:long_name = "a1" ;
 		A1:three = 1.f, 2.f, 3.f ;
 		A1:history = "From EZ.DAT" ;
-	float A2(AX047) ;
-		A2:missing_value = -1.e+34f ;
-		A2:_FillValue = -1.e+34f ;
+	double A2(AX047) ;
+		A2:missing_value = -1.e+34 ;
+		A2:_FillValue = -1.e+34 ;
 		A2:long_name = "a2" ;
 		A2:history = "From EZ.DAT" ;
-	float A3(AX047) ;
-		A3:missing_value = -1.e+34f ;
-		A3:_FillValue = -1.e+34f ;
+	double A3(AX047) ;
+		A3:missing_value = -1.e+34 ;
+		A3:_FillValue = -1.e+34 ;
 		A3:long_name = "a3" ;
 		A3:history = "From EZ.DAT" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 15-Feb-17" ;
+		:history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
 		:Conventions = "CF-1.6" ;
 data:
 
@@ -100967,20 +107278,20 @@ variables:
 	double AX018(AX018) ;
 		AX018:point_spacing = "even" ;
 		AX018:axis = "X" ;
-	float V1(AX018) ;
-		V1:missing_value = -1.e+34f ;
-		V1:_FillValue = -1.e+34f ;
+	double V1(AX018) ;
+		V1:missing_value = -1.e+34 ;
+		V1:_FillValue = -1.e+34 ;
 		V1:long_name = "V1" ;
 		V1:strval = "2" ;
 		V1:history = "From EZ.DAT" ;
-	float V4(AX018) ;
-		V4:missing_value = -1.e+34f ;
-		V4:_FillValue = -1.e+34f ;
+	double V4(AX018) ;
+		V4:missing_value = -1.e+34 ;
+		V4:_FillValue = -1.e+34 ;
 		V4:long_name = "V4" ;
 		V4:history = "From EZ.DAT" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 15-Feb-17" ;
+		:history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
 		:Conventions = "CF-1.6" ;
 data:
 
@@ -101006,7 +107317,7 @@ variables:
 		A:four = "theory" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 15-Feb-17" ;
+		:history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
 		:Conventions = "CF-1.6" ;
 data:
 
@@ -101052,7 +107363,7 @@ variables:
 		ELEV:history = "From err491_attval" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 15-Feb-17" ;
+		:history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
 		:Conventions = "CF-1.6" ;
 		:simulation = "K-Bay OAR3d model (200m)" ;
 		:start_date = "980105000000" ;
@@ -101159,7 +107470,7 @@ variables:
 		TEMP:units = "deg. C" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 15-Feb-17" ;
+		:history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
 		:Conventions = "CF-1.6" ;
 		:dt_internal = 15. ;
 }
@@ -101201,7 +107512,7 @@ variables:
 		ELEV:history = "From err491_attval" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 15-Feb-17" ;
+		:history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
 		:Conventions = "CF-1.6" ;
 data:
 
@@ -101284,7 +107595,7 @@ variables:
 		RIGUE:history = "From test0" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 15-Feb-17" ;
+		:history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
 		:Conventions = "CF-1.6" ;
 data:
 
@@ -101321,7 +107632,7 @@ variables:
 		B:long_name = "hello" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 15-Feb-17" ;
+		:history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
 		:Conventions = "CF-1.6" ;
 data:
 
@@ -101361,7 +107672,7 @@ variables:
 		VWND:units = "M/S" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 15-Feb-17" ;
+		:history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
 		:Conventions = "CF-1.6" ;
 data:
 
@@ -101412,7 +107723,7 @@ variables:
 		T2:history = "From coads_vwnd" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 15-Feb-17" ;
+		:history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
 		:Conventions = "CF-1.6" ;
 data:
 
@@ -101471,7 +107782,7 @@ variables:
 		T2:history = "From gt4d011" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 15-Feb-17" ;
+		:history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
 		:Conventions = "CF-1.6" ;
 }
 netcdf a {
@@ -101516,7 +107827,7 @@ variables:
 		T2:history = "From gt4d011" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 15-Feb-17" ;
+		:history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
 		:Conventions = "CF-1.6" ;
 }
 netcdf a {
@@ -101559,7 +107870,7 @@ variables:
 		T2:history = "From gt4d011" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 15-Feb-17" ;
+		:history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
 		:Conventions = "CF-1.6" ;
 }
 netcdf a {
@@ -101594,7 +107905,7 @@ variables:
 		TEMP:units = "DEG C" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 15-Feb-17" ;
+		:history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
 		:Conventions = "CF-1.6" ;
 }
 netcdf a {
@@ -101628,7 +107939,7 @@ variables:
 		TWO:history = "From levitus_climatology" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 15-Feb-17" ;
+		:history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
 		:Conventions = "CF-1.6" ;
 }
 bn_attributes.jnl --- 27 attributes of  user-defined axes
@@ -101658,7 +107969,7 @@ variables:
 		AXY:long_name = "RESHAPE (A,RVAR)" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 15-Feb-17" ;
+		:history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
 		:Conventions = "CF-1.6" ;
 }
 bn_attributes.jnl --- 28 Define a new global attribute
@@ -101687,7 +107998,7 @@ variables:
 		BROILED:history = "From test0" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 15-Feb-17" ;
+		:history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
 		:Conventions = "CF-1.6" ;
 		:glob = "Global attribute" ;
 		:FERRET_comment = "File written via LAS. Attributes are inherited from originating dataset" ;
@@ -101748,7 +108059,7 @@ variables:
 		FAREN:history = "From gt4d011" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 15-Feb-17" ;
+		:history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
 		:Conventions = "CF-1.6" ;
 }
 netcdf a {
@@ -101793,7 +108104,7 @@ variables:
 		FAREN:history = "From gt4d011" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 15-Feb-17" ;
+		:history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
 		:Conventions = "CF-1.6" ;
 }
 netcdf a {
@@ -101812,7 +108123,7 @@ variables:
 		A:long_name = "X[GX=XAX]" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 15-Feb-17" ;
+		:history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
 		:Conventions = "CF-1.6" ;
 data:
 
@@ -101842,7 +108153,7 @@ variables:
 		A:long_name = "X[GX=XAX]" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 15-Feb-17" ;
+		:history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
 		:Conventions = "CF-1.6" ;
 data:
 
@@ -101872,7 +108183,7 @@ variables:
 		A:long_name = "X[GX=XAX]" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 15-Feb-17" ;
+		:history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
 		:Conventions = "CF-1.6" ;
 data:
 
@@ -101925,7 +108236,7 @@ variables:
 		TEMP:units = "Deg C" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 15-Feb-17" ;
+		:history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
 		:Conventions = "CF-1.6" ;
 }
 netcdf a {
@@ -101967,7 +108278,7 @@ variables:
 		TEMP:units = "Deg C" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 15-Feb-17" ;
+		:history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
 		:Conventions = "CF-1.6" ;
 }
 netcdf a {
@@ -101985,7 +108296,7 @@ variables:
 		V:long_name = "Y[GY=YAXIS]" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 15-Feb-17" ;
+		:history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
 		:Conventions = "CF-1.6" ;
 }
 err611_set_var_ez.jnl --- 
@@ -101996,15 +108307,15 @@ variables:
 	double AX139(AX139) ;
 		AX139:point_spacing = "even" ;
 		AX139:axis = "X" ;
-	float MY_ASC(AX139) ;
-		MY_ASC:missing_value = 3.f ;
-		MY_ASC:_FillValue = 3.f ;
+	double MY_ASC(AX139) ;
+		MY_ASC:missing_value = 3. ;
+		MY_ASC:_FillValue = 3. ;
 		MY_ASC:long_name = "chlorophyll" ;
 		MY_ASC:units = "micrograms/L" ;
 		MY_ASC:history = "From dat.dat" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 15-Feb-17" ;
+		:history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
 		:Conventions = "CF-1.6" ;
 }
 netcdf a {
@@ -102014,15 +108325,15 @@ variables:
 	double AX139(AX139) ;
 		AX139:point_spacing = "even" ;
 		AX139:axis = "X" ;
-	float MY_UNF(AX139) ;
-		MY_UNF:missing_value = 5.f ;
-		MY_UNF:_FillValue = 5.f ;
+	double MY_UNF(AX139) ;
+		MY_UNF:missing_value = 5. ;
+		MY_UNF:_FillValue = 5. ;
 		MY_UNF:long_name = "Some Unformatted input" ;
 		MY_UNF:units = "metres" ;
 		MY_UNF:history = "From unf.dat" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 15-Feb-17" ;
+		:history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
 		:Conventions = "CF-1.6" ;
 }
 bn_attributes.jnl --- SET VAR/OUTTYPE for user variable
@@ -102039,7 +108350,7 @@ variables:
 		A:long_name = "{1.1,2.2,3.3}" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 15-Feb-17" ;
+		:history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
 		:Conventions = "CF-1.6" ;
 data:
 
@@ -102060,7 +108371,7 @@ variables:
 		A:long_name = "{ 3.77, 4.00, 4.10, 4.33, 4.38, 4.27, 4.31, 4.40, 4.75, 5.01, 5.27, 5.52}" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 15-Feb-17" ;
+		:history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
 		:Conventions = "CF-1.6" ;
 data:
 
@@ -102123,7 +108434,7 @@ variables:
 		newvar:history = "From a" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 15-Feb-17" ;
+		:history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
 		:Conventions = "CF-1.6" ;
 }
 bn_keep_axisnames.jnl --- test SAVE/KEEP_AXISNAMES
@@ -102150,7 +108461,7 @@ variables:
 		A:long_name = "X[GX=X100] + T[GT=T31]" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 15-Feb-17" ;
+		:history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
 		:Conventions = "CF-1.6" ;
 }
 bn_keep_axisnames.jnl --- without /KEEP_AXISNAMES
@@ -102177,7 +108488,7 @@ variables:
 		A:long_name = "X[GX=X100] + T[GT=T31]" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 15-Feb-17" ;
+		:history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
 		:Conventions = "CF-1.6" ;
 }
 bn_axis_cf.jnl, degrees_east, degrees_north, std names on axes:
@@ -102243,7 +108554,7 @@ variables:
 		ZUP:long_name = "Z[GZ=ZAXUP]" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 15-Feb-17" ;
+		:history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
 		:Conventions = "CF-1.6" ;
 }
 bn_axis_cf.jnl, Convert forms of DEG, degrees to degrees_east:
@@ -102275,7 +108586,7 @@ variables:
 		Y_:long_name_mod = "axis YFIFTEEN" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 15-Feb-17" ;
+		:history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
 		:Conventions = "CF-1.6" ;
 }
 bn_axis_cf.jnl, Downcase units, e.g. in time axis DAYS since
@@ -102308,7 +108619,7 @@ variables:
 		XYTVAR:history = "From bn_strides" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 15-Feb-17" ;
+		:history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
 		:Conventions = "CF-1.6" ;
 }
 netcdf a {
@@ -102333,7 +108644,7 @@ variables:
 		TIME:history = "From http://tds.climatedatacloud.com/thredds/dodsC/ensembles/nmme_gfdl/TwoD" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 15-Feb-17" ;
+		:history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
 		:Conventions = "CF-1.6" ;
 data:
 
@@ -102371,7 +108682,7 @@ variables:
 		time:history = "From http://tds.climatedatacloud.com/thredds/dodsC/ensembles/nmme_gfdl/TwoD" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 15-Feb-17" ;
+		:history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
 		:Conventions = "CF-1.6" ;
 data:
 
@@ -102397,7 +108708,7 @@ variables:
 		MYVAR:history = "From coads_climatology" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 15-Feb-17" ;
+		:history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
 		:Conventions = "CF-1.6" ;
 }
 netcdf a {
@@ -102411,7 +108722,7 @@ variables:
 		MYVAR:history = "From levitus_climatology" ;
 
 // global attributes:
-		:history = "FERRET V7.1 (beta/debug) 15-Feb-17" ;
+		:history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
 		:Conventions = "CF-1.6" ;
 }
 -----
@@ -102425,29 +108736,34 @@ yes?
 yes? 
 yes? GO bn_startupfile
  	NOAA/PMEL TMAP
- 	FERRET v7.1 (beta/debug)
- 	Linux 2.6.32-642.13.1.el6.x86_64 64-bit - 02/15/17
- 	15-Feb-17 11:30     
+ 	FERRET v7.2 (beta/debug)
+ 	Linux 2.6.32-696.3.2.el6.x86_64 64-bit - 07/12/17
+ 	12-Jul-17 09:57     
 
 CAN MODE VERIFY
- Current size of FERRET memory cache: 31 MegaWords  (1 word = 8 bytes)
+    SET MEMORY/SIZE: 31 megawords
+    Peak demand: 0 words
+    Current cache: 0 words
 PPL$XPIXEL = "656"
 PPL$YPIXEL = "492"
 BYTEORDER = "LITTLE"
-FERRET_VERSION = "7.1"
-FERRET_PLATFORM = "Linux 2.6.32-642.13.1.el6.x86_64 64-bit"
+FERRET_VERSION = "7.2"
+FERRET_PLATFORM = "Linux 2.6.32-696.3.2.el6.x86_64 64-bit"
 FERRET_PRECISION = "double"
-NETCDF_VERSION = "4.4.0 of Feb  4 2016 19:21:00 $"
+NETCDF_VERSION = "4.4.1.1 of Jun 26 2017 08:42:09 $"
 FERRET_MEMORY = "31"
-SESSION_DATE = "15-Feb-17"
-SESSION_TIME = "11:30"
-SESSION_PID = "10385"
-DELTA_CPU = "0.063989"
-CLOCK_SECS = "0.372"
-CURRENT_DATE = "15-Feb-17"
-CURRENT_TIME = "11:30:06"
+SESSION_DATE = "12-Jul-17"
+SESSION_TIME = "09:57"
+SESSION_PID = "5815"
+DELTA_CPU = "0.046992"
+CLOCK_SECS = "0.333"
+CURRENT_DATE = "12-Jul-17"
+CURRENT_TIME = "09:57:41"
 N_OPEN_DSETS = "0"
 PROGRAM_NAME = "Ferret"
+PEAK_MEMORY = "0"
+SPAWN_OK = "1"
+SPAWN_STATUS = "0"
 GO_FILE = "./bn_startupfile.jnl"
 LAST_GO_FILE = "./bn_startupfile.jnl"
 PPL$FORMAT = "(3F10.2)"
@@ -102468,7 +108784,7 @@ PPL$VIEW_X = "0.000"
 PPL$VIEW_Y = "0.000"
 PPL$VIEW_Z = "0.000"
 PPL$COMMAND_FILE = "$$MEMBUF$$"
-WIN_TITLE = "15-Feb-17:11:30"
+WIN_TITLE = "12-Jul-17:09:57"
 VP_WIDTH = "10.2"
 VP_HEIGHT = "8.8"
 VP_SCALE = "1"
@@ -102479,27 +108795,27 @@ VP_XHI = "1"
 VP_YLO = "0"
 VP_YHI = "1"
       MODE            STATE        ARGUMENT
-      DIAGNOSTIC    CANCELLED           99
-      VERIFY        CANCELLED      DEFAULT
-      INTERPOLATE   CANCELLED
-      IGNORE_ERROR  CANCELLED
-      STUPID        CANCELLED
+      DIAGNOSTIC    CANCELED            99
+      VERIFY        CANCELED       DEFAULT
+      INTERPOLATE   CANCELED
+      IGNORE_ERROR  CANCELED
+      STUPID        CANCELED
       JOURNAL          SET         startup_tests.jnl
       LONG_LABEL       SET               1
-      LATIT_LABEL   CANCELLED            1
+      LATIT_LABEL   CANCELED             1
       DEPTH_LABEL      SET              -4
       CALENDAR         SET         minutes
       E_LABEL          SET               1
       F_LABEL          SET         minutes
       ASCII_FONT       SET
       SEGMENT          SET
-      WAIT          CANCELLED
-      DESPERATE     CANCELLED      3100000
+      WAIT          CANCELED
+      DESPERATE     CANCELED       2560000
       GKS              SET
       REFRESH          SET
       METAFILE         SET         startup_tests.plt
-      PPLLIST       CANCELLED      ppllist.out
-      GUI           CANCELLED
+      PPLLIST       CANCELED       ppllist.out
+      GUI           CANCELED
       LOGO             SET
       LABELS           SET
       GRATICULE        SET
@@ -102507,10 +108823,11 @@ VP_YHI = "1"
       UPCASE_OUTPU     SET
       NLEVELS          SET             100
       NODATA_LAB       SET
-      SHRINK_YLAB   CANCELLED
-      CURVILINEAR   CANCELLED
-      LAYERZ        CANCELLED
+      SHRINK_YLAB   CANCELED
+      CURVILINEAR   CANCELED
+      LAYERZ        CANCELED
       6D_LAB           SET
+      FRUGAL           SET              30
      currently SET data sets:
     1> ./gtbc011.cdf  (default)
  name     title                             I         J         K         L
@@ -102531,9 +108848,9 @@ yes?
 yes? 
 yes? GO bn_gif
  	NOAA/PMEL TMAP
- 	FERRET v7.1 (beta/debug)
- 	Linux 2.6.32-642.13.1.el6.x86_64 64-bit - 02/15/17
- 	15-Feb-17 11:30     
+ 	FERRET v7.2 (beta/debug)
+ 	Linux 2.6.32-696.3.2.el6.x86_64 64-bit - 07/12/17
+ 	12-Jul-17 09:57     
 
 ! bn450_gif.JNL - copied from bn450_plot.jnl
 ! this journal file only tests the writing of gif file in batch mode using
@@ -102717,6 +109034,7 @@ frame/trans/file=testbackground.gif
 ! has trouble when running the benchmarks from remote desktop
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go err491_long_gif_name
 ! err491_long_gif_name.jnl
 ! *sh* 4/99 - test 175 character gif name
@@ -102752,6 +109070,7 @@ set win/siz=1/asp=1
 ! New benchmark gif outputs in v6.97
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO bn_hovmuller_overlays
 ! bn_hovmuller_overlays.jnl
 ! Previously a time series plot overlaid oon a Hovmuller plot did not
@@ -102759,6 +109078,7 @@ GO bn_hovmuller_overlays
 ! See ticket 2344
  
 ! 1/6/2016 ACM
+! acm* 3/17 check the URL with TEST_OPENDAP befor trying to open it.
  
 ! run this in the gif benchmarks.
  
@@ -102809,10 +109129,13 @@ PLOT/OVER/thick/y=8 my_var+10
 ! Like the dataset example from the FAQ
 set view ll6
  
-use "http://ferret.pmel.noaa.gov/thredds/dodsC/data/PMEL/COADS/coads_sst.cdf"
-set region/x=40w/y=10n:60n/t=15-jan-1982:15-dec-1983
-shade sst
-plot/over/thick/TITLE="at 20"  sst[y=@LOC:20]
+IF `test_opendap("http://ferret.pmel.noaa.gov/pmel/thredds/dodsC/data/PMEL/COADS/coads_sst.cdf") EQ 0` THEN
+ !-> IF 1 THEN
+   use "http://ferret.pmel.noaa.gov/pmel/thredds/dodsC/data/PMEL/COADS/coads_sst.cdf"
+   set region/x=40w/y=10n:60n/t=15-jan-1982:15-dec-1983
+   shade sst
+   plot/over/thick/TITLE="at 20"  sst[y=@LOC:20]
+ENDIF
  
 can data/all
 can region
@@ -102820,19 +109143,20 @@ can region
 ! vector plots with a time series
 set view lr6
  
-use "http://ferret.pmel.noaa.gov/thredds/dodsC/data/PMEL/COADS/coads_uwnd.cdf"
-use "http://ferret.pmel.noaa.gov/thredds/dodsC/data/PMEL/COADS/coads_vwnd.cdf"
- 
-vec/x=0/y=-10:10/t=1-jan-1980:1-jan-1990 uwnd[d=1], vwnd[d=2]
- 
-let wspd = (uwnd[d=1]*uwnd[d=1] + vwnd[d=2]*vwnd[d=2])^0.5
-plot/over/color=red/thick/x=0/t=1-jan-1980:1-jan-1990 wspd[y=-10:10 at ave]
- 
-FRAME/FILE=bn_hovmuller_overlays.gif
- 
+IF `test_opendap("http://ferret.pmel.noaa.gov/pmel/thredds/dodsC/data/PMEL/COADS/coads_uwnd.cdf") EQ 0 AND\
+ test_opendap("http://ferret.pmel.noaa.gov/pmel/thredds/dodsC/data/PMEL/COADS/coads_uwnd.cdf") EQ 0` THEN
+ !-> IF 1 THEN
+   use "http://ferret.pmel.noaa.gov/pmel/thredds/dodsC/data/PMEL/COADS/coads_uwnd.cdf"
+   use "http://ferret.pmel.noaa.gov/pmel/thredds/dodsC/data/PMEL/COADS/coads_vwnd.cdf"
+   vec/x=0/y=-10:10/t=1-jan-1980:1-jan-1990 uwnd[d=1], vwnd[d=2]
+   let wspd = (uwnd[d=1]*uwnd[d=1] + vwnd[d=2]*vwnd[d=2])^0.5
+   plot/over/color=red/thick/x=0/t=1-jan-1980:1-jan-1990 wspd[y=-10:10 at ave]
+   FRAME/FILE=bn_hovmuller_overlays.gif
+ENDIF
  
 Go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO bn_labels_on_taxis
 ! bn_labels_on_taxis.jnl
 ! tests of labels and overlays on time axes
@@ -102978,6 +109302,7 @@ FRAME/FILE=bn_labels_on_taxis.gif
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err696_contour_conset
 ! err696_contour_conset.jnl
 ! Ticket 2351. The PPL CONSET command had stopped working to set
@@ -103038,6 +109363,7 @@ frame/file=bn_contour_conset.gif
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err696_subspan_mod_strides
 ! err696_subspan_mod_strides
 ! See ticket 513. Axis is subspan modulo, and strides
@@ -103061,6 +109387,161 @@ shade/over d10[i=1:10:2,j=1:10]
  
 frame/file=bn_subspan_mod_strides.gif
  
+GO bn_reset
+cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+GO err71_plotvs_mode_label
+! err71_plotvs_mode_label.jnl
+!  *acm*3/17/17 Ticket 2517:
+! MODE LONG_LABEL, MODE LATIT_LABEL need to apply
+! to PLOT/VS plots.
+ 
+can mode logo
+ 
+set mode long_lab
+set mode latit_lab
+ 
+let/title="|Roll|"/units="degree" abscissa_roll = {0, 20}
+let/title="Wind Speed"/units="kn" ordinate_spd  = {0, 0}
+ 
+! labeled lon/lat axes. Units of "degrees" is taken to be degrees
+! east or north depending on which plot axis it is drawn on.
+ 
+set view ul
+plot/vs/line/vlimits=-20:20 abscissa_roll, ordinate_spd
+set view ur
+plot/vs/line/hlimits=-20:20 ordinate_spd, abscissa_roll
+ 
+! These modes turn off lon/lat axis labeling
+ 
+cancel mode long_lab
+cancel mode latit_lab
+ 
+set view ll
+plot/vs/line/vlimits=-20:20 abscissa_roll, ordinate_spd
+set view lr
+plot/vs/line/hlimits=-20:20 ordinate_spd, abscissa_roll
+ 
+! Explicit units units of degrees_east and degrees_north:
+! degrees_east draws longitude labeling on whichever plot axis
+! the associated variable is drawn, and likewise for degrees_north.
+! Setting or cancelling the label modes applies to the variable
+! units not the plot-axis direction.
+ 
+cancel view
+set mode long_lab
+set mode latit_lab
+ 
+let/title="East"/units="degrees_east" lon = {10,20,30}
+let/title="North"/units="degrees_north" lat = {-10,0,10}
+ 
+! longitude axis on the horizontal, latitude axis on the vertical
+ 
+set view ul; plot/vs/line/sym/hlim=0:40/vlim=-20:20 lon, lat
+annotate/norm/x=0.1/y=0.9/siz=0.1 "long TRUE  latit TRUE"
+ 
+! latitude axis on the horizontal, longitude axis on the vertical
+ 
+set view ur; plot/vs/line/sym/vlim=0:40/hlim=-20:20 lat,lon
+annotate/norm/x=0.1/y=0.9/siz=0.1 "long vertical  latit horizontal"
+ 
+! longitude axis on the horizontal, latitude axis on the vertical
+! but with latitude labeling turned off
+ 
+set mode long_lab
+cancel mode latit_lab
+set view ll; plot/vs/line/sym/hlim=0:40/vlim=-20:20 lon, lat
+annotate/norm/x=0.1/y=0.9/siz=0.1 "long TRUE  latit FALSE"
+ 
+! latitude axis on the horizontal, longitude axis on the vertical
+! but with longitude labeling turned off
+ 
+cancel mode long_lab
+set mode latit_lab
+set view lr; plot/vs/line/sym/vlim=0:40/hlim=-20:20 lat,lon
+annotate/norm/x=0.1/y=0.9/siz=0.1 "long FALSE  latit TRUE"
+ 
+frame/file=lon_lat_label_controls.gif
+ 
+ 
+! Restore default settings
+set mode long_lab
+set mode latit_lab
+ 
+set mode/last logo
+ 
+GO bn_reset
+cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+GO err700_vs_plot_axes
+! err700_vs_plot_axes.jnl
+! See ticket 2477, in some cases the plot axes are not fully drawn
+! 11/2016 ACM
+ 
+ 
+USE err700_vs_data.nc
+ 
+! only with PLOT/VS plots, only with SYMBOLS not PLOT/VS/LINE
+PLOT/VS/THICK/COLOR=red/SIZ=0.2 lon,lat
+FRAME/FILE=bn_axis_vs.gif
+ 
+GO bn_reset
+cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+GO err71_vs_constant
+! err71_vs_constant.jnl
+! See ticket 2318, defining plot axes when data is constant
+! 4/2017 acm
+ 
+! The axis ranges had been set as val-1, val+1 which
+! worked poorly for large or small data values
+ 
+ 
+ 
+ 
+def view/xlim=   0,.333/ylim=0,.5 ll6   ! ok
+def view/xlim=   0,.333/ylim=.5,1 ul6   ! long tic labels
+def view/xlim=.333,.666/ylim=0,.5 lm6   ! long tic labels, logo corrupted
+def view/xlim=.333,.666/ylim=.5,1 um6   ! plot positioning and labels are corrupted
+def view/xlim=.666,   1/ylim=0,.5 lr6   ! no plot at all
+def view/xlim=.666,   1/ylim=.5,1 ur6   ! no vertical tic labels
+ 
+ 
+set view ul6; plot/vs/color/thick/line/sym/siz=0.2 {1,2},  1e4*{1,1}
+set view um6; plot/vs/color/thick/line/sym/siz=0.2 {1,2},  1e5*{1,1}
+set view ur6; plot/vs/color/thick/line/sym/siz=0.2 {1,2},  1e6*{1,1}
+set view ll6; plot/vs/color/thick/line/sym/siz=0.2 {1,2},  1e7*{1,1}
+set view lm6; plot/vs/color/thick/line/sym/siz=0.2 {1,2},  1e8*{1,1}
+set view lr6; plot/vs/color/thick/line/sym/siz=0.2 {1,2}, 1e-2*{1,1}
+ 
+frame/file=bn_vs_const_value.gif
+ 
+! With constant data value as the first argument
+ 
+can view
+set view ul6; plot/vs/color/thick/line/sym/siz=0.2  1e4*{1,1}, {1,2}
+set view um6; plot/vs/color/thick/line/sym/siz=0.2  1e5*{1,1}, {1,2}
+set view ur6; plot/vs/color/thick/line/sym/siz=0.2  1e6*{1,1}, {1,2}
+set view ll6; plot/vs/color/thick/line/sym/siz=0.2  1e7*{1,1}, {1,2}
+set view lm6; plot/vs/color/thick/line/sym/siz=0.2  1e8*{1,1}, {1,2}
+set view lr6; plot/vs/color/thick/line/sym/siz=0.2 1e-2*{1,1}, {1,2}
+ 
+GO bn_reset
+cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+GO err71_vs_lon_over
+! err71_vs_lon_over.jnl
+! PLOT/VS/OVER does longitude moduloing if the xpts
+!  variable has units of degrees east.
+ 
+use coads_climatology
+shade/l=1/x=0:360/nolab/nokey if sst then 1
+let/units=degrees_east xpts = {-170,-150,-100, 100, 150, 170}
+let/units=degrees_north ypts = {-30, -20, -10,   0,  10,  20}
+ 
+plot/vs/over/thick/siz=0.2/sym=19 xpts,ypts
+frame/file=vs_lon_over.gif
+ 
 exit/command
 yes? ! this "shell" is used because the Unix redirection fails to echo commands
 yes? ! from the top level command file
@@ -103070,9 +109551,9 @@ yes?
 yes? 
 yes? GO bn_ps
  	NOAA/PMEL TMAP
- 	FERRET v7.1 (beta/debug)
- 	Linux 2.6.32-642.13.1.el6.x86_64 64-bit - 02/15/17
- 	15-Feb-17 11:30     
+ 	FERRET v7.2 (beta/debug)
+ 	Linux 2.6.32-696.3.2.el6.x86_64 64-bit - 07/12/17
+ 	12-Jul-17 09:57     
 
 ! bn450_ps.JNL - copied from bn450_plot.jnl
 ! this journal file only tests the writing of ps files in batch mode using
@@ -103184,9 +109665,9 @@ yes?
 yes? 
 yes? GO bn_batch_metafile
  	NOAA/PMEL TMAP
- 	FERRET v7.1 (beta/debug)
- 	Linux 2.6.32-642.13.1.el6.x86_64 64-bit - 02/15/17
- 	15-Feb-17 11:30     
+ 	FERRET v7.2 (beta/debug)
+ 	Linux 2.6.32-696.3.2.el6.x86_64 64-bit - 07/12/17
+ 	12-Jul-17 09:57     
 
 ! bn_batch_metafile.jnl
 ! Run at the end of the benchmark scripts, starting ferret with the flags
@@ -103270,4 +109751,4 @@ set window/location=0.1,0.1/title="another title"
  
 set mode/last logo
 exit/command
-Ended at Wed Feb 15 11:30:09 PST 2017
+Ended at Wed Jul 12 09:57:45 PDT 2017
diff --git a/bench/bn710_bug_fixes.jnl b/bench/bn710_bug_fixes.jnl
index 486d1b2..2082768 100644
--- a/bench/bn710_bug_fixes.jnl
+++ b/bench/bn710_bug_fixes.jnl
@@ -49,8 +49,9 @@ go err700_attribute_parsing
 
 
 ! Bug 2477 plot axes are not fully drawn, some /VS plots
-go bn_reset
-go err700_vs_plot_axes
+! move this to bn_gif.jnl 
+! go bn_reset
+! go err700_vs_plot_axes
 
 ! Bug 2483. Fixing axis-ends symbols XAXIS_MIN,XAXIS_MAX, YAXIS_MIN,YAXIS_MAX
 go bn_reset
diff --git a/bench/bn720_bug_fixes.jnl b/bench/bn720_bug_fixes.jnl
new file mode 100644
index 0000000..a80676f
--- /dev/null
+++ b/bench/bn720_bug_fixes.jnl
@@ -0,0 +1,68 @@
+! bn720_bug_fixes.jnl
+! test various fixes that went into version 7.2
+! 2/17 *acm*
+!
+
+GO bn_reset
+GO err71_uvar_strides
+
+GO bn_reset
+GO err71_prec_return
+
+GO bn_reset
+GO err71_save_rigid
+
+! move this to bn_gif.jnl 
+! GO bn_reset
+! GO err71_plotvs_mode_label
+
+GO bn_reset
+GO err71_set_redirect
+
+GO bn_reset
+GO err71_set_redirect
+
+GO bn_reset
+GO err71_err_attrib_overrun
+
+GO bn_reset
+GO err71_user_var_attrib
+
+GO bn_reset
+GO err71_save_bounds
+
+! move this to bn_gif.jnl 
+! GO bn_reset
+! GO err71_vs_constant
+
+! run this from bn_gif.jnl 
+! GO bn_reset
+! GO err71_vs_lon_over 
+
+
+GO bn_reset
+GO err71_point_average
+
+GO bn_reset
+GO err71_2d_ave_miss0
+
+GO bn_reset
+GO err71_read_delim
+
+GO bn_reset
+GO err71_isready_unknown
+
+GO bn_reset
+GO err71_ppl_sho_empty
+
+GO bn_reset
+GO err71_string_and_if
+
+GO bn_reset
+GO err71_expr_w_const
+
+GO bn_reset
+GO err71_colorlevs
+
+GO bn_reset
+GO err71_repeat_paren
diff --git a/bench/bn_1d_gather.jnl b/bench/bn_1d_gather.jnl
new file mode 100644
index 0000000..3cb698b
--- /dev/null
+++ b/bench/bn_1d_gather.jnl
@@ -0,0 +1,8 @@
+! bn_1d_gather.jnl
+! test all kinds of gathering in 1 dimension
+
+go bn_gather_DIM_ave $1
+go bn_gather_DIM_sum $1
+go bn_gather_DIM_din $1
+go bn_gather_DIM_minmax $1
+go bn_gather_DIM_good_bad $1
diff --git a/bench/bn_DQ.jnl b/bench/bn_DQ.jnl
index c150e33..bca8362 100644
--- a/bench/bn_DQ.jnl
+++ b/bench/bn_DQ.jnl
@@ -111,6 +111,9 @@ DEFINE SYMBOL a _DQ_foobar_DQ_
 say ($a)
 
 ! ======
+! Note this result changes 6/30/2017, due to change in merge_grid for ticket
+! 2313, in grid-merging the grid of a constant is now a normal grid. Previously
+! it was the abstract grid.
 DEFINE SYMBOL a    "(`foobar,return=xaxis`)"
 say ($a)
 DEFINE SYMBOL a _DQ_(`foobar,return=xaxis`)_DQ_
diff --git a/bench/bn_agg_member_syntax.jnl b/bench/bn_agg_member_syntax.jnl
index 3e9a1a0..24f69b1 100644
--- a/bench/bn_agg_member_syntax.jnl
+++ b/bench/bn_agg_member_syntax.jnl
@@ -37,6 +37,14 @@ set mode/last ignore
 cancel data/all
 cancel var/all
 
+! Union datasets and SHOW DATA/MEMBERS
+union tmp/uagg_1.nc,tmp/uagg_2.nc,tmp/uagg_3.nc,tmp/uagg_4.nc
+show data/members
+show data 5.2
+show data 5.3
+
+cancel data/all
+
 ! Tests for Ensembles
 let files = SPAWN("ls -1 ens*.nc")
 ensemble my_ens = files
@@ -56,6 +64,7 @@ show data 5.3
 
 stat sst[d=5] - sst[d=5.3]   ! ensemble minus member #3
 
+
 ! deliberate errors
 set mode ignore
 
diff --git a/bench/bn_aggregate_t.jnl b/bench/bn_aggregate_t.jnl
index 93099a7..3a3cd93 100644
--- a/bench/bn_aggregate_t.jnl
+++ b/bench/bn_aggregate_t.jnl
@@ -300,8 +300,8 @@ canc data/all
 ! show grid/T below was eliminated by the "clean_draconian" script)
 ! 1/17/2017 changes due to backing off auto-detection of truemonth axes, tkt 2497
 
-IF `test_opendap("http://ferret.pmel.noaa.gov/thredds/dodsC/data/ferret/test_coads_monthly_air_2012.nc") EQ 0` THEN
-   tseries COADS = http://ferret.pmel.noaa.gov/thredds/dodsC/data/ferret/test_coads_monthly_air_2012.nc, http://ferret.pmel.noaa.gov/thredds/dodsC/data/ferret/test_coads_monthly_air_2013.nc, http://ferret.pmel.noaa.gov/thredds/dodsC/data/ferret/test_coads_monthly_air_2014.nc
+IF `test_opendap("http://ferret.pmel.noaa.gov/pmel/thredds/dodsC/data/ferret/test_coads_monthly_air_2012.nc") EQ 0` THEN
+   tseries COADS = http://ferret.pmel.noaa.gov/pmel/thredds/dodsC/data/ferret/test_coads_monthly_air_2012.nc, http://ferret.pmel.noaa.gov/pmel/thredds/dodsC/data/ferret/test_coads_monthly_air_2013.nc, http://ferret.pmel.noaa.gov/pmel/thredds/dodsC/data/ferret/test_coads_monthly_air_2014.nc
 show data COADS
 show grid/T air
 canc data/all
diff --git a/bench/bn_aggregate_tef.jnl b/bench/bn_aggregate_tef.jnl
index a58b7cb..a0de421 100644
--- a/bench/bn_aggregate_tef.jnl
+++ b/bench/bn_aggregate_tef.jnl
@@ -2,6 +2,7 @@
 ! 2/2016 *sh*
 ! 3/2016 - modified to test single point axis aggregations on Z axis
 ! 1/2017 *acm* changes in output due to backing off auto-detection of truemonth axes, tkt 2497
+! *acm*7/2017 0=success for SPAWN_STATUS
 
 ! to avoid re-creating the test files include argument "0" as in
 !  yes?  GO bn_aggregate_tef 0
@@ -13,7 +14,15 @@
 ! many time aggregations
 CANCEL MODE VERIFY
 
-if ($1"1") then
+! see if the test file already exists
+SPAWN "ls tmp/f04_e3_t3_1v.nc"
+IF ($SPAWN_OK) THEN
+  say *** NOT RE-CREATING bn_aggregate_tef.jnl test files. They already exist.
+ELSE
+
+! Give the operator something to look at while we write all the data 
+plot/noax/nolab/vlim=0:1/i=4:5 i
+annotate/norm/x=0/y=0.5 "...writing data files for the TEF aggregation tests"
 
 ! *** create an artificial file collection ***
 spawn "mkdir -p tmp"     ! tmp directory to store files
@@ -72,7 +81,7 @@ repeat/name=fdate/range=10:10:3 (\
 
 cancel variables/all
 
-endif
+ENDIF
 
 ! ***** end of TEF file creation ****************
 
diff --git a/bench/bn_all.jnl b/bench/bn_all.jnl
index f488636..706de29 100644
--- a/bench/bn_all.jnl
+++ b/bench/bn_all.jnl
@@ -124,51 +124,52 @@ SET MODE VERIFY
 ! Include this statement to compare the outupt of 6D Ferret with 
 ! previous 4D benchmark logs.
 ! cancel mode 6d_lab
+! V702 *sh* 3/17 - added dynamic memory benchmarks.  Tweaked a couple of others
 
-GO bn_reset
+GO bn_reset bn_syntax
 GO bn_syntax
 cancel mode metafile      !9/97
 
-GO bn_reset
+GO bn_reset bn_dollar
 GO bn_dollar hello    ! test command arg
 
 ! added in bn400
-GO bn_reset
+GO bn_reset bn_grave
 GO bn_grave
 
 ! added in bn420
-GO bn_reset
+GO bn_reset bn_letd
 GO bn_letd
 
 ! added in bn430
-GO bn_reset
+GO bn_reset bn_if
 GO bn_if
 
-GO bn_reset
+GO bn_reset bn_expressions
 GO bn_expressions
 
-GO bn_reset
+GO bn_reset bn_geometry
 GO bn_geometry
 
-GO bn_reset
 set mode ignore		! needed for AIX   11/94
+GO bn_reset   bn_output
 GO bn_output
 cancel list/format
 can mode ignore		! needed for AIX
 
-GO bn_reset
+GO bn_reset bn_in_plane
 GO bn_in_plane
 
-GO bn_reset
+GO bn_reset bn_compress
 GO bn_compress
 
-GO bn_reset
+GO bn_reset bn_interpolate
 GO bn_interpolate
 
-GO bn_reset
+GO bn_reset bn_regrid
 GO bn_regrid
 
-GO bn_reset
+GO bn_reset bn_ez
 GO bn_ez		! changed from bn200_ez 8/10/95
 
 ! ****
@@ -180,14 +181,14 @@ PPL ECHO ON		! added 10/27/93
 
 ! 10/97 *kob* now set mode metafile
 set mode metafile bnplot.plt
-GO bn_reset
+GO bn_reset bn_plot
 GO bn_plot		! upgraded from bn320_plot 10/1/97 *kob*
 
 
 !added in bn450 10/97 *kob*
 ! moved to right after bn450_plot to capture metafiles *kob* 2/98
-GO bn_reset
 ! 2/98 changed bn450_curv to bn491_curv - just some cosmetic changes *kob*
+GO bn_reset bn_curv
 GO bn_curv
 
 SET WINDOW/CLEAR/SIZE=0.2 ! 8/25/92
@@ -195,24 +196,24 @@ SET WINDOW/CLEAR/SIZE=0.2 ! 8/25/92
 ! 10/97 *kob* now cancel mode metafile
 cancel mode metafile
 
-GO bn_reset
+GO bn_reset bn_symbols
 GO bn_symbols	! added 6/22/95
 
-GO bn_reset
+GO bn_reset bn_comma_delimited
 GO bn_comma_delimited	! added 10/2/95
 
-GO bn_reset
+GO bn_reset bn_dynamic_grids
 GO bn_dynamic_grids	! added 9/27/95, V420 ->V491 4/98
 
-GO bn_reset
+GO bn_reset bn_cdf
 GO bn_cdf
 
-GO bn_reset
+GO bn_reset bn_regrid_transforms
 GO bn_regrid_transforms
 
-GO bn_reset		! reordered reset before next test: 2/94
-GO bn_axis_limits	! added 10/27/93
-SET WINDOW/CLEAR/SIZE=0.2 ! added 2/94
+GO bn_reset bn_axis_limits	! reordered reset before next test: 2/94
+GO bn_axis_limits	        ! added 10/27/93
+SET WINDOW/CLEAR/SIZE=0.2       ! added 2/94
 
 !GO bn_reset
 !GO bn301_mem_mgmt
@@ -220,309 +221,308 @@ MESSAGE/CONTINUE  ***** bn301_mem_mgmt has been removed from run_all.
 MESSAGE/CONTINUE  ***** Its too slow!!!
 MESSAGE/CONTINUE  ***** Remember to run it separately
 
-GO bn_reset
+GO bn_reset bn_movie
 GO bn_movie
 
 ! added in bn311
-GO bn_reset
+GO bn_reset bn_ez_order
 GO bn_ez_order	! was bn311 until 9/95
 
 ! added in bn312  6/3/94
-GO bn_reset
+GO bn_reset bn_user
 ! cancel mode metafile   ! needed temporarily 6/94: PLOT+/XGKS interaction bug
 GO bn_user
 set window 1		! clean up
 
 ! added in bn420  1/96
-GO bn_reset
+GO bn_reset bn_stream
 GO bn_stream
 
 !added in bn430 9/96 *kob*
-GO bn_reset
+GO bn_reset bn_mc
 GO bn_mc
 
 !added in bn450 10/97 *kob*
-GO bn_reset
+GO bn_reset bn_negative_t
 GO bn_negative_t
 
 !added in bn450 10/97 *kob*
-GO bn_reset
+GO bn_reset bn_xact_regrid
 GO bn_xact_regrid
 
 !added in bn450 11/97 *kob*
 ! replace w/ bn500 *kob* 5/99
-GO bn_reset
+GO bn_reset bn_gc_functions
 GO bn_gc_functions
 
 !added in bn491 - originally had this in run_all, but moved it here to 
 ! properly echo commands  *kob*
-GO bn_reset
 set mode verify  ! somehow this was off
-
+GO bn_reset bn491_bug_fixes.jnl
 GO bn491_bug_fixes.jnl
 
 ! ******** V500 Additions below ***********
 
-GO bn_reset
+GO bn_reset bn_odd_variable_name
 GO bn_odd_variable_name
 
-GO bn_reset
+GO bn_reset bn_test_stream
 GO bn_test_stream
 
-GO bn_reset
+GO bn_reset bn_define_axes
 GO bn_define_axes
 
 GO bn_reset
 ! GO bn_external_functions  ! move to tests of shared-obj efs.
 
-GO bn_reset
+GO bn_reset bn_pattern
 GO bn_pattern
 
-GO bn_reset
+GO bn_reset bn_polygon
 GO bn_polygon
 
-GO bn_reset
+GO bn_reset bn500_bug_fixes
 GO bn500_bug_fixes
 
 ! ******** V510 Additions below ***********
 
-GO bn_reset
+GO bn_reset bn_sample
 GO bn_sample			! internal (optimized) SAMPLE* functions
 
-GO bn_reset
+GO bn_reset bn_strides_revs_perms
 GO bn_strides_revs_perms	! netCDF fancy reads
 
-GO bn_reset
+GO bn_reset bn_non_COARDS_netCDF	
 GO bn_non_COARDS_netCDF		! non-standard netCDF files
 
-GO bn_reset
+GO bn_reset bn_cache_hits
 GO bn_cache_hits		! cache hits on unspecified (full) regions
 
-GO bn_reset
+GO bn_reset bn_regrid_to_user
 GO bn_regrid_to_user		! G=user_var and related
 
 ! ******** V53 Additions below ***********
 
-GO bn_reset
+GO bn_reset bn_calendar
 GO bn_calendar
 
-GO bn_reset
+GO bn_reset bn_dash_dot
 GO bn_dash_dot
 
-GO bn_reset
+GO bn_reset bn_flowlines
 GO bn_flowlines
 
 ! ******** V533 Additions below ***********
 
-GO bn_reset
+GO bn_reset bn_logaxes
 GO bn_logaxes
 
 ! *kob* same tests for internal external functions but moved out of
 !       the bn_external_function jnl file.  
-GO bn_reset
+GO bn_reset bn_internal_external_functions
 GO bn_internal_external_functions
 
-GO bn_reset
+GO bn_reset bn_modulo_strides
 GO bn_modulo_strides
 
 ! ******** V54 Additions below ***********
 
-GO bn_reset
+GO bn_reset bn_axis_viewports
 GO bn_axis_viewports
 
-GO bn_reset
+GO bn_reset bn_strings
 GO bn_strings
 
-GO bn_reset
+GO bn_reset bn_axcontrol
 GO bn_axcontrol
 
-GO bn_reset
+GO bn_reset bn_vec_curv
 GO bn_vec_curv
 
-GO bn_reset
+GO bn_reset bn_delimited_read
 GO bn_delimited_read
 
 
 ! ******** V5.41 Additions below ***********
 
-GO bn_reset
+GO bn_reset bn541_bug_fixes
 GO bn541_bug_fixes
 
-GO bn_reset
+GO bn_reset bn_cancel_axes
 GO bn_cancel_axes
 
 ! ******** V5.42 Additions below ***********
 
-GO bn_reset
+GO bn_reset bn542_bug_fixes
 GO bn542_bug_fixes
 
 ! ******** V5.50 Additions below ***********
 
-GO bn_reset
+GO bn_reset bn_subspan_modulo
 GO bn_subspan_modulo
 
-GO bn_reset
+GO bn_reset bn_dots
 GO bn_dots
 
-GO bn_reset
+GO bn_reset bn_lev_symbols
 GO bn_lev_symbols
 
-GO bn_reset
+! GO bn_reset 
 ! GO bench_extrema  ! moved to bn_ef_bench_extrema; tests of shared-obj efs.
 
-GO bn_reset
+GO bn_reset bn_mode_logo_lab
 GO bn_mode_logo_lab
 
-GO bn_reset
+GO bn_reset bn_modulo_attribute
 GO bn_modulo_attribute
 
-GO bn_reset
+GO bn_reset bn550_bug_fixes
 GO bn550_bug_fixes
 
 ! ******** V5.51 Additions below ***********
 
-GO bn_reset
+GO bn_reset bn551_bug_fixes
 GO bn551_bug_fixes
 
 ! ******** V5.52 Additions below ***********
 
 GO bn_multi_line_labels.jnl
 
-GO bn_reset
+GO bn_reset bn552_bug_fixes
 GO bn552_bug_fixes
 
-GO bn_reset
+GO bn_reset bn_set_var_scale_off.jnl
 GO bn_set_var_scale_off.jnl
 
-GO bn_reset
+GO bn_reset bn_longvarnames.jnl
 GO bn_longvarnames.jnl
 
-GO bn_reset
+GO bn_reset bn_shakey.jnl
 GO bn_shakey.jnl
 
-GO bn_reset
+GO bn_reset bn_eof_4d.jnl
 GO bn_eof_4d.jnl
 
-GO bn_reset
+GO bn_reset bn_abstract_axis_names.jnl
 GO bn_abstract_axis_names.jnl
 
-GO bn_reset
+GO bn_reset bn_many_polygons.jnl
 GO bn_many_polygons.jnl
 
-GO bn_reset
+! GO bn_reset
 ! GO bn_zaxr_fcns.jnl ! move to tests of shared-obj efs.
 
-GO bn_reset
+GO bn_reset bn_fill_irregular.jnl
 GO bn_fill_irregular.jnl
 
 ! ******** V5.53 Additions below ***********
-GO bn_reset
+GO bn_reset bn_xml_output.jnl
 GO bn_xml_output.jnl
 
-GO bn_reset
+GO bn_reset bn_test_nan.jnl
 GO bn_test_nan.jnl
 
-GO bn_reset
+GO bn_reset bn553_bug_fixes.jnl
 GO bn553_bug_fixes.jnl
 
 
 ! ******** V5.6Additions below ***********
 
-GO bn_reset
+GO bn_reset bn_graticules.jnl
 GO bn_graticules.jnl
 
-GO bn_reset
+GO bn_reset bn_repeat_range.jnl
 GO bn_repeat_range.jnl
 
-GO bn_reset
+GO bn_reset bn554_bug_fixes.jnl
 GO bn554_bug_fixes.jnl
 
 
 ! ******** V5.7 Additions below ***********
 
-GO bn_reset
+GO bn_reset bn_bounds.jnl
 GO bn_bounds.jnl
 
-GO bn_reset
+GO bn_reset bn_all_leap.jnl
 GO bn_all_leap.jnl
 
-GO bn_reset
+GO bn_reset bn_reset_attributes.jnl
 GO bn_reset_attributes.jnl
 
-GO bn_reset
+GO bn_reset bn570_bug_fixes.jnl
 GO bn570_bug_fixes.jnl
 
 ! ******** V5.8 Additions below ***********
 
-GO bn_reset
+GO bn_reset bn_modstats.jnl
 GO bn_modstats.jnl
 
-GO bn_reset
+GO bn_reset bn_mc_vary_scale.jnl
 GO bn_mc_vary_scale.jnl
 
-GO bn_reset
+GO bn_reset bn_plot_nokey.jnl
 GO bn_plot_nokey.jnl
 
-GO bn_reset
+GO bn_reset bn580_bug_fixes.jnl
 GO bn580_bug_fixes.jnl
 
 ! ******** V5.81 Additions below ***********
-GO bn_reset
+GO bn_reset bn_inf_levels.jnl 
 GO bn_inf_levels.jnl 
 
-GO bn_reset
+GO bn_reset bn_regulart.jnl
 GO bn_regulart.jnl
 
-GO bn_reset
+GO bn_reset bn_labwid.jnl
 GO bn_labwid.jnl
 
-GO bn_reset
+GO bn_reset bn_redefine_taxis_mc.jnl
 GO bn_redefine_taxis_mc.jnl
 
-GO bn_reset
+GO bn_reset bn_illegal_axisname.jnl
 GO bn_illegal_axisname.jnl
 
-GO bn_reset
+GO bn_reset bn_exit_script.jnl
 GO bn_exit_script.jnl
 
-GO bn_reset
+GO bn_reset bn_exit_cycle.jnl
 GO bn_exit_cycle.jnl
 
-GO bn_reset
+GO bn_reset bn_curv_mod.jnl
 GO bn_curv_mod.jnl
 
-GO bn_reset
+GO bn_reset bn_shade_keycont.jnl
 GO bn_shade_keycont.jnl
 
-GO bn_reset
+GO bn_reset bn581_bug_fixes.jnl
 GO bn581_bug_fixes.jnl
 
 ! ******** V6.00 Additions below ***********
-GO bn_reset
+GO bn_reset bn_tab_comma_multivar.jnl
 GO bn_tab_comma_multivar.jnl
 
-GO bn_reset
+GO bn_reset bn_element_functions.jnl
 GO bn_element_functions.jnl
 
-GO bn_reset
+GO bn_reset bn_long_revision_num.jnl
 GO bn_long_revision_num.jnl
 
-GO bn_reset
+GO bn_reset bn_window_title.jnl
 GO bn_window_title.jnl
 
-GO bn_reset
+GO bn_reset bn_last_error.jnl
 GO bn_last_error.jnl
 
-GO bn_reset
+GO bn_reset bn_deg_min.jnl
 GO bn_deg_min.jnl
 
-GO bn_reset
+GO bn_reset bn_dp_readscale.jnl
 GO bn_dp_readscale.jnl
 
-GO bn_reset
+GO bn_reset bn_bounds_defineax.jnl
 GO bn_bounds_defineax.jnl
 
-go bn_reset
+go bn_reset bn_attributes.jnl
 go bn_attributes.jnl
 
 !=======
@@ -531,146 +531,147 @@ go bn_attributes.jnl
 !go bn_reset
 !go bn_nco_functions.jnl
 
-go bn_reset
+go bn_reset bn_transforms.jnl
 go bn_transforms.jnl
 
-go bn_reset
+go bn_reset bn_variance.jnl
 go bn_variance.jnl
 
-go bn_reset
+go bn_reset bn_linecolors.jnl
 go bn_linecolors.jnl
 
-go bn_reset
+go bn_reset bn_cdf_errmsg.jnl
 go bn_cdf_errmsg.jnl
 
-GO bn_reset
+GO bn_reset bn600_bug_fixes.jnl
 GO bn600_bug_fixes.jnl
 
 ! ******** V6.01 Additions below ***********
-GO bn_reset
+GO bn_reset bn601_bug_fixes.jnl
 GO bn601_bug_fixes.jnl
 
 ! ******** V6.02 Additions below ***********
-GO bn_reset
+GO bn_reset bn_set_strides.jnl
 GO bn_set_strides.jnl
 
-GO bn_reset
+GO bn_reset bn_lsl_lowpass.jnl
 GO bn_lsl_lowpass.jnl
 
-GO bn_reset
+GO bn_reset bn_return_xmod_tmod.jnl
 GO bn_return_xmod_tmod.jnl
 
-GO bn_reset
+GO bn_reset bn602_bug_fixes
 GO bn602_bug_fixes
 
 
 ! ******** V6.03 Additions below ***********
-GO bn_reset
+GO bn_reset bn_modnbd.jnl
 GO bn_modnbd.jnl
 
-GO bn_reset
+GO bn_reset bn_fifty_files.jnl
 GO bn_fifty_files.jnl
 
-GO bn_reset
+GO bn_reset bn603_bug_fixes
 GO bn603_bug_fixes
 
 ! ******** V6.05 Additions below ***********
 
-GO bn_reset
+GO bn_reset bn_set_var_name.jnl
 GO bn_set_var_name.jnl
 
-GO bn_reset
+!GO bn_reset 
 ! This routine executes a ppl error which exits us from Ferret
 ! when run in the benchmark suite. Should test this, but dont do it
 ! here, for now.
 !GO bn_ppl_errors.jnl
 
-GO bn_reset
+GO bn_reset bn_memory_symbol
 GO bn_memory_symbol
 
-GO bn_reset
+GO bn_reset bn605_bug_fixes
 GO bn605_bug_fixes
 
-GO bn_reset
+GO bn_reset bn608_bug_fixes
 GO bn608_bug_fixes
 
 
 ! ******** V6.1 Additions below ***********
 
-GO bn_reset
+GO bn_reset bn_shade_trim
 GO bn_shade_trim
 
-GO bn_reset
+GO bn_reset bn_mode_nlevels
 GO bn_mode_nlevels
 
-GO bn_reset
+GO bn_reset bn61_bug_fixes
 GO bn61_bug_fixes
 
 
 ! ******** V6.11 Additions below ***********
-GO bn_reset
+GO bn_reset bn_test_opendap
 GO bn_test_opendap
 
-GO bn_reset
+GO bn_reset bn611_bug_fixes
 GO bn611_bug_fixes
 
 ! ******** V6.13 Additions below ***********
-GO bn_reset
+GO bn_reset bn_no_valid_on_plot
 GO bn_no_valid_on_plot
 
-GO bn_reset
+GO bn_reset bn_median
 GO bn_median
 
-GO bn_reset
+GO bn_reset bn614_bug_fixes
 GO bn614_bug_fixes
 
 ! ******** V6.14 Additions below ***********
-GO bn_reset
+GO bn_reset bn_mode_nodata_lab
 GO bn_mode_nodata_lab
 
-GO bn_reset
+GO bn_reset bn_proleptic_gregorian_calendar
 GO bn_proleptic_gregorian_calendar
 
-GO bn_reset
+GO bn_reset bn_string_ngd_nbd
 GO bn_string_ngd_nbd
 
-GO bn_reset
+GO bn_reset bn_cat_string
 GO bn_cat_string
 
-GO bn_reset
+GO bn_reset bn_sort_strings
 GO bn_sort_strings
 
-GO bn_reset
+GO bn_reset bn_samplexyt
 GO bn_samplexyt
 
-GO bn_reset
+GO bn_reset bn_last_go_file.jnl
 GO bn_last_go_file.jnl
 
-GO bn_reset
+GO bn_reset bn_cancel_upcase_uservar.jnl
 GO bn_cancel_upcase_uservar.jnl
 
-GO bn_reset
+GO bn_reset bn_cdf_keepax.jnl
 GO bn_cdf_keepax.jnl
 
-GO bn_reset
+GO bn_reset bn_keep_axisnames.jnl
 GO bn_keep_axisnames.jnl
 
-GO bn_reset
+GO bn_reset bn_key_label_minmax.jnl
 GO bn_key_label_minmax.jnl
 
 ! ******** V6.2 Additions below ***********
-GO bn_reset
+GO bn_reset bn62_bug_fixes.jnl
 GO bn62_bug_fixes.jnl
 
-GO bn_reset
+GO bn_reset bn_convolve.jnl
 GO bn_convolve.jnl
 
-GO bn_reset
+GO bn_reset bn_tax_tstep.jnl
 GO bn_tax_tstep.jnl
 
-GO bn_reset
+GO bn_reset bn_grads_z.jnl
 GO bn_grads_z.jnl
 
+GO bn_reset bn_clock_syms
 GO bn_clock_syms
 
 
@@ -679,439 +680,466 @@ GO bn_clock_syms
 ! window, not only in window 1, is implemented in v6.3. Not
 ! tested in the benchmarks.
 
-GO bn_reset
+GO bn_reset bn63_bug_fixes.jnl
 GO bn63_bug_fixes.jnl
 
-GO bn_reset
+GO bn_reset bn_axis_reversed_syms
 GO bn_axis_reversed_syms
 
-GO bn_reset
+GO bn_reset bn_isdepth
 GO bn_isdepth
 
-GO bn_reset
+GO bn_reset bn_var_hist_levels.jnl
 GO bn_var_hist_levels.jnl
 
 
 ! ******** V6.4 Additions below ***********
 
-GO bn_reset
+GO bn_reset bn64_bug_fixes
 GO bn64_bug_fixes
 
-GO bn_reset
+GO bn_reset bn_long_grid_names
 GO bn_long_grid_names
 
-GO bn_reset
+GO bn_reset bn_xml_repl
 GO bn_xml_repl
 
 ! ******** V6.5 Additions below ***********
 
-GO bn_reset
+GO bn_reset bn65_bug_fixes
 GO bn65_bug_fixes
 
-GO bn_reset
+GO bn_reset bn_txtype_dmy
 GO bn_txtype_dmy
 
-GO bn_reset
+GO bn_reset bn_n_open_dsets_sym
 GO bn_n_open_dsets_sym
 
-GO bn_reset
+GO bn_reset bn_multi_decade
 GO bn_multi_decade
 
-GO bn_reset
+GO bn_reset bn_show_xml_file
 GO bn_show_xml_file
 
 
-! GO bn_reset
+! GO bn_reset O bn_encode_url
 ! GO bn_encode_url
 
 ! ******** V6.6 Additions below ***********
 
-GO bn_reset
+GO bn_reset bn66_bug_fixes
 GO bn66_bug_fixes
 
-GO bn_reset
+GO bn_reset bn_netcdf4
 GO bn_netcdf4
 
-GO bn_reset
+GO bn_reset bn_scat2grid_bin.jnl
 GO bn_scat2grid_bin.jnl
 
 ! *********** v6.62 Additions ***********
 
-GO bn_reset
+GO bn_reset bn_axis_dir_symbols
 GO bn_axis_dir_symbols
 
 ! *********** v6.63 Additions ***********
 
-GO bn_reset
+GO bn_reset bn663_bug_fixes
 GO bn663_bug_fixes
 
-GO bn_reset
+GO bn_reset bn_set_axis_regular
 GO bn_set_axis_regular
 
-GO bn_reset
+GO bn_reset bn_set_cancel_redirect
 GO bn_set_cancel_redirect
 
-GO bn_reset
+GO bn_reset bn_min_max_smoothers
 GO bn_min_max_smoothers
 
-GO bn_reset
+GO bn_reset bn_vector_symbols
 GO bn_vector_symbols
 
-GO bn_reset
+GO bn_reset bn_variance_large
 GO bn_variance_large
 
-GO bn_reset
+GO bn_reset bn_labnum_calendar
 GO bn_labnum_calendar
 
 
 ! *********** v6.65 Additions ***********
-GO bn_reset
+GO bn_reset bn665_bug_fixes
 GO bn665_bug_fixes
 
-GO bn_reset
+GO bn_reset bn_floatstr
 GO bn_floatstr
 
 ! *********** v6.7 Additions ***********
-GO bn_reset
+GO bn_reset bn67_bug_fixes
 GO bn67_bug_fixes
 
-GO bn_reset
+GO bn_reset bn_NaN_note
 GO bn_NaN_note
 
 ! *********** v6.71 Additions ***********
-GO bn_reset
+GO bn_reset bn671_bug_fixes
 GO bn671_bug_fixes
 
 ! *********** v6.8 Additions ***********
-GO bn_reset
+GO bn_reset bn68_bug_fixes
 GO bn68_bug_fixes
 
-GO bn_reset
+GO bn_reset bn_ifv
 GO bn_ifv
 
-GO bn_reset
+GO bn_reset bn_randu2_randn2
 GO bn_randu2_randn2
 
-GO bn_reset
+GO bn_reset bn_axis_cf
 GO bn_axis_cf
 
-GO bn_reset
+GO bn_reset bn_repeated_coords
 GO bn_repeated_coords
 
-GO bn_reset
+GO bn_reset bn_xml_header
 GO bn_xml_header
 
-GO bn_reset
+GO bn_reset bn_eof_simple
 GO bn_eof_simple
 
-GO bn_reset
+GO bn_reset bn_eof_simple2
 GO bn_eof_simple2
 
 ! 6D tests for Ferret v6.8
 
-GO bn_reset
+GO bn_reset bn_interpolate_6d
 GO bn_interpolate_6d
 
-GO bn_reset
+GO bn_reset bn_regrid_6d
 GO bn_regrid_6d
 
-GO bn_reset
+GO bn_reset bn_syntax_6d
 GO bn_syntax_6d
 
-GO bn_reset
+GO bn_reset bn_expressions_6d
 GO bn_expressions_6d
 
-GO bn_reset
+GO bn_reset bn_direction_fcns_6d
 GO bn_direction_fcns_6d
 
-GO bn_reset
+GO bn_reset bn_regrid_transforms_6d
 GO bn_regrid_transforms_6d
 
-GO bn_reset
+GO bn_reset bn_aggregate_e
 GO bn_aggregate_e
 
-GO bn_reset
+GO bn_reset bn_6d_lab_mode
 GO bn_6d_lab_mode
 
 
 ! *********** v6.82 Additions ***********
-GO bn_reset
+GO bn_reset bn682_bug_fixes
 GO bn682_bug_fixes
 
 ! *********** v6.83 Additions ***********
 !  (was released as v6.84)
 
-GO bn_reset
+GO bn_reset bn683_bug_fixes
 GO bn683_bug_fixes
 
-GO bn_reset
+GO bn_reset bn_outtype
 GO bn_outtype
 
-GO bn_reset
+GO bn_reset bn_ribbon_plot
 GO bn_ribbon_plot
 
-GO bn_reset
+GO bn_reset bn_descr_4digit
 GO bn_descr_4digit
 
-GO bn_reset
+GO bn_reset bn_axis_outtype
 GO bn_axis_outtype
 
-GO bn_reset
+GO bn_reset bn_axis_nonmonotonic
 GO bn_axis_nonmonotonic
 
-GO bn_reset
+GO bn_reset bn_vec_mod
 GO bn_vec_mod
 
 ! *********** v6.85 Additions ***********
-GO bn_reset
+GO bn_reset bn685_bug_fixes
 GO bn685_bug_fixes
 
-GO bn_reset
+GO bn_reset bn_dsg_e_x
 GO bn_dsg_e_x
 
-GO bn_reset
+GO bn_reset bn_nco_append
 GO bn_nco_append
 
-GO bn_reset
+GO bn_reset bn_nobounds
 GO bn_nobounds
 
-GO bn_reset
+GO bn_reset bn_write_integer_att
 GO bn_write_integer_att
 
-GO bn_reset
+GO bn_reset bn_descriptor_mc
 GO bn_descriptor_mc
 
-GO bn_reset
+GO bn_reset bn_plot_color_only
 GO bn_plot_color_only
 
-GO bn_reset
+GO bn_reset bn_vtree
 GO bn_vtree
 
 
 ! *********** v6.86 Additions ***********
-GO bn_reset
+GO bn_reset bn686_bug_fixes
 GO bn686_bug_fixes
 
-GO bn_reset
+GO bn_reset bn_long_symnames
 GO bn_long_symnames
 
-GO bn_reset
+GO bn_reset bn_strdim
 GO bn_strdim
 
-GO bn_reset
+GO bn_reset bn_single_colorlev
 GO bn_single_colorlev
 
 
 ! *********** v6.9 Additions ***********
-GO bn_reset
+GO bn_reset bn69_bug_fixes
 GO bn69_bug_fixes
 
-GO bn_reset
+GO bn_reset bn_bad_axis_bounds
 GO bn_bad_axis_bounds
 
-GO bn_reset
+GO bn_reset bn_enter_exit_GO
 GO bn_enter_exit_GO
 
-GO bn_reset
+GO bn_reset bn_stddev
 GO bn_stddev
 
-GO bn_reset
+GO bn_reset bn_set_axis_name
 GO bn_set_axis_name
 
-GO bn_reset
+GO bn_reset bn_let_remote
 GO bn_let_remote
 
 ! *********** v6.93 Additions ***********
-GO bn_reset
+GO bn_reset bn691_bug_fixes
 GO bn691_bug_fixes
 
-GO bn_reset
+GO bn_reset bn_append_dsg
 GO bn_append_dsg
 
-GO bn_reset
+GO bn_reset bn_global_atts
 GO bn_global_atts
 
-GO bn_reset
+GO bn_reset bn_conventions_history
 GO bn_conventions_history
 
-GO bn_reset
+GO bn_reset bn_center_key_labels
 GO bn_center_key_labels
 
-GO bn_reset
+GO bn_reset bn_wgt_transform
 GO bn_wgt_transform
 
-GO bn_reset
+GO bn_reset bn_show_outfile
 GO bn_show_outfile
 
-GO bn_reset
+GO bn_reset bn_date1900_array
 GO bn_date1900_array
 
-GO bn_reset
+GO bn_reset bn_spawn_size
 GO bn_spawn_size
 
-GO bn_reset
+GO bn_reset bn_polygon_log
 GO bn_polygon_log
 
 ! *********** v6.94Additions ***********
 
-GO bn_reset
+GO bn_reset bn694_bug_fixes
 GO bn694_bug_fixes
 
-GO bn_reset
+GO bn_reset bn_permute_ascii
 GO bn_permute_ascii
 
-GO bn_reset
+GO bn_reset bn_lon_lat_time_string
 GO bn_lon_lat_time_string
 
-GO bn_reset
+GO bn_reset bn_save_justdim
 GO bn_save_justdim
 
-GO bn_reset
+GO bn_reset bn_time2d
 GO bn_time2d
 
-GO bn_reset
+GO bn_reset bn_legend_labels
 GO bn_legend_labels
 
-GO bn_reset
+GO bn_reset bn_DQ
 GO bn_DQ
 
 ! *********** v6.95Additions ***********
 
-GO bn_reset
+GO bn_reset bn695_bug_fixes
 GO bn695_bug_fixes
 
-GO bn_reset
+GO bn_reset bn_f_tax_fcns
 GO bn_f_tax_fcns
 
-GO bn_reset
+GO bn_reset bn_fmrc
 GO bn_fmrc
 
-GO bn_reset
+GO bn_reset bn_return_defined
 GO bn_return_defined
 
-GO bn_reset
+GO bn_reset bn_can_var_noerr
 GO bn_can_var_noerr
 
-GO bn_reset
+GO bn_reset bn_annotate
 GO bn_annotate
 
-GO bn_reset
+GO bn_reset bn_auxiliary
 GO bn_auxiliary
 
-GO bn_reset
+GO bn_reset bn_plot_ribbon_gaploc
 GO bn_plot_ribbon_gaploc
 
-GO bn_reset
+GO bn_reset bn_time_short_axes
 GO bn_time_short_axes
 
-GO bn_reset
+GO bn_reset bn_floatstr_extended
 GO bn_floatstr_extended
 
 ! *********** v6.96 Additions ***********
 
-GO bn_reset
+GO bn_reset bn696_bug_fixes
 GO bn696_bug_fixes
 
-GO bn_reset
+GO bn_reset bn_bin_regrid
 GO bn_bin_regrid
 
 ! *********** v6.97 Additions ***********
 !            (released as V7.0)
 
-GO bn_reset
+GO bn_reset bn697_bug_fixes
 GO bn697_bug_fixes
 
-GO bn_reset
+GO bn_reset bn_aggregate_t
 GO bn_aggregate_t
 
-GO bn_reset
+GO bn_reset bn_unquoted_args
 GO bn_unquoted_args
 
-GO bn_reset
+GO bn_reset bn_long_lists
 GO bn_long_lists
 
-GO bn_reset
+GO bn_reset bn_show_uvar_grid
 GO bn_show_uvar_grid
 
-GO bn_reset
+GO bn_reset bn_aggregate_f
 GO bn_aggregate_f
 
-GO bn_reset
+GO bn_reset bn_aggregate_tef
 GO bn_aggregate_tef
 
-GO bn_reset
+!GO bn_reset
 ! Add this to the gif benchmark tests
 ! GO bn_hovmuller_overlays
 
-GO bn_reset
+!GO bn_reset
 ! Add this to the gif benchmark tests
 ! GO bn_labels_on_taxis
 
-GO bn_reset
+GO bn_reset bn_dataset_qualifier
 GO bn_dataset_qualifier
 
-GO bn_reset
+GO bn_reset bn_speedtest
 GO bn_speedtest
 
-GO bn_reset
+GO bn_reset bn_show_noupcase
 GO bn_show_noupcase
 
-GO bn_reset
+GO bn_reset bn_letd_attributes
 GO bn_letd_attributes
 
-GO bn_reset
+GO bn_reset bn_list_clim_axes
 GO bn_list_clim_axes
 
-GO bn_reset
+GO bn_reset bn_climatology_attr
 GO bn_climatology_attr
 
-GO bn_reset
+GO bn_reset bn_plot_along
 GO bn_plot_along
 
-GO bn_reset
+GO bn_reset bn_show_commands
 GO bn_show_commands
 
-GO bn_reset
+GO bn_reset bn_plot_decimate
 GO bn_plot_decimate
 
-GO bn_reset
+GO bn_reset bn_auto_tprec
 GO bn_auto_tprec
 
 !GO bn_reset
 !GO bn_warn_subspan
 
-GO bn_reset
+GO bn_reset bn_coordvars_atts
 GO bn_coordvars_atts
 
 
 ! *********** v7.1 Additions ***********
 
-GO bn_reset
+GO bn_reset bn710_bug_fixes
 GO bn710_bug_fixes
 
-GO bn_reset
+GO bn_reset bn_delim_datetime
 GO bn_delim_datetime
 
-GO bn_reset
+GO bn_reset bn_aggregate_u
 GO bn_aggregate_u
 
-GO bn_reset
+GO bn_reset bn_ez_noupcase
 GO bn_ez_noupcase
 
-GO bn_reset
+GO bn_reset bn_spawn_fail
 GO bn_spawn_fail
 
-GO bn_reset
+GO bn_reset bn_ave_of_ave
 GO bn_ave_of_ave
 
-GO bn_reset
+GO bn_reset bn_agg_member_syntax
 GO bn_agg_member_syntax
 
-GO bn_reset
+GO bn_reset bn_true_monthly
 GO bn_true_monthly
 
-! Note the release notes for v7.1 should include mention of memory-leak fixes. For example see this exchange:
-! http://www.pmel.noaa.gov/maillists/tmap/ferret_users/fu_2017/msg00025.html
+
+! *********** v7.2 Additions ***********
+
+GO bn_reset bn720_bug_fixes
+GO bn720_bug_fixes
+
+GO bn_reset bn_compressed_gather
+GO bn_compressed_gather
+
+GO bn_reset bn_dynamic_gather
+GO bn_dynamic_gather
+
+GO bn_reset bn_stat_precision
+GO bn_stat_precision
+
+GO bn_reset bn_plot_vs_with_time
+GO bn_plot_vs_with_time
+
+GO bn_reset bn_dot_product
+GO bn_dot_product
+
+GO bn_reset bn_cache_management
+GO bn_cache_management
+
+GO bn_reset bn_transp_choose
+GO bn_transp_choose
+
+GO bn_reset bn_iin_regrid
+GO bn_iin_regrid
 
 !  *********** Always do a bn_reset  *********** 
 !  *********** make sure things clean up well **
@@ -1119,4 +1147,3 @@ GO bn_reset
 
 ! version 2.3 requires exit/command *sh* 3/92
 exit/command
-
diff --git a/bench/bn_auto_tprec.jnl b/bench/bn_auto_tprec.jnl
index f4351c7..136089a 100644
--- a/bench/bn_auto_tprec.jnl
+++ b/bench/bn_auto_tprec.jnl
@@ -3,6 +3,7 @@
 ! Time labels on plots always just get the precision from MODE CALENDAR
 ! Instead, use the same logic as is used for text labels, automatically adjust.
 ! (later make this the default setting??)
+! acm* 3/17 check the URL with TEST_OPENDAP befor trying to open it.
 
 set mode calendar:auto
 show mode calendar
@@ -32,7 +33,10 @@ list/k=1/x=60/y=-40/L=1:6 ttim
 shade/title="hours "/l=3/k=1/x=60:70/y=-40:-30 ttim; sh sym  lab($labnum_t)
 
 ! Reynolds SST weekly, even 7-day spacing
-use http://ferret.pmel.noaa.gov/thredds/dodsC/data/PMEL/reynolds_sst_wk.nc
+
+IF `test_opendap("http://ferret.pmel.noaa.gov/pmel/thredds/dodsC/data/PMEL/reynolds_sst_wk.nc") NE 0` THEN EXIT/SCRIPT
+
+use http://ferret.pmel.noaa.gov/pmel/thredds/dodsC/data/PMEL/reynolds_sst_wk.nc
 list/x=180/y=0/l=20:25 fsst
 shade/title="7-day axis"/l=30/x=60:70/y=-40:-30 fsst; sh sym  lab($labnum_t)
 
diff --git a/bench/bn_cache_management.jnl b/bench/bn_cache_management.jnl
new file mode 100644
index 0000000..aae776f
--- /dev/null
+++ b/bench/bn_cache_management.jnl
@@ -0,0 +1,131 @@
+! bn_cache_management.jnl
+
+ ! 1/2017 - try to force Ferret into a complex juggling of dependencies
+! and cache maintenance in order to reproduce the problem seen in trac
+! ticket #2485 (from Ned Cokelet)
+! *acm*7/2017 0=success for SPAWN_STATUS
+
+! Ferret's cache of memory-resident results is full when it holds 500 of them.
+! At that point it must delete cached results to make room for new variables.
+! It is supposed to chose the cached result that has not been used for the
+! longest time, AND that is not being "protected" because it is needed in a
+! pending calculation.  This script is intended to exercise that behavior.
+
+! Memory footprint needed:
+! Each dataset contains 7 variables of 1 Mword each
+! VTREE reveals that the "result" variable requires 78 intermediate variables
+! of size 1Mword (plus 7 small ones)
+! Of these only 12 variables needed in the top level "result" sum calculation
+! Each of the top level variables in turn requires ?25? component variables
+! But the top level variables need these components only in sequence. 
+! So if no split-gather is performed, Ferret requires ~12+25=37 Mwords 
+
+DEFINE SYMBOL saved_memory_size = ($FERRET_MEMORY)
+
+SET MEMORY/SIZE=20
+CANCEL MEMORY/ALL
+
+DEFINE SYMBOL nsets = 20
+
+define axis/x=1:1000000:1 xmillion
+
+! aside: to demonstrate lmitations of ferret memory management prior to
+! dynamic memory, use
+!     yes? set memory/size=37
+!     yes? GO test_auto_cache_delete 0 20
+
+! see if the test files already exist
+SPAWN "mkdir -p tmp"     ! tmp directory to store files
+SPAWN ls tmp/test_auto_cache_($nsets).nc
+IF ($SPAWN_OK) THEN
+ say test files already exist.  not re-creating them
+ELSE
+!**************************************
+ say creating test files
+ cancel mode verify
+! define axis/x=1:1000:1 x10
+! define axis/y=1:1000:1 y10
+ define axis/x=1:100:1 x10
+ define axis/y=1:100:1 y10
+ let shape = 0*(X[gx=x10]+Y[gy=y10])
+ let one      = 1 + shape
+ let ten      = 10 + shape
+ let hundred  = 100 + shape
+ let thousand = 1000 + shape
+ let tenthou  = 10000 + shape
+ let hundthou = 100000 + shape
+ let million  = 1000000 + shape
+  
+ REPEAT/k=1:($nsets)  \
+ save/file="tmp/test_auto_cache_`k`.nc"/clobber one, ten, hundred, thousand, tenthou, hundthou, million
+ cancel var/all
+ set mode/last verify
+!**************************************
+ENDIF
+
+! open the many input datasets
+REPEAT/k=1:($nsets)  USE tmp/test_auto_cache_`k`.nc
+
+! define a huge tree of variables
+let  r_one      = RESHAPE(one,X[gx=xmillion])
+let  r_ten      = RESHAPE(ten,X[gx=xmillion])
+let  r_hundred  = RESHAPE(hundred,X[gx=xmillion])
+let  r_thousand = RESHAPE(thousand,X[gx=xmillion])
+let  r_tenthou  = RESHAPE(tenthou,X[gx=xmillion])
+let  r_hundthou = RESHAPE(hundthou,X[gx=xmillion])
+let  r_million  = RESHAPE(million,X[gx=xmillion])
+
+let a_one     = r_one[X=@ave]
+let a_ten     = r_ten[X=@ave]
+let a_hundred = r_hundred[X=@ave]
+let a_thousand= r_thousand[X=@ave]
+let a_tenthou = r_tenthou[X=@ave]
+let a_hundthou= r_hundthou[X=@ave]
+let a_million = r_million[X=@ave]
+
+let one_2      = a_one
+let ten_2      = a_ten
+let hundred_2  = a_hundred 
+let thousand_2 = a_thousand
+let tenthou_2  = a_tenthou 
+let hundthou_2 = a_hundthou 
+let million_2  = a_million
+
+let one_3      = a_one
+let ten_3      = a_ten
+let hundred_3  = a_hundred 
+let thousand_3 = a_thousand
+let tenthou_3  = a_tenthou 
+let hundthou_3 = a_hundthou 
+let million_3  = a_million
+
+let result_31 = \
+one_3 + ten_3 + hundred_3 + thousand_3 + tenthou_3 + hundthou_3 + million_3
+
+let result_21 = \
+one_2 + ten_2 + hundred_2 + thousand_2 + tenthou_2 + hundthou_2 + million_2
+
+let result_32 = \
+one_3 + ten_3 + hundred_3 + thousand_3 + tenthou_3 + hundthou_3 + million_3
+
+let result_22 = \
+one_2 + ten_2 + hundred_2 + thousand_2 + tenthou_2 + hundthou_2 + million_2
+
+let result = result_31 + result_21 + result_32 + result_22 + \
+a_one + a_ten + a_hundred + a_thousand + a_tenthou + a_hundthou + a_million
+
+! process all of the datasets in turn
+! ==> WATCH HOW THE NUMBER OF FREE SLOTS IS PROGRESSIVELY EXHAUSTED
+! This proves that we are exercising the limits of table space
+sp rm -f test_auto_cache.out
+REPEAT/k=1:($nsets)  \
+(list/nohead/file=test_auto_cache.out/append result[d=test_auto_cache_`k`.nc];\
+SHOW MEMORY/DIAG)
+
+! success
+vtree result
+! show that the calculation result never varied
+spawn cat test_auto_cache.out
+
+! clean up
+SET MEMORY/SIZE=($saved_memory_size)
diff --git a/bench/bn_cancel_axes.jnl b/bench/bn_cancel_axes.jnl
index 9b4265f..acab781 100644
--- a/bench/bn_cancel_axes.jnl
+++ b/bench/bn_cancel_axes.jnl
@@ -46,3 +46,14 @@ can axis ax1
 sh axis/t test_irreg
 sh axis/t test_seas
 
+! test reading space delimited values - trac #2549
+columns/skip=3/var="v1,v2"/typ="num,num" longax.dat
+list/clobber/file=longaxspace.dat/norow/nohead v1, v2
+let nrecs = `v1,return=isize`
+can data/all
+define axis/x=1:`nrecs`:1 xax
+define grid/x=xax xgrid
+columns/grid=xgrid/delim="\b"/var="v1,v2"/typ="num,num" longaxspace.dat
+! this used to cause a crash (due to improper memory advancing to skip spaces)
+load v1
+
diff --git a/bench/bn_cdf_errmsg.jnl b/bench/bn_cdf_errmsg.jnl
index 4928ae0..18ba447 100644
--- a/bench/bn_cdf_errmsg.jnl
+++ b/bench/bn_cdf_errmsg.jnl
@@ -21,10 +21,13 @@ use this_is_not_a_file.nc
 !!use "http://iridl.ldeo.columbia.edu/SOURCES/.FSU/.FULL/.tauyyyyy/dods"
 
 ! This is a valid address
-use "http://ferret.pmel.noaa.gov/thredds/dodsC/data/PMEL/COADS/coads_air.cdf"
+use "http://ferret.pmel.noaa.gov/pmel/thredds/dodsC/data/PMEL/COADS/coads_air.cdf"
+
+
+! Intentional errors
 
 ! change the variable name to something nonexistent
-use "http://ferret.pmel.noaa.gov/thredds/dodsC/data/PMEL/COADS/coads_nothing.cdf"
+use "http://ferret.pmel.noaa.gov/pmel/thredds/dodsC/data/PMEL/COADS/coads_nothing.cdf"
 
 ! bad server
 use  "http://noserver/a/nofile.cdf"
diff --git a/bench/bn_compressed_gather.jnl b/bench/bn_compressed_gather.jnl
new file mode 100644
index 0000000..775ae55
--- /dev/null
+++ b/bench/bn_compressed_gather.jnl
@@ -0,0 +1,217 @@
+! bn_compressed_gather.jnl
+! 11/2016 (for trac #2428 enhancement)
+! updated 3/17 for dynamic memory and using SHOW MEM/DIAG
+
+! force a split/gather operation due to a T=@ave
+
+! in previous versions of Ferret the split could not occur on the transformed
+! axis, so the X axis would have been used.  Here the T=@ave axis will be used 
+
+! Give us something to look at while we run these tests which dont make plots
+plot/noax/nolab/vlim=0:1/i=4:5 i
+annotate/norm/x=0/y=0.5 "@AC... running bn_compressed_gather"
+
+! ******* tests of  T=@DIN and T=@ave ******
+define axis/x=1:1001:1 xax
+define axis/y=1:10:1 yax
+define axis/T=1:1000:1 tax
+
+let xt = (x[gx=xax]-501) + 0*y[gy=yax] + T[gt=tax]
+
+* note: SUM of integers 1 to 1000 = N(N+1)/2 ==> 500500
+*       stat average of (x[gx=xax]-501) is zero
+*       so the full 2D stat mean should be 500500
+
+! there are 10*1000*1001 points in the full grid => ~10M
+! given the necessary cautions (see IS_STRIP and MODE FRUGAL),
+! a size of 12 for sure requires a gather operation
+! confirm gathering is occuring by looking at the diagnostic output
+
+!set mode desperate: 400000
+SET MEMORY/SIZE=12
+
+stat xt[l=@din] 
+SHOW MEMORY/DIAGNOSTIC   ! look at peak memory usage
+
+! many variations on this test
+! note that in the first case peak memory will show as ZERO.
+! The first SET MEMORY command resets the peak memory to zero, and
+! then the expression "xt[l=@din]" gets found without re-computation
+! having been computed just above
+GO bn_compressed_gather.sub xt[l=@din] 40 12
+
+! altered limits syntax
+GO bn_compressed_gather.sub xt[l=1:1000 at din] 40 12
+
+! test T=@AVE
+GO bn_compressed_gather.sub xt[l=@ave]  40 12
+
+! various partial grid points at end
+GO bn_compressed_gather.sub xt[T=@ave]  40 12
+GO bn_compressed_gather.sub xt[T=0.5:1000.5 at ave]  40 12
+GO bn_compressed_gather.sub xt[T=0.6:1000.4 at ave]  40 12
+GO bn_compressed_gather.sub xt[T=1:1000 at ave]  40 12
+GO bn_compressed_gather.sub xt[T=1.2:999.8 at ave] 40 12
+
+! *********************************************************
+! ******* tests of "4D" @DIN and @ave ******
+define axis/x=1:200:1 xax
+define axis/y=1:200:1 yax
+define axis/z=1:200:1 zax
+define axis/T=1:2:1  tax
+let xyz  = 0*X[gx=xax] + 0*Y[gy=yax] + Z[gz=zax]
+let xyzt = 0*X[gx=xax] + 0*Y[gy=yax] + Z[gz=zax] + 0*T[gt=tax]
+
+* note: SUM of Z is N*(N+1)/2 = 20100
+* area integral in XY is 200*200=40,000
+* total integral is 804,000,000 (8.04*E8)
+
+* 3D XYZ test
+* 2d slice size = 200*200 = 40,000
+* 3d full size is 8,000,000  - so 10,000,000 is bigger
+ 
+! confirm gathering is occuring by looking at the diagnostic output
+cancel memory/all
+!set mode desp: 2000000  
+set memory/size = 2  ! 2M v 8M: requires split/gather
+! will split into 4 pieces (1/4 of 8,000,000 fits into 2,000,000)
+! so z=1:50; then =51:100, Z=101:150, Z=151:200
+stat xyz[x=@din,y=@din,z=@din]
+SHOW MEMORY/DIAGNOSTIC   ! look at peak memory usage
+
+! the clean version of same test
+GO bn_compressed_gather.sub xyz[x=@din,y=@din,z=@din] 20 2
+
+! also do the average, which will provide a comparison result for the test
+! that follows
+! average along Z is 100.5
+GO bn_compressed_gather.sub xyz[x=@ave,y=@ave,z=@ave] 20 2
+
+! Since the T axis has only 2 points, the arithmetic above shows that the
+! chunks to be gathered will still be too large after splitting on T, which
+! in theory would trigger further splitting along Z.  However, there is only
+! one opportunity to process compressed axis splitting -- in IS_STRIP
+! at the time that it is stripping off the compressed transformation.  But
+! a "4D" transform is stripped in a single operation. We choose an axis that
+! is long enough to break into sufficiently small fragments
+set memory/size = 6  ! 16M points in grid, 8M in each T-chunk 
+stat xyzt[x=@ave,y=@ave,z=@ave,t=@ave]
+show mem/diagnostic
+
+! test splitting along 2 axes in succession by making T=@AVE into a separate
+! averaging operation
+CANCEL MEMORY/ALL
+LET xyzave = xyzt[x=@ave,y=@ave,z=@ave]
+!set mode desp: 2000000  
+set memory/size = 6  ! 2M v 8M: requires split/gather
+stat xyzave[t=@ave]
+SHOW MEMORY/DIAGNOSTIC   ! look at peak memory usage
+
+! *********************************************************
+! ******* tests of T= @var and @std ******
+! the @var and @std transformation had to be switched to
+! a single pass algorithm in order to implement split/gather
+define axis/x=1:10000:1 xax
+define axis/T=1:1001:1 tax
+
+let xt = 0*x[gx=xax] + T[gt=tax]
+let constant = 0*X[gx=xax] + 0*T[gt=tax] + 1234
+let xt_zero_mean = 0*X[gx=xax] + (T[gt=tax]-501) + 1234
+
+* note: sum of a sequence 1 to N of square integers is [N*(N+1)*(2N+1)]/6
+* T-501 is 2 sequences: -500 to 1 and 1 to 500, therefore sum is 
+* 2 * [500*501*1001]/6 = 83583500
+* mean of this sequence is 83583500/1001 = 83500
+* ==> look for this as the correct answer to variance
+
+! confirm gathering is occuring by looking at the diagnostic output
+!set mode desperate: 400000
+set memory/size= 12
+stat constant[l=@var] 
+SHOW MEMORY/DIAGNOSTIC   ! look at peak memory usage
+
+! clean test
+cancel memory/all
+GO bn_compressed_gather.sub constant[l=@var] 40 12
+
+! known result
+GO bn_compressed_gather.sub xt_zero_mean[l=@var] 40 12
+
+! adding a constant doesn't effect the variance
+GO bn_compressed_gather.sub xt[l=@var] 40 12
+
+! same test, but  on @std (only one line of code difference so limited test)
+* square root of 83500 is 288.96366553599779.
+* Note: previous Ferret versions gave a consistent value
+*  Minimum value: 288.9636655359978
+*  Maximum value: 288.9636655359978
+*  Mean    value: 288.9636655359978
+* Now (11/16) we are getting slight variations in the 16th decimal (see"6")
+*  Minimum value: 288.9636655359978
+*  Maximum value: 288.9636655359978
+*  Mean    value: 288.9636655359976
+* *sh* @std differs from @var only by taking a SQRT() in the finalization step.
+*      I suspect this is an artifact of the compiler optimization level
+GO bn_compressed_gather.sub xt[l=@std] 4000000 400000
+
+
+! *********************************************************
+! ******* tests of "4D" @var and @std ******
+! the @var and @srd transformation had to be switched to
+! a single pass algorithm in order to implement split/gather
+define axis/x=1:200:1 xax
+define axis/y=1:200:1 yax
+define axis/z=1:201:1 zax
+define axis/T=1:200:1 tax
+! adding a constant doesn't effect variance
+let constant = 0*X[gx=xax] + 0*Y[gy=yax] + 0*Z[gz=zax] + 1234
+let xyz = 0*X[gx=xax] + 0*Y[gy=yax] + Z[gz=zax] + 1
+let xyz_zero_mean = 0*X[gx=xax] + 0*Y[gy=yax] + (Z[gz=zax]-101)
+
+* note: sum of a sequence 1 to N of square integers is [N*(N+1)*(2N+1)]/6
+* Z-101 is 2 sequences: -100 to -1 and 1 to 100, therefore sum is 
+* 2 * [100*101*201]/6 = 676700
+* so the average is 676700/201 = 3366.666666 ...
+* At every XY point we have the identical sequence in Z, so the variance is
+* the same as the single Z sequence
+
+* 3D XYZ test
+* 2d slice size = 200*200 = 40,000
+* 3d full size is 8,000,000  - so 10,000,000 is bigger
+cancel memory/all
+!set mode desp: 2000000  
+set memory/size = 2  ! 2M v 8M: requires split/gather
+! will split into 4 pieces (1/4 of 8,000,000 fits into 2,000,000)
+! so z=1:50; then =51:100, Z=101:150, Z=151:200
+LIST/PREC=12 constant[x=@var,y=@var,z=@var]
+
+! variance of a constant is zero
+GO bn_compressed_gather.sub constant[x=@var,y=@var,z=@var] 20 2
+
+! confirm that we get the result computed above
+GO bn_compressed_gather.sub xyz_zero_mean[x=@var,y=@var,z=@var]  20 2
+LIST/PREC=12 xyz_zero_mean[x=@var,y=@var,z=@var]
+
+! confirm that adding a constant does not change the result
+GO bn_compressed_gather.sub xyz[x=@var,y=@var,z=@var]  20 2
+LIST/PREC=12 xyz[x=@var,y=@var,z=@var]
+
+CANCEL MEMORY/ALL  ! IF PRESENT THIS PREVENTS THE MEMORY CORRUPTION
+! confirm the @std gives the square root of the variance
+! SQRT(676700/201) = 58.022983951764034269074805569046
+GO bn_compressed_gather.sub xyz[x=@std,y=@std,z=@std]  20 2
+LIST/PREC=12 xyz[x=@std,y=@std,z=@std]
+
+
+! add more tests here
+! the highest liklihood of problem is in the formulation of "the next chunk"
+! when IS_TRANS requests the next piece to be gathered
+! ... variations on inner and outer limits
+!     (i.e. averaging an expression with limits embedded inside of it
+!      where the averaging limits may or may not match the inner limits)
+! ... file variable, vs user variables
+! ... embedded functions, especially grid-changing functions
+!
+! ... test irregular axes (unequal weighting) and see how significant are
+!     the changes in results from old Ferret (particularly on @var)
+
diff --git a/bench/bn_compressed_gather.sub b/bench/bn_compressed_gather.sub
new file mode 100644
index 0000000..14cb8a4
--- /dev/null
+++ b/bench/bn_compressed_gather.sub
@@ -0,0 +1,42 @@
+\ cancel mode verify
+! bn_compressed_gather.sub
+! updated 3/17 for new dynamic memory "set memory" controls
+
+! test whether a compressed gather gets consistent results with
+! its uncompressed equivalent
+
+!  the two *_size arguments below refer to the mode desperate limit size
+
+! GO bn_compressed_gather expression_to_test  no_gather_size do_gather_size
+
+! test without gathering and save the result
+set memory/size=$2    ! big: no need to split/gather
+stat/brief $1
+show memory
+
+! save results
+DEFINE SYMBOL no_gather_stat_min  = ($STAT_MIN)
+DEFINE SYMBOL no_gather_stat_max  = ($STAT_MAX)
+DEFINE SYMBOL no_gather_stat_mean = ($STAT_MEAN)
+
+! test again -- this time with split/gather being used
+cancel memory/all
+set memory/size=$3   ! small
+
+! will split into pieces of size le 400,000 = 400*1000
+! so X=1:400; then X=401:800, then X=801:1000x[gx=xax]-500
+stat/brief $1
+show memory
+
+! report a problem?
+LET problem = (($no_gather_stat_min)  NE ($STAT_MIN)) \
+           OR (($no_gather_stat_max)  NE ($STAT_MAX)) \
+           OR (($no_gather_stat_mean) NE ($STAT_MEAN))
+
+IF `problem` THEN
+    SAY "***** ERROR PERFORMING COMPRESSED GATHER on expression ($1)"
+ELSE
+    SAY "COMPRESSED GATHER success on expression ($1)"
+ENDIF
+
+set mode verify/last
diff --git a/bench/bn_dods_strides.jnl b/bench/bn_dods_strides.jnl
index 3f93cfb..8f6344e 100644
--- a/bench/bn_dods_strides.jnl
+++ b/bench/bn_dods_strides.jnl
@@ -1,5 +1,6 @@
 ! bn_dods_strides.jnl
 ! *sh* 3/00
+! acm* 3/17 check the URL with TEST_OPENDAP befor trying to open it.
 
 ! drawn identically from bn_strides_revs_perms.jnl on 3/16/00
 
@@ -21,73 +22,79 @@ cancel mode diagnostic
 
 ! first with an XYZT variable
 set region/i=3:6/j=2:4/k=1:2/l=1
-!use bn_strides
-! use "http://www.ferret.noaa.gov/cgi-bin/nph-nc/data/bn_strides.cdf"
-set data "http://ferret.pmel.noaa.gov/thredds/dodsC/data/PMEL/ocean_atlas_monthly.nc"
+
+! Define once for easier maintenance.
+DEFINE SYMBOL url_name = http://ferret.pmel.noaa.gov/pmel/thredds/dodsC/data/PMEL/ocean_atlas_monthly.nc
+
+!! If the above is down, here is a good one.
+!! DEFINE SYMBOL url_name = "http://iridl.ldeo.columbia.edu/SOURCES/.NOAA/.NCEP/.EMC/.CMB/.Pacific/.monthly/dods"
+
+IF `test_opendap("($url_name)") NE 0` THEN EXIT/SCRIPT
+
+
+set data "($url_name)"
 
 
-!! If the above is also down, here is a good one.
-!!set data "http://iridl.ldeo.columbia.edu/SOURCES/.NOAA/.NCEP/.EMC/.CMB/.Pacific/.monthly/dods"
 
 
 list temp
 canc data/all
 
-use/order=yx "http://ferret.pmel.noaa.gov/thredds/dodsC/data/PMEL/ocean_atlas_monthly.nc"
+use/order=yx "($url_name)"
 list temp
 canc data/all
 
-use/order=zyx "http://ferret.pmel.noaa.gov/thredds/dodsC/data/PMEL/ocean_atlas_monthly.nc"
+use/order=zyx "($url_name)"
 list temp
 canc data/all
 
-use/order=zxy "http://ferret.pmel.noaa.gov/thredds/dodsC/data/PMEL/ocean_atlas_monthly.nc"
+use/order=zxy "($url_name)"
 list temp
 canc data/all
 
 ! now with an XYT variable
 cancel region
 set region/i=1:4/j=40:43/l=1:2
-use "http://ferret.pmel.noaa.gov/thredds/dodsC/data/PMEL/ocean_atlas_monthly.nc"
+use "($url_name)"
 show grid xytvar
 list xytvar
 canc data/all
 
-use/order=yx "http://ferret.pmel.noaa.gov/thredds/dodsC/data/PMEL/ocean_atlas_monthly.nc"
+use/order=yx "($url_name)"
 show grid xytvar
 list xytvar
 canc data/all
 
-use/order=tyx "http://ferret.pmel.noaa.gov/thredds/dodsC/data/PMEL/ocean_atlas_monthly.nc"
+use/order=tyx "($url_name)"
 show grid xytvar
 list xytvar
 canc data/all
 
-use/order=txy "http://ferret.pmel.noaa.gov/thredds/dodsC/data/PMEL/ocean_atlas_monthly.nc"
+use/order=txy "($url_name)"
 show grid xytvar
 list xytvar
 canc data/all
 
 ! map into Z instead of T
-use/order=zxy "http://ferret.pmel.noaa.gov/thredds/dodsC/data/PMEL/ocean_atlas_monthly.nc"
+use/order=zxy "($url_name)"
 show grid xytvar
 list/k=1:2 xytvar
 canc data/all
 
 ! ambiguous mapping
-use/order=tx "http://ferret.pmel.noaa.gov/thredds/dodsC/data/PMEL/ocean_atlas_monthly.nc"
+use/order=tx "($url_name)"
 show grid xytvar
 list xytvar
 canc data/all
 
 ! final "z" goes beyond the 3D -- no effect
-use/order=txyz "http://ferret.pmel.noaa.gov/thredds/dodsC/data/PMEL/ocean_atlas_monthly.nc"
+use/order=txyz "($url_name)"
 show grid xytvar
 show grid var
 canc data/all
 
 ! * * * * * STRIDES * * * * *
-use "http://ferret.pmel.noaa.gov/thredds/dodsC/data/PMEL/ocean_atlas_monthly.nc"
+use "($url_name)"
 set mode diag
 cancel memory/all
 
@@ -170,19 +177,19 @@ LIST/j=1/i=1/l=1/precision=9 TEMP[k=1:10:2 at ave]
 
 set region/i=3:6/j=2:4/k=1:2/l=1
 
-use/order=yx "http://ferret.pmel.noaa.gov/thredds/dodsC/data/PMEL/ocean_atlas_monthly.nc"
+use/order=yx "($url_name)"
 list temp[i=3:9:2]
 list temp[j=42:46:2]
 list temp[i=3:9:2, j=42:46:2, k=1:3:2]
 canc data/all
 
-use/order=zyx "http://ferret.pmel.noaa.gov/thredds/dodsC/data/PMEL/ocean_atlas_monthly.nc"
+use/order=zyx "($url_name)"
 list temp[i=3:9:2]
 list temp[j=42:46:2]
 list temp[i=3:9:2, j=42:46:2, k=1:3:2]
 canc data/all
 
-use/order=zxy "http://ferret.pmel.noaa.gov/thredds/dodsC/data/PMEL/ocean_atlas_monthly.nc"
+use/order=zxy "($url_name)"
 list temp[i=3:9:2]
 list temp[j=42:46:2]
 list temp[i=3:9:2, j=42:46:2, k=1:3:2]
@@ -207,33 +214,33 @@ canc data/all
 cancel region; set region/l=1
 
 ! reference output
-use/order=yx "http://ferret.pmel.noaa.gov/thredds/dodsC/data/PMEL/ocean_atlas_monthly.nc"
+use/order=yx "($url_name)"
 list midvar[i=1:5:4, j=2:5:3, k=3:5:2]
 canc data/all
 
-use/order=-yx "http://ferret.pmel.noaa.gov/thredds/dodsC/data/PMEL/ocean_atlas_monthly.nc"
+use/order=-yx "($url_name)"
 list midvar[i=1:5:4, j=2:5:3, k=3:5:2]
 canc data/all
 
-use/order=y-x "http://ferret.pmel.noaa.gov/thredds/dodsC/data/PMEL/ocean_atlas_monthly.nc"
+use/order=y-x "($url_name)"
 list midvar[i=1:5:4, j=2:5:3, k=3:5:2]
 canc data/all
 
 ! reference output
-use/order=tyx "http://ferret.pmel.noaa.gov/thredds/dodsC/data/PMEL/ocean_atlas_monthly.nc"
+use/order=tyx "($url_name)"
 list midvar[i=1:5:4, j=2:5:3, k=3:5:2]
 canc data/all
 
 ! note the reversal on axes 1,2 and 3 (X,Y,Z in memory -- NOT T)
-use/order=-t-y-x "http://ferret.pmel.noaa.gov/thredds/dodsC/data/PMEL/ocean_atlas_monthly.nc"
+use/order=-t-y-x "($url_name)"
 list midvar[i=1:5:4, j=2:5:3, k=3:5:2]
 canc data/all
 
 ! reference output
-use/order=txy "http://ferret.pmel.noaa.gov/thredds/dodsC/data/PMEL/ocean_atlas_monthly.nc"
+use/order=txy "($url_name)"
 list midvar[i=1:5:4, j=2:5:3, k=3:5:2]
 canc data/all
 
-use/order=-t-x-y "http://ferret.pmel.noaa.gov/thredds/dodsC/data/PMEL/ocean_atlas_monthly.nc"
+use/order=-t-x-y "($url_name)"
 list midvar[i=1:5:4, j=2:5:3, k=3:5:2]
 canc data/all
diff --git a/bench/bn_dot_product.jnl b/bench/bn_dot_product.jnl
new file mode 100644
index 0000000..65d57f8
--- /dev/null
+++ b/bench/bn_dot_product.jnl
@@ -0,0 +1,114 @@
+! bn_dot_product.jnl
+! 3/2017 *acm*  dot product function for matrix multiply operation
+
+
+sh func dot*
+
+! A call to dot(var1, var2, dir) translates into call to 
+! function dot_q(var1,var2) where q is the pax direction 
+! corresponding to dir=1,2,...,6
+
+set list/pre=7
+
+define axis/x=1:5:1 xpax
+define axis/y=0.1:0.3:0.1 ypax
+define axis/z=0.01:0.04:0.01 zpax
+define axis/e=-3:-1:1 epax
+define axis/f=-0.4:-0.1:0.1 fpax
+
+let var1 = x[gx=xpax]
+let var2 = 1+0*x[gx=xpax]
+list var1, var2
+list  dot(var1, var2, 1)
+!can var/all
+
+let var1 = x[gx=xpax]
+let var2 = 1+0*x[gx=xpax]
+list  dot_x(var1, var2)
+
+let var1 = y[gy=ypax]
+let var2 = 1+0*y[gy=ypax]
+list var1, var2
+list  dot(var1, var2, 2)
+
+let var1 = z[gz=zpax]
+let var2 = 1+0*z[gz=zpax]
+list var1, var2
+list  dot(var1, var2, 3)
+
+let var1 = L[gt=month_reg]
+let var2 = 1+0*L[gt=month_reg]
+list var1, var2
+list  dot(var1, var2, 4)
+
+let var1 = _e[ge=epax]
+let var2 = 1+0*_e[ge=epax]
+list var1, var2
+list  dot(var1, var2, 5)
+
+let var1 = _f[gf=fpax]
+let var2 = 1+0*_f[gf=fpax]
+list var1, var2
+list  dot(var1, var2, 6)
+
+let axy = x[gx=xpax] + y[gy=ypax]
+let bxz = 0*x[gx=xpax]+  10*Z[GZ=Zpax]
+list axy, bxz
+list dot(axy, bxz, 1)
+
+let byz = y[gy=ypax]+  10*Z[GZ=Zpax]
+list dot(axy, byz, 2)
+
+let lvar = L[gt=month_reg] - 1
+let axyt = axy + lvar
+let multi_dot = dot(axyt, byz, 2)
+save/file=a.nc/clobber multi_dot
+
+can var multi_dot
+use a.nc
+!  This should be the same as dot(axy, byz, 2)
+list/l=1 multi_dot
+
+!  z and t
+
+
+let axz = x[gx=xpax] + z[gz=zpax]
+let bzt = 0*z[gz=zpax]+  10*L[gt=month_reg]
+list dot(axz, bzt, 3)
+
+let ayt = y[gy=ypax]+ 10*L[gt=month_reg]
+list dot(ayt, bzt, 4)
+
+
+let xvar = x[gx=xpax] - 1
+let axyt = ayt + xvar
+let multi_dot = dot(axyt, bzt, 4)
+save/file=a.nc/clobber multi_dot
+
+can var multi_dot
+use a.nc
+!  This should be the same as dot(ayt, bzt, 4)
+list/i=1 multi_dot
+
+can dat/all
+
+!  e and f
+
+let ayf = _f[gf=fpax] + y[gy=ypax]
+let bfe = 0*_f[gf=fpax]+  10*_e[ge=epax]
+list dot(ayf, bfe, 6)
+
+let aze = z[gz=zpax]+ 10*_e[ge=epax]
+list dot(aze, bfe, 5)
+
+let xvar = x[gx=xpax] - 1
+let azex = aze + xvar
+let multi_dot = dot(azex, bfe, 5)
+save/file=a.nc/clobber multi_dot
+
+can var multi_dot
+use a.nc
+!  This should be the same as dot(azex, bfe, 5)
+list/i=1 multi_dot
+
+cancel list/precision
diff --git a/bench/bn_dynamic_gather.jnl b/bench/bn_dynamic_gather.jnl
new file mode 100644
index 0000000..52d9faa
--- /dev/null
+++ b/bench/bn_dynamic_gather.jnl
@@ -0,0 +1,99 @@
+! bn_dynamic_gather.jnl
+! *sh* 3/2017
+! *acm*7/2017 0=success for SPAWN_STATUS
+
+! There's not really anything "dynamic" about this benchmark, except that it
+! excercises the split/gather improvements that were implemented together with
+! dynamic memory management
+
+
+
+
+! Give us something to look at while we run these tests which dont make plots
+plot/noax/nolab/vlim=0:1/i=4:5 i
+annotate/norm/x=0/y=0.5 "@AC... running bn_dynamic_gather"
+
+
+! **************************************
+! create the test data
+spawn "mkdir -p tmp"     ! tmp directory to store files
+
+! see if the test file already exists
+SPAWN "ls tmp/test_dyn_mem.nc"
+IF ($SPAWN_OK) THEN
+  say test files already exist.  not re-creating them
+ELSE
+  define symbol saved_memory_size = ($FERRET_MEMORY)
+  set mem/size=50
+  define axis/x=1:1000:1 x1000
+  define axis/y=1:1000:1 y1000
+  define axis/z=1:2:1 z2
+  define axis/t=1:10:1 t10
+  define grid/x=x1000/y=y1000/z=z2/t=t10 gg
+  let v = x[g=gg]+y[g=gg]+z[g=gg]+t[g=gg]
+  save/clobber/file="tmp/test_dyn_mem.nc" v
+
+  define axis/t=1:1000:1 t1000
+  define axis/x=1:10:1   x10
+  define axis/y=1:100:1  y100
+  define axis/z=1:4:1 z4
+  let v1000 = x[gx=x10]+y[gy=y100]+z[gz=z4]+t[gt=t1000]
+  save/append/file="tmp/test_dyn_mem.nc" v1000
+
+  cancel variable/all
+  cancel mem/all
+  set memory/size=($saved_memory_size)
+ENDIF
+
+! ************************************
+
+use tmp/test_dyn_mem.nc
+show data
+
+! excercise under the least strict memory management
+CANCEL MODE FRUGAL
+GO bn_dynamic_gather.sub
+
+! now run the same tests under 3 different FRUGAL levels
+! save the outputs so they can be compared
+
+! excercise under the least strict memory management
+CANCEL REDIRECT
+SET REDIRECT/CLOBBER/FILE=bn_dynamic_gather_0.out
+CANCEL MODE FRUGAL
+SHOW MODE FRUGAL
+GO bn_dynamic_gather.sub
+
+! excercise under the default memory management
+CANCEL REDIRECT
+SET REDIRECT/CLOBBER/FILE=bn_dynamic_gather_30.out
+SET MODE FRUGAL    ! 30%
+SHOW MODE FRUGAL
+GO bn_dynamic_gather.sub
+
+! excercise under pretty strict memory management
+CANCEL REDIRECT
+SET REDIRECT/CLOBBER/FILE=bn_dynamic_gather_60.out
+SET MODE FRUGAL:60
+SHOW MODE FRUGAL
+GO bn_dynamic_gather.sub
+
+CANCEL REDIRECT
+
+! now compare the three output logs:
+! differences in *how* the results are computed are fine
+! differences in what the results are would be problems
+SAY **************************************************
+SAY ************* DIFF FRUGAL 0 TO 30 ****************
+SPAWN diff bn_dynamic_gather_0.out bn_dynamic_gather_30.out
+
+SAY **************************************************
+SAY ************* DIFF FRUGAL 0 TO 60 ****************
+SPAWN diff bn_dynamic_gather_0.out bn_dynamic_gather_60.out
+
+
+! deliberate error
+SET MODE IGNORE
+SET MODE FRUGAL:95
+SET MODE/LAST IGNORE
+
diff --git a/bench/bn_dynamic_gather.sub b/bench/bn_dynamic_gather.sub
new file mode 100644
index 0000000..6535253
--- /dev/null
+++ b/bench/bn_dynamic_gather.sub
@@ -0,0 +1,198 @@
+! bn_dynamic_gather.sub
+
+! this subroutine to get called repeatedly for different values of MODE FRUGAL
+
+!**************
+! remember to test:
+! - MODE FRUGAL
+! done - case of no single axis long enough
+! done - case of transformed axis not long enough, but another is
+! 2-axis split including compressed
+! 2-axis split not including
+! 3-axis splits
+!    -- with slowest axis GT 5 in length
+!    -- with slowest axis LT 5 and second slowest GT 50
+! - modulo regrid examples
+! 2d and 3d @AVE
+! mixed @AVE and @DIN
+!*************
+
+! **************************************************
+! test memory that is too small to accommodate the result
+! this request will fail trying to get the third argument
+set mode ignore
+set memory/siz=1.99
+stat/brief v[i=101:200,j=101:200,k=1,l=1:10 at ave], v[i=101:200,j=101:200,k=2,l=1:10 at ave], v[l=1:10 at ave]
+cancel mode ignore
+
+! **************************************************
+! if memory size is large enough to accommodate the result data plus
+! its accumulation buffer(s) when split along the compressed axis (4M)
+! then it can choose to use the compressed axis.
+! The smallest chunk along that axis is 1000x1000x2x1 ==> 2M
+set memory/siz=6
+stat/brief v[l=1:10 at ave]
+show memory/diagnostic   ! T axis split, chunk size = 1, peak mem=6
+show memory/all          ! in memory following the last chunk
+cancel memory/all
+
+! **************************************************
+! Since @VAR requires two buffers - the total size of the result is 2M+2*2M=6M
+! if we were to split along T the size of a chunk would be 1000x1000x2x1 = 2M
+! So the total memory needed would be 6M+2M=8M to split along T
+set memory/size=8
+stat/brief v[l=1:10 at var]
+show memory/diagnostic   ! T axis split, chunk size = 1, peak mem=8
+cancel memory/all   
+
+! **************************************************
+! if memory size is NOT large enough to accommodate the result data plus
+! its accumulation buffer(s) then it cannot split along T
+set memory/siz=5.9
+stat/brief v[l=1:10 at ave]
+show memory/diagnostic   ! Y axis split, big chunk size = 1
+cancel memory/all
+
+! **************************************************
+! memory barely large enough to accommodate the result (2M), and the
+! smallest achievable chunk
+! splitting along the Y axis, the smallest chunk size is 1000x1x2x10 ==> 20000
+! and the average of a single chunk (incl buffer) is 1000x1x2x1*2 ==> 4000
+set memory/siz=2.024
+stat/brief v[l=1:10 at ave]
+show memory/diagnostic ! Y axis split, chunk size=1, peak mem=2.024
+show memory/all        ! in memory following the last chunk
+cancel memory/all
+
+! **************************************************
+! Since @VAR requires two buffers - the total size of the result is 2M+2*2M=6M
+! if we were to split along T the size of a chunk would be 1000x1000x2x1 = 2M
+! So the total memory needed would be 6M+2M=8M.  So the current SET MEMORY=6 
+! is not enuf mem to split along the T axis
+set memory/siz=6
+stat/brief v[l=1:10 at var]
+show memory/diagnostic   ! Y axis split
+cancel memory/all
+
+! **************************************************
+! 3D averaging  v[x=@ave,y=@ave,z=@ave,L=1]
+! result size will be 1x1x1x1*2 = 2
+! chunk size if split along Z will be 1000x1000x1x1 = 1M
+! chunk size if split along Y will be 1000x1x2x1    = 2K
+
+! this request can succeed by splitting along Z
+set memory/siz=1.001
+stat/brief v[x=@ave,y=@ave,z=@ave,L=1]
+show memory/diagnostic     ! Z axis split
+cancel memory/all
+
+! **************************************************
+! but if memory is so small that the Z axis of 2 points does not provide
+! enough size reduction, then we choose to split along Y
+set memory/siz=.99
+stat/brief v[x=@ave,y=@ave,z=@ave,L=1]
+show memory/diagnostic     ! Y axis split
+cancel memory/all
+
+! **************************************************
+! multiple transformations on a single expression
+! Use of these expressions **is a bad idea in Ferret**
+! he "potential size" of the source data is 1000x1000x20x10=20M
+! we just get aggressive about memory saving: choose the longest axis
+! preferring an uncompressed axis if available
+! Here we see a triple level strip: Z-T-Y
+! (SHOW MEM/DIAG repeats on each of the 2 K values) 
+set memory/siz=.99
+stat/brief v[x=@ave,y=@ave,L=@SUM]
+show memory/diagnostic        !  split on Z-(T-Y,T-Y)
+cancel memory/all 
+
+! **************************************************
+! now the same situation, but where Z is compressed as well
+! Z is not stripped off because other axes are longer 
+set memory/siz=.99
+stat/brief v[x=@ave,y=@ave,z=@ave,L=@SUM]
+show memory/diagnostic       ! split on T-Y
+cancel memory/all 
+
+! **************************************************
+! multiple transformation again
+! first strip YZT at AVE. Split the long Y axis, no further split needed 
+set memory/siz=.99
+stat/brief v[x=@SUM,y=@ave,z=@ave,L=@ave]
+show memory/diagnostic      ! split on Y
+cancel memory/all 
+
+! **************************************************
+! MODULO REGRID 
+
+! v1000 is 10x100x4x1000
+! for gt=@mod the full result size is 10x100x4x12 ==>  48,000
+
+define axis/mod/t=1:12:1 t12mod
+
+!**************************************************
+set mem/size=10   ! bigger than needed
+stat/brief v1000[gt=t12mod at mod]
+show mem/diag     ! note peak size demand a bit over 4
+canc mem/all
+
+!**************************************************
+set mem/size=4
+stat/brief v1000[gt=t12mod at mod]
+show mem/diag              ! big z chunks (3 on ax of len 4)
+canc mem/all
+
+!**************************************************
+set mem/size=1
+stat/brief v1000[gt=t12mod at mod]
+show mem/diag              !  big y chunks (22 on ax of len 100)
+canc mem/all
+ 
+!**************************************************
+! if the chunk size is 1, then each chunk src is 10x1x4x1000 ==> 40000
+! and requires a result plus 2 buffers:          10x1x4x12*3 ==>  1440
+! plus the full result size in IS_GATHER                     ==> 48000
+!                                                      total ==> 89440
+set mem/size=.09
+stat/brief v1000[gt=t12mod at mod]
+show mem/diag              !  y chunk size = 1
+canc mem/all
+
+
+! ************** USER VARIABLES ********************
+let a = v[k=1]
+let b = v[k=2]
+let c = a + b
+let d = a + c
+
+! for comparison: memory management to average a simple file variable
+set memory/siz=3
+stat/brief v[l=1:10 at ave,k=1]
+show memory/diagnostic   ! T axis split, chunk size = 1, peak mem=6
+cancel memory/all
+
+! compare to memory management averaging user variables
+! not split on T because more memory is needed for components of calculation
+set memory/siz=3
+
+stat/brief a[l=1:10 at ave]
+show memory/diagnostic   ! X axis split, chunk size = 1, peak mem=1.82
+cancel memory/all
+
+stat/brief d[l=1:10 at ave]
+show memory/diagnostic   ! X axis split, chunk size = 1, peak mem=2.23
+cancel memory/all
+
+! progressively more frugal mem mgmt is needed as multiple results accumulate
+stat/brief a[i=1:500,l=1:10 at ave], b[i=1:500,l=1:10 at ave], c[i=1:500,l=1:10 at ave], d[i=1:500,l=1:10 at ave]
+show memory/diagnostic   ! X axis split, chunk size = 1, peak mem=2.23
+cancel memory/all
+
+! if the initial arguments take up too much memory we cannot succeed
+set mode ignore
+stat/brief a[l=1:10 at ave], b[l=1:10 at ave], c[l=1:10 at ave], d[l=1:10 at ave]
+show memory/diagnostic   ! X axis split, chunk size = 1, peak mem=2.23
+cancel mode ignore
+cancel memory/all
+
diff --git a/bench/bn_encode_url.jnl b/bench/bn_encode_url.jnl
index 174acf1..7ae2f10 100644
--- a/bench/bn_encode_url.jnl
+++ b/bench/bn_encode_url.jnl
@@ -2,21 +2,21 @@
 !
 ! Encode a URL inside Ferret
 
-IF `TEST_OPENDAP("http://ferret.pmel.noaa.gov/thredds/dodsC/las/woa05_monthly/data_ferret.pmel.noaa.gov_thredds_dodsC_data_PMEL_WOA05nc_monthly_A0112an1.nc.jnl") NE 0` THEN
+IF `TEST_OPENDAP("http://ferret.pmel.noaa.gov/pmel/thredds/dodsC/las/woa05_monthly/data_ferret.pmel.noaa.gov_thredds_dodsC_data_PMEL_WOA05nc_monthly_A0112an1.nc.jnl") NE 0` THEN
    EXIT/SCRIPT
 ENDIF
 
 ! This from the example Roland cooked up.
-use "http://ferret.pmel.noaa.gov/thredds/dodsC/las/woa05_monthly/data_ferret.pmel.noaa.gov_thredds_dodsC_data_PMEL_WOA05nc_monthly_A0112an1.nc.jnl_expr_%7B%7D%7Blet%20top=T0112AN1%5Bz=0%3A100%40ave%5D%7D"
+use "http://ferret.pmel.noaa.gov/pmel/thredds/dodsC/las/woa05_monthly/data_ferret.pmel.noaa.gov_thredds_dodsC_data_PMEL_WOA05nc_monthly_A0112an1.nc.jnl_expr_%7B%7D%7Blet%20top=T0112AN1%5Bz=0%3A100%40ave%5D%7D"
 
 ! Now the same thing, encoded in Ferret
-use "http://ferret.pmel.noaa.gov/thredds/dodsC/las/woa05_monthly/data_ferret.pmel.noaa.gov_thredds_dodsC_data_PMEL_WOA05nc_monthly_A0112an1.nc.jnl_expr_{}{let/UNITS=DEG top=T0112AN1[z=0:100 at ave]}"
+use "http://ferret.pmel.noaa.gov/pmel/thredds/dodsC/las/woa05_monthly/data_ferret.pmel.noaa.gov_thredds_dodsC_data_PMEL_WOA05nc_monthly_A0112an1.nc.jnl_expr_{}{let/UNITS=DEG top=T0112AN1[z=0:100 at ave]}"
 
 shade/L=6 top[d=2] - top[d=1]
 
 ! Define title or units, allowing there to be spaces...
 
-use "http://ferret.pmel.noaa.gov/thredds/dodsC/las/woa05_monthly/data_ferret.pmel.noaa.gov_thredds_dodsC_data_PMEL_WOA05nc_monthly_A0112an1.nc.jnl_expr_{}{let/TITLE="Average over Lower 1000m"/units="Deg C" bot=T0112AN1[z=500:1500 at ave]}"
+use "http://ferret.pmel.noaa.gov/pmel/thredds/dodsC/las/woa05_monthly/data_ferret.pmel.noaa.gov_thredds_dodsC_data_PMEL_WOA05nc_monthly_A0112an1.nc.jnl_expr_{}{let/TITLE="Average over Lower 1000m"/units="Deg C" bot=T0112AN1[z=500:1500 at ave]}"
 sho dat
 shade/L=6 bot
 
@@ -28,14 +28,14 @@ shade/L=6 bot
 ! Note that the url does NOT work in the browser; get an error:
 !     Error in URL
 !     The URL extension did not match any that are known by this server. ...
-! http://ferret.pmel.noaa.gov/thredds/dodsC/las/woa05_monthly/data_ferret.pmel.noaa.gov_thredds_dodsC_data_PMEL_WOA05nc_monthly_A0112an1.nc.jnl_expr_{}{let/TITLE="Upper_100M"/units=M top=T0112AN1[z=0:100 at ave]; set var/units=Q top}.html
+! http://ferret.pmel.noaa.gov/pmel/thredds/dodsC/las/woa05_monthly/data_ferret.pmel.noaa.gov_thredds_dodsC_data_PMEL_WOA05nc_monthly_A0112an1.nc.jnl_expr_{}{let/TITLE="Upper_100M"/units=M top=T0112AN1[z=0:100 at ave]; set var/units=Q top}.html
 !
-!use "http://ferret.pmel.noaa.gov/thredds/dodsC/las/woa05_monthly/data_ferret.pmel.noaa.gov_thredds_dodsC_data_PMEL_WOA05nc_monthly_A0112an1.nc.jnl_expr_{}{let/TITLE="Upper_100M"/units=M top=T0112AN1[z=0:100 at ave]; set var/units=Q top}"
+!use "http://ferret.pmel.noaa.gov/pmel/thredds/dodsC/las/woa05_monthly/data_ferret.pmel.noaa.gov_thredds_dodsC_data_PMEL_WOA05nc_monthly_A0112an1.nc.jnl_expr_{}{let/TITLE="Upper_100M"/units=M top=T0112AN1[z=0:100 at ave]; set var/units=Q top}"
 
 ! 2) A command which has a grave-accent evaluation of something from the dataset. The set is not 
 ! open when the encoding is done, so Ferret cant get information out of it.
 ! Trying to escape return= grave accents in a F-TDS URL.
 !
-!use "http://ferret.pmel.noaa.gov/thredds/dodsC/las/woa05_monthly/data_ferret.pmel.noaa.gov_thredds_dodsC_data_PMEL_WOA05nc_monthly_A0112an1.nc.jnl_expr_{}{let/units="`T0112AN1,return=units`" top=T0112AN1[z=0:1000 at ave]}"
+!use "http://ferret.pmel.noaa.gov/pmel/thredds/dodsC/las/woa05_monthly/data_ferret.pmel.noaa.gov_thredds_dodsC_data_PMEL_WOA05nc_monthly_A0112an1.nc.jnl_expr_{}{let/units="`T0112AN1,return=units`" top=T0112AN1[z=0:1000 at ave]}"
 
 
diff --git a/bench/bn_ez.jnl b/bench/bn_ez.jnl
index cb84249..e9f48d2 100644
--- a/bench/bn_ez.jnl
+++ b/bench/bn_ez.jnl
@@ -68,6 +68,10 @@ LIST X1
 SHOW DATA
 
 ! truncate reading by grid size limit
+! V702: *sh* note that with 3 columns of pairs and a request to read only
+! 8 values total, the final record is incomplete.  These final values
+! **do not get initialized**.  This has been reported in trac #2509
+! The presence of uninitialized values can throw off the formatting of the output
 DEFINE AXIS/X=1:8:1 xez3
 DEFINE GRID/X=XEZ3 GEZ3
 FILE/VAR="X1,X2"/COLUMNS=6/GRID=GEZ3 EZ.DAT
diff --git a/bench/bn_gather_4d_ave.jnl b/bench/bn_gather_4d_ave.jnl
new file mode 100644
index 0000000..3a2380f
--- /dev/null
+++ b/bench/bn_gather_4d_ave.jnl
@@ -0,0 +1,50 @@
+! bn_gather_4d_ave.jnl
+! 2/2017
+
+! force a split/gather operation due on multi-axis @ave
+
+set mode diag
+
+define axis/x=1:200:1  xax
+define axis/y=1:200:1  yax
+define axis/z=1:200:1 zax
+define axis/T=1:200:1 tax
+let xyz = 0*X[gx=xax] + 0*Y[gy=yax] + Z[gz=zax]
+
+* note: Ave of Z is 100.5
+
+* 3D XYZ test
+* 2d slice size = 200*200 = 40,000
+* 3d full size is 8,000,000  - so 10,000,000 is bigger
+set mode desp: 10000000    ! big: no need to split/gather
+stat/br xyz[x=@ave,y=@ave,z=@ave]
+
+! again -- this time force split/gather because 
+cancel memory/all
+set mode desp: 2000000  ! 2,000,000 small -- requires split/gather
+
+! will split into 4 pieces (1/4 of 8,000,000 fits into 2,000,000)
+! so z=1:50; then =51:100, Z=101:150, Z=151:200
+stat/br xyz[x=@ave,y=@ave,z=@ave]
+
+define axis/Y=1:200:1 Yax
+define axis/Z=1:200:1 Zax
+define axis/E=1:200:1 Eax
+define axis/F=1:200:1 Fax
+let zef = 0*Z[gz=zax] + 0*_E[ge=eax] + _F[gF=fax]
+
+stat/br zef[z=@ave,e=@ave,f=@ave]
+
+let zte = 0*Z[gz=zax] + _T[gt=tax] + 0*_E[ge=eax]
+stat/br zte[z=@ave,e=@ave,f=@ave]
+
+can var/all
+can mem/all
+
+! Now with a gridded variable from a dataset.
+use levitus_climatology
+define axis/T=1:60:1 tax
+let xyzt = temp + 0.01*t[gt=tax]
+set mode desp: 2.e7
+can mem; set mode diag; list/prec=8 xyzt[x=@din,y=@din,t=@din]/1.e12
+
diff --git a/bench/bn_gather_4d_din.jnl b/bench/bn_gather_4d_din.jnl
new file mode 100644
index 0000000..9707050
--- /dev/null
+++ b/bench/bn_gather_4d_din.jnl
@@ -0,0 +1,32 @@
+! bn_4d_gather_4d_din.jnl
+! 2/2017
+
+! force a split/gather operation due on multi-axis @din
+
+set mode diag
+
+define axis/x=1:200:1 xax
+define axis/y=1:200:1 yax
+define axis/z=1:200:1 zax
+define axis/T=1:200:1 tax
+let xyz = 0*X[gx=xax] + 0*Y[gy=yax] + Z[gz=zax]
+
+* note: SUM of Z is N*(N+1)/2 = 20100
+* area integral in XY is 200*200=40,000
+* total integral is 804,000,000 (8.04*E8)
+
+* 3D XYZ test
+* 2d slice size = 200*200 = 40,000
+* 3d full size is 8,000,000  - so 10,000,000 is bigger
+set mode desp: 10000000    ! big: no need to split/gather
+stat xyz[x=@din,y=@din,z=@din]
+
+! again -- this time force split/gather because 
+cancel memory/all
+set mode desp: 2000000  ! 2,000,000 small -- requires split/gather
+
+! will split into 4 pieces (1/4 of 8,000,000 fits into 2,000,000)
+! so z=1:50; then =51:100, Z=101:150, Z=151:200
+stat xyz[x=@din,y=@din,z=@din]
+
+
diff --git a/bench/bn_gather_4d_var.jnl b/bench/bn_gather_4d_var.jnl
new file mode 100644
index 0000000..a31bc35
--- /dev/null
+++ b/bench/bn_gather_4d_var.jnl
@@ -0,0 +1,73 @@
+! bn_4dvar_gather.jnl
+! 11/2016
+
+! force a split/gather operation due on multi-axis @idn
+
+define axis/x=1:200:1 xax
+define axis/y=1:200:1 yax
+define axis/z=1:201:1 zax
+define axis/T=1:200:1 tax
+! adding a constant doesn't effect variance
+let constant = 0*X[gx=xax] + 0*Y[gy=yax] + 0*Z[gz=zax] + 1234
+let xyz = 0*X[gx=xax] + 0*Y[gy=yax] + Z[gz=zax] + 1
+let xyz_zero_mean = 0*X[gx=xax] + 0*Y[gy=yax] + (Z[gz=zax]-101)
+
+* note: sum of a sequence 1 to N of square integers is [N*(N+1)*(2N+1)]/6
+* Z-101 is 2 sequences: -100 to -1 and 1 to 100, therefore sum is 
+* 2 * [100*101*201]/6 = 676700
+* so the average is 676700/201 = 3366.666666 ...
+* At every XY point we have the identical sequence in Z, so the variance is
+* the same as the single Z sequence
+
+* 3D XYZ test
+* 2d slice size = 200*200 = 40,000
+* 3d full size is 8,000,000  - so 10,000,000 is bigger
+cancel memory/all
+set mode desp: 2000000  ! 2,000,000 small -- requires split/gather
+! will split into 4 pieces (1/4 of 8,000,000 fits into 2,000,000)
+! so z=1:50; then =51:100, Z=101:150, Z=151:200
+set mode diag
+LIST/PREC=12 constant[x=@var,y=@var,z=@var]
+
+cancel mode diag
+! variance of a constant is zero
+GO bn_compressed_gather.sub constant[x=@var,y=@var,z=@var] 10000000 2000000
+
+! confirm that we get the result computed above
+GO bn_compressed_gather.sub xyz_zero_mean[x=@var,y=@var,z=@var]  10000000 2000000
+LIST/PREC=12 xyz_zero_mean[x=@var,y=@var,z=@var]
+
+! confirm that adding a constant does not change the result
+GO bn_compressed_gather.sub xyz[x=@var,y=@var,z=@var]  10000000 2000000
+LIST/PREC=12 xyz[x=@var,y=@var,z=@var]
+
+CANCEL MEMORY/ALL  ! IF PRESENT THIS PREVENTS THE MEMORY CORRUPTION
+! confirm the @std gives the square root of the variance
+! SQRT(676700/201) = 58.022983951764034269074805569046
+GO bn_compressed_gather.sub xyz[x=@std,y=@std,z=@std]  10000000 2000000
+LIST/PREC=12 xyz[x=@std,y=@std,z=@std]
+
+
+!!!! other directions ZEF
+
+set mode diag
+
+define axis/Z=1:200:1 Zax
+define axis/E=1:200:1 Eax
+define axis/F=1:200:1 Fax
+let zef = 0*Z[gz=zax] + 0*_E[ge=eax] + _F[gF=fax]
+
+let zef = 0*Z[gz=zax] + 0*_E[ge=eax] + _F[gF=fax] + 1
+let zef_zero_mean = 0*Z[gz=zax] + 0*_E[ge=eax]  + (_F[gF=fax]-101)
+
+GO bn_compressed_gather.sub zef_zero_mean[z=@var,e=@var,f=@var]  10000000 2000000
+LIST/PREC=12 zef_zero_mean[z=@var,e=@var,f=@var]
+
+
+!!!! other directions ZTE
+
+let zte = 0*Z[gz=zax] + _T[gt=tax] + 0*_E[ge=eax] + 1
+let zte_zero_mean = 0*Z[gz=zax] + 0*t[gt=tax]  + (_E[gE=eax]-101)
+
+GO bn_compressed_gather.sub zte_zero_mean[z=@var,t=@var,e=@var]  10000000 2000000
+LIST/PREC=12 zte_zero_mean[z=@var,t=@var,e=@var]
diff --git a/bench/bn_gif.jnl b/bench/bn_gif.jnl
index 603f916..edb377e 100644
--- a/bench/bn_gif.jnl
+++ b/bench/bn_gif.jnl
@@ -180,6 +180,18 @@ GO err696_contour_conset
 GO bn_reset
 GO err696_subspan_mod_strides
 
+GO bn_reset
+GO err71_plotvs_mode_label
+
+GO bn_reset
+GO err700_vs_plot_axes
+
+GO bn_reset
+GO err71_vs_constant
+
+GO bn_reset 
+GO err71_vs_lon_over
+
 exit/command
 
 
diff --git a/bench/bn_hovmuller_overlays.jnl b/bench/bn_hovmuller_overlays.jnl
index 613ec59..6cdc6c2 100644
--- a/bench/bn_hovmuller_overlays.jnl
+++ b/bench/bn_hovmuller_overlays.jnl
@@ -4,6 +4,7 @@
 ! See ticket 2344
 
 ! 1/6/2016 ACM
+! acm* 3/17 check the URL with TEST_OPENDAP befor trying to open it.
 
 ! run this in the gif benchmarks.
 
@@ -54,10 +55,12 @@ PLOT/OVER/thick/y=8 my_var+10
 ! Like the dataset example from the FAQ
 set view ll6
 
-use "http://ferret.pmel.noaa.gov/thredds/dodsC/data/PMEL/COADS/coads_sst.cdf"
-set region/x=40w/y=10n:60n/t=15-jan-1982:15-dec-1983
-shade sst
-plot/over/thick/TITLE="at 20"  sst[y=@LOC:20]
+IF `test_opendap("http://ferret.pmel.noaa.gov/pmel/thredds/dodsC/data/PMEL/COADS/coads_sst.cdf") EQ 0` THEN
+   use "http://ferret.pmel.noaa.gov/pmel/thredds/dodsC/data/PMEL/COADS/coads_sst.cdf"
+   set region/x=40w/y=10n:60n/t=15-jan-1982:15-dec-1983
+   shade sst
+   plot/over/thick/TITLE="at 20"  sst[y=@LOC:20]
+ENDIF
 
 can data/all
 can region
@@ -65,13 +68,15 @@ can region
 ! vector plots with a time series
 set view lr6
 
-use "http://ferret.pmel.noaa.gov/thredds/dodsC/data/PMEL/COADS/coads_uwnd.cdf"
-use "http://ferret.pmel.noaa.gov/thredds/dodsC/data/PMEL/COADS/coads_vwnd.cdf"
+IF `test_opendap("http://ferret.pmel.noaa.gov/pmel/thredds/dodsC/data/PMEL/COADS/coads_uwnd.cdf") EQ 0 AND\
+ test_opendap("http://ferret.pmel.noaa.gov/pmel/thredds/dodsC/data/PMEL/COADS/coads_uwnd.cdf") EQ 0` THEN
+   use "http://ferret.pmel.noaa.gov/pmel/thredds/dodsC/data/PMEL/COADS/coads_uwnd.cdf"
+   use "http://ferret.pmel.noaa.gov/pmel/thredds/dodsC/data/PMEL/COADS/coads_vwnd.cdf"
 
-vec/x=0/y=-10:10/t=1-jan-1980:1-jan-1990 uwnd[d=1], vwnd[d=2]
+   vec/x=0/y=-10:10/t=1-jan-1980:1-jan-1990 uwnd[d=1], vwnd[d=2]
 
-let wspd = (uwnd[d=1]*uwnd[d=1] + vwnd[d=2]*vwnd[d=2])^0.5
-plot/over/color=red/thick/x=0/t=1-jan-1980:1-jan-1990 wspd[y=-10:10 at ave]
-
-FRAME/FILE=bn_hovmuller_overlays.gif
+   let wspd = (uwnd[d=1]*uwnd[d=1] + vwnd[d=2]*vwnd[d=2])^0.5
+   plot/over/color=red/thick/x=0/t=1-jan-1980:1-jan-1990 wspd[y=-10:10 at ave]
 
+   FRAME/FILE=bn_hovmuller_overlays.gif
+ENDIF
diff --git a/bench/bn_iin_regrid.jnl b/bench/bn_iin_regrid.jnl
new file mode 100644
index 0000000..c7d8f86
--- /dev/null
+++ b/bench/bn_iin_regrid.jnl
@@ -0,0 +1,291 @@
+! bn_iin_regrid.jnl
+! @IIN as a regridding transform See Ticket 2346
+
+def ax/edge/x=0:10:1 aline
+let a = mod(.5+x[gx=aline],2)
+
+let xlo = xboxlo[gx=a]
+def ax/x aline_edges = xcat(xlo[i=1], xboxhi[gx=a])
+
+! new @IIN regridding
+show axis/x aline_edges
+
+let c = a[gx=aline_edges at iin]
+list a
+list c
+
+
+def ax/edge/x=0:10:1 aline
+let a = mod(.5+x[gx=aline],2)
+
+! Intentional error
+
+set mode ignore
+! Different delta
+
+define axis/x=0.5:10.5:0.5 alinenew
+list a[gx=alinenew at iin]
+
+set mode/last ignore
+
+
+! result out of range, returns missing
+define axis/x=100:111:1 alinenew
+list a[gx=alinenew at iin]
+
+! partially out of range 
+define axis/x=2.5:15.5:1 alinenew
+list a[gx=alinenew at iin]
+
+! same range, outer boxes 
+define axis/x=-0.5:10.5:1 alinenew
+list a[gx=alinenew at iin]
+can mem
+! plots in different directions
+
+can view; can var/all
+! In X
+
+set win/asp=0.5
+set v left
+def ax/edge/x=0:10:1 aline
+let a = mod(.5+x[gx=aline],2)
+plot/step=con/vl=-1:6:1/hl=-1:11:1/grat=dash/col=green/thic=3 a
+let a_iin = a[x=@iin]
+plot/ov/line/sym=2/si=.1/col=2/thic=2 a_iin
+let xlo = xboxlo[gx=a]
+def ax/x aline_edges = xcat(xlo[i=1], xboxhi[gx=a])
+let a_iin_edges = a_iin[gx=aline_edges at asn]
+let a_int = IF i[gx=aline_edges] EQ 1 THEN 0 ELSE a_iin_edges[x=@shf:-1]
+plot/ov/line/sym=28/si=.1/col=purple/thic=2 a_int
+
+
+! new @IIN regridding
+
+show axis/x aline_edges
+let c = a[gx=aline_edges at iin]
+plot/ov/line/sym=19/si=.1/col=light/thic=1 c
+
+set v right
+let b = 1+0*a
+plot/step=con/vl=-1:12:1/hl=-1:11:1/grat=dash/col=green/thic=3 b
+let b_iin = b[x=@iin]
+plot/ov/line/sym=2/si=.1/col=2/thic=2 b_iin
+let b_iin_edges = b_iin[gx=aline_edges at asn]
+let b_int = IF i[gx=aline_edges] EQ 1 THEN 0 ELSE b_iin_edges[x=@shf:-1]
+plot/ov/line/sym=28/si=.1/col=purple/thic=2 b_int
+
+! new @IIN regridding
+let d = b[gx=aline_edges at iin]
+plot/ov/line/sym=19/si=.1/col=light/thic=1 d
+
+list d
+define axis/z=1:2:1 otheraxis
+let b2d = b + z[gz=otheraxis]
+list b2d[gx=aline_edges at iin]
+
+
+can view; can var/all
+! In Y
+
+set win/asp=0.5
+set v left
+def ax/edge/y=0:10:1 aline
+let a = mod(.5+y[gy=aline],2)
+plot/step=con/vl=-1:6:1/hl=-1:11:1/grat=dash/col=green/thic=3 a
+let a_iin = a[y=@iin]
+plot/ov/line/sym=2/si=.1/col=2/thic=2 a_iin
+let ylo = yboxlo[gy=a]
+def ax/y aline_edges = ycat(ylo[j=1], yboxhi[gy=a])
+
+let a_iin_edges = a_iin[gy=aline_edges at asn]
+let a_int = IF j[gy=aline_edges] EQ 1 THEN 0 ELSE a_iin_edges[y=@shf:-1]
+plot/ov/line/sym=28/si=.1/col=purple/thic=2 a_int
+
+
+! new @IIN regridding
+let c = a[gy=aline_edges at iin]
+plot/ov/line/sym=19/si=.1/col=light/thic=1 c
+
+
+set v right
+let b = 1+0*a
+plot/step=con/vl=-1:12:1/hl=-1:11:1/grat=dash/col=green/thic=3 b
+let b_iin = b[y=@iin]
+plot/ov/line/sym=2/si=.1/col=2/thic=2 b_iin
+let b_iin_edges = b_iin[gy=aline_edges at asn]
+let b_int = IF j[gy=aline_edges] EQ 1 THEN 0 ELSE b_iin_edges[y=@shf:-1]
+plot/ov/line/sym=28/si=.1/col=purple/thic=2 b_int
+
+! new @IIN regridding
+let d = b[gy=aline_edges at iin]
+plot/ov/line/sym=19/si=.1/col=light/thic=1 d
+
+list d
+define axis/z=1:2:1 otheraxis
+let b2d = b + z[gz=otheraxis]
+list b2d[gy=aline_edges at iin]
+
+
+can view; can var/all
+! in Z
+
+set win/asp=0.5
+set v left
+def ax/edge/z=0:10:1 aline
+let a = mod(.5+z[gz=aline],2)
+plot/step=con/hl=-1:6:1/vl=-1:11:1/grat=dash/col=green/thic=3 a
+let a_iin = a[z=@iin]
+plot/ov/line/sym=2/si=.1/col=2/thic=2 a_iin
+let zlo = zboxlo[gz=a]
+def ax/z aline_edges = zcat(zlo[k=1], zboxhi[gz=a])
+
+let a_iin_edges = a_iin[gz=aline_edges at asn]
+let a_int = IF k[gz=aline_edges] EQ 1 THEN 0 ELSE a_iin_edges[z=@shf:-1]
+plot/ov/line/sym=28/si=.1/col=purple/thic=2 a_int
+
+
+! new @IIN regridding
+let c = a[gz=aline_edges at iin]
+plot/ov/line/sym=19/si=.1/col=light/thic=1 c
+
+set v right
+let b = 1+0*a
+plot/step=con/hl=-1:12:1/vl=-1:11:1/grat=dash/col=green/thic=3 b
+let b_iin = b[z=@iin]
+plot/ov/line/sym=2/si=.1/col=2/thic=2 b_iin
+let b_iin_edges = b_iin[gz=aline_edges at asn]
+let b_int = IF k[gz=aline_edges] EQ 1 THEN 0 ELSE b_iin_edges[z=@shf:-1]
+plot/ov/line/sym=28/si=.1/col=purple/thic=2 b_int
+
+! new @IIN regridding
+let d = b[gz=aline_edges at iin]
+plot/ov/line/sym=19/si=.1/col=light/thic=1 d
+
+list d
+define axis/e=1:2:1 otheraxis
+let b2d = b + _e[ge=otheraxis]
+list b2d[gz=aline_edges at iin]
+
+
+can view; can var/all
+! In T
+
+set win/asp=0.5
+set v left
+def ax/edge/t=0:10:1 aline
+let a = mod(.5+t[gt=aline],2)
+plot/step=con/vl=-1:6:1/hl=-1:11:1/grat=dash/col=green/thic=3 a
+let a_iin = a[t=@iin]
+plot/ov/line/sym=2/si=.1/col=2/thic=2 a_iin
+let tlo = tboxlo[gt=a]
+def ax/t aline_edges = tcat(tlo[l=1], tboxhi[gt=a])
+
+let a_iin_edges = a_iin[gt=aline_edges at asn]
+let a_int = IF l[gt=aline_edges] EQ 1 THEN 0 ELSE a_iin_edges[t=@shf:-1]
+plot/ov/line/sym=28/si=.1/col=purple/thic=2 a_int
+
+
+! new @IIN regridding
+let c = a[gt=aline_edges at iin]
+plot/ov/line/sym=19/si=.1/col=light/thic=1 c
+
+set v right
+let b = 1+0*a
+plot/step=con/vl=-1:12:1/hl=-1:11:1/grat=dash/col=green/thic=3 b
+let b_iin = b[t=@iin]
+plot/ov/line/sym=2/si=.1/col=2/thic=2 b_iin
+let b_iin_edges = b_iin[gt=aline_edges at asn]
+let b_int = IF l[gt=aline_edges] EQ 1 THEN 0 ELSE b_iin_edges[t=@shf:-1]
+plot/ov/line/sym=28/si=.1/col=purple/thic=2 b_int
+
+! new @IIN regridding
+let d = b[gt=aline_edges at iin]
+plot/ov/line/sym=19/si=.1/col=light/thic=1 d
+
+list d
+define axis/z=1:2:1 otheraxis
+let b2d = b + z[gz=otheraxis]
+list b2d[gt=aline_edges at iin]
+
+
+can view; can var/all
+! in E
+
+set win/asp=0.5
+set v left
+def ax/edge/e=0:10:1 aline
+let a = mod(.5+_e[ge=aline],2)
+plot/step=con/vl=-1:6:1/hl=-1:11:1/grat=dash/col=green/thic=3 a
+let a_iin = a[e=@iin]
+plot/ov/line/sym=2/si=.1/col=2/thic=2 a_iin
+let elo = eboxlo[ge=a]
+def ax/e aline_edges = ecat(elo[m=1], eboxhi[ge=a])
+
+let a_iin_edges = a_iin[ge=aline_edges at asn]
+let a_int = IF _m[ge=aline_edges] EQ 1 THEN 0 ELSE a_iin_edges[e=@shf:-1]
+plot/ov/line/sym=28/si=.1/col=purple/thic=2 a_int
+
+
+! new @IIN regridding
+let c = a[ge=aline_edges at iin]
+plot/ov/line/sym=19/si=.1/col=light/thic=1 c
+
+set v right
+let b = 1+0*a
+plot/step=con/hl=-1:12:1/vl=-1:11:1/grat=dash/col=green/thic=3 b
+let b_iin = b[e=@iin]
+plot/ov/line/sym=2/si=.1/col=2/thic=2 b_iin
+let b_iin_edges = b_iin[ge=aline_edges at asn]
+let b_int = IF _m[ge=aline_edges] EQ 1 THEN 0 ELSE b_iin_edges[e=@shf:-1]
+plot/ov/line/sym=28/si=.1/col=purple/thic=2 b_int
+
+! new @IIN regridding
+let d = b[ge=aline_edges at iin]
+plot/ov/line/sym=19/si=.1/col=light/thic=1 d
+
+list d
+define axis/z=1:2:1 otheraxis
+let b2d = b + z[gz=otheraxis]
+list b2d[ge=aline_edges at iin]
+
+
+can view; can var/all
+! In F
+
+set win/asp=0.5
+set v left
+def ax/edge/f=0:10:1 aline
+let a = mod(.5+_f[gf=aline],2)
+plot/step=con/vl=-1:6:1/hl=-1:11:1/grat=dash/col=green/thic=3 a
+let a_iin = a[f=@iin]
+plot/ov/line/sym=2/si=.1/col=2/thic=2 a_iin
+let flo = fboxlo[gf=a]
+def ax/f aline_edges = fcat(flo[n=1], fboxhi[gf=a])
+
+let a_iin_edges = a_iin[gf=aline_edges at asn]
+let a_int = IF _n[gf=aline_edges] EQ 1 THEN 0 ELSE a_iin_edges[f=@shf:-1]
+plot/ov/line/sym=28/si=.1/col=purple/thic=2 a_int
+
+
+! new @IIN regridding
+let c = a[gf=aline_edges at iin]
+plot/ov/line/sym=19/si=.1/col=light/thic=1 c
+
+set v right
+let b = 1+0*a
+plot/step=con/vl=-1:12:1/hl=-1:11:1/grat=dash/col=green/thic=3 b
+let b_iin = b[f=@iin]
+plot/ov/line/sym=2/si=.1/col=2/thic=2 b_iin
+let b_iin_edges = b_iin[gf=aline_edges at asn]
+let b_int = IF _n[gf=aline_edges] EQ 1 THEN 0 ELSE b_iin_edges[f=@shf:-1]
+plot/ov/line/sym=28/si=.1/col=purple/thic=2 b_int
+
+! new @IIN regridding
+let d = b[gf=aline_edges at iin]
+plot/ov/line/sym=19/si=.1/col=light/thic=1 d
+
+list d
+define axis/z=1:2:1 otheraxis
+let b2d = b + z[gz=otheraxis]
+list b2d[gf=aline_edges at iin]
diff --git a/bench/bn_let_remote.jnl b/bench/bn_let_remote.jnl
index 8f31843..9e61d31 100644
--- a/bench/bn_let_remote.jnl
+++ b/bench/bn_let_remote.jnl
@@ -2,26 +2,28 @@
 ! Tests of the F-TDS LET/REMOTE
 ! 6/2016 installed NVODS on new-bock server 
 ! 9/2016 load smaller subsets of the data 
+! 4/2017 Update thredds server urls. To find the right URL, go to the dataset
+!        in the NVODS server, and hit the "Export to Desktop Application"
+!        button. The .jnl address is the correct F-TDS URL.
 
 ! See if the F-TDS is working and bail if not.
-
 let status = TEST_OPENDAP("http://ferret.pmel.noaa.gov/nvods/thredds/dodsC/las/COADS-climatology/data_coads_climatology.jnl")
 load status
 if `status NE 0` then EXIT/SCRIPT
 
-use "http://ferret.pmel.noaa.gov/nvods/thredds/dodsC/las/woa05_monthly/data_ferret.pmel.noaa.gov_thredds_dodsC_data_PMEL_WOA05nc_monthly_t0112mn1.nc.jnl"
-let/D=1/remote myvar = t0112mn1[k=1:5 at sum]
-let/D=1/remote ave_z = t0112mn1[z=0:20 at ave]
+use "http://ferret.pmel.noaa.gov/nvods/thredds/dodsC/las/woa05_annual/data_ferret.pmel.noaa.gov_pmel_thredds_dodsC_data_PMEL_WOA05nc_annual_t00an1.nc.jnl"
+let/D=1/remote myvar = t00an1[k=1:5 at sum]
+let/D=1/remote ave_z = t00an1[z=0:20 at ave]
 sh var
 set view ul; shade/l=7/x=180:200/y=20:30 myvar
 set view ur; shade/l=3/x=180:200/y=20:30 ave_z
 
 list/l=7/x=300:310/y=15 myvar, ave_z
 
-let/D=1/remote ave_t = t0112mn1[L=1:12 at ave]
+let/D=1/remote ave_t = t00an1[L=1:12 at ave]
 set view ll; shade/z=0/x=180:200/y=20:30 ave_t
 
-let/D=1/remote/units="`t0112mn1,ret=units`"/title="Summer average Temperature" ave_summer = t0112mn1[t=15-jun:15-sep at ave]
+let/D=1/remote/units="`t00an1,ret=units`"/title="Summer average Temperature" ave_summer = t00an1[t=15-jun:15-sep at ave]
 set view lr; shade/z=0/x=180:200/y=20:30 ave_summer
 
 can view
@@ -29,7 +31,7 @@ can data/all; can var/all
 
 ! open another dataset, define more remote variables
 
-use "http://ferret.pmel.noaa.gov/nvods/thredds/dodsC/las/woa05_monthly/data_ferret.pmel.noaa.gov_thredds_dodsC_data_PMEL_WOA05nc_monthly_t0112mn1.nc.jnl"
+use "http://ferret.pmel.noaa.gov/nvods/thredds/dodsC/las/woa05_annual/data_ferret.pmel.noaa.gov_pmel_thredds_dodsC_data_PMEL_WOA05nc_annual_t00an1.nc.jnl"
 use "http://ferret.pmel.noaa.gov/nvods/thredds/dodsC/las/COADS-climatology/data_coads_climatology.jnl"
 let/D=2/remote sstsum = sst[L=1:5 at sum]
 let/D=2/remote airtsum = airt[L=1:5 at sum]
@@ -56,10 +58,10 @@ list/y=-5/x=130w:110w combo
 
 can dat/all; can var/all
 
-use "http://ferret.pmel.noaa.gov/nvods/thredds/dodsC/las/woa05_monthly/data_ferret.pmel.noaa.gov_thredds_dodsC_data_PMEL_WOA05nc_monthly_t0112mn1.nc.jnl"
+use "http://ferret.pmel.noaa.gov/nvods/thredds/dodsC/las/woa05_annual/data_ferret.pmel.noaa.gov_pmel_thredds_dodsC_data_PMEL_WOA05nc_annual_t00an1.nc.jnl"
 
 ! This is ok let/remote/D=
-let/D=1/remote myvar = t0112mn1[z=1:100 at ave]
+let/D=1/remote myvar = t00an1[z=1:100 at ave]
 
 ! Intentional errors:
 
@@ -67,17 +69,17 @@ let/D=1/remote myvar = t0112mn1[z=1:100 at ave]
 ! the remote server so the same datsets are not open there.
 
 set mode ignore
-let/D=1/remote rvar = t0112mn1[d=1,z=1:100 at ave]
+let/D=1/remote rvar = t00an1[d=1,z=1:100 at ave]
 
 
 ! But, require LET/D= with /REMOTE
-let/remote rvar = t0112mn1[d=1,z=1:100 at ave]
+let/remote rvar = t00an1[d=1,z=1:100 at ave]
 
 ! If expressions involve local variables not defined in the remote dset,
 ! then the variable can be computed but not as a remote-var.
 
 let a = 12
-let/D=1/remote avar = a*t0112mn1[L=@ave]
+let/D=1/remote avar = a*t00an1[L=@ave]
 list/x=300/y=15 avar
 
 SET MODE/LAST ignore
diff --git a/bench/bn_output.jnl b/bench/bn_output.jnl
index cae3634..103477d 100644
--- a/bench/bn_output.jnl
+++ b/bench/bn_output.jnl
@@ -1,6 +1,7 @@
 ! bn200_output.JNL
 ! - test various output methods in FERRET
 ! rev 0.0  4/27/90 *sh*
+! 4/17 *acm* LIST/CLOBBER files (these are removed by run_all too)
 
 LET v = 1000*i + 100*j + 10*k + l
 SET REGION/I=1:2/J=3:4/K=5:6/L=7:8
@@ -33,12 +34,13 @@ CANCEL LIST/HEAD
 LIST
 CANCEL LIST/ALL
 SET LIST/FILE=AUTO-X
-LIST/FILE
-LIST/FILE=test.dat
+LIST/CLOBBER/FILE
+LIST/CLOBBER/FILE=test.dat
 LIST/FILE=test.dat/APPEND
-LIST/FILE=test.unf/FORMAT=UNFORMATTED
+LIST/CLOBBER/FILE=test.unf/FORMAT=UNFORMATTED
 ! V6.8 we no longer write this file type
 SET MODE IGNORE
 LIST/FILE=test.gt/FORMAT=TMAP/L=1:3 v,v^0.5
 SET MODE/LAST IGNORE
 CANCEL LIST
+
diff --git a/bench/bn_plot_vs_with_time.jnl b/bench/bn_plot_vs_with_time.jnl
new file mode 100644
index 0000000..63602a7
--- /dev/null
+++ b/bench/bn_plot_vs_with_time.jnl
@@ -0,0 +1,67 @@
+! bn_plot_vs_with_time.jnl
+! See ticket 2246
+! 3/27/2017 *ACM*
+
+! PLOT/VS plots automatically draw a formatted time axis
+! when one of the variables has calendar units and time origin
+
+! (Currently allow just one axis to be time formatted)
+
+can mode logo
+
+! Date units syntax days since 1982-01-01 is valid
+
+define axis/t=1:500:10/units=days/t0="01-jan-1982" tax
+let/units="days since 1982-01-01" mytime2 = t[gt=tax]
+
+let myvar2 = RANDU(mytime2)
+plot/vs/line mytime2, myvar2
+plot/vs/over/sym/color=red mytime2[L=1:50:2], myvar2[L=1:50:2]
+
+! time axis on the vertical
+
+! Date syntax days since 01-jan-1982 is also valid.
+define axis/t=1:500:10/units=days/t0="01-jan-1982" tax
+let/units="days since 01-jan-1982" mytime2 = t[gt=tax]
+
+plot/vs/line myvar2, mytime2
+plot/vs/over/sym/color=red/line  myvar2[L=1:50:2],  mytime2[L=1:50:2]
+
+! LAS style plots:
+! Dataset with pressure,temperature on ZT grid. Define a time variable
+! send it to PLOT/VS to draw plots with time-formatted axis, plain
+! 2-variable plots and plot/vs plots.
+! Define variables as if gridded T-Z data in spurs dataset
+
+define axis/t="25-JAN-2017:23:00":"02-FEB-2017 10:00":12/units=hours/t0=1-jan-2017 time
+define axis/z=1:50:4/units=m/depth zaxis
+let/title=pressure/units=m pres=z[gz=zaxis] + 0.3*randu(t[gt=time])
+let/title=temperature/units="Deg C" temp = 20 - z[gz=zaxis] + 10*randu(t[gt=time])
+
+! Define a time variable
+let/units="`pres,return=tunits` since `pres,return=t0`" ttvar = t[gt=temp] + 0*temp
+
+! time on horizontal axis
+set v ul; plot/vs/ribbon/sym=17/thick/vlim=50:0  ttvar, pres, temp
+
+! time on vertical axis
+set v ur; plot/vs/ribbon/sym=17/thick/hlim=50:0  pres, ttvar, temp
+
+! More time axis styles
+
+define axis/t=1-jan-2016:1-jan-2017:45/units=days/t0=1-jan-1970 time
+let/title=pressure/units=m pres=z[gz=zaxis] + 0.3*randu(t[gt=time])
+let/title=temperature/units="Deg C" temp = 20 - z[gz=zaxis] + 10*randu(t[gt=time])
+let/units="`pres,return=tunits` since `pres,return=t0`" ttvar = t[gt=temp] + 0*temp
+
+set v ll; plot/vs/ribbon/sym=17/thick/vlim=50:0  ttvar, pres, temp
+
+define axis/t=1-jan-2001:1-jan-2012:181/units=days/t0=1-jan-1970 time
+let/title=pressure/units=m pres=z[gz=zaxis] + 0.3*randu(t[gt=time])
+let/title=temperature/units="Deg C" temp = 20 - z[gz=zaxis] + 10*randu(t[gt=time])
+let/units="`pres,return=tunits` since `pres,return=t0`" ttvar = t[gt=temp] + 0*temp
+
+set v lr; plot/vs/ribbon/sym=17/thick/vlim=50:0  ttvar, pres, temp
+
+
+set mode/last logo
diff --git a/bench/bn_reset.jnl b/bench/bn_reset.jnl
index 88811d1..f9caf52 100644
--- a/bench/bn_reset.jnl
+++ b/bench/bn_reset.jnl
@@ -5,16 +5,28 @@ cancel mode verify
 !		-- individual benchmarks must now specify MODE DIAG if needed
 !  5/00 *acm* added CANCEL MODE IGNORE_ERRORS
 !  7/09 *acm* added CANCEL VIEWPORTS
+!  3/17 *sh* accept an argument "GO bn_reset scriptname" and use it to
+!            put helpful separators into the log and err files
+!  4/17 *sh* added CANCEL MODE STUPID (was left on by bn_regrid_6d.jnl)
 
 ! reset FERRET to prepare for another benchmark test
 CANCEL REGION/ALL
 CANCEL DATA/ALL
 CANCEL VARIABLES/ALL
 CANCEL MEMORY/ALL
+CANCEL MODE STUPID   ! added 4/2017
 SET GRID ABSTRACT
 CANCEL MODE DIAGNOSTIC
 CANCEL MODE IGNORE_ERROR
 CANCEL VIEWPORTS
 PPL TICS .125,.25,.125,.25 !reset tics to default
 
+! announce the start of the next script
+message/error/continue ooooooooooooooooooooooooooooooooooooooooooo
+message/continue ooooooooooooooooooooooooooooooooooooooooooo
+if ($1"0|*>1") then
+  message/error/continue Starting test: $1 
+  message/continue Starting test: $1
+endif
+
 set mode/last verify
diff --git a/bench/bn_stat_precision.jnl b/bench/bn_stat_precision.jnl
new file mode 100644
index 0000000..83e750c
--- /dev/null
+++ b/bench/bn_stat_precision.jnl
@@ -0,0 +1,27 @@
+! bn_stat_precision.jnl
+! 3/2017 *acm* Ticket 2512
+
+! The stat command self-adjusts precision to make the 
+! min and max listed distinct
+
+let var = {1907.1,1907.05,1907.11}
+stat/br var
+
+let var = {1907.001,1907.0005,1907.0011}
+stat/br var
+
+let var = {221907.001,221907.0005,221907.0011}
+stat/br var
+
+
+! STAT/PREC controls the precision, writing more or less digits
+
+stat/br/prec=5 var
+stat/br/prec=12 var
+
+! some more examples
+let var = 30*randu(1+i[i=1:10])
+stat/br var
+stat/br/prec=3 var
+stat/br/prec=7 var
+stat/br/prec=12 var
diff --git a/bench/bn_strings.jnl b/bench/bn_strings.jnl
index f5d681b..00054e0 100644
--- a/bench/bn_strings.jnl
+++ b/bench/bn_strings.jnl
@@ -167,7 +167,7 @@ list/nohead ysequence({"now","then"})+", " + (if {0,1} THEN "hello"+", ") + "fri
 list/nohead ysequence({"now","then"})+", " + (if {0,1} THEN "hello"+", " ELSE "goodbye"+", my ") + "friend"
 
 SET MODE IGNORE
-list/nohead ysequence({98, 99})+", " + (if {0,1} THEN "hello"+", " ELSE "goodbye"+", my ") + "friend"
+! list/nohead ysequence({98, 99})+", " + (if {0,1} THEN "hello"+", " ELSE "goodbye"+", my ") + "friend"
 list/nohead ysequence({"now","then"})+", " + (if {0,1} THEN "hello"+99 ELSE "goodbye"+", my ") + "friend"
 list/nohead ysequence({"now","then"})+", " + (if {0,1} THEN "hello"+", " ELSE "goodbye"+99) + "friend"
 list/nohead ysequence({"now","then"})+", " + (if {0,1} THEN "hello"+", " ELSE "goodbye"+", my ") + 99
diff --git a/bench/bn_test_opendap.jnl b/bench/bn_test_opendap.jnl
index d192c2e..674cee2 100644
--- a/bench/bn_test_opendap.jnl
+++ b/bench/bn_test_opendap.jnl
@@ -6,7 +6,7 @@ SET MODE IGNORE
 !!list test_opendap ("http://iridl.ldeo.NOT.columbia.edu/SOURCES/.LEVITUS/.MONTHLY/.temp/dods")
 
 !! Change to another server, this one not working 8/2012
-list test_opendap ("http://ferret.pmel.noaa.gov/thredds/dodsC/data/PMEL/WOA05nc/monthly/s0112an1.nc")
+list test_opendap ("http://ferret.pmel.noaa.gov/pmel/thredds/dodsC/data/PMEL/WOA05nc/monthly/s0112an1.nc")
 list test_opendap ("http://ferret.pmel.NOT.noaa.gov/thredds/dodsC/data/PMEL/WOA05nc/monthly/s0112an1.nc")
 
 
diff --git a/bench/bn_transp_choose.jnl b/bench/bn_transp_choose.jnl
new file mode 100644
index 0000000..8be4db3
--- /dev/null
+++ b/bench/bn_transp_choose.jnl
@@ -0,0 +1,22 @@
+! bn_transp_choose.jnl
+!  Test the TRANSPOSE function which chooses which of the 
+! transpose_ functions to run based on arguments
+
+can mem
+sh func transpose
+
+use gt4d011
+
+list/K=1/l=1 u[i=91:100,j=35:45]
+let var = transpose (u[i=91:100,j=35:41], 1, 2)
+list/K=1/l=1 var
+
+! same as transpose_xy function
+list/k=1/l=1 transpose_xy(u[i=91:100,j=35:41])
+
+! Combine transpose with other operations
+let vari = u - v
+list/l=1 vari[i=91:100,j=35:41,k=1:5 at ave]
+let var = transpose (vari[i=91:100,j=35:41,k=1:5 at ave], 1, 2)
+list/l=1 var
+
diff --git a/bench/bn_transpose.jnl b/bench/bn_transpose.jnl
index f069aae..c35ccd8 100644
--- a/bench/bn_transpose.jnl
+++ b/bench/bn_transpose.jnl
@@ -18,7 +18,70 @@ list transpose_xz(myvar)
 list transpose_xt(myvar)
 list transpose_yz(myvar)
 list transpose_yt(myvar)
-list transpose_zt(myvar)
+list transpose_zt(myvar) 
+
+def axis /X=0.0:4.0:1.0/units=degrees_east xaxs
+def axis /Y=0.0:3.0:1.0/units=degrees_north yaxs
+def axis /Z=0.0:1.4:0.2/units=m/depth zaxs
+def axis /T=0.0:6.0:1.0/units=days/t0=1-jan-2001 taxs
+def axis /E=0.0:10.0:5 eaxs
+def axis /F=0.0:100.0:20 faxs
+def grid /X=xaxs /Y=yaxs /Z=zaxs /T=taxs /E=eaxs /F=faxs mygrd 
+
+set grid mygrd
+let myvar = X + 5.0 * (Y + 4.0 * (Z + 3.0 * T)) + _E - _F
+
+
+! * * * * Simple XYZTEF examples * * *
+
+list/x=1/y=1/z=1/t=1 myvar
+list/x=1/y=1/z=1/t=1 transpose_ef(myvar)
+
+list/e=5/y=1/z=1/t=1 myvar
+list/e=5/y=1/z=1/t=1 transpose_xf(myvar)
+list/F=25/y=1/z=1/t=1 myvar
+list/F=25/y=1/z=1/t=1 transpose_xe(myvar)
+
+list/e=5/x=1/z=1/t=1 myvar
+list/e=5/x=1/z=1/t=1 transpose_yf(myvar)
+list/F=25/x=1/z=1/t=1 myvar
+list/F=25/x=1/z=1/t=1 transpose_ye(myvar)
+
+list/e=5/x=1/y=1/t=1 myvar
+list/e=5/x=1/y=1/t=1 transpose_zf(myvar)
+list/F=25/x=1/y=1/t=1 myvar
+list/F=25/x=1/y=1/t=1 transpose_ze(myvar)
+
+list/e=5/x=1/y=1/z=1 myvar
+list/e=5/x=1/y=1/z=1 transpose_tf(myvar)
+list/F=25/x=1/y=1/z=1 myvar
+list/F=25/x=1/y=1/z=1 transpose_te(myvar)
+
+
+! * * * *  XYZTEF examples with another dimension * * *
+
+list/y=1/z=1/t=1 myvar
+list/y=1/z=1/t=1 transpose_ef(myvar) 
+
+list/e=5/z=1/t=1 myvar
+list/e=5/z=1/t=1 transpose_xf(myvar) 
+list/F=25/z=1/t=1 myvar
+list/F=25/z=1/t=1 transpose_xe(myvar) 
+
+list/e=5/z=1/t=1 myvar
+list/e=5/z=1/t=1 transpose_yf(myvar) 
+list/F=25/z=1/t=1 myvar
+list/F=25/z=1/t=1 transpose_ye(myvar) 
+
+list/e=5/y=1/t=1 myvar
+list/e=5/y=1/t=1 transpose_zf(myvar) 
+list/F=25/y=1/t=1 myvar
+list/F=25/y=1/t=1 transpose_ze(myvar) 
+
+list/e=5/y=1/z=1 myvar
+list/e=5/y=1/z=1 transpose_tf(myvar) 
+list/F=25/y=1/z=1 myvar
+list/F=25/y=1/z=1 transpose_te(myvar) 
 
 can var /all
 set grid abstract
@@ -27,4 +90,5 @@ can axis taxs
 can axis zaxs
 can axis yaxs
 can axis xaxs
-
+can axis eaxs
+can axis faxs
diff --git a/bench/bn_true_monthly.jnl b/bench/bn_true_monthly.jnl
index 90f911c..b46689f 100644
--- a/bench/bn_true_monthly.jnl
+++ b/bench/bn_true_monthly.jnl
@@ -103,6 +103,11 @@ define axis/t=1-jan-2010:31-dec-2010:1/t0=1-jan-2000/monthly/modulo taxis
 let var = {1,2,3,4,5,6,7,8,9,10,11,12}
 let tvar = reshape(var,t[gt=taxis])
 list/L=1:23 tvar
+! *sh* 3/17:  a possible alternative syntax:
+!  let var = TSEQUENCE({1,2,3,4,5,6,7,8,9,10,11,12})
+!  let tvar = var[gt=taxis at asn]
+! Since this is a fairly common need -- creating a line along some axis
+! should we offer a new function AXSEQUENCE(array, axis)  ?
 
 ! Striding on a monthly axis
 
diff --git a/bench/bn_unquoted_args.jnl b/bench/bn_unquoted_args.jnl
index 5215331..ea51d52 100644
--- a/bench/bn_unquoted_args.jnl
+++ b/bench/bn_unquoted_args.jnl
@@ -48,15 +48,15 @@ use tmp/test1.nc,"tmp/test2.nc", tmp/test3.nc
 show data/brief
 canc data/all
 
-IF `test_opendap("http://ferret.pmel.noaa.gov/thredds/dodsC/data/PMEL/COADS/coads_sst.cdf") EQ 0` THEN
-  use "http://ferret.pmel.noaa.gov/thredds/dodsC/data/PMEL/COADS/coads_sst.cdf"
+IF `test_opendap("http://ferret.pmel.noaa.gov/pmel/thredds/dodsC/data/PMEL/COADS/coads_sst.cdf") EQ 0` THEN
+  use "http://ferret.pmel.noaa.gov/pmel/thredds/dodsC/data/PMEL/COADS/coads_sst.cdf"
   show data/brief
   canc data/all
-  use http://ferret.pmel.noaa.gov/thredds/dodsC/data/PMEL/COADS/coads_sst.cdf
+  use http://ferret.pmel.noaa.gov/pmel/thredds/dodsC/data/PMEL/COADS/coads_sst.cdf
   show data/brief
   canc data/all
 
-  use tmp/test1.nc, "tmp/test2.nc", http://ferret.pmel.noaa.gov/thredds/dodsC/data/PMEL/COADS/coads_sst.cdf
+  use tmp/test1.nc, "tmp/test2.nc", http://ferret.pmel.noaa.gov/pmel/thredds/dodsC/data/PMEL/COADS/coads_sst.cdf
   show data/brief
   canc data/all
 ELSE
diff --git a/bench/bn_vtree_regrid.jnl b/bench/bn_vtree_regrid.jnl
index 5b0e591..25e0a78 100644
--- a/bench/bn_vtree_regrid.jnl
+++ b/bench/bn_vtree_regrid.jnl
@@ -2,6 +2,7 @@
 ! exercise 12/14 enhancements to display regrid target on a separate line 
 ! updated 1/26/15 to exercise multiple regrid target outputs
 ! updated 2/23/15 to report target of regrid even when aux regridding occurs
+! 5/2017 note that the fix for #2533 causes some duplicate  UNKNOWN GRID lines 
 
 ! case 1: target grid known,   regridded variable known
 let myvar = 1           ! var to be regridded is known
diff --git a/bench/co_emac.nc b/bench/co_emac.nc
new file mode 100644
index 0000000..74e7ab2
Binary files /dev/null and b/bench/co_emac.nc differ
diff --git a/bench/err540_strides_rev.jnl b/bench/err540_strides_rev.jnl
index bc01c88..0ee052b 100644
--- a/bench/err540_strides_rev.jnl
+++ b/bench/err540_strides_rev.jnl
@@ -1,4 +1,5 @@
 ! err540_strides_rev.jnl
+! V702: *sh* 2/2017 - modified this bench script
 
 ! reported Feb '02
 ! fixed April 17, '02
@@ -33,7 +34,10 @@ cancel var/all
 
 set mode stupid
 set mode diag
-set mem/size=0.05
+! *sh* 2/17 - such a small memory size makes it impossible to succeed
+! with the command under the new dynamic memory management
+!set mem/size=0.05
+set mem/size=1   ! use this larger size, instead
 show mem/free
 
 use/ord=x-y test_100x100.nc
diff --git a/bench/err570_dods_url_label.jnl b/bench/err570_dods_url_label.jnl
index 3f8d210..3a0c332 100644
--- a/bench/err570_dods_url_label.jnl
+++ b/bench/err570_dods_url_label.jnl
@@ -3,7 +3,7 @@
 ! Bug 1098. Look for the label with the URL: it should include
 ! everything up to the last slash.  
 ! acm 11/04
-
+! acm* 3/17 check the URL with TEST_OPENDAP befor trying to open it.
 
 !! Change to another dataset, our server down...
 !!use  "http://www.ferret.noaa.gov/cgi-bin/nph-nc/data/bn_strides.cdf"
@@ -33,8 +33,10 @@
 !!plot/x=180/y=0/k=1 temp
 !!ppl list labels
 
-
-use "http://ferret.pmel.noaa.gov/thredds/dodsC/data/PMEL/coads_climatology.nc"
+! If we cant open this, just bail on the test
+IF `test_opendap("http://ferret.pmel.noaa.gov/pmel/thredds/dodsC/data/PMEL/coads_climatology.nc") NE 0` THEN EXIT/SCRIPT
+ 
+use "http://ferret.pmel.noaa.gov/pmel/thredds/dodsC/data/PMEL/coads_climatology.nc"
 sh data
 plot/x=180/y=0 sst 
-ppl list labels
\ No newline at end of file
+ppl list labels
diff --git a/bench/err682_xact_high_prec.jnl b/bench/err682_xact_high_prec.jnl
index 5aa9ebb..3ca32bb 100644
--- a/bench/err682_xact_high_prec.jnl
+++ b/bench/err682_xact_high_prec.jnl
@@ -4,6 +4,8 @@
 
 ! shows that the @XACT regridding in double-precision Ferret is broken.
 
+! 3/17 *sh* - broke after change to RESHAPE in GCF_IMPOSE_AXES
+!           - fixed it by cleaning up the definition of var_regrid
 
 Let time = {\
  22585.3295833333,\
@@ -20,8 +22,11 @@ Let time = {\
 Define Axis /T /From /T0=1-JAN-1950 /Units=days my_axis = time
 
 Let fake_var = T[GT=my_axis]
-Let var = RANDU( fake_var )
-Let var_regrid = RESHAPE( var, fake_var )
+! this was the definition prior to 3/17
+!Let var = RANDU( fake_var )
+!Let var_regrid = RESHAPE( var, fake_var )
+Let var_regrid = RANDU( fake_var )   ! new definition
+
 
 List /T="2-nov-2011 07:54":"2-nov-2011 08:04" var_regrid
 
diff --git a/bench/err684_FillValue_xml.jnl b/bench/err684_FillValue_xml.jnl
index 79ce1ec..30394cf 100644
--- a/bench/err684_FillValue_xml.jnl
+++ b/bench/err684_FillValue_xml.jnl
@@ -1,7 +1,7 @@
 ! err684_FillValue_xml.jnl
 ! ACM 6/2013 
 !
-! See the dataset at http://ferret.pmel.noaa.gov/thredds/dodsC/woa09_1deg_monthly
+! See the dataset at http://ferret.pmel.noaa.gov/pmel/thredds/dodsC/woa09_1deg_monthly
 ! where the "number of" variables have  _FillValues attributes = -2147483647
 ! This value was being written to the xml headers as a float, without enough precision.
 ! See las ticket #761, fixes in show_data_set_vars_xml.F
diff --git a/bench/err696_mem_err_report.jnl b/bench/err696_mem_err_report.jnl
index fed645d..ffa5c0a 100644
--- a/bench/err696_mem_err_report.jnl
+++ b/bench/err696_mem_err_report.jnl
@@ -1,5 +1,9 @@
 ! err696_mem_err_report.jnl
 ! 1/21/2016 *acm*
+! V702: *sh* 2/17 - This script depends upon the specific formatting
+! of the error string, when memory is exceeded
+! Tweaked it to match the new formatting
+
 ! Ticket 2354: The error message shows the wrong number for memory needed.
 !
 ! Try to load some data larger than the default amount of memory
@@ -24,15 +28,12 @@ load/l=1:5 bigvar
 show sym fer_last_error
 cancel mode ignore
 
-! Get the number Ferret says it needs
-let ms1 = `strrindex("($fer_last_error)", ":")`
-let ms2 = `strindex("($fer_last_error)", "Mword")`
-let siz = substring("($fer_last_error)", `ms1+1`, `ms2-ms1-1`)
-
-! Increase memory accordingly
+! V702:  we no longer have to parse the error string.
+! Instead look at PEAK_MEMORY 
 
-set mem/siz=`siz`
+SET MEMORY/SIZE=15
 load/l=1:5 bigvar
+SHOW SYMBOL ($PEAK_MEMORY)
 
 ! restore default
 set mem/siz=`memsize`
diff --git a/bench/err696_multiple_slashes.jnl b/bench/err696_multiple_slashes.jnl
index 82759d2..fe4aa0a 100644
--- a/bench/err696_multiple_slashes.jnl
+++ b/bench/err696_multiple_slashes.jnl
@@ -25,8 +25,8 @@ def sym regqual = /x=300:360///y=-20:20/L=3
 fill/($regqual)($plotqual) sst
 
 ! command lines with urls unchanged
-IF `test_opendap("http://ferret.pmel.noaa.gov/thredds/dodsC/data/PMEL/COADS/coads_sst.cdf") EQ 0` THEN
-   set data///format=cdf http://ferret.pmel.noaa.gov/thredds/dodsC/data/PMEL/COADS/coads_sst.cdf
+IF `test_opendap("http://ferret.pmel.noaa.gov/pmel/thredds/dodsC/data/PMEL/COADS/coads_sst.cdf") EQ 0` THEN
+   set data///format=cdf http://ferret.pmel.noaa.gov/pmel/thredds/dodsC/data/PMEL/COADS/coads_sst.cdf
    let//d=coads_sst myvar = 1
    sh dat
    cancel data/all
diff --git a/bench/err71_2d_ave_miss0.jnl b/bench/err71_2d_ave_miss0.jnl
new file mode 100644
index 0000000..a0d13ba
--- /dev/null
+++ b/bench/err71_2d_ave_miss0.jnl
@@ -0,0 +1,16 @@
+! err71_2d_ave_miss0.jnl
+! Ticket 2539: data with 0 as missing flag, 
+! 2D average or definite integral all-missing
+! 6/5/2017 *acm*
+
+use gt4d011.cdf
+let temp0 = temp
+set var/bad=0. temp0
+save/clobber/file=a.nc temp0
+can dat/all
+can var/all
+use a.nc
+
+! Both of these should have all valid numbers,
+! previously (in v7.1+) they were all-missing.
+list/k=1/L=1:10 temp0[x=@ave,y=@ave], temp0[x=@din,y=@din]
diff --git a/bench/err71_colorlevs.jnl b/bench/err71_colorlevs.jnl
new file mode 100644
index 0000000..fce7c6c
--- /dev/null
+++ b/bench/err71_colorlevs.jnl
@@ -0,0 +1,15 @@
+! err71_colorlevs
+! See ticket 2550. Top data value is not among color levels used in the plot.
+! And symbols LEV* do not list the levels used.
+
+use co_emac.nc
+stat co_emac
+
+! previously there were 25 levels chosen by the automatic 
+! method, missing the top one because of roundoff error.
+! Thus one cell went unfilled.  The LEV_MIN etc symbols were 
+! set to 0 because of inadequate formatting of the tiny numbers.
+
+set mode nlevels 30
+shade co_emac
+sh sym lev*
diff --git a/bench/err71_err_attrib_overrun.jnl b/bench/err71_err_attrib_overrun.jnl
new file mode 100644
index 0000000..0093eed
--- /dev/null
+++ b/bench/err71_err_attrib_overrun.jnl
@@ -0,0 +1,41 @@
+! err71_err_attrib_overrun.jnl
+! See ticket 2523
+
+! this ends with a segment fault sensitive to any changes
+! presumably a buffer over-run
+
+! the crash is occuring because of a buffer over-run
+! in IS_ATTRIB_VAL we call CREATE_TEMP_MEM_VAR to create an mr of size=1
+! later we call INIT_C_STRING_ARRAY and tell it to initialize this mr array 
+! using a length nvdims=3  ==> OVERRUN
+
+! This bug never reared its head in the pre-dynamic memory Ferret, because
+! the buffers couldn't really be over-run, since they were part of a huge
+! static memory block
+
+! other INIT_* calls in IS_ATTRIB_VAL may have a similar issue
+
+
+set mode diag
+
+use ocean_atlas_temp
+use gt4d011
+use levitus_climatology
+
+use coads_climatology
+
+let lnames = ..dimnames[d=2]
+
+CANCEL DATA/ALL
+
+! this line seems to be essential making the crash happen
+PPL TICS .125,.25,.125,.25 !reset tics to default
+
+use coads_climatology
+
+let a = sst[d=1].dimnames
+show mem/diag   ! looks like no dynamic memory actions have occured
+
+! resulted in a seg fault (on 32-bit stout)
+list a[i=2]
+
diff --git a/bench/err71_expr_w_const.jnl b/bench/err71_expr_w_const.jnl
new file mode 100644
index 0000000..d82f07d
--- /dev/null
+++ b/bench/err71_expr_w_const.jnl
@@ -0,0 +1,23 @@
+! err71_expr_w_const.jnl
+! ticket 2313: return= is loading the whole 
+! grid unnecessarily in the last example
+
+set mem/size=1
+def ax/t=1-jan-0001:1-jan-1000:1/unit=year tax
+let a = t[gt=tax] + x[gx=1:1000:1] + y[gy=1:1000:1]
+
+! These work fine
+say `a,return=cal`
+
+use coads_climatology
+let s1= sst[x=@ave,y=1,L=@max]
+say `s1*a,return=cal`
+
+! but the constant variable "let one = 1" introduced abstract 
+! axes to the grid which  caused Ferret to try to load the 
+! data in A which is large
+
+let one = 1
+let a1 = a*one
+show grid a1
+say `a*one,return=cal`
diff --git a/bench/err71_isready_unknown.jnl b/bench/err71_isready_unknown.jnl
new file mode 100644
index 0000000..d76f34f
--- /dev/null
+++ b/bench/err71_isready_unknown.jnl
@@ -0,0 +1,17 @@
+! err71_isready_unknown.jnl
+! ticket 2533, variable b depending on undefined variable c is 
+! reported not ready, but variable a with a regridding operation is
+! mistakenly reported ready.
+
+use coads_climatology
+let a = b[gxy=sst[d=1]]
+let b = c
+
+! both should return 0
+say `b,r=isready`
+say `a,r=isready`
+
+! And VTREE reported no unknown variables in its tree
+! The line for C should say UNKNOWN VARIABLE
+sho var/tree a
+
diff --git a/bench/err71_plotvs_mode_label.jnl b/bench/err71_plotvs_mode_label.jnl
new file mode 100644
index 0000000..2d69d74
--- /dev/null
+++ b/bench/err71_plotvs_mode_label.jnl
@@ -0,0 +1,78 @@
+! err71_plotvs_mode_label.jnl
+!  *acm*3/17/17 Ticket 2517: 
+! MODE LONG_LABEL, MODE LATIT_LABEL need to apply 
+! to PLOT/VS plots.
+
+can mode logo
+
+set mode long_lab
+set mode latit_lab
+
+let/title="|Roll|"/units="degree" abscissa_roll = {0, 20}
+let/title="Wind Speed"/units="kn" ordinate_spd  = {0, 0}
+
+! labeled lon/lat axes. Units of "degrees" is taken to be degrees 
+! east or north depending on which plot axis it is drawn on.
+
+set view ul
+plot/vs/line/vlimits=-20:20 abscissa_roll, ordinate_spd
+set view ur
+plot/vs/line/hlimits=-20:20 ordinate_spd, abscissa_roll
+
+! These modes turn off lon/lat axis labeling
+
+cancel mode long_lab
+cancel mode latit_lab
+ 
+set view ll
+plot/vs/line/vlimits=-20:20 abscissa_roll, ordinate_spd
+set view lr
+plot/vs/line/hlimits=-20:20 ordinate_spd, abscissa_roll
+
+! Explicit units units of degrees_east and degrees_north:
+! degrees_east draws longitude labeling on whichever plot axis
+! the associated variable is drawn, and likewise for degrees_north. 
+! Setting or cancelling the label modes applies to the variable 
+! units not the plot-axis direction.
+
+cancel view
+set mode long_lab
+set mode latit_lab
+
+let/title="East"/units="degrees_east" lon = {10,20,30}
+let/title="North"/units="degrees_north" lat = {-10,0,10}
+
+! longitude axis on the horizontal, latitude axis on the vertical
+
+set view ul; plot/vs/line/sym/hlim=0:40/vlim=-20:20 lon, lat
+annotate/norm/x=0.1/y=0.9/siz=0.1 "long TRUE  latit TRUE"
+
+! latitude axis on the horizontal, longitude axis on the vertical
+
+set view ur; plot/vs/line/sym/vlim=0:40/hlim=-20:20 lat,lon 
+annotate/norm/x=0.1/y=0.9/siz=0.1 "long vertical  latit horizontal"
+
+! longitude axis on the horizontal, latitude axis on the vertical
+! but with latitude labeling turned off
+
+set mode long_lab
+cancel mode latit_lab
+set view ll; plot/vs/line/sym/hlim=0:40/vlim=-20:20 lon, lat
+annotate/norm/x=0.1/y=0.9/siz=0.1 "long TRUE  latit FALSE"
+
+! latitude axis on the horizontal, longitude axis on the vertical
+! but with longitude labeling turned off
+
+cancel mode long_lab
+set mode latit_lab
+set view lr; plot/vs/line/sym/vlim=0:40/hlim=-20:20 lat,lon
+annotate/norm/x=0.1/y=0.9/siz=0.1 "long FALSE  latit TRUE"
+
+frame/file=lon_lat_label_controls.gif
+
+
+! Restore default settings
+set mode long_lab
+set mode latit_lab
+
+set mode/last logo
diff --git a/bench/err71_point_average.jnl b/bench/err71_point_average.jnl
new file mode 100644
index 0000000..95f31fc
--- /dev/null
+++ b/bench/err71_point_average.jnl
@@ -0,0 +1,54 @@
+! err71_point_average.jnl
+! Ticket 2538 6/2017
+! Average over a point removes dependence on that dimension.
+! previously returned missing-data
+
+let a = x[x=1:5] + y[y=1:3]
+list a
+
+list a[y=2 at ave]
+list a[x=2 at ave]
+list a[y=2 at ave,x=4 at ave]  ! all prev. versions listed these as missing
+
+let a = z[z=1:5] + t[t=1:3]
+list a[z=2 at ave]
+list a[t=2 at ave]
+
+list a[t=2 at ave,z=4 at ave]
+
+let a = _e[e=1:5] + _f[f=1:3]
+list a[f=2 at ave]
+list a[e=2 at ave]
+list a[f=2 at ave,e=4 at ave]
+
+! Check result if the missing-flag is zero
+
+let/bad=0 a = x[x=1:5] + y[y=1:3]
+list a
+
+list a[y=2 at ave]
+list a[x=2 at ave]
+list a[y=2 at ave,x=4 at ave]  ! all prev. versions listed these as missing
+
+
+! multiple directions including e,f
+
+use 6dfile.nc
+
+! average, result is on xz
+let uave = u[i=1:3,j=50 at ave,l=1 at ave,m=3 at ave,n=2 at ave]
+list uave
+save/clobber/nobounds/file=a.nc uave
+sp ncdump -h a.nc
+
+! average, result is on yt
+let uave = u[i=3 at ave,j=50:60,l=3:6,z=40 at ave,m=3 at ave,n=2 at ave]
+list uave
+save/clobber/nobounds/file=a.nc uave
+sp ncdump -h a.nc
+
+! average, result is on e-f, single time
+let uave = u[i=3 at ave,y=8 at ave,z=15 at ave,t="15-MAR-1983 11:00"]
+list uave
+save/clobber/nobounds/file=a.nc uave
+sp ncdump -h a.nc
diff --git a/bench/err71_ppl_sho_empty.jnl b/bench/err71_ppl_sho_empty.jnl
new file mode 100644
index 0000000..248d446
--- /dev/null
+++ b/bench/err71_ppl_sho_empty.jnl
@@ -0,0 +1,26 @@
+! err71_ppl_sho_empty.jnl
+! ticket 2543, PPL SHOW pplsym is a command, but it
+! gave a Fortran runtime error if given with no argument
+! Now send these errors through the Ferret errmsg routine.
+
+! This is a valid sequence, pplus symbol definition
+
+pplus set xpos 3.2
+pplus show xpos
+
+! intentional error
+
+set mode ignore
+
+! This is a correct error message, undefined symbol
+pplus show nosymbol
+
+! This previously hit a runtime error, symbol name missing.
+ppl show
+
+! Another PPL error we might hit is an invalid command. 
+! Write this error message 
+PPL nonsense
+
+set mode/last ignore
+
diff --git a/bench/err71_prec_return.jnl b/bench/err71_prec_return.jnl
new file mode 100644
index 0000000..75dbf89
--- /dev/null
+++ b/bench/err71_prec_return.jnl
@@ -0,0 +1,15 @@
+! err71_prec_return.jnl
+! Ticket 2510, `prec=hh` doesn't work when the data is very
+! near an integer.
+
+
+let a=1+1e-12
+
+! This should show the 001 at the end
+list/nohead/norow/prec=13 `a,prec=13`
+
+! This does not have the 001 at the end
+list/nohead/norow/prec=13 `a,prec=12`
+
+! The example from the ticket, with one more.
+list/nohead/norow/prec=12 {`1 + 0.1`, `1 + 1e-7`, `1 + 1e-8`, `1 + 1e-10`} - 1
diff --git a/bench/err71_read_delim.jnl b/bench/err71_read_delim.jnl
new file mode 100644
index 0000000..b7dadc4
--- /dev/null
+++ b/bench/err71_read_delim.jnl
@@ -0,0 +1,31 @@
+! err71_read_delim.jnl
+! 6/9/2017 ACM
+! Ticket 2540, Write errors when data is read using - to skip fields
+! in a delimited read
+
+define axis/x=1:10:1 row_ax
+define grid/x=row_ax in_grid
+
+
+FILE/FORM=delim/skip=1/grid=in_grid\
+/var="YEAR,MONTH,LON,LAT,-,HAULJOIN,LENGTH,FREQ,-,BTTM_TEMP,SST,BTTM_DEPTH,CPUE,BIN"\
+/typ="num,num,num,num,-,num,num,num,-,num,num,num,num,num,"/delim="\,"\ 
+ shorttest.dat
+
+set var/title="year" YEAR
+set var/title="month" MONTH
+set var/title="lon"/units="degrees_E" LON
+set var/title="lat"/units="degrees_N" LAT
+set var/title="hauljoin" HAULJOIN
+set var/title="length"/units="mm" LENGTH
+set var/title="freq"/units="Number" FREQ
+set var/title="bttm_temp"/units="degrees_C" BTTM_TEMP
+set var/title="SST"/units="degrees_C" SST
+set var/title="bttm_depth"/units="m" BTTM_DEPTH
+set var/title="CPUE"/units="fish/km**2" CPUE
+set var/title="bin_size"/units="mm" BIN
+
+! Previously this caused netcdf library errors and exited out of Ferret
+save/file=a.nc/clobber year, month, lon, lat, hauljoin, length, freq, bttm_temp, SST, bttm_depth, CPUE, bin
+
+sp ncdump -h a.nc
diff --git a/bench/err71_repeat_paren.jnl b/bench/err71_repeat_paren.jnl
new file mode 100644
index 0000000..8bd825e
--- /dev/null
+++ b/bench/err71_repeat_paren.jnl
@@ -0,0 +1,15 @@
+! err71_repeat_paren.jnl
+! Ticket 2551. The second command with an extra parenthese is not reported
+! to be a syntax error but just reports wrong info.
+
+repeat/range=1:3:1/name=count (def sym count = `count`; say ($count); message/continue)
+
+! Previously the extra paren at the end did not trigger an error
+! but caused a parsing error so the command 
+!   say ($count) 
+! was parsed and fixed at "say 3" before the loop started.
+
+set mode ignore
+repeat/range=1:3:1/name=count (def sym count = `count`; say ($count); message/continue))
+set mode/last ignore
+
diff --git a/bench/err71_save_bounds.jnl b/bench/err71_save_bounds.jnl
new file mode 100644
index 0000000..c6d571a
--- /dev/null
+++ b/bench/err71_save_bounds.jnl
@@ -0,0 +1,9 @@
+! err71_save_bounds
+! Ticket 2524. The SAVE command previously gave an error
+
+define axis/t time = {1,2,4}
+use write_int_att.nc
+
+! Tell Ferret to use the axis names from the file, and write data
+cancel mode upcase
+save/file=a.nc/clobber mhchla
diff --git a/bench/err71_save_rigid.jnl b/bench/err71_save_rigid.jnl
new file mode 100644
index 0000000..b2c7719
--- /dev/null
+++ b/bench/err71_save_rigid.jnl
@@ -0,0 +1,27 @@
+! err71_save_rigid.jnl
+! Ticket 2513: SAVE/RIGID with irregular axis wrote a bad file.
+
+! Define a variable on an irregular axis.
+
+let var = {123, 234, 345, 456, 567, 678, 789}
+define axis/t/t0=1-jan-2015/units=day tax = \
+{ 312.1, 312.7, 313.4, 314.2, 314.7, 315.4, 316.1}
+
+let vart = reshape(var, t[gt=tax])
+
+! Save with /RIGID. Previously this wrote a file with
+! both bounds and edges attributes on the time axis. 
+! It wrote the edges variable, not the bounds.
+
+! Starting with this version, write bounds if needed when
+! writing with /RIGID. Only write edges if they said /EDGES.
+
+save/clobber/rigid/file=a.nc vart
+sp ncdump a.nc
+
+cancel var/all
+
+! The grid was messed up - this gave an error
+use a
+show grid vart
+
diff --git a/bench/err71_set_redirect.jnl b/bench/err71_set_redirect.jnl
new file mode 100644
index 0000000..391d107
--- /dev/null
+++ b/bench/err71_set_redirect.jnl
@@ -0,0 +1,19 @@
+! err71_set_redirect.jnl
+! 3/2017 ACM
+! redirect results to a file with a path. 
+! See ticket 2521, the path was previously rejected if it contains dashes 
+
+spawn "mkdir -p sub-dir"
+!
+! Previously this resulted in an error.
+set redirect /tee /file="./sub-dir/redirect_stdout.txt" /clobber  stderr stdout
+
+! write to the file and look at the results
+
+show symbol ferret_precision, ferret_memory
+cancel redirect
+let contents = { spawn:"cat ./sub-dir/redirect_stdout.txt" }
+list contents
+cancel var contents
+
+sp rm -rf sub-dir
diff --git a/bench/err71_string_and_if.jnl b/bench/err71_string_and_if.jnl
new file mode 100644
index 0000000..68866cc
--- /dev/null
+++ b/bench/err71_string_and_if.jnl
@@ -0,0 +1,47 @@
+! err71_string_and_if.jnl
+!  6/28/2018, ticket 2547
+
+! problem with masked strings -> unexpected values instead of strings:
+can var/all
+let test = {1,1,0}
+let strings = {"a", "b", "c"}
+list if (test) then strings
+
+! works: define a masked variable instead, then list
+let masked = if (test) then strings
+list masked
+
+! alternatively, do the same listing for a float first
+let floats = {2,3,4}
+list if (test) then floats
+
+! now, also for strings listing while masking works
+list if (test) then strings
+
+
+
+! the next problem comes with xsequence
+! again unexpected numerical values instead of strings
+can var/all
+let test = {1,1,0}
+let strings = {"a", "b", "c"}
+let masked = if (test) then strings
+list xsequence(masked)
+
+! but doing a listing first fixes it:
+can var/all
+let test = {1,1,0}
+let strings = {"a", "b", "c"}
+list if (test) then strings
+let masked = if (test) then strings
+list xsequence(masked)
+
+
+! NOT fixed by defining a second masked variable before:
+can var/all
+let test = {1,1,0}
+let strings = {"a", "b", "c"}
+let masked = if (test) then strings
+let masked2 = xsequence(masked)
+list masked2
+
diff --git a/bench/err71_user_var_attrib.jnl b/bench/err71_user_var_attrib.jnl
new file mode 100644
index 0000000..9d0a86d
--- /dev/null
+++ b/bench/err71_user_var_attrib.jnl
@@ -0,0 +1,10 @@
+! err71_user_var_attrib.jnl
+! See ticket 2132
+
+! command was trying to list dataset information for a user variable
+! 
+
+let a = 1
+define att a.myAttr = "whatever"
+show att a.myAttr
+
diff --git a/bench/err71_uvar_strides.jnl b/bench/err71_uvar_strides.jnl
new file mode 100644
index 0000000..c693abe
--- /dev/null
+++ b/bench/err71_uvar_strides.jnl
@@ -0,0 +1,14 @@
+! err710_uvar_strides
+! see ticket 2511: crash when doing strides on the user-variable
+
+
+use coads_climatology
+
+! this is ok using a file variable
+let y_vec = x[gx=sst,x=0:360:30]
+list y_vec
+
+! but this gave a crash on loading the variable.
+let s = sst
+let y_vec = x[gx=s,x=0:360:30]
+list y_vec
diff --git a/bench/err71_vs_constant.jnl b/bench/err71_vs_constant.jnl
new file mode 100644
index 0000000..2e4f149
--- /dev/null
+++ b/bench/err71_vs_constant.jnl
@@ -0,0 +1,36 @@
+! err71_vs_constant.jnl
+! See ticket 2318, defining plot axes when data is constant
+! 4/2017 acm
+
+! The axis ranges had been set as val-1, val+1 which 
+! worked poorly for large or small data values
+
+
+
+
+def view/xlim=   0,.333/ylim=0,.5 ll6   ! ok
+def view/xlim=   0,.333/ylim=.5,1 ul6   ! long tic labels
+def view/xlim=.333,.666/ylim=0,.5 lm6   ! long tic labels, logo corrupted
+def view/xlim=.333,.666/ylim=.5,1 um6   ! plot positioning and labels are corrupted
+def view/xlim=.666,   1/ylim=0,.5 lr6   ! no plot at all
+def view/xlim=.666,   1/ylim=.5,1 ur6   ! no vertical tic labels 
+
+
+set view ul6; plot/vs/color/thick/line/sym/siz=0.2 {1,2},  1e4*{1,1} 
+set view um6; plot/vs/color/thick/line/sym/siz=0.2 {1,2},  1e5*{1,1} 
+set view ur6; plot/vs/color/thick/line/sym/siz=0.2 {1,2},  1e6*{1,1} 
+set view ll6; plot/vs/color/thick/line/sym/siz=0.2 {1,2},  1e7*{1,1} 
+set view lm6; plot/vs/color/thick/line/sym/siz=0.2 {1,2},  1e8*{1,1} 
+set view lr6; plot/vs/color/thick/line/sym/siz=0.2 {1,2}, 1e-2*{1,1} 
+
+frame/file=bn_vs_const_value.gif
+
+! With constant data value as the first argument
+
+can view
+set view ul6; plot/vs/color/thick/line/sym/siz=0.2  1e4*{1,1}, {1,2} 
+set view um6; plot/vs/color/thick/line/sym/siz=0.2  1e5*{1,1}, {1,2} 
+set view ur6; plot/vs/color/thick/line/sym/siz=0.2  1e6*{1,1}, {1,2} 
+set view ll6; plot/vs/color/thick/line/sym/siz=0.2  1e7*{1,1}, {1,2} 
+set view lm6; plot/vs/color/thick/line/sym/siz=0.2  1e8*{1,1}, {1,2} 
+set view lr6; plot/vs/color/thick/line/sym/siz=0.2 1e-2*{1,1}, {1,2} 
diff --git a/bench/err71_vs_lon_over.jnl b/bench/err71_vs_lon_over.jnl
new file mode 100644
index 0000000..305bccf
--- /dev/null
+++ b/bench/err71_vs_lon_over.jnl
@@ -0,0 +1,11 @@
+! err71_vs_lon_over.jnl
+! PLOT/VS/OVER does longitude moduloing if the xpts
+!  variable has units of degrees east.
+
+use coads_climatology
+shade/l=1/x=0:360/nolab/nokey if sst then 1
+let/units=degrees_east xpts = {-170,-150,-100, 100, 150, 170}
+let/units=degrees_north ypts = {-30, -20, -10,   0,  10,  20}
+
+plot/vs/over/thick/siz=0.2/sym=19 xpts,ypts
+frame/file=vs_lon_over.gif
diff --git a/bench/metafile_masters_32bit/bn_axis_vs.gif b/bench/metafile_masters_32bit/bn_axis_vs.gif
index 994f8f6..239d744 100644
Binary files a/bench/metafile_masters_32bit/bn_axis_vs.gif and b/bench/metafile_masters_32bit/bn_axis_vs.gif differ
diff --git a/bench/metafile_masters_32bit/bn_hovmuller_overlays.gif b/bench/metafile_masters_32bit/bn_hovmuller_overlays.gif
index bbf10af..a8edf4c 100644
Binary files a/bench/metafile_masters_32bit/bn_hovmuller_overlays.gif and b/bench/metafile_masters_32bit/bn_hovmuller_overlays.gif differ
diff --git a/bench/metafile_masters_32bit/bn_ribbon_vlog.gif b/bench/metafile_masters_32bit/bn_ribbon_vlog.gif
index c469ee8..87b7fff 100644
Binary files a/bench/metafile_masters_32bit/bn_ribbon_vlog.gif and b/bench/metafile_masters_32bit/bn_ribbon_vlog.gif differ
diff --git a/bench/metafile_masters_32bit/bnplot-3.plt b/bench/metafile_masters_32bit/bnplot-3.plt
index 558e157..d10ca21 100644
--- a/bench/metafile_masters_32bit/bnplot-3.plt
+++ b/bench/metafile_masters_32bit/bnplot-3.plt
@@ -1,4 +1,4 @@
-GKSMansley at stout.pmel.noXPPLP Profile F 1.0 16/12/14 1 0 3 6 611 1 1                      
+GKSMansley at stout.pmel.noXPPLP Profile F 1.0 17/05/11 1 0 3 6 611 1 1                      
   4      12       3       0
  51      29      19       1    1.00000       0
  56      39       2    1.00000    0.00000    0.00000
@@ -2824,6 +2824,8 @@ GKSMansley at stout.pmel.noXPPLP Profile F 1.0 16/12/14 1 0 3 6 611 1 1
  81       6      65
  21       6       1
  25       6       1
+ 21       6       1
+ 25       6       1
  71      44    0.00000    1.00000    0.00000    0.57516
  72      44    0.00000   15.30000    0.00000    8.80000
  11     446      20    0.79961    0.11466    0.80238    0.11905    0.80578    0.12414    0.80935    0.12905    0.81227    0.13254    0.81397    0.13395    0.81451    0.13366    0.81436    0.13250    0.81395    0.13119    0.81357    0.13010    0.81337    0.12940    0.81342    0.12916    0.81376    0.12940    0.81444    0.13016    0.81550    0.13150    0.81702    0.13348    0.81906    0.13620    0.82171    0.13976    0.82499    0.14419    0.82882    0.14936
@@ -2886,6 +2888,8 @@ GKSMansley at stout.pmel.noXPPLP Profile F 1.0 16/12/14 1 0 3 6 611 1 1
  11      50       2    0.77982    0.13618    0.77293    0.14582
  11     446      20    0.77982    0.13618    0.78060    0.13523    0.78141    0.13425    0.78223    0.13324    0.78309    0.13221    0.78396    0.13114    0.78486    0.13004    0.78579    0.12891    0.78675    0.12774    0.78774    0.12654    0.78875    0.12530    0.78981    0.12402    0.79089    0.12269    0.79201    0.12133    0.79317    0.11991    0.79437    0.11845    0.79561    0.11694    0.79690    0.11537    0.79823    0.11375    0.79961    0.11207
  11      50       2    0.79961    0.11207    0.79961    0.11466
+ 21       6       1
+ 25       6       1
  82       0
  81       6      66
  82       0
diff --git a/bench/metafile_masters_32bit/closed_lev.plt b/bench/metafile_masters_32bit/closed_lev.plt
index d796572..9241c92 100644
--- a/bench/metafile_masters_32bit/closed_lev.plt
+++ b/bench/metafile_masters_32bit/closed_lev.plt
@@ -75,7 +75,7 @@ GKSMansley at stout.pmel.noXPPLP Profile F 1.0 16/12/14 1 0 3 6 611 1 1
  44       6       0
  71      44    0.00000    1.00000    0.00000    0.86275
  72      44    0.00000   10.20000    0.00000    8.80000
- 81       6    1495
+ 81       6    1481
  21       6       1
  25       6       1
  56      39       8    0.38333    0.16667    1.00000
@@ -1437,110 +1437,110 @@ GKSMansley at stout.pmel.noXPPLP Profile F 1.0 16/12/14 1 0 3 6 611 1 1
  38       6       1
  14      72       3    0.41618    0.68024    0.43892    0.68024    0.42755    0.72549
  11      94       4    0.41618    0.68024    0.43892    0.68024    0.42755    0.72549    0.41618    0.68024
- 11     314      14    0.45946    0.18507    0.45946    0.18554    0.45993    0.18647    0.46040    0.18694    0.46133    0.18741    0.46320    0.18741    0.46413    0.18694    0.46460    0.18647    0.46507    0.18554    0.46507    0.18460    0.46460    0.18367    0.46366    0.18227    0.45900    0.17760    0.46553    0.17760
- 11      72       3    0.46366    0.23265    0.45900    0.22612    0.46600    0.22612
- 11      50       2    0.46366    0.23265    0.46366    0.22285
- 11     512      23    0.46507    0.27650    0.46460    0.27744    0.46320    0.27790    0.46226    0.27790    0.46086    0.27744    0.45993    0.27604    0.45946    0.27370    0.45946    0.27137    0.45993    0.26950    0.46086    0.26857    0.46226    0.26810    0.46273    0.26810    0.46413    0.26857    0.46507    0.26950    0.46553    0.27090    0.46553    0.27137    0.46507    0.27277    0.46413    0.27370    0.46273    0.27417    0.46226    0.27417    0.46086    0.27370    0.45993 [...]
- 11     644      29    0.46133    0.32315    0.45993    0.32269    0.45946    0.32175    0.45946    0.32082    0.45993    0.31988    0.46086    0.31942    0.46273    0.31895    0.46413    0.31848    0.46507    0.31755    0.46553    0.31662    0.46553    0.31522    0.46507    0.31428    0.46460    0.31382    0.46320    0.31335    0.46133    0.31335    0.45993    0.31382    0.45946    0.31428    0.45900    0.31522    0.45900    0.31662    0.45946    0.31755    0.46040    0.31848    0.46180 [...]
- 11      94       4    0.45106    0.36653    0.45199    0.36700    0.45339    0.36840    0.45339    0.35860
- 11     380      17    0.46180    0.36840    0.46040    0.36793    0.45946    0.36653    0.45900    0.36420    0.45900    0.36280    0.45946    0.36046    0.46040    0.35906    0.46180    0.35860    0.46273    0.35860    0.46413    0.35906    0.46507    0.36046    0.46553    0.36280    0.46553    0.36420    0.46507    0.36653    0.46413    0.36793    0.46273    0.36840    0.46180    0.36840
- 11      94       4    0.45106    0.41178    0.45199    0.41225    0.45339    0.41365    0.45339    0.40385
- 11     314      14    0.45946    0.41132    0.45946    0.41178    0.45993    0.41272    0.46040    0.41318    0.46133    0.41365    0.46320    0.41365    0.46413    0.41318    0.46460    0.41272    0.46507    0.41178    0.46507    0.41085    0.46460    0.40992    0.46366    0.40851    0.45900    0.40385    0.46553    0.40385
- 11      94       4    0.45106    0.45703    0.45199    0.45750    0.45339    0.45890    0.45339    0.44910
- 11      72       3    0.46366    0.45890    0.45900    0.45236    0.46600    0.45236
- 11      50       2    0.46366    0.45890    0.46366    0.44910
- 11      94       4    0.45106    0.50228    0.45199    0.50275    0.45339    0.50415    0.45339    0.49434
- 11     512      23    0.46507    0.50275    0.46460    0.50368    0.46320    0.50415    0.46226    0.50415    0.46086    0.50368    0.45993    0.50228    0.45946    0.49995    0.45946    0.49761    0.45993    0.49574    0.46086    0.49481    0.46226    0.49434    0.46273    0.49434    0.46413    0.49481    0.46507    0.49574    0.46553    0.49715    0.46553    0.49761    0.46507    0.49901    0.46413    0.49995    0.46273    0.50041    0.46226    0.50041    0.46086    0.49995    0.45993 [...]
- 11      94       4    0.45106    0.54753    0.45199    0.54800    0.45339    0.54940    0.45339    0.53959
- 11     644      29    0.46133    0.54940    0.45993    0.54893    0.45946    0.54800    0.45946    0.54706    0.45993    0.54613    0.46086    0.54566    0.46273    0.54520    0.46413    0.54473    0.46507    0.54379    0.46553    0.54286    0.46553    0.54146    0.46507    0.54053    0.46460    0.54006    0.46320    0.53959    0.46133    0.53959    0.45993    0.54006    0.45946    0.54053    0.45900    0.54146    0.45900    0.54286    0.45946    0.54379    0.46040    0.54473    0.46180 [...]
- 11     314      14    0.45013    0.59231    0.45013    0.59278    0.45059    0.59371    0.45106    0.59418    0.45199    0.59465    0.45386    0.59465    0.45479    0.59418    0.45526    0.59371    0.45573    0.59278    0.45573    0.59184    0.45526    0.59091    0.45433    0.58951    0.44966    0.58484    0.45620    0.58484
- 11     380      17    0.46180    0.59465    0.46040    0.59418    0.45946    0.59278    0.45900    0.59044    0.45900    0.58904    0.45946    0.58671    0.46040    0.58531    0.46180    0.58484    0.46273    0.58484    0.46413    0.58531    0.46507    0.58671    0.46553    0.58904    0.46553    0.59044    0.46507    0.59278    0.46413    0.59418    0.46273    0.59465    0.46180    0.59465
- 11     314      14    0.45013    0.63756    0.45013    0.63803    0.45059    0.63896    0.45106    0.63943    0.45199    0.63989    0.45386    0.63989    0.45479    0.63943    0.45526    0.63896    0.45573    0.63803    0.45573    0.63709    0.45526    0.63616    0.45433    0.63476    0.44966    0.63009    0.45620    0.63009
- 11     314      14    0.45946    0.63756    0.45946    0.63803    0.45993    0.63896    0.46040    0.63943    0.46133    0.63989    0.46320    0.63989    0.46413    0.63943    0.46460    0.63896    0.46507    0.63803    0.46507    0.63709    0.46460    0.63616    0.46366    0.63476    0.45900    0.63009    0.46553    0.63009
- 11     314      14    0.45013    0.68281    0.45013    0.68328    0.45059    0.68421    0.45106    0.68468    0.45199    0.68514    0.45386    0.68514    0.45479    0.68468    0.45526    0.68421    0.45573    0.68328    0.45573    0.68234    0.45526    0.68141    0.45433    0.68001    0.44966    0.67534    0.45620    0.67534
- 11      72       3    0.46366    0.68514    0.45900    0.67861    0.46600    0.67861
- 11      50       2    0.46366    0.68514    0.46366    0.67534
- 11     732      33    0.11765    0.13725    0.11765    0.13725    0.10539    0.13725    0.11765    0.13725    0.11765    0.20261    0.10539    0.20261    0.11765    0.20261    0.11765    0.26797    0.10539    0.26797    0.11765    0.26797    0.11765    0.33333    0.10539    0.33333    0.11765    0.33333    0.11765    0.39869    0.10539    0.39869    0.11765    0.39869    0.11765    0.46405    0.10539    0.46405    0.11765    0.46405    0.11765    0.52941    0.10539    0.52941    0.11765 [...]
+ 11     314      14    0.45316    0.18507    0.45316    0.18554    0.45363    0.18647    0.45409    0.18694    0.45503    0.18741    0.45690    0.18741    0.45783    0.18694    0.45830    0.18647    0.45876    0.18554    0.45876    0.18460    0.45830    0.18367    0.45736    0.18227    0.45269    0.17760    0.45923    0.17760
+ 11      72       3    0.45736    0.23265    0.45269    0.22612    0.45970    0.22612
+ 11      50       2    0.45736    0.23265    0.45736    0.22285
+ 11     512      23    0.45876    0.27650    0.45830    0.27744    0.45690    0.27790    0.45596    0.27790    0.45456    0.27744    0.45363    0.27604    0.45316    0.27370    0.45316    0.27137    0.45363    0.26950    0.45456    0.26857    0.45596    0.26810    0.45643    0.26810    0.45783    0.26857    0.45876    0.26950    0.45923    0.27090    0.45923    0.27137    0.45876    0.27277    0.45783    0.27370    0.45643    0.27417    0.45596    0.27417    0.45456    0.27370    0.45363 [...]
+ 11     644      29    0.45503    0.32315    0.45363    0.32269    0.45316    0.32175    0.45316    0.32082    0.45363    0.31988    0.45456    0.31942    0.45643    0.31895    0.45783    0.31848    0.45876    0.31755    0.45923    0.31662    0.45923    0.31522    0.45876    0.31428    0.45830    0.31382    0.45690    0.31335    0.45503    0.31335    0.45363    0.31382    0.45316    0.31428    0.45269    0.31522    0.45269    0.31662    0.45316    0.31755    0.45409    0.31848    0.45549 [...]
+ 11      94       4    0.44662    0.36653    0.44756    0.36700    0.44896    0.36840    0.44896    0.35860
+ 11     380      17    0.45736    0.36840    0.45596    0.36793    0.45503    0.36653    0.45456    0.36420    0.45456    0.36280    0.45503    0.36046    0.45596    0.35906    0.45736    0.35860    0.45830    0.35860    0.45970    0.35906    0.46063    0.36046    0.46110    0.36280    0.46110    0.36420    0.46063    0.36653    0.45970    0.36793    0.45830    0.36840    0.45736    0.36840
+ 11      94       4    0.44662    0.41178    0.44756    0.41225    0.44896    0.41365    0.44896    0.40385
+ 11     314      14    0.45503    0.41132    0.45503    0.41178    0.45549    0.41272    0.45596    0.41318    0.45690    0.41365    0.45876    0.41365    0.45970    0.41318    0.46016    0.41272    0.46063    0.41178    0.46063    0.41085    0.46016    0.40992    0.45923    0.40851    0.45456    0.40385    0.46110    0.40385
+ 11      94       4    0.44662    0.45703    0.44756    0.45750    0.44896    0.45890    0.44896    0.44910
+ 11      72       3    0.45923    0.45890    0.45456    0.45236    0.46156    0.45236
+ 11      50       2    0.45923    0.45890    0.45923    0.44910
+ 11      94       4    0.44662    0.50228    0.44756    0.50275    0.44896    0.50415    0.44896    0.49434
+ 11     512      23    0.46063    0.50275    0.46016    0.50368    0.45876    0.50415    0.45783    0.50415    0.45643    0.50368    0.45549    0.50228    0.45503    0.49995    0.45503    0.49761    0.45549    0.49574    0.45643    0.49481    0.45783    0.49434    0.45830    0.49434    0.45970    0.49481    0.46063    0.49574    0.46110    0.49715    0.46110    0.49761    0.46063    0.49901    0.45970    0.49995    0.45830    0.50041    0.45783    0.50041    0.45643    0.49995    0.45549 [...]
+ 11      94       4    0.44662    0.54753    0.44756    0.54800    0.44896    0.54940    0.44896    0.53959
+ 11     644      29    0.45690    0.54940    0.45549    0.54893    0.45503    0.54800    0.45503    0.54706    0.45549    0.54613    0.45643    0.54566    0.45830    0.54520    0.45970    0.54473    0.46063    0.54379    0.46110    0.54286    0.46110    0.54146    0.46063    0.54053    0.46016    0.54006    0.45876    0.53959    0.45690    0.53959    0.45549    0.54006    0.45503    0.54053    0.45456    0.54146    0.45456    0.54286    0.45503    0.54379    0.45596    0.54473    0.45736 [...]
+ 11     314      14    0.44569    0.59231    0.44569    0.59278    0.44616    0.59371    0.44662    0.59418    0.44756    0.59465    0.44943    0.59465    0.45036    0.59418    0.45083    0.59371    0.45129    0.59278    0.45129    0.59184    0.45083    0.59091    0.44989    0.58951    0.44522    0.58484    0.45176    0.58484
+ 11     380      17    0.45736    0.59465    0.45596    0.59418    0.45503    0.59278    0.45456    0.59044    0.45456    0.58904    0.45503    0.58671    0.45596    0.58531    0.45736    0.58484    0.45830    0.58484    0.45970    0.58531    0.46063    0.58671    0.46110    0.58904    0.46110    0.59044    0.46063    0.59278    0.45970    0.59418    0.45830    0.59465    0.45736    0.59465
+ 11     314      14    0.44569    0.63756    0.44569    0.63803    0.44616    0.63896    0.44662    0.63943    0.44756    0.63989    0.44943    0.63989    0.45036    0.63943    0.45083    0.63896    0.45129    0.63803    0.45129    0.63709    0.45083    0.63616    0.44989    0.63476    0.44522    0.63009    0.45176    0.63009
+ 11     314      14    0.45503    0.63756    0.45503    0.63803    0.45549    0.63896    0.45596    0.63943    0.45690    0.63989    0.45876    0.63989    0.45970    0.63943    0.46016    0.63896    0.46063    0.63803    0.46063    0.63709    0.46016    0.63616    0.45923    0.63476    0.45456    0.63009    0.46110    0.63009
+ 11     314      14    0.44569    0.68281    0.44569    0.68328    0.44616    0.68421    0.44662    0.68468    0.44756    0.68514    0.44943    0.68514    0.45036    0.68468    0.45083    0.68421    0.45129    0.68328    0.45129    0.68234    0.45083    0.68141    0.44989    0.68001    0.44522    0.67534    0.45176    0.67534
+ 11      72       3    0.45923    0.68514    0.45456    0.67861    0.46156    0.67861
+ 11      50       2    0.45923    0.68514    0.45923    0.67534
+ 11     732      33    0.11765    0.13725    0.11765    0.13725    0.11765    0.13725    0.10539    0.13725    0.11765    0.13725    0.11765    0.20261    0.10539    0.20261    0.11765    0.20261    0.11765    0.26797    0.10539    0.26797    0.11765    0.26797    0.11765    0.33333    0.10539    0.33333    0.11765    0.33333    0.11765    0.39869    0.10539    0.39869    0.11765    0.39869    0.11765    0.46405    0.10539    0.46405    0.11765    0.46405    0.11765    0.52941    0.10539 [...]
  11     644      29    0.06723    0.20752    0.06583    0.20705    0.06536    0.20612    0.06536    0.20518    0.06583    0.20425    0.06676    0.20378    0.06863    0.20331    0.07003    0.20285    0.07096    0.20191    0.07143    0.20098    0.07143    0.19958    0.07096    0.19865    0.07049    0.19818    0.06909    0.19771    0.06723    0.19771    0.06583    0.19818    0.06536    0.19865    0.06489    0.19958    0.06489    0.20098    0.06536    0.20191    0.06629    0.20285    0.06769 [...]
  11     380      17    0.07703    0.20752    0.07563    0.20705    0.07470    0.20565    0.07423    0.20331    0.07423    0.20191    0.07470    0.19958    0.07563    0.19818    0.07703    0.19771    0.07796    0.19771    0.07937    0.19818    0.08030    0.19958    0.08077    0.20191    0.08077    0.20331    0.08030    0.20565    0.07937    0.20705    0.07796    0.20752    0.07703    0.20752
  11     292      13    0.08497    0.20752    0.08403    0.20705    0.08357    0.20612    0.08357    0.20518    0.08403    0.20425    0.08497    0.20378    0.08590    0.20378    0.08683    0.20425    0.08730    0.20518    0.08730    0.20612    0.08683    0.20705    0.08590    0.20752    0.08497    0.20752
- 11     446      20    0.09897    0.20612    0.09804    0.20705    0.09664    0.20752    0.09477    0.20752    0.09337    0.20705    0.09244    0.20612    0.09244    0.20518    0.09290    0.20425    0.09337    0.20378    0.09430    0.20331    0.09711    0.20238    0.09804    0.20191    0.09851    0.20145    0.09897    0.20051    0.09897    0.19911    0.09804    0.19818    0.09664    0.19771    0.09477    0.19771    0.09337    0.19818    0.09244    0.19911
+ 11     446      20    0.09664    0.20612    0.09570    0.20705    0.09430    0.20752    0.09244    0.20752    0.09104    0.20705    0.09010    0.20612    0.09010    0.20518    0.09057    0.20425    0.09104    0.20378    0.09197    0.20331    0.09477    0.20238    0.09570    0.20191    0.09617    0.20145    0.09664    0.20051    0.09664    0.19911    0.09570    0.19818    0.09430    0.19771    0.09244    0.19771    0.09104    0.19818    0.09010    0.19911
  11     512      23    0.07096    0.33683    0.07049    0.33777    0.06909    0.33824    0.06816    0.33824    0.06676    0.33777    0.06583    0.33637    0.06536    0.33403    0.06536    0.33170    0.06583    0.32983    0.06676    0.32890    0.06816    0.32843    0.06863    0.32843    0.07003    0.32890    0.07096    0.32983    0.07143    0.33123    0.07143    0.33170    0.07096    0.33310    0.07003    0.33403    0.06863    0.33450    0.06816    0.33450    0.06676    0.33403    0.06583 [...]
  11     380      17    0.07703    0.33824    0.07563    0.33777    0.07470    0.33637    0.07423    0.33403    0.07423    0.33263    0.07470    0.33030    0.07563    0.32890    0.07703    0.32843    0.07796    0.32843    0.07937    0.32890    0.08030    0.33030    0.08077    0.33263    0.08077    0.33403    0.08030    0.33637    0.07937    0.33777    0.07796    0.33824    0.07703    0.33824
  11     292      13    0.08497    0.33824    0.08403    0.33777    0.08357    0.33683    0.08357    0.33590    0.08403    0.33497    0.08497    0.33450    0.08590    0.33450    0.08683    0.33497    0.08730    0.33590    0.08730    0.33683    0.08683    0.33777    0.08590    0.33824    0.08497    0.33824
- 11     446      20    0.09897    0.33683    0.09804    0.33777    0.09664    0.33824    0.09477    0.33824    0.09337    0.33777    0.09244    0.33683    0.09244    0.33590    0.09290    0.33497    0.09337    0.33450    0.09430    0.33403    0.09711    0.33310    0.09804    0.33263    0.09851    0.33217    0.09897    0.33123    0.09897    0.32983    0.09804    0.32890    0.09664    0.32843    0.09477    0.32843    0.09337    0.32890    0.09244    0.32983
+ 11     446      20    0.09664    0.33683    0.09570    0.33777    0.09430    0.33824    0.09244    0.33824    0.09104    0.33777    0.09010    0.33683    0.09010    0.33590    0.09057    0.33497    0.09104    0.33450    0.09197    0.33403    0.09477    0.33310    0.09570    0.33263    0.09617    0.33217    0.09664    0.33123    0.09664    0.32983    0.09570    0.32890    0.09430    0.32843    0.09244    0.32843    0.09104    0.32890    0.09010    0.32983
  11      72       3    0.06956    0.46895    0.06489    0.46242    0.07190    0.46242
  11      50       2    0.06956    0.46895    0.06956    0.45915
  11     380      17    0.07703    0.46895    0.07563    0.46849    0.07470    0.46709    0.07423    0.46475    0.07423    0.46335    0.07470    0.46102    0.07563    0.45962    0.07703    0.45915    0.07796    0.45915    0.07937    0.45962    0.08030    0.46102    0.08077    0.46335    0.08077    0.46475    0.08030    0.46709    0.07937    0.46849    0.07796    0.46895    0.07703    0.46895
  11     292      13    0.08497    0.46895    0.08403    0.46849    0.08357    0.46755    0.08357    0.46662    0.08403    0.46569    0.08497    0.46522    0.08590    0.46522    0.08683    0.46569    0.08730    0.46662    0.08730    0.46755    0.08683    0.46849    0.08590    0.46895    0.08497    0.46895
- 11     446      20    0.09897    0.46755    0.09804    0.46849    0.09664    0.46895    0.09477    0.46895    0.09337    0.46849    0.09244    0.46755    0.09244    0.46662    0.09290    0.46569    0.09337    0.46522    0.09430    0.46475    0.09711    0.46382    0.09804    0.46335    0.09851    0.46289    0.09897    0.46195    0.09897    0.46055    0.09804    0.45962    0.09664    0.45915    0.09477    0.45915    0.09337    0.45962    0.09244    0.46055
+ 11     446      20    0.09664    0.46755    0.09570    0.46849    0.09430    0.46895    0.09244    0.46895    0.09104    0.46849    0.09010    0.46755    0.09010    0.46662    0.09057    0.46569    0.09104    0.46522    0.09197    0.46475    0.09477    0.46382    0.09570    0.46335    0.09617    0.46289    0.09664    0.46195    0.09664    0.46055    0.09570    0.45962    0.09430    0.45915    0.09244    0.45915    0.09104    0.45962    0.09010    0.46055
  11     314      14    0.06536    0.59734    0.06536    0.59781    0.06583    0.59874    0.06629    0.59921    0.06723    0.59967    0.06909    0.59967    0.07003    0.59921    0.07049    0.59874    0.07096    0.59781    0.07096    0.59687    0.07049    0.59594    0.06956    0.59454    0.06489    0.58987    0.07143    0.58987
  11     380      17    0.07703    0.59967    0.07563    0.59921    0.07470    0.59781    0.07423    0.59547    0.07423    0.59407    0.07470    0.59174    0.07563    0.59034    0.07703    0.58987    0.07796    0.58987    0.07937    0.59034    0.08030    0.59174    0.08077    0.59407    0.08077    0.59547    0.08030    0.59781    0.07937    0.59921    0.07796    0.59967    0.07703    0.59967
  11     292      13    0.08497    0.59967    0.08403    0.59921    0.08357    0.59827    0.08357    0.59734    0.08403    0.59641    0.08497    0.59594    0.08590    0.59594    0.08683    0.59641    0.08730    0.59734    0.08730    0.59827    0.08683    0.59921    0.08590    0.59967    0.08497    0.59967
- 11     446      20    0.09897    0.59827    0.09804    0.59921    0.09664    0.59967    0.09477    0.59967    0.09337    0.59921    0.09244    0.59827    0.09244    0.59734    0.09290    0.59641    0.09337    0.59594    0.09430    0.59547    0.09711    0.59454    0.09804    0.59407    0.09851    0.59360    0.09897    0.59267    0.09897    0.59127    0.09804    0.59034    0.09664    0.58987    0.09477    0.58987    0.09337    0.59034    0.09244    0.59127
- 11     380      17    0.07890    0.73039    0.07750    0.72993    0.07656    0.72852    0.07610    0.72619    0.07610    0.72479    0.07656    0.72246    0.07750    0.72106    0.07890    0.72059    0.07983    0.72059    0.08123    0.72106    0.08217    0.72246    0.08263    0.72479    0.08263    0.72619    0.08217    0.72852    0.08123    0.72993    0.07983    0.73039    0.07890    0.73039
- 11     292      13    0.08683    0.73039    0.08590    0.72993    0.08543    0.72899    0.08543    0.72806    0.08590    0.72712    0.08683    0.72666    0.08777    0.72666    0.08870    0.72712    0.08917    0.72806    0.08917    0.72899    0.08870    0.72993    0.08777    0.73039    0.08683    0.73039
- 11     732      33    0.40196    0.13725    0.40196    0.13725    0.41422    0.13725    0.40196    0.13725    0.40196    0.20261    0.41422    0.20261    0.40196    0.20261    0.40196    0.26797    0.41422    0.26797    0.40196    0.26797    0.40196    0.33333    0.41422    0.33333    0.40196    0.33333    0.40196    0.39869    0.41422    0.39869    0.40196    0.39869    0.40196    0.46405    0.41422    0.46405    0.40196    0.46405    0.40196    0.52941    0.41422    0.52941    0.40196 [...]
- 11     798      36    0.13542    0.72549    0.13542    0.72549    0.13542    0.73775    0.13542    0.72549    0.16207    0.72549    0.16207    0.73775    0.16207    0.72549    0.18873    0.72549    0.18873    0.73775    0.18873    0.72549    0.21538    0.72549    0.21538    0.73775    0.21538    0.72549    0.24203    0.72549    0.24203    0.73775    0.24203    0.72549    0.26869    0.72549    0.26869    0.73775    0.26869    0.72549    0.29534    0.72549    0.29534    0.73775    0.29534 [...]
- 11     798      36    0.13542    0.13725    0.13542    0.13725    0.13542    0.12500    0.13542    0.13725    0.16207    0.13725    0.16207    0.12500    0.16207    0.13725    0.18873    0.13725    0.18873    0.12500    0.18873    0.13725    0.21538    0.13725    0.21538    0.12500    0.21538    0.13725    0.24203    0.13725    0.24203    0.12500    0.24203    0.13725    0.26869    0.13725    0.26869    0.12500    0.26869    0.13725    0.29534    0.13725    0.29534    0.12500    0.29534 [...]
- 11     336      15    0.11628    0.11618    0.12141    0.11618    0.11861    0.11244    0.12001    0.11244    0.12094    0.11197    0.12141    0.11151    0.12188    0.11011    0.12188    0.10917    0.12141    0.10777    0.12048    0.10684    0.11908    0.10637    0.11768    0.10637    0.11628    0.10684    0.11581    0.10731    0.11534    0.10824
- 11     380      17    0.12748    0.11618    0.12608    0.11571    0.12515    0.11431    0.12468    0.11197    0.12468    0.11057    0.12515    0.10824    0.12608    0.10684    0.12748    0.10637    0.12841    0.10637    0.12981    0.10684    0.13075    0.10824    0.13121    0.11057    0.13121    0.11197    0.13075    0.11431    0.12981    0.11571    0.12841    0.11618    0.12748    0.11618
- 11     292      13    0.13542    0.11618    0.13448    0.11571    0.13402    0.11478    0.13402    0.11384    0.13448    0.11291    0.13542    0.11244    0.13635    0.11244    0.13728    0.11291    0.13775    0.11384    0.13775    0.11478    0.13728    0.11571    0.13635    0.11618    0.13542    0.11618
- 11      50       2    0.14324    0.11618    0.14324    0.10637
- 11      50       2    0.14324    0.11618    0.14931    0.11618
- 11      50       2    0.14324    0.11151    0.14697    0.11151
- 11      50       2    0.14324    0.10637    0.14931    0.10637
- 11     512      23    0.17472    0.11478    0.17425    0.11571    0.17285    0.11618    0.17192    0.11618    0.17052    0.11571    0.16958    0.11431    0.16912    0.11197    0.16912    0.10964    0.16958    0.10777    0.17052    0.10684    0.17192    0.10637    0.17239    0.10637    0.17379    0.10684    0.17472    0.10777    0.17519    0.10917    0.17519    0.10964    0.17472    0.11104    0.17379    0.11197    0.17239    0.11244    0.17192    0.11244    0.17052    0.11197    0.16958 [...]
- 11     380      17    0.18079    0.11618    0.17939    0.11571    0.17845    0.11431    0.17799    0.11197    0.17799    0.11057    0.17845    0.10824    0.17939    0.10684    0.18079    0.10637    0.18172    0.10637    0.18312    0.10684    0.18406    0.10824    0.18452    0.11057    0.18452    0.11197    0.18406    0.11431    0.18312    0.11571    0.18172    0.11618    0.18079    0.11618
- 11     292      13    0.18873    0.11618    0.18779    0.11571    0.18732    0.11478    0.18732    0.11384    0.18779    0.11291    0.18873    0.11244    0.18966    0.11244    0.19059    0.11291    0.19106    0.11384    0.19106    0.11478    0.19059    0.11571    0.18966    0.11618    0.18873    0.11618
- 11      50       2    0.19655    0.11618    0.19655    0.10637
- 11      50       2    0.19655    0.11618    0.20261    0.11618
- 11      50       2    0.19655    0.11151    0.20028    0.11151
- 11      50       2    0.19655    0.10637    0.20261    0.10637
- 11     512      23    0.22803    0.11291    0.22756    0.11151    0.22663    0.11057    0.22523    0.11011    0.22476    0.11011    0.22336    0.11057    0.22243    0.11151    0.22196    0.11291    0.22196    0.11338    0.22243    0.11478    0.22336    0.11571    0.22476    0.11618    0.22523    0.11618    0.22663    0.11571    0.22756    0.11478    0.22803    0.11291    0.22803    0.11057    0.22756    0.10824    0.22663    0.10684    0.22523    0.10637    0.22429    0.10637    0.22289 [...]
- 11     380      17    0.23410    0.11618    0.23270    0.11571    0.23176    0.11431    0.23130    0.11197    0.23130    0.11057    0.23176    0.10824    0.23270    0.10684    0.23410    0.10637    0.23503    0.10637    0.23643    0.10684    0.23737    0.10824    0.23783    0.11057    0.23783    0.11197    0.23737    0.11431    0.23643    0.11571    0.23503    0.11618    0.23410    0.11618
- 11     292      13    0.24203    0.11618    0.24110    0.11571    0.24063    0.11478    0.24063    0.11384    0.24110    0.11291    0.24203    0.11244    0.24297    0.11244    0.24390    0.11291    0.24437    0.11384    0.24437    0.11478    0.24390    0.11571    0.24297    0.11618    0.24203    0.11618
- 11      50       2    0.24985    0.11618    0.24985    0.10637
- 11      50       2    0.24985    0.11618    0.25592    0.11618
- 11      50       2    0.24985    0.11151    0.25359    0.11151
- 11      50       2    0.24985    0.10637    0.25592    0.10637
- 11      94       4    0.27200    0.11431    0.27293    0.11478    0.27433    0.11618    0.27433    0.10637
- 11     314      14    0.28040    0.11384    0.28040    0.11431    0.28087    0.11524    0.28134    0.11571    0.28227    0.11618    0.28414    0.11618    0.28507    0.11571    0.28554    0.11524    0.28601    0.11431    0.28601    0.11338    0.28554    0.11244    0.28461    0.11104    0.27994    0.10637    0.28647    0.10637
- 11     380      17    0.29208    0.11618    0.29067    0.11571    0.28974    0.11431    0.28927    0.11197    0.28927    0.11057    0.28974    0.10824    0.29067    0.10684    0.29208    0.10637    0.29301    0.10637    0.29441    0.10684    0.29534    0.10824    0.29581    0.11057    0.29581    0.11197    0.29534    0.11431    0.29441    0.11571    0.29301    0.11618    0.29208    0.11618
- 11     292      13    0.30001    0.11618    0.29908    0.11571    0.29861    0.11478    0.29861    0.11384    0.29908    0.11291    0.30001    0.11244    0.30095    0.11244    0.30188    0.11291    0.30235    0.11384    0.30235    0.11478    0.30188    0.11571    0.30095    0.11618    0.30001    0.11618
- 11      50       2    0.30783    0.11618    0.30783    0.10637
- 11      50       2    0.30783    0.11618    0.31390    0.11618
- 11      50       2    0.30783    0.11151    0.31157    0.11151
- 11      50       2    0.30783    0.10637    0.31390    0.10637
- 11      94       4    0.32531    0.11431    0.32624    0.11478    0.32764    0.11618    0.32764    0.10637
- 11     380      17    0.33885    0.11618    0.33418    0.11618    0.33371    0.11197    0.33418    0.11244    0.33558    0.11291    0.33698    0.11291    0.33838    0.11244    0.33931    0.11151    0.33978    0.11011    0.33978    0.10917    0.33931    0.10777    0.33838    0.10684    0.33698    0.10637    0.33558    0.10637    0.33418    0.10684    0.33371    0.10731    0.33325    0.10824
- 11     380      17    0.34538    0.11618    0.34398    0.11571    0.34305    0.11431    0.34258    0.11197    0.34258    0.11057    0.34305    0.10824    0.34398    0.10684    0.34538    0.10637    0.34632    0.10637    0.34772    0.10684    0.34865    0.10824    0.34912    0.11057    0.34912    0.11197    0.34865    0.11431    0.34772    0.11571    0.34632    0.11618    0.34538    0.11618
- 11     292      13    0.35332    0.11618    0.35239    0.11571    0.35192    0.11478    0.35192    0.11384    0.35239    0.11291    0.35332    0.11244    0.35425    0.11244    0.35519    0.11291    0.35565    0.11384    0.35565    0.11478    0.35519    0.11571    0.35425    0.11618    0.35332    0.11618
- 11      50       2    0.36114    0.11618    0.36114    0.10637
- 11      50       2    0.36114    0.11618    0.36721    0.11618
- 11      50       2    0.36114    0.11151    0.36488    0.11151
- 11      50       2    0.36114    0.10637    0.36721    0.10637
- 11      94       4    0.38002    0.11431    0.38095    0.11478    0.38235    0.11618    0.38235    0.10637
- 11     644      29    0.39029    0.11618    0.38889    0.11571    0.38842    0.11478    0.38842    0.11384    0.38889    0.11291    0.38982    0.11244    0.39169    0.11197    0.39309    0.11151    0.39402    0.11057    0.39449    0.10964    0.39449    0.10824    0.39402    0.10731    0.39356    0.10684    0.39216    0.10637    0.39029    0.10637    0.38889    0.10684    0.38842    0.10731    0.38796    0.10824    0.38796    0.10964    0.38842    0.11057    0.38936    0.11151    0.39076 [...]
- 11     380      17    0.40009    0.11618    0.39869    0.11571    0.39776    0.11431    0.39729    0.11197    0.39729    0.11057    0.39776    0.10824    0.39869    0.10684    0.40009    0.10637    0.40103    0.10637    0.40243    0.10684    0.40336    0.10824    0.40383    0.11057    0.40383    0.11197    0.40336    0.11431    0.40243    0.11571    0.40103    0.11618    0.40009    0.11618
- 11     292      13    0.40803    0.11618    0.40710    0.11571    0.40663    0.11478    0.40663    0.11384    0.40710    0.11291    0.40803    0.11244    0.40896    0.11244    0.40990    0.11291    0.41036    0.11384    0.41036    0.11478    0.40990    0.11571    0.40896    0.11618    0.40803    0.11618
- 11      50       2    0.03810    0.39524    0.04986    0.39524
- 11      50       2    0.04986    0.39524    0.04986    0.40196
- 11      50       2    0.03810    0.40756    0.04986    0.40308
- 11      50       2    0.03810    0.40756    0.04986    0.41204
- 11      50       2    0.04594    0.40476    0.04594    0.41036
- 11      50       2    0.03810    0.41709    0.04986    0.41709
- 11      50       2    0.03810    0.41317    0.03810    0.42101
- 11      50       2    0.03810    0.42381    0.04986    0.42381
- 11      50       2    0.03810    0.43053    0.04986    0.43053
- 11      50       2    0.03810    0.42661    0.03810    0.43445
- 11     226      10    0.03810    0.43725    0.04650    0.43725    0.04818    0.43782    0.04930    0.43894    0.04986    0.44062    0.04986    0.44174    0.04930    0.44342    0.04818    0.44454    0.04650    0.44510    0.03810    0.44510
- 11      50       2    0.03810    0.44958    0.04986    0.44958
- 11     270      12    0.03810    0.44958    0.03810    0.45350    0.03866    0.45518    0.03978    0.45630    0.04090    0.45686    0.04258    0.45742    0.04538    0.45742    0.04706    0.45686    0.04818    0.45630    0.04930    0.45518    0.04986    0.45350    0.04986    0.44958
- 11      50       2    0.03810    0.46134    0.04986    0.46134
- 11      50       2    0.03810    0.46134    0.03810    0.46863
- 11      50       2    0.04370    0.46134    0.04370    0.46583
- 11      50       2    0.04986    0.46134    0.04986    0.46863
+ 11     446      20    0.09664    0.59827    0.09570    0.59921    0.09430    0.59967    0.09244    0.59967    0.09104    0.59921    0.09010    0.59827    0.09010    0.59734    0.09057    0.59641    0.09104    0.59594    0.09197    0.59547    0.09477    0.59454    0.09570    0.59407    0.09617    0.59360    0.09664    0.59267    0.09664    0.59127    0.09570    0.59034    0.09430    0.58987    0.09244    0.58987    0.09104    0.59034    0.09010    0.59127
+ 11     380      17    0.08637    0.73039    0.08497    0.72993    0.08403    0.72852    0.08357    0.72619    0.08357    0.72479    0.08403    0.72246    0.08497    0.72106    0.08637    0.72059    0.08730    0.72059    0.08870    0.72106    0.08964    0.72246    0.09010    0.72479    0.09010    0.72619    0.08964    0.72852    0.08870    0.72993    0.08730    0.73039    0.08637    0.73039
+ 11     292      13    0.09430    0.73039    0.09337    0.72993    0.09290    0.72899    0.09290    0.72806    0.09337    0.72712    0.09430    0.72666    0.09524    0.72666    0.09617    0.72712    0.09664    0.72806    0.09664    0.72899    0.09617    0.72993    0.09524    0.73039    0.09430    0.73039
+ 11     732      33    0.40196    0.13725    0.40196    0.13725    0.40196    0.13725    0.41422    0.13725    0.40196    0.13725    0.40196    0.20261    0.41422    0.20261    0.40196    0.20261    0.40196    0.26797    0.41422    0.26797    0.40196    0.26797    0.40196    0.33333    0.41422    0.33333    0.40196    0.33333    0.40196    0.39869    0.41422    0.39869    0.40196    0.39869    0.40196    0.46405    0.41422    0.46405    0.40196    0.46405    0.40196    0.52941    0.41422 [...]
+ 11     798      36    0.13542    0.72549    0.11765    0.72549    0.13542    0.72549    0.13542    0.73775    0.13542    0.72549    0.16207    0.72549    0.16207    0.73775    0.16207    0.72549    0.18873    0.72549    0.18873    0.73775    0.18873    0.72549    0.21538    0.72549    0.21538    0.73775    0.21538    0.72549    0.24203    0.72549    0.24203    0.73775    0.24203    0.72549    0.26869    0.72549    0.26869    0.73775    0.26869    0.72549    0.29534    0.72549    0.29534 [...]
+ 11     798      36    0.13542    0.13725    0.11765    0.13725    0.13542    0.13725    0.13542    0.12500    0.13542    0.13725    0.16207    0.13725    0.16207    0.12500    0.16207    0.13725    0.18873    0.13725    0.18873    0.12500    0.18873    0.13725    0.21538    0.13725    0.21538    0.12500    0.21538    0.13725    0.24203    0.13725    0.24203    0.12500    0.24203    0.13725    0.26869    0.13725    0.26869    0.12500    0.26869    0.13725    0.29534    0.13725    0.29534 [...]
+ 11     336      15    0.12071    0.11618    0.12585    0.11618    0.12305    0.11244    0.12445    0.11244    0.12538    0.11197    0.12585    0.11151    0.12631    0.11011    0.12631    0.10917    0.12585    0.10777    0.12491    0.10684    0.12351    0.10637    0.12211    0.10637    0.12071    0.10684    0.12024    0.10731    0.11978    0.10824
+ 11     380      17    0.13192    0.11618    0.13051    0.11571    0.12958    0.11431    0.12911    0.11197    0.12911    0.11057    0.12958    0.10824    0.13051    0.10684    0.13192    0.10637    0.13285    0.10637    0.13425    0.10684    0.13518    0.10824    0.13565    0.11057    0.13565    0.11197    0.13518    0.11431    0.13425    0.11571    0.13285    0.11618    0.13192    0.11618
+ 11     292      13    0.13985    0.11618    0.13892    0.11571    0.13845    0.11478    0.13845    0.11384    0.13892    0.11291    0.13985    0.11244    0.14079    0.11244    0.14172    0.11291    0.14219    0.11384    0.14219    0.11478    0.14172    0.11571    0.14079    0.11618    0.13985    0.11618
+ 11      50       2    0.14545    0.11618    0.14545    0.10637
+ 11      50       2    0.14545    0.11618    0.15152    0.11618
+ 11      50       2    0.14545    0.11151    0.14919    0.11151
+ 11      50       2    0.14545    0.10637    0.15152    0.10637
+ 11     512      23    0.17916    0.11478    0.17869    0.11571    0.17729    0.11618    0.17635    0.11618    0.17495    0.11571    0.17402    0.11431    0.17355    0.11197    0.17355    0.10964    0.17402    0.10777    0.17495    0.10684    0.17635    0.10637    0.17682    0.10637    0.17822    0.10684    0.17916    0.10777    0.17962    0.10917    0.17962    0.10964    0.17916    0.11104    0.17822    0.11197    0.17682    0.11244    0.17635    0.11244    0.17495    0.11197    0.17402 [...]
+ 11     380      17    0.18522    0.11618    0.18382    0.11571    0.18289    0.11431    0.18242    0.11197    0.18242    0.11057    0.18289    0.10824    0.18382    0.10684    0.18522    0.10637    0.18616    0.10637    0.18756    0.10684    0.18849    0.10824    0.18896    0.11057    0.18896    0.11197    0.18849    0.11431    0.18756    0.11571    0.18616    0.11618    0.18522    0.11618
+ 11     292      13    0.19316    0.11618    0.19223    0.11571    0.19176    0.11478    0.19176    0.11384    0.19223    0.11291    0.19316    0.11244    0.19409    0.11244    0.19503    0.11291    0.19549    0.11384    0.19549    0.11478    0.19503    0.11571    0.19409    0.11618    0.19316    0.11618
+ 11      50       2    0.19876    0.11618    0.19876    0.10637
+ 11      50       2    0.19876    0.11618    0.20483    0.11618
+ 11      50       2    0.19876    0.11151    0.20250    0.11151
+ 11      50       2    0.19876    0.10637    0.20483    0.10637
+ 11     512      23    0.23246    0.11291    0.23200    0.11151    0.23106    0.11057    0.22966    0.11011    0.22920    0.11011    0.22780    0.11057    0.22686    0.11151    0.22639    0.11291    0.22639    0.11338    0.22686    0.11478    0.22780    0.11571    0.22920    0.11618    0.22966    0.11618    0.23106    0.11571    0.23200    0.11478    0.23246    0.11291    0.23246    0.11057    0.23200    0.10824    0.23106    0.10684    0.22966    0.10637    0.22873    0.10637    0.22733 [...]
+ 11     380      17    0.23853    0.11618    0.23713    0.11571    0.23620    0.11431    0.23573    0.11197    0.23573    0.11057    0.23620    0.10824    0.23713    0.10684    0.23853    0.10637    0.23947    0.10637    0.24087    0.10684    0.24180    0.10824    0.24227    0.11057    0.24227    0.11197    0.24180    0.11431    0.24087    0.11571    0.23947    0.11618    0.23853    0.11618
+ 11     292      13    0.24647    0.11618    0.24554    0.11571    0.24507    0.11478    0.24507    0.11384    0.24554    0.11291    0.24647    0.11244    0.24740    0.11244    0.24834    0.11291    0.24880    0.11384    0.24880    0.11478    0.24834    0.11571    0.24740    0.11618    0.24647    0.11618
+ 11      50       2    0.25207    0.11618    0.25207    0.10637
+ 11      50       2    0.25207    0.11618    0.25814    0.11618
+ 11      50       2    0.25207    0.11151    0.25581    0.11151
+ 11      50       2    0.25207    0.10637    0.25814    0.10637
+ 11      94       4    0.27644    0.11431    0.27737    0.11478    0.27877    0.11618    0.27877    0.10637
+ 11     314      14    0.28484    0.11384    0.28484    0.11431    0.28531    0.11524    0.28577    0.11571    0.28671    0.11618    0.28857    0.11618    0.28951    0.11571    0.28997    0.11524    0.29044    0.11431    0.29044    0.11338    0.28997    0.11244    0.28904    0.11104    0.28437    0.10637    0.29091    0.10637
+ 11     380      17    0.29651    0.11618    0.29511    0.11571    0.29418    0.11431    0.29371    0.11197    0.29371    0.11057    0.29418    0.10824    0.29511    0.10684    0.29651    0.10637    0.29744    0.10637    0.29884    0.10684    0.29978    0.10824    0.30025    0.11057    0.30025    0.11197    0.29978    0.11431    0.29884    0.11571    0.29744    0.11618    0.29651    0.11618
+ 11     292      13    0.30445    0.11618    0.30351    0.11571    0.30305    0.11478    0.30305    0.11384    0.30351    0.11291    0.30445    0.11244    0.30538    0.11244    0.30631    0.11291    0.30678    0.11384    0.30678    0.11478    0.30631    0.11571    0.30538    0.11618    0.30445    0.11618
+ 11      50       2    0.31005    0.11618    0.31005    0.10637
+ 11      50       2    0.31005    0.11618    0.31612    0.11618
+ 11      50       2    0.31005    0.11151    0.31378    0.11151
+ 11      50       2    0.31005    0.10637    0.31612    0.10637
+ 11      94       4    0.32974    0.11431    0.33068    0.11478    0.33208    0.11618    0.33208    0.10637
+ 11     380      17    0.34328    0.11618    0.33861    0.11618    0.33815    0.11197    0.33861    0.11244    0.34002    0.11291    0.34142    0.11291    0.34282    0.11244    0.34375    0.11151    0.34422    0.11011    0.34422    0.10917    0.34375    0.10777    0.34282    0.10684    0.34142    0.10637    0.34002    0.10637    0.33861    0.10684    0.33815    0.10731    0.33768    0.10824
+ 11     380      17    0.34982    0.11618    0.34842    0.11571    0.34748    0.11431    0.34702    0.11197    0.34702    0.11057    0.34748    0.10824    0.34842    0.10684    0.34982    0.10637    0.35075    0.10637    0.35215    0.10684    0.35309    0.10824    0.35355    0.11057    0.35355    0.11197    0.35309    0.11431    0.35215    0.11571    0.35075    0.11618    0.34982    0.11618
+ 11     292      13    0.35776    0.11618    0.35682    0.11571    0.35636    0.11478    0.35636    0.11384    0.35682    0.11291    0.35776    0.11244    0.35869    0.11244    0.35962    0.11291    0.36009    0.11384    0.36009    0.11478    0.35962    0.11571    0.35869    0.11618    0.35776    0.11618
+ 11      50       2    0.36336    0.11618    0.36336    0.10637
+ 11      50       2    0.36336    0.11618    0.36943    0.11618
+ 11      50       2    0.36336    0.11151    0.36709    0.11151
+ 11      50       2    0.36336    0.10637    0.36943    0.10637
+ 11      94       4    0.38749    0.11431    0.38842    0.11478    0.38982    0.11618    0.38982    0.10637
+ 11     644      29    0.39776    0.11618    0.39636    0.11571    0.39589    0.11478    0.39589    0.11384    0.39636    0.11291    0.39729    0.11244    0.39916    0.11197    0.40056    0.11151    0.40149    0.11057    0.40196    0.10964    0.40196    0.10824    0.40149    0.10731    0.40103    0.10684    0.39963    0.10637    0.39776    0.10637    0.39636    0.10684    0.39589    0.10731    0.39542    0.10824    0.39542    0.10964    0.39589    0.11057    0.39683    0.11151    0.39823 [...]
+ 11     380      17    0.40756    0.11618    0.40616    0.11571    0.40523    0.11431    0.40476    0.11197    0.40476    0.11057    0.40523    0.10824    0.40616    0.10684    0.40756    0.10637    0.40850    0.10637    0.40990    0.10684    0.41083    0.10824    0.41130    0.11057    0.41130    0.11197    0.41083    0.11431    0.40990    0.11571    0.40850    0.11618    0.40756    0.11618
+ 11     292      13    0.41550    0.11618    0.41457    0.11571    0.41410    0.11478    0.41410    0.11384    0.41457    0.11291    0.41550    0.11244    0.41643    0.11244    0.41737    0.11291    0.41783    0.11384    0.41783    0.11478    0.41737    0.11571    0.41643    0.11618    0.41550    0.11618
+ 11      50       2    0.03996    0.39524    0.05173    0.39524
+ 11      50       2    0.05173    0.39524    0.05173    0.40196
+ 11      50       2    0.03996    0.40756    0.05173    0.40308
+ 11      50       2    0.03996    0.40756    0.05173    0.41204
+ 11      50       2    0.04781    0.40476    0.04781    0.41036
+ 11      50       2    0.03996    0.41709    0.05173    0.41709
+ 11      50       2    0.03996    0.41317    0.03996    0.42101
+ 11      50       2    0.03996    0.42381    0.05173    0.42381
+ 11      50       2    0.03996    0.43053    0.05173    0.43053
+ 11      50       2    0.03996    0.42661    0.03996    0.43445
+ 11     226      10    0.03996    0.43725    0.04837    0.43725    0.05005    0.43782    0.05117    0.43894    0.05173    0.44062    0.05173    0.44174    0.05117    0.44342    0.05005    0.44454    0.04837    0.44510    0.03996    0.44510
+ 11      50       2    0.03996    0.44958    0.05173    0.44958
+ 11     270      12    0.03996    0.44958    0.03996    0.45350    0.04052    0.45518    0.04164    0.45630    0.04276    0.45686    0.04444    0.45742    0.04725    0.45742    0.04893    0.45686    0.05005    0.45630    0.05117    0.45518    0.05173    0.45350    0.05173    0.44958
+ 11      50       2    0.03996    0.46134    0.05173    0.46134
+ 11      50       2    0.03996    0.46134    0.03996    0.46863
+ 11      50       2    0.04556    0.46134    0.04556    0.46583
+ 11      50       2    0.05173    0.46134    0.05173    0.46863
  11      50       2    0.21499    0.09461    0.21499    0.08284
  11      50       2    0.21499    0.08284    0.22171    0.08284
  11     468      21    0.22731    0.09461    0.22619    0.09405    0.22507    0.09293    0.22451    0.09181    0.22395    0.09013    0.22395    0.08732    0.22451    0.08564    0.22507    0.08452    0.22619    0.08340    0.22731    0.08284    0.22955    0.08284    0.23067    0.08340    0.23179    0.08452    0.23235    0.08564    0.23291    0.08732    0.23291    0.09013    0.23235    0.09181    0.23179    0.09293    0.23067    0.09405    0.22955    0.09461    0.22731    0.09461
@@ -1666,57 +1666,57 @@ GKSMansley at stout.pmel.noXPPLP Profile F 1.0 16/12/14 1 0 3 6 611 1 1
  11     116       5    0.22633    0.79216    0.22577    0.79160    0.22633    0.79104    0.22689    0.79160    0.22633    0.79216
  11     116       5    0.22633    0.78543    0.22577    0.78487    0.22633    0.78431    0.22689    0.78487    0.22633    0.78543
  11     380      17    0.24314    0.79608    0.24146    0.79552    0.24034    0.79384    0.23978    0.79104    0.23978    0.78936    0.24034    0.78655    0.24146    0.78487    0.24314    0.78431    0.24426    0.78431    0.24594    0.78487    0.24706    0.78655    0.24762    0.78936    0.24762    0.79104    0.24706    0.79384    0.24594    0.79552    0.24426    0.79608    0.24314    0.79608
- 11      50       2    0.34926    0.79980    0.34926    0.79314
- 11     270      12    0.34926    0.79980    0.35148    0.79980    0.35244    0.79949    0.35307    0.79885    0.35339    0.79822    0.35371    0.79726    0.35371    0.79568    0.35339    0.79472    0.35307    0.79409    0.35244    0.79345    0.35148    0.79314    0.34926    0.79314
- 11      50       2    0.35752    0.79980    0.35498    0.79314
- 11      50       2    0.35752    0.79980    0.36006    0.79314
- 11      50       2    0.35593    0.79536    0.35910    0.79536
- 11      50       2    0.36291    0.79980    0.36291    0.79314
- 11      50       2    0.36069    0.79980    0.36514    0.79980
- 11      50       2    0.36831    0.79980    0.36577    0.79314
- 11      50       2    0.36831    0.79980    0.37085    0.79314
- 11      50       2    0.36672    0.79536    0.36990    0.79536
- 11     446      20    0.38164    0.79885    0.38101    0.79949    0.38006    0.79980    0.37879    0.79980    0.37783    0.79949    0.37720    0.79885    0.37720    0.79822    0.37752    0.79758    0.37783    0.79726    0.37847    0.79695    0.38037    0.79631    0.38101    0.79599    0.38133    0.79568    0.38164    0.79504    0.38164    0.79409    0.38101    0.79345    0.38006    0.79314    0.37879    0.79314    0.37783    0.79345    0.37720    0.79409
- 11      50       2    0.38387    0.79980    0.38387    0.79314
- 11      50       2    0.38387    0.79980    0.38799    0.79980
- 11      50       2    0.38387    0.79663    0.38641    0.79663
- 11      50       2    0.38387    0.79314    0.38799    0.79314
- 11      50       2    0.39117    0.79980    0.39117    0.79314
- 11      50       2    0.38894    0.79980    0.39339    0.79980
- 11     116       5    0.39529    0.79758    0.39498    0.79726    0.39529    0.79695    0.39561    0.79726    0.39529    0.79758
- 11     116       5    0.39529    0.79377    0.39498    0.79345    0.39529    0.79314    0.39561    0.79345    0.39529    0.79377
- 11      50       2    0.30926    0.78914    0.30926    0.78247
- 11     380      17    0.31148    0.78501    0.31529    0.78501    0.31529    0.78565    0.31498    0.78628    0.31466    0.78660    0.31402    0.78692    0.31307    0.78692    0.31244    0.78660    0.31180    0.78596    0.31148    0.78501    0.31148    0.78438    0.31180    0.78342    0.31244    0.78279    0.31307    0.78247    0.31402    0.78247    0.31466    0.78279    0.31529    0.78342
- 11      50       2    0.31688    0.78692    0.31879    0.78247
- 11      50       2    0.32069    0.78692    0.31879    0.78247
- 11     116       5    0.32228    0.78914    0.32260    0.78882    0.32291    0.78914    0.32260    0.78945    0.32228    0.78914
- 11      50       2    0.32260    0.78692    0.32260    0.78247
- 11     116       5    0.32545    0.78914    0.32545    0.78374    0.32577    0.78279    0.32641    0.78247    0.32704    0.78247
- 11      50       2    0.32450    0.78692    0.32672    0.78692
- 11     160       7    0.32894    0.78692    0.32894    0.78374    0.32926    0.78279    0.32990    0.78247    0.33085    0.78247    0.33148    0.78279    0.33244    0.78374
- 11      50       2    0.33244    0.78692    0.33244    0.78247
- 11     380      17    0.33815    0.78596    0.33783    0.78660    0.33688    0.78692    0.33593    0.78692    0.33498    0.78660    0.33466    0.78596    0.33498    0.78533    0.33561    0.78501    0.33720    0.78469    0.33783    0.78438    0.33815    0.78374    0.33815    0.78342    0.33783    0.78279    0.33688    0.78247    0.33593    0.78247    0.33498    0.78279    0.33466    0.78342
- 11      50       2    0.33974    0.78025    0.34545    0.78025
- 11     314      14    0.35085    0.78596    0.35021    0.78660    0.34958    0.78692    0.34863    0.78692    0.34799    0.78660    0.34736    0.78596    0.34704    0.78501    0.34704    0.78438    0.34736    0.78342    0.34799    0.78279    0.34863    0.78247    0.34958    0.78247    0.35021    0.78279    0.35085    0.78342
- 11      50       2    0.35307    0.78914    0.35307    0.78247
- 11     116       5    0.35529    0.78914    0.35561    0.78882    0.35593    0.78914    0.35561    0.78945    0.35529    0.78914
- 11      50       2    0.35561    0.78692    0.35561    0.78247
- 11      50       2    0.35815    0.78692    0.35815    0.78247
- 11     160       7    0.35815    0.78565    0.35910    0.78660    0.35974    0.78692    0.36069    0.78692    0.36133    0.78660    0.36164    0.78565    0.36164    0.78247
- 11     160       7    0.36164    0.78565    0.36260    0.78660    0.36323    0.78692    0.36418    0.78692    0.36482    0.78660    0.36514    0.78565    0.36514    0.78247
- 11      50       2    0.37117    0.78692    0.37117    0.78247
- 11     314      14    0.37117    0.78596    0.37053    0.78660    0.36990    0.78692    0.36894    0.78692    0.36831    0.78660    0.36768    0.78596    0.36736    0.78501    0.36736    0.78438    0.36768    0.78342    0.36831    0.78279    0.36894    0.78247    0.36990    0.78247    0.37053    0.78279    0.37117    0.78342
- 11     116       5    0.37402    0.78914    0.37402    0.78374    0.37434    0.78279    0.37498    0.78247    0.37561    0.78247
- 11      50       2    0.37307    0.78692    0.37529    0.78692
- 11     380      17    0.37879    0.78692    0.37815    0.78660    0.37752    0.78596    0.37720    0.78501    0.37720    0.78438    0.37752    0.78342    0.37815    0.78279    0.37879    0.78247    0.37974    0.78247    0.38037    0.78279    0.38101    0.78342    0.38133    0.78438    0.38133    0.78501    0.38101    0.78596    0.38037    0.78660    0.37974    0.78692    0.37879    0.78692
- 11      50       2    0.38355    0.78914    0.38355    0.78247
- 11     380      17    0.38736    0.78692    0.38672    0.78660    0.38609    0.78596    0.38577    0.78501    0.38577    0.78438    0.38609    0.78342    0.38672    0.78279    0.38736    0.78247    0.38831    0.78247    0.38894    0.78279    0.38958    0.78342    0.38990    0.78438    0.38990    0.78501    0.38958    0.78596    0.38894    0.78660    0.38831    0.78692    0.38736    0.78692
- 11     160       7    0.39561    0.78692    0.39561    0.78184    0.39529    0.78088    0.39498    0.78057    0.39434    0.78025    0.39339    0.78025    0.39275    0.78057
- 11     314      14    0.39561    0.78596    0.39498    0.78660    0.39434    0.78692    0.39339    0.78692    0.39275    0.78660    0.39212    0.78596    0.39180    0.78501    0.39180    0.78438    0.39212    0.78342    0.39275    0.78279    0.39339    0.78247    0.39434    0.78247    0.39498    0.78279    0.39561    0.78342
- 11      50       2    0.39752    0.78692    0.39942    0.78247
- 11     138       6    0.40133    0.78692    0.39942    0.78247    0.39879    0.78120    0.39815    0.78057    0.39752    0.78025    0.39720    0.78025
+ 11      50       2    0.22510    0.79725    0.22510    0.78922
+ 11     270      12    0.22510    0.79725    0.22778    0.79725    0.22893    0.79687    0.22969    0.79611    0.23007    0.79534    0.23046    0.79419    0.23046    0.79228    0.23007    0.79113    0.22969    0.79036    0.22893    0.78960    0.22778    0.78922    0.22510    0.78922
+ 11      50       2    0.23505    0.79725    0.23199    0.78922
+ 11      50       2    0.23505    0.79725    0.23811    0.78922
+ 11      50       2    0.23314    0.79190    0.23697    0.79190
+ 11      50       2    0.24156    0.79725    0.24156    0.78922
+ 11      50       2    0.23888    0.79725    0.24424    0.79725
+ 11      50       2    0.24807    0.79725    0.24500    0.78922
+ 11      50       2    0.24807    0.79725    0.25113    0.78922
+ 11      50       2    0.24615    0.79190    0.24998    0.79190
+ 11     446      20    0.26415    0.79611    0.26338    0.79687    0.26223    0.79725    0.26070    0.79725    0.25955    0.79687    0.25879    0.79611    0.25879    0.79534    0.25917    0.79458    0.25955    0.79419    0.26032    0.79381    0.26261    0.79304    0.26338    0.79266    0.26376    0.79228    0.26415    0.79151    0.26415    0.79036    0.26338    0.78960    0.26223    0.78922    0.26070    0.78922    0.25955    0.78960    0.25879    0.79036
+ 11      50       2    0.26683    0.79725    0.26683    0.78922
+ 11      50       2    0.26683    0.79725    0.27180    0.79725
+ 11      50       2    0.26683    0.79343    0.26989    0.79343
+ 11      50       2    0.26683    0.78922    0.27180    0.78922
+ 11      50       2    0.27563    0.79725    0.27563    0.78922
+ 11      50       2    0.27295    0.79725    0.27831    0.79725
+ 11     116       5    0.28061    0.79458    0.28022    0.79419    0.28061    0.79381    0.28099    0.79419    0.28061    0.79458
+ 11     116       5    0.28061    0.78998    0.28022    0.78960    0.28061    0.78922    0.28099    0.78960    0.28061    0.78998
+ 11      50       2    0.29018    0.79725    0.29018    0.78922
+ 11     380      17    0.29286    0.79228    0.29745    0.79228    0.29745    0.79304    0.29707    0.79381    0.29669    0.79419    0.29592    0.79458    0.29477    0.79458    0.29401    0.79419    0.29324    0.79343    0.29286    0.79228    0.29286    0.79151    0.29324    0.79036    0.29401    0.78960    0.29477    0.78922    0.29592    0.78922    0.29669    0.78960    0.29745    0.79036
+ 11      50       2    0.29937    0.79458    0.30166    0.78922
+ 11      50       2    0.30396    0.79458    0.30166    0.78922
+ 11     116       5    0.30587    0.79725    0.30626    0.79687    0.30664    0.79725    0.30626    0.79764    0.30587    0.79725
+ 11      50       2    0.30626    0.79458    0.30626    0.78922
+ 11     116       5    0.30970    0.79725    0.30970    0.79075    0.31008    0.78960    0.31085    0.78922    0.31162    0.78922
+ 11      50       2    0.30855    0.79458    0.31123    0.79458
+ 11     160       7    0.31391    0.79458    0.31391    0.79075    0.31430    0.78960    0.31506    0.78922    0.31621    0.78922    0.31697    0.78960    0.31812    0.79075
+ 11      50       2    0.31812    0.79458    0.31812    0.78922
+ 11     380      17    0.32501    0.79343    0.32463    0.79419    0.32348    0.79458    0.32233    0.79458    0.32119    0.79419    0.32080    0.79343    0.32119    0.79266    0.32195    0.79228    0.32387    0.79190    0.32463    0.79151    0.32501    0.79075    0.32501    0.79036    0.32463    0.78960    0.32348    0.78922    0.32233    0.78922    0.32119    0.78960    0.32080    0.79036
+ 11      50       2    0.32693    0.78654    0.33382    0.78654
+ 11     314      14    0.34033    0.79343    0.33956    0.79419    0.33880    0.79458    0.33765    0.79458    0.33688    0.79419    0.33612    0.79343    0.33573    0.79228    0.33573    0.79151    0.33612    0.79036    0.33688    0.78960    0.33765    0.78922    0.33880    0.78922    0.33956    0.78960    0.34033    0.79036
+ 11      50       2    0.34301    0.79725    0.34301    0.78922
+ 11     116       5    0.34569    0.79725    0.34607    0.79687    0.34645    0.79725    0.34607    0.79764    0.34569    0.79725
+ 11      50       2    0.34607    0.79458    0.34607    0.78922
+ 11      50       2    0.34913    0.79458    0.34913    0.78922
+ 11     160       7    0.34913    0.79304    0.35028    0.79419    0.35105    0.79458    0.35219    0.79458    0.35296    0.79419    0.35334    0.79304    0.35334    0.78922
+ 11     160       7    0.35334    0.79304    0.35449    0.79419    0.35526    0.79458    0.35641    0.79458    0.35717    0.79419    0.35755    0.79304    0.35755    0.78922
+ 11      50       2    0.36483    0.79458    0.36483    0.78922
+ 11     314      14    0.36483    0.79343    0.36406    0.79419    0.36330    0.79458    0.36215    0.79458    0.36138    0.79419    0.36062    0.79343    0.36023    0.79228    0.36023    0.79151    0.36062    0.79036    0.36138    0.78960    0.36215    0.78922    0.36330    0.78922    0.36406    0.78960    0.36483    0.79036
+ 11     116       5    0.36827    0.79725    0.36827    0.79075    0.36866    0.78960    0.36942    0.78922    0.37019    0.78922
+ 11      50       2    0.36712    0.79458    0.36980    0.79458
+ 11     380      17    0.37401    0.79458    0.37325    0.79419    0.37248    0.79343    0.37210    0.79228    0.37210    0.79151    0.37248    0.79036    0.37325    0.78960    0.37401    0.78922    0.37516    0.78922    0.37593    0.78960    0.37669    0.79036    0.37708    0.79151    0.37708    0.79228    0.37669    0.79343    0.37593    0.79419    0.37516    0.79458    0.37401    0.79458
+ 11      50       2    0.37976    0.79725    0.37976    0.78922
+ 11     380      17    0.38435    0.79458    0.38359    0.79419    0.38282    0.79343    0.38244    0.79228    0.38244    0.79151    0.38282    0.79036    0.38359    0.78960    0.38435    0.78922    0.38550    0.78922    0.38627    0.78960    0.38703    0.79036    0.38741    0.79151    0.38741    0.79228    0.38703    0.79343    0.38627    0.79419    0.38550    0.79458    0.38435    0.79458
+ 11     160       7    0.39430    0.79458    0.39430    0.78845    0.39392    0.78730    0.39354    0.78692    0.39277    0.78654    0.39162    0.78654    0.39086    0.78692
+ 11     314      14    0.39430    0.79343    0.39354    0.79419    0.39277    0.79458    0.39162    0.79458    0.39086    0.79419    0.39009    0.79343    0.38971    0.79228    0.38971    0.79151    0.39009    0.79036    0.39086    0.78960    0.39162    0.78922    0.39277    0.78922    0.39354    0.78960    0.39430    0.79036
+ 11      50       2    0.39660    0.79458    0.39890    0.78922
+ 11     138       6    0.40120    0.79458    0.39890    0.78922    0.39813    0.78768    0.39737    0.78692    0.39660    0.78654    0.39622    0.78654
  82       0
- 81       6    1496
+ 81       6    1482
  82       0
  42      22    0.00000    0.00000
  41      44    1.00000    0.00000    0.00000    1.00000
@@ -1731,7 +1731,7 @@ GKSMansley at stout.pmel.noXPPLP Profile F 1.0 16/12/14 1 0 3 6 611 1 1
  61      44    0.00000    1.00000    0.00000    1.00000
  71      44    0.00000    1.00000    0.00000    0.86275
  72      44    0.00000   10.20000    0.00000    8.80000
- 81       6    1497
+ 81       6    1483
  21       6       1
  25       6       1
  56      39      21    0.46667    0.13333    1.00000
@@ -3369,119 +3369,119 @@ GKSMansley at stout.pmel.noXPPLP Profile F 1.0 16/12/14 1 0 3 6 611 1 1
  38       6       1
  14      94       4    0.91618    0.68873    0.93892    0.68873    0.93892    0.72549    0.91618    0.72549
  11     116       5    0.91618    0.68873    0.93892    0.68873    0.93892    0.72549    0.91618    0.72549    0.91618    0.68873
- 11      50       2    0.94732    0.13655    0.95573    0.13655
- 11     314      14    0.95946    0.13982    0.95946    0.14029    0.95993    0.14122    0.96040    0.14169    0.96133    0.14216    0.96320    0.14216    0.96413    0.14169    0.96460    0.14122    0.96507    0.14029    0.96507    0.13936    0.96460    0.13842    0.96366    0.13702    0.95900    0.13235    0.96553    0.13235
- 11     380      17    0.96180    0.17892    0.96040    0.17845    0.95946    0.17705    0.95900    0.17472    0.95900    0.17332    0.95946    0.17099    0.96040    0.16958    0.96180    0.16912    0.96273    0.16912    0.96413    0.16958    0.96507    0.17099    0.96553    0.17332    0.96553    0.17472    0.96507    0.17705    0.96413    0.17845    0.96273    0.17892    0.96180    0.17892
- 11     314      14    0.95946    0.21335    0.95946    0.21382    0.95993    0.21475    0.96040    0.21522    0.96133    0.21569    0.96320    0.21569    0.96413    0.21522    0.96460    0.21475    0.96507    0.21382    0.96507    0.21289    0.96460    0.21195    0.96366    0.21055    0.95900    0.20588    0.96553    0.20588
- 11      72       3    0.96366    0.25245    0.95900    0.24592    0.96600    0.24592
- 11      50       2    0.96366    0.25245    0.96366    0.24265
- 11     512      23    0.96507    0.28782    0.96460    0.28875    0.96320    0.28922    0.96226    0.28922    0.96086    0.28875    0.95993    0.28735    0.95946    0.28501    0.95946    0.28268    0.95993    0.28081    0.96086    0.27988    0.96226    0.27941    0.96273    0.27941    0.96413    0.27988    0.96507    0.28081    0.96553    0.28221    0.96553    0.28268    0.96507    0.28408    0.96413    0.28501    0.96273    0.28548    0.96226    0.28548    0.96086    0.28501    0.95993 [...]
- 11     644      29    0.96133    0.32598    0.95993    0.32551    0.95946    0.32458    0.95946    0.32365    0.95993    0.32271    0.96086    0.32225    0.96273    0.32178    0.96413    0.32131    0.96507    0.32038    0.96553    0.31944    0.96553    0.31804    0.96507    0.31711    0.96460    0.31664    0.96320    0.31618    0.96133    0.31618    0.95993    0.31664    0.95946    0.31711    0.95900    0.31804    0.95900    0.31944    0.95946    0.32038    0.96040    0.32131    0.96180 [...]
- 11      94       4    0.95106    0.36088    0.95199    0.36134    0.95339    0.36275    0.95339    0.35294
- 11     380      17    0.96180    0.36275    0.96040    0.36228    0.95946    0.36088    0.95900    0.35854    0.95900    0.35714    0.95946    0.35481    0.96040    0.35341    0.96180    0.35294    0.96273    0.35294    0.96413    0.35341    0.96507    0.35481    0.96553    0.35714    0.96553    0.35854    0.96507    0.36088    0.96413    0.36228    0.96273    0.36275    0.96180    0.36275
- 11      94       4    0.95106    0.39764    0.95199    0.39811    0.95339    0.39951    0.95339    0.38971
- 11     314      14    0.95946    0.39718    0.95946    0.39764    0.95993    0.39858    0.96040    0.39904    0.96133    0.39951    0.96320    0.39951    0.96413    0.39904    0.96460    0.39858    0.96507    0.39764    0.96507    0.39671    0.96460    0.39577    0.96366    0.39437    0.95900    0.38971    0.96553    0.38971
- 11      94       4    0.95106    0.43441    0.95199    0.43487    0.95339    0.43627    0.95339    0.42647
- 11      72       3    0.96366    0.43627    0.95900    0.42974    0.96600    0.42974
- 11      50       2    0.96366    0.43627    0.96366    0.42647
- 11      94       4    0.95106    0.47117    0.95199    0.47164    0.95339    0.47304    0.95339    0.46324
- 11     512      23    0.96507    0.47164    0.96460    0.47257    0.96320    0.47304    0.96226    0.47304    0.96086    0.47257    0.95993    0.47117    0.95946    0.46884    0.95946    0.46650    0.95993    0.46464    0.96086    0.46370    0.96226    0.46324    0.96273    0.46324    0.96413    0.46370    0.96507    0.46464    0.96553    0.46604    0.96553    0.46650    0.96507    0.46790    0.96413    0.46884    0.96273    0.46930    0.96226    0.46930    0.96086    0.46884    0.95993 [...]
- 11      94       4    0.95106    0.50794    0.95199    0.50840    0.95339    0.50980    0.95339    0.50000
- 11     644      29    0.96133    0.50980    0.95993    0.50934    0.95946    0.50840    0.95946    0.50747    0.95993    0.50654    0.96086    0.50607    0.96273    0.50560    0.96413    0.50514    0.96507    0.50420    0.96553    0.50327    0.96553    0.50187    0.96507    0.50093    0.96460    0.50047    0.96320    0.50000    0.96133    0.50000    0.95993    0.50047    0.95946    0.50093    0.95900    0.50187    0.95900    0.50327    0.95946    0.50420    0.96040    0.50514    0.96180 [...]
- 11     314      14    0.95013    0.54423    0.95013    0.54470    0.95059    0.54563    0.95106    0.54610    0.95199    0.54657    0.95386    0.54657    0.95479    0.54610    0.95526    0.54563    0.95573    0.54470    0.95573    0.54377    0.95526    0.54283    0.95433    0.54143    0.94966    0.53676    0.95620    0.53676
- 11     380      17    0.96180    0.54657    0.96040    0.54610    0.95946    0.54470    0.95900    0.54237    0.95900    0.54097    0.95946    0.53863    0.96040    0.53723    0.96180    0.53676    0.96273    0.53676    0.96413    0.53723    0.96507    0.53863    0.96553    0.54097    0.96553    0.54237    0.96507    0.54470    0.96413    0.54610    0.96273    0.54657    0.96180    0.54657
- 11     314      14    0.95013    0.58100    0.95013    0.58147    0.95059    0.58240    0.95106    0.58287    0.95199    0.58333    0.95386    0.58333    0.95479    0.58287    0.95526    0.58240    0.95573    0.58147    0.95573    0.58053    0.95526    0.57960    0.95433    0.57820    0.94966    0.57353    0.95620    0.57353
- 11     314      14    0.95946    0.58100    0.95946    0.58147    0.95993    0.58240    0.96040    0.58287    0.96133    0.58333    0.96320    0.58333    0.96413    0.58287    0.96460    0.58240    0.96507    0.58147    0.96507    0.58053    0.96460    0.57960    0.96366    0.57820    0.95900    0.57353    0.96553    0.57353
- 11     314      14    0.95013    0.61776    0.95013    0.61823    0.95059    0.61916    0.95106    0.61963    0.95199    0.62010    0.95386    0.62010    0.95479    0.61963    0.95526    0.61916    0.95573    0.61823    0.95573    0.61730    0.95526    0.61636    0.95433    0.61496    0.94966    0.61029    0.95620    0.61029
- 11      72       3    0.96366    0.62010    0.95900    0.61356    0.96600    0.61356
- 11      50       2    0.96366    0.62010    0.96366    0.61029
- 11     314      14    0.95013    0.65453    0.95013    0.65500    0.95059    0.65593    0.95106    0.65640    0.95199    0.65686    0.95386    0.65686    0.95479    0.65640    0.95526    0.65593    0.95573    0.65500    0.95573    0.65406    0.95526    0.65313    0.95433    0.65173    0.94966    0.64706    0.95620    0.64706
- 11     512      23    0.96507    0.65546    0.96460    0.65640    0.96320    0.65686    0.96226    0.65686    0.96086    0.65640    0.95993    0.65500    0.95946    0.65266    0.95946    0.65033    0.95993    0.64846    0.96086    0.64753    0.96226    0.64706    0.96273    0.64706    0.96413    0.64753    0.96507    0.64846    0.96553    0.64986    0.96553    0.65033    0.96507    0.65173    0.96413    0.65266    0.96273    0.65313    0.96226    0.65313    0.96086    0.65266    0.95993 [...]
- 11     314      14    0.95013    0.69129    0.95013    0.69176    0.95059    0.69269    0.95106    0.69316    0.95199    0.69363    0.95386    0.69363    0.95479    0.69316    0.95526    0.69269    0.95573    0.69176    0.95573    0.69083    0.95526    0.68989    0.95433    0.68849    0.94966    0.68382    0.95620    0.68382
- 11     644      29    0.96133    0.69363    0.95993    0.69316    0.95946    0.69223    0.95946    0.69129    0.95993    0.69036    0.96086    0.68989    0.96273    0.68943    0.96413    0.68896    0.96507    0.68803    0.96553    0.68709    0.96553    0.68569    0.96507    0.68476    0.96460    0.68429    0.96320    0.68382    0.96133    0.68382    0.95993    0.68429    0.95946    0.68476    0.95900    0.68569    0.95900    0.68709    0.95946    0.68803    0.96040    0.68896    0.96180 [...]
- 11     336      15    0.95059    0.73039    0.95573    0.73039    0.95293    0.72666    0.95433    0.72666    0.95526    0.72619    0.95573    0.72572    0.95620    0.72432    0.95620    0.72339    0.95573    0.72199    0.95479    0.72106    0.95339    0.72059    0.95199    0.72059    0.95059    0.72106    0.95013    0.72152    0.94966    0.72246
- 11     380      17    0.96180    0.73039    0.96040    0.72993    0.95946    0.72852    0.95900    0.72619    0.95900    0.72479    0.95946    0.72246    0.96040    0.72106    0.96180    0.72059    0.96273    0.72059    0.96413    0.72106    0.96507    0.72246    0.96553    0.72479    0.96553    0.72619    0.96507    0.72852    0.96413    0.72993    0.96273    0.73039    0.96180    0.73039
- 11     732      33    0.61765    0.13725    0.61765    0.13725    0.60539    0.13725    0.61765    0.13725    0.61765    0.20261    0.60539    0.20261    0.61765    0.20261    0.61765    0.26797    0.60539    0.26797    0.61765    0.26797    0.61765    0.33333    0.60539    0.33333    0.61765    0.33333    0.61765    0.39869    0.60539    0.39869    0.61765    0.39869    0.61765    0.46405    0.60539    0.46405    0.61765    0.46405    0.61765    0.52941    0.60539    0.52941    0.61765 [...]
+ 11      50       2    0.94177    0.13655    0.95017    0.13655
+ 11     314      14    0.95391    0.13982    0.95391    0.14029    0.95437    0.14122    0.95484    0.14169    0.95578    0.14216    0.95764    0.14216    0.95858    0.14169    0.95904    0.14122    0.95951    0.14029    0.95951    0.13936    0.95904    0.13842    0.95811    0.13702    0.95344    0.13235    0.95998    0.13235
+ 11     380      17    0.95549    0.17892    0.95409    0.17845    0.95316    0.17705    0.95269    0.17472    0.95269    0.17332    0.95316    0.17099    0.95409    0.16958    0.95549    0.16912    0.95643    0.16912    0.95783    0.16958    0.95876    0.17099    0.95923    0.17332    0.95923    0.17472    0.95876    0.17705    0.95783    0.17845    0.95643    0.17892    0.95549    0.17892
+ 11     314      14    0.95316    0.21335    0.95316    0.21382    0.95363    0.21475    0.95409    0.21522    0.95503    0.21569    0.95690    0.21569    0.95783    0.21522    0.95830    0.21475    0.95876    0.21382    0.95876    0.21289    0.95830    0.21195    0.95736    0.21055    0.95269    0.20588    0.95923    0.20588
+ 11      72       3    0.95736    0.25245    0.95269    0.24592    0.95970    0.24592
+ 11      50       2    0.95736    0.25245    0.95736    0.24265
+ 11     512      23    0.95876    0.28782    0.95830    0.28875    0.95690    0.28922    0.95596    0.28922    0.95456    0.28875    0.95363    0.28735    0.95316    0.28501    0.95316    0.28268    0.95363    0.28081    0.95456    0.27988    0.95596    0.27941    0.95643    0.27941    0.95783    0.27988    0.95876    0.28081    0.95923    0.28221    0.95923    0.28268    0.95876    0.28408    0.95783    0.28501    0.95643    0.28548    0.95596    0.28548    0.95456    0.28501    0.95363 [...]
+ 11     644      29    0.95503    0.32598    0.95363    0.32551    0.95316    0.32458    0.95316    0.32365    0.95363    0.32271    0.95456    0.32225    0.95643    0.32178    0.95783    0.32131    0.95876    0.32038    0.95923    0.31944    0.95923    0.31804    0.95876    0.31711    0.95830    0.31664    0.95690    0.31618    0.95503    0.31618    0.95363    0.31664    0.95316    0.31711    0.95269    0.31804    0.95269    0.31944    0.95316    0.32038    0.95409    0.32131    0.95549 [...]
+ 11      94       4    0.94662    0.36088    0.94756    0.36134    0.94896    0.36275    0.94896    0.35294
+ 11     380      17    0.95736    0.36275    0.95596    0.36228    0.95503    0.36088    0.95456    0.35854    0.95456    0.35714    0.95503    0.35481    0.95596    0.35341    0.95736    0.35294    0.95830    0.35294    0.95970    0.35341    0.96063    0.35481    0.96110    0.35714    0.96110    0.35854    0.96063    0.36088    0.95970    0.36228    0.95830    0.36275    0.95736    0.36275
+ 11      94       4    0.94662    0.39764    0.94756    0.39811    0.94896    0.39951    0.94896    0.38971
+ 11     314      14    0.95503    0.39718    0.95503    0.39764    0.95549    0.39858    0.95596    0.39904    0.95690    0.39951    0.95876    0.39951    0.95970    0.39904    0.96016    0.39858    0.96063    0.39764    0.96063    0.39671    0.96016    0.39577    0.95923    0.39437    0.95456    0.38971    0.96110    0.38971
+ 11      94       4    0.94662    0.43441    0.94756    0.43487    0.94896    0.43627    0.94896    0.42647
+ 11      72       3    0.95923    0.43627    0.95456    0.42974    0.96156    0.42974
+ 11      50       2    0.95923    0.43627    0.95923    0.42647
+ 11      94       4    0.94662    0.47117    0.94756    0.47164    0.94896    0.47304    0.94896    0.46324
+ 11     512      23    0.96063    0.47164    0.96016    0.47257    0.95876    0.47304    0.95783    0.47304    0.95643    0.47257    0.95549    0.47117    0.95503    0.46884    0.95503    0.46650    0.95549    0.46464    0.95643    0.46370    0.95783    0.46324    0.95830    0.46324    0.95970    0.46370    0.96063    0.46464    0.96110    0.46604    0.96110    0.46650    0.96063    0.46790    0.95970    0.46884    0.95830    0.46930    0.95783    0.46930    0.95643    0.46884    0.95549 [...]
+ 11      94       4    0.94662    0.50794    0.94756    0.50840    0.94896    0.50980    0.94896    0.50000
+ 11     644      29    0.95690    0.50980    0.95549    0.50934    0.95503    0.50840    0.95503    0.50747    0.95549    0.50654    0.95643    0.50607    0.95830    0.50560    0.95970    0.50514    0.96063    0.50420    0.96110    0.50327    0.96110    0.50187    0.96063    0.50093    0.96016    0.50047    0.95876    0.50000    0.95690    0.50000    0.95549    0.50047    0.95503    0.50093    0.95456    0.50187    0.95456    0.50327    0.95503    0.50420    0.95596    0.50514    0.95736 [...]
+ 11     314      14    0.94569    0.54423    0.94569    0.54470    0.94616    0.54563    0.94662    0.54610    0.94756    0.54657    0.94943    0.54657    0.95036    0.54610    0.95083    0.54563    0.95129    0.54470    0.95129    0.54377    0.95083    0.54283    0.94989    0.54143    0.94522    0.53676    0.95176    0.53676
+ 11     380      17    0.95736    0.54657    0.95596    0.54610    0.95503    0.54470    0.95456    0.54237    0.95456    0.54097    0.95503    0.53863    0.95596    0.53723    0.95736    0.53676    0.95830    0.53676    0.95970    0.53723    0.96063    0.53863    0.96110    0.54097    0.96110    0.54237    0.96063    0.54470    0.95970    0.54610    0.95830    0.54657    0.95736    0.54657
+ 11     314      14    0.94569    0.58100    0.94569    0.58147    0.94616    0.58240    0.94662    0.58287    0.94756    0.58333    0.94943    0.58333    0.95036    0.58287    0.95083    0.58240    0.95129    0.58147    0.95129    0.58053    0.95083    0.57960    0.94989    0.57820    0.94522    0.57353    0.95176    0.57353
+ 11     314      14    0.95503    0.58100    0.95503    0.58147    0.95549    0.58240    0.95596    0.58287    0.95690    0.58333    0.95876    0.58333    0.95970    0.58287    0.96016    0.58240    0.96063    0.58147    0.96063    0.58053    0.96016    0.57960    0.95923    0.57820    0.95456    0.57353    0.96110    0.57353
+ 11     314      14    0.94569    0.61776    0.94569    0.61823    0.94616    0.61916    0.94662    0.61963    0.94756    0.62010    0.94943    0.62010    0.95036    0.61963    0.95083    0.61916    0.95129    0.61823    0.95129    0.61730    0.95083    0.61636    0.94989    0.61496    0.94522    0.61029    0.95176    0.61029
+ 11      72       3    0.95923    0.62010    0.95456    0.61356    0.96156    0.61356
+ 11      50       2    0.95923    0.62010    0.95923    0.61029
+ 11     314      14    0.94569    0.65453    0.94569    0.65500    0.94616    0.65593    0.94662    0.65640    0.94756    0.65686    0.94943    0.65686    0.95036    0.65640    0.95083    0.65593    0.95129    0.65500    0.95129    0.65406    0.95083    0.65313    0.94989    0.65173    0.94522    0.64706    0.95176    0.64706
+ 11     512      23    0.96063    0.65546    0.96016    0.65640    0.95876    0.65686    0.95783    0.65686    0.95643    0.65640    0.95549    0.65500    0.95503    0.65266    0.95503    0.65033    0.95549    0.64846    0.95643    0.64753    0.95783    0.64706    0.95830    0.64706    0.95970    0.64753    0.96063    0.64846    0.96110    0.64986    0.96110    0.65033    0.96063    0.65173    0.95970    0.65266    0.95830    0.65313    0.95783    0.65313    0.95643    0.65266    0.95549 [...]
+ 11     314      14    0.94569    0.69129    0.94569    0.69176    0.94616    0.69269    0.94662    0.69316    0.94756    0.69363    0.94943    0.69363    0.95036    0.69316    0.95083    0.69269    0.95129    0.69176    0.95129    0.69083    0.95083    0.68989    0.94989    0.68849    0.94522    0.68382    0.95176    0.68382
+ 11     644      29    0.95690    0.69363    0.95549    0.69316    0.95503    0.69223    0.95503    0.69129    0.95549    0.69036    0.95643    0.68989    0.95830    0.68943    0.95970    0.68896    0.96063    0.68803    0.96110    0.68709    0.96110    0.68569    0.96063    0.68476    0.96016    0.68429    0.95876    0.68382    0.95690    0.68382    0.95549    0.68429    0.95503    0.68476    0.95456    0.68569    0.95456    0.68709    0.95503    0.68803    0.95596    0.68896    0.95736 [...]
+ 11     336      15    0.94616    0.73039    0.95129    0.73039    0.94849    0.72666    0.94989    0.72666    0.95083    0.72619    0.95129    0.72572    0.95176    0.72432    0.95176    0.72339    0.95129    0.72199    0.95036    0.72106    0.94896    0.72059    0.94756    0.72059    0.94616    0.72106    0.94569    0.72152    0.94522    0.72246
+ 11     380      17    0.95736    0.73039    0.95596    0.72993    0.95503    0.72852    0.95456    0.72619    0.95456    0.72479    0.95503    0.72246    0.95596    0.72106    0.95736    0.72059    0.95830    0.72059    0.95970    0.72106    0.96063    0.72246    0.96110    0.72479    0.96110    0.72619    0.96063    0.72852    0.95970    0.72993    0.95830    0.73039    0.95736    0.73039
+ 11     732      33    0.61765    0.13725    0.61765    0.13725    0.61765    0.13725    0.60539    0.13725    0.61765    0.13725    0.61765    0.20261    0.60539    0.20261    0.61765    0.20261    0.61765    0.26797    0.60539    0.26797    0.61765    0.26797    0.61765    0.33333    0.60539    0.33333    0.61765    0.33333    0.61765    0.39869    0.60539    0.39869    0.61765    0.39869    0.61765    0.46405    0.60539    0.46405    0.61765    0.46405    0.61765    0.52941    0.60539 [...]
  11     644      29    0.56723    0.20752    0.56583    0.20705    0.56536    0.20612    0.56536    0.20518    0.56583    0.20425    0.56676    0.20378    0.56863    0.20331    0.57003    0.20285    0.57096    0.20191    0.57143    0.20098    0.57143    0.19958    0.57096    0.19865    0.57049    0.19818    0.56909    0.19771    0.56723    0.19771    0.56583    0.19818    0.56536    0.19865    0.56489    0.19958    0.56489    0.20098    0.56536    0.20191    0.56629    0.20285    0.56769 [...]
  11     380      17    0.57703    0.20752    0.57563    0.20705    0.57470    0.20565    0.57423    0.20331    0.57423    0.20191    0.57470    0.19958    0.57563    0.19818    0.57703    0.19771    0.57796    0.19771    0.57937    0.19818    0.58030    0.19958    0.58077    0.20191    0.58077    0.20331    0.58030    0.20565    0.57937    0.20705    0.57796    0.20752    0.57703    0.20752
  11     292      13    0.58497    0.20752    0.58403    0.20705    0.58357    0.20612    0.58357    0.20518    0.58403    0.20425    0.58497    0.20378    0.58590    0.20378    0.58683    0.20425    0.58730    0.20518    0.58730    0.20612    0.58683    0.20705    0.58590    0.20752    0.58497    0.20752
- 11     446      20    0.59897    0.20612    0.59804    0.20705    0.59664    0.20752    0.59477    0.20752    0.59337    0.20705    0.59244    0.20612    0.59244    0.20518    0.59290    0.20425    0.59337    0.20378    0.59430    0.20331    0.59711    0.20238    0.59804    0.20191    0.59851    0.20145    0.59897    0.20051    0.59897    0.19911    0.59804    0.19818    0.59664    0.19771    0.59477    0.19771    0.59337    0.19818    0.59244    0.19911
+ 11     446      20    0.59664    0.20612    0.59570    0.20705    0.59430    0.20752    0.59244    0.20752    0.59104    0.20705    0.59010    0.20612    0.59010    0.20518    0.59057    0.20425    0.59104    0.20378    0.59197    0.20331    0.59477    0.20238    0.59570    0.20191    0.59617    0.20145    0.59664    0.20051    0.59664    0.19911    0.59570    0.19818    0.59430    0.19771    0.59244    0.19771    0.59104    0.19818    0.59010    0.19911
  11     512      23    0.57096    0.33683    0.57049    0.33777    0.56909    0.33824    0.56816    0.33824    0.56676    0.33777    0.56583    0.33637    0.56536    0.33403    0.56536    0.33170    0.56583    0.32983    0.56676    0.32890    0.56816    0.32843    0.56863    0.32843    0.57003    0.32890    0.57096    0.32983    0.57143    0.33123    0.57143    0.33170    0.57096    0.33310    0.57003    0.33403    0.56863    0.33450    0.56816    0.33450    0.56676    0.33403    0.56583 [...]
  11     380      17    0.57703    0.33824    0.57563    0.33777    0.57470    0.33637    0.57423    0.33403    0.57423    0.33263    0.57470    0.33030    0.57563    0.32890    0.57703    0.32843    0.57796    0.32843    0.57937    0.32890    0.58030    0.33030    0.58077    0.33263    0.58077    0.33403    0.58030    0.33637    0.57937    0.33777    0.57796    0.33824    0.57703    0.33824
  11     292      13    0.58497    0.33824    0.58403    0.33777    0.58357    0.33683    0.58357    0.33590    0.58403    0.33497    0.58497    0.33450    0.58590    0.33450    0.58683    0.33497    0.58730    0.33590    0.58730    0.33683    0.58683    0.33777    0.58590    0.33824    0.58497    0.33824
- 11     446      20    0.59897    0.33683    0.59804    0.33777    0.59664    0.33824    0.59477    0.33824    0.59337    0.33777    0.59244    0.33683    0.59244    0.33590    0.59290    0.33497    0.59337    0.33450    0.59430    0.33403    0.59711    0.33310    0.59804    0.33263    0.59851    0.33217    0.59897    0.33123    0.59897    0.32983    0.59804    0.32890    0.59664    0.32843    0.59477    0.32843    0.59337    0.32890    0.59244    0.32983
+ 11     446      20    0.59664    0.33683    0.59570    0.33777    0.59430    0.33824    0.59244    0.33824    0.59104    0.33777    0.59010    0.33683    0.59010    0.33590    0.59057    0.33497    0.59104    0.33450    0.59197    0.33403    0.59477    0.33310    0.59570    0.33263    0.59617    0.33217    0.59664    0.33123    0.59664    0.32983    0.59570    0.32890    0.59430    0.32843    0.59244    0.32843    0.59104    0.32890    0.59010    0.32983
  11      72       3    0.56956    0.46895    0.56489    0.46242    0.57190    0.46242
  11      50       2    0.56956    0.46895    0.56956    0.45915
  11     380      17    0.57703    0.46895    0.57563    0.46849    0.57470    0.46709    0.57423    0.46475    0.57423    0.46335    0.57470    0.46102    0.57563    0.45962    0.57703    0.45915    0.57796    0.45915    0.57937    0.45962    0.58030    0.46102    0.58077    0.46335    0.58077    0.46475    0.58030    0.46709    0.57937    0.46849    0.57796    0.46895    0.57703    0.46895
  11     292      13    0.58497    0.46895    0.58403    0.46849    0.58357    0.46755    0.58357    0.46662    0.58403    0.46569    0.58497    0.46522    0.58590    0.46522    0.58683    0.46569    0.58730    0.46662    0.58730    0.46755    0.58683    0.46849    0.58590    0.46895    0.58497    0.46895
- 11     446      20    0.59897    0.46755    0.59804    0.46849    0.59664    0.46895    0.59477    0.46895    0.59337    0.46849    0.59244    0.46755    0.59244    0.46662    0.59290    0.46569    0.59337    0.46522    0.59430    0.46475    0.59711    0.46382    0.59804    0.46335    0.59851    0.46289    0.59897    0.46195    0.59897    0.46055    0.59804    0.45962    0.59664    0.45915    0.59477    0.45915    0.59337    0.45962    0.59244    0.46055
+ 11     446      20    0.59664    0.46755    0.59570    0.46849    0.59430    0.46895    0.59244    0.46895    0.59104    0.46849    0.59010    0.46755    0.59010    0.46662    0.59057    0.46569    0.59104    0.46522    0.59197    0.46475    0.59477    0.46382    0.59570    0.46335    0.59617    0.46289    0.59664    0.46195    0.59664    0.46055    0.59570    0.45962    0.59430    0.45915    0.59244    0.45915    0.59104    0.45962    0.59010    0.46055
  11     314      14    0.56536    0.59734    0.56536    0.59781    0.56583    0.59874    0.56629    0.59921    0.56723    0.59967    0.56909    0.59967    0.57003    0.59921    0.57049    0.59874    0.57096    0.59781    0.57096    0.59687    0.57049    0.59594    0.56956    0.59454    0.56489    0.58987    0.57143    0.58987
  11     380      17    0.57703    0.59967    0.57563    0.59921    0.57470    0.59781    0.57423    0.59547    0.57423    0.59407    0.57470    0.59174    0.57563    0.59034    0.57703    0.58987    0.57796    0.58987    0.57937    0.59034    0.58030    0.59174    0.58077    0.59407    0.58077    0.59547    0.58030    0.59781    0.57937    0.59921    0.57796    0.59967    0.57703    0.59967
  11     292      13    0.58497    0.59967    0.58403    0.59921    0.58357    0.59827    0.58357    0.59734    0.58403    0.59641    0.58497    0.59594    0.58590    0.59594    0.58683    0.59641    0.58730    0.59734    0.58730    0.59827    0.58683    0.59921    0.58590    0.59967    0.58497    0.59967
- 11     446      20    0.59897    0.59827    0.59804    0.59921    0.59664    0.59967    0.59477    0.59967    0.59337    0.59921    0.59244    0.59827    0.59244    0.59734    0.59290    0.59641    0.59337    0.59594    0.59430    0.59547    0.59711    0.59454    0.59804    0.59407    0.59851    0.59360    0.59897    0.59267    0.59897    0.59127    0.59804    0.59034    0.59664    0.58987    0.59477    0.58987    0.59337    0.59034    0.59244    0.59127
- 11     380      17    0.57890    0.73039    0.57750    0.72993    0.57656    0.72852    0.57610    0.72619    0.57610    0.72479    0.57656    0.72246    0.57750    0.72106    0.57890    0.72059    0.57983    0.72059    0.58123    0.72106    0.58217    0.72246    0.58263    0.72479    0.58263    0.72619    0.58217    0.72852    0.58123    0.72993    0.57983    0.73039    0.57890    0.73039
- 11     292      13    0.58683    0.73039    0.58590    0.72993    0.58543    0.72899    0.58543    0.72806    0.58590    0.72712    0.58683    0.72666    0.58777    0.72666    0.58870    0.72712    0.58917    0.72806    0.58917    0.72899    0.58870    0.72993    0.58777    0.73039    0.58683    0.73039
- 11     732      33    0.90196    0.13725    0.90196    0.13725    0.91422    0.13725    0.90196    0.13725    0.90196    0.20261    0.91422    0.20261    0.90196    0.20261    0.90196    0.26797    0.91422    0.26797    0.90196    0.26797    0.90196    0.33333    0.91422    0.33333    0.90196    0.33333    0.90196    0.39869    0.91422    0.39869    0.90196    0.39869    0.90196    0.46405    0.91422    0.46405    0.90196    0.46405    0.90196    0.52941    0.91422    0.52941    0.90196 [...]
- 11     798      36    0.63542    0.72549    0.63542    0.72549    0.63542    0.73775    0.63542    0.72549    0.66207    0.72549    0.66207    0.73775    0.66207    0.72549    0.68873    0.72549    0.68873    0.73775    0.68873    0.72549    0.71538    0.72549    0.71538    0.73775    0.71538    0.72549    0.74203    0.72549    0.74203    0.73775    0.74203    0.72549    0.76869    0.72549    0.76869    0.73775    0.76869    0.72549    0.79534    0.72549    0.79534    0.73775    0.79534 [...]
- 11     798      36    0.63542    0.13725    0.63542    0.13725    0.63542    0.12500    0.63542    0.13725    0.66207    0.13725    0.66207    0.12500    0.66207    0.13725    0.68873    0.13725    0.68873    0.12500    0.68873    0.13725    0.71538    0.13725    0.71538    0.12500    0.71538    0.13725    0.74203    0.13725    0.74203    0.12500    0.74203    0.13725    0.76869    0.13725    0.76869    0.12500    0.76869    0.13725    0.79534    0.13725    0.79534    0.12500    0.79534 [...]
- 11     336      15    0.61628    0.11618    0.62141    0.11618    0.61861    0.11244    0.62001    0.11244    0.62094    0.11197    0.62141    0.11151    0.62188    0.11011    0.62188    0.10917    0.62141    0.10777    0.62048    0.10684    0.61908    0.10637    0.61768    0.10637    0.61628    0.10684    0.61581    0.10731    0.61534    0.10824
- 11     380      17    0.62748    0.11618    0.62608    0.11571    0.62515    0.11431    0.62468    0.11197    0.62468    0.11057    0.62515    0.10824    0.62608    0.10684    0.62748    0.10637    0.62841    0.10637    0.62981    0.10684    0.63075    0.10824    0.63121    0.11057    0.63121    0.11197    0.63075    0.11431    0.62981    0.11571    0.62841    0.11618    0.62748    0.11618
- 11     292      13    0.63542    0.11618    0.63448    0.11571    0.63402    0.11478    0.63402    0.11384    0.63448    0.11291    0.63542    0.11244    0.63635    0.11244    0.63728    0.11291    0.63775    0.11384    0.63775    0.11478    0.63728    0.11571    0.63635    0.11618    0.63542    0.11618
- 11      50       2    0.64324    0.11618    0.64324    0.10637
- 11      50       2    0.64324    0.11618    0.64931    0.11618
- 11      50       2    0.64324    0.11151    0.64697    0.11151
- 11      50       2    0.64324    0.10637    0.64931    0.10637
- 11     512      23    0.67472    0.11478    0.67425    0.11571    0.67285    0.11618    0.67192    0.11618    0.67052    0.11571    0.66958    0.11431    0.66912    0.11197    0.66912    0.10964    0.66958    0.10777    0.67052    0.10684    0.67192    0.10637    0.67239    0.10637    0.67379    0.10684    0.67472    0.10777    0.67519    0.10917    0.67519    0.10964    0.67472    0.11104    0.67379    0.11197    0.67239    0.11244    0.67192    0.11244    0.67052    0.11197    0.66958 [...]
- 11     380      17    0.68079    0.11618    0.67939    0.11571    0.67845    0.11431    0.67799    0.11197    0.67799    0.11057    0.67845    0.10824    0.67939    0.10684    0.68079    0.10637    0.68172    0.10637    0.68312    0.10684    0.68406    0.10824    0.68452    0.11057    0.68452    0.11197    0.68406    0.11431    0.68312    0.11571    0.68172    0.11618    0.68079    0.11618
- 11     292      13    0.68873    0.11618    0.68779    0.11571    0.68732    0.11478    0.68732    0.11384    0.68779    0.11291    0.68873    0.11244    0.68966    0.11244    0.69059    0.11291    0.69106    0.11384    0.69106    0.11478    0.69059    0.11571    0.68966    0.11618    0.68873    0.11618
- 11      50       2    0.69655    0.11618    0.69655    0.10637
- 11      50       2    0.69655    0.11618    0.70261    0.11618
- 11      50       2    0.69655    0.11151    0.70028    0.11151
- 11      50       2    0.69655    0.10637    0.70261    0.10637
- 11     512      23    0.72803    0.11291    0.72756    0.11151    0.72663    0.11057    0.72523    0.11011    0.72476    0.11011    0.72336    0.11057    0.72243    0.11151    0.72196    0.11291    0.72196    0.11338    0.72243    0.11478    0.72336    0.11571    0.72476    0.11618    0.72523    0.11618    0.72663    0.11571    0.72756    0.11478    0.72803    0.11291    0.72803    0.11057    0.72756    0.10824    0.72663    0.10684    0.72523    0.10637    0.72429    0.10637    0.72289 [...]
- 11     380      17    0.73410    0.11618    0.73270    0.11571    0.73176    0.11431    0.73130    0.11197    0.73130    0.11057    0.73176    0.10824    0.73270    0.10684    0.73410    0.10637    0.73503    0.10637    0.73643    0.10684    0.73737    0.10824    0.73783    0.11057    0.73783    0.11197    0.73737    0.11431    0.73643    0.11571    0.73503    0.11618    0.73410    0.11618
- 11     292      13    0.74203    0.11618    0.74110    0.11571    0.74063    0.11478    0.74063    0.11384    0.74110    0.11291    0.74203    0.11244    0.74297    0.11244    0.74390    0.11291    0.74437    0.11384    0.74437    0.11478    0.74390    0.11571    0.74297    0.11618    0.74203    0.11618
- 11      50       2    0.74985    0.11618    0.74985    0.10637
- 11      50       2    0.74985    0.11618    0.75592    0.11618
- 11      50       2    0.74985    0.11151    0.75359    0.11151
- 11      50       2    0.74985    0.10637    0.75592    0.10637
- 11      94       4    0.77200    0.11431    0.77293    0.11478    0.77433    0.11618    0.77433    0.10637
- 11     314      14    0.78040    0.11384    0.78040    0.11431    0.78087    0.11524    0.78134    0.11571    0.78227    0.11618    0.78414    0.11618    0.78507    0.11571    0.78554    0.11524    0.78601    0.11431    0.78601    0.11338    0.78554    0.11244    0.78461    0.11104    0.77994    0.10637    0.78647    0.10637
- 11     380      17    0.79208    0.11618    0.79067    0.11571    0.78974    0.11431    0.78927    0.11197    0.78927    0.11057    0.78974    0.10824    0.79067    0.10684    0.79208    0.10637    0.79301    0.10637    0.79441    0.10684    0.79534    0.10824    0.79581    0.11057    0.79581    0.11197    0.79534    0.11431    0.79441    0.11571    0.79301    0.11618    0.79208    0.11618
- 11     292      13    0.80001    0.11618    0.79908    0.11571    0.79861    0.11478    0.79861    0.11384    0.79908    0.11291    0.80001    0.11244    0.80095    0.11244    0.80188    0.11291    0.80235    0.11384    0.80235    0.11478    0.80188    0.11571    0.80095    0.11618    0.80001    0.11618
- 11      50       2    0.80783    0.11618    0.80783    0.10637
- 11      50       2    0.80783    0.11618    0.81390    0.11618
- 11      50       2    0.80783    0.11151    0.81157    0.11151
- 11      50       2    0.80783    0.10637    0.81390    0.10637
- 11      94       4    0.82531    0.11431    0.82624    0.11478    0.82764    0.11618    0.82764    0.10637
- 11     380      17    0.83885    0.11618    0.83418    0.11618    0.83371    0.11197    0.83418    0.11244    0.83558    0.11291    0.83698    0.11291    0.83838    0.11244    0.83931    0.11151    0.83978    0.11011    0.83978    0.10917    0.83931    0.10777    0.83838    0.10684    0.83698    0.10637    0.83558    0.10637    0.83418    0.10684    0.83371    0.10731    0.83325    0.10824
- 11     380      17    0.84538    0.11618    0.84398    0.11571    0.84305    0.11431    0.84258    0.11197    0.84258    0.11057    0.84305    0.10824    0.84398    0.10684    0.84538    0.10637    0.84632    0.10637    0.84772    0.10684    0.84865    0.10824    0.84912    0.11057    0.84912    0.11197    0.84865    0.11431    0.84772    0.11571    0.84632    0.11618    0.84538    0.11618
- 11     292      13    0.85332    0.11618    0.85239    0.11571    0.85192    0.11478    0.85192    0.11384    0.85239    0.11291    0.85332    0.11244    0.85425    0.11244    0.85519    0.11291    0.85565    0.11384    0.85565    0.11478    0.85519    0.11571    0.85425    0.11618    0.85332    0.11618
- 11      50       2    0.86114    0.11618    0.86114    0.10637
- 11      50       2    0.86114    0.11618    0.86721    0.11618
- 11      50       2    0.86114    0.11151    0.86488    0.11151
- 11      50       2    0.86114    0.10637    0.86721    0.10637
- 11      94       4    0.88002    0.11431    0.88095    0.11478    0.88235    0.11618    0.88235    0.10637
- 11     644      29    0.89029    0.11618    0.88889    0.11571    0.88842    0.11478    0.88842    0.11384    0.88889    0.11291    0.88982    0.11244    0.89169    0.11197    0.89309    0.11151    0.89402    0.11057    0.89449    0.10964    0.89449    0.10824    0.89402    0.10731    0.89356    0.10684    0.89216    0.10637    0.89029    0.10637    0.88889    0.10684    0.88842    0.10731    0.88796    0.10824    0.88796    0.10964    0.88842    0.11057    0.88936    0.11151    0.89076 [...]
- 11     380      17    0.90009    0.11618    0.89869    0.11571    0.89776    0.11431    0.89729    0.11197    0.89729    0.11057    0.89776    0.10824    0.89869    0.10684    0.90009    0.10637    0.90103    0.10637    0.90243    0.10684    0.90336    0.10824    0.90383    0.11057    0.90383    0.11197    0.90336    0.11431    0.90243    0.11571    0.90103    0.11618    0.90009    0.11618
- 11     292      13    0.90803    0.11618    0.90710    0.11571    0.90663    0.11478    0.90663    0.11384    0.90710    0.11291    0.90803    0.11244    0.90896    0.11244    0.90990    0.11291    0.91036    0.11384    0.91036    0.11478    0.90990    0.11571    0.90896    0.11618    0.90803    0.11618
- 11      50       2    0.53810    0.39524    0.54986    0.39524
- 11      50       2    0.54986    0.39524    0.54986    0.40196
- 11      50       2    0.53810    0.40756    0.54986    0.40308
- 11      50       2    0.53810    0.40756    0.54986    0.41204
- 11      50       2    0.54594    0.40476    0.54594    0.41036
- 11      50       2    0.53810    0.41709    0.54986    0.41709
- 11      50       2    0.53810    0.41317    0.53810    0.42101
- 11      50       2    0.53810    0.42381    0.54986    0.42381
- 11      50       2    0.53810    0.43053    0.54986    0.43053
- 11      50       2    0.53810    0.42661    0.53810    0.43445
- 11     226      10    0.53810    0.43725    0.54650    0.43725    0.54818    0.43782    0.54930    0.43894    0.54986    0.44062    0.54986    0.44174    0.54930    0.44342    0.54818    0.44454    0.54650    0.44510    0.53810    0.44510
- 11      50       2    0.53810    0.44958    0.54986    0.44958
- 11     270      12    0.53810    0.44958    0.53810    0.45350    0.53866    0.45518    0.53978    0.45630    0.54090    0.45686    0.54258    0.45742    0.54538    0.45742    0.54706    0.45686    0.54818    0.45630    0.54930    0.45518    0.54986    0.45350    0.54986    0.44958
- 11      50       2    0.53810    0.46134    0.54986    0.46134
- 11      50       2    0.53810    0.46134    0.53810    0.46863
- 11      50       2    0.54370    0.46134    0.54370    0.46583
- 11      50       2    0.54986    0.46134    0.54986    0.46863
+ 11     446      20    0.59664    0.59827    0.59570    0.59921    0.59430    0.59967    0.59244    0.59967    0.59104    0.59921    0.59010    0.59827    0.59010    0.59734    0.59057    0.59641    0.59104    0.59594    0.59197    0.59547    0.59477    0.59454    0.59570    0.59407    0.59617    0.59360    0.59664    0.59267    0.59664    0.59127    0.59570    0.59034    0.59430    0.58987    0.59244    0.58987    0.59104    0.59034    0.59010    0.59127
+ 11     380      17    0.58637    0.73039    0.58497    0.72993    0.58403    0.72852    0.58357    0.72619    0.58357    0.72479    0.58403    0.72246    0.58497    0.72106    0.58637    0.72059    0.58730    0.72059    0.58870    0.72106    0.58964    0.72246    0.59010    0.72479    0.59010    0.72619    0.58964    0.72852    0.58870    0.72993    0.58730    0.73039    0.58637    0.73039
+ 11     292      13    0.59430    0.73039    0.59337    0.72993    0.59290    0.72899    0.59290    0.72806    0.59337    0.72712    0.59430    0.72666    0.59524    0.72666    0.59617    0.72712    0.59664    0.72806    0.59664    0.72899    0.59617    0.72993    0.59524    0.73039    0.59430    0.73039
+ 11     732      33    0.90196    0.13725    0.90196    0.13725    0.90196    0.13725    0.91422    0.13725    0.90196    0.13725    0.90196    0.20261    0.91422    0.20261    0.90196    0.20261    0.90196    0.26797    0.91422    0.26797    0.90196    0.26797    0.90196    0.33333    0.91422    0.33333    0.90196    0.33333    0.90196    0.39869    0.91422    0.39869    0.90196    0.39869    0.90196    0.46405    0.91422    0.46405    0.90196    0.46405    0.90196    0.52941    0.91422 [...]
+ 11     798      36    0.63542    0.72549    0.61765    0.72549    0.63542    0.72549    0.63542    0.73775    0.63542    0.72549    0.66207    0.72549    0.66207    0.73775    0.66207    0.72549    0.68873    0.72549    0.68873    0.73775    0.68873    0.72549    0.71538    0.72549    0.71538    0.73775    0.71538    0.72549    0.74203    0.72549    0.74203    0.73775    0.74203    0.72549    0.76869    0.72549    0.76869    0.73775    0.76869    0.72549    0.79534    0.72549    0.79534 [...]
+ 11     798      36    0.63542    0.13725    0.61765    0.13725    0.63542    0.13725    0.63542    0.12500    0.63542    0.13725    0.66207    0.13725    0.66207    0.12500    0.66207    0.13725    0.68873    0.13725    0.68873    0.12500    0.68873    0.13725    0.71538    0.13725    0.71538    0.12500    0.71538    0.13725    0.74203    0.13725    0.74203    0.12500    0.74203    0.13725    0.76869    0.13725    0.76869    0.12500    0.76869    0.13725    0.79534    0.13725    0.79534 [...]
+ 11     336      15    0.62071    0.11618    0.62585    0.11618    0.62305    0.11244    0.62445    0.11244    0.62538    0.11197    0.62585    0.11151    0.62631    0.11011    0.62631    0.10917    0.62585    0.10777    0.62491    0.10684    0.62351    0.10637    0.62211    0.10637    0.62071    0.10684    0.62024    0.10731    0.61978    0.10824
+ 11     380      17    0.63192    0.11618    0.63051    0.11571    0.62958    0.11431    0.62911    0.11197    0.62911    0.11057    0.62958    0.10824    0.63051    0.10684    0.63192    0.10637    0.63285    0.10637    0.63425    0.10684    0.63518    0.10824    0.63565    0.11057    0.63565    0.11197    0.63518    0.11431    0.63425    0.11571    0.63285    0.11618    0.63192    0.11618
+ 11     292      13    0.63985    0.11618    0.63892    0.11571    0.63845    0.11478    0.63845    0.11384    0.63892    0.11291    0.63985    0.11244    0.64079    0.11244    0.64172    0.11291    0.64219    0.11384    0.64219    0.11478    0.64172    0.11571    0.64079    0.11618    0.63985    0.11618
+ 11      50       2    0.64545    0.11618    0.64545    0.10637
+ 11      50       2    0.64545    0.11618    0.65152    0.11618
+ 11      50       2    0.64545    0.11151    0.64919    0.11151
+ 11      50       2    0.64545    0.10637    0.65152    0.10637
+ 11     512      23    0.67915    0.11478    0.67869    0.11571    0.67729    0.11618    0.67635    0.11618    0.67495    0.11571    0.67402    0.11431    0.67355    0.11197    0.67355    0.10964    0.67402    0.10777    0.67495    0.10684    0.67635    0.10637    0.67682    0.10637    0.67822    0.10684    0.67915    0.10777    0.67962    0.10917    0.67962    0.10964    0.67915    0.11104    0.67822    0.11197    0.67682    0.11244    0.67635    0.11244    0.67495    0.11197    0.67402 [...]
+ 11     380      17    0.68522    0.11618    0.68382    0.11571    0.68289    0.11431    0.68242    0.11197    0.68242    0.11057    0.68289    0.10824    0.68382    0.10684    0.68522    0.10637    0.68616    0.10637    0.68756    0.10684    0.68849    0.10824    0.68896    0.11057    0.68896    0.11197    0.68849    0.11431    0.68756    0.11571    0.68616    0.11618    0.68522    0.11618
+ 11     292      13    0.69316    0.11618    0.69223    0.11571    0.69176    0.11478    0.69176    0.11384    0.69223    0.11291    0.69316    0.11244    0.69409    0.11244    0.69503    0.11291    0.69549    0.11384    0.69549    0.11478    0.69503    0.11571    0.69409    0.11618    0.69316    0.11618
+ 11      50       2    0.69876    0.11618    0.69876    0.10637
+ 11      50       2    0.69876    0.11618    0.70483    0.11618
+ 11      50       2    0.69876    0.11151    0.70250    0.11151
+ 11      50       2    0.69876    0.10637    0.70483    0.10637
+ 11     512      23    0.73246    0.11291    0.73200    0.11151    0.73106    0.11057    0.72966    0.11011    0.72920    0.11011    0.72780    0.11057    0.72686    0.11151    0.72639    0.11291    0.72639    0.11338    0.72686    0.11478    0.72780    0.11571    0.72920    0.11618    0.72966    0.11618    0.73106    0.11571    0.73200    0.11478    0.73246    0.11291    0.73246    0.11057    0.73200    0.10824    0.73106    0.10684    0.72966    0.10637    0.72873    0.10637    0.72733 [...]
+ 11     380      17    0.73853    0.11618    0.73713    0.11571    0.73620    0.11431    0.73573    0.11197    0.73573    0.11057    0.73620    0.10824    0.73713    0.10684    0.73853    0.10637    0.73947    0.10637    0.74087    0.10684    0.74180    0.10824    0.74227    0.11057    0.74227    0.11197    0.74180    0.11431    0.74087    0.11571    0.73947    0.11618    0.73853    0.11618
+ 11     292      13    0.74647    0.11618    0.74554    0.11571    0.74507    0.11478    0.74507    0.11384    0.74554    0.11291    0.74647    0.11244    0.74740    0.11244    0.74834    0.11291    0.74880    0.11384    0.74880    0.11478    0.74834    0.11571    0.74740    0.11618    0.74647    0.11618
+ 11      50       2    0.75207    0.11618    0.75207    0.10637
+ 11      50       2    0.75207    0.11618    0.75814    0.11618
+ 11      50       2    0.75207    0.11151    0.75581    0.11151
+ 11      50       2    0.75207    0.10637    0.75814    0.10637
+ 11      94       4    0.77644    0.11431    0.77737    0.11478    0.77877    0.11618    0.77877    0.10637
+ 11     314      14    0.78484    0.11384    0.78484    0.11431    0.78531    0.11524    0.78577    0.11571    0.78671    0.11618    0.78857    0.11618    0.78951    0.11571    0.78997    0.11524    0.79044    0.11431    0.79044    0.11338    0.78997    0.11244    0.78904    0.11104    0.78437    0.10637    0.79091    0.10637
+ 11     380      17    0.79651    0.11618    0.79511    0.11571    0.79418    0.11431    0.79371    0.11197    0.79371    0.11057    0.79418    0.10824    0.79511    0.10684    0.79651    0.10637    0.79744    0.10637    0.79884    0.10684    0.79978    0.10824    0.80025    0.11057    0.80025    0.11197    0.79978    0.11431    0.79884    0.11571    0.79744    0.11618    0.79651    0.11618
+ 11     292      13    0.80445    0.11618    0.80351    0.11571    0.80305    0.11478    0.80305    0.11384    0.80351    0.11291    0.80445    0.11244    0.80538    0.11244    0.80631    0.11291    0.80678    0.11384    0.80678    0.11478    0.80631    0.11571    0.80538    0.11618    0.80445    0.11618
+ 11      50       2    0.81005    0.11618    0.81005    0.10637
+ 11      50       2    0.81005    0.11618    0.81612    0.11618
+ 11      50       2    0.81005    0.11151    0.81378    0.11151
+ 11      50       2    0.81005    0.10637    0.81612    0.10637
+ 11      94       4    0.82974    0.11431    0.83068    0.11478    0.83208    0.11618    0.83208    0.10637
+ 11     380      17    0.84328    0.11618    0.83861    0.11618    0.83815    0.11197    0.83861    0.11244    0.84002    0.11291    0.84142    0.11291    0.84282    0.11244    0.84375    0.11151    0.84422    0.11011    0.84422    0.10917    0.84375    0.10777    0.84282    0.10684    0.84142    0.10637    0.84002    0.10637    0.83861    0.10684    0.83815    0.10731    0.83768    0.10824
+ 11     380      17    0.84982    0.11618    0.84842    0.11571    0.84748    0.11431    0.84702    0.11197    0.84702    0.11057    0.84748    0.10824    0.84842    0.10684    0.84982    0.10637    0.85075    0.10637    0.85215    0.10684    0.85309    0.10824    0.85355    0.11057    0.85355    0.11197    0.85309    0.11431    0.85215    0.11571    0.85075    0.11618    0.84982    0.11618
+ 11     292      13    0.85776    0.11618    0.85682    0.11571    0.85636    0.11478    0.85636    0.11384    0.85682    0.11291    0.85776    0.11244    0.85869    0.11244    0.85962    0.11291    0.86009    0.11384    0.86009    0.11478    0.85962    0.11571    0.85869    0.11618    0.85776    0.11618
+ 11      50       2    0.86336    0.11618    0.86336    0.10637
+ 11      50       2    0.86336    0.11618    0.86943    0.11618
+ 11      50       2    0.86336    0.11151    0.86709    0.11151
+ 11      50       2    0.86336    0.10637    0.86943    0.10637
+ 11      94       4    0.88749    0.11431    0.88842    0.11478    0.88982    0.11618    0.88982    0.10637
+ 11     644      29    0.89776    0.11618    0.89636    0.11571    0.89589    0.11478    0.89589    0.11384    0.89636    0.11291    0.89729    0.11244    0.89916    0.11197    0.90056    0.11151    0.90149    0.11057    0.90196    0.10964    0.90196    0.10824    0.90149    0.10731    0.90103    0.10684    0.89963    0.10637    0.89776    0.10637    0.89636    0.10684    0.89589    0.10731    0.89542    0.10824    0.89542    0.10964    0.89589    0.11057    0.89683    0.11151    0.89823 [...]
+ 11     380      17    0.90756    0.11618    0.90616    0.11571    0.90523    0.11431    0.90476    0.11197    0.90476    0.11057    0.90523    0.10824    0.90616    0.10684    0.90756    0.10637    0.90850    0.10637    0.90990    0.10684    0.91083    0.10824    0.91130    0.11057    0.91130    0.11197    0.91083    0.11431    0.90990    0.11571    0.90850    0.11618    0.90756    0.11618
+ 11     292      13    0.91550    0.11618    0.91457    0.11571    0.91410    0.11478    0.91410    0.11384    0.91457    0.11291    0.91550    0.11244    0.91643    0.11244    0.91737    0.11291    0.91783    0.11384    0.91783    0.11478    0.91737    0.11571    0.91643    0.11618    0.91550    0.11618
+ 11      50       2    0.53996    0.39524    0.55173    0.39524
+ 11      50       2    0.55173    0.39524    0.55173    0.40196
+ 11      50       2    0.53996    0.40756    0.55173    0.40308
+ 11      50       2    0.53996    0.40756    0.55173    0.41204
+ 11      50       2    0.54781    0.40476    0.54781    0.41036
+ 11      50       2    0.53996    0.41709    0.55173    0.41709
+ 11      50       2    0.53996    0.41317    0.53996    0.42101
+ 11      50       2    0.53996    0.42381    0.55173    0.42381
+ 11      50       2    0.53996    0.43053    0.55173    0.43053
+ 11      50       2    0.53996    0.42661    0.53996    0.43445
+ 11     226      10    0.53996    0.43725    0.54837    0.43725    0.55005    0.43782    0.55117    0.43894    0.55173    0.44062    0.55173    0.44174    0.55117    0.44342    0.55005    0.44454    0.54837    0.44510    0.53996    0.44510
+ 11      50       2    0.53996    0.44958    0.55173    0.44958
+ 11     270      12    0.53996    0.44958    0.53996    0.45350    0.54052    0.45518    0.54164    0.45630    0.54276    0.45686    0.54444    0.45742    0.54725    0.45742    0.54893    0.45686    0.55005    0.45630    0.55117    0.45518    0.55173    0.45350    0.55173    0.44958
+ 11      50       2    0.53996    0.46134    0.55173    0.46134
+ 11      50       2    0.53996    0.46134    0.53996    0.46863
+ 11      50       2    0.54556    0.46134    0.54556    0.46583
+ 11      50       2    0.55173    0.46134    0.55173    0.46863
  11      50       2    0.71499    0.09461    0.71499    0.08284
  11      50       2    0.71499    0.08284    0.72171    0.08284
  11     468      21    0.72731    0.09461    0.72619    0.09405    0.72507    0.09293    0.72451    0.09181    0.72395    0.09013    0.72395    0.08732    0.72451    0.08564    0.72507    0.08452    0.72619    0.08340    0.72731    0.08284    0.72955    0.08284    0.73067    0.08340    0.73179    0.08452    0.73235    0.08564    0.73291    0.08732    0.73291    0.09013    0.73235    0.09181    0.73179    0.09293    0.73067    0.09405    0.72955    0.09461    0.72731    0.09461
@@ -3607,56 +3607,56 @@ GKSMansley at stout.pmel.noXPPLP Profile F 1.0 16/12/14 1 0 3 6 611 1 1
  11     116       5    0.72633    0.79216    0.72577    0.79160    0.72633    0.79104    0.72689    0.79160    0.72633    0.79216
  11     116       5    0.72633    0.78543    0.72577    0.78487    0.72633    0.78431    0.72689    0.78487    0.72633    0.78543
  11     380      17    0.74314    0.79608    0.74146    0.79552    0.74034    0.79384    0.73978    0.79104    0.73978    0.78936    0.74034    0.78655    0.74146    0.78487    0.74314    0.78431    0.74426    0.78431    0.74594    0.78487    0.74706    0.78655    0.74762    0.78936    0.74762    0.79104    0.74706    0.79384    0.74594    0.79552    0.74426    0.79608    0.74314    0.79608
- 11      50       2    0.84926    0.79980    0.84926    0.79314
- 11     270      12    0.84926    0.79980    0.85148    0.79980    0.85244    0.79949    0.85307    0.79885    0.85339    0.79822    0.85371    0.79726    0.85371    0.79568    0.85339    0.79472    0.85307    0.79409    0.85244    0.79345    0.85148    0.79314    0.84926    0.79314
- 11      50       2    0.85752    0.79980    0.85498    0.79314
- 11      50       2    0.85752    0.79980    0.86006    0.79314
- 11      50       2    0.85593    0.79536    0.85910    0.79536
- 11      50       2    0.86291    0.79980    0.86291    0.79314
- 11      50       2    0.86069    0.79980    0.86514    0.79980
- 11      50       2    0.86831    0.79980    0.86577    0.79314
- 11      50       2    0.86831    0.79980    0.87085    0.79314
- 11      50       2    0.86672    0.79536    0.86990    0.79536
- 11     446      20    0.88164    0.79885    0.88101    0.79949    0.88006    0.79980    0.87879    0.79980    0.87783    0.79949    0.87720    0.79885    0.87720    0.79822    0.87752    0.79758    0.87783    0.79726    0.87847    0.79695    0.88037    0.79631    0.88101    0.79599    0.88133    0.79568    0.88164    0.79504    0.88164    0.79409    0.88101    0.79345    0.88006    0.79314    0.87879    0.79314    0.87783    0.79345    0.87720    0.79409
- 11      50       2    0.88387    0.79980    0.88387    0.79314
- 11      50       2    0.88387    0.79980    0.88799    0.79980
- 11      50       2    0.88387    0.79663    0.88641    0.79663
- 11      50       2    0.88387    0.79314    0.88799    0.79314
- 11      50       2    0.89117    0.79980    0.89117    0.79314
- 11      50       2    0.88894    0.79980    0.89339    0.79980
- 11     116       5    0.89529    0.79758    0.89498    0.79726    0.89529    0.79695    0.89561    0.79726    0.89529    0.79758
- 11     116       5    0.89529    0.79377    0.89498    0.79345    0.89529    0.79314    0.89561    0.79345    0.89529    0.79377
- 11      50       2    0.80926    0.78914    0.80926    0.78247
- 11     380      17    0.81148    0.78501    0.81529    0.78501    0.81529    0.78565    0.81498    0.78628    0.81466    0.78660    0.81402    0.78692    0.81307    0.78692    0.81244    0.78660    0.81180    0.78596    0.81148    0.78501    0.81148    0.78438    0.81180    0.78342    0.81244    0.78279    0.81307    0.78247    0.81402    0.78247    0.81466    0.78279    0.81529    0.78342
- 11      50       2    0.81688    0.78692    0.81879    0.78247
- 11      50       2    0.82069    0.78692    0.81879    0.78247
- 11     116       5    0.82228    0.78914    0.82260    0.78882    0.82291    0.78914    0.82260    0.78945    0.82228    0.78914
- 11      50       2    0.82260    0.78692    0.82260    0.78247
- 11     116       5    0.82545    0.78914    0.82545    0.78374    0.82577    0.78279    0.82641    0.78247    0.82704    0.78247
- 11      50       2    0.82450    0.78692    0.82672    0.78692
- 11     160       7    0.82894    0.78692    0.82894    0.78374    0.82926    0.78279    0.82990    0.78247    0.83085    0.78247    0.83148    0.78279    0.83244    0.78374
- 11      50       2    0.83244    0.78692    0.83244    0.78247
- 11     380      17    0.83815    0.78596    0.83783    0.78660    0.83688    0.78692    0.83593    0.78692    0.83498    0.78660    0.83466    0.78596    0.83498    0.78533    0.83561    0.78501    0.83720    0.78469    0.83783    0.78438    0.83815    0.78374    0.83815    0.78342    0.83783    0.78279    0.83688    0.78247    0.83593    0.78247    0.83498    0.78279    0.83466    0.78342
- 11      50       2    0.83974    0.78025    0.84545    0.78025
- 11     314      14    0.85085    0.78596    0.85021    0.78660    0.84958    0.78692    0.84863    0.78692    0.84799    0.78660    0.84736    0.78596    0.84704    0.78501    0.84704    0.78438    0.84736    0.78342    0.84799    0.78279    0.84863    0.78247    0.84958    0.78247    0.85021    0.78279    0.85085    0.78342
- 11      50       2    0.85307    0.78914    0.85307    0.78247
- 11     116       5    0.85529    0.78914    0.85561    0.78882    0.85593    0.78914    0.85561    0.78945    0.85529    0.78914
- 11      50       2    0.85561    0.78692    0.85561    0.78247
- 11      50       2    0.85815    0.78692    0.85815    0.78247
- 11     160       7    0.85815    0.78565    0.85910    0.78660    0.85974    0.78692    0.86069    0.78692    0.86133    0.78660    0.86164    0.78565    0.86164    0.78247
- 11     160       7    0.86164    0.78565    0.86260    0.78660    0.86323    0.78692    0.86418    0.78692    0.86482    0.78660    0.86514    0.78565    0.86514    0.78247
- 11      50       2    0.87117    0.78692    0.87117    0.78247
- 11     314      14    0.87117    0.78596    0.87053    0.78660    0.86990    0.78692    0.86894    0.78692    0.86831    0.78660    0.86768    0.78596    0.86736    0.78501    0.86736    0.78438    0.86768    0.78342    0.86831    0.78279    0.86894    0.78247    0.86990    0.78247    0.87053    0.78279    0.87117    0.78342
- 11     116       5    0.87402    0.78914    0.87402    0.78374    0.87434    0.78279    0.87498    0.78247    0.87561    0.78247
- 11      50       2    0.87307    0.78692    0.87529    0.78692
- 11     380      17    0.87879    0.78692    0.87815    0.78660    0.87752    0.78596    0.87720    0.78501    0.87720    0.78438    0.87752    0.78342    0.87815    0.78279    0.87879    0.78247    0.87974    0.78247    0.88037    0.78279    0.88101    0.78342    0.88133    0.78438    0.88133    0.78501    0.88101    0.78596    0.88037    0.78660    0.87974    0.78692    0.87879    0.78692
- 11      50       2    0.88355    0.78914    0.88355    0.78247
- 11     380      17    0.88736    0.78692    0.88672    0.78660    0.88609    0.78596    0.88577    0.78501    0.88577    0.78438    0.88609    0.78342    0.88672    0.78279    0.88736    0.78247    0.88831    0.78247    0.88894    0.78279    0.88958    0.78342    0.88990    0.78438    0.88990    0.78501    0.88958    0.78596    0.88894    0.78660    0.88831    0.78692    0.88736    0.78692
- 11     160       7    0.89561    0.78692    0.89561    0.78184    0.89529    0.78088    0.89498    0.78057    0.89434    0.78025    0.89339    0.78025    0.89275    0.78057
- 11     314      14    0.89561    0.78596    0.89498    0.78660    0.89434    0.78692    0.89339    0.78692    0.89275    0.78660    0.89212    0.78596    0.89180    0.78501    0.89180    0.78438    0.89212    0.78342    0.89275    0.78279    0.89339    0.78247    0.89434    0.78247    0.89498    0.78279    0.89561    0.78342
- 11      50       2    0.89752    0.78692    0.89942    0.78247
- 11     138       6    0.90133    0.78692    0.89942    0.78247    0.89879    0.78120    0.89815    0.78057    0.89752    0.78025    0.89720    0.78025
+ 11      50       2    0.72510    0.79725    0.72510    0.78922
+ 11     270      12    0.72510    0.79725    0.72778    0.79725    0.72893    0.79687    0.72969    0.79611    0.73007    0.79534    0.73046    0.79419    0.73046    0.79228    0.73007    0.79113    0.72969    0.79036    0.72893    0.78960    0.72778    0.78922    0.72510    0.78922
+ 11      50       2    0.73505    0.79725    0.73199    0.78922
+ 11      50       2    0.73505    0.79725    0.73811    0.78922
+ 11      50       2    0.73314    0.79190    0.73697    0.79190
+ 11      50       2    0.74156    0.79725    0.74156    0.78922
+ 11      50       2    0.73888    0.79725    0.74424    0.79725
+ 11      50       2    0.74807    0.79725    0.74500    0.78922
+ 11      50       2    0.74807    0.79725    0.75113    0.78922
+ 11      50       2    0.74615    0.79190    0.74998    0.79190
+ 11     446      20    0.76415    0.79611    0.76338    0.79687    0.76223    0.79725    0.76070    0.79725    0.75955    0.79687    0.75879    0.79611    0.75879    0.79534    0.75917    0.79458    0.75955    0.79419    0.76032    0.79381    0.76261    0.79304    0.76338    0.79266    0.76376    0.79228    0.76415    0.79151    0.76415    0.79036    0.76338    0.78960    0.76223    0.78922    0.76070    0.78922    0.75955    0.78960    0.75879    0.79036
+ 11      50       2    0.76683    0.79725    0.76683    0.78922
+ 11      50       2    0.76683    0.79725    0.77180    0.79725
+ 11      50       2    0.76683    0.79343    0.76989    0.79343
+ 11      50       2    0.76683    0.78922    0.77180    0.78922
+ 11      50       2    0.77563    0.79725    0.77563    0.78922
+ 11      50       2    0.77295    0.79725    0.77831    0.79725
+ 11     116       5    0.78061    0.79458    0.78022    0.79419    0.78061    0.79381    0.78099    0.79419    0.78061    0.79458
+ 11     116       5    0.78061    0.78998    0.78022    0.78960    0.78061    0.78922    0.78099    0.78960    0.78061    0.78998
+ 11      50       2    0.79018    0.79725    0.79018    0.78922
+ 11     380      17    0.79286    0.79228    0.79745    0.79228    0.79745    0.79304    0.79707    0.79381    0.79669    0.79419    0.79592    0.79458    0.79477    0.79458    0.79401    0.79419    0.79324    0.79343    0.79286    0.79228    0.79286    0.79151    0.79324    0.79036    0.79401    0.78960    0.79477    0.78922    0.79592    0.78922    0.79669    0.78960    0.79745    0.79036
+ 11      50       2    0.79937    0.79458    0.80166    0.78922
+ 11      50       2    0.80396    0.79458    0.80166    0.78922
+ 11     116       5    0.80587    0.79725    0.80626    0.79687    0.80664    0.79725    0.80626    0.79764    0.80587    0.79725
+ 11      50       2    0.80626    0.79458    0.80626    0.78922
+ 11     116       5    0.80970    0.79725    0.80970    0.79075    0.81008    0.78960    0.81085    0.78922    0.81162    0.78922
+ 11      50       2    0.80855    0.79458    0.81123    0.79458
+ 11     160       7    0.81391    0.79458    0.81391    0.79075    0.81430    0.78960    0.81506    0.78922    0.81621    0.78922    0.81697    0.78960    0.81812    0.79075
+ 11      50       2    0.81812    0.79458    0.81812    0.78922
+ 11     380      17    0.82501    0.79343    0.82463    0.79419    0.82348    0.79458    0.82233    0.79458    0.82119    0.79419    0.82080    0.79343    0.82119    0.79266    0.82195    0.79228    0.82387    0.79190    0.82463    0.79151    0.82501    0.79075    0.82501    0.79036    0.82463    0.78960    0.82348    0.78922    0.82233    0.78922    0.82119    0.78960    0.82080    0.79036
+ 11      50       2    0.82693    0.78654    0.83382    0.78654
+ 11     314      14    0.84033    0.79343    0.83956    0.79419    0.83880    0.79458    0.83765    0.79458    0.83688    0.79419    0.83612    0.79343    0.83573    0.79228    0.83573    0.79151    0.83612    0.79036    0.83688    0.78960    0.83765    0.78922    0.83880    0.78922    0.83956    0.78960    0.84033    0.79036
+ 11      50       2    0.84301    0.79725    0.84301    0.78922
+ 11     116       5    0.84569    0.79725    0.84607    0.79687    0.84645    0.79725    0.84607    0.79764    0.84569    0.79725
+ 11      50       2    0.84607    0.79458    0.84607    0.78922
+ 11      50       2    0.84913    0.79458    0.84913    0.78922
+ 11     160       7    0.84913    0.79304    0.85028    0.79419    0.85105    0.79458    0.85219    0.79458    0.85296    0.79419    0.85334    0.79304    0.85334    0.78922
+ 11     160       7    0.85334    0.79304    0.85449    0.79419    0.85526    0.79458    0.85641    0.79458    0.85717    0.79419    0.85755    0.79304    0.85755    0.78922
+ 11      50       2    0.86483    0.79458    0.86483    0.78922
+ 11     314      14    0.86483    0.79343    0.86406    0.79419    0.86330    0.79458    0.86215    0.79458    0.86138    0.79419    0.86062    0.79343    0.86023    0.79228    0.86023    0.79151    0.86062    0.79036    0.86138    0.78960    0.86215    0.78922    0.86330    0.78922    0.86406    0.78960    0.86483    0.79036
+ 11     116       5    0.86827    0.79725    0.86827    0.79075    0.86866    0.78960    0.86942    0.78922    0.87019    0.78922
+ 11      50       2    0.86712    0.79458    0.86980    0.79458
+ 11     380      17    0.87401    0.79458    0.87325    0.79419    0.87248    0.79343    0.87210    0.79228    0.87210    0.79151    0.87248    0.79036    0.87325    0.78960    0.87401    0.78922    0.87516    0.78922    0.87593    0.78960    0.87669    0.79036    0.87708    0.79151    0.87708    0.79228    0.87669    0.79343    0.87593    0.79419    0.87516    0.79458    0.87401    0.79458
+ 11      50       2    0.87976    0.79725    0.87976    0.78922
+ 11     380      17    0.88435    0.79458    0.88359    0.79419    0.88282    0.79343    0.88244    0.79228    0.88244    0.79151    0.88282    0.79036    0.88359    0.78960    0.88435    0.78922    0.88550    0.78922    0.88627    0.78960    0.88703    0.79036    0.88741    0.79151    0.88741    0.79228    0.88703    0.79343    0.88627    0.79419    0.88550    0.79458    0.88435    0.79458
+ 11     160       7    0.89430    0.79458    0.89430    0.78845    0.89392    0.78730    0.89354    0.78692    0.89277    0.78654    0.89162    0.78654    0.89086    0.78692
+ 11     314      14    0.89430    0.79343    0.89354    0.79419    0.89277    0.79458    0.89162    0.79458    0.89086    0.79419    0.89009    0.79343    0.88971    0.79228    0.88971    0.79151    0.89009    0.79036    0.89086    0.78960    0.89162    0.78922    0.89277    0.78922    0.89354    0.78960    0.89430    0.79036
+ 11      50       2    0.89660    0.79458    0.89890    0.78922
+ 11     138       6    0.90120    0.79458    0.89890    0.78922    0.89813    0.78768    0.89737    0.78692    0.89660    0.78654    0.89622    0.78654
  82       0
- 81       6    1498
+ 81       6    1484
  82       0
   0     0
diff --git a/bench/metafile_masters_32bit/degC_axlab.plt b/bench/metafile_masters_32bit/degC_axlab.plt
index 7d60705..99bc350 100644
--- a/bench/metafile_masters_32bit/degC_axlab.plt
+++ b/bench/metafile_masters_32bit/degC_axlab.plt
@@ -1,4 +1,4 @@
-GKSMansley at stout.pmel.noXPPLP Profile F 1.0 16/12/14 1 0 3 6 611 1 1                      
+GKSMansley at stout.pmel.noXPPLP Profile F 1.0 17/03/17 1 0 3 6 611 1 1                      
   4      12       3       0
  51      29      19       1    1.00000       0
  56      39       2    1.00000    0.00000    0.00000
diff --git a/bench/metafile_masters_32bit/dots.plt b/bench/metafile_masters_32bit/dots.plt
index 7868504..0cddbf2 100644
--- a/bench/metafile_masters_32bit/dots.plt
+++ b/bench/metafile_masters_32bit/dots.plt
@@ -1,4 +1,4 @@
-GKSMansley at stout.pmel.noXPPLP Profile F 1.0 16/12/14 1 0 3 6 611 1 1                      
+GKSMansley at stout.pmel.noXPPLP Profile F 1.0 17/03/17 1 0 3 6 611 1 1                      
   4      12       3       0
  51      29      19       1    1.00000       0
  56      39       2    1.00000    0.00000    0.00000
diff --git a/bench/metafile_masters_64bit_rh6/bn_axis_vs.gif b/bench/metafile_masters_64bit_rh6/bn_axis_vs.gif
index 994f8f6..a67cb40 100644
Binary files a/bench/metafile_masters_64bit_rh6/bn_axis_vs.gif and b/bench/metafile_masters_64bit_rh6/bn_axis_vs.gif differ
diff --git a/bench/metafile_masters_64bit_rh6/bn_hovmuller_overlays.gif b/bench/metafile_masters_64bit_rh6/bn_hovmuller_overlays.gif
index fa507a2..f19eefe 100644
Binary files a/bench/metafile_masters_64bit_rh6/bn_hovmuller_overlays.gif and b/bench/metafile_masters_64bit_rh6/bn_hovmuller_overlays.gif differ
diff --git a/bench/metafile_masters_64bit_rh6/bn_ribbon_vlog.gif b/bench/metafile_masters_64bit_rh6/bn_ribbon_vlog.gif
index c469ee8..3565b46 100644
Binary files a/bench/metafile_masters_64bit_rh6/bn_ribbon_vlog.gif and b/bench/metafile_masters_64bit_rh6/bn_ribbon_vlog.gif differ
diff --git a/bench/metafile_masters_64bit_rh6/bn_vs_const_value.gif b/bench/metafile_masters_64bit_rh6/bn_vs_const_value.gif
new file mode 100644
index 0000000..482e199
Binary files /dev/null and b/bench/metafile_masters_64bit_rh6/bn_vs_const_value.gif differ
diff --git a/bench/metafile_masters_64bit_rh6/lon_lat_label_controls.gif b/bench/metafile_masters_64bit_rh6/lon_lat_label_controls.gif
new file mode 100644
index 0000000..5616121
Binary files /dev/null and b/bench/metafile_masters_64bit_rh6/lon_lat_label_controls.gif differ
diff --git a/bench/metafile_masters_64bit_rh6/vs_lon_over.gif b/bench/metafile_masters_64bit_rh6/vs_lon_over.gif
new file mode 100644
index 0000000..916d10d
Binary files /dev/null and b/bench/metafile_masters_64bit_rh6/vs_lon_over.gif differ
diff --git a/bench/run_all b/bench/run_all
index d959e96..3a07f09 100755
--- a/bench/run_all
+++ b/bench/run_all
@@ -30,6 +30,7 @@
 #            append this to the log file 
 # acm*  1/14 Change the order of the questions asked: test efs? If so what directory are they in?
 #            Also list the contents of the external fucntions directory
+# *sh* 3/17 Check for corruption warnings in the error log
 #
 # usage % run_all
 
@@ -339,3 +340,7 @@ ls -l $log_file >>&  $bench_hist
 # make a clean version of the log file that can easily be compared
 ./clean_draconian $log_file
 
+# check for corruption warnings ("crptn") in the error log
+grep -q "crptn" $err_file
+set captured_status = $status
+if ( $captured_status == 0 ) echo "*** CORRUPTION WARNINGS FOUND IN ERROR LOG ***"
diff --git a/bench/shorttest.dat b/bench/shorttest.dat
new file mode 100644
index 0000000..7d01a48
--- /dev/null
+++ b/bench/shorttest.dat
@@ -0,0 +1,11 @@
+ YEAR  MO   LON     LAT      str1      HAULJOIN LENGTH  FREQ  str2   BTTM_TEMP    SST    BTTM_DEPT    CPUE      BIN
+1996.0,6.0,200.5890,55.63290,somestring,881278.0,390.0,1.0,anotherstring,4.4,7.5,113.0,833.6547,300.0
+1996.0,6.0,200.5890,55.63290,somestring,881278.0,400.0,1.0,anotherstring,4.4,7.5,113.0,833.6547,300.0
+1996.0,6.0,200.5890,55.63290,somestring,881278.0,450.0,1.0,anotherstring,4.4,7.5,113.0,833.6547,400.0
+1996.0,6.0,200.5890,55.63290,somestring,881278.0,430.0,1.0,anotherstring,4.4,7.5,113.0,833.6547,400.0
+1996.0,6.0,200.5890,55.63290,somestring,881278.0,470.0,1.0,anotherstring,4.4,7.5,113.0,833.6547,400.0
+1996.0,6.0,200.5890,55.63290,somestring,881278.0,460.0,1.0,anotherstring,4.4,7.5,113.0,833.6547,400.0
+1996.0,6.0,200.5890,55.63290,somestring,881278.0,560.0,2.0,anotherstring,4.4,7.5,113.0,833.6547,500.0
+1996.0,6.0,200.5890,55.63290,somestring,881278.0,530.0,1.0,anotherstring,4.4,7.5,113.0,833.6547,500.0
+1996.0,6.0,200.5890,55.63290,somestring,881278.0,560.0,1.0,anotherstring,4.4,7.5,113.0,833.6547,500.0
+1996.0,6.0,200.5890,55.63290,somestring,881278.0,550.0,1.0,anotherstring,4.4,7.5,113.0,833.6547,500.0
diff --git a/bench/test_results/bn_axis_vs.gif b/bench/test_results/bn_axis_vs.gif
index 5011ce6..724b6cd 100644
Binary files a/bench/test_results/bn_axis_vs.gif and b/bench/test_results/bn_axis_vs.gif differ
diff --git a/bench/test_results/bn_contour_conset.gif b/bench/test_results/bn_contour_conset.gif
index 0779724..ed02488 100644
Binary files a/bench/test_results/bn_contour_conset.gif and b/bench/test_results/bn_contour_conset.gif differ
diff --git a/bench/test_results/bn_hovmuller_overlays.gif b/bench/test_results/bn_hovmuller_overlays.gif
index f374e3a..01bbe5e 100644
Binary files a/bench/test_results/bn_hovmuller_overlays.gif and b/bench/test_results/bn_hovmuller_overlays.gif differ
diff --git a/bench/test_results/bn_labels_on_taxis.gif b/bench/test_results/bn_labels_on_taxis.gif
index 6f4e718..74b0974 100644
Binary files a/bench/test_results/bn_labels_on_taxis.gif and b/bench/test_results/bn_labels_on_taxis.gif differ
diff --git a/bench/test_results/bn_ribbon_vlog.gif b/bench/test_results/bn_ribbon_vlog.gif
index 575cd1f..27b8fb1 100644
Binary files a/bench/test_results/bn_ribbon_vlog.gif and b/bench/test_results/bn_ribbon_vlog.gif differ
diff --git a/bench/test_results/bn_subspan_mod_strides.gif b/bench/test_results/bn_subspan_mod_strides.gif
index 35563c4..077db46 100644
Binary files a/bench/test_results/bn_subspan_mod_strides.gif and b/bench/test_results/bn_subspan_mod_strides.gif differ
diff --git a/bench/test_results/bn_vs_const_value.gif b/bench/test_results/bn_vs_const_value.gif
new file mode 100644
index 0000000..5d735cc
Binary files /dev/null and b/bench/test_results/bn_vs_const_value.gif differ
diff --git a/bench/test_results/bnplot_2.gif b/bench/test_results/bnplot_2.gif
index f6bfc91..7720ec4 100644
Binary files a/bench/test_results/bnplot_2.gif and b/bench/test_results/bnplot_2.gif differ
diff --git a/bench/test_results/bnplot_3.gif b/bench/test_results/bnplot_3.gif
index e16612d..fb652b7 100644
Binary files a/bench/test_results/bnplot_3.gif and b/bench/test_results/bnplot_3.gif differ
diff --git a/bench/test_results/err700_key.gif b/bench/test_results/err700_key.gif
index b25b9e1..aa9ba7f 100644
Binary files a/bench/test_results/err700_key.gif and b/bench/test_results/err700_key.gif differ
diff --git a/bench/test_results/ferret_run_tests_err b/bench/test_results/ferret_run_tests_err
index 30dd138..36f6f5b 100644
--- a/bench/test_results/ferret_run_tests_err
+++ b/bench/test_results/ferret_run_tests_err
@@ -1,300 +1,4 @@
-Using FERRET /home/flat/ksmith/Ferret/bin/ferret
-lrwxrwxrwx. 1 ksmith oerdnewp 11 Feb  9 14:24 /home/flat/ksmith/Ferret/bin/ferret -> ferret_v7.1
-Using external functions from /home/flat/ksmith/Ferret/ext_func/libs
-Benchmark run by ksmith
-Note: RUN_TESTS.sh test results for Ferret
-****** Restricting Ferret paths to bench directory ******
-FER_DAT=.
-FER_DATA=.
-FER_DATA_THREDDS= http://ferret.pmel.noaa.gov/geoide/geoIDECleanCatalog.xml /home/flat/ksmith/Datasets
-FER_DESCR=.
-FER_DIR=.
-FER_DSETS=.
-FER_EXTERNAL_FUNCTIONS=/home/flat/ksmith/Ferret/ext_func/libs
-FER_FONTS=/home/flat/ksmith/Ferret/ppl/fonts
-FER_GO=. /home/flat/ksmith/Ferret/go /home/flat/ksmith/Ferret/examples /home/flat/ksmith/Ferret/contrib
-FER_GRIDS=.
-FER_LIBS=/home/flat/ksmith/Ferret/lib
-FER_PALETTE=. /home/flat/ksmith/Ferret/ppl
-FER_WEB_BROWSER=firefox
-Benchmark scripts that will be run:
-   bn_syntax.jnl
-   bn_dollar.jnl
-   bn_grave.jnl
-   bn_letd.jnl
-   bn_if.jnl
-   bn_expressions.jnl
-   bn_geometry.jnl
-   bn_output.jnl
-   bn_in_plane.jnl
-   bn_compress.jnl
-   bn_interpolate.jnl
-   bn_regrid.jnl
-   bn_ez.jnl
-   bn_plot.jnl
-   bn_curv.jnl
-   bn_symbols.jnl
-   bn_comma_delimited.jnl
-   bn_dynamic_grids.jnl
-   bn_cdf.jnl
-   bn_regrid_transforms.jnl
-   bn_axis_limits.jnl
-   bn_movie.jnl
-   bn_ez_order.jnl
-   bn_user.jnl
-   bn_stream.jnl
-   bn_mc.jnl
-   bn_negative_t.jnl
-   bn_xact_regrid.jnl
-   bn_gc_functions.jnl
-   bn491_bug_fixes.jnl
-   bn_odd_variable_name.jnl
-   bn_test_stream.jnl
-   bn_define_axes.jnl
-   bn_pattern.jnl
-   bn_polygon.jnl
-   bn500_bug_fixes.jnl
-   bn_sample.jnl
-   bn_strides_revs_perms.jnl
-   bn_non_COARDS_netCDF.jnl
-   bn_cache_hits.jnl
-   bn_regrid_to_user.jnl
-   bn_calendar.jnl
-   bn_dash_dot.jnl
-   bn_flowlines.jnl
-   bn_logaxes.jnl
-   bn_internal_external_functions.jnl
-   bn_modulo_strides.jnl
-   bn_axis_viewports.jnl
-   bn_strings.jnl
-   bn_axcontrol.jnl
-   bn_vec_curv.jnl
-   bn_delimited_read.jnl
-   bn541_bug_fixes.jnl
-   bn_cancel_axes.jnl
-   bn542_bug_fixes.jnl
-   bn_subspan_modulo.jnl
-   bn_dots.jnl
-   bn_lev_symbols.jnl
-   bn_mode_logo_lab.jnl
-   bn_modulo_attribute.jnl
-   bn550_bug_fixes.jnl
-   bn551_bug_fixes.jnl
-   bn_multi_line_labels.jnl
-   bn552_bug_fixes.jnl
-   bn_set_var_scale_off.jnl
-   bn_longvarnames.jnl
-   bn_shakey.jnl
-   bn_eof_4d.jnl
-   bn_abstract_axis_names.jnl
-   bn_many_polygons.jnl
-   bn_fill_irregular.jnl
-   bn_xml_output.jnl
-   bn_test_nan.jnl
-   bn553_bug_fixes.jnl
-   bn_graticules.jnl
-   bn_repeat_range.jnl
-   bn554_bug_fixes.jnl
-   bn_bounds.jnl
-   bn_all_leap.jnl
-   bn570_bug_fixes.jnl
-   bn_modstats.jnl
-   bn_mc_vary_scale.jnl
-   bn_plot_nokey.jnl
-   bn580_bug_fixes.jnl
-   bn_inf_levels.jnl
-   bn_regulart.jnl
-   bn_labwid.jnl
-   bn_redefine_taxis_mc.jnl
-   bn_illegal_axisname.jnl
-   bn_exit_script.jnl
-   bn_exit_cycle.jnl
-   bn_curv_mod.jnl
-   bn_shade_keycont.jnl
-   bn581_bug_fixes.jnl
-   bn_tab_comma_multivar.jnl
-   bn_element_functions.jnl
-   bn_long_revision_num.jnl
-   bn_window_title.jnl
-   bn_last_error.jnl
-   bn_deg_min.jnl
-   bn_dp_readscale.jnl
-   bn_bounds_defineax.jnl
-   bn_attributes.jnl
-   bn_transforms.jnl
-   bn_variance.jnl
-   bn_linecolors.jnl
-   bn_cdf_errmsg.jnl
-   bn600_bug_fixes.jnl
-   bn601_bug_fixes.jnl
-   bn_set_strides.jnl
-   bn_lsl_lowpass.jnl
-   bn_return_xmod_tmod.jnl
-   bn602_bug_fixes.jnl
-   bn_modnbd.jnl
-   bn_fifty_files.jnl
-   bn603_bug_fixes.jnl
-   bn_set_var_name.jnl
-   bn_memory_symbol.jnl
-   bn605_bug_fixes.jnl
-   bn608_bug_fixes.jnl
-   bn_shade_trim.jnl
-   bn_mode_nlevels.jnl
-   bn61_bug_fixes.jnl
-   bn_test_opendap.jnl
-   bn611_bug_fixes.jnl
-   bn_no_valid_on_plot.jnl
-   bn_median.jnl
-   bn614_bug_fixes.jnl
-   bn_mode_nodata_lab.jnl
-   bn_proleptic_gregorian_calendar.jnl
-   bn_string_ngd_nbd.jnl
-   bn_cat_string.jnl
-   bn_sort_strings.jnl
-   bn_samplexyt.jnl
-   bn_last_go_file.jnl
-   bn_cancel_upcase_uservar.jnl
-   bn_cdf_keepax.jnl
-   bn_keep_axisnames.jnl
-   bn_key_label_minmax.jnl
-   bn62_bug_fixes.jnl
-   bn_convolve.jnl
-   bn_tax_tstep.jnl
-   bn_grads_z.jnl
-   bn_clock_syms.jnl
-   bn63_bug_fixes.jnl
-   bn_axis_reversed_syms.jnl
-   bn_isdepth.jnl
-   bn_var_hist_levels.jnl
-   bn64_bug_fixes.jnl
-   bn_long_grid_names.jnl
-   bn_xml_repl.jnl
-   bn65_bug_fixes.jnl
-   bn_txtype_dmy.jnl
-   bn_n_open_dsets_sym.jnl
-   bn_multi_decade.jnl
-   bn_show_xml_file.jnl
-   bn66_bug_fixes.jnl
-   bn_netcdf4.jnl
-   bn_scat2grid_bin.jnl
-   bn_axis_dir_symbols.jnl
-   bn663_bug_fixes.jnl
-   bn_set_axis_regular.jnl
-   bn_set_cancel_redirect.jnl
-   bn_min_max_smoothers.jnl
-   bn_vector_symbols.jnl
-   bn_variance_large.jnl
-   bn_labnum_calendar.jnl
-   bn665_bug_fixes.jnl
-   bn_floatstr.jnl
-   bn67_bug_fixes.jnl
-   bn_NaN_note.jnl
-   bn671_bug_fixes.jnl
-   bn68_bug_fixes.jnl
-   bn_ifv.jnl
-   bn_randu2_randn2.jnl
-   bn_axis_cf.jnl
-   bn_repeated_coords.jnl
-   bn_xml_header.jnl
-   bn_eof_simple.jnl
-   bn_eof_simple2.jnl
-   bn_interpolate_6d.jnl
-   bn_regrid_6d.jnl
-   bn_syntax_6d.jnl
-   bn_expressions_6d.jnl
-   bn_direction_fcns_6d.jnl
-   bn_regrid_transforms_6d.jnl
-   bn_aggregate_e.jnl
-   bn_6d_lab_mode.jnl
-   bn682_bug_fixes.jnl
-   bn683_bug_fixes.jnl
-   bn_outtype.jnl
-   bn_ribbon_plot.jnl
-   bn_descr_4digit.jnl
-   bn_axis_outtype.jnl
-   bn_axis_nonmonotonic.jnl
-   bn_vec_mod.jnl
-   bn685_bug_fixes.jnl
-   bn_dsg_e_x.jnl
-   bn_nco_append.jnl
-   bn_nobounds.jnl
-   bn_write_integer_att.jnl
-   bn_descriptor_mc.jnl
-   bn_plot_color_only.jnl
-   bn_vtree.jnl
-   bn686_bug_fixes.jnl
-   bn_long_symnames.jnl
-   bn_strdim.jnl
-   bn_single_colorlev.jnl
-   bn69_bug_fixes.jnl
-   bn_bad_axis_bounds.jnl
-   bn_enter_exit_GO.jnl
-   bn_stddev.jnl
-   bn_set_axis_name.jnl
-   bn_let_remote.jnl
-   bn691_bug_fixes.jnl
-   bn_append_dsg.jnl
-   bn_global_atts.jnl
-   bn_conventions_history.jnl
-   bn_center_key_labels.jnl
-   bn_wgt_transform.jnl
-   bn_show_outfile.jnl
-   bn_date1900_array.jnl
-   bn_spawn_size.jnl
-   bn_polygon_log.jnl
-   bn694_bug_fixes.jnl
-   bn_permute_ascii.jnl
-   bn_lon_lat_time_string.jnl
-   bn_save_justdim.jnl
-   bn_time2d.jnl
-   bn_legend_labels.jnl
-   bn_DQ.jnl
-   bn695_bug_fixes.jnl
-   bn_f_tax_fcns.jnl
-   bn_fmrc.jnl
-   bn_return_defined.jnl
-   bn_can_var_noerr.jnl
-   bn_annotate.jnl
-   bn_auxiliary.jnl
-   bn_plot_ribbon_gaploc.jnl
-   bn_time_short_axes.jnl
-   bn_floatstr_extended.jnl
-   bn696_bug_fixes.jnl
-   bn_bin_regrid.jnl
-   bn697_bug_fixes.jnl
-   bn_aggregate_t.jnl
-   bn_unquoted_args.jnl
-   bn_long_lists.jnl
-   bn_show_uvar_grid.jnl
-   bn_aggregate_f.jnl
-   bn_aggregate_tef.jnl
-   bn_dataset_qualifier.jnl
-   bn_speedtest.jnl
-   bn_show_noupcase.jnl
-   bn_letd_attributes.jnl
-   bn_list_clim_axes.jnl
-   bn_climatology_attr.jnl
-   bn_plot_along.jnl
-   bn_show_commands.jnl
-   bn_plot_decimate.jnl
-   bn_auto_tprec.jnl
-   bn_coordvars_atts.jnl
-   bn710_bug_fixes.jnl
-   bn_delim_datetime.jnl
-   bn_aggregate_u.jnl
-   bn_ez_noupcase.jnl
-   bn_spawn_fail.jnl
-   bn_ave_of_ave.jnl
-   bn_agg_member_syntax.jnl
-   bn_true_monthly.jnl
-   bn_gif.jnl
-   bn_ps.jnl
-   bn_all_ef.jnl
-   bn_startupfile.jnl
-   err700_decimate.jnl
-Beginning at Thu Feb  9 14:24:23 PST 2017
 *** Running ferret script: bn_syntax.jnl
- Cached data cleared from memory
            *** NOTE: /FILES is deprecated.  Use /MEMBERS
            *** NOTE: in GIF mode: ignoring SET MODE METAFILE
            *** NOTE: in GIF mode: ignoring SET MODE METAFILE
@@ -315,7 +19,6 @@ that
  **ERROR: command syntax: \!
 \! ignore (err cuz bang gets escaped)
 *** Running ferret script: bn_dollar.jnl
- Cached data cleared from memory
  **ERROR: invalid command: Value needed for argument 3 in command
           GO bn_dollar.jnl hello
 message/cont $3
@@ -365,7 +68,6 @@ say ($100)
           GO bn_dollar.jnl hello
 say ($10)0
 *** Running ferret script: bn_grave.jnl
- Cached data cleared from memory
  **ERROR: command syntax: unpaired grave accents: message/continue "2+2=`2+2"
 message/continue "2+2=`2+2"
  **ERROR: variable unknown or not in data set: GARBAGE
@@ -407,7 +109,6 @@ MESSAGE/CONTINUE `sst,return=Xsize`
           sst,return=trash
 MESSAGE/CONTINUE `sst,return=trash`
 *** Running ferret script: bn_letd.jnl
- Cached data cleared from memory
  **ERROR: unknown data set: NOEXIST
 DEFINE VARIABLE/d=noexist a = b
  **ERROR: variable unknown or not in data set: AIRT[D=GT4D011]
@@ -417,7 +118,6 @@ can var
  LISTing to file v12file.nc
  LISTing to file v1file.nc
 *** Running ferret script: bn_if.jnl
- Cached data cleared from memory
  **ERROR: invalid command: ENDIF can only be used in an IF clause
 ENDIF
  **ERROR: command syntax: ELIF cannot be used in single line IF
@@ -435,7 +135,6 @@ endif
 elif
            *** NOTE: Unclosed IF statement ... assuming ENDIF, in script ./bn_if.jnl
 *** Running ferret script: bn_expressions.jnl
- Cached data cleared from memory
  **ERROR: command syntax: IF I GT 3 THEN ( IF I LT 5 THEN I ELSE -9 ) ELSE .333
           Cannot use multiple IFs in an expression
 LIST/ORDER=X  IF I GT 3 THEN ( IF I LT 5 THEN I ELSE -9 ) ELSE .333
@@ -446,7 +145,6 @@ DEFINE VARIABLE A = IF I LT 5 THEN I ELSE -9
  **ERROR: variable unknown or not in data set: A1
 load a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16,a17,a18,a19,a20,a21
 *** Running ferret script: bn_geometry.jnl
- Cached data cleared from memory
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
  PERMANENT data cleared from memory
@@ -457,7 +155,6 @@ load a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16,a17,a18,a19,a20,a21
           expression has 5 points (I=1:5)
 LIST X[I=1:5] - X[I=6:9]
 *** Running ferret script: bn_output.jnl
- Cached data cleared from memory
  LISTing to file WV.J34K56L7
  LISTing to file test.dat
  LISTing to file test.dat
@@ -465,15 +162,11 @@ LIST X[I=1:5] - X[I=6:9]
  **ERROR: invalid subcommand: File type no longer supported TMA
 LIST/FILE=test.gt/FORMAT=TMAP/L=1:3 v,v^0.5
 *** Running ferret script: bn_in_plane.jnl
- Cached data cleared from memory
 *** Running ferret script: bn_compress.jnl
- Cached data cleared from memory
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
 *** Running ferret script: bn_interpolate.jnl
- Cached data cleared from memory
 *** Running ferret script: bn_regrid.jnl
- Cached data cleared from memory
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
 Replacing definition of axis XFINE
@@ -482,10 +175,8 @@ Replacing definition of axis YFINE
 Replacing definition of axis YCOARSE
 Replacing definition of grid G24
 *** Running ferret script: bn_ez.jnl
- Cached data cleared from memory
  LISTing to file test.unf
 *** Running ferret script: bn_plot.jnl
- Cached data cleared from memory
  **ERROR: dimensions improperly specified: specified data is not a line
            - its a 2D region: "plot/i=1:10/j=1:20/nolabel i+j"
 plot/i=1:10/j=1:20/nolabel i+j
@@ -547,7 +238,6 @@ cont/over/i=1:10/thick=4 i
           Value must be positive
 cont/over/i=1:10/sigdig=-1 i
 *** Running ferret script: bn_curv.jnl
- Cached data cleared from memory
            *** NOTE: in GIF mode: ignoring SET MODE METAFILE
 Replacing definition of axis LON_FIELD_I_AXIS
 Replacing definition of axis LON_FIELD_J_AXIS
@@ -567,7 +257,6 @@ shade/nolabel sst, x_page[j=1:12], y_page
 shade/nolabel sst, x_page[j=1:12], y_page
            *** NOTE: in GIF mode: ignoring SET MODE METAFILE
 *** Running ferret script: bn_symbols.jnl
- Cached data cleared from memory
  **ERROR: command syntax: illegal name: TEST*
 define symbol test* = hello
  **ERROR: invalid command: Value needed for argument 5 in command
@@ -586,9 +275,7 @@ message/continue ($t2"|solong>really hello|bye|")
            *** NOTE: symbol t2 received was: hello
            *** NOTE: Valid symbol t2 choices are: solong>really hello|bye|
 *** Running ferret script: bn_comma_delimited.jnl
- Cached data cleared from memory
 *** Running ferret script: bn_dynamic_grids.jnl
- Cached data cleared from memory
  **ERROR: unknown defining grid: GX=NOEXIST
 list temp[gx=noexist]
  **ERROR: command syntax: P=NOEXIST
@@ -607,7 +294,7 @@ list temp[i=2:5,gx=130e:80w:10]
 list temp[gx=130e:80w]
  **ERROR: variable unknown or not in data set: NOEXIST
 list temp[gx=u]	+ noexist
- **ERROR: illegal limits: TEMP on grid (G005) does not exist at K=30
+ **ERROR: illegal limits: TEMP on grid (G###) does not exist at K=30
           Axis extremes are K=1:27
 list temp[gx=u,k=30]
  **ERROR: illegal limits: TEMP does not contain K=20
@@ -623,7 +310,7 @@ list tu
 list tu
  **ERROR: variable unknown or not in data set: NOEXIST
 list tu
- **ERROR: illegal limits: TEMP on grid (G005) does not exist at K=30
+ **ERROR: illegal limits: TEMP on grid (G###) does not exist at K=30
           Axis extremes are K=1:27
 list tu
  **ERROR: illegal limits: TEMP does not contain K=20
@@ -631,12 +318,8 @@ list tu
 list tu
  **ERROR: regridding: Axis orientation not matching request:GX=PSYU
 list tu
- Cached data cleared from memory
- **ERROR: request exceeds memory setting: 50 Mwords were requested.
+ **ERROR: request exceeds memory setting
 list temp[gz=z999999,z=5:15]
-           *** NOTE: You can use SET MEMORY/SIZE=xxx to increase memory.
-           *** NOTE: The "Memory use" section of the FERRET Users Guide has further tips.
- Cached data cleared from memory
            *** NOTE: Ambiguous coordinates on X axis: X[X=0.1:10:1.5] +  X[X=1.1:11:1.5]
            *** NOTE: Ambiguous coordinates on X axis: X[X=0.1:10:1.5] +  X[X=1.1:11:1.5]
            *** NOTE: Ambiguous coordinates on X axis: TEMP[I=101:120:4]+X[I=101:120:4]
@@ -658,7 +341,6 @@ list a
           Axis extremes are I=1:8
 list a
 *** Running ferret script: bn_cdf.jnl
- Cached data cleared from memory
  LISTing to file test0a.cdf
  LISTing to file test0b.cdf
  LISTing to file test0c.cdf
@@ -771,13 +453,11 @@ list/format=cdf/l=13/append/file=test_abs.cdf l1
  LISTing to file test_fil.cdf
            *** NOTE: Axis coordinates are decreasing-ordered. Reversing ordering for axis Y1010_REV
 *** Running ferret script: bn_regrid_transforms.jnl
- Cached data cleared from memory
  **ERROR: regridding: G=W - more than 1 target grid
 load temp[g=u,g=w]
  **ERROR: unknown defining grid: G=X --> g=user-or-pseudo-var not allowed
 load temp[g=x]
 *** Running ferret script: bn_axis_limits.jnl
- Cached data cleared from memory
            *** NOTE: /XLIMITS and /YLIMITS are deprecated.
            *** NOTE: Use /HLIMITS and /VLIMITS instead.
  **ERROR: command syntax: xlimits
@@ -797,9 +477,7 @@ plot/xlimits=1:2: i
  **ERROR: invalid command: Must give a range: xlimits=5:5
 plot/xlimits=5:5 i
 *** Running ferret script: bn_movie.jnl
- Cached data cleared from memory
 *** Running ferret script: bn_ez_order.jnl
- Cached data cleared from memory
  LISTing to file test_perm10.dat
  LISTing to file test_perm24.dat
  LISTing to file test_perm48.dat
@@ -809,12 +487,9 @@ plot/xlimits=5:5 i
  LISTing to file test_stream.unf
  LISTing to file test_stream.unf
 *** Running ferret script: bn_user.jnl
- Cached data cleared from memory
            *** NOTE: Only one window can be open in batch mode
 *** Running ferret script: bn_stream.jnl
- Cached data cleared from memory
 *** Running ferret script: bn_mc.jnl
- Cached data cleared from memory
  **TMAP ERR: Attempt to access unsupported feature
              Descriptor requests delta of 0, please use 1
              Data set: ./coads_clim_bad_delta.des
@@ -826,72 +501,73 @@ set data coads_clim_step_order.des
              coads_clim.001b
 list sst
 *** Running ferret script: bn_negative_t.jnl
- Cached data cleared from memory
  **ERROR: regridding: only @ASN regridding between calendar and
           non-calendar axes: A
 LIST a[gt=tcal]
 *** Running ferret script: bn_xact_regrid.jnl
- Cached data cleared from memory
 *** Running ferret script: bn_gc_functions.jnl
- Cached data cleared from memory
            *** NOTE: /XLIMITS and /YLIMITS are deprecated.
            *** NOTE: Use /HLIMITS and /VLIMITS instead.
 *** Running ferret script: bn491_bug_fixes.jnl
- Cached data cleared from memory
            *** NOTE: Cannot cancel window when in batch mode
  LISTing to file test.cdf
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis TAX
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 *** Running ferret script: bn_odd_variable_name.jnl
- Cached data cleared from memory
- Cached data cleared from memory
  **ERROR: command syntax: v2-and-minus
           - before and is illegal
 list v2-and-minus
- **ERROR: dimensions improperly specified: 99999999 words were requested.
+ **ERROR: illegal limits: Limits must be provided for pseudo-variable.
 list x
-           *** NOTE: Check for unspecified limits on an ABSTRACT axis
-           *** NOTE: Use the SHOW GRID command to see the axes
- **ERROR: dimensions improperly specified: 99999999 words were requested.
+ **ERROR: illegal limits: Limits must be provided for pseudo-variable.
 list i
-           *** NOTE: Check for unspecified limits on an ABSTRACT axis
-           *** NOTE: Use the SHOW GRID command to see the axes
  **ERROR: command syntax: v2-and-minus[i=5:15 at ddc]
           - before and is illegal
 list v2-and-minus[i=5:15 at ddc]
- Cached data cleared from memory
 *** Running ferret script: bn_test_stream.jnl
- Cached data cleared from memory
  LISTing to file permutedBinaryTest.dat
  LISTing to file junk.dat
- **ERROR: request exceeds memory setting: 48000 Mwords were requested.
+ **ERROR: request exceeds memory setting
 load num
-           *** NOTE: You can use SET MEMORY/SIZE=xxx to increase memory.
-           *** NOTE: The "Memory use" section of the FERRET Users Guide has further tips.
+    To fulfill this request would exceed the current SET MEMORY/SIZE= limit of 25.6 megawords
+    At the moment that the memory limit was reached
+    memory was committed as follows:
+        - to objects used in computation: : 0 (0%)
+    The size of the requested object was: : 24000000000 (93750%)
 Replacing definition of axis YAX
 Replacing definition of axis ZAX
 Replacing definition of axis TAX
- **ERROR: request exceeds memory setting: 2000 Mwords were requested.
+ **ERROR: request exceeds memory setting
 load num
-           *** NOTE: You can use SET MEMORY/SIZE=xxx to increase memory.
-           *** NOTE: The "Memory use" section of the FERRET Users Guide has further tips.
+    To fulfill this request would exceed the current SET MEMORY/SIZE= limit of 25.6 megawords
+    At the moment that the memory limit was reached
+    memory was committed as follows:
+        - to objects used in computation: : 0 (0%)
+    The size of the requested object was: : 1000000000 (3906%)
 Replacing definition of axis XAX
 Replacing definition of axis YAX
 Replacing definition of axis ZAX
@@ -907,7 +583,6 @@ SET DATA/EZ/var=num/order=vxyzt/grid=mygrid junk.dat
  **ERROR: invalid command: invalid argument for /TYPE
 SET DATA/EZ/var=num/type=i3/grid=mygrid/form=stream junk.dat
 *** Running ferret script: bn_define_axes.jnl
- Cached data cleared from memory
 Replacing definition of axis XAX
 Replacing definition of axis XAX
 Replacing definition of axis XAX
@@ -960,50 +635,58 @@ Replacing definition of axis XAX2
            *** NOTE: (fyi) units are not subject to auto-conversion: BLAHS
 Replacing definition of axis XAX2
 *** Running ferret script: bn_pattern.jnl
- Cached data cleared from memory
            *** NOTE: in GIF mode: ignoring SET MODE METAFILE
            *** NOTE: Only one window can be open in batch mode
            *** NOTE: in GIF mode: ignoring SET MODE METAFILE
            *** NOTE: Cannot cancel window when in batch mode
 *** Running ferret script: bn_polygon.jnl
- Cached data cleared from memory
            *** NOTE: in GIF mode: ignoring SET MODE METAFILE
 *** Running ferret script: bn500_bug_fixes.jnl
- Cached data cleared from memory
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file out.cdf
  LISTing to file out.cdf
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
            *** NOTE: /UNIT=MONTHS is ambiguous ... using 1/12 of 365.2425 days
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  **ERROR: command syntax: noname(i)
           unknown function "noname"
 stat i, noname(i)
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 *** Running ferret script: bn_sample.jnl
- Cached data cleared from memory
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
  PERMANENT data cleared from memory
@@ -1041,7 +724,6 @@ stat i, noname(i)
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
 *** Running ferret script: bn_strides_revs_perms.jnl
- Cached data cleared from memory
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
  PERMANENT data cleared from memory
@@ -1061,23 +743,19 @@ LIST/i=2:4:2 VAR
            *** NOTE: Not using NetCDF strides for multi-cycle modulo
            *** NOTE: Stride value not a factor of axis length
 *** Running ferret script: bn_non_COARDS_netCDF.jnl
- Cached data cleared from memory
            *** NOTE: Coordinates out of order or missing on axis UNORDERED_AXIS at subscript 4
            *** NOTE: A dummy axis of subscripts will be used
            *** NOTE: Coordinates out of order or missing on axis GAPPY_AXIS at subscript 3
            *** NOTE: A dummy axis of subscripts will be used
            *** NOTE: Axis coordinates are decreasing-ordered. Reversing ordering for axis BACKWARDS_AXIS
 *** Running ferret script: bn_cache_hits.jnl
- Cached data cleared from memory
 *** Running ferret script: bn_regrid_to_user.jnl
- Cached data cleared from memory
 Replacing definition of grid GG2
  **ERROR: unknown defining grid: G=NO_EXIST
 load/x=160e/y=5s temp[d=2,k=1,g=no_exist]
  **ERROR: unknown defining grid: GX=A[D=1]
 load/x=160e/y=5s v2
 *** Running ferret script: bn_calendar.jnl
- Cached data cleared from memory
 Replacing definition of axis TDAYS
 Replacing definition of axis TDAYS
 Replacing definition of axis TDAYS
@@ -1092,7 +770,6 @@ Replacing definition of axis TDAYS
 Replacing definition of grid TGRID
            *** NOTE: /UNIT=MONTHS  ... using 1/12 of 365.25 days
 *** Running ferret script: bn_dash_dot.jnl
- Cached data cleared from memory
  **ERROR: command syntax: dash=(1., 2.)
           DASH[=(dn1,up1,dn2,up2)] takes 4 arguments or no argument
 plot/dash=(1., 2.)/color=red/thick/i=1:1000 sin(62.8*(i+10) )
@@ -1100,18 +777,18 @@ plot/dash=(1., 2.)/color=red/thick/i=1:1000 sin(62.8*(i+10) )
           DASH arguments must be positive
 plot/dash=(-1., 2., 3., 4.)/i=1:1000 sin(62.8*(i+20) )
 *** Running ferret script: bn_flowlines.jnl
- Cached data cleared from memory
  Using every   2th vector in the Y direction
  Using every   2th vector in the Y direction
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
            *** NOTE: in GIF mode: ignoring SET MODE METAFILE
  Using every   2th vector in the X direction
  Using every   2th vector in the Y direction
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 *** Running ferret script: bn_logaxes.jnl
- Cached data cleared from memory
 Replacing definition of axis DLOG
 Replacing definition of axis DLOG
  **ERROR: value out of legal range: Limits for log axis negative or too small: -9.00 : 0.00
@@ -1129,48 +806,63 @@ Bailing out of external function "eof_stat":
 
 Bailing out of external function "eof_tfunc":
 	 Function EOF_TFUNC not available in this version of Ferret. Use EOFSVD_TFUNC
- Cached data cleared from memory
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis DAYT
  **ERROR: error in external function
 LIST vw_fft
 Replacing definition of grid TGRID
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Replacing definition of axis XAXS
+Replacing definition of axis YAXS
+Replacing definition of axis ZAXS
+Replacing definition of axis TAXS
+Replacing definition of grid MYGRD
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  **ERROR: illegal limits: VWND does not contain L=102:150
           Data are available in L =    1:60
 list tsorted_indices, tsorted_wnd
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  **ERROR: error in external function
 list/l=1:2 eofxyfcn
  **ERROR: error in external function
@@ -1179,10 +871,13 @@ list/i=1:3/j=1:3 eofstat
 list/i=1:2 eoftime
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  **ERROR: command syntax: strindex("Ferret is fun for the whole family - real family fun")
           The strindex function has an incorrect number of arguments
 list strindex("Ferret is fun for the whole family - real family fun")
@@ -1200,16 +895,20 @@ list substring("Have you fed your ferret today")
 list strcat ("All work and no play")
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 *** Running ferret script: bn_modulo_strides.jnl
- Cached data cleared from memory
  LISTing to file test_modulo.cdf
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
@@ -1218,7 +917,6 @@ list strcat ("All work and no play")
            *** NOTE: Not using NetCDF strides for multi-cycle modulo
            *** NOTE: Stride value not a factor of axis length
 *** Running ferret script: bn_axis_viewports.jnl
- Cached data cleared from memory
 Re-defining viewport MID
 Re-defining viewport MID2
 Re-defining viewport LLAX
@@ -1226,7 +924,6 @@ Re-defining viewport LRAX
 Re-defining viewport ULAX
 Re-defining viewport URAX
 *** Running ferret script: bn_strings.jnl
- Cached data cleared from memory
  **ERROR: command syntax: "string2"}
 list e
  **ERROR: command syntax: 5, "string2"}
@@ -1269,13 +966,10 @@ list/nohead SIN({"a","b","c"})
  **ERROR: invalid command: cannot use strings in numerical expression
 list/nohead MAX("a",{"a","b","c"})
 *** Running ferret script: bn_axcontrol.jnl
- Cached data cleared from memory
 *** Running ferret script: bn_vec_curv.jnl
- Cached data cleared from memory
            *** NOTE: in GIF mode: ignoring SET MODE METAFILE
            *** NOTE: in GIF mode: ignoring SET MODE METAFILE
 *** Running ferret script: bn_delimited_read.jnl
- Cached data cleared from memory
 Replacing definition of axis TAX
 Replacing definition of grid G1
  **TMAP ERR: syntax error in string
@@ -1291,54 +985,67 @@ SET DATA/FORM=delimited/type="da,da, date2"  bn_delimited_read_date_time.dat
  **ERROR: command syntax: ,,:
 SET DATA/EZ/form=delim/delim="/,,,:" bn_delimited_read_date_time.dat
 *** Running ferret script: bn541_bug_fixes.jnl
- Cached data cleared from memory
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file test_good_order.cdf
  LISTing to file test_bad_order.cdf
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis T2
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file profiles.nc
  LISTing to file profiles.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file test_100x100.nc
- Cached data cleared from memory
- Cached data cleared from memory
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis XAX
 Replacing definition of axis YAX
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 *** Running ferret script: bn_cancel_axes.jnl
- Cached data cleared from memory
  LISTing to file longax.dat
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
            *** NOTE: Axis has repeated values -- micro-adjusting ...
            *** NOTE: Axis has repeated values -- micro-adjusting ...
            *** NOTE: Axis has repeated values -- micro-adjusting ...
@@ -1351,56 +1058,52 @@ Replacing definition of axis YAX
            *** NOTE: Axis has repeated values -- micro-adjusting ...
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
            *** NOTE: regarding ./test_axes.nc ...
            *** NOTE: Climatological axes test_irreg, test_seas defined
+ LISTing to file longaxspace.dat
 *** Running ferret script: bn542_bug_fixes.jnl
- Cached data cleared from memory
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
            *** NOTE: /UNIT=MONTHS is ambiguous ... using 1/12 of 365.2425 days
            *** NOTE: /UNIT=MONTHS  ... using 1/12 of 365.25 days
            *** NOTE: /UNIT=MONTHS  ... using 1/12 of 365.25 days
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file string4d.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
            *** NOTE: regarding ./test_axes.nc ...
            *** NOTE: Climatological axes test_irreg, test_seas defined
            *** NOTE: Not deleted: TEST_IRREG
-           *** NOTE: Axis is in use by grid (G001)
+           *** NOTE: Axis is in use by grid (G###)
            *** NOTE: Not deleted: TEST_IRREG
-           *** NOTE: Axis is in use by grid (G001)
+           *** NOTE: Axis is in use by grid (G###)
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 *** Running ferret script: bn_subspan_modulo.jnl
- Cached data cleared from memory
  LISTing to file test_mod.cdf
-           *** NOTE: Shell command returned failure flag: ncdump -h test_nomod.cdf | grep modulo
  LISTing to file test_mod.cdf
-           *** NOTE: Shell command returned failure flag: ncdump -h test_nomod.cdf | grep modulo
  LISTing to file test_mod.cdf
-           *** NOTE: Shell command returned failure flag: ncdump -h test_nomod.cdf | grep modulo
  **ERROR: improper grid or axis definition: Axis length exceeds modulo length
 define axis/x=130e:500:10/modulo=360 xsub
  LISTing to file test_mod.cdf
-           *** NOTE: Shell command returned failure flag: ncdump -h test_nomod.cdf | grep modulo
  LISTing to file test_mod.cdf
-           *** NOTE: Shell command returned failure flag: ncdump -h test_nomod.cdf | grep modulo
  LISTing to file test_mod.cdf
-           *** NOTE: Shell command returned failure flag: ncdump -h test_nomod.cdf | grep modulo
  LISTing to file test_mod.cdf
-           *** NOTE: Shell command returned failure flag: ncdump -h test_nomod.cdf | grep modulo
  LISTing to file test_mod.cdf
-           *** NOTE: Shell command returned failure flag: ncdump -h test_nomod.cdf | grep modulo
  LISTing to file test_mod.cdf
-           *** NOTE: Shell command returned failure flag: ncdump -h test_nomod.cdf | grep modulo
  LISTing to file test_mod.cdf
-           *** NOTE: Shell command returned failure flag: ncdump -h test_nomod.cdf | grep modulo
  LISTing to file test_subspan_modulo.nc
  LISTing to file test_subspan_modulo.nc
  LISTing to file test_subspan_modulo.nc
@@ -1413,52 +1116,54 @@ define axis/x=130e:500:10/modulo=360 xsub
            *** NOTE: Not using NetCDF strides for multi-cycle modulo
            *** NOTE: Stride value not a factor of axis length
 *** Running ferret script: bn_dots.jnl
- Cached data cleared from memory
            *** NOTE: in GIF mode: ignoring SET MODE METAFILE
            *** NOTE: /THICKNESS ignored  on /SYMBOL=DOT
            *** NOTE: /SIZE= ignored  on /SYMBOL=DOT
 *** Running ferret script: bn_lev_symbols.jnl
- Cached data cleared from memory
 *** Running ferret script: bn_mode_logo_lab.jnl
- Cached data cleared from memory
 *** Running ferret script: bn_modulo_attribute.jnl
- Cached data cleared from memory
            *** NOTE: Undecipherable value of netCDF attribute modulo on variable lon_moderr
            *** NOTE: modulo = "j"
            *** NOTE: Undecipherable value of netCDF attribute modulo on variable time_moderr
            *** NOTE: modulo = "j"
 *** Running ferret script: bn550_bug_fixes.jnl
- Cached data cleared from memory
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 *** Running ferret script: bn551_bug_fixes.jnl
- Cached data cleared from memory
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Re-defining viewport MID1
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis TAX
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 *** Running ferret script: bn_multi_line_labels.jnl
- Cached data cleared from memory
            *** NOTE: in GIF mode: ignoring SET MODE METAFILE
            *** NOTE: in GIF mode: ignoring SET MODE METAFILE
 *** Running ferret script: bn552_bug_fixes.jnl
- Cached data cleared from memory
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  **ERROR: value out of legal range: # of contour levels > 500  (3283)
 CONTOUR/L=1/LEV=0.01d sst
  **ERROR: value out of legal range: # of contour levels > 500  (3283)
@@ -1469,18 +1174,21 @@ SHADE/L=1/LEV=0.01d sst
 POLYGON/KEY/LEV=0.01d/coord_ax=Z  PLMxpoly+PLMxpolymark, PLMypoly+PLMypolymark, PLMpolydata
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
            *** NOTE: Valid calendars are GREGORIAN NOLEAP    JULIAN    360_DAY   ALL_LEAP
            *** NOTE: calendar attribute on axis "TIME" is not recognized: BADNAME
            *** NOTE: A dummy axis of subscripts will be used
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
-rm: cannot remove `input.txt': No such file or directory
+ooooooooooooooooooooooooooooooooooooooooooo
+rm: cannot remove ‘input.txt’: No such file or directory
 ls: cannot access input.txt: No such file or directory
-           *** NOTE: Shell command returned failure flag: rm input.txt
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  **ERROR: invalid command:  use RETURN= shape,size,grid,title,bad,t0,f0,units,dset,
             dsetnum,dsetpath,dsettitle,*size,*start,*end,
             *units,*axis,nc_scale,nc_offset,user_scale,user_offset,
@@ -1489,21 +1197,27 @@ ls: cannot access input.txt: No such file or directory
 MESSAGE/CONTINUE `axy, return=xx`
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis XAX
  LISTing to file a.dat
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis YAX
            *** NOTE: /UNIT=MONTHS is ambiguous ... using 1/12 of 365.2425 days
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file clim.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
            *** NOTE: Coordinates missing on axis LONGITUDE at subscript -1423
            *** NOTE: A dummy axis of subscripts will be used
            *** NOTE: Coordinates missing on axis LATITUDE at subscript -1423
@@ -1513,32 +1227,31 @@ Replacing definition of axis YAX
           Axis extremes are T=31-DEC-1997 12:00:30-JAN-1998 12:00
 list/t=1-jan-1990 dummy
 *** Running ferret script: bn_set_var_scale_off.jnl
- Cached data cleared from memory
  **ERROR: invalid command: Can SET VARIABLE/OFFSET= only with NetCDF datasets
 SET VAR/OFFSET=1 x1
  **ERROR: invalid command: Can SET VARIABLE/SCALEFAC= only with NetCDF datasets
 SET VAR/SCALE=10 x2
 *** Running ferret script: bn_longvarnames.jnl
- Cached data cleared from memory
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file longvname.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file longvname.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 *** Running ferret script: bn_shakey.jnl
- Cached data cleared from memory
 *** Running ferret script: bn_eof_4d.jnl
- Cached data cleared from memory
  LISTing to file eofsp.cdf
  LISTing to file eofti.cdf
  LISTing to file eofst.cdf
 *** Running ferret script: bn_abstract_axis_names.jnl
- Cached data cleared from memory
  LISTing to file confuse_xz.nc
  LISTing to file confuse_yz.nc
  LISTing to file confuse_yt.nc
@@ -1548,16 +1261,14 @@ SET VAR/SCALE=10 x2
  LISTing to file confuse_yt.nc
  LISTing to file confuse_yzt.nc
 *** Running ferret script: bn_many_polygons.jnl
- Cached data cleared from memory
 Replacing definition of axis YQ
 *** Running ferret script: bn_fill_irregular.jnl
- Cached data cleared from memory
 *** Running ferret script: bn_xml_output.jnl
- Cached data cleared from memory
  LISTing to file a.nc
  LISTing to file b.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 SHO VAR/XML
 SHO VAR/XML
 SHO VAR/XML
@@ -1568,17 +1279,17 @@ SHOW VAR/XML
 SHOW VAR/XML
  LISTing to file a.nc
 *** Running ferret script: bn_test_nan.jnl
- Cached data cleared from memory
 *** Running ferret script: bn553_bug_fixes.jnl
- Cached data cleared from memory
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 *** Running ferret script: bn_graticules.jnl
- Cached data cleared from memory
  Using every   5th vector in the X direction
  Using every   3th vector in the Y direction
  Using every   2th vector in the X direction
@@ -1589,7 +1300,6 @@ Replacing definition of axis TAX
 Replacing definition of axis TAX
 Replacing definition of axis TAX
 *** Running ferret script: bn_repeat_range.jnl
- Cached data cleared from memory
  TEMPORARY data cleared from memory
  **ERROR: invalid command: REPEAT/NAME requires /RANGE
 rep/name=a say `a`
@@ -1620,24 +1330,30 @@ repeat/range=3:1:-1/name=a list a
  **ERROR: command syntax: nested REPEAT loops with the same counter name a
 repeat/range=3:1:-1/name=a list a
 *** Running ferret script: bn554_bug_fixes.jnl
- Cached data cleared from memory
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  **ERROR: illegal limits: "TEMP" does not exist at T=01-AUG-1980 00:00:01-JAN-1982 00:00
           Axis extremes are T=14-AUG-1982 11:00:13-JAN-1983 13:00
 list/t=1-aug-1980:1-jan-1982/i=92/j=35 temp
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis TAX1
 Replacing definition of axis TAX2
 Replacing definition of axis TAX1
@@ -1646,6 +1362,7 @@ Replacing definition of axis TAX1
 Replacing definition of axis TAX2
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
  PERMANENT data cleared from memory
@@ -1661,28 +1378,35 @@ Replacing definition of grid AGRID
  TEMPORARY data cleared from memory
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis X_AX
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  TEMPORARY data cleared from memory
  TEMPORARY data cleared from memory
  TEMPORARY data cleared from memory
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis XAX
 Replacing definition of axis YAX
 *** Running ferret script: bn_bounds.jnl
- Cached data cleared from memory
  LISTing to file a.nc
  LISTing to file a.nc
  LISTing to file a.nc
@@ -1709,7 +1433,6 @@ def axis/t/bounds tax={1.2,2,3.2,5,7,8.4,9}, {0.5,1.5,1.5,2.5,2.5,3.5,3.5,6.5,6.
 def axis/t/bounds tax= {12, 12.2, 36, 36.2, 60, 60.2, 84, 84.2, 108} , {0,24, 0,24, 24,48, 24,48, 48,72, 48,72, 72,96, 72,96, 96,120}
  LISTing to file a.nc
  LISTing to file a.nc
-           *** NOTE: Cannot have both /BOUNDS and /RIGID Ignoring /RIGID
  LISTing to file a.nc
            *** NOTE: Cannot have both /BOUNDS and /EDGES Ignoring /EDGES
  LISTing to file a.nc
@@ -1731,85 +1454,102 @@ def axis/t/bounds tax= {12, 12.2, 36, 36.2, 60, 60.2, 84, 84.2, 108} , {0,24, 0,
            *** NOTE: Error in bounds "TAX_bnds" or bounds do not enclose point on axis TAX
            *** NOTE: Substituting coordinate midpoints
 *** Running ferret script: bn_all_leap.jnl
- Cached data cleared from memory
  **ERROR: command syntax: Invalid calendar name. Names are, GREGORIAN, NOLEAP, JULIAN, 360_DAY, ALL_LEAP
 def axis/t/cal=nogood/t=1-jan-2000:1-jan-2010:1/units=months tax
 *** Running ferret script: bn570_bug_fixes.jnl
- Cached data cleared from memory
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
            *** NOTE: /UNIT=MONTHS  ... using 1/12 of 365.00 days
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file xlong.nc
  LISTing to file xlongshift.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis TAX
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 *** Running ferret script: bn_modstats.jnl
- Cached data cleared from memory
 *** Running ferret script: bn_mc_vary_scale.jnl
- Cached data cleared from memory
  TEMPORARY data cleared from memory
  TEMPORARY data cleared from memory
 *** Running ferret script: bn_plot_nokey.jnl
- Cached data cleared from memory
 *** Running ferret script: bn580_bug_fixes.jnl
- Cached data cleared from memory
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Re-defining viewport VP_1
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis XAX
 Replacing definition of axis YAX
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis XAX
 Replacing definition of axis YAX
 Replacing definition of axis XAX
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file fine.dat
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  **ERROR: illegal limits: One-point independent axis: Requires a /HLIMIT or /VLIMIT specification
 plot/sym/siz=0.3 0*t[gt=vwnd]
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
            *** NOTE: /UNIT=MONTHS  ... using 1/12 of 365.00 days
  LISTing to file aa.nc
  LISTing to file cc.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  **ERROR: First argument is a letter of the alphabet
 query/ignore $1%q|a|b|c|d|<First argument is a letter of the alphabet%
  **ERROR: invalid command: Valid value needed for argument $2
@@ -1842,29 +1582,32 @@ message/continue ($t2"|solong>really hello|bye|")
            *** NOTE: Valid symbol t2 choices are: solong>really hello|bye|
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  **ERROR: invalid command: delta non-positive on X axis of EX#1
 list/l=1/j=40/i=0:300:0 sst
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file 10a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 *** Running ferret script: bn_inf_levels.jnl
- Cached data cleared from memory
 *** Running ferret script: bn_regulart.jnl
- Cached data cleared from memory
 *** Running ferret script: bn_labwid.jnl
- Cached data cleared from memory
 *** Running ferret script: bn_redefine_taxis_mc.jnl
- Cached data cleared from memory
 Replacing definition of axis TIME1
            *** NOTE: grid GHB1 used by data set coads_clim
            *** NOTE: Redefinition may alter apparent contents of data set
@@ -1872,7 +1615,6 @@ Replacing definition of axis TIME1
            *** NOTE: grid GHB1 used by data set coads_clim
            *** NOTE: Redefinition may alter apparent contents of data set
 *** Running ferret script: bn_illegal_axisname.jnl
- Cached data cleared from memory
 Replacing definition of axis COADSX.ILLEGAL
            *** NOTE: grid GEX1 used by data set illeg_axname
            *** NOTE: Redefinition may alter apparent contents of data set
@@ -1884,37 +1626,41 @@ Replacing definition of axis COADSY.ILLEGAL
            *** NOTE: grid GEX3 used by data set illeg_axname
            *** NOTE: Redefinition may alter apparent contents of data set
 *** Running ferret script: bn_exit_script.jnl
- Cached data cleared from memory
 *** Running ferret script: bn_exit_cycle.jnl
- Cached data cleared from memory
 *** Running ferret script: bn_curv_mod.jnl
- Cached data cleared from memory
 *** Running ferret script: bn_shade_keycont.jnl
- Cached data cleared from memory
 *** Running ferret script: bn581_bug_fixes.jnl
- Cached data cleared from memory
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file a.nc
  TEMPORARY data cleared from memory
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file longtitle.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file longtitle.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
            *** NOTE: /UNIT=MONTHS is ambiguous ... using 1/12 of 365.2425 days
  **ERROR: improper grid or axis definition: error in start,end,delta
 DEFINE AXIS/T0="1-JAN-1861"/UNITS=months/t myt
@@ -1923,35 +1669,40 @@ DEFINE AXIS/T0="1-JAN-1861"/UNITS=months/t myt
 DEFINE AXIS/T0="1-JAN-1861"/UNITS=months/T/CALENDAR=noleap myt
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
            *** NOTE: in GIF mode: ignoring SET MODE METAFILE
            *** NOTE: in GIF mode: ignoring SET MODE METAFILE
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file t0_cdc.nc
  LISTing to file my_cdc_timeaxis.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 *** Running ferret script: bn_tab_comma_multivar.jnl
- Cached data cleared from memory
 *** Running ferret script: bn_element_functions.jnl
- Cached data cleared from memory
 *** Running ferret script: bn_long_revision_num.jnl
- Cached data cleared from memory
  LISTing to file revision.nc
 *** Running ferret script: bn_window_title.jnl
- Cached data cleared from memory
            *** NOTE: Cannot create new windows when batch mode set
            *** NOTE: Cannot create new windows when batch mode set
            *** NOTE: Cannot cancel window when in batch mode
@@ -1960,7 +1711,6 @@ DEFINE AXIS/T0="1-JAN-1861"/UNITS=months/T/CALENDAR=noleap myt
 
 Bailing out of external function "ffta":
 	 Time axis must be a regular axis
- Cached data cleared from memory
  **ERROR: command syntax: IF I GT 3 THEN ( IF I LT 5 THEN I ELSE -9 ) ELSE .333
           Cannot use multiple IFs in an expression
 LIST/ORDER=X  IF I GT 3 THEN ( IF I LT 5 THEN I ELSE -9 ) ELSE .333
@@ -1980,18 +1730,14 @@ repeat/range=1:3/name=L (use coads_climatology; list/nohead [sst=I=1,j=1])
  **ERROR: error in external function
 LOAD vw_fft
 *** Running ferret script: bn_deg_min.jnl
- Cached data cleared from memory
 *** Running ferret script: bn_dp_readscale.jnl
- Cached data cleared from memory
  TEMPORARY data cleared from memory
 *** Running ferret script: bn_bounds_defineax.jnl
- Cached data cleared from memory
 Replacing definition of axis TAX
  LISTing to file irrxzt.nc
 Replacing definition of axis ZAX
 Replacing definition of axis ZAX2
 *** Running ferret script: bn_attributes.jnl
- Cached data cleared from memory
  **ERROR: invalid command: SHOW ATTRIBUTE given with no argument
 sho att/all
  **ERROR: unknown data set: d=2
@@ -2003,28 +1749,37 @@ sho att salt.nonsense
 sho att/all .
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
            *** NOTE: Axis coordinates are decreasing-ordered. Reversing ordering for axis l
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
            *** NOTE: Axis coordinates are decreasing-ordered. Reversing ordering for axis l
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
            *** NOTE: Changing the value of attribute temp.pp
            *** NOTE: Changing the length  of attribute temp.pp
            *** NOTE: Changing the value of attribute temp.some_text
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
            *** NOTE: Changing the value of attribute temp.long_name
            *** NOTE: Changing the value of attribute temp.units
            *** NOTE: Changing the value of attribute temp.missing_value
@@ -2043,8 +1798,10 @@ list coadsx.units
 set att (COADSX81_81).axis = "Z"
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
            *** NOTE: Changing the value of attribute temp.pp
            *** NOTE: Changing the length  of attribute temp.pp
            *** NOTE: Changing the value of attribute temp.some_text
@@ -2058,33 +1815,40 @@ set att (COADSX81_81).axis = "Z"
            *** NOTE: Changing the value of attribute temp.pp
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file a.nc
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file a.nc
  LISTing to file a.nc
  LISTing to file a.nc
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file a.nc
  LISTing to file a.nc
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file a.nc
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file a.nc
  LISTing to file a.nc
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file a.nc
            *** NOTE: Converting data type of missing_value NC_FLOAT to match output type of variable NC_INT
  LISTing to file a.nc
@@ -2097,6 +1861,7 @@ set att (COADSX81_81).axis = "Z"
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file a.nc
            *** NOTE: Changing the value of attribute (COADSX).point_spacing
            *** NOTE: Changing the value of attribute (COADSY).point_spacing
@@ -2114,6 +1879,7 @@ set var/outtype=char broiled
 set var/outtype=garbage broiled
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
            *** NOTE: Changing the value of attribute (PSXT).units
  LISTing to file a.nc
  LISTing to file a.nc
@@ -2122,17 +1888,21 @@ set var/outtype=garbage broiled
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file a.nc
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis X2AX
            *** NOTE: Changing the value of attribute (z4ax).positive
  LISTing to file string4d.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
            *** NOTE: Changing the value of attribute (TIME).units
            *** NOTE: Changing the value of attribute (TIME).units
            *** NOTE: Changing the value of attribute (TIME).time_origin
@@ -2146,11 +1916,8 @@ Replacing definition of axis TIME
  LISTing to file a.nc
  LISTing to file a.nc
 *** Running ferret script: bn_transforms.jnl
- Cached data cleared from memory
 *** Running ferret script: bn_variance.jnl
- Cached data cleared from memory
 *** Running ferret script: bn_linecolors.jnl
- Cached data cleared from memory
            *** NOTE: in GIF mode: ignoring SET MODE METAFILE
            *** NOTE: Cannot cancel window when in batch mode
            *** NOTE: Cannot create new windows when batch mode set
@@ -2162,18 +1929,15 @@ Replacing definition of axis TIME
            *** NOTE: Cannot cancel window when in batch mode
            *** NOTE: Cannot create new windows when batch mode set
 *** Running ferret script: bn_cdf_errmsg.jnl
-syntax error, unexpected WORD_STRING, expecting WORD_WORD
-context: Error { code = 404; message = "data/PMEL/COADS/coads_nothing.cdf"^;};
 CURL Error: Couldn't resolve host name
 curl error details: 
- Cached data cleared from memory
  **TMAP ERR: non-existent or not on line
              this_is_not_a_file.nc
 SET DAT/FORM=CDF this_is_not_a_file.nc
  **Internet Data error
              NetCDF: file not found (OPeNDAP/netCDF Error code -90)
-             Data set: http://ferret.pmel.noaa.gov/thredds/dodsC/data/PMEL/COADS/coads_nothing.cdf
-SET DAT/FORM=CDF "http://ferret.pmel.noaa.gov/thredds/dodsC/data/PMEL/COADS/coads_nothing.cdf"
+             Data set: http://ferret.pmel.noaa.gov/pmel/thredds/dodsC/data/PMEL/COADS/coads_nothing.cdf
+SET DAT/FORM=CDF "http://ferret.pmel.noaa.gov/pmel/thredds/dodsC/data/PMEL/COADS/coads_nothing.cdf"
  **Internet Data error
              NetCDF: I/O failure (OPeNDAP/netCDF Error code -68)
              Data set: http://noserver/a/nofile.cdf
@@ -2184,124 +1948,156 @@ SET DAT/FORM=CDF  "http://noserver/a/nofile.cdf"
              Data set: ./asc.nc
 SET DAT/FORM=CDF asc.nc
 *** Running ferret script: bn600_bug_fixes.jnl
- Cached data cleared from memory
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file err581_subspanx_fill_bug.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file xyir.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  **ERROR: illegal use of transformation:  not all dimensions present on grid
 shade sst[x=@var,k=@var]
  **ERROR: illegal use of transformation:  not all dimensions present on grid
 shade sst[t=@AVE,Z=@ave]
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
            *** NOTE: /UNIT=MONTHS  ... using 1/12 of 360.00 days
  LISTing to file t3file.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file 0000_a.nc
  LISTing to file subdir/a.nc
  LISTing to file subdir/0000_a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
            *** NOTE: /UNIT=MONTHS is ambiguous ... using 1/12 of 365.2425 days
  LISTing to file a.nc
            *** NOTE: cannot parse "units since date", date= "event"; leaving units string
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
            *** NOTE: Invalid I axis limits ignored: TEMP
  **ERROR: dimensions improperly specified: specified data is not a line
            - its a 2D region: "plot/i=100/k=1 temp[x=122.5W]"
 plot/i=100/k=1 temp[x=122.5W]
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis XAX
 Replacing definition of axis XAX
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
- Cached data cleared from memory
- Cached data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 *** Running ferret script: bn601_bug_fixes.jnl
- Cached data cleared from memory
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file b.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file b.nc
  LISTing to file b.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
            *** NOTE: /UNIT=MONTHS is ambiguous ... using 1/12 of 365.2425 days
 Replacing definition of axis TIME4
            *** NOTE: grid GSQ1 used by data set coads_climatology
            *** NOTE: Redefinition may alter apparent contents of data set
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis TIME
  LISTing to file a.nc
  LISTing to file t2.nc
  LISTing to file t12.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file out.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 *** Running ferret script: bn_set_strides.jnl
- Cached data cleared from memory
  **ERROR: invalid command: it is a child axis already
-set axis/stride=2/offset=1 (AX005)
+set axis/stride=2/offset=1 (AX###)
  **ERROR: invalid command: not a strided axis: COADSX
 cancel axis/stride COADSX
  **ERROR: invalid command: offset must be less than stride value
@@ -2314,31 +2110,31 @@ cancel axis/stride COADSX
  **ERROR: invalid command: unknown axis: NORMAL
 set axis/stride=2 NORMAL
 *** Running ferret script: bn_lsl_lowpass.jnl
- Cached data cleared from memory
 *** Running ferret script: bn_return_xmod_tmod.jnl
- Cached data cleared from memory
 *** Running ferret script: bn602_bug_fixes.jnl
- Cached data cleared from memory
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file noleap.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
            *** NOTE: Units on axis "ALTITUDE" are not recognized: Pa
            *** NOTE: They will not be convertible:
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file tripolar_missing_lon.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 *** Running ferret script: bn_modnbd.jnl
- Cached data cleared from memory
 *** Running ferret script: bn_fifty_files.jnl
- Cached data cleared from memory
            *** NOTE: Coordinates missing on axis LONGITUDE at subscript -169
            *** NOTE: A dummy axis of subscripts will be used
            *** NOTE: Coordinates missing on axis LATITUDE at subscript -169
@@ -2368,128 +2164,142 @@ set axis/stride=2 NORMAL
            *** NOTE: Axis coordinates are decreasing-ordered. Reversing ordering for axis BACKWARDS_AXIS
            *** NOTE: Axis coordinates are decreasing-ordered. Reversing ordering for axis Y1010_REV
 *** Running ferret script: bn603_bug_fixes.jnl
- Cached data cleared from memory
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 *** Running ferret script: bn_set_var_name.jnl
- Cached data cleared from memory
 *** Running ferret script: bn_memory_symbol.jnl
- Cached data cleared from memory
- Cached data cleared from memory
- Cached data cleared from memory
- Cached data cleared from memory
- Cached data cleared from memory
 *** Running ferret script: bn605_bug_fixes.jnl
- Cached data cleared from memory
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 *** Running ferret script: bn608_bug_fixes.jnl
- Cached data cleared from memory
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file a.nc
  LISTing to file b.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  **ERROR: invalid command: "300": Number of contour levels must be between 1 and 250
 SHADE/LEV=300/I=1:100/J=1:100 i+j
 *** Running ferret script: bn_shade_trim.jnl
- Cached data cleared from memory
 *** Running ferret script: bn_mode_nlevels.jnl
- Cached data cleared from memory
 *** Running ferret script: bn61_bug_fixes.jnl
- Cached data cleared from memory
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 *** Running ferret script: bn_test_opendap.jnl
 CURL Error: Couldn't resolve host name
 curl error details: 
- Cached data cleared from memory
 *** Running ferret script: bn611_bug_fixes.jnl
- Cached data cleared from memory
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file a.nc
  LISTing to file b.nc
  LISTing to file b.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file a.nc
  LISTing to file a.nc
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file z1.nc
  LISTing to file z2.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis TIME
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis TIME
  LISTing to file a.nc
  LISTing to file b.nc
  LISTing to file b.nc
 *** Running ferret script: bn_no_valid_on_plot.jnl
- Cached data cleared from memory
  Using every   5th vector in the X direction
 *** Running ferret script: bn_median.jnl
- Cached data cleared from memory
  **ERROR: value out of legal range: Median smoother length must be odd
 plot/trans var, var[z=@med:4]
 *** Running ferret script: bn614_bug_fixes.jnl
- Cached data cleared from memory
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis TIME
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis TIME
  LISTing to file a.nc
  LISTing to file b.nc
  LISTing to file b.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
            *** NOTE: Units on axis "ENS" are not recognized: count
            *** NOTE: They will not be convertible:
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file 1a.dat
  LISTing to file 3a.dat
  LISTing to file 5a.dat
@@ -2498,49 +2308,59 @@ Replacing definition of axis TIME
  LISTing to file 11a.dat
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  **ERROR: variable unknown or not in data set: A_REGRID[D=1,GT=B[D=2]@MOD]
 LIST a_regrid[D=1,GT=b[D=2]@MOD]
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file dat.dat
  LISTing to file a.nc
  LISTing to file unf.dat
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file lonlat.dat
  LISTing to file lonlat.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file a.nc
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file a.nc
  LISTing to file b.nc
 *** Running ferret script: bn_mode_nodata_lab.jnl
- Cached data cleared from memory
 *** Running ferret script: bn_proleptic_gregorian_calendar.jnl
- Cached data cleared from memory
 *** Running ferret script: bn_string_ngd_nbd.jnl
- Cached data cleared from memory
            *** NOTE: @NGD of string variable, counting null strings as missing
            *** NOTE: @NBD of string variable, counting null strings as missing
            *** NOTE: @NGD of string variable, counting null strings as missing
@@ -2563,21 +2383,15 @@ Replacing definition of axis TAX
            *** NOTE: @NBD of string variable, counting null strings as missing
            *** NOTE: @NGD of string variable, counting null strings as missing
 *** Running ferret script: bn_cat_string.jnl
- Cached data cleared from memory
 *** Running ferret script: bn_sort_strings.jnl
- Cached data cleared from memory
 *** Running ferret script: bn_samplexyt.jnl
- Cached data cleared from memory
            *** NOTE: /XLIMITS and /YLIMITS are deprecated.
            *** NOTE: Use /HLIMITS and /VLIMITS instead.
 *** Running ferret script: bn_last_go_file.jnl
- Cached data cleared from memory
 *** Running ferret script: bn_cancel_upcase_uservar.jnl
- Cached data cleared from memory
  LISTing to file a.nc
  LISTing to file a.nc
 *** Running ferret script: bn_cdf_keepax.jnl
- Cached data cleared from memory
  LISTing to file test0a.cdf
  LISTing to file test0b.cdf
  LISTing to file test0c.cdf
@@ -2773,40 +2587,37 @@ list/format=cdf/keep_axnames/append/file=test_fil.cdf ijklave
 show grid ijkl
            *** NOTE: Axis coordinates are decreasing-ordered. Reversing ordering for axis Y1010_REV
 *** Running ferret script: bn_keep_axisnames.jnl
- Cached data cleared from memory
  LISTing to file a.nc
  LISTing to file a.nc
 *** Running ferret script: bn_key_label_minmax.jnl
- Cached data cleared from memory
 *** Running ferret script: bn62_bug_fixes.jnl
- Cached data cleared from memory
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 *** Running ferret script: bn_convolve.jnl
- Cached data cleared from memory
 *** Running ferret script: bn_tax_tstep.jnl
- Cached data cleared from memory
  LISTing to file a.nc
 Replacing definition of axis TSEC
 *** Running ferret script: bn_grads_z.jnl
- Cached data cleared from memory
 Replacing definition of axis CAXIS
            *** NOTE: grid GMY1 used by data set grads_bug_file
            *** NOTE: Redefinition may alter apparent contents of data set
 *** Running ferret script: bn_clock_syms.jnl
- Cached data cleared from memory
 *** Running ferret script: bn63_bug_fixes.jnl
- Cached data cleared from memory
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file a.nc
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
            *** NOTE: /UNIT=MONTHS is ambiguous ... using 1/12 of 365.2425 days
            *** NOTE: in GIF mode: ignoring SET MODE METAFILE
            *** NOTE: New # of line colors will take effect on next new window: SET WIN/NEW then define pen colors
@@ -2818,31 +2629,41 @@ Replacing definition of axis CAXIS
            *** NOTE: Cannot create new windows when batch mode set
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
            *** NOTE: in GIF mode: ignoring SET MODE METAFILE
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
            *** NOTE: Axis coordinates are decreasing-ordered. Reversing ordering for axis ZAXLEVITR
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file xz.nc
  TEMPORARY data cleared from memory
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file t_bug.nc
 Replacing definition of axis T_AXIS
  LISTing to file t_bug.nc
@@ -2851,46 +2672,49 @@ NetCDF: Variable not found (OPeNDAP/netCDF Error code -49)
 LIST/FORMAT=CDF/FILE=t_bug.nc/APPEND var
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  **ERROR: invalid command: offset must be greater than or equal to zero
 SET AXIS/STRIDE=12/OFFSET=-1 truemonth
  **ERROR: invalid command: stride must be greater than zero
 SET AXIS/STRIDE=-1/OFFSET=1 truemonth
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 *** Running ferret script: bn_axis_reversed_syms.jnl
- Cached data cleared from memory
 *** Running ferret script: bn_isdepth.jnl
- Cached data cleared from memory
 *** Running ferret script: bn_var_hist_levels.jnl
- Cached data cleared from memory
 *** Running ferret script: bn64_bug_fixes.jnl
- Cached data cleared from memory
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 *** Running ferret script: bn_long_grid_names.jnl
- Cached data cleared from memory
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of grid GG123456789012345678902
  **ERROR: unknown defining grid: G=NO_EXIST12345678901234567890
 load/x=160e/y=5s temp[d=2,k=1,g=no_exist12345678901234567890]
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 *** Running ferret script: bn_xml_repl.jnl
- Cached data cleared from memory
  LISTing to file a.nc
 *** Running ferret script: bn65_bug_fixes.jnl
- Cached data cleared from memory
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
            *** NOTE: Units on axis "ENS" are not recognized: count
            *** NOTE: They will not be convertible:
  LISTing to file mypack.nc
@@ -2902,24 +2726,27 @@ load/x=160e/y=5s temp[d=2,k=1,g=no_exist12345678901234567890]
            *** NOTE: They will not be convertible:
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis TAX
 *** Running ferret script: bn_txtype_dmy.jnl
- Cached data cleared from memory
 *** Running ferret script: bn_n_open_dsets_sym.jnl
- Cached data cleared from memory
  LISTing to file list_of_numbers.dat
 *** Running ferret script: bn_multi_decade.jnl
- Cached data cleared from memory
 Re-defining viewport V1
 Re-defining viewport V2
 Re-defining viewport V3
@@ -2929,15 +2756,13 @@ Re-defining viewport V6
 Re-defining viewport V7
 Re-defining viewport V8
 *** Running ferret script: bn_show_xml_file.jnl
- Cached data cleared from memory
  LISTing to file b.nc
  LISTing to file dummy.dat
 *** Running ferret script: bn66_bug_fixes.jnl
- Cached data cleared from memory
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 *** Running ferret script: bn_netcdf4.jnl
- Cached data cleared from memory
  Restoring default chunk cache settings
  Restoring default chunk cache settings
  PERMANENT data cleared from memory
@@ -2971,29 +2796,27 @@ LIST/FORMAT=CDF/file=nc4_deflate4_t1.nc/clobber/ncformat=4/deflate/shuffle/tchun
              TChunkSize 0 is larger than dimension length 3
 LIST/FORMAT=CDF/file=nc4_deflate4chunktoobig.nc/clobber/ncformat=4/deflate=1/xchunk=6/ychunk=18/tchunk=15 sst
 *** Running ferret script: bn_scat2grid_bin.jnl
- Cached data cleared from memory
  LISTing to file a.nc
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
 *** Running ferret script: bn_axis_dir_symbols.jnl
- Cached data cleared from memory
 *** Running ferret script: bn663_bug_fixes.jnl
- Cached data cleared from memory
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
            *** NOTE: in GIF mode: ignoring SET MODE METAFILE
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 *** Running ferret script: bn_set_axis_regular.jnl
- Cached data cleared from memory
            *** NOTE: Axis reset to be regular (evenly-spaced): MYX
            *** NOTE: Axis is already regular: MYX
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
            *** NOTE: Axis reset to be regular (evenly-spaced): MYX1
 *** Running ferret script: bn_set_cancel_redirect.jnl
- Cached data cleared from memory
  Use the GO command to name a file of FERRET commands to be executed.
      e.g.   yes? GO filename
  
@@ -3048,52 +2871,58 @@ show grid garbage
  
  Use "GO/HELP filename" to read documentation in  the file to be executed.
 *** Running ferret script: bn_min_max_smoothers.jnl
- Cached data cleared from memory
 *** Running ferret script: bn_vector_symbols.jnl
- Cached data cleared from memory
  Using every   8th vector in the X direction
  Using every   7th vector in the Y direction
 *** Running ferret script: bn_variance_large.jnl
- Cached data cleared from memory
 *** Running ferret script: bn_labnum_calendar.jnl
- Cached data cleared from memory
 *** Running ferret script: bn665_bug_fixes.jnl
- Cached data cleared from memory
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file a.nc
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 *** Running ferret script: bn_floatstr.jnl
- Cached data cleared from memory
 *** Running ferret script: bn67_bug_fixes.jnl
- Cached data cleared from memory
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis YAX
 Replacing definition of axis YAX
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file aa.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  **ERROR: value out of legal range: illegal mode argument. Negative or > 1.e+9,
-set mode desperate   9999999999.000000
+set mode desperate 9999999999.
  **ERROR: value out of legal range: illegal mode argument. Negative or > 1.e+9,
 set mode desperate 1234567890123456789
+           *** NOTE: MODE DESPERATE is deprecated. Use MODE FRUGAL
+           *** NOTE: MODE DESPERATE is deprecated. Use MODE FRUGAL
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file g.nc
 Replacing definition of axis YAX_DUP_AXNAMES
  LISTing to file h.nc
@@ -3102,22 +2931,26 @@ Replacing definition of axis YAX_DUP_AXNAMES
  LISTing to file justg.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file a.nc
  LISTing to file a.nc
 *** Running ferret script: bn_NaN_note.jnl
- Cached data cleared from memory
            *** NOTE: unrepairable repeated axis coords on axis j at subscript -126
            *** NOTE: A dummy axis of subscripts will be used
            *** NOTE: unrepairable repeated axis coords on axis l at subscript -126
            *** NOTE: A dummy axis of subscripts will be used
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
            *** NOTE: No missing_value or _FillValue attribute. Using NaN for variable: broiled
            *** NOTE: unrepairable repeated axis coords on axis j at subscript -126
            *** NOTE: A dummy axis of subscripts will be used
@@ -3129,17 +2962,19 @@ Replacing definition of axis YAX_DUP_AXNAMES
 
 Bailing out of external function "tax_year":
 	 Function not valid for modulo time axis
- Cached data cleared from memory
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  **ERROR: error in external function
 list/L=15:20 tax_year(t[gt=tvar],tvar)
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file a.nc
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file cc.nc
  LISTing to file c1.nc
  TEMPORARY data cleared from memory
@@ -3147,39 +2982,50 @@ list/L=15:20 tax_year(t[gt=tvar],tvar)
  TEMPORARY data cleared from memory
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
            *** NOTE: Axis coordinates are decreasing-ordered. Reversing ordering for axis lev
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 *** Running ferret script: bn68_bug_fixes.jnl
- Cached data cleared from memory
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis TAXIS
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
            *** NOTE: Adjusting Y-axis label size from 0.100 to 0.089, to avoid running off page.
            *** NOTE: ./err672_vert_axislabel.jnl
            *** NOTE: Adjusting Y-axis label size from 0.100 to 0.089, to avoid running off page.
            *** NOTE: Adjusting Y-axis label size from 0.100 to 0.030, to avoid running off page.
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
            *** NOTE: Axis coordinates are decreasing-ordered. Reversing ordering for axis RLATU79_961_9
            *** NOTE: Axis coordinates are decreasing-ordered. Reversing ordering for axis RLATU79_961_9
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
            *** NOTE: Adjusting Y-axis label size from 0.100 to 0.089, to avoid running off page.
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  **ERROR: command syntax: illegal name, matches an operator: AND
 DEFINE VARIABLE AND = 5
  **ERROR: command syntax: illegal name, matches an operator: OR
@@ -3202,10 +3048,10 @@ DEFINE VARIABLE IF  = 5
 DEFINE VARIABLE ELSE = 5
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file a1.nc
  LISTing to file a2.nc
 *** Running ferret script: bn_ifv.jnl
- Cached data cleared from memory
  **ERROR: command syntax: IFV I GT 3 THEN ( IFV I LT 5 THEN I ELSE -9 ) ELSE .333
           Cannot use multiple IFs in an expression
 LIST/ORDER=X  IFV I GT 3 THEN ( IFV I LT 5 THEN I ELSE -9 ) ELSE .333
@@ -3214,7 +3060,6 @@ LIST/ORDER=X  IFV I GT 3 THEN ( IFV I LT 5 THEN I ELSE -9 ) ELSE .333
           negative constants need to be enclosed in parentheses
 DEFINE VARIABLE A = ifv I LT 5 THEN I ELSE -9
 *** Running ferret script: bn_randu2_randn2.jnl
- Cached data cleared from memory
  TEMPORARY data cleared from memory
  TEMPORARY data cleared from memory
  TEMPORARY data cleared from memory
@@ -3222,7 +3067,6 @@ DEFINE VARIABLE A = ifv I LT 5 THEN I ELSE -9
  TEMPORARY data cleared from memory
  TEMPORARY data cleared from memory
 *** Running ferret script: bn_axis_cf.jnl
- Cached data cleared from memory
  LISTing to file a.nc
  LISTing to file a.nc
  LISTing to file a.nc
@@ -3232,13 +3076,11 @@ DEFINE VARIABLE A = ifv I LT 5 THEN I ELSE -9
  LISTing to file a.nc
  LISTing to file a.nc
 *** Running ferret script: bn_repeated_coords.jnl
- Cached data cleared from memory
            *** NOTE: Axis has repeated values -- micro-adjusting TMIN
            *** NOTE: Coordinates out of order or missing on axis TMIN at subscript 4
            *** NOTE: A dummy axis of subscripts will be used
            *** NOTE: Axis has repeated values -- micro-adjusting ...
 *** Running ferret script: bn_xml_header.jnl
- Cached data cleared from memory
 *** Running ferret script: bn_eof_simple.jnl
 
 Bailing out of external function "eofsvd_stat":
@@ -3249,7 +3091,6 @@ Bailing out of external function "eofsvd_space":
 
 Bailing out of external function "eofsvd_tfunc":
 	There are no spatial locations having complete time series.
- Cached data cleared from memory
 Replacing definition of axis XAXIS
  **ERROR: error in external function
 list eofsvd_stat(spacegap)
@@ -3258,11 +3099,8 @@ list eofsvd_space(spacegap)
  **ERROR: error in external function
 list eofsvd_tfunc(spacegap)
 *** Running ferret script: bn_eof_simple2.jnl
- Cached data cleared from memory
 *** Running ferret script: bn_interpolate_6d.jnl
- Cached data cleared from memory
 *** Running ferret script: bn_regrid_6d.jnl
- Cached data cleared from memory
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
 Replacing definition of axis XFINE
@@ -3271,9 +3109,7 @@ Replacing definition of axis YFINE
 Replacing definition of axis YCOARSE
 Replacing definition of grid G24
 *** Running ferret script: bn_syntax_6d.jnl
- Cached data cleared from memory
 *** Running ferret script: bn_expressions_6d.jnl
- Cached data cleared from memory
  **ERROR: command syntax: IF _m GT 3 THEN ( IF _m LT 5 THEN _m ELSE -9 ) ELSE .333
           Cannot use multiple IFs in an expression
 LIST/order=e  IF _m GT 3 THEN ( IF _m LT 5 THEN _m ELSE -9 ) ELSE .333
@@ -3284,12 +3120,9 @@ DEFINE VARIABLE A = IF _m LT 5 THEN _m ELSE -9
  **ERROR: variable unknown or not in data set: A1
 load a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16,a17,a18,a19,a20,a21
 *** Running ferret script: bn_direction_fcns_6d.jnl
- Cached data cleared from memory
 *** Running ferret script: bn_regrid_transforms_6d.jnl
- Cached data cleared from memory
 Replacing definition of axis FAX4DAY
 *** Running ferret script: bn_aggregate_e.jnl
- Cached data cleared from memory
            *** NOTE: Variable "AIRT" excluded from aggregate: Not found in all member datasets
            *** NOTE: Variable "AIRT" excluded from aggregate: Not found in all member datasets
            *** NOTE: /FILES is deprecated.  Use /MEMBERS
@@ -3314,39 +3147,44 @@ DEFINE DATA/AGGREGAT/E windy = 1,2
            *** NOTE: Dataset used in aggregation.  Canceling aggregation, some
            *** NOTE: Dataset used in aggregation.  Canceling aggregation, more
 *** Running ferret script: bn_6d_lab_mode.jnl
- Cached data cleared from memory
            *** NOTE: MODE 6D_lab is deprecated. Leave the mode set; output automatically adjusts to 4D or 6D grids
            *** NOTE: MODE 6D_lab is deprecated. Leave the mode set; output automatically adjusts to 4D or 6D grids
            *** NOTE: MODE 6D_lab is deprecated. Leave the mode set; output automatically adjusts to 4D or 6D grids
            *** NOTE: MODE 6D_lab is deprecated. Leave the mode set; output automatically adjusts to 4D or 6D grids
 *** Running ferret script: bn682_bug_fixes.jnl
- Cached data cleared from memory
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 *** Running ferret script: bn683_bug_fixes.jnl
- Cached data cleared from memory
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
            *** NOTE: Adjusting Y-axis label size from 0.100 to 0.001, to avoid running off page.
-           *** NOTE: /home/flat/ksmith/Ferret/go/magnify.jnl
+           *** NOTE: ....../go/magnify.jnl
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file a.nc
  LISTing to file a.nc
 *** Running ferret script: bn_outtype.jnl
- Cached data cleared from memory
  LISTing to file mytype.nc
  LISTing to file mytype.nc
            *** NOTE: Converting data type of missing_value NC_FLOAT to match output type of variable NC_DOUBLE
@@ -3362,11 +3200,8 @@ DEFINE DATA/AGGREGAT/E windy = 1,2
  LISTing to file mytype.nc
  LISTing to file mytype.nc
 *** Running ferret script: bn_ribbon_plot.jnl
- Cached data cleared from memory
 *** Running ferret script: bn_descr_4digit.jnl
- Cached data cleared from memory
 *** Running ferret script: bn_axis_outtype.jnl
- Cached data cleared from memory
  LISTing to file mytype.nc
            *** NOTE: unrepairable repeated axis coords on axis TIME at subscript -126
            *** NOTE: A dummy axis of subscripts will be used
@@ -3388,38 +3223,45 @@ NetCDF: Numeric conversion not representable (OPeNDAP/netCDF Error code -60)
 LIST/FORMAT=CDF/clobber/file=mytype.nc my_data
  LISTing to file mytype.nc
 *** Running ferret script: bn_axis_nonmonotonic.jnl
- Cached data cleared from memory
  **ERROR: improper grid or axis definition: data for DEFINE AXIS/FROM_VARIABLE is not monotonically increasing at index 12
 define axis/t/units=days tax = tvar
 *** Running ferret script: bn_vec_mod.jnl
- Cached data cleared from memory
  Using every   9th vector in the X direction
  Using every   9th vector in the X direction
  Using every   9th vector in the X direction
 *** Running ferret script: bn685_bug_fixes.jnl
- Cached data cleared from memory
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file aa.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file aa.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file a.nc
  LISTing to file aa.nc
  LISTing to file aa.nc
@@ -3432,20 +3274,25 @@ NetCDF: Numeric conversion not representable (OPeNDAP/netCDF Error code -60)
  data in attribute _FillValue not representable in output type NC_INT
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
            *** NOTE: in GIF mode: ignoring SET MODE METAFILE
            *** NOTE: in GIF mode: ignoring SET MODE METAFILE
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file a.nc
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
            *** NOTE: in GIF mode: ignoring SET MODE METAFILE
            *** NOTE: in GIF mode: ignoring SET MODE METAFILE
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  **ERROR: command syntax: .HELLO
 list .hello
  **ERROR: variable unknown or not in data set: A.UNITS
@@ -3458,8 +3305,11 @@ list a.units
 list ..history
  **ERROR: variable unknown or not in data set: ..HISTORY
 list ..history
+ **ERROR: command syntax: .
+list .
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis AXI
 Replacing definition of axis AXI_COARSE
 Replacing definition of axis AXI
@@ -3472,20 +3322,21 @@ Replacing definition of axis AXI
 Replacing definition of axis AXI_COARSE
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file sst_new.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 *** Running ferret script: bn_dsg_e_x.jnl
- Cached data cleared from memory
 *** Running ferret script: bn_nco_append.jnl
- Cached data cleared from memory
  LISTing to file append_to_this.nc
 *** Running ferret script: bn_nobounds.jnl
- Cached data cleared from memory
  LISTing to file a.nc
  LISTing to file a.nc
            *** NOTE: Axis definition error on axis: TGAP
@@ -3494,12 +3345,9 @@ Replacing definition of axis AXI_COARSE
  LISTing to file a.nc
  LISTing to file a.nc
 *** Running ferret script: bn_write_integer_att.jnl
- Cached data cleared from memory
  LISTing to file a.nc
 *** Running ferret script: bn_descriptor_mc.jnl
- Cached data cleared from memory
 *** Running ferret script: bn_plot_color_only.jnl
- Cached data cleared from memory
            *** NOTE: New # of line colors will take effect on next new window: SET WIN/NEW then define pen colors
            *** NOTE: Cannot cancel window when in batch mode
            *** NOTE: Cannot create new windows when batch mode set
@@ -3513,7 +3361,6 @@ plot/i=1:100/over/COLOR 0.6*sin(i/7)
           /COLOR not valid for PLOT/LEVELS ribbon plot
 plot/i=1:100/ribbon/COLOR sin(i/6),0.6*sin(i/7)
 *** Running ferret script: bn_vtree.jnl
- Cached data cleared from memory
            *** NOTE: Variable "FVX" excluded from aggregate: Not found in all member datasets
            *** NOTE: Variable "FVZ" excluded from aggregate: Not found in all member datasets
            *** NOTE: Variable "FVZ" excluded from aggregate: Not found in all member datasets
@@ -3530,21 +3377,26 @@ list e
 list f
 Replacing definition of axis ZAX
 *** Running ferret script: bn686_bug_fixes.jnl
- Cached data cleared from memory
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
            *** NOTE: Changing the type of attribute a.ival
            *** NOTE: Changing the value of attribute a.ival
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  **TMAP ERR: non-existent or not on line
              nosuchfile.nc
 SET DAT/FORM=CDF nosuchfile.nc
@@ -3560,29 +3412,31 @@ SET DAT/FORM=CDF snoopy
 SET DAT/FORM=CDF snoopy.dat
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
            *** NOTE: regarding ./climatological_axes.cdf ...
            *** NOTE: Climatological axes SEASONAL_REG, MONTH_REG, and MONTH_IRREG defined
  TEMPORARY data cleared from memory
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 *** Running ferret script: bn_long_symnames.jnl
- Cached data cleared from memory
 *** Running ferret script: bn_strdim.jnl
- Cached data cleared from memory
  LISTing to file a.nc
  LISTing to file a.nc
 *** Running ferret script: bn_single_colorlev.jnl
- Cached data cleared from memory
 *** Running ferret script: bn69_bug_fixes.jnl
- Cached data cleared from memory
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file a.nc
 Replacing definition of axis XAXIS_TEST
  LISTing to file b.nc
@@ -3597,17 +3451,21 @@ Replacing definition of axis XAXIS_TEST
 LIST/FORMAT=CDF/clobber/keep/file=nc b,a[d=1]
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
            *** NOTE: Changing the value of attribute v1.long_name
            *** NOTE: Changing the value of attribute v1.units
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  **ERROR: attribute undefined or invalid attribute name: temp.noexist[d=levitus_climatology]
           attribute noexist not found for variable TEMP
 show att temp.noexist[d=levitus_climatology]
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  **ERROR: invalid command: illegal new name.  Variable b already defined
 set var/name=b a
  **ERROR: invalid command: illegal new name.  Variable b already defined
@@ -3619,16 +3477,12 @@ set var/name=psi myvar
  **ERROR: invalid command: illegal new name.  Variable diff already defined
 set var/name=diff w
 *** Running ferret script: bn_bad_axis_bounds.jnl
- Cached data cleared from memory
            *** NOTE: Axis definition error on axis: MONTH_IRREG. Bounds describe cells that overlap one another
            *** NOTE: Error in bounds "MONTH_IRREG_bnds" or bounds do not enclose point on axis MONTH_IRREG
            *** NOTE: Substituting coordinate midpoints
 *** Running ferret script: bn_enter_exit_GO.jnl
- Cached data cleared from memory
 *** Running ferret script: bn_stddev.jnl
- Cached data cleared from memory
 *** Running ferret script: bn_set_axis_name.jnl
- Cached data cleared from memory
  LISTing to file a.nc
  LISTing to file a.nc
  LISTing to file b.nc
@@ -3642,9 +3496,6 @@ set axis/name=45 x_in_meters
  **ERROR: invalid command: illegal new name given for axis .fr
 set axis/name=.fr x_in_meters
 *** Running ferret script: bn_let_remote.jnl
-syntax error, unexpected WORD_STRING, expecting WORD_WORD
-context: Error { code = 500; message = "Error processing XML header file /usr/local/src/nvods/tomcat/content/las/conf/server/temp/6790FDCBF64A0E6EFAA6A20D854071E0/header.xml (No such file or directory)"^;};
- Cached data cleared from memory
            *** NOTE: netCDF bounds variable definition error
            *** NOTE: Bounds definition "time_bnds" points to no existing axis
            *** NOTE: Ignoring BOUNDS attribute
@@ -3682,32 +3533,33 @@ context: Error { code = 500; message = "Error processing XML header file /usr/lo
            *** NOTE: Bounds definition "lon_bnds" points to no existing axis
            *** NOTE: Ignoring BOUNDS attribute
  **ERROR: command syntax: /REMOTE variable expression may not contain [d=
-DEFINE VARIABLE/D=1/remote rvar = t0112mn1[d=1,z=1:100 at ave]
+DEFINE VARIABLE/D=1/remote rvar = t00an1[d=1,z=1:100 at ave]
  **ERROR: command syntax: /REMOTE variable definition must also specify /D=
-DEFINE VARIABLE/remote rvar = t0112mn1[d=1,z=1:100 at ave]
+DEFINE VARIABLE/remote rvar = t00an1[d=1,z=1:100 at ave]
  **netCDF error
              Unable to open URL with REMOTE variable definitions:
-             Data set: http://ferret.pmel.noaa.gov/nvods/thredds/dodsC/las/woa05_monthly/data_ferret.pmel.noaa.gov_thredds_dodsC_data_PMEL_WOA05nc_monthly_t0112mn1.nc.jnl
+             Data set: http://ferret.pmel.noaa.gov/nvods/thredds/dodsC/las/woa05_annual/data_ferret.pmel.noaa.gov_pmel_thredds_dodsC_data_PMEL_WOA05nc_annual_t00an1.nc.jnl
  **TMAP ERR: attribute reading error
              Unable to get varid for LET/REMOTE variable: NetCDF: Variable not found (OPeNDAP/netCDF Error code -49)
-             Data set: http://ferret.pmel.noaa.gov/nvods/thredds/dodsC/las/woa05_monthly/data_ferret.pmel.noaa.gov_thredds_dodsC_data_PMEL_WOA05nc_monthly_t0112mn1.nc.jnl
+             Data set: http://ferret.pmel.noaa.gov/nvods/thredds/dodsC/las/woa05_annual/data_ferret.pmel.noaa.gov_pmel_thredds_dodsC_data_PMEL_WOA05nc_annual_t00an1.nc.jnl
  **TMAP ERR: attribute reading error
              Unable to get bad-value for LET/REMOTE variable: NetCDF: Attribute not found (OPeNDAP/netCDF Error code -43)
-             Data set: http://ferret.pmel.noaa.gov/nvods/thredds/dodsC/las/woa05_monthly/data_ferret.pmel.noaa.gov_thredds_dodsC_data_PMEL_WOA05nc_monthly_t0112mn1.nc.jnl
+             Data set: http://ferret.pmel.noaa.gov/nvods/thredds/dodsC/las/woa05_annual/data_ferret.pmel.noaa.gov_pmel_thredds_dodsC_data_PMEL_WOA05nc_annual_t00an1.nc.jnl
  **netCDF error
              NetCDF: Variable not found (OPeNDAP/netCDF Error code -49)
-             Data set: http://ferret.pmel.noaa.gov/nvods/thredds/dodsC/las/woa05_monthly/data_ferret.pmel.noaa.gov_thredds_dodsC_data_PMEL_WOA05nc_monthly_t0112mn1.nc.jnl
+             Data set: http://ferret.pmel.noaa.gov/nvods/thredds/dodsC/las/woa05_annual/data_ferret.pmel.noaa.gov_pmel_thredds_dodsC_data_PMEL_WOA05nc_annual_t00an1.nc.jnl
 list/x=300/y=15 avar
 *** Running ferret script: bn691_bug_fixes.jnl
- Cached data cleared from memory
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  **ERROR: invalid command: string/numeric data type mix-up. Argument 3 : TAX_DATESTRING
 list tax_datestring (tt[L=3], tt, 5)
  **ERROR: invalid command: string/numeric data type mix-up. Argument 2 : TAX_DATESTRING
 list tax_datestring (tt[L=3], "my_tax", "minutes")
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
            *** NOTE: Error in bounds "TAX_BB_PTSPAC_bnds" or bounds do not enclose point on axis TAX_BB_PTSPAC
            *** NOTE: Substituting coordinate midpoints
            *** NOTE: Error in bounds "TAX_BB_EVEN_NOENC_bnds" or bounds do not enclose point on axis TAX_BB_EVEN_NOENC
@@ -3716,6 +3568,7 @@ list tax_datestring (tt[L=3], "my_tax", "minutes")
            *** NOTE: Substituting coordinate midpoints
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  **ERROR: command syntax: must be a constant COS(1)
 list {cos(1), sin(0)}
  **ERROR: command syntax: must be a constant 0-180
@@ -3726,42 +3579,51 @@ list {0.1, 0.2, 1./5.}
 list {5*3+1, 2+3}
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file tval.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file out.xml
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis XAXIS
- **ERROR: request exceeds memory setting: 4739 Mwords were requested.
+ **ERROR: request exceeds memory setting
 load bigvar
-           *** NOTE: You can use SET MEMORY/SIZE=xxx to increase memory.
-           *** NOTE: The "Memory use" section of the FERRET Users Guide has further tips.
 Replacing definition of axis LONGTIME
- **ERROR: request exceeds memory setting: 9472 Mwords were requested.
+ **ERROR: request exceeds memory setting
 load bigvar
-           *** NOTE: You can use SET MEMORY/SIZE=xxx to increase memory.
-           *** NOTE: The "Memory use" section of the FERRET Users Guide has further tips.
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
            *** NOTE: Ambiguous coordinates on X axis: TEMP[X=@AVE,Y=@AVE,L=1,D=1] + SST[X=@AVE,Y=@AVE,T=@AVE,D=2]
            *** NOTE: Ambiguous coordinates on Y axis: TEMP[X=@AVE,Y=@AVE,L=1,D=1] + SST[X=@AVE,Y=@AVE,T=@AVE,D=2]
  LISTing to file aa.nc
@@ -3771,6 +3633,7 @@ load bigvar
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  **ERROR: variable unknown or not in data set: A
 list a
  **ERROR: variable unknown or not in data set: A
@@ -3781,6 +3644,7 @@ list b
 shade a
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  **ERROR: variable unknown or not in data set: A
 list a
  **ERROR: variable unknown or not in data set: A
@@ -3791,39 +3655,39 @@ list b
 shade a
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  **ERROR: value out of legal range: Negative argument to function. Argument 3 : SUBSTRING
 list substring("hello",1,-2)
  **ERROR: value out of legal range: Negative argument to function. Argument 3 : SUBSTRING
 list substring("hello",1,-3)
 *** Running ferret script: bn_append_dsg.jnl
- Cached data cleared from memory
-rm: cannot remove `test_save_dsg.nc': No such file or directory
-           *** NOTE: Shell command returned failure flag: rm test_save_dsg.nc
+rm: cannot remove ‘test_save_dsg.nc’: No such file or directory
 *** Running ferret script: bn_global_atts.jnl
- Cached data cleared from memory
  LISTing to file anew_global.nc
 *** Running ferret script: bn_conventions_history.jnl
- Cached data cleared from memory
  LISTing to file conventions_history.nc
 *** Running ferret script: bn_center_key_labels.jnl
- Cached data cleared from memory
 *** Running ferret script: bn_wgt_transform.jnl
- Cached data cleared from memory
 *** Running ferret script: bn_show_outfile.jnl
- Cached data cleared from memory
            *** NOTE: Variable "FVX" excluded from aggregate: Not found in all member datasets
            *** NOTE: Variable "FVZ" excluded from aggregate: Not found in all member datasets
            *** NOTE: Variable "FVZ" excluded from aggregate: Not found in all member datasets
@@ -3839,9 +3703,7 @@ list e
           Are you giving explicit limits when SET REGION would suffice ?
 list f
 *** Running ferret script: bn_date1900_array.jnl
- Cached data cleared from memory
 *** Running ferret script: bn_spawn_size.jnl
- Cached data cleared from memory
  LISTing to file bn_spawn_size1.cdf
  LISTing to file bn_spawn_size2.cdf
  LISTing to file bn_spawn_size3.cdf
@@ -3855,71 +3717,91 @@ list f
  LISTing to file bn_spawn_size12.dat
  LISTing to file bn_spawn_size14.dat
 *** Running ferret script: bn_polygon_log.jnl
- Cached data cleared from memory
  **ERROR: value out of legal range: X coordinates on log axis negative or too small : -0.850
 poly/i=1:100/vlog xbad+xsqr,ybad+ysqr,x*x/10
  **ERROR: value out of legal range: X coordinates on log axis negative or too small : -0.689E-02
 poly/i=1:100/hlog xbad+xsqr,ybad+ysqr,x*x/10
 *** Running ferret script: bn694_bug_fixes.jnl
- Cached data cleared from memory
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file aa.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  **ERROR: unknown data set: BAD_D
 stat/l=1/x=180/y=0 a
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  **ERROR: invalid command: REPEAT what ?
 repeat/range=1:2/name=row
  **ERROR: invalid command: REPEAT what ?
 repeat/range=1:2/name=row
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file a.nc
 Replacing definition of axis TREDEF
            *** NOTE: grid GSI1 used by data set a
            *** NOTE: Redefinition may alter apparent contents of data set
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  **ERROR: invalid command: illegal format type - must be "GIF"
           frame/format=hdf/file=a.hdf
 frame/format=hdf/file=a.hdf
@@ -3928,75 +3810,77 @@ frame/format=hdf/file=a.hdf
 frame/file=a.png
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  TEMPORARY data cleared from memory
  TEMPORARY data cleared from memory
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 *** Running ferret script: bn_permute_ascii.jnl
- Cached data cleared from memory
 Replacing definition of grid GRID3D
 *** Running ferret script: bn_lon_lat_time_string.jnl
- Cached data cleared from memory
 *** Running ferret script: bn_save_justdim.jnl
- Cached data cleared from memory
  LISTing to file a.nc
            *** NOTE: Saving E or F axis with time axis uses /RIGID in time
  LISTing to file a.nc
 *** Running ferret script: bn_time2d.jnl
- Cached data cleared from memory
            *** NOTE: /UNIT=MONTHS is ambiguous ... using 1/12 of 365.2425 days
 *** Running ferret script: bn_legend_labels.jnl
- Cached data cleared from memory
 *** Running ferret script: bn_DQ.jnl
- Cached data cleared from memory
            *** NOTE: Changing the value of attribute foobar.some_text
            *** NOTE: Changing the value of attribute foobar.some_text
 *** Running ferret script: bn695_bug_fixes.jnl
- Cached data cleared from memory
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
-rm: cannot remove `WestCoastCarbon_9d9c_f562_77b5_5.nc': No such file or directory
-           *** NOTE: Shell command returned failure flag: rm WestCoastCarbon_9d9c_f562_77b5_5.nc
+ooooooooooooooooooooooooooooooooooooooooooo
+rm: cannot remove ‘WestCoastCarbon_9d9c_f562_77b5_5.nc’: No such file or directory
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 *** Running ferret script: bn_f_tax_fcns.jnl
- Cached data cleared from memory
  LISTing to file a.nc
 Replacing definition of axis FSEC
            *** NOTE: grid GSI1 used by data set a
            *** NOTE: Redefinition may alter apparent contents of data set
 *** Running ferret script: bn_fmrc.jnl
- Cached data cleared from memory
 *** Running ferret script: bn_return_defined.jnl
- Cached data cleared from memory
 *** Running ferret script: bn_can_var_noerr.jnl
- Cached data cleared from memory
  **ERROR: variable unknown or not in data set: B
 cancel var b,a
 *** Running ferret script: bn_annotate.jnl
- Cached data cleared from memory
  **ERROR: command syntax: xpos=a2
 annotate/nouser/xpos=a2/ypos=0/halign=1/valign=0/angle=-45/siz=0.15 "My Lab"
  **ERROR: command syntax: ypos=b
@@ -4030,9 +3914,7 @@ def anno/nou/xpos=0/hal=1/val=0 "My Lab"
  **ERROR: invalid command: Specify only one of /USER /NOUSER /NORM
 def anno/nou/user/xpos=0/ypos=0 "My Lab"
 *** Running ferret script: bn_auxiliary.jnl
- Cached data cleared from memory
-rm: cannot remove `layerz_test_data.txt': No such file or directory
-           *** NOTE: Shell command returned failure flag: rm layerz_test_data.txt
+rm: cannot remove ‘layerz_test_data.txt’: No such file or directory
  LISTing to file layerz_test_data.txt
  **ERROR: variable unknown or not in data set: (data set ok ?): noexist
 SET VAR/layerz=depth noexist
@@ -4041,7 +3923,6 @@ SET VAR/layerz=depth noexist
 LIST/PREC=7 tempz6d_unmatch
 Replacing definition of axis ZAX
 *** Running ferret script: bn_plot_ribbon_gaploc.jnl
- Cached data cleared from memory
  **ERROR: command syntax: PLOT/VS/RIBBON/GAPLOC plot needs 4 arguments
 plot/vs/thick/line/sym=21/siz=.3/ribbon/gap xpts, 10*ypts, color
  **ERROR: command syntax: PLOT/GAPLOC applies only to PLOT/VS/RIBBON
@@ -4049,17 +3930,16 @@ plot/vs/thick/line/sym=21/siz=0.3/gap xpts, 10*ypts, 10.1*ypts, 9.93*ypts, gvar
  **ERROR: command syntax: PLOT/GAPLOC applies only to PLOT/VS/RIBBON
 plot/ov/nolab/vs/thick/line/sym=21/siz=.3/gapl xpts, color, gvar
 *** Running ferret script: bn_time_short_axes.jnl
- Cached data cleared from memory
 *** Running ferret script: bn_floatstr_extended.jnl
- Cached data cleared from memory
 *** Running ferret script: bn696_bug_fixes.jnl
- Cached data cleared from memory
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
            *** NOTE: Units on axis "pfull1_1" are not recognized: hpa
            *** NOTE: They will not be convertible:
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  **ERROR: unknown data set: noexist
 SHOW DATA noexist
  **ERROR: unknown data set: 2
@@ -4068,8 +3948,8 @@ SHOW DATA 2
 SHOW DATA/ATT noexist
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 *** Running ferret script: bn_bin_regrid.jnl
- Cached data cleared from memory
 Replacing definition of axis DCOARSE
 Replacing definition of axis IRR
 Replacing definition of axis DCOARSE
@@ -4081,70 +3961,85 @@ Replacing definition of axis IRR
 Replacing definition of axis DCOARSE
 Replacing definition of axis IRR
 *** Running ferret script: bn697_bug_fixes.jnl
- Cached data cleared from memory
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  **TMAP ERR: error in axis attributes
              Calendar definitions on T and F axes must match
              Data file: ./ft_cal_one.nc
 SET DAT/FORM=CDF ft_cal_mixed.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file myfile.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
            *** NOTE: Variable "AIRT" excluded from aggregate: Not found in all member datasets
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
- Cached data cleared from memory
- **ERROR: request exceeds memory setting: 13 Mwords were requested.
+ooooooooooooooooooooooooooooooooooooooooooo
+ **ERROR: request exceeds memory setting
 load/l=1:5 bigvar
-           *** NOTE: You can use SET MEMORY/SIZE=xxx to increase memory.
-           *** NOTE: The "Memory use" section of the FERRET Users Guide has further tips.
- Cached data cleared from memory
- Cached data cleared from memory
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis XAX
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis TAX2
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  Using every   4th vector in the Y direction
  Using every   4th vector in the Y direction
  Using every   4th vector in the Y direction
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis F_AX
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis T_AXIS
 Replacing definition of axis F_AXIS
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis XAX
 Replacing definition of axis XAX
 Replacing definition of axis XAX
@@ -4153,35 +4048,43 @@ Replacing definition of axis XAX
 Replacing definition of axis XAX
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis XAX
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis XAXIS
  LISTing to file a.nc
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file a.nc
            *** NOTE: Changing the type of attribute sst.newch
            *** NOTE: Changing the value of attribute sst.newch
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 *** Running ferret script: bn_aggregate_t.jnl
- Cached data cleared from memory
  LISTing to file tmp/tagg_reg_1.nc
  LISTing to file tmp/tagg_reg_2.nc
  LISTing to file tmp/tagg_reg_3.nc
@@ -4196,7 +4099,7 @@ Replacing definition of axis XAXIS
  LISTing to file tmp/tagg_reg_no_T.nc
  LISTing to file tmp/tagg_reg_2_overlarge.nc
            *** NOTE: Not deleted: TDAY
-           *** NOTE: Axis is in use by grid (G001)
+           *** NOTE: Axis is in use by grid (G###)
  LISTing to file tmp/tagg_irreg_1.nc
  LISTing to file tmp/tagg_irreg_2.nc
  LISTing to file tmp/tagg_irreg_3.nc
@@ -4210,7 +4113,7 @@ Replacing definition of axis XAXIS
 Replacing definition of axis TDAY_IR
  LISTing to file tmp/tagg_irreg_2_reg.nc
            *** NOTE: Not deleted: TDAY_IR
-           *** NOTE: Axis is in use by grid (G001)
+           *** NOTE: Axis is in use by grid (G###)
  LISTing to file tmp/tagg_T0varying_1.nc
 Replacing definition of axis TDAY_TVAR
  LISTing to file tmp/tagg_T0varying_2.nc
@@ -4246,15 +4149,15 @@ Replacing definition of axis TDAY_TVAR
  LISTing to file tmp/tagg_disjoint_T0varying_3.nc
  LISTing to file tmp/tagg_disjoint_T0varying_4_wrong.nc
            *** NOTE: Not deleted: TDAY_WRONG
-           *** NOTE: Axis is in use by grid (G001)
+           *** NOTE: Axis is in use by grid (G###)
  LISTing to file tmp/tagg_single_1.nc
  LISTing to file tmp/tagg_single_2.nc
  LISTing to file tmp/tagg_single_3.nc
  LISTing to file tmp/tagg_single_4.nc
  LISTing to file tmp/tagg_single_5.nc
  LISTing to file tmp/tagg_single_6.nc
-           *** NOTE: Not deleted: tday
-           *** NOTE: Axis is in use by grid (G001)
+           *** NOTE: Not deleted: TDAY
+           *** NOTE: Axis is in use by grid (G###)
            *** NOTE: /FILES is deprecated.  Use /MEMBERS
            *** NOTE: /FILES is deprecated.  Use /MEMBERS
  **ERROR: invalid command: given aggregation dataset name already in use: myagg2
@@ -4286,7 +4189,6 @@ define data/agg/t MYsing_irreg_agg4 = tmp/tagg_single_1.nc, tmp/tagg_single_1.nc
  **ERROR: improper grid or axis definition: time axis is not monotonic at L=1 of file tmp/tagg_single_5.nc
 define data/agg/t MYsing_irreg_agg4 = tmp/tagg_single_1.nc, tmp/tagg_single_2.nc,tmp/tagg_single_4.nc, tmp/tagg_single_5.nc, tmp/tagg_single_5.nc
 *** Running ferret script: bn_unquoted_args.jnl
- Cached data cleared from memory
  LISTing to file tmp/test1.nc
  LISTing to file tmp/test2.nc
  LISTing to file tmp/test3.nc
@@ -4302,11 +4204,10 @@ go/garbage tmp/testMe
  **ERROR: unknown command qualifier: garbage
 go/garbage "tmp/testMe"
  **ERROR: unknown command qualifier: garbage
-go/garbage /home/flat/ksmith/ferret_dev/bench/tmp/testMe.jnl
+go/garbage ....../bench/tmp/testMe.jnl
  **ERROR: unknown command qualifier: garbage
-go/garbage "/home/flat/ksmith/ferret_dev/bench/tmp/testMe.jnl"
+go/garbage "....../bench/tmp/testMe.jnl"
 *** Running ferret script: bn_long_lists.jnl
- Cached data cleared from memory
  **ERROR: command syntax: command line too long -- exceeds 2048
 DEFINE VARIABLE a={1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7 [...]
  **ERROR: variable unknown or not in data set: A
@@ -4316,9 +4217,7 @@ load a
  **ERROR: command syntax: "/archive/ccsp/ipcc_ar4/CM2.1U-D4_1860-2000-AllForc_H1/pp/atmos/ts/monthly/100yr/atmos.0020.t_surf.nc","/archive/ccsp/ipcc_ar4/CM2.1U-D4_1860-2000-AllForc_H1/pp/atmos/ts/monthly/100yr/atmos.0021.t_surf...
 "/archive/ccsp/ipcc_ar4/CM2.1U-D4_1860-2000-AllForc_H1/pp/atmos/ts/monthly/100yr/atmos.0020.t_surf.nc","/archive/ccsp/ipcc_ar4/CM2.1U-D4_1860-2000-AllForc_H1/pp/atmos/ts/monthly/100yr/atmos.0021.t_surf.nc","/archive/ccsp/ipcc_ar4/CM2.1U-D4_1860-2000-AllForc_H1/pp/atmos/ts/monthly/100yr/atmos.0022.t_surf.nc","/archive/ccsp/ipcc_ar4/CM2.1U-D4_1860-2000-AllForc_H1/pp/atmos/ts/monthly/100yr/atmos.0023.t_surf.nc","/archive/ccsp/ipcc_ar4/CM2.1U-D4_1860-2000-AllForc_H1/pp/atmos/ts/monthly/100yr [...]
 *** Running ferret script: bn_show_uvar_grid.jnl
- Cached data cleared from memory
 *** Running ferret script: bn_aggregate_f.jnl
- Cached data cleared from memory
  LISTing to file tmp/fcst_1.nc
  LISTing to file tmp/fcst_2.nc
  LISTing to file tmp/fcst_3.nc
@@ -4361,7 +4260,7 @@ DEFINE DATA/AGGREGAT/F my_fmrc = XCAT(files,"tmp/consecutive_month_fcst.nc")
  **ERROR: error defining aggregate dataset: forecast start times are irregular or too gappy
 DEFINE DATA/AGGREGAT/F my_fmrc = XCAT(files,"tmp/irregular_start_time_fcst.nc")
 *** Running ferret script: bn_aggregate_tef.jnl
- Cached data cleared from memory
+ls: cannot access tmp/f04_e3_t3_1v.nc: No such file or directory
  LISTing to file tmp/f01_e1_t1.nc
  LISTing to file tmp/f01_e1_t2.nc
  LISTing to file tmp/f01_e1_t3.nc
@@ -4554,26 +4453,21 @@ DEFINE DATA/AGGREGAT/E bad_ens = te_f01, te_f03, te_f04
  **ERROR: error defining aggregate dataset: some files have duplicate forecast start times
 DEFINE DATA/AGGREGAT/F bad_fmrc = tf_e1, tf_e3, tf_e4
 *** Running ferret script: bn_dataset_qualifier.jnl
- Cached data cleared from memory
  LISTing to file a.nc
  LISTing to file a.nc
  LISTing to file a.nc
 *** Running ferret script: bn_speedtest.jnl
- Cached data cleared from memory
 *** Running ferret script: bn_show_noupcase.jnl
- Cached data cleared from memory
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 SHO VAR/XML
 SHO VAR/XML
 *** Running ferret script: bn_letd_attributes.jnl
- Cached data cleared from memory
  LISTing to file a.nc
  LISTing to file a.nc
 *** Running ferret script: bn_list_clim_axes.jnl
- Cached data cleared from memory
 *** Running ferret script: bn_climatology_attr.jnl
- Cached data cleared from memory
  LISTing to file a.nc
  LISTing to file a.nc
 Replacing definition of axis TAX
@@ -4583,92 +4477,104 @@ Replacing definition of axis TAX
  LISTing to file a.nc
  LISTing to file a.nc
 *** Running ferret script: bn_plot_along.jnl
- Cached data cleared from memory
            *** NOTE: Decimating PLOT/ALONG lines to /KEY limit of 40
            *** NOTE: Decimating PLOT/ALONG lines to /NOKEY limit of 200
            *** NOTE: Decimating PLOT/ALONG lines to /KEY limit of 40
            *** NOTE: Decimating PLOT/ALONG lines to /NOKEY limit of 200
 *** Running ferret script: bn_show_commands.jnl
- Cached data cleared from memory
 *** Running ferret script: bn_plot_decimate.jnl
- Cached data cleared from memory
            *** NOTE: Decimating PLOT/ALONG lines to /KEY limit of 40
            *** NOTE: Decimating PLOT/ALONG lines to /NOKEY limit of 200
            *** NOTE: Decimating PLOT/ALONG lines to /KEY limit of 40
            *** NOTE: Decimating PLOT/ALONG lines to /NOKEY limit of 200
 *** Running ferret script: bn_auto_tprec.jnl
- Cached data cleared from memory
 Replacing definition of axis TAX
 Replacing definition of axis TAX
 Replacing definition of axis TAX
 *** Running ferret script: bn_coordvars_atts.jnl
- Cached data cleared from memory
 *** Running ferret script: bn710_bug_fixes.jnl
- Cached data cleared from memory
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
            *** NOTE: unrepairable repeated axis coords on axis xax at subscript 1
            *** NOTE: A dummy axis of subscripts will be used
            *** NOTE: unrepairable repeated axis coords on axis yax at subscript 1
            *** NOTE: A dummy axis of subscripts will be used
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
            *** NOTE: Unclosed IF statement ... assuming ENDIF, in script ./unclosed_if.sub
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file a.nc
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis TAX
 Replacing definition of axis TAX
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
- PERMANENT data cleared from memory
- TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis XAXIS
 Replacing definition of axis YAXIS
 Replacing definition of axis TAXIS
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis TAX
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis TAX
 Replacing definition of axis YAXIS
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
            *** NOTE: Axis has repeated values -- micro-adjusting ...
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis TAX
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  **TMAP ERR: attribute already defined
              coordinates for variable ZETA
              Data set: testdata
@@ -4686,31 +4592,44 @@ Replacing definition of axis TAX
              Data set: testdata
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis XAX
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis XLON
  LISTing to file a1.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file a.nc
            *** NOTE: Requested region on modulo axis XLONN7_141 is larger than modulo length. Modulo attribute not written.
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  LISTing to file a.nc
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+ LISTing to file a1.nc
+ LISTing to file a2.nc
 *** Running ferret script: bn_delim_datetime.jnl
- Cached data cleared from memory
 Replacing definition of axis TIMAX
 Replacing definition of axis TIMAX
 Replacing definition of axis TIMAX
@@ -4725,7 +4644,6 @@ list index,edtim,udtim,udate,edate
  **ERROR: Error reading file: Check Date or Time fields.
 list index,edtim,udtim,udate,edate
 *** Running ferret script: bn_aggregate_u.jnl
- Cached data cleared from memory
  LISTing to file tmp/uagg_1.nc
  LISTing to file tmp/uagg_2.nc
  LISTing to file tmp/uagg_3.nc
@@ -4758,24 +4676,15 @@ list index,edtim,udtim,udate,edate
            *** NOTE: Skipping variable REALIZATION from set 8, already in the Union dataset.
            *** NOTE: /FILES is deprecated.  Use /MEMBERS
 *** Running ferret script: bn_ez_noupcase.jnl
- Cached data cleared from memory
  LISTing to file abc.dat
  LISTing to file a.nc
  LISTing to file a.nc
 *** Running ferret script: bn_spawn_fail.jnl
- Cached data cleared from memory
 ls: cannot access notafile.nowhere: No such file or directory
-           *** NOTE: Shell command returned failure flag: ls notafile.nowhere
-           *** NOTE: Shell command returned failure flag: grep "this text is not in the file" bn_all.jnl
-rm: cannot remove `nothing.dat': No such file or directory
-           *** NOTE: Shell command returned failure flag: rm nothing.dat
-           *** NOTE: Shell command returned failure flag: grep modulus non_COARDS.cdl
-cp: cannot stat `nofile.dat': No such file or directory
-           *** NOTE: Shell command returned failure flag: cp nofile.dat not_either.dat
+rm: cannot remove ‘nothing.dat’: No such file or directory
+cp: cannot stat ‘nofile.dat’: No such file or directory
 *** Running ferret script: bn_ave_of_ave.jnl
- Cached data cleared from memory
 *** Running ferret script: bn_agg_member_syntax.jnl
- Cached data cleared from memory
  **ERROR: unknown data set: D=5.3
 stat/br fcst[d=5.3]
  **ERROR: unknown data set: D=12.30
@@ -4789,7 +4698,6 @@ stat/br sst[d=4.1]
  **ERROR: unknown data set: D=5.30
 stat/br sst[d=5.30]
 *** Running ferret script: bn_true_monthly.jnl
- Cached data cleared from memory
            *** NOTE: /UNIT=MONTHS is ambiguous ... using 1/12 of 365.2425 days
            *** NOTE: True monthly axis has an implicit /EDGES qualifier
            *** NOTE: True monthly axis has an implicit /EDGES qualifier
@@ -4854,8 +4762,382 @@ define axis/from/t/t0=1-jan-2001/monthly/edges taxis = {5,6,6,6,7}
 def axis/t/t0=1-jan-2000/monthly/bounds tax={1.2, 2, 3.2, 5, 7, 8.4, 9}, {0.5,1.5, 1.5,2.5, 2.5,3.5, 3.5,6.5, 6.5,7.5, 7.5,8.5, 8.5,9.5}
  **ERROR: improper grid or axis definition: DEFINE AXIS/MONTHLY True-month axis: needs /T=lo:hi:del
 define axis/x=1:5:1/monthly aaxis
+*** Running ferret script: bn720_bug_fixes.jnl
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+ LISTing to file a.nc
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+ LISTing to file a.nc
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+ LISTing to file a.nc
+ LISTing to file a.nc
+ LISTing to file a.nc
+           *** NOTE: Saving E or F axis with time axis uses /RIGID in time
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+ LISTing to file a.nc
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+ LISTing to file a.nc
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+ **ERROR: PPLUS command syntax error: Symbol not found PPLUS show nosymbol
+pplus show nosymbol
+ **ERROR: PPLUS command syntax error: Symbol not found PPLUS show
+ppl show
+ **ERROR: PPLUS command syntax error:  Command not recognized: PPLUS NONSENSE
+PPL nonsense
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Replacing definition of axis tax
+           *** NOTE: Ambiguous coordinates on T axis: S1*A
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+ **ERROR: invalid command: Mismatched parentheses within REPEAT loop
+repeat/range=1:3:1/name=count (def sym count = `count`; say 3; message/continue))
+*** Running ferret script: bn_compressed_gather.jnl
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+Replacing definition of axis XAX
+Replacing definition of axis YAX
+Replacing definition of axis TAX
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+Replacing definition of axis XAX
+Replacing definition of axis TAX
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+Replacing definition of axis XAX
+Replacing definition of axis ZAX
+Replacing definition of axis TAX
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+*** Running ferret script: bn_dynamic_gather.jnl
+ls: cannot access tmp/test_dyn_mem.nc: No such file or directory
+ LISTing to file tmp/test_dyn_mem.nc
+ LISTing to file tmp/test_dyn_mem.nc
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ **ERROR: request exceeds memory setting: Requested result is larger than the available memory
+stat/brief v[i=101:200,j=101:200,k=1,l=1:10 at ave], v[i=101:200,j=101:200,k=2,l=1:10 at ave], v[l=1:10 at ave]
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ **ERROR: request exceeds memory setting: Requested result is larger than the available memory
+stat/brief a[l=1:10 at ave], b[l=1:10 at ave], c[l=1:10 at ave], d[l=1:10 at ave]
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+           *** NOTE: No active redirects to cancel
+ **ERROR: request exceeds memory setting: Requested result is larger than the available memory
+stat/brief v[i=101:200,j=101:200,k=1,l=1:10 at ave], v[i=101:200,j=101:200,k=2,l=1:10 at ave], v[l=1:10 at ave]
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ **ERROR: request exceeds memory setting: Requested result is larger than the available memory
+stat/brief a[l=1:10 at ave], b[l=1:10 at ave], c[l=1:10 at ave], d[l=1:10 at ave]
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ **ERROR: request exceeds memory setting: Requested result is larger than the available memory
+stat/brief v[i=101:200,j=101:200,k=1,l=1:10 at ave], v[i=101:200,j=101:200,k=2,l=1:10 at ave], v[l=1:10 at ave]
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ **ERROR: request exceeds memory setting: Requested result is larger than the available memory
+stat/brief a[l=1:10 at ave], b[l=1:10 at ave], c[l=1:10 at ave], d[l=1:10 at ave]
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ **ERROR: request exceeds memory setting: Requested result is larger than the available memory
+stat/brief v[i=101:200,j=101:200,k=1,l=1:10 at ave], v[i=101:200,j=101:200,k=2,l=1:10 at ave], v[l=1:10 at ave]
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ **ERROR: request exceeds memory setting: Requested result is larger than the available memory
+stat/brief a[l=1:10 at ave], b[l=1:10 at ave], c[l=1:10 at ave], d[l=1:10 at ave]
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ **ERROR: value out of legal range: illegal mode argument. Must be 0 to 90 percent
+SET MODE FRUGAL:95
+*** Running ferret script: bn_stat_precision.jnl
+*** Running ferret script: bn_plot_vs_with_time.jnl
+Replacing definition of axis TIME
+Replacing definition of axis TIME
+*** Running ferret script: bn_dot_product.jnl
+ LISTing to file a.nc
+ LISTing to file a.nc
+ LISTing to file a.nc
+*** Running ferret script: bn_cache_management.jnl
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ls: cannot access tmp/test_auto_cache_20.nc: No such file or directory
+ LISTing to file tmp/test_auto_cache_1.nc
+ LISTing to file tmp/test_auto_cache_2.nc
+ LISTing to file tmp/test_auto_cache_3.nc
+ LISTing to file tmp/test_auto_cache_4.nc
+ LISTing to file tmp/test_auto_cache_5.nc
+ LISTing to file tmp/test_auto_cache_6.nc
+ LISTing to file tmp/test_auto_cache_7.nc
+ LISTing to file tmp/test_auto_cache_8.nc
+ LISTing to file tmp/test_auto_cache_9.nc
+ LISTing to file tmp/test_auto_cache_10.nc
+ LISTing to file tmp/test_auto_cache_11.nc
+ LISTing to file tmp/test_auto_cache_12.nc
+ LISTing to file tmp/test_auto_cache_13.nc
+ LISTing to file tmp/test_auto_cache_14.nc
+ LISTing to file tmp/test_auto_cache_15.nc
+ LISTing to file tmp/test_auto_cache_16.nc
+ LISTing to file tmp/test_auto_cache_17.nc
+ LISTing to file tmp/test_auto_cache_18.nc
+ LISTing to file tmp/test_auto_cache_19.nc
+ LISTing to file tmp/test_auto_cache_20.nc
+ LISTing to file test_auto_cache.out
+ LISTing to file test_auto_cache.out
+ LISTing to file test_auto_cache.out
+ LISTing to file test_auto_cache.out
+ LISTing to file test_auto_cache.out
+ LISTing to file test_auto_cache.out
+ LISTing to file test_auto_cache.out
+ LISTing to file test_auto_cache.out
+ LISTing to file test_auto_cache.out
+ LISTing to file test_auto_cache.out
+ LISTing to file test_auto_cache.out
+ LISTing to file test_auto_cache.out
+ LISTing to file test_auto_cache.out
+ LISTing to file test_auto_cache.out
+ LISTing to file test_auto_cache.out
+ LISTing to file test_auto_cache.out
+ LISTing to file test_auto_cache.out
+ LISTing to file test_auto_cache.out
+ LISTing to file test_auto_cache.out
+ LISTing to file test_auto_cache.out
+*** Running ferret script: bn_transp_choose.jnl
+ TEMPORARY data cleared from memory
+*** Running ferret script: bn_iin_regrid.jnl
+ **ERROR: regridding: @IIN regridding must be to axis with same grid-cell sizes
+list a[gx=alinenew at iin]
+Replacing definition of axis ALINENEW
+Replacing definition of axis ALINENEW
+Replacing definition of axis ALINENEW
+ TEMPORARY data cleared from memory
+Replacing definition of axis ALINE
+Replacing definition of axis ALINE_EDGES
+Replacing definition of axis ALINE
+Replacing definition of axis ALINE_EDGES
+Replacing definition of axis OTHERAXIS
+Replacing definition of axis ALINE
+Replacing definition of axis ALINE_EDGES
+Replacing definition of axis OTHERAXIS
+Replacing definition of axis ALINE
+Replacing definition of axis ALINE_EDGES
+Replacing definition of axis ALINE
+Replacing definition of axis ALINE_EDGES
 *** Running ferret script: bn_gif.jnl
- Cached data cleared from memory
  **ERROR: dimensions improperly specified: specified data is not a line
            - its a 2D region: "plot/i=1:10/j=1:20/nolabel i+j"
 plot/i=1:10/j=1:20/nolabel i+j
@@ -4898,8 +5180,10 @@ Re-defining viewport UM6
  Using every   2th vector in the Y direction
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Re-defining viewport UL6
 Re-defining viewport UM6
 Re-defining viewport UR6
@@ -4909,14 +5193,34 @@ Replacing definition of axis TDAYS
  Using every   4th vector in the X direction
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis TAX
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 Replacing definition of axis XAX
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
+Re-defining viewport LL6
+Re-defining viewport UL6
+Re-defining viewport LM6
+Re-defining viewport UM6
+Re-defining viewport LR6
+Re-defining viewport UR6
+ PERMANENT data cleared from memory
+ TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 *** Running ferret script: bn_ps.jnl
- Cached data cleared from memory
  **ERROR: dimensions improperly specified: specified data is not a line
            - its a 2D region: "plot/i=1:10/j=1:20/nolabel i+j"
 plot/i=1:10/j=1:20/nolabel i+j
@@ -4951,17 +5255,15 @@ Re-defining viewport UM6
           frame/file=bnplot.ps
 frame/file=bnplot.ps
 *** Running ferret script: bn_all_ef.jnl
- Cached data cleared from memory
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
  **ERROR: command syntax: unknown region name: @w
 set region/@w
  PERMANENT data cleared from memory
  TEMPORARY data cleared from memory
+ooooooooooooooooooooooooooooooooooooooooooo
 *** Running ferret script: bn_startupfile.jnl
- Cached data cleared from memory
            *** NOTE: in GIF mode: ignoring SET MODE METAFILE
            *** NOTE: in GIF mode: ignoring SET MODE METAFILE
 *** Running ferret script: err700_decimate.jnl
- Cached data cleared from memory
-Ended at Thu Feb  9 14:26:11 PST 2017
diff --git a/bench/test_results/ferret_run_tests_log b/bench/test_results/ferret_run_tests_log
index 591952d..9e74005 100644
--- a/bench/test_results/ferret_run_tests_log
+++ b/bench/test_results/ferret_run_tests_log
@@ -1,22 +1,4 @@
-Using FERRET /home/flat/ksmith/Ferret/bin/ferret
-lrwxrwxrwx. 1 ksmith oerdnewp 11 Feb  9 14:24 /home/flat/ksmith/Ferret/bin/ferret -> ferret_v7.1
-Using external functions from /home/flat/ksmith/Ferret/ext_func/libs
-Benchmark run by ksmith
-Note: RUN_TESTS.sh test results for Ferret
 ****** Restricting Ferret paths to bench directory ******
-FER_DAT=.
-FER_DATA=.
-FER_DATA_THREDDS= http://ferret.pmel.noaa.gov/geoide/geoIDECleanCatalog.xml /home/flat/ksmith/Datasets
-FER_DESCR=.
-FER_DIR=.
-FER_DSETS=.
-FER_EXTERNAL_FUNCTIONS=/home/flat/ksmith/Ferret/ext_func/libs
-FER_FONTS=/home/flat/ksmith/Ferret/ppl/fonts
-FER_GO=. /home/flat/ksmith/Ferret/go /home/flat/ksmith/Ferret/examples /home/flat/ksmith/Ferret/contrib
-FER_GRIDS=.
-FER_LIBS=/home/flat/ksmith/Ferret/lib
-FER_PALETTE=. /home/flat/ksmith/Ferret/ppl
-FER_WEB_BROWSER=firefox
 Benchmark scripts that will be run:
    bn_syntax.jnl
    bn_dollar.jnl
@@ -287,12 +269,20 @@ Benchmark scripts that will be run:
    bn_ave_of_ave.jnl
    bn_agg_member_syntax.jnl
    bn_true_monthly.jnl
+   bn720_bug_fixes.jnl
+   bn_compressed_gather.jnl
+   bn_dynamic_gather.jnl
+   bn_stat_precision.jnl
+   bn_plot_vs_with_time.jnl
+   bn_dot_product.jnl
+   bn_cache_management.jnl
+   bn_transp_choose.jnl
+   bn_iin_regrid.jnl
    bn_gif.jnl
    bn_ps.jnl
    bn_all_ef.jnl
    bn_startupfile.jnl
    err700_decimate.jnl
-Beginning at Thu Feb  9 14:24:23 PST 2017
 *** Running ferret script: bn_syntax.jnl
 ! bn401_syntax.JNL
 ! - test syntax interpretation of Program FERRET
@@ -438,7 +428,7 @@ SHOW DATA/FULL
  
  name     title                             I         J         K         L
  V1       V1                               1:2       ...       ...       ...
-               on grid (G008) with -1.E+34 for missing data
+               on grid (G###) with -1.E+34 for missing data
              X=-0.5:1.5  
  
  /FORMAT = FREE
@@ -590,11 +580,11 @@ region W
 ! SET - SHOW - CANCEL  MODE
 SHOW MODES
       MODE            STATE        ARGUMENT
-      DIAGNOSTIC    CANCELLED           99
+      DIAGNOSTIC    CANCELED            99
       VERIFY           SET         DEFAULT
-      INTERPOLATE   CANCELLED
-      IGNORE_ERROR  CANCELLED
-      STUPID        CANCELLED
+      INTERPOLATE   CANCELED
+      IGNORE_ERROR  CANCELED
+      STUPID        CANCELED
       JOURNAL          SET         ferret.jnl
       LONG_LABEL       SET               1
       LATIT_LABEL      SET               1
@@ -604,32 +594,33 @@ SHOW MODES
       F_LABEL          SET         minutes
       ASCII_FONT       SET
       SEGMENT          SET
-      WAIT          CANCELLED
-      DESPERATE     CANCELLED      2560000
+      WAIT          CANCELED
+      DESPERATE     CANCELED       2560000
       GKS              SET
       REFRESH          SET
-      METAFILE      CANCELLED      .gif
-      PPLLIST       CANCELLED      ppllist.out
-      GUI           CANCELLED
-      LOGO          CANCELLED
+      METAFILE      CANCELED       .gif
+      PPLLIST       CANCELED       ppllist.out
+      GUI           CANCELED
+      LOGO          CANCELED
       LABELS           SET
-      GRATICULE     CANCELLED
+      GRATICULE     CANCELED
       LINECOLORS       SET               6
       UPCASE_OUTPU     SET
       NLEVELS          SET              30
       NODATA_LAB       SET
-      SHRINK_YLAB   CANCELLED
-      CURVILINEAR   CANCELLED
-      LAYERZ        CANCELLED
+      SHRINK_YLAB   CANCELED
+      CURVILINEAR   CANCELED
+      LAYERZ        CANCELED
       6D_LAB           SET
+      FRUGAL           SET              30
 SET MODE IGNORE_ERROR
 SHOW MODES
       MODE            STATE        ARGUMENT
-      DIAGNOSTIC    CANCELLED           99
+      DIAGNOSTIC    CANCELED            99
       VERIFY           SET         DEFAULT
-      INTERPOLATE   CANCELLED
+      INTERPOLATE   CANCELED
       IGNORE_ERROR     SET
-      STUPID        CANCELLED
+      STUPID        CANCELED
       JOURNAL          SET         ferret.jnl
       LONG_LABEL       SET               1
       LATIT_LABEL      SET               1
@@ -639,32 +630,33 @@ SHOW MODES
       F_LABEL          SET         minutes
       ASCII_FONT       SET
       SEGMENT          SET
-      WAIT          CANCELLED
-      DESPERATE     CANCELLED      2560000
+      WAIT          CANCELED
+      DESPERATE     CANCELED       2560000
       GKS              SET
       REFRESH          SET
-      METAFILE      CANCELLED      .gif
-      PPLLIST       CANCELLED      ppllist.out
-      GUI           CANCELLED
-      LOGO          CANCELLED
+      METAFILE      CANCELED       .gif
+      PPLLIST       CANCELED       ppllist.out
+      GUI           CANCELED
+      LOGO          CANCELED
       LABELS           SET
-      GRATICULE     CANCELLED
+      GRATICULE     CANCELED
       LINECOLORS       SET               6
       UPCASE_OUTPU     SET
       NLEVELS          SET              30
       NODATA_LAB       SET
-      SHRINK_YLAB   CANCELLED
-      CURVILINEAR   CANCELLED
-      LAYERZ        CANCELLED
+      SHRINK_YLAB   CANCELED
+      CURVILINEAR   CANCELED
+      LAYERZ        CANCELED
       6D_LAB           SET
+      FRUGAL           SET              30
 CANCEL MODE IGNORE_ERROR
 SHOW MODES
       MODE            STATE        ARGUMENT
-      DIAGNOSTIC    CANCELLED           99
+      DIAGNOSTIC    CANCELED            99
       VERIFY           SET         DEFAULT
-      INTERPOLATE   CANCELLED
-      IGNORE_ERROR  CANCELLED
-      STUPID        CANCELLED
+      INTERPOLATE   CANCELED
+      IGNORE_ERROR  CANCELED
+      STUPID        CANCELED
       JOURNAL          SET         ferret.jnl
       LONG_LABEL       SET               1
       LATIT_LABEL      SET               1
@@ -674,27 +666,28 @@ SHOW MODES
       F_LABEL          SET         minutes
       ASCII_FONT       SET
       SEGMENT          SET
-      WAIT          CANCELLED
-      DESPERATE     CANCELLED      2560000
+      WAIT          CANCELED
+      DESPERATE     CANCELED       2560000
       GKS              SET
       REFRESH          SET
-      METAFILE      CANCELLED      .gif
-      PPLLIST       CANCELLED      ppllist.out
-      GUI           CANCELLED
-      LOGO          CANCELLED
+      METAFILE      CANCELED       .gif
+      PPLLIST       CANCELED       ppllist.out
+      GUI           CANCELED
+      LOGO          CANCELED
       LABELS           SET
-      GRATICULE     CANCELLED
+      GRATICULE     CANCELED
       LINECOLORS       SET               6
       UPCASE_OUTPU     SET
       NLEVELS          SET              30
       NODATA_LAB       SET
-      SHRINK_YLAB   CANCELLED
-      CURVILINEAR   CANCELLED
-      LAYERZ        CANCELLED
+      SHRINK_YLAB   CANCELED
+      CURVILINEAR   CANCELED
+      LAYERZ        CANCELED
       6D_LAB           SET
+      FRUGAL           SET              30
 SHOW MODE STUPID
       MODE            STATE        ARGUMENT
-      STUPID        CANCELLED
+      STUPID        CANCELED
 SET MODE STUPID
 SHOW MODE STUPID
       MODE            STATE        ARGUMENT
@@ -702,7 +695,7 @@ SHOW MODE STUPID
 SET MODE/LAST STUPID
 SHOW MODE STUPID
       MODE            STATE        ARGUMENT
-      STUPID        CANCELLED
+      STUPID        CANCELED
  
 ! new modes 5/93
 set mode journal newjournal.jnl
@@ -730,52 +723,52 @@ ppl list plot
 cancel mode journal
 show mode journal
       MODE            STATE        ARGUMENT
-      JOURNAL       CANCELLED      ferret.jnl
+      JOURNAL       CANCELED       ferret.jnl
  
 ! new 1/94  (syntax check also applies to modes journal and ppllist)
 show mode metafile
       MODE            STATE        ARGUMENT
-      METAFILE      CANCELLED      .gif
+      METAFILE      CANCELED       .gif
 set mode metafile newmetafile1.plt
 show mode metafile
       MODE            STATE        ARGUMENT
-      METAFILE      CANCELLED      .gif
+      METAFILE      CANCELED       .gif
 set mode metafile:newmetafile2.plt
 show mode metafile
       MODE            STATE        ARGUMENT
-      METAFILE      CANCELLED      .gif
+      METAFILE      CANCELED       .gif
 set mode metafile: newmetafile3.plt
 show mode metafile
       MODE            STATE        ARGUMENT
-      METAFILE      CANCELLED      .gif
+      METAFILE      CANCELED       .gif
 set mode metafile: "newmetafile4.plt"
 show mode metafile
       MODE            STATE        ARGUMENT
-      METAFILE      CANCELLED      .gif
+      METAFILE      CANCELED       .gif
 set mode metafile: "./newmetafile5.plt"
 show mode metafile
       MODE            STATE        ARGUMENT
-      METAFILE      CANCELLED      .gif
+      METAFILE      CANCELED       .gif
 set mode metafile: ./newmetafile6.plt
 show mode metafile
       MODE            STATE        ARGUMENT
-      METAFILE      CANCELLED      .gif
+      METAFILE      CANCELED       .gif
 set mode metafile newmetafile7.plt
 show mode metafile
       MODE            STATE        ARGUMENT
-      METAFILE      CANCELLED      .gif
+      METAFILE      CANCELED       .gif
 set mode metafile "newmetafile8.plt"
 show mode metafile
       MODE            STATE        ARGUMENT
-      METAFILE      CANCELLED      .gif
+      METAFILE      CANCELED       .gif
 set mode metafile "./newmetafile9.plt"
 show mode metafile
       MODE            STATE        ARGUMENT
-      METAFILE      CANCELLED      .gif
+      METAFILE      CANCELED       .gif
 set mode metafile ./newmetafile10.plt
 show mode metafile
       MODE            STATE        ARGUMENT
-      METAFILE      CANCELLED      .gif
+      METAFILE      CANCELED       .gif
 set mode metafile metafile.plt
  
 ! SET - SHOW - CANCEL EXPRESSION
@@ -895,56 +888,62 @@ SHOW VARIABLES
  
 ! SHOW MEMORY , LOAD
 SHOW MEMORY
- Current size of FERRET memory cache: 25.6 MegaWords  (1 word = 8 bytes)
+    SET MEMORY/SIZE: 25.6 megawords
+    Peak demand: 18 words
+    Current cache: 5 words
 SHOW MEMORY/TEMPORARY
- Current size of FERRET memory cache: 25.6 MegaWords  (1 word = 8 bytes)
+    SET MEMORY/SIZE: 25.6 megawords
+    Peak demand: 18 words
+    Current cache: 5 words
 data loaded without /PERMANENT:
- SALT[D=gt4d011]                   X     mr:3  blk1:1  nblk:1
-  101  /130W          50  /1.3N           1  /0              5  /07-SEP-1982
-  105  /125W          50  /1.7N           1  /10             5  /13-SEP-1982
+ SALT[D=gt4d011]                   X     mr:3 size:5
+       101/130W               50/1.3N                1/0                   5/07-SEP-1982
+       105/125W               50/1.7N                1/10                  5/13-SEP-1982
  
 SHOW MEMORY/PERMANENT
- Current size of FERRET memory cache: 25.6 MegaWords  (1 word = 8 bytes)
+    SET MEMORY/SIZE: 25.6 megawords
+    Peak demand: 18 words
+    Current cache: 5 words
 data loaded with /PERMANENT:
 SHOW MEMORY/ALL
- Current size of FERRET memory cache: 25.6 MegaWords  (1 word = 8 bytes)
+    SET MEMORY/SIZE: 25.6 megawords
+    Peak demand: 18 words
+    Current cache: 5 words
 all data in memory:
- SALT[D=gt4d011]                   X     mr:3  blk1:1  nblk:1
-  101  /130W          50  /1.3N           1  /0              5  /07-SEP-1982
-  105  /125W          50  /1.7N           1  /10             5  /13-SEP-1982
+ SALT[D=gt4d011]                   X     mr:3 size:5
+       101/130W               50/1.3N                1/0                   5/07-SEP-1982
+       105/125W               50/1.7N                1/10                  5/13-SEP-1982
  
  
 LET A=i
 LOAD/PERM/I=1:5 A
 SHOW MEMORY
- Current size of FERRET memory cache: 25.6 MegaWords  (1 word = 8 bytes)
+    SET MEMORY/SIZE: 25.6 megawords
+    Peak demand: 18 words
+    Current cache: 15 words
+    Permanent: 5 words
 SHOW MEMORY/FREE
- Current size of FERRET memory cache: 25.6 MegaWords  (1 word = 8 bytes)
-            total memory table slots: 500
-            total memory blocks: 2000
-            memory block size: 12800
- 
-            number of free memory blocks: 1997
-            largest free region: 1997
-            number of free regions: 1
-            free memory table slots: 497
-            number of UN-CACHED variables: 0
-            number of /PERMANENT variables: 1
-            number of blocks used /PERM: 1
+    SET MEMORY/SIZE: 25.6 megawords
+    Peak demand: 18 words
+    Current cache: 15 words
+    Permanent: 5 words
+    Total table slots: 500
+    Free table slots: 497
+    Un-cached variables: 0
+    number of /PERMANENT variables: 1
+    memory used for /PERM: 5
 LOAD/TEMPORARY/I=1:5 A
 SHOW MEMORY
- Current size of FERRET memory cache: 25.6 MegaWords  (1 word = 8 bytes)
+    SET MEMORY/SIZE: 25.6 megawords
+    Peak demand: 18 words
+    Current cache: 10 words
 SHOW MEMORY/FREE
- Current size of FERRET memory cache: 25.6 MegaWords  (1 word = 8 bytes)
-            total memory table slots: 500
-            total memory blocks: 2000
-            memory block size: 12800
- 
-            number of free memory blocks: 1998
-            largest free region: 1997
-            number of free regions: 2
-            free memory table slots: 498
-            number of UN-CACHED variables: 0
+    SET MEMORY/SIZE: 25.6 megawords
+    Peak demand: 18 words
+    Current cache: 10 words
+    Total table slots: 500
+    Free table slots: 498
+    Un-cached variables: 0
  
 ! REPEAT
 REPEAT/L=1:3 LIST/I=1:6/ORDER=X 1/(I+L)
@@ -1542,14 +1541,14 @@ set mode diagnostic
 let sst2 = sst[l=5:8]
 say `sst, return=size`    ! should only do a GETGRID
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME
  !-> MESSAGE/CONTINUE 48600
 48600
 say `sst2,return=lend`    ! should inherit L=5:8
  dealloc  dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid SST2     C:  7 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid SST2     C:  7 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME
  allocate dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME
  !-> MESSAGE/CONTINUE 8
@@ -1668,41 +1667,41 @@ let a = XSEQUENCE(J[j=1:5])
 set mode diagnostic
 say `a,return=isize`          ! full evaluation occurs
  dealloc  dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid A        C:  7 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid (C01,V08 C:  9 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid (C11,V08 C: 11 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid A        C:  7 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid (C01,V08 C:  9 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid (C11,V08 C: 11 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  dealloc  dynamic grid ABSTRACT        ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT
- pass #2 (C11,V08 C: 11 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- -DELETE X        M:  4 dset:   0 I:  160  160  J: -999 -999  K: -999 -999  L: -999 -999
+ pass #2 (C11,V08 C: 11 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ -DELETE X        M:  4 dset:   0 I:    160    160  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- eval    A        C:  6 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- eval    (C01,V08 C:  8 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- eval    (C11,V08 C: 10 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- pseudo  J        M:  4 dset:   0 I: -999 -999  J:    1    5  K: -999 -999  L: -999 -999
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
+ eval    A        C:  6 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
+ eval    (C01,V08 C:  8 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
+ eval    (C11,V08 C: 10 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
+ pseudo  J        M:  4 dset:   0 I:   -999   -999  J:    1    5  K: -999 -999  L:   -999   -999
  !-> MESSAGE/CONTINUE 5
 5
 say `a[i=2:3],return=isize`   ! full evaluation is bypassed
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- -DELETE J        M:  4 dset:   0 I: -999 -999  J:    1    5  K: -999 -999  L: -999 -999
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ -DELETE J        M:  4 dset:   0 I:   -999   -999  J:    1    5  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- found   A        M: 10 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
+ found   A        M: 10 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
  !-> MESSAGE/CONTINUE 2
 2
 say `a[i=100:200],return=isize`    ! correct starting with Ferret v694 (tkt 2213)
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- eval    A        C:  6 dset:   0 I:  100  200  J: -999 -999  K: -999 -999  L: -999 -999
- eval    (C01,V08 C:  8 dset:   0 I:  100  200  J: -999 -999  K: -999 -999  L: -999 -999
- found   (C11,V08 M:  8 dset:   0 I: -999 -999  J:    1    5  K: -999 -999  L: -999 -999
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
+ eval    A        C:  6 dset:   0 I:    100    200  J: -999 -999  K: -999 -999  L:   -999   -999
+ eval    (C01,V08 C:  8 dset:   0 I:    100    200  J: -999 -999  K: -999 -999  L:   -999   -999
+ found   (C11,V08 M:  8 dset:   0 I:   -999   -999  J:    1    5  K: -999 -999  L:   -999   -999
  !-> MESSAGE/CONTINUE 5
 5
 set mode/last diagnostic
@@ -3203,10 +3202,10 @@ DEFINE REGION/I=101:105/J=46:50/K=1:5/L=1:5 R4D
 SET REG R4D
 SET EXPRESSION temp
 LOAD		! load full 4-D region
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DT2          PSXT      PSYT      PSZT      TIME1
- eval    EX#1     C:  4 dset:   1 I:  101  105  J:   46   50  K:    1    5  L:    1    5
- reading TEMP     M: 31 dset:   1 I:  101  105  J:   46   50  K:    1    5  L:    1    5
+ eval    EX#1     C:  4 dset:   1 I:    101    105  J:   46   50  K:    1    5  L:      1      5
+ reading TEMP     M: 31 dset:   1 I:    101    105  J:   46   50  K:    1    5  L:      1      5
 GO bn_geometry.sub
 ! BN200_GEOMETRY.SUB
 ! list the variable vtest on variuos geometries
@@ -3216,8 +3215,8 @@ GO bn_geometry.sub
 ! lines of data
 LIST/@JPT/@KPT/@LPT/ORDER=X
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:  101  105  J:   46   46  K:    1    1  L:    1    1
- found   TEMP     M: 31 dset:   1 I:  101  105  J:   46   50  K:    1    5  L:    1    5
+ eval    EX#1     C:  5 dset:   1 I:    101    105  J:   46   46  K:    1    1  L:      1      1
+ found   TEMP     M: 31 dset:   1 I:    101    105  J:   46   50  K:    1    5  L:      1      5
              VARIABLE : TEMPERATURE (deg. C)
              FILENAME : gt4d011.cdf
              SUBSET   : 5 points (LONGITUDE)
@@ -3227,11 +3226,11 @@ LIST/@JPT/@KPT/@LPT/ORDER=X
           129.5W 128.5W 127.5W 126.5W 125.5W 
           101    102    103    104    105
           25.78  25.80  25.82  25.80  25.74
- -DELETE TEMP     M: 29 dset:   1 I:  101  105  J:   46   46  K:    1    1  L:    1    1
+ -DELETE TEMP     M: 29 dset:   1 I:    101    105  J:   46   46  K:    1    1  L:      1      1
 LIST/@IPT/@KPT/@LPT/ORDER=Y
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:  101  101  J:   46   50  K:    1    1  L:    1    1
- found   TEMP     M: 31 dset:   1 I:  101  105  J:   46   50  K:    1    5  L:    1    5
+ eval    EX#1     C:  5 dset:   1 I:    101    101  J:   46   50  K:    1    1  L:      1      1
+ found   TEMP     M: 31 dset:   1 I:    101    105  J:   46   50  K:    1    5  L:      1      5
              VARIABLE : TEMPERATURE (deg. C)
              FILENAME : gt4d011.cdf
              SUBSET   : 5 points (LATITUDE)
@@ -3241,11 +3240,11 @@ LIST/@IPT/@KPT/@LPT/ORDER=Y
            0.17N  0.5N   0.83N  1.17N  1.5N  
            46     47     48     49     50
           25.78  25.90  26.04  26.22  26.42
- -DELETE TEMP     M: 29 dset:   1 I:   46   50  J:  101  101  K:    1    1  L:    1    1
+ -DELETE TEMP     M: 29 dset:   1 I:     46     50  J:  101  101  K:    1    1  L:      1      1
 LIST/@IPT/@JPT/@LPT/ORDER=Z
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:  101  101  J:   46   46  K:    1    5  L:    1    1
- found   TEMP     M: 31 dset:   1 I:  101  105  J:   46   50  K:    1    5  L:    1    5
+ eval    EX#1     C:  5 dset:   1 I:    101    101  J:   46   46  K:    1    5  L:      1      1
+ found   TEMP     M: 31 dset:   1 I:    101    105  J:   46   50  K:    1    5  L:      1      5
              VARIABLE : TEMPERATURE (deg. C)
              FILENAME : gt4d011.cdf
              SUBSET   : 5 points (DEPTH (m))
@@ -3255,11 +3254,11 @@ LIST/@IPT/@JPT/@LPT/ORDER=Z
            5      15     25     35     45    
             1      2      3      4      5
           25.78  25.67  25.51  25.35  25.16
- -DELETE TEMP     M: 29 dset:   1 I:    1    5  J:  101  101  K:   46   46  L:    1    1
+ -DELETE TEMP     M: 29 dset:   1 I:      1      5  J:  101  101  K:   46   46  L:      1      1
 LIST/@IPT/@JPT/@KPT/ORDER=T
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:  101  101  J:   46   46  K:    1    1  L:    1    5
- found   TEMP     M: 31 dset:   1 I:  101  105  J:   46   50  K:    1    5  L:    1    5
+ eval    EX#1     C:  5 dset:   1 I:    101    101  J:   46   46  K:    1    1  L:      1      5
+ found   TEMP     M: 31 dset:   1 I:    101    105  J:   46   50  K:    1    5  L:      1      5
              VARIABLE : TEMPERATURE (deg. C)
              FILENAME : gt4d011.cdf
              SUBSET   : 5 points (TIME)
@@ -3269,13 +3268,13 @@ LIST/@IPT/@JPT/@KPT/ORDER=T
            1982   1982   1982   1982   1982  
             1      2      3      4      5
           25.78  25.98  26.18  26.39  26.62
- -DELETE TEMP     M: 29 dset:   1 I:    1    5  J:  101  101  K:   46   46  L:    1    1
+ -DELETE TEMP     M: 29 dset:   1 I:      1      5  J:  101  101  K:   46   46  L:      1      1
  
 ! planes of data
 LIST/@KPT/@LPT	!XY
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:  101  105  J:   46   50  K:    1    1  L:    1    1
- found   TEMP     M: 31 dset:   1 I:  101  105  J:   46   50  K:    1    5  L:    1    5
+ eval    EX#1     C:  5 dset:   1 I:    101    105  J:   46   50  K:    1    1  L:      1      1
+ found   TEMP     M: 31 dset:   1 I:    101    105  J:   46   50  K:    1    5  L:      1      5
              VARIABLE : TEMPERATURE (deg. C)
              FILENAME : gt4d011.cdf
              SUBSET   : 5 by 5 points (LONGITUDE-LATITUDE)
@@ -3288,11 +3287,11 @@ LIST/@KPT/@LPT	!XY
  0.83N / 48:  26.04  26.10  26.13  26.11  26.06
  0.5N  / 47:  25.90  25.94  25.96  25.94  25.89
  0.17N / 46:  25.78  25.80  25.82  25.80  25.74
- -DELETE TEMP     M: 29 dset:   1 I:  101  105  J:   46   50  K:    1    1  L:    1    1
+ -DELETE TEMP     M: 29 dset:   1 I:    101    105  J:   46   50  K:    1    1  L:      1      1
 LIST/@JPT/@LPT	!XZ
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:  101  105  J:   46   46  K:    1    5  L:    1    1
- found   TEMP     M: 31 dset:   1 I:  101  105  J:   46   50  K:    1    5  L:    1    5
+ eval    EX#1     C:  5 dset:   1 I:    101    105  J:   46   46  K:    1    5  L:      1      1
+ found   TEMP     M: 31 dset:   1 I:    101    105  J:   46   50  K:    1    5  L:      1      5
              VARIABLE : TEMPERATURE (deg. C)
              FILENAME : gt4d011.cdf
              SUBSET   : 5 by 5 points (LONGITUDE-DEPTH (m))
@@ -3305,11 +3304,11 @@ LIST/@JPT/@LPT	!XZ
  25    / 3:  25.51  25.53  25.54  25.53  25.48
  35    / 4:  25.35  25.36  25.36  25.34  25.29
  45    / 5:  25.16  25.15  25.12  25.07  25.02
- -DELETE TEMP     M: 29 dset:   1 I:  101  105  J:    1    5  K:   46   46  L:    1    1
+ -DELETE TEMP     M: 29 dset:   1 I:    101    105  J:    1    5  K:   46   46  L:      1      1
 LIST/@JPT/@KPT	!XT
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:  101  105  J:   46   46  K:    1    1  L:    1    5
- found   TEMP     M: 31 dset:   1 I:  101  105  J:   46   50  K:    1    5  L:    1    5
+ eval    EX#1     C:  5 dset:   1 I:    101    105  J:   46   46  K:    1    1  L:      1      5
+ found   TEMP     M: 31 dset:   1 I:    101    105  J:   46   50  K:    1    5  L:      1      5
              VARIABLE : TEMPERATURE (deg. C)
              FILENAME : gt4d011.cdf
              SUBSET   : 5 by 5 points (LONGITUDE-TIME)
@@ -3322,11 +3321,11 @@ LIST/@JPT/@KPT	!XT
  29-AUG-1982 16 / 3:  26.18  26.13  26.07  26.01  25.97
  04-SEP-1982 18 / 4:  26.39  26.31  26.24  26.18  26.15
  10-SEP-1982 20 / 5:  26.62  26.55  26.47  26.40  26.36
- -DELETE TEMP     M: 29 dset:   1 I:  101  105  J:    1    5  K:   46   46  L:    1    1
+ -DELETE TEMP     M: 29 dset:   1 I:    101    105  J:    1    5  K:   46   46  L:      1      1
 LIST/@IPT/@LPT	!YZ
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:  101  101  J:   46   50  K:    1    5  L:    1    1
- found   TEMP     M: 31 dset:   1 I:  101  105  J:   46   50  K:    1    5  L:    1    5
+ eval    EX#1     C:  5 dset:   1 I:    101    101  J:   46   50  K:    1    5  L:      1      1
+ found   TEMP     M: 31 dset:   1 I:    101    105  J:   46   50  K:    1    5  L:      1      5
              VARIABLE : TEMPERATURE (deg. C)
              FILENAME : gt4d011.cdf
              SUBSET   : 5 by 5 points (LATITUDE-DEPTH (m))
@@ -3339,11 +3338,11 @@ LIST/@IPT/@LPT	!YZ
  25    / 3:  25.51  25.68  25.90  26.12  26.35
  35    / 4:  25.35  25.58  25.86  26.11  26.35
  45    / 5:  25.16  25.41  25.77  26.10  26.35
- -DELETE TEMP     M: 29 dset:   1 I:   46   50  J:    1    5  K:  101  101  L:    1    1
+ -DELETE TEMP     M: 29 dset:   1 I:     46     50  J:    1    5  K:  101  101  L:      1      1
 LIST/@IPT/@KPT	!YT
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:  101  101  J:   46   50  K:    1    1  L:    1    5
- found   TEMP     M: 31 dset:   1 I:  101  105  J:   46   50  K:    1    5  L:    1    5
+ eval    EX#1     C:  5 dset:   1 I:    101    101  J:   46   50  K:    1    1  L:      1      5
+ found   TEMP     M: 31 dset:   1 I:    101    105  J:   46   50  K:    1    5  L:      1      5
              VARIABLE : TEMPERATURE (deg. C)
              FILENAME : gt4d011.cdf
              SUBSET   : 5 by 5 points (LATITUDE-TIME)
@@ -3356,11 +3355,11 @@ LIST/@IPT/@KPT	!YT
  29-AUG-1982 16 / 3:  26.18  26.30  26.46  26.65  26.86
  04-SEP-1982 18 / 4:  26.39  26.51  26.67  26.85  27.05
  10-SEP-1982 20 / 5:  26.62  26.72  26.87  27.03  27.17
- -DELETE TEMP     M: 29 dset:   1 I:   46   50  J:    1    5  K:  101  101  L:    1    1
+ -DELETE TEMP     M: 29 dset:   1 I:     46     50  J:    1    5  K:  101  101  L:      1      1
 LIST/@IPT/@JPT	!ZT
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:  101  101  J:   46   46  K:    1    5  L:    1    5
- found   TEMP     M: 31 dset:   1 I:  101  105  J:   46   50  K:    1    5  L:    1    5
+ eval    EX#1     C:  5 dset:   1 I:    101    101  J:   46   46  K:    1    5  L:      1      5
+ found   TEMP     M: 31 dset:   1 I:    101    105  J:   46   50  K:    1    5  L:      1      5
              VARIABLE : TEMPERATURE (deg. C)
              FILENAME : gt4d011.cdf
              SUBSET   : 5 by 5 points (DEPTH (m)-TIME)
@@ -3373,13 +3372,13 @@ LIST/@IPT/@JPT	!ZT
  29-AUG-1982 16 / 3:  26.18  26.08  25.93  25.79  25.60
  04-SEP-1982 18 / 4:  26.39  26.31  26.16  26.04  25.83
  10-SEP-1982 20 / 5:  26.62  26.53  26.36  26.25  26.04
- -DELETE TEMP     M: 29 dset:   1 I:    1    5  J:    1    5  K:  101  101  L:   46   46
+ -DELETE TEMP     M: 29 dset:   1 I:      1      5  J:    1    5  K:  101  101  L:     46     46
  
 ! cubes of data
 LIST/@LPT
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:  101  105  J:   46   50  K:    1    5  L:    1    1
- found   TEMP     M: 31 dset:   1 I:  101  105  J:   46   50  K:    1    5  L:    1    5
+ eval    EX#1     C:  5 dset:   1 I:    101    105  J:   46   50  K:    1    5  L:      1      1
+ found   TEMP     M: 31 dset:   1 I:    101    105  J:   46   50  K:    1    5  L:      1      5
              VARIABLE : TEMPERATURE (deg. C)
              FILENAME : gt4d011.cdf
              SUBSET   : 5 by 5 by 5 points (LONGITUDE-LATITUDE-DEPTH (m))
@@ -3416,11 +3415,11 @@ LIST/@LPT
  0.83N / 48:  25.77  25.81  25.82  25.81  25.76
  0.5N  / 47:  25.41  25.43  25.41  25.38  25.32
  0.17N / 46:  25.16  25.15  25.12  25.07  25.02
- -DELETE TEMP     M: 29 dset:   1 I:  101  105  J:   46   50  K:    1    5  L:    1    1
+ -DELETE TEMP     M: 29 dset:   1 I:    101    105  J:   46   50  K:    1    5  L:      1      1
 LIST/@KPT
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:  101  105  J:   46   50  K:    1    1  L:    1    5
- found   TEMP     M: 31 dset:   1 I:  101  105  J:   46   50  K:    1    5  L:    1    5
+ eval    EX#1     C:  5 dset:   1 I:    101    105  J:   46   50  K:    1    1  L:      1      5
+ found   TEMP     M: 31 dset:   1 I:    101    105  J:   46   50  K:    1    5  L:      1      5
              VARIABLE : TEMPERATURE (deg. C)
              FILENAME : gt4d011.cdf
              SUBSET   : 5 by 5 by 5 points (LONGITUDE-LATITUDE-TIME)
@@ -3457,11 +3456,11 @@ LIST/@KPT
  0.83N / 48:  26.87  26.75  26.62  26.54  26.52
  0.5N  / 47:  26.72  26.63  26.52  26.45  26.43
  0.17N / 46:  26.62  26.55  26.47  26.40  26.36
- -DELETE TEMP     M: 29 dset:   1 I:  101  105  J:   46   50  K:    1    5  L:    1    1
+ -DELETE TEMP     M: 29 dset:   1 I:    101    105  J:   46   50  K:    1    5  L:      1      1
 LIST/@JPT
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:  101  105  J:   46   46  K:    1    5  L:    1    5
- found   TEMP     M: 31 dset:   1 I:  101  105  J:   46   50  K:    1    5  L:    1    5
+ eval    EX#1     C:  5 dset:   1 I:    101    105  J:   46   46  K:    1    5  L:      1      5
+ found   TEMP     M: 31 dset:   1 I:    101    105  J:   46   50  K:    1    5  L:      1      5
              VARIABLE : TEMPERATURE (deg. C)
              FILENAME : gt4d011.cdf
              SUBSET   : 5 by 5 by 5 points (LONGITUDE-DEPTH (m)-TIME)
@@ -3498,11 +3497,11 @@ LIST/@JPT
  25    / 3:  26.36  26.31  26.19  26.08  26.03
  35    / 4:  26.25  26.21  26.09  25.98  25.92
  45    / 5:  26.04  26.01  25.93  25.84  25.77
- -DELETE TEMP     M: 29 dset:   1 I:  101  105  J:    1    5  K:    1    5  L:   46   46
+ -DELETE TEMP     M: 29 dset:   1 I:    101    105  J:    1    5  K:    1    5  L:     46     46
 LIST/@IPT
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:  101  101  J:   46   50  K:    1    5  L:    1    5
- found   TEMP     M: 31 dset:   1 I:  101  105  J:   46   50  K:    1    5  L:    1    5
+ eval    EX#1     C:  5 dset:   1 I:    101    101  J:   46   50  K:    1    5  L:      1      5
+ found   TEMP     M: 31 dset:   1 I:    101    105  J:   46   50  K:    1    5  L:      1      5
              VARIABLE : TEMPERATURE (deg. C)
              FILENAME : gt4d011.cdf
              SUBSET   : 5 by 5 by 5 points (LATITUDE-DEPTH (m)-TIME)
@@ -3539,12 +3538,12 @@ LIST/@IPT
  25    / 3:  26.36  26.59  26.78  26.95  27.09
  35    / 4:  26.25  26.53  26.78  26.95  27.09
  45    / 5:  26.04  26.32  26.68  26.95  27.09
- -DELETE TEMP     M: 29 dset:   1 I:   46   50  J:    1    5  K:    1    5  L:  101  101
+ -DELETE TEMP     M: 29 dset:   1 I:     46     50  J:    1    5  K:    1    5  L:    101    101
  
 ! 4D region
 LOAD
- eval    EX#1     C:  4 dset:   1 I:  101  105  J:   46   50  K:    1    5  L:    1    5
- found   TEMP     M: 31 dset:   1 I:  101  105  J:   46   50  K:    1    5  L:    1    5
+ eval    EX#1     C:  4 dset:   1 I:    101    105  J:   46   50  K:    1    5  L:      1      5
+ found   TEMP     M: 31 dset:   1 I:    101    105  J:   46   50  K:    1    5  L:      1      5
 SET MODE/LAST DIAGNOSTIC
  
 ! ******** disk-resident file variable ************
@@ -3567,11 +3566,11 @@ GO bn_geometry.sub
  
 ! lines of data
 LIST/@JPT/@KPT/@LPT/ORDER=X
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DT2          PSXT      PSYT      PSZT      TIME1
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:  101  105  J:   46   46  K:    1    1  L:    1    1
- reading TEMP     M: 31 dset:   1 I:  101  105  J:   46   46  K:    1    1  L:    1    1
+ eval    EX#1     C:  5 dset:   1 I:    101    105  J:   46   46  K:    1    1  L:      1      1
+ reading TEMP     M: 31 dset:   1 I:    101    105  J:   46   46  K:    1    1  L:      1      1
              VARIABLE : TEMPERATURE (deg. C)
              FILENAME : gt4d011.cdf
              SUBSET   : 5 points (LONGITUDE)
@@ -3583,8 +3582,8 @@ LIST/@JPT/@KPT/@LPT/ORDER=X
           25.78  25.80  25.82  25.80  25.74
 LIST/@IPT/@KPT/@LPT/ORDER=Y
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:  101  101  J:   46   50  K:    1    1  L:    1    1
- reading TEMP     M: 29 dset:   1 I:  101  101  J:   46   50  K:    1    1  L:    1    1
+ eval    EX#1     C:  5 dset:   1 I:    101    101  J:   46   50  K:    1    1  L:      1      1
+ reading TEMP     M: 29 dset:   1 I:    101    101  J:   46   50  K:    1    1  L:      1      1
              VARIABLE : TEMPERATURE (deg. C)
              FILENAME : gt4d011.cdf
              SUBSET   : 5 points (LATITUDE)
@@ -3596,8 +3595,8 @@ LIST/@IPT/@KPT/@LPT/ORDER=Y
           25.78  25.90  26.04  26.22  26.42
 LIST/@IPT/@JPT/@LPT/ORDER=Z
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:  101  101  J:   46   46  K:    1    5  L:    1    1
- reading TEMP     M: 28 dset:   1 I:  101  101  J:   46   46  K:    1    5  L:    1    1
+ eval    EX#1     C:  5 dset:   1 I:    101    101  J:   46   46  K:    1    5  L:      1      1
+ reading TEMP     M: 28 dset:   1 I:    101    101  J:   46   46  K:    1    5  L:      1      1
              VARIABLE : TEMPERATURE (deg. C)
              FILENAME : gt4d011.cdf
              SUBSET   : 5 points (DEPTH (m))
@@ -3609,8 +3608,8 @@ LIST/@IPT/@JPT/@LPT/ORDER=Z
           25.78  25.67  25.51  25.35  25.16
 LIST/@IPT/@JPT/@KPT/ORDER=T
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:  101  101  J:   46   46  K:    1    1  L:    1    5
- reading TEMP     M: 27 dset:   1 I:  101  101  J:   46   46  K:    1    1  L:    1    5
+ eval    EX#1     C:  5 dset:   1 I:    101    101  J:   46   46  K:    1    1  L:      1      5
+ reading TEMP     M: 27 dset:   1 I:    101    101  J:   46   46  K:    1    1  L:      1      5
              VARIABLE : TEMPERATURE (deg. C)
              FILENAME : gt4d011.cdf
              SUBSET   : 5 points (TIME)
@@ -3624,8 +3623,8 @@ LIST/@IPT/@JPT/@KPT/ORDER=T
 ! planes of data
 LIST/@KPT/@LPT	!XY
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:  101  105  J:   46   50  K:    1    1  L:    1    1
- reading TEMP     M: 26 dset:   1 I:  101  105  J:   46   50  K:    1    1  L:    1    1
+ eval    EX#1     C:  5 dset:   1 I:    101    105  J:   46   50  K:    1    1  L:      1      1
+ reading TEMP     M: 26 dset:   1 I:    101    105  J:   46   50  K:    1    1  L:      1      1
              VARIABLE : TEMPERATURE (deg. C)
              FILENAME : gt4d011.cdf
              SUBSET   : 5 by 5 points (LONGITUDE-LATITUDE)
@@ -3640,8 +3639,8 @@ LIST/@KPT/@LPT	!XY
  0.17N / 46:  25.78  25.80  25.82  25.80  25.74
 LIST/@JPT/@LPT	!XZ
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:  101  105  J:   46   46  K:    1    5  L:    1    1
- reading TEMP     M: 25 dset:   1 I:  101  105  J:   46   46  K:    1    5  L:    1    1
+ eval    EX#1     C:  5 dset:   1 I:    101    105  J:   46   46  K:    1    5  L:      1      1
+ reading TEMP     M: 25 dset:   1 I:    101    105  J:   46   46  K:    1    5  L:      1      1
              VARIABLE : TEMPERATURE (deg. C)
              FILENAME : gt4d011.cdf
              SUBSET   : 5 by 5 points (LONGITUDE-DEPTH (m))
@@ -3656,8 +3655,8 @@ LIST/@JPT/@LPT	!XZ
  45    / 5:  25.16  25.15  25.12  25.07  25.02
 LIST/@JPT/@KPT	!XT
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:  101  105  J:   46   46  K:    1    1  L:    1    5
- reading TEMP     M: 24 dset:   1 I:  101  105  J:   46   46  K:    1    1  L:    1    5
+ eval    EX#1     C:  5 dset:   1 I:    101    105  J:   46   46  K:    1    1  L:      1      5
+ reading TEMP     M: 24 dset:   1 I:    101    105  J:   46   46  K:    1    1  L:      1      5
              VARIABLE : TEMPERATURE (deg. C)
              FILENAME : gt4d011.cdf
              SUBSET   : 5 by 5 points (LONGITUDE-TIME)
@@ -3672,8 +3671,8 @@ LIST/@JPT/@KPT	!XT
  10-SEP-1982 20 / 5:  26.62  26.55  26.47  26.40  26.36
 LIST/@IPT/@LPT	!YZ
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:  101  101  J:   46   50  K:    1    5  L:    1    1
- reading TEMP     M: 23 dset:   1 I:  101  101  J:   46   50  K:    1    5  L:    1    1
+ eval    EX#1     C:  5 dset:   1 I:    101    101  J:   46   50  K:    1    5  L:      1      1
+ reading TEMP     M: 23 dset:   1 I:    101    101  J:   46   50  K:    1    5  L:      1      1
              VARIABLE : TEMPERATURE (deg. C)
              FILENAME : gt4d011.cdf
              SUBSET   : 5 by 5 points (LATITUDE-DEPTH (m))
@@ -3688,8 +3687,8 @@ LIST/@IPT/@LPT	!YZ
  45    / 5:  25.16  25.41  25.77  26.10  26.35
 LIST/@IPT/@KPT	!YT
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:  101  101  J:   46   50  K:    1    1  L:    1    5
- reading TEMP     M: 22 dset:   1 I:  101  101  J:   46   50  K:    1    1  L:    1    5
+ eval    EX#1     C:  5 dset:   1 I:    101    101  J:   46   50  K:    1    1  L:      1      5
+ reading TEMP     M: 22 dset:   1 I:    101    101  J:   46   50  K:    1    1  L:      1      5
              VARIABLE : TEMPERATURE (deg. C)
              FILENAME : gt4d011.cdf
              SUBSET   : 5 by 5 points (LATITUDE-TIME)
@@ -3704,8 +3703,8 @@ LIST/@IPT/@KPT	!YT
  10-SEP-1982 20 / 5:  26.62  26.72  26.87  27.03  27.17
 LIST/@IPT/@JPT	!ZT
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:  101  101  J:   46   46  K:    1    5  L:    1    5
- reading TEMP     M: 21 dset:   1 I:  101  101  J:   46   46  K:    1    5  L:    1    5
+ eval    EX#1     C:  5 dset:   1 I:    101    101  J:   46   46  K:    1    5  L:      1      5
+ reading TEMP     M: 21 dset:   1 I:    101    101  J:   46   46  K:    1    5  L:      1      5
              VARIABLE : TEMPERATURE (deg. C)
              FILENAME : gt4d011.cdf
              SUBSET   : 5 by 5 points (DEPTH (m)-TIME)
@@ -3722,8 +3721,8 @@ LIST/@IPT/@JPT	!ZT
 ! cubes of data
 LIST/@LPT
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:  101  105  J:   46   50  K:    1    5  L:    1    1
- reading TEMP     M: 20 dset:   1 I:  101  105  J:   46   50  K:    1    5  L:    1    1
+ eval    EX#1     C:  5 dset:   1 I:    101    105  J:   46   50  K:    1    5  L:      1      1
+ reading TEMP     M: 20 dset:   1 I:    101    105  J:   46   50  K:    1    5  L:      1      1
              VARIABLE : TEMPERATURE (deg. C)
              FILENAME : gt4d011.cdf
              SUBSET   : 5 by 5 by 5 points (LONGITUDE-LATITUDE-DEPTH (m))
@@ -3762,8 +3761,8 @@ LIST/@LPT
  0.17N / 46:  25.16  25.15  25.12  25.07  25.02
 LIST/@KPT
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:  101  105  J:   46   50  K:    1    1  L:    1    5
- reading TEMP     M: 19 dset:   1 I:  101  105  J:   46   50  K:    1    1  L:    1    5
+ eval    EX#1     C:  5 dset:   1 I:    101    105  J:   46   50  K:    1    1  L:      1      5
+ reading TEMP     M: 19 dset:   1 I:    101    105  J:   46   50  K:    1    1  L:      1      5
              VARIABLE : TEMPERATURE (deg. C)
              FILENAME : gt4d011.cdf
              SUBSET   : 5 by 5 by 5 points (LONGITUDE-LATITUDE-TIME)
@@ -3802,8 +3801,8 @@ LIST/@KPT
  0.17N / 46:  26.62  26.55  26.47  26.40  26.36
 LIST/@JPT
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:  101  105  J:   46   46  K:    1    5  L:    1    5
- reading TEMP     M: 18 dset:   1 I:  101  105  J:   46   46  K:    1    5  L:    1    5
+ eval    EX#1     C:  5 dset:   1 I:    101    105  J:   46   46  K:    1    5  L:      1      5
+ reading TEMP     M: 18 dset:   1 I:    101    105  J:   46   46  K:    1    5  L:      1      5
              VARIABLE : TEMPERATURE (deg. C)
              FILENAME : gt4d011.cdf
              SUBSET   : 5 by 5 by 5 points (LONGITUDE-DEPTH (m)-TIME)
@@ -3842,8 +3841,8 @@ LIST/@JPT
  45    / 5:  26.04  26.01  25.93  25.84  25.77
 LIST/@IPT
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:  101  101  J:   46   50  K:    1    5  L:    1    5
- reading TEMP     M: 17 dset:   1 I:  101  101  J:   46   50  K:    1    5  L:    1    5
+ eval    EX#1     C:  5 dset:   1 I:    101    101  J:   46   50  K:    1    5  L:      1      5
+ reading TEMP     M: 17 dset:   1 I:    101    101  J:   46   50  K:    1    5  L:      1      5
              VARIABLE : TEMPERATURE (deg. C)
              FILENAME : gt4d011.cdf
              SUBSET   : 5 by 5 by 5 points (LATITUDE-DEPTH (m)-TIME)
@@ -3883,8 +3882,8 @@ LIST/@IPT
  
 ! 4D region
 LOAD
- eval    EX#1     C:  4 dset:   1 I:  101  105  J:   46   50  K:    1    5  L:    1    5
- reading TEMP     M: 16 dset:   1 I:  101  105  J:   46   50  K:    1    5  L:    1    5
+ eval    EX#1     C:  4 dset:   1 I:    101    105  J:   46   50  K:    1    5  L:      1      5
+ reading TEMP     M: 16 dset:   1 I:    101    105  J:   46   50  K:    1    5  L:      1      5
 SET MODE/LAST DIAGNOSTIC
  
 ! ******** diagnostic variable ************
@@ -3909,6 +3908,7 @@ SET MODE/LAST IGNORE_ERRORS
 ! bn200_output.JNL
 ! - test various output methods in FERRET
 ! rev 0.0  4/27/90 *sh*
+! 4/17 *acm* LIST/CLOBBER files (these are removed by run_all too)
  
 LET v = 1000*i + 100*j + 10*k + l
 SET REGION/I=1:2/J=3:4/K=5:6/L=7:8
@@ -6881,15 +6881,16 @@ LIST
 2   / 2:  2467.  2.000  4.000  6.000  7.000
 CANCEL LIST/ALL
 SET LIST/FILE=AUTO-X
-LIST/FILE
-LIST/FILE=test.dat
+LIST/CLOBBER/FILE
+LIST/CLOBBER/FILE=test.dat
 LIST/FILE=test.dat/APPEND
-LIST/FILE=test.unf/FORMAT=UNFORMATTED
+LIST/CLOBBER/FILE=test.unf/FORMAT=UNFORMATTED
 ! V6.8 we no longer write this file type
 SET MODE IGNORE
 LIST/FILE=test.gt/FORMAT=TMAP/L=1:3 v,v^0.5
 SET MODE/LAST IGNORE
 CANCEL LIST
+ 
 *** Running ferret script: bn_in_plane.jnl
 ! bn200_in_plane.JNL
 ! benchmark various geometries with in-plane transformation applied (@SBX)
@@ -8439,17 +8440,17 @@ list v1234
  9   / 5:  2998.  3998.  4998.
  ---- L:4 T:   08-JAN-1980 00:00
  ---- K:3 Z:   5
- 5   / 3:  2779.  3779.  4779.
- 7   / 4:  2879.  3879.  4879.
- 9   / 5:  2979.  3979.  4979.
+ 5   / 3:  2778.  3778.  4778.
+ 7   / 4:  2878.  3878.  4878.
+ 9   / 5:  2978.  3978.  4978.
  ---- K:4 Z:   7
- 5   / 3:  2789.  3789.  4789.
- 7   / 4:  2889.  3889.  4889.
- 9   / 5:  2989.  3989.  4989.
+ 5   / 3:  2788.  3788.  4788.
+ 7   / 4:  2888.  3888.  4888.
+ 9   / 5:  2988.  3988.  4988.
  ---- K:5 Z:   9
- 5   / 3:  2799.  3799.  4799.
- 7   / 4:  2899.  3899.  4899.
- 9   / 5:  2999.  3999.  4999.
+ 5   / 3:  2798.  3798.  4798.
+ 7   / 4:  2898.  3898.  4898.
+ 9   / 5:  2998.  3998.  4998.
  ---- L:5 T:   10-JAN-1980 00:00
  ---- K:3 Z:   5
  5   / 3:  2780.  3780.  4780.
@@ -9696,7 +9697,7 @@ SHOW DATA/FULL
  
  name     title                             I         J         K         L
  V1       V1                               1:5       ...       ...       ...
-               on grid (G001) with -1.E+34 for missing data
+               on grid (G###) with -1.E+34 for missing data
              X=0.5:5.5  
  
  /FORMAT = FREE
@@ -9726,10 +9727,10 @@ SHOW DATA/FULL
  
  name     title                             I         J         K         L
  X1       X1                               1:5       ...       ...       ...
-               on grid (G001) with -1.E+34 for missing data
+               on grid (G###) with -1.E+34 for missing data
              X=0.5:5.5  
  X2       X2                               1:5       ...       ...       ...
-               on grid (G001) with -1.E+34 for missing data
+               on grid (G###) with -1.E+34 for missing data
              X=0.5:5.5  
  
  /FORMAT = FREE
@@ -9762,10 +9763,10 @@ SHOW DATA/FULL
  
  name     title                             I         J         K         L
  X1       X1                               1:15      ...       ...       ...
-               on grid (G001) with -1.E+34 for missing data
+               on grid (G###) with -1.E+34 for missing data
              X=0.5:15.5  
  X2       X2                               1:15      ...       ...       ...
-               on grid (G001) with -1.E+34 for missing data
+               on grid (G###) with -1.E+34 for missing data
              X=0.5:15.5  
  
  /FORMAT = FREE
@@ -9806,10 +9807,10 @@ SHOW DATA/FULL
  
  name     title                             I         J         K         L
  X1       X1                               1:15      ...       ...       ...
-               on grid (G001) with -1.E+34 for missing data
+               on grid (G###) with -1.E+34 for missing data
              X=0.5:15.5  
  X2       X2                               1:15      ...       ...       ...
-               on grid (G001) with -1.E+34 for missing data
+               on grid (G###) with -1.E+34 for missing data
              X=0.5:15.5  
  
  /FORMAT = FREE
@@ -9844,10 +9845,10 @@ SHOW DATA/FULL
  
  name     title                             I         J         K         L
  X1       X1                               1:15      ...       ...       ...
-               on grid (G001) with -1.E+34 for missing data
+               on grid (G###) with -1.E+34 for missing data
              X=0.5:15.5  
  X2       X2                               1:15      ...       ...       ...
-               on grid (G001) with -1.E+34 for missing data
+               on grid (G###) with -1.E+34 for missing data
              X=0.5:15.5  
  
  /FORMAT = FREE
@@ -9879,10 +9880,10 @@ SHOW DATA/FULL
  
  name     title                             I         J         K         L
  X1       X1                               1:15      ...       ...       ...
-               on grid (G001) with -1.E+34 for missing data
+               on grid (G###) with -1.E+34 for missing data
              X=0.5:15.5  
  X2       X2                               1:15      ...       ...       ...
-               on grid (G001) with -1.E+34 for missing data
+               on grid (G###) with -1.E+34 for missing data
              X=0.5:15.5  
  
  /FORMAT = (3(F14.0,F7.0))
@@ -9917,10 +9918,10 @@ SHOW DATA/FULL
  
  name     title                             I         J         K         L
  X1       X1                               1:15      ...       ...       ...
-               on grid (G001) with -1.E+34 for missing data
+               on grid (G###) with -1.E+34 for missing data
              X=0.5:15.5  
  X2       X2                               1:15      ...       ...       ...
-               on grid (G001) with -1.E+34 for missing data
+               on grid (G###) with -1.E+34 for missing data
              X=0.5:15.5  
  
  /FORMAT = (3(F14.0,F7.0)/)
@@ -10035,6 +10036,10 @@ SHOW DATA
  
  
 ! truncate reading by grid size limit
+! V702: *sh* note that with 3 columns of pairs and a request to read only
+! 8 values total, the final record is incomplete.  These final values
+! **do not get initialized**.  This has been reported in trac #2509
+! The presence of uninitialized values can throw off the formatting of the output
 DEFINE AXIS/X=1:8:1 xez3
 DEFINE GRID/X=XEZ3 GEZ3
 FILE/VAR="X1,X2"/COLUMNS=6/GRID=GEZ3 EZ.DAT
@@ -10063,8 +10068,8 @@ LIST X1
  4   / 4:  0.3550
  5   / 5:  0.3790
  6   / 6:  0.3930
- 7   / 7:  0.4100
- 8   / 8:  0.4170
+ 7   / 7:  0.0000
+ 8   / 8:  0.0000
 SHOW DATA
      currently SET data sets:
     1> ./EZ.DAT  (default)
@@ -10497,20 +10502,23 @@ show symbols/all
 PPL$XPIXEL = "0"
 PPL$YPIXEL = "0"
 BYTEORDER = "LITTLE"
-FERRET_VERSION = "7.1"
-FERRET_PLATFORM = "Linux 2.6.32-642.13.1.el6.x86_64 64-bit"
+FERRET_VERSION = "7.2"
+FERRET_PLATFORM = "Linux 3.10.0-514.26.2.el7.x86_64 64-bit"
 FERRET_PRECISION = "double"
-NETCDF_VERSION = "4.4.0 of Feb  4 2016 19:21:00 $"
+NETCDF_VERSION = "4.4.1.1 of Jun 27 2017 09:17:01 $"
 FERRET_MEMORY = "25.6"
-SESSION_DATE = " 9-Feb-17"
-SESSION_TIME = "14:24"
-SESSION_PID = "31879"
-DELTA_CPU = "0.007998"
-CLOCK_SECS = "0.002"
-CURRENT_DATE = " 9-Feb-17"
-CURRENT_TIME = "14:24:28"
+SESSION_DATE = "DD-MON-YY"
+SESSION_TIME = "HH:MM"
+SESSION_PID = "#####"
+DELTA_CPU = "######"
+CLOCK_SECS = "######"
+CURRENT_DATE = "DD-MON-YY"
+CURRENT_TIME = "HH:MM:SS"
 N_OPEN_DSETS = "0"
 PROGRAM_NAME = "Ferret"
+PEAK_MEMORY = "0"
+SPAWN_OK = "1"
+SPAWN_STATUS = "0"
  
 ! define some symbols ... syntax variations
 define symbol s1 = hello
@@ -10526,20 +10534,23 @@ show symbol/all
 PPL$XPIXEL = "0"
 PPL$YPIXEL = "0"
 BYTEORDER = "LITTLE"
-FERRET_VERSION = "7.1"
-FERRET_PLATFORM = "Linux 2.6.32-642.13.1.el6.x86_64 64-bit"
+FERRET_VERSION = "7.2"
+FERRET_PLATFORM = "Linux 3.10.0-514.26.2.el7.x86_64 64-bit"
 FERRET_PRECISION = "double"
-NETCDF_VERSION = "4.4.0 of Feb  4 2016 19:21:00 $"
+NETCDF_VERSION = "4.4.1.1 of Jun 27 2017 09:17:01 $"
 FERRET_MEMORY = "25.6"
-SESSION_DATE = " 9-Feb-17"
-SESSION_TIME = "14:24"
-SESSION_PID = "31879"
-DELTA_CPU = "0.008999"
-CLOCK_SECS = "0.011"
-CURRENT_DATE = " 9-Feb-17"
-CURRENT_TIME = "14:24:28"
+SESSION_DATE = "DD-MON-YY"
+SESSION_TIME = "HH:MM"
+SESSION_PID = "#####"
+DELTA_CPU = "######"
+CLOCK_SECS = "######"
+CURRENT_DATE = "DD-MON-YY"
+CURRENT_TIME = "HH:MM:SS"
 N_OPEN_DSETS = "0"
 PROGRAM_NAME = "Ferret"
+PEAK_MEMORY = "0"
+SPAWN_OK = "1"
+SPAWN_STATUS = "0"
 S1 = "hello"
 S2 = ""hello""
 S3 = "hello and goodbye"
@@ -10547,9 +10558,11 @@ NUM = "3"
 T$DOLLAR = "hi"
 T_HELLO = "hi"
 show symbol s*
-SESSION_DATE = " 9-Feb-17"
-SESSION_TIME = "14:24"
-SESSION_PID = "31879"
+SESSION_DATE = "DD-MON-YY"
+SESSION_TIME = "HH:MM"
+SESSION_PID = "#####"
+SPAWN_OK = "1"
+SPAWN_STATUS = "0"
 S1 = "hello"
 S2 = ""hello""
 S3 = "hello and goodbye"
@@ -10559,15 +10572,19 @@ S2 = ""hello""
 ! exercise CANCEL SYMBOL
 cancel symbol s2
 show symbol s*
-SESSION_DATE = " 9-Feb-17"
-SESSION_TIME = "14:24"
-SESSION_PID = "31879"
+SESSION_DATE = "DD-MON-YY"
+SESSION_TIME = "HH:MM"
+SESSION_PID = "#####"
+SPAWN_OK = "1"
+SPAWN_STATUS = "0"
 S1 = "hello"
 S3 = "hello and goodbye"
 show symbol S*
-SESSION_DATE = " 9-Feb-17"
-SESSION_TIME = "14:24"
-SESSION_PID = "31879"
+SESSION_DATE = "DD-MON-YY"
+SESSION_TIME = "HH:MM"
+SESSION_PID = "#####"
+SPAWN_OK = "1"
+SPAWN_STATUS = "0"
 S1 = "hello"
 S3 = "hello and goodbye"
 cancel symbol s2	! already deleted
@@ -10695,20 +10712,23 @@ show symbols/all
 PPL$XPIXEL = "0"
 PPL$YPIXEL = "0"
 BYTEORDER = "LITTLE"
-FERRET_VERSION = "7.1"
-FERRET_PLATFORM = "Linux 2.6.32-642.13.1.el6.x86_64 64-bit"
+FERRET_VERSION = "7.2"
+FERRET_PLATFORM = "Linux 3.10.0-514.26.2.el7.x86_64 64-bit"
 FERRET_PRECISION = "double"
-NETCDF_VERSION = "4.4.0 of Feb  4 2016 19:21:00 $"
+NETCDF_VERSION = "4.4.1.1 of Jun 27 2017 09:17:01 $"
 FERRET_MEMORY = "25.6"
-SESSION_DATE = " 9-Feb-17"
-SESSION_TIME = "14:24"
-SESSION_PID = "31879"
-DELTA_CPU = "0.021996"
-CLOCK_SECS = "0.037"
-CURRENT_DATE = " 9-Feb-17"
-CURRENT_TIME = "14:24:28"
+SESSION_DATE = "DD-MON-YY"
+SESSION_TIME = "HH:MM"
+SESSION_PID = "#####"
+DELTA_CPU = "######"
+CLOCK_SECS = "######"
+CURRENT_DATE = "DD-MON-YY"
+CURRENT_TIME = "HH:MM:SS"
 N_OPEN_DSETS = "0"
 PROGRAM_NAME = "Ferret"
+PEAK_MEMORY = "201"
+SPAWN_OK = "1"
+SPAWN_STATUS = "0"
  
 *** Running ferret script: bn_comma_delimited.jnl
 ! bn420_comma_delimited
@@ -12314,8 +12334,8 @@ LIST/FORMAT=comma/precision=9 randu(i)*temp*1e7
              DEPTH (m): 15
              TIME     : 10-SEP-1982 20:00
    135.5W,134.5W
-1.5S,  166750845.,  202088412.
-1.2S,  166162833.,  201366579.
+1.5S,166750845.,202088412.
+1.2S,166162833.,201366579.
  
 ! small number formatting test
 set region/i=95:96/j=41:42/k=2/l=5
@@ -12397,7 +12417,7 @@ set region/l=1/k=1/i=101:105/j=46:50
 load temp[gx=u]
 show grid/dynamic
 Dynamic grids:
-    GRID (G005)                          use count:   1
+    GRID (G###)                          use count:   1
  name       axis              # pts   start                end
  PSXU      LONGITUDE          160mr   131E                 70W
  PSYT      LATITUDE           100 i   28.836S              48.568N
@@ -12444,7 +12464,7 @@ Dynamic axes:
 list temp[gx=u,k=20]		! err during read
 show grid/dynamic
 Dynamic grids:
-    GRID (G005)                          use count:   1
+    GRID (G###)                          use count:   1
  name       axis              # pts   start                end
  PSXU      LONGITUDE          160mr   131E                 70W
  PSYT      LATITUDE           100 i   28.836S              48.568N
@@ -12484,7 +12504,7 @@ list temp[gx=a]			! uvar for grid name
  0.17N / 46:  23.90  23.79  23.70  23.65  23.69
 show grid/dynamic
 Dynamic grids:
-    GRID (G005)                          use count:   1
+    GRID (G###)                          use count:   1
  name       axis              # pts   start                end
  PSXU      LONGITUDE          160mr   131E                 70W
  PSYT      LATITUDE           100 i   28.836S              48.568N
@@ -12527,7 +12547,7 @@ let  tu = temp[gx=u,k=20]
 list tu				! err during read
 show grid/dynamic
 Dynamic grids:
-    GRID (G005)                          use count:   2
+    GRID (G###)                          use count:   2
  name       axis              # pts   start                end
  PSXU      LONGITUDE          160mr   131E                 70W
  PSYT      LATITUDE           100 i   28.836S              48.568N
@@ -12552,9 +12572,14 @@ let save_mem = ($ferret_memory)
 set mem/siz = 10
  
 list temp[gz=z999999,z=5:15]	! err during regrid
+    To fulfill this request would exceed the current SET MEMORY/SIZE= limit of 10 megawords
+    At the moment that the memory limit was reached
+    memory was committed as follows:
+        - to objects used in computation: : 50 (5.E-04%)
+    The size of the requested object was: : 24999975 (250%)
 show grid/dynamic
 Dynamic grids:
-    GRID (G005)                          use count:   1
+    GRID (G###)                          use count:   1
  name       axis              # pts   start                end
  PSXT      LONGITUDE          160mr   130.5E               70.5W
  PSYT      LATITUDE           100 i   28.836S              48.568N
@@ -12566,7 +12591,7 @@ set mem/siz=`save_mem`
 shade 1/0 * temp[gx=u]		! err during plot
 show grid/dynamic
 Dynamic grids:
-    GRID (G005)                          use count:   1
+    GRID (G###)                          use count:   1
  name       axis              # pts   start                end
  PSXU      LONGITUDE          160mr   131E                 70W
  PSYT      LATITUDE           100 i   28.836S              48.568N
@@ -12594,7 +12619,7 @@ list temp[gx=psxu]
  0.17N / 46:  23.90  23.79  23.70  23.65  23.69
 show grid/dyn
 Dynamic grids:
-    GRID (G005)                          use count:   1
+    GRID (G###)                          use count:   1
  name       axis              # pts   start                end
  PSXU      LONGITUDE          160mr   131E                 70W
  PSYT      LATITUDE           100 i   28.836S              48.568N
@@ -12632,7 +12657,7 @@ list temp[gx=u]
  0.17N / 46:  23.90  23.79  23.70  23.65  23.69
 show grid/dyn
 Dynamic grids:
-    GRID (G005)                          use count:   1
+    GRID (G###)                          use count:   1
  name       axis              # pts   start                end
  PSXU      LONGITUDE          160mr   131E                 70W
  PSYT      LATITUDE           100 i   28.836S              48.568N
@@ -12669,7 +12694,7 @@ list  temp[gx=psxu] + 5
  0.17N / 46:  28.90  28.79  28.70  28.65  28.69
 show grid/dyn
 Dynamic grids:
-    GRID (G005)                          use count:   1
+    GRID (G###)                          use count:   1
  name       axis              # pts   start                end
  PSXU      LONGITUDE          160mr   131E                 70W
  PSYT      LATITUDE           100 i   28.836S              48.568N
@@ -12691,7 +12716,7 @@ list  5 + temp[gx=psxu]
  0.17N / 46:  28.90  28.79  28.70  28.65  28.69
 show grid/dyn
 Dynamic grids:
-    GRID (G005)                          use count:   1
+    GRID (G###)                          use count:   1
  name       axis              # pts   start                end
  PSXU      LONGITUDE          160mr   131E                 70W
  PSYT      LATITUDE           100 i   28.836S              48.568N
@@ -12714,14 +12739,14 @@ list tu
  0.17N / 46:  23.90  23.79  23.70  23.65  23.69
 show grid/dyn
 Dynamic grids:
-    GRID (G005)                          use count:   2
+    GRID (G###)                          use count:   2
  name       axis              # pts   start                end
  PSXU      LONGITUDE          160mr   131E                 70W
  PSYT      LATITUDE           100 i   28.836S              48.568N
  PSZT      DEPTH (m)           27 i-  5                    3824
  TIME2     TIME                 5mr   15-JAN-1982 14:00    27-JAN-1982 18:00
 show grid tu
-    GRID (G005)
+    GRID (G###)
  name       axis              # pts   start                end                 subset
  PSXU      LONGITUDE          160mr   131E                 70W                 full
  PSYT      LATITUDE           100 i   28.836S              48.568N             full
@@ -12744,7 +12769,7 @@ list tu
  0.17N / 46:  28.90  28.79  28.70  28.65  28.69
 show grid/dyn
 Dynamic grids:
-    GRID (G005)                          use count:   2
+    GRID (G###)                          use count:   2
  name       axis              # pts   start                end
  PSXU      LONGITUDE          160mr   131E                 70W
  PSYT      LATITUDE           100 i   28.836S              48.568N
@@ -12819,7 +12844,7 @@ list temp[gx=taux]		! X only
  0.17S / 45:  27.87  27.79  27.72  27.65  27.56  27.45
 show grid/dynamic
 Dynamic grids:
-    GRID (G005)                          use count:   2
+    GRID (G###)                          use count:   2
  name       axis              # pts   start                end
  PSXU      LONGITUDE          160mr   131E                 70W
  PSYT      LATITUDE           100 i   28.836S              48.568N
@@ -12928,7 +12953,7 @@ Dynamic axes:
 ! * * * dynamic generation of pseudo-variables * * *
 list x[x=.1:1:.1]			! dynamic abstract
              VARIABLE : X
-                        axis (AX010)
+                        axis (AX###)
              SUBSET   : 10 points (X)
  0.1  /  1:  0.100
  0.2  /  2:  0.200
@@ -12942,7 +12967,7 @@ list x[x=.1:1:.1]			! dynamic abstract
  1    / 10:  1.000
 list x[gx=psxu,x=130:150:2.5]		! dynamic based on named axis
              VARIABLE : X
-                        axis (AX009)
+                        axis (AX###)
              SUBSET   : 9 points (LONGITUDE)
  130E   / 1:  130.0
  132.5E / 2:  132.5
@@ -13027,10 +13052,10 @@ list a[y=95:115:7]
  109   / 3:  109.1  110.6  112.1  113.6  115.1  116.6  118.1
 show grid/dyn
 Dynamic grids:
-    GRID (G006)                          use count:   1
+    GRID (G###)                          use count:   1
  name       axis              # pts   start                end
- (AX011)   X                    7 r   0.1                  9.1
- (AX009)   Y                    3 r   95                   109
+ (AX###)   X                    7 r   0.1                  9.1
+ (AX###)   Y                    3 r   95                   109
  normal    Z
  normal    T
  
@@ -13050,9 +13075,9 @@ list/order=x a
            1.20   4.20   7.20  10.20  13.20  16.20  19.20
 show grid/dyn
 Dynamic grids:
-    GRID (G005)                          use count:   2
+    GRID (G###)                          use count:   2
  name       axis              # pts   start                end
- (AX009)   X                    7 r   0.1                  9.1
+ (AX###)   X                    7 r   0.1                  9.1
  normal    Y
  normal    Z
  normal    T
@@ -13079,10 +13104,10 @@ let/quiet b = a[i=1:10:2]
 load b     ! "child" irregular axis
 show grid/x
  Default grid for DEFINE VARIABLE is ABSTRACT
- Last successful data access was on grid (G005)
-    GRID (G005)
+ Last successful data access was on grid (G###)
+    GRID (G###)
  name       axis              # pts   start                end                 subset
- (AX011)   X                    5 i   1                    6561                4 pts
+ (AX###)   X                    5 i   1                    6561                5 pts
  normal    Y
  normal    Z
  normal    T
@@ -13112,7 +13137,7 @@ list/i=1:10 x[gx=temp]			! from named variable
  139.5E / 10:  139.5
 list x[g=temp,x=150w:130w:2.5]		! dynamic based on named variable
              VARIABLE : X
-                        axis (AX012)
+                        axis (AX###)
              FILENAME : gtsa056_1.cdf
              SUBSET   : 9 points (LONGITUDE)
  150W   / 1:  210.0
@@ -13126,7 +13151,7 @@ list x[g=temp,x=150w:130w:2.5]		! dynamic based on named variable
  130W   / 9:  230.0
 list x[gx=temp,x=150w:130w:2.5]		! dynamic based on named variable
              VARIABLE : X
-                        axis (AX010)
+                        axis (AX###)
              FILENAME : gtsa056_1.cdf
              SUBSET   : 9 points (LONGITUDE)
  150W   / 1:  210.0
@@ -13154,9 +13179,9 @@ list/i=101:105/j=46:50/l=1/k=1 temp+x	! grid inherited from expression
  0.17N / 46:  254.5  255.3  256.2  257.2  258.1
 show grid/dyn
 Dynamic grids:
-    GRID (G005)                          use count:   1
+    GRID (G###)                          use count:   1
  name       axis              # pts   start                end
- (AX011)   X                    5 i   1                    6561
+ (AX###)   X                    5 i   1                    6561
  normal    Y
  normal    Z
  normal    T
@@ -13179,9 +13204,9 @@ list/j=46:50/l=1/k=1 temp[i=101:120:4]+x[i=101:120:4]	! NOT !!!
  0.17N / 46:  125.0  128.6  133.0  136.4  140.4
 show grid/dynamic
 Dynamic grids:
-    GRID (G006)                          use count:   1
+    GRID (G###)                          use count:   1
  name       axis              # pts   start                end
- (AX009)   LONGITUDE            5 r   129.5W               113.5W
+ (AX###)   LONGITUDE            5 r   129.5W               113.5W
  PSYT      LATITUDE           100 i   28.836S              48.568N
  PSZT      DEPTH (m)           27 i-  5                    3824
  TIME2     TIME                 5mr   15-JAN-1982 14:00    27-JAN-1982 18:00
@@ -13207,7 +13232,7 @@ SET REGION/I=101:105/J=46:50/l=1/k=1
 ! deliberate errors:  ****
 list x[i=5:1:1]		! not an error: inverted order
              VARIABLE : X
-                        axis (AX009)
+                        axis (AX###)
              SUBSET   : 5 points (X)
  1   / 1:  1.000
  2   / 2:  2.000
@@ -13250,9 +13275,9 @@ list temp[i=-200:-190:2]! was: "completely out of range"  now: ok - subspan modu
 canc mode ignore
 show grid/dyn
 Dynamic grids:
-    GRID (G006)                          use count:   1
+    GRID (G###)                          use count:   1
  name       axis              # pts   start                end
- (AX009)   LONGITUDE            6 i   108.5W(-468.5)       98.5W(-458.5)
+ (AX###)   LONGITUDE            6 i   108.5W(-468.5)       98.5W(-458.5)
  PSYT      LATITUDE           100 i   28.836S              48.568N
  PSZT      DEPTH (m)           27 i-  5                    3824
  TIME2     TIME                 5mr   15-JAN-1982 14:00    27-JAN-1982 18:00
@@ -13320,10 +13345,10 @@ list temp[y=0.5s:5n:1.5]
  0.5S / 1:  24.07  23.99  23.89  23.79  23.70
 show grid/dyn
 Dynamic grids:
-    GRID (G006)                          use count:   1
+    GRID (G###)                          use count:   1
  name       axis              # pts   start                end
  PSXT      LONGITUDE          160mr   130.5E               70.5W
- (AX009)   LATITUDE             4 r   0.5S                 4N
+ (AX###)   LATITUDE             4 r   0.5S                 4N
  PSZT      DEPTH (m)           27 i-  5                    3824
  TIME2     TIME                 5mr   15-JAN-1982 14:00    27-JAN-1982 18:00
  
@@ -13485,10 +13510,10 @@ list temp[x=130w:120W:3,y=0.5s:5n:1.5]
  0.5S / 1:  24.11  23.84  23.66  23.64
 show grid/dyn
 Dynamic grids:
-    GRID (G006)                          use count:   1
+    GRID (G###)                          use count:   1
  name       axis              # pts   start                end
- (AX012)   LONGITUDE            4 r   130W                 121W
- (AX010)   LATITUDE             4 r   0.5S                 4N
+ (AX###)   LONGITUDE            4 r   130W                 121W
+ (AX###)   LATITUDE             4 r   0.5S                 4N
  PSZT      DEPTH (m)           27 i-  5                    3824
  TIME2     TIME                 5mr   15-JAN-1982 14:00    27-JAN-1982 18:00
  
@@ -13656,9 +13681,9 @@ list a[x=138w:110w:5]
  0.17N / 46:   ....   ....  23.81  23.86   ....   ....
 show grid/dyn
 Dynamic grids:
-    GRID (G006)                          use count:   1
+    GRID (G###)                          use count:   1
  name       axis              # pts   start                end
- (AX010)   LONGITUDE            6 r   138W                 113W
+ (AX###)   LONGITUDE            6 r   138W                 113W
  PSYT      LATITUDE           100 i   28.836S              48.568N
  PSZT      DEPTH (m)           27 i-  5                    3824
  TIME2     TIME                 5mr   15-JAN-1982 14:00    27-JAN-1982 18:00
@@ -13797,9 +13822,9 @@ list temp[x=90w:60W:4]
  0.17N / 46:  26.54  26.90  27.28   ....   ....   ....  29.63  29.61
 show grid/dyn
 Dynamic grids:
-    GRID (G006)                          use count:   1
+    GRID (G###)                          use count:   1
  name       axis              # pts   start                end
- (AX012)   LONGITUDE            8 r   90W                  62W
+ (AX###)   LONGITUDE            8 r   90W                  62W
  PSYT      LATITUDE           100 i   28.836S              48.568N
  PSZT      DEPTH (m)           27 i-  5                    3824
  TIME2     TIME                 5mr   15-JAN-1982 14:00    27-JAN-1982 18:00
@@ -13982,9 +14007,9 @@ list a[x=101w:50w:6]
 cancel axis/modulo psxt
 show grid/dyn
 Dynamic grids:
-    GRID (G006)                          use count:   1
+    GRID (G###)                          use count:   1
  name       axis              # pts   start                end
- (AX011)   LONGITUDE            9 r   101W                 53W
+ (AX###)   LONGITUDE            9 r   101W                 53W
  PSYT      LATITUDE           100 i   28.836S              48.568N
  PSZT      DEPTH (m)           27 i-  5                    3824
  TIME2     TIME                 5mr   15-JAN-1982 14:00    27-JAN-1982 18:00
@@ -14021,7 +14046,7 @@ list/k=1/y=0/x=180/l=1 temp[t=15-JAN-1982:11-FEB-1982:`24*6`@ave]
 list/l=1:3 T[t=15-JAN-1982:11-FEB-1982:`24*2`]			! pseudo-var
  !-> list/l=1:3 T[t=15-JAN-1982:11-FEB-1982:48]
              VARIABLE : T
-                        axis (AX009)
+                        axis (AX###)
              SUBSET   : 3 points (TIME)
  15-JAN-1982 00 / 1:  723925.
  17-JAN-1982 00 / 2:  723927.
@@ -14952,14 +14977,14 @@ set mode diag
 define axis/t=15-jan-1982:15-mar-1984:120/unit=hour tax5day
 define axis/x=120e:60w:10/unit=degrees xax10
 define grid/like=u/t=tax5day g5day
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU1          PSXU      PSYU      PSZT      TIME1
 define grid/like=u/x=xax10/z=w/t=tax5day g5_10
  dealloc  dynamic grid PS3DU1          PSXU      PSYU      PSZT      TIME1
- getgrid EX#1     C:  6 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  6 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU1          PSXU      PSYU      PSZT      TIME1
  dealloc  dynamic grid PS3DU1          PSXU      PSYU      PSZT      TIME1
- getgrid EX#1     C:  7 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  7 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DW11         PSXT      PSYT      PSZW      TIME1
  
 set reg/x=130w:125w/y=0:1.5/z=0:15/t=21-JAN-1982:24-jan-1982
@@ -14971,95 +14996,95 @@ use gtsa056_1    	!kob 4/99
 set mode ignore
 load temp[g=@lin]    ! no target grid specified
  dealloc  dynamic grid PS3DW11         PSXT      PSYT      PSZW      TIME1
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DT2          PSXT      PSYT      PSZT      TIME2
- eval    EX#1     C:  4 dset:   1 I:  101  105  J:   45   50  K:    1    2  L:    3    4
- reading TEMP     M:  1 dset:   1 I:  101  105  J:   45   50  K:    1    2  L:    3    4
+ eval    EX#1     C:  4 dset:   1 I:    101    105  J:   45   50  K:    1    2  L:      3      4
+ reading TEMP     M:  1 dset:   1 I:    101    105  J:   45   50  K:    1    2  L:      3      4
 load temp[gx=@ave]   ! no target grid specified
  dealloc  dynamic grid PS3DT2          PSXT      PSYT      PSZT      TIME2
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DT2          PSXT      PSYT      PSZT      TIME2
- eval    EX#1     C:  4 dset:   1 I:  101  105  J:   45   50  K:    1    2  L:    3    4
- found   TEMP     M:  1 dset:   1 I:  101  105  J:   45   50  K:    1    2  L:    3    4
+ eval    EX#1     C:  4 dset:   1 I:    101    105  J:   45   50  K:    1    2  L:      3      4
+ found   TEMP     M:  1 dset:   1 I:    101    105  J:   45   50  K:    1    2  L:      3      4
 load temp[g=u,g=w]   ! more than 1 target grid
  dealloc  dynamic grid PS3DT2          PSXT      PSYT      PSZT      TIME2
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
 load temp[g=x]       ! g=user-or-pseudo-var not allowed
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
 set mode/last ignore
  
 ! valid syntax tests
 load temp
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DT2          PSXT      PSYT      PSZT      TIME2
- eval    EX#1     C:  4 dset:   1 I:  101  105  J:   45   50  K:    1    2  L:    3    4
- found   TEMP     M:  1 dset:   1 I:  101  105  J:   45   50  K:    1    2  L:    3    4
+ eval    EX#1     C:  4 dset:   1 I:    101    105  J:   45   50  K:    1    2  L:      3      4
+ found   TEMP     M:  1 dset:   1 I:    101    105  J:   45   50  K:    1    2  L:      3      4
 load temp[g=u]
  dealloc  dynamic grid PS3DT2          PSXT      PSYT      PSZT      TIME2
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- eval    EX#1     C:  4 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    3    4
+ eval    EX#1     C:  4 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      3      4
  strip regrid on X: TEMP --> PS3DU2           @LIN
- reading TEMP     M:  2 dset:   1 I:  100  106  J:   45   50  K:    1    2  L:    3    4
+ reading TEMP     M:  2 dset:   1 I:    100    106  J:   45   50  K:    1    2  L:      3      4
  regrid XY
- regrid  TEMP     M:  3 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    3    4
+ regrid  TEMP     M:  3 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      3      4
 load temp[g=u at lin]
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- eval    EX#1     C:  4 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    3    4
- found   TEMP     M:  3 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    3    4
+ eval    EX#1     C:  4 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      3      4
+ found   TEMP     M:  3 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      3      4
 load temp[g=u at ave,gy=@asn]
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- eval    EX#1     C:  4 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    3    4
+ eval    EX#1     C:  4 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      3      4
  strip regrid on X: TEMP --> PS3DU2           @AVE
  strip regrid on Y: TEMP --> XNTERMED         @ASN
- found   TEMP     M:  2 dset:   1 I:  100  106  J:   45   50  K:    1    2  L:    3    4
- regrid  TEMP     M:  4 dset:   1 I:  100  106  J:   45   49  K:    1    2  L:    3    4
- regrid  TEMP     M:  5 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    3    4
- -DELETE TEMP     M:  4 dset:   1 I:  100  106  J:   45   49  K:    1    2  L:    3    4  M: -999 -999  N: -999 -999
+ found   TEMP     M:  2 dset:   1 I:    100    106  J:   45   50  K:    1    2  L:      3      4
+ regrid  TEMP     M:  4 dset:   1 I:    100    106  J:   45   49  K:    1    2  L:      3      4
+ regrid  TEMP     M:  5 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      3      4
+ -DELETE TEMP     M:  4 dset:   1 I:    100    106  J:   45   49  K:    1    2  L:      3      4  M: -999 -999  N: -999 -999
 load temp[g=u at lin,gy=@asn]
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- eval    EX#1     C:  4 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    3    4
+ eval    EX#1     C:  4 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      3      4
  strip regrid on X: TEMP --> PS3DU2           @LIN
  strip regrid on Y: TEMP --> XNTERMED         @ASN
- found   TEMP     M:  2 dset:   1 I:  100  106  J:   45   50  K:    1    2  L:    3    4
- regrid  TEMP     M:  4 dset:   1 I:  100  106  J:   45   49  K:    1    2  L:    3    4
- regrid  TEMP     M:  6 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    3    4
- -DELETE TEMP     M:  4 dset:   1 I:  100  106  J:   45   49  K:    1    2  L:    3    4  M: -999 -999  N: -999 -999
+ found   TEMP     M:  2 dset:   1 I:    100    106  J:   45   50  K:    1    2  L:      3      4
+ regrid  TEMP     M:  4 dset:   1 I:    100    106  J:   45   49  K:    1    2  L:      3      4
+ regrid  TEMP     M:  6 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      3      4
+ -DELETE TEMP     M:  4 dset:   1 I:    100    106  J:   45   49  K:    1    2  L:      3      4  M: -999 -999  N: -999 -999
 load temp[g=u,gx=@ave,gy=@asn]
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- eval    EX#1     C:  4 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    3    4
- found   TEMP     M:  5 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    3    4
+ eval    EX#1     C:  4 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      3      4
+ found   TEMP     M:  5 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      3      4
 load temp[gx=u]  		! changed V4.20 --> implicit regrid
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G009)          PSXU      PSYT      PSZT      TIME2
- dealloc  dynamic grid (G009)          PSXU      PSYT      PSZT      TIME2
- allocate dynamic grid (G009)          PSXU      PSYT      PSZT      TIME2
- eval    EX#1     C:  4 dset:   1 I:  100  105  J:   45   50  K:    1    2  L:    3    4
- allocate dynamic grid (G009)          PSXU      PSYT      PSZT      TIME2
- strip regrid on X: TEMP --> (G009)           @LIN
- found   TEMP     M:  2 dset:   1 I:  100  106  J:   45   50  K:    1    2  L:    3    4
- regrid  TEMP     M:  4 dset:   1 I:  100  105  J:   45   50  K:    1    2  L:    3    4
- dealloc  dynamic grid (G009)          PSXU      PSYT      PSZT      TIME2
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G###)          PSXU      PSYT      PSZT      TIME2
+ dealloc  dynamic grid (G###)          PSXU      PSYT      PSZT      TIME2
+ allocate dynamic grid (G###)          PSXU      PSYT      PSZT      TIME2
+ eval    EX#1     C:  4 dset:   1 I:    100    105  J:   45   50  K:    1    2  L:      3      4
+ allocate dynamic grid (G###)          PSXU      PSYT      PSZT      TIME2
+ strip regrid on X: TEMP --> (G###)           @LIN
+ found   TEMP     M:  2 dset:   1 I:    100    106  J:   45   50  K:    1    2  L:      3      4
+ regrid  TEMP     M:  4 dset:   1 I:    100    105  J:   45   50  K:    1    2  L:      3      4
+ dealloc  dynamic grid (G###)          PSXU      PSYT      PSZT      TIME2
 stat temp[g=u] - temp[g=u at ave,gx=u at lin,gy=u at lin,gz=u at lin,gt=u at lin]  ! == 0
- dealloc  dynamic grid (G009)          PSXU      PSYT      PSZT      TIME2
- -DELETE TEMP     M:  4 dset:   1 I:  100  105  J:   45   50  K:    1    2  L:    3    4
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ dealloc  dynamic grid (G###)          PSXU      PSYT      PSZT      TIME2
+ -DELETE TEMP     M:  4 dset:   1 I:    100    105  J:   45   50  K:    1    2  L:      3      4
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- eval    EX#1     C:  4 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    3    4
- found   TEMP     M:  3 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    3    4
+ eval    EX#1     C:  4 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      3      4
+ found   TEMP     M:  3 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      3      4
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- found   TEMP     M:  3 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    3    4
+ found   TEMP     M:  3 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      3      4
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
  
              TEMP[G=U] - TEMP[G=U at AVE,GX=U at LIN,GY=U at LIN,GZ=U at LIN,GT=U at LIN]
@@ -15078,18 +15103,18 @@ stat temp[g=u] - temp[g=u at ave,gx=u at lin,gy=u at lin,gz=u at lin,gt=u at lin]  ! == 0
  Mean    value: 0 (unweighted average)
  Standard deviation: 0
 stat temp[g=u,gx=@ave] - temp[gx=@ave,g=u]    ! == 0
- -DELETE EX#1     M:  4 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    3    4
+ -DELETE EX#1     M:  4 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      3      4
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- eval    EX#1     C:  4 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    3    4
+ eval    EX#1     C:  4 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      3      4
  strip regrid on X: TEMP --> PS3DU2           @AVE
  strip regrid on Y: TEMP --> XNTERMED         @LIN
- found   TEMP     M:  2 dset:   1 I:  100  106  J:   45   50  K:    1    2  L:    3    4
- regrid  TEMP     M:  4 dset:   1 I:  100  106  J:   45   49  K:    1    2  L:    3    4
- regrid  TEMP     M:  7 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    3    4
- -DELETE TEMP     M:  4 dset:   1 I:  100  106  J:   45   49  K:    1    2  L:    3    4  M: -999 -999  N: -999 -999
- found   TEMP     M:  7 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    3    4
+ found   TEMP     M:  2 dset:   1 I:    100    106  J:   45   50  K:    1    2  L:      3      4
+ regrid  TEMP     M:  4 dset:   1 I:    100    106  J:   45   49  K:    1    2  L:      3      4
+ regrid  TEMP     M:  7 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      3      4
+ -DELETE TEMP     M:  4 dset:   1 I:    100    106  J:   45   49  K:    1    2  L:      3      4  M: -999 -999  N: -999 -999
+ found   TEMP     M:  7 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      3      4
  
              TEMP[G=U,GX=@AVE] - TEMP[GX=@AVE,G=U]
              LONGITUDE: 130W to 125W
@@ -15109,15 +15134,15 @@ stat temp[g=u,gx=@ave] - temp[gx=@ave,g=u]    ! == 0
  
 ! basic regrid tests
 LIST temp[g=u at ave]
- -DELETE EX#1     M:  4 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    3    4
+ -DELETE EX#1     M:  4 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      3      4
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- eval    EX#1     C:  4 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    3    4
+ eval    EX#1     C:  4 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      3      4
  strip regrid on X: TEMP --> PS3DU2           @AAV
- found   TEMP     M:  2 dset:   1 I:  100  106  J:   45   50  K:    1    2  L:    3    4
+ found   TEMP     M:  2 dset:   1 I:    100    106  J:   45   50  K:    1    2  L:      3      4
  regrid XY
- regrid  TEMP     M:  4 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    3    4
+ regrid  TEMP     M:  4 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      3      4
              VARIABLE : TEMPERATURE (deg. C)
                         regrid: U on X at AAV, on Y at AAV
              FILENAME : gtsa056_1.cdf
@@ -15152,13 +15177,13 @@ LIST temp[g=u at ave]
  0     / 45:  23.54  23.47  23.45  23.53  23.74  23.92
 LIST temp[g=u,gx=u at ave]	! V4.20 mod
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- eval    EX#1     C:  4 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    3    4
+ eval    EX#1     C:  4 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      3      4
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- found   TEMP     M:  7 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    3    4
+ found   TEMP     M:  7 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      3      4
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
              VARIABLE : TEMPERATURE (deg. C)
                         regrid: U on X at AVE, on Y at LIN
@@ -15194,18 +15219,18 @@ LIST temp[g=u,gx=u at ave]	! V4.20 mod
  0     / 45:  23.54  23.47  23.45  23.53  23.74  23.92
 LIST temp[g=u,gy=u at ave]	! V4.20 mod
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- eval    EX#1     C:  4 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    3    4
+ eval    EX#1     C:  4 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      3      4
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
  strip regrid on X: TEMP --> PS3DU2           @LIN
  strip regrid on Y: TEMP --> XNTERMED         @AVE
- found   TEMP     M:  2 dset:   1 I:  100  106  J:   45   50  K:    1    2  L:    3    4
- regrid  TEMP     M:  8 dset:   1 I:  100  106  J:   45   49  K:    1    2  L:    3    4
- regrid  TEMP     M:  9 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    3    4
- -DELETE TEMP     M:  8 dset:   1 I:  100  106  J:   45   49  K:    1    2  L:    3    4  M: -999 -999  N: -999 -999
+ found   TEMP     M:  2 dset:   1 I:    100    106  J:   45   50  K:    1    2  L:      3      4
+ regrid  TEMP     M:  8 dset:   1 I:    100    106  J:   45   49  K:    1    2  L:      3      4
+ regrid  TEMP     M:  9 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      3      4
+ -DELETE TEMP     M:  8 dset:   1 I:    100    106  J:   45   49  K:    1    2  L:      3      4  M: -999 -999  N: -999 -999
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
              VARIABLE : TEMPERATURE (deg. C)
                         regrid: U on X at LIN, on Y at AVE
@@ -15241,13 +15266,13 @@ LIST temp[g=u,gy=u at ave]	! V4.20 mod
  0     / 45:  23.54  23.47  23.45  23.53  23.74  23.92
 LIST temp[g=u,gz=u at ave]	! V4.20 mod
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- eval    EX#1     C:  4 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    3    4
+ eval    EX#1     C:  4 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      3      4
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- found   TEMP     M:  3 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    3    4
+ found   TEMP     M:  3 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      3      4
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
              VARIABLE : TEMPERATURE (deg. C)
                         regrid: U
@@ -15283,13 +15308,13 @@ LIST temp[g=u,gz=u at ave]	! V4.20 mod
  0     / 45:  23.54  23.47  23.45  23.53  23.74  23.92
 LIST temp[g=u,gt=u at ave]	! V4.20 mod, etc --> many more similar syntax chgs
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- eval    EX#1     C:  4 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    3    4
+ eval    EX#1     C:  4 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      3      4
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- found   TEMP     M:  3 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    3    4
+ found   TEMP     M:  3 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      3      4
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
              VARIABLE : TEMPERATURE (deg. C)
                         regrid: U
@@ -15326,10 +15351,10 @@ LIST temp[g=u,gt=u at ave]	! V4.20 mod, etc --> many more similar syntax chgs
  
 LIST temp[g=u]
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- eval    EX#1     C:  4 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    3    4
- found   TEMP     M:  3 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    3    4
+ eval    EX#1     C:  4 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      3      4
+ found   TEMP     M:  3 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      3      4
              VARIABLE : TEMPERATURE (deg. C)
                         regrid: U
              FILENAME : gtsa056_1.cdf
@@ -15364,15 +15389,15 @@ LIST temp[g=u]
  0     / 45:  23.54  23.47  23.45  23.53  23.74  23.92
 LIST temp[g=u at asn]
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- eval    EX#1     C:  4 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    3    4
+ eval    EX#1     C:  4 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      3      4
  strip regrid on X: TEMP --> PS3DU2           @ASN
  strip regrid on Y: TEMP --> XNTERMED         @ASN
- found   TEMP     M:  2 dset:   1 I:  100  106  J:   45   50  K:    1    2  L:    3    4
- regrid  TEMP     M:  8 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    3    4
- regrid  TEMP     M: 10 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    3    4
- -DELETE TEMP     M:  8 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    3    4  M: -999 -999  N: -999 -999
+ found   TEMP     M:  2 dset:   1 I:    100    106  J:   45   50  K:    1    2  L:      3      4
+ regrid  TEMP     M:  8 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      3      4
+ regrid  TEMP     M: 10 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      3      4
+ -DELETE TEMP     M:  8 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      3      4  M: -999 -999  N: -999 -999
              VARIABLE : TEMPERATURE (deg. C)
                         regrid: U on X at ASN, on Y at ASN
              FILENAME : gtsa056_1.cdf
@@ -15407,18 +15432,18 @@ LIST temp[g=u at asn]
  0     / 45:  23.62  23.51  23.42  23.38  23.48  23.69
 LIST temp[g=u,gx=u at asn]
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- eval    EX#1     C:  4 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    3    4
+ eval    EX#1     C:  4 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      3      4
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
  strip regrid on X: TEMP --> PS3DU2           @ASN
  strip regrid on Y: TEMP --> XNTERMED         @LIN
- found   TEMP     M:  2 dset:   1 I:  100  106  J:   45   50  K:    1    2  L:    3    4
- regrid  TEMP     M:  8 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    3    4
- regrid  TEMP     M: 11 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    3    4
- -DELETE TEMP     M:  8 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    3    4  M: -999 -999  N: -999 -999
+ found   TEMP     M:  2 dset:   1 I:    100    106  J:   45   50  K:    1    2  L:      3      4
+ regrid  TEMP     M:  8 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      3      4
+ regrid  TEMP     M: 11 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      3      4
+ -DELETE TEMP     M:  8 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      3      4  M: -999 -999  N: -999 -999
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
              VARIABLE : TEMPERATURE (deg. C)
                         regrid: U on X at ASN, on Y at LIN
@@ -15454,13 +15479,13 @@ LIST temp[g=u,gx=u at asn]
  0     / 45:  23.58  23.50  23.44  23.45  23.62  23.87
 LIST temp[g=u,gy=u at asn]
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- eval    EX#1     C:  4 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    3    4
+ eval    EX#1     C:  4 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      3      4
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- found   TEMP     M:  6 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    3    4
+ found   TEMP     M:  6 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      3      4
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
              VARIABLE : TEMPERATURE (deg. C)
                         regrid: U on X at LIN, on Y at ASN
@@ -15496,13 +15521,13 @@ LIST temp[g=u,gy=u at asn]
  0     / 45:  23.57  23.47  23.40  23.43  23.58  23.74
 LIST temp[g=u,gz=u at asn]
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- eval    EX#1     C:  4 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    3    4
+ eval    EX#1     C:  4 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      3      4
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- found   TEMP     M:  3 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    3    4
+ found   TEMP     M:  3 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      3      4
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
              VARIABLE : TEMPERATURE (deg. C)
                         regrid: U
@@ -15538,13 +15563,13 @@ LIST temp[g=u,gz=u at asn]
  0     / 45:  23.54  23.47  23.45  23.53  23.74  23.92
 LIST temp[g=u,gt=u at asn]
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- eval    EX#1     C:  4 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    3    4
+ eval    EX#1     C:  4 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      3      4
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- found   TEMP     M:  3 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    3    4
+ found   TEMP     M:  3 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      3      4
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
              VARIABLE : TEMPERATURE (deg. C)
                         regrid: U
@@ -15582,15 +15607,15 @@ LIST temp[g=u,gt=u at asn]
 ! Z and T axes different
 LIST temp[g=g5day at ave]
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    2    3
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      2      3
  strip regrid on X: TEMP --> G5DAY            @AAV
  strip regrid on T: TEMP --> XNTERMED         @AVE
- reading TEMP     M:  8 dset:   1 I:  100  106  J:   45   50  K:    1    2  L:    2    5
- regrid  TEMP     M: 12 dset:   1 I:  100  106  J:   45   50  K:    1    2  L:    2    3
+ reading TEMP     M:  8 dset:   1 I:    100    106  J:   45   50  K:    1    2  L:      2      5
+ regrid  TEMP     M: 12 dset:   1 I:    100    106  J:   45   50  K:    1    2  L:      2      3
  regrid XY
- regrid  TEMP     M: 13 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    2    3
- -DELETE TEMP     M: 12 dset:   1 I:  100  106  J:   45   50  K:    1    2  L:    2    3  M: -999 -999  N: -999 -999
+ regrid  TEMP     M: 13 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      2      3
+ -DELETE TEMP     M: 12 dset:   1 I:    100    106  J:   45   50  K:    1    2  L:      2      3  M: -999 -999  N: -999 -999
              VARIABLE : TEMPERATURE (deg. C)
                         regrid: G5DAY on X at AAV, on Y at AAV, on T at AVE
              FILENAME : gtsa056_1.cdf
@@ -15625,18 +15650,18 @@ LIST temp[g=g5day at ave]
  0     / 45:  23.54  23.48  23.48  23.57  23.76  23.89
 LIST temp[g=g5day,gx=g5day at ave]
  dealloc  dynamic grid G5DAY           PSXU      PSYU      PSZT      TAX5DAY
- -DELETE TEMP     M: 13 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    2    3
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    2    3
+ -DELETE TEMP     M: 13 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      2      3
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      2      3
  strip regrid on X: TEMP --> G5DAY            @AVE
  strip regrid on Y: TEMP --> XNTERMED         @LIN
  strip regrid on T: TEMP --> YNTERMED         @LIN
- found   TEMP     M:  8 dset:   1 I:  100  106  J:   45   50  K:    1    2  L:    2    5
- regrid  TEMP     M: 13 dset:   1 I:  100  106  J:   45   50  K:    1    2  L:    2    3
- regrid  TEMP     M: 12 dset:   1 I:  100  106  J:   45   49  K:    1    2  L:    2    3
- -DELETE TEMP     M: 13 dset:   1 I:  100  106  J:   45   50  K:    1    2  L:    2    3  M: -999 -999  N: -999 -999
- regrid  TEMP     M: 13 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    2    3
- -DELETE TEMP     M: 12 dset:   1 I:  100  106  J:   45   49  K:    1    2  L:    2    3  M: -999 -999  N: -999 -999
+ found   TEMP     M:  8 dset:   1 I:    100    106  J:   45   50  K:    1    2  L:      2      5
+ regrid  TEMP     M: 13 dset:   1 I:    100    106  J:   45   50  K:    1    2  L:      2      3
+ regrid  TEMP     M: 12 dset:   1 I:    100    106  J:   45   49  K:    1    2  L:      2      3
+ -DELETE TEMP     M: 13 dset:   1 I:    100    106  J:   45   50  K:    1    2  L:      2      3  M: -999 -999  N: -999 -999
+ regrid  TEMP     M: 13 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      2      3
+ -DELETE TEMP     M: 12 dset:   1 I:    100    106  J:   45   49  K:    1    2  L:      2      3  M: -999 -999  N: -999 -999
              VARIABLE : TEMPERATURE (deg. C)
                         regrid: G5DAY on X at AVE, on Y at LIN, on T at LIN
              FILENAME : gtsa056_1.cdf
@@ -15671,17 +15696,17 @@ LIST temp[g=g5day,gx=g5day at ave]
  0     / 45:  23.54  23.47  23.46  23.56  23.76  23.92
 LIST temp[g=g5day,gy=g5day at ave]
  dealloc  dynamic grid G5DAY           PSXU      PSYU      PSZT      TAX5DAY
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    2    3
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      2      3
  strip regrid on X: TEMP --> G5DAY            @LIN
  strip regrid on Y: TEMP --> XNTERMED         @AVE
  strip regrid on T: TEMP --> YNTERMED         @LIN
- found   TEMP     M:  8 dset:   1 I:  100  106  J:   45   50  K:    1    2  L:    2    5
- regrid  TEMP     M: 12 dset:   1 I:  100  106  J:   45   50  K:    1    2  L:    2    3
- regrid  TEMP     M: 14 dset:   1 I:  100  106  J:   45   49  K:    1    2  L:    2    3
- -DELETE TEMP     M: 12 dset:   1 I:  100  106  J:   45   50  K:    1    2  L:    2    3  M: -999 -999  N: -999 -999
- regrid  TEMP     M: 12 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    2    3
- -DELETE TEMP     M: 14 dset:   1 I:  100  106  J:   45   49  K:    1    2  L:    2    3  M: -999 -999  N: -999 -999
+ found   TEMP     M:  8 dset:   1 I:    100    106  J:   45   50  K:    1    2  L:      2      5
+ regrid  TEMP     M: 12 dset:   1 I:    100    106  J:   45   50  K:    1    2  L:      2      3
+ regrid  TEMP     M: 14 dset:   1 I:    100    106  J:   45   49  K:    1    2  L:      2      3
+ -DELETE TEMP     M: 12 dset:   1 I:    100    106  J:   45   50  K:    1    2  L:      2      3  M: -999 -999  N: -999 -999
+ regrid  TEMP     M: 12 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      2      3
+ -DELETE TEMP     M: 14 dset:   1 I:    100    106  J:   45   49  K:    1    2  L:      2      3  M: -999 -999  N: -999 -999
              VARIABLE : TEMPERATURE (deg. C)
                         regrid: G5DAY on X at LIN, on Y at AVE, on T at LIN
              FILENAME : gtsa056_1.cdf
@@ -15716,15 +15741,15 @@ LIST temp[g=g5day,gy=g5day at ave]
  0     / 45:  23.54  23.47  23.46  23.56  23.76  23.92
 LIST temp[g=g5day,gz=g5day at ave]
  dealloc  dynamic grid G5DAY           PSXU      PSYU      PSZT      TAX5DAY
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    2    3
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      2      3
  strip regrid on X: TEMP --> G5DAY            @LIN
  strip regrid on T: TEMP --> XNTERMED         @LIN
- found   TEMP     M:  8 dset:   1 I:  100  106  J:   45   50  K:    1    2  L:    2    5
- regrid  TEMP     M: 14 dset:   1 I:  100  106  J:   45   50  K:    1    2  L:    2    3
+ found   TEMP     M:  8 dset:   1 I:    100    106  J:   45   50  K:    1    2  L:      2      5
+ regrid  TEMP     M: 14 dset:   1 I:    100    106  J:   45   50  K:    1    2  L:      2      3
  regrid XY
- regrid  TEMP     M: 15 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    2    3
- -DELETE TEMP     M: 14 dset:   1 I:  100  106  J:   45   50  K:    1    2  L:    2    3  M: -999 -999  N: -999 -999
+ regrid  TEMP     M: 15 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      2      3
+ -DELETE TEMP     M: 14 dset:   1 I:    100    106  J:   45   50  K:    1    2  L:      2      3  M: -999 -999  N: -999 -999
              VARIABLE : TEMPERATURE (deg. C)
                         regrid: G5DAY
              FILENAME : gtsa056_1.cdf
@@ -15759,15 +15784,15 @@ LIST temp[g=g5day,gz=g5day at ave]
  0     / 45:  23.54  23.47  23.46  23.56  23.76  23.92
 LIST temp[g=g5day,gt=g5day at ave]
  dealloc  dynamic grid G5DAY           PSXU      PSYU      PSZT      TAX5DAY
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    2    3
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      2      3
  strip regrid on X: TEMP --> G5DAY            @LIN
  strip regrid on T: TEMP --> XNTERMED         @AVE
- found   TEMP     M:  8 dset:   1 I:  100  106  J:   45   50  K:    1    2  L:    2    5
- regrid  TEMP     M: 14 dset:   1 I:  100  106  J:   45   50  K:    1    2  L:    2    3
+ found   TEMP     M:  8 dset:   1 I:    100    106  J:   45   50  K:    1    2  L:      2      5
+ regrid  TEMP     M: 14 dset:   1 I:    100    106  J:   45   50  K:    1    2  L:      2      3
  regrid XY
- regrid  TEMP     M: 16 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    2    3
- -DELETE TEMP     M: 14 dset:   1 I:  100  106  J:   45   50  K:    1    2  L:    2    3  M: -999 -999  N: -999 -999
+ regrid  TEMP     M: 16 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      2      3
+ -DELETE TEMP     M: 14 dset:   1 I:    100    106  J:   45   50  K:    1    2  L:      2      3  M: -999 -999  N: -999 -999
              VARIABLE : TEMPERATURE (deg. C)
                         regrid: G5DAY on X at LIN, on Y at LIN, on T at AVE
              FILENAME : gtsa056_1.cdf
@@ -15803,9 +15828,9 @@ LIST temp[g=g5day,gt=g5day at ave]
  
 LIST temp[g=g5day]
  dealloc  dynamic grid G5DAY           PSXU      PSYU      PSZT      TAX5DAY
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    2    3
- found   TEMP     M: 15 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    2    3
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      2      3
+ found   TEMP     M: 15 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      2      3
              VARIABLE : TEMPERATURE (deg. C)
                         regrid: G5DAY
              FILENAME : gtsa056_1.cdf
@@ -15840,17 +15865,17 @@ LIST temp[g=g5day]
  0     / 45:  23.54  23.47  23.46  23.56  23.76  23.92
 LIST temp[g=g5day at asn]
  dealloc  dynamic grid G5DAY           PSXU      PSYU      PSZT      TAX5DAY
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    2    3
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      2      3
  strip regrid on X: TEMP --> G5DAY            @ASN
  strip regrid on Y: TEMP --> XNTERMED         @ASN
  strip regrid on T: TEMP --> YNTERMED         @ASN
- found   TEMP     M:  8 dset:   1 I:  100  106  J:   45   50  K:    1    2  L:    2    5
- regrid  TEMP     M: 14 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    2    3
- regrid  TEMP     M: 17 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    2    3
- -DELETE TEMP     M: 14 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    2    3  M: -999 -999  N: -999 -999
- regrid  TEMP     M: 14 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    2    3
- -DELETE TEMP     M: 17 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    2    3  M: -999 -999  N: -999 -999
+ found   TEMP     M:  8 dset:   1 I:    100    106  J:   45   50  K:    1    2  L:      2      5
+ regrid  TEMP     M: 14 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      2      3
+ regrid  TEMP     M: 17 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      2      3
+ -DELETE TEMP     M: 14 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      2      3  M: -999 -999  N: -999 -999
+ regrid  TEMP     M: 14 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      2      3
+ -DELETE TEMP     M: 17 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      2      3  M: -999 -999  N: -999 -999
              VARIABLE : TEMPERATURE (deg. C)
                         regrid: G5DAY on X at ASN, on Y at ASN, on T at ASN
              FILENAME : gtsa056_1.cdf
@@ -15885,17 +15910,17 @@ LIST temp[g=g5day at asn]
  0     / 45:  23.61  23.53  23.43  23.34  23.30  23.45
 LIST temp[g=g5day,gx=g5day at asn]
  dealloc  dynamic grid G5DAY           PSXU      PSYU      PSZT      TAX5DAY
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    2    3
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      2      3
  strip regrid on X: TEMP --> G5DAY            @ASN
  strip regrid on Y: TEMP --> XNTERMED         @LIN
  strip regrid on T: TEMP --> YNTERMED         @LIN
- found   TEMP     M:  8 dset:   1 I:  100  106  J:   45   50  K:    1    2  L:    2    5
- regrid  TEMP     M: 17 dset:   1 I:  100  105  J:   45   50  K:    1    2  L:    2    3
- regrid  TEMP     M: 18 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    2    3
- -DELETE TEMP     M: 17 dset:   1 I:  100  105  J:   45   50  K:    1    2  L:    2    3  M: -999 -999  N: -999 -999
- regrid  TEMP     M: 17 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    2    3
- -DELETE TEMP     M: 18 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    2    3  M: -999 -999  N: -999 -999
+ found   TEMP     M:  8 dset:   1 I:    100    106  J:   45   50  K:    1    2  L:      2      5
+ regrid  TEMP     M: 17 dset:   1 I:    100    105  J:   45   50  K:    1    2  L:      2      3
+ regrid  TEMP     M: 18 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      2      3
+ -DELETE TEMP     M: 17 dset:   1 I:    100    105  J:   45   50  K:    1    2  L:      2      3  M: -999 -999  N: -999 -999
+ regrid  TEMP     M: 17 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      2      3
+ -DELETE TEMP     M: 18 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      2      3  M: -999 -999  N: -999 -999
              VARIABLE : TEMPERATURE (deg. C)
                         regrid: G5DAY on X at ASN, on Y at LIN, on T at LIN
              FILENAME : gtsa056_1.cdf
@@ -15930,17 +15955,17 @@ LIST temp[g=g5day,gx=g5day at asn]
  0     / 45:  23.58  23.50  23.45  23.47  23.64  23.88
 LIST temp[g=g5day,gy=g5day at asn]
  dealloc  dynamic grid G5DAY           PSXU      PSYU      PSZT      TAX5DAY
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    2    3
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      2      3
  strip regrid on X: TEMP --> G5DAY            @LIN
  strip regrid on Y: TEMP --> XNTERMED         @ASN
  strip regrid on T: TEMP --> YNTERMED         @LIN
- found   TEMP     M:  8 dset:   1 I:  100  106  J:   45   50  K:    1    2  L:    2    5
- regrid  TEMP     M: 18 dset:   1 I:  100  106  J:   45   49  K:    1    2  L:    2    3
- regrid  TEMP     M: 19 dset:   1 I:  100  106  J:   45   49  K:    1    2  L:    2    3
- -DELETE TEMP     M: 18 dset:   1 I:  100  106  J:   45   49  K:    1    2  L:    2    3  M: -999 -999  N: -999 -999
- regrid  TEMP     M: 18 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    2    3
- -DELETE TEMP     M: 19 dset:   1 I:  100  106  J:   45   49  K:    1    2  L:    2    3  M: -999 -999  N: -999 -999
+ found   TEMP     M:  8 dset:   1 I:    100    106  J:   45   50  K:    1    2  L:      2      5
+ regrid  TEMP     M: 18 dset:   1 I:    100    106  J:   45   49  K:    1    2  L:      2      3
+ regrid  TEMP     M: 19 dset:   1 I:    100    106  J:   45   49  K:    1    2  L:      2      3
+ -DELETE TEMP     M: 18 dset:   1 I:    100    106  J:   45   49  K:    1    2  L:      2      3  M: -999 -999  N: -999 -999
+ regrid  TEMP     M: 18 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      2      3
+ -DELETE TEMP     M: 19 dset:   1 I:    100    106  J:   45   49  K:    1    2  L:      2      3  M: -999 -999  N: -999 -999
              VARIABLE : TEMPERATURE (deg. C)
                         regrid: G5DAY on X at LIN, on Y at ASN, on T at LIN
              FILENAME : gtsa056_1.cdf
@@ -15975,9 +16000,9 @@ LIST temp[g=g5day,gy=g5day at asn]
  0     / 45:  23.56  23.47  23.41  23.45  23.60  23.75
 LIST temp[g=g5day,gz=g5day at asn]
  dealloc  dynamic grid G5DAY           PSXU      PSYU      PSZT      TAX5DAY
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    2    3
- found   TEMP     M: 15 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    2    3
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      2      3
+ found   TEMP     M: 15 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      2      3
              VARIABLE : TEMPERATURE (deg. C)
                         regrid: G5DAY
              FILENAME : gtsa056_1.cdf
@@ -16012,15 +16037,15 @@ LIST temp[g=g5day,gz=g5day at asn]
  0     / 45:  23.54  23.47  23.46  23.56  23.76  23.92
 LIST temp[g=g5day,gt=g5day at asn]
  dealloc  dynamic grid G5DAY           PSXU      PSYU      PSZT      TAX5DAY
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    2    3
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      2      3
  strip regrid on X: TEMP --> G5DAY            @LIN
  strip regrid on T: TEMP --> XNTERMED         @ASN
- found   TEMP     M:  8 dset:   1 I:  100  106  J:   45   50  K:    1    2  L:    2    5
- regrid  TEMP     M: 19 dset:   1 I:  100  106  J:   45   50  K:    1    2  L:    2    3
+ found   TEMP     M:  8 dset:   1 I:    100    106  J:   45   50  K:    1    2  L:      2      5
+ regrid  TEMP     M: 19 dset:   1 I:    100    106  J:   45   50  K:    1    2  L:      2      3
  regrid XY
- regrid  TEMP     M: 20 dset:   1 I:  100  105  J:   45   49  K:    1    2  L:    2    3
- -DELETE TEMP     M: 19 dset:   1 I:  100  106  J:   45   50  K:    1    2  L:    2    3  M: -999 -999  N: -999 -999
+ regrid  TEMP     M: 20 dset:   1 I:    100    105  J:   45   49  K:    1    2  L:      2      3
+ -DELETE TEMP     M: 19 dset:   1 I:    100    106  J:   45   50  K:    1    2  L:      2      3  M: -999 -999  N: -999 -999
              VARIABLE : TEMPERATURE (deg. C)
                         regrid: G5DAY on X at LIN, on Y at LIN, on T at ASN
              FILENAME : gtsa056_1.cdf
@@ -16057,18 +16082,18 @@ LIST temp[g=g5day,gt=g5day at asn]
 ! all 4 axes different
 LIST temp[g=g5_10 at ave]
  dealloc  dynamic grid G5DAY           PSXU      PSYU      PSZT      TAX5DAY
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I:   12   12  J:   45   49  K:    1    1  L:    2    3
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:     12     12  J:   45   49  K:    1    1  L:      2      3
  strip regrid on X: TEMP --> G5_10            @AAV
  strip regrid on Z: TEMP --> XNTERMED         @AVE
  strip regrid on T: TEMP --> ZNTERMED         @AVE
- reading TEMP     M: 19 dset:   1 I:   95  106  J:   45   50  K:    1    2  L:    2    5
- regrid  TEMP     M: 21 dset:   1 I:   95  106  J:   45   50  K:    1    2  L:    2    3
- regrid  TEMP     M: 22 dset:   1 I:   95  106  J:   45   50  K:    1    1  L:    2    3
- -DELETE TEMP     M: 21 dset:   1 I:   95  106  J:   45   50  K:    1    2  L:    2    3  M: -999 -999  N: -999 -999
+ reading TEMP     M: 19 dset:   1 I:     95    106  J:   45   50  K:    1    2  L:      2      5
+ regrid  TEMP     M: 21 dset:   1 I:     95    106  J:   45   50  K:    1    2  L:      2      3
+ regrid  TEMP     M: 22 dset:   1 I:     95    106  J:   45   50  K:    1    1  L:      2      3
+ -DELETE TEMP     M: 21 dset:   1 I:     95    106  J:   45   50  K:    1    2  L:      2      3  M: -999 -999  N: -999 -999
  regrid XY
- regrid  TEMP     M: 21 dset:   1 I:   12   12  J:   45   49  K:    1    1  L:    2    3
- -DELETE TEMP     M: 22 dset:   1 I:   95  106  J:   45   50  K:    1    1  L:    2    3  M: -999 -999  N: -999 -999
+ regrid  TEMP     M: 21 dset:   1 I:     12     12  J:   45   49  K:    1    1  L:      2      3
+ -DELETE TEMP     M: 22 dset:   1 I:     95    106  J:   45   50  K:    1    1  L:      2      3  M: -999 -999  N: -999 -999
              VARIABLE : TEMPERATURE (deg. C)
                         regrid: G5_10 on X at AAV, on Y at AAV, on Z at AVE, on T at AVE
              FILENAME : gtsa056_1.cdf
@@ -16081,21 +16106,21 @@ LIST temp[g=g5_10 at ave]
  25-JAN-1982 00 / 3:  23.89  23.98  24.17  24.40  24.65
 LIST temp[g=g5_10,gx=g5_10 at ave]
  dealloc  dynamic grid G5_10           XAX10     PSYU      PSZW      TAX5DAY
- -DELETE TEMP     M: 21 dset:   1 I:   12   12  J:   45   49  K:    1    1  L:    2    3
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I:   12   12  J:   45   49  K:    1    1  L:    2    3
+ -DELETE TEMP     M: 21 dset:   1 I:     12     12  J:   45   49  K:    1    1  L:      2      3
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:     12     12  J:   45   49  K:    1    1  L:      2      3
  strip regrid on X: TEMP --> G5_10            @AVE
  strip regrid on Y: TEMP --> XNTERMED         @LIN
  strip regrid on Z: TEMP --> YNTERMED         @LIN
  strip regrid on T: TEMP --> ZNTERMED         @LIN
- found   TEMP     M: 19 dset:   1 I:   95  106  J:   45   50  K:    1    2  L:    2    5
- regrid  TEMP     M: 21 dset:   1 I:   95  106  J:   45   50  K:    1    2  L:    2    3
- regrid  TEMP     M: 22 dset:   1 I:   95  106  J:   45   50  K:    1    1  L:    2    3
- -DELETE TEMP     M: 21 dset:   1 I:   95  106  J:   45   50  K:    1    2  L:    2    3  M: -999 -999  N: -999 -999
- regrid  TEMP     M: 21 dset:   1 I:   95  106  J:   45   49  K:    1    1  L:    2    3
- -DELETE TEMP     M: 22 dset:   1 I:   95  106  J:   45   50  K:    1    1  L:    2    3  M: -999 -999  N: -999 -999
- regrid  TEMP     M: 22 dset:   1 I:   12   12  J:   45   49  K:    1    1  L:    2    3
- -DELETE TEMP     M: 21 dset:   1 I:   95  106  J:   45   49  K:    1    1  L:    2    3  M: -999 -999  N: -999 -999
+ found   TEMP     M: 19 dset:   1 I:     95    106  J:   45   50  K:    1    2  L:      2      5
+ regrid  TEMP     M: 21 dset:   1 I:     95    106  J:   45   50  K:    1    2  L:      2      3
+ regrid  TEMP     M: 22 dset:   1 I:     95    106  J:   45   50  K:    1    1  L:      2      3
+ -DELETE TEMP     M: 21 dset:   1 I:     95    106  J:   45   50  K:    1    2  L:      2      3  M: -999 -999  N: -999 -999
+ regrid  TEMP     M: 21 dset:   1 I:     95    106  J:   45   49  K:    1    1  L:      2      3
+ -DELETE TEMP     M: 22 dset:   1 I:     95    106  J:   45   50  K:    1    1  L:      2      3  M: -999 -999  N: -999 -999
+ regrid  TEMP     M: 22 dset:   1 I:     12     12  J:   45   49  K:    1    1  L:      2      3
+ -DELETE TEMP     M: 21 dset:   1 I:     95    106  J:   45   49  K:    1    1  L:      2      3  M: -999 -999  N: -999 -999
              VARIABLE : TEMPERATURE (deg. C)
                         regrid: G5_10 on X at AVE, on Y at LIN, on Z at LIN, on T at LIN
              FILENAME : gtsa056_1.cdf
@@ -16108,20 +16133,20 @@ LIST temp[g=g5_10,gx=g5_10 at ave]
  25-JAN-1982 00 / 3:  23.88  23.97  24.15  24.39  24.64
 LIST temp[g=g5_10,gy=g5_10 at ave]
  dealloc  dynamic grid G5_10           XAX10     PSYU      PSZW      TAX5DAY
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I:   12   12  J:   45   49  K:    1    1  L:    2    3
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:     12     12  J:   45   49  K:    1    1  L:      2      3
  strip regrid on X: TEMP --> G5_10            @LIN
  strip regrid on Y: TEMP --> XNTERMED         @AVE
  strip regrid on Z: TEMP --> YNTERMED         @LIN
  strip regrid on T: TEMP --> ZNTERMED         @LIN
- found   TEMP     M: 19 dset:   1 I:   95  106  J:   45   50  K:    1    2  L:    2    5
- regrid  TEMP     M: 21 dset:   1 I:  100  101  J:   45   50  K:    1    2  L:    2    3
- regrid  TEMP     M: 23 dset:   1 I:  100  101  J:   45   50  K:    1    1  L:    2    3
- -DELETE TEMP     M: 21 dset:   1 I:  100  101  J:   45   50  K:    1    2  L:    2    3  M: -999 -999  N: -999 -999
- regrid  TEMP     M: 21 dset:   1 I:  100  101  J:   45   49  K:    1    1  L:    2    3
- -DELETE TEMP     M: 23 dset:   1 I:  100  101  J:   45   50  K:    1    1  L:    2    3  M: -999 -999  N: -999 -999
- regrid  TEMP     M: 23 dset:   1 I:   12   12  J:   45   49  K:    1    1  L:    2    3
- -DELETE TEMP     M: 21 dset:   1 I:  100  101  J:   45   49  K:    1    1  L:    2    3  M: -999 -999  N: -999 -999
+ found   TEMP     M: 19 dset:   1 I:     95    106  J:   45   50  K:    1    2  L:      2      5
+ regrid  TEMP     M: 21 dset:   1 I:    100    101  J:   45   50  K:    1    2  L:      2      3
+ regrid  TEMP     M: 23 dset:   1 I:    100    101  J:   45   50  K:    1    1  L:      2      3
+ -DELETE TEMP     M: 21 dset:   1 I:    100    101  J:   45   50  K:    1    2  L:      2      3  M: -999 -999  N: -999 -999
+ regrid  TEMP     M: 21 dset:   1 I:    100    101  J:   45   49  K:    1    1  L:      2      3
+ -DELETE TEMP     M: 23 dset:   1 I:    100    101  J:   45   50  K:    1    1  L:      2      3  M: -999 -999  N: -999 -999
+ regrid  TEMP     M: 23 dset:   1 I:     12     12  J:   45   49  K:    1    1  L:      2      3
+ -DELETE TEMP     M: 21 dset:   1 I:    100    101  J:   45   49  K:    1    1  L:      2      3  M: -999 -999  N: -999 -999
              VARIABLE : TEMPERATURE (deg. C)
                         regrid: G5_10 on X at LIN, on Y at AVE, on Z at LIN, on T at LIN
              FILENAME : gtsa056_1.cdf
@@ -16134,18 +16159,18 @@ LIST temp[g=g5_10,gy=g5_10 at ave]
  25-JAN-1982 00 / 3:  23.75  23.76  23.85  24.02  24.21
 LIST temp[g=g5_10,gz=g5_10 at ave]
  dealloc  dynamic grid G5_10           XAX10     PSYU      PSZW      TAX5DAY
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I:   12   12  J:   45   49  K:    1    1  L:    2    3
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:     12     12  J:   45   49  K:    1    1  L:      2      3
  strip regrid on X: TEMP --> G5_10            @LIN
  strip regrid on Z: TEMP --> XNTERMED         @AVE
  strip regrid on T: TEMP --> ZNTERMED         @LIN
- found   TEMP     M: 19 dset:   1 I:   95  106  J:   45   50  K:    1    2  L:    2    5
- regrid  TEMP     M: 21 dset:   1 I:  100  101  J:   45   50  K:    1    2  L:    2    3
- regrid  TEMP     M: 24 dset:   1 I:  100  101  J:   45   50  K:    1    1  L:    2    3
- -DELETE TEMP     M: 21 dset:   1 I:  100  101  J:   45   50  K:    1    2  L:    2    3  M: -999 -999  N: -999 -999
+ found   TEMP     M: 19 dset:   1 I:     95    106  J:   45   50  K:    1    2  L:      2      5
+ regrid  TEMP     M: 21 dset:   1 I:    100    101  J:   45   50  K:    1    2  L:      2      3
+ regrid  TEMP     M: 24 dset:   1 I:    100    101  J:   45   50  K:    1    1  L:      2      3
+ -DELETE TEMP     M: 21 dset:   1 I:    100    101  J:   45   50  K:    1    2  L:      2      3  M: -999 -999  N: -999 -999
  regrid XY
- regrid  TEMP     M: 21 dset:   1 I:   12   12  J:   45   49  K:    1    1  L:    2    3
- -DELETE TEMP     M: 24 dset:   1 I:  100  101  J:   45   50  K:    1    1  L:    2    3  M: -999 -999  N: -999 -999
+ regrid  TEMP     M: 21 dset:   1 I:     12     12  J:   45   49  K:    1    1  L:      2      3
+ -DELETE TEMP     M: 24 dset:   1 I:    100    101  J:   45   50  K:    1    1  L:      2      3  M: -999 -999  N: -999 -999
              VARIABLE : TEMPERATURE (deg. C)
                         regrid: G5_10 on X at LIN, on Y at LIN, on Z at AVE, on T at LIN
              FILENAME : gtsa056_1.cdf
@@ -16158,18 +16183,18 @@ LIST temp[g=g5_10,gz=g5_10 at ave]
  25-JAN-1982 00 / 3:  23.75  23.76  23.85  24.02  24.21
 LIST temp[g=g5_10,gt=g5_10 at ave]
  dealloc  dynamic grid G5_10           XAX10     PSYU      PSZW      TAX5DAY
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I:   12   12  J:   45   49  K:    1    1  L:    2    3
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:     12     12  J:   45   49  K:    1    1  L:      2      3
  strip regrid on X: TEMP --> G5_10            @LIN
  strip regrid on Z: TEMP --> XNTERMED         @LIN
  strip regrid on T: TEMP --> ZNTERMED         @AVE
- found   TEMP     M: 19 dset:   1 I:   95  106  J:   45   50  K:    1    2  L:    2    5
- regrid  TEMP     M: 24 dset:   1 I:  100  101  J:   45   50  K:    1    2  L:    2    3
- regrid  TEMP     M: 25 dset:   1 I:  100  101  J:   45   50  K:    1    1  L:    2    3
- -DELETE TEMP     M: 24 dset:   1 I:  100  101  J:   45   50  K:    1    2  L:    2    3  M: -999 -999  N: -999 -999
+ found   TEMP     M: 19 dset:   1 I:     95    106  J:   45   50  K:    1    2  L:      2      5
+ regrid  TEMP     M: 24 dset:   1 I:    100    101  J:   45   50  K:    1    2  L:      2      3
+ regrid  TEMP     M: 25 dset:   1 I:    100    101  J:   45   50  K:    1    1  L:      2      3
+ -DELETE TEMP     M: 24 dset:   1 I:    100    101  J:   45   50  K:    1    2  L:      2      3  M: -999 -999  N: -999 -999
  regrid XY
- regrid  TEMP     M: 24 dset:   1 I:   12   12  J:   45   49  K:    1    1  L:    2    3
- -DELETE TEMP     M: 25 dset:   1 I:  100  101  J:   45   50  K:    1    1  L:    2    3  M: -999 -999  N: -999 -999
+ regrid  TEMP     M: 24 dset:   1 I:     12     12  J:   45   49  K:    1    1  L:      2      3
+ -DELETE TEMP     M: 25 dset:   1 I:    100    101  J:   45   50  K:    1    1  L:      2      3  M: -999 -999  N: -999 -999
              VARIABLE : TEMPERATURE (deg. C)
                         regrid: G5_10 on X at LIN, on Y at LIN, on Z at LIN, on T at AVE
              FILENAME : gtsa056_1.cdf
@@ -16183,20 +16208,20 @@ LIST temp[g=g5_10,gt=g5_10 at ave]
  
 LIST temp[g=g5_10 at asn]
  dealloc  dynamic grid G5_10           XAX10     PSYU      PSZW      TAX5DAY
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I:   12   12  J:   45   49  K:    1    1  L:    2    3
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:     12     12  J:   45   49  K:    1    1  L:      2      3
  strip regrid on X: TEMP --> G5_10            @ASN
  strip regrid on Y: TEMP --> XNTERMED         @ASN
  strip regrid on Z: TEMP --> YNTERMED         @ASN
  strip regrid on T: TEMP --> ZNTERMED         @ASN
- reading TEMP     M: 25 dset:   1 I:   12   12  J:   45   49  K:    1    1  L:    2    3
- regrid  TEMP     M: 26 dset:   1 I:   12   12  J:   45   49  K:    1    1  L:    2    3
- regrid  TEMP     M: 27 dset:   1 I:   12   12  J:   45   49  K:    1    1  L:    2    3
- -DELETE TEMP     M: 26 dset:   1 I:   12   12  J:   45   49  K:    1    1  L:    2    3  M: -999 -999  N: -999 -999
- regrid  TEMP     M: 26 dset:   1 I:   12   12  J:   45   49  K:    1    1  L:    2    3
- -DELETE TEMP     M: 27 dset:   1 I:   12   12  J:   45   49  K:    1    1  L:    2    3  M: -999 -999  N: -999 -999
- regrid  TEMP     M: 27 dset:   1 I:   12   12  J:   45   49  K:    1    1  L:    2    3
- -DELETE TEMP     M: 26 dset:   1 I:   12   12  J:   45   49  K:    1    1  L:    2    3  M: -999 -999  N: -999 -999
+ reading TEMP     M: 25 dset:   1 I:     12     12  J:   45   49  K:    1    1  L:      2      3
+ regrid  TEMP     M: 26 dset:   1 I:     12     12  J:   45   49  K:    1    1  L:      2      3
+ regrid  TEMP     M: 27 dset:   1 I:     12     12  J:   45   49  K:    1    1  L:      2      3
+ -DELETE TEMP     M: 26 dset:   1 I:     12     12  J:   45   49  K:    1    1  L:      2      3  M: -999 -999  N: -999 -999
+ regrid  TEMP     M: 26 dset:   1 I:     12     12  J:   45   49  K:    1    1  L:      2      3
+ -DELETE TEMP     M: 27 dset:   1 I:     12     12  J:   45   49  K:    1    1  L:      2      3  M: -999 -999  N: -999 -999
+ regrid  TEMP     M: 27 dset:   1 I:     12     12  J:   45   49  K:    1    1  L:      2      3
+ -DELETE TEMP     M: 26 dset:   1 I:     12     12  J:   45   49  K:    1    1  L:      2      3  M: -999 -999  N: -999 -999
              VARIABLE : TEMPERATURE (deg. C)
                         regrid: G5_10 on X at ASN, on Y at ASN, on Z at ASN, on T at ASN
              FILENAME : gtsa056_1.cdf
@@ -16209,20 +16234,20 @@ LIST temp[g=g5_10 at asn]
  25-JAN-1982 00 / 3:  29.58  29.57  29.57  29.55  29.54
 LIST temp[g=g5_10,gx=g5_10 at asn]
  dealloc  dynamic grid G5_10           XAX10     PSYU      PSZW      TAX5DAY
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I:   12   12  J:   45   49  K:    1    1  L:    2    3
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:     12     12  J:   45   49  K:    1    1  L:      2      3
  strip regrid on X: TEMP --> G5_10            @ASN
  strip regrid on Y: TEMP --> XNTERMED         @LIN
  strip regrid on Z: TEMP --> YNTERMED         @LIN
  strip regrid on T: TEMP --> ZNTERMED         @LIN
- reading TEMP     M: 26 dset:   1 I:   12   12  J:   45   50  K:    1    2  L:    2    5
- regrid  TEMP     M: 28 dset:   1 I:   12   12  J:   45   50  K:    1    2  L:    2    3
- regrid  TEMP     M: 29 dset:   1 I:   12   12  J:   45   50  K:    1    1  L:    2    3
- -DELETE TEMP     M: 28 dset:   1 I:   12   12  J:   45   50  K:    1    2  L:    2    3  M: -999 -999  N: -999 -999
- regrid  TEMP     M: 28 dset:   1 I:   12   12  J:   45   49  K:    1    1  L:    2    3
- -DELETE TEMP     M: 29 dset:   1 I:   12   12  J:   45   50  K:    1    1  L:    2    3  M: -999 -999  N: -999 -999
- regrid  TEMP     M: 29 dset:   1 I:   12   12  J:   45   49  K:    1    1  L:    2    3
- -DELETE TEMP     M: 28 dset:   1 I:   12   12  J:   45   49  K:    1    1  L:    2    3  M: -999 -999  N: -999 -999
+ reading TEMP     M: 26 dset:   1 I:     12     12  J:   45   50  K:    1    2  L:      2      5
+ regrid  TEMP     M: 28 dset:   1 I:     12     12  J:   45   50  K:    1    2  L:      2      3
+ regrid  TEMP     M: 29 dset:   1 I:     12     12  J:   45   50  K:    1    1  L:      2      3
+ -DELETE TEMP     M: 28 dset:   1 I:     12     12  J:   45   50  K:    1    2  L:      2      3  M: -999 -999  N: -999 -999
+ regrid  TEMP     M: 28 dset:   1 I:     12     12  J:   45   49  K:    1    1  L:      2      3
+ -DELETE TEMP     M: 29 dset:   1 I:     12     12  J:   45   50  K:    1    1  L:      2      3  M: -999 -999  N: -999 -999
+ regrid  TEMP     M: 29 dset:   1 I:     12     12  J:   45   49  K:    1    1  L:      2      3
+ -DELETE TEMP     M: 28 dset:   1 I:     12     12  J:   45   49  K:    1    1  L:      2      3  M: -999 -999  N: -999 -999
              VARIABLE : TEMPERATURE (deg. C)
                         regrid: G5_10 on X at ASN, on Y at LIN, on Z at LIN, on T at LIN
              FILENAME : gtsa056_1.cdf
@@ -16235,20 +16260,20 @@ LIST temp[g=g5_10,gx=g5_10 at asn]
  25-JAN-1982 00 / 3:  29.56  29.55  29.54  29.51  29.51
 LIST temp[g=g5_10,gy=g5_10 at asn]
  dealloc  dynamic grid G5_10           XAX10     PSYU      PSZW      TAX5DAY
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I:   12   12  J:   45   49  K:    1    1  L:    2    3
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:     12     12  J:   45   49  K:    1    1  L:      2      3
  strip regrid on X: TEMP --> G5_10            @LIN
  strip regrid on Y: TEMP --> XNTERMED         @ASN
  strip regrid on Z: TEMP --> YNTERMED         @LIN
  strip regrid on T: TEMP --> ZNTERMED         @LIN
- found   TEMP     M: 19 dset:   1 I:   95  106  J:   45   50  K:    1    2  L:    2    5
- regrid  TEMP     M: 28 dset:   1 I:  100  101  J:   45   49  K:    1    2  L:    2    3
- regrid  TEMP     M: 30 dset:   1 I:  100  101  J:   45   49  K:    1    1  L:    2    3
- -DELETE TEMP     M: 28 dset:   1 I:  100  101  J:   45   49  K:    1    2  L:    2    3  M: -999 -999  N: -999 -999
- regrid  TEMP     M: 28 dset:   1 I:  100  101  J:   45   49  K:    1    1  L:    2    3
- -DELETE TEMP     M: 30 dset:   1 I:  100  101  J:   45   49  K:    1    1  L:    2    3  M: -999 -999  N: -999 -999
- regrid  TEMP     M: 30 dset:   1 I:   12   12  J:   45   49  K:    1    1  L:    2    3
- -DELETE TEMP     M: 28 dset:   1 I:  100  101  J:   45   49  K:    1    1  L:    2    3  M: -999 -999  N: -999 -999
+ found   TEMP     M: 19 dset:   1 I:     95    106  J:   45   50  K:    1    2  L:      2      5
+ regrid  TEMP     M: 28 dset:   1 I:    100    101  J:   45   49  K:    1    2  L:      2      3
+ regrid  TEMP     M: 30 dset:   1 I:    100    101  J:   45   49  K:    1    1  L:      2      3
+ -DELETE TEMP     M: 28 dset:   1 I:    100    101  J:   45   49  K:    1    2  L:      2      3  M: -999 -999  N: -999 -999
+ regrid  TEMP     M: 28 dset:   1 I:    100    101  J:   45   49  K:    1    1  L:      2      3
+ -DELETE TEMP     M: 30 dset:   1 I:    100    101  J:   45   49  K:    1    1  L:      2      3  M: -999 -999  N: -999 -999
+ regrid  TEMP     M: 30 dset:   1 I:     12     12  J:   45   49  K:    1    1  L:      2      3
+ -DELETE TEMP     M: 28 dset:   1 I:    100    101  J:   45   49  K:    1    1  L:      2      3  M: -999 -999  N: -999 -999
              VARIABLE : TEMPERATURE (deg. C)
                         regrid: G5_10 on X at LIN, on Y at ASN, on Z at LIN, on T at LIN
              FILENAME : gtsa056_1.cdf
@@ -16261,18 +16286,18 @@ LIST temp[g=g5_10,gy=g5_10 at asn]
  25-JAN-1982 00 / 3:  23.77  23.72  23.79  23.92  24.11
 LIST temp[g=g5_10,gz=g5_10 at asn]
  dealloc  dynamic grid G5_10           XAX10     PSYU      PSZW      TAX5DAY
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I:   12   12  J:   45   49  K:    1    1  L:    2    3
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:     12     12  J:   45   49  K:    1    1  L:      2      3
  strip regrid on X: TEMP --> G5_10            @LIN
  strip regrid on Z: TEMP --> XNTERMED         @ASN
  strip regrid on T: TEMP --> ZNTERMED         @LIN
- found   TEMP     M: 19 dset:   1 I:   95  106  J:   45   50  K:    1    2  L:    2    5
- regrid  TEMP     M: 28 dset:   1 I:  100  101  J:   45   50  K:    1    1  L:    2    3
- regrid  TEMP     M: 31 dset:   1 I:  100  101  J:   45   50  K:    1    1  L:    2    3
- -DELETE TEMP     M: 28 dset:   1 I:  100  101  J:   45   50  K:    1    1  L:    2    3  M: -999 -999  N: -999 -999
+ found   TEMP     M: 19 dset:   1 I:     95    106  J:   45   50  K:    1    2  L:      2      5
+ regrid  TEMP     M: 28 dset:   1 I:    100    101  J:   45   50  K:    1    1  L:      2      3
+ regrid  TEMP     M: 31 dset:   1 I:    100    101  J:   45   50  K:    1    1  L:      2      3
+ -DELETE TEMP     M: 28 dset:   1 I:    100    101  J:   45   50  K:    1    1  L:      2      3  M: -999 -999  N: -999 -999
  regrid XY
- regrid  TEMP     M: 28 dset:   1 I:   12   12  J:   45   49  K:    1    1  L:    2    3
- -DELETE TEMP     M: 31 dset:   1 I:  100  101  J:   45   50  K:    1    1  L:    2    3  M: -999 -999  N: -999 -999
+ regrid  TEMP     M: 28 dset:   1 I:     12     12  J:   45   49  K:    1    1  L:      2      3
+ -DELETE TEMP     M: 31 dset:   1 I:    100    101  J:   45   50  K:    1    1  L:      2      3  M: -999 -999  N: -999 -999
              VARIABLE : TEMPERATURE (deg. C)
                         regrid: G5_10 on X at LIN, on Y at LIN, on Z at ASN, on T at LIN
              FILENAME : gtsa056_1.cdf
@@ -16285,18 +16310,18 @@ LIST temp[g=g5_10,gz=g5_10 at asn]
  25-JAN-1982 00 / 3:  23.96  23.96  24.03  24.16  24.34
 LIST temp[g=g5_10,gt=g5_10 at asn]
  dealloc  dynamic grid G5_10           XAX10     PSYU      PSZW      TAX5DAY
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I:   12   12  J:   45   49  K:    1    1  L:    2    3
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:     12     12  J:   45   49  K:    1    1  L:      2      3
  strip regrid on X: TEMP --> G5_10            @LIN
  strip regrid on Z: TEMP --> XNTERMED         @LIN
  strip regrid on T: TEMP --> ZNTERMED         @ASN
- found   TEMP     M: 19 dset:   1 I:   95  106  J:   45   50  K:    1    2  L:    2    5
- regrid  TEMP     M: 31 dset:   1 I:  100  101  J:   45   50  K:    1    2  L:    2    3
- regrid  TEMP     M: 32 dset:   1 I:  100  101  J:   45   50  K:    1    1  L:    2    3
- -DELETE TEMP     M: 31 dset:   1 I:  100  101  J:   45   50  K:    1    2  L:    2    3  M: -999 -999  N: -999 -999
+ found   TEMP     M: 19 dset:   1 I:     95    106  J:   45   50  K:    1    2  L:      2      5
+ regrid  TEMP     M: 31 dset:   1 I:    100    101  J:   45   50  K:    1    2  L:      2      3
+ regrid  TEMP     M: 32 dset:   1 I:    100    101  J:   45   50  K:    1    1  L:      2      3
+ -DELETE TEMP     M: 31 dset:   1 I:    100    101  J:   45   50  K:    1    2  L:      2      3  M: -999 -999  N: -999 -999
  regrid XY
- regrid  TEMP     M: 31 dset:   1 I:   12   12  J:   45   49  K:    1    1  L:    2    3
- -DELETE TEMP     M: 32 dset:   1 I:  100  101  J:   45   50  K:    1    1  L:    2    3  M: -999 -999  N: -999 -999
+ regrid  TEMP     M: 31 dset:   1 I:     12     12  J:   45   49  K:    1    1  L:      2      3
+ -DELETE TEMP     M: 32 dset:   1 I:    100    101  J:   45   50  K:    1    1  L:      2      3  M: -999 -999  N: -999 -999
              VARIABLE : TEMPERATURE (deg. C)
                         regrid: G5_10 on X at LIN, on Y at LIN, on Z at LIN, on T at ASN
              FILENAME : gtsa056_1.cdf
@@ -16314,121 +16339,121 @@ canc reg
 set reg/l=1:3  ! x,y,z unspecified
 load temp
  dealloc  dynamic grid G5_10           XAX10     PSYU      PSZW      TAX5DAY
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DT2          PSXT      PSYT      PSZT      TIME2
- eval    EX#1     C:  4 dset:   1 I:    1  160  J:    1  100  K:    1   27  L:    1    3
- reading TEMP     M: 32 dset:   1 I:    1  160  J:    5   89  K:    1    2  L:    1    3
+ eval    EX#1     C:  4 dset:   1 I:      1    160  J:    1  100  K:    1   27  L:      1      3
+ reading TEMP     M: 32 dset:   1 I:      1    160  J:    5   89  K:    1    2  L:      1      3
 load temp[g=u]
  dealloc  dynamic grid PS3DT2          PSXT      PSYT      PSZT      TIME2
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- eval    EX#1     C:  4 dset:   1 I:    1  160  J:    1  100  K:    1   27  L:    1    3
+ eval    EX#1     C:  4 dset:   1 I:      1    160  J:    1  100  K:    1   27  L:      1      3
  strip regrid on X: TEMP --> PS3DU2           @LIN
- strip modulo-void-filling TEMP on X axis:     1   161 dset:   1
- found   TEMP     M: 32 dset:   1 I:    1  160  J:    5   89  K:    1    2  L:    1    3
- doing modulo-void-filling TEMP on X axis:     1   160 dset:   1
+ strip modulo-void-filling TEMP on X axis:        1      161 dset:   1
+ found   TEMP     M: 32 dset:   1 I:      1    160  J:    5   89  K:    1    2  L:      1      3
+ doing modulo-void-filling TEMP on X axis:        1      160 dset:   1
  regrid XY
- regrid  TEMP     M: 34 dset:   1 I:    1  160  J:    1  100  K:    1    2  L:    1    3
+ regrid  TEMP     M: 34 dset:   1 I:      1    160  J:    1  100  K:    1    2  L:      1      3
 load temp[g=u at lin]
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- eval    EX#1     C:  4 dset:   1 I:    1  160  J:    1  100  K:    1   27  L:    1    3
+ eval    EX#1     C:  4 dset:   1 I:      1    160  J:    1  100  K:    1   27  L:      1      3
  strip regrid on X: TEMP --> PS3DU2           @LIN
- strip modulo-void-filling TEMP on X axis:     1   161 dset:   1
- found   TEMP     M: 33 dset:   1 I:    1  161  J:    5   89  K:    1    2  L:    1    3
- doing modulo-void-filling TEMP on X axis:     1   160 dset:   1
+ strip modulo-void-filling TEMP on X axis:        1      161 dset:   1
+ found   TEMP     M: 33 dset:   1 I:      1    161  J:    5   89  K:    1    2  L:      1      3
+ doing modulo-void-filling TEMP on X axis:        1      160 dset:   1
  regrid XY
- regrid  TEMP     M: 36 dset:   1 I:    1  160  J:    1  100  K:    1    2  L:    1    3
+ regrid  TEMP     M: 36 dset:   1 I:      1    160  J:    1  100  K:    1    2  L:      1      3
  
 load temp[g=u at ave]
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- eval    EX#1     C:  4 dset:   1 I:    1  160  J:    1  100  K:    1   27  L:    1    3
+ eval    EX#1     C:  4 dset:   1 I:      1    160  J:    1  100  K:    1   27  L:      1      3
  strip regrid on X: TEMP --> PS3DU2           @AAV
- strip modulo-void-filling TEMP on X axis:     1   161 dset:   1
- found   TEMP     M: 35 dset:   1 I:    1  161  J:    5   89  K:    1    2  L:    1    3
- doing modulo-void-filling TEMP on X axis:     1   160 dset:   1
+ strip modulo-void-filling TEMP on X axis:        1      161 dset:   1
+ found   TEMP     M: 35 dset:   1 I:      1    161  J:    5   89  K:    1    2  L:      1      3
+ doing modulo-void-filling TEMP on X axis:        1      160 dset:   1
  regrid XY
- regrid  TEMP     M: 38 dset:   1 I:    1  160  J:    1  100  K:    1    2  L:    1    3
+ regrid  TEMP     M: 38 dset:   1 I:      1    160  J:    1  100  K:    1    2  L:      1      3
 load temp[g=u,gx=u at ave]
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- eval    EX#1     C:  4 dset:   1 I:    1  160  J:    1  100  K:    1   27  L:    1    3
+ eval    EX#1     C:  4 dset:   1 I:      1    160  J:    1  100  K:    1   27  L:      1      3
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
  strip regrid on X: TEMP --> PS3DU2           @AVE
- strip modulo-void-filling TEMP on X axis:     1   161 dset:   1
+ strip modulo-void-filling TEMP on X axis:        1      161 dset:   1
  strip regrid on Y: TEMP --> XNTERMED         @LIN
- found   TEMP     M: 37 dset:   1 I:    1  161  J:    5   89  K:    1    2  L:    1    3
- regrid  TEMP     M: 39 dset:   1 I:    1  160  J:    1  100  K:    1    2  L:    1    3
- doing modulo-void-filling TEMP on X axis:     1   160 dset:   1
- regrid  TEMP     M: 41 dset:   1 I:    1  160  J:    1  100  K:    1    2  L:    1    3
- -DELETE TEMP     M: 40 dset:   1 I:    1  161  J:    1  100  K:    1    2  L:    1    3  M: -999 -999  N: -999 -999
+ found   TEMP     M: 37 dset:   1 I:      1    161  J:    5   89  K:    1    2  L:      1      3
+ regrid  TEMP     M: 39 dset:   1 I:      1    160  J:    1  100  K:    1    2  L:      1      3
+ doing modulo-void-filling TEMP on X axis:        1      160 dset:   1
+ regrid  TEMP     M: 41 dset:   1 I:      1    160  J:    1  100  K:    1    2  L:      1      3
+ -DELETE TEMP     M: 40 dset:   1 I:      1    161  J:    1  100  K:    1    2  L:      1      3  M: -999 -999  N: -999 -999
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
 load temp[g=u,gy=u at ave]
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- eval    EX#1     C:  4 dset:   1 I:    1  160  J:    1  100  K:    1   27  L:    1    3
+ eval    EX#1     C:  4 dset:   1 I:      1    160  J:    1  100  K:    1   27  L:      1      3
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
  strip regrid on X: TEMP --> PS3DU2           @LIN
- strip modulo-void-filling TEMP on X axis:     1   161 dset:   1
+ strip modulo-void-filling TEMP on X axis:        1      161 dset:   1
  strip regrid on Y: TEMP --> XNTERMED         @AVE
- found   TEMP     M: 37 dset:   1 I:    1  161  J:    5   89  K:    1    2  L:    1    3
- regrid  TEMP     M: 40 dset:   1 I:    1  160  J:    1  100  K:    1    2  L:    1    3
- doing modulo-void-filling TEMP on X axis:     1   160 dset:   1
- regrid  TEMP     M: 43 dset:   1 I:    1  160  J:    1  100  K:    1    2  L:    1    3
- -DELETE TEMP     M: 42 dset:   1 I:    1  161  J:    1  100  K:    1    2  L:    1    3  M: -999 -999  N: -999 -999
+ found   TEMP     M: 37 dset:   1 I:      1    161  J:    5   89  K:    1    2  L:      1      3
+ regrid  TEMP     M: 40 dset:   1 I:      1    160  J:    1  100  K:    1    2  L:      1      3
+ doing modulo-void-filling TEMP on X axis:        1      160 dset:   1
+ regrid  TEMP     M: 43 dset:   1 I:      1    160  J:    1  100  K:    1    2  L:      1      3
+ -DELETE TEMP     M: 42 dset:   1 I:      1    161  J:    1  100  K:    1    2  L:      1      3  M: -999 -999  N: -999 -999
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
  
 load temp[g=u at asn]
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- eval    EX#1     C:  4 dset:   1 I:    1  160  J:    1  100  K:    1   27  L:    1    3
+ eval    EX#1     C:  4 dset:   1 I:      1    160  J:    1  100  K:    1   27  L:      1      3
  strip regrid on X: TEMP --> PS3DU2           @ASN
  strip regrid on Y: TEMP --> XNTERMED         @ASN
- found   TEMP     M: 37 dset:   1 I:    1  161  J:    5   89  K:    1    2  L:    1    3
- regrid  TEMP     M: 42 dset:   1 I:    1  160  J:    1  100  K:    1    2  L:    1    3
- regrid  TEMP     M: 44 dset:   1 I:    1  160  J:    1  100  K:    1    2  L:    1    3
- -DELETE TEMP     M: 42 dset:   1 I:    1  160  J:    1  100  K:    1    2  L:    1    3  M: -999 -999  N: -999 -999
+ found   TEMP     M: 37 dset:   1 I:      1    161  J:    5   89  K:    1    2  L:      1      3
+ regrid  TEMP     M: 42 dset:   1 I:      1    160  J:    1  100  K:    1    2  L:      1      3
+ regrid  TEMP     M: 44 dset:   1 I:      1    160  J:    1  100  K:    1    2  L:      1      3
+ -DELETE TEMP     M: 42 dset:   1 I:      1    160  J:    1  100  K:    1    2  L:      1      3  M: -999 -999  N: -999 -999
 load temp[g=u,gx=u at asn]
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- eval    EX#1     C:  4 dset:   1 I:    1  160  J:    1  100  K:    1   27  L:    1    3
+ eval    EX#1     C:  4 dset:   1 I:      1    160  J:    1  100  K:    1   27  L:      1      3
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
  strip regrid on X: TEMP --> PS3DU2           @ASN
  strip regrid on Y: TEMP --> XNTERMED         @LIN
- found   TEMP     M: 37 dset:   1 I:    1  161  J:    5   89  K:    1    2  L:    1    3
- regrid  TEMP     M: 42 dset:   1 I:    1  160  J:    1  100  K:    1    2  L:    1    3
- regrid  TEMP     M: 45 dset:   1 I:    1  160  J:    1  100  K:    1    2  L:    1    3
- -DELETE TEMP     M: 42 dset:   1 I:    1  160  J:    1  100  K:    1    2  L:    1    3  M: -999 -999  N: -999 -999
+ found   TEMP     M: 37 dset:   1 I:      1    161  J:    5   89  K:    1    2  L:      1      3
+ regrid  TEMP     M: 42 dset:   1 I:      1    160  J:    1  100  K:    1    2  L:      1      3
+ regrid  TEMP     M: 45 dset:   1 I:      1    160  J:    1  100  K:    1    2  L:      1      3
+ -DELETE TEMP     M: 42 dset:   1 I:      1    160  J:    1  100  K:    1    2  L:      1      3  M: -999 -999  N: -999 -999
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
 load temp[g=u,gy=u at asn]
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- eval    EX#1     C:  4 dset:   1 I:    1  160  J:    1  100  K:    1   27  L:    1    3
+ eval    EX#1     C:  4 dset:   1 I:      1    160  J:    1  100  K:    1   27  L:      1      3
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
  strip regrid on X: TEMP --> PS3DU2           @LIN
- strip modulo-void-filling TEMP on X axis:     1   161 dset:   1
+ strip modulo-void-filling TEMP on X axis:        1      161 dset:   1
  strip regrid on Y: TEMP --> XNTERMED         @ASN
- found   TEMP     M: 37 dset:   1 I:    1  161  J:    5   89  K:    1    2  L:    1    3
- regrid  TEMP     M: 42 dset:   1 I:    1  160  J:    1  100  K:    1    2  L:    1    3
- doing modulo-void-filling TEMP on X axis:     1   160 dset:   1
- regrid  TEMP     M: 47 dset:   1 I:    1  160  J:    1  100  K:    1    2  L:    1    3
- -DELETE TEMP     M: 46 dset:   1 I:    1  161  J:    1  100  K:    1    2  L:    1    3  M: -999 -999  N: -999 -999
+ found   TEMP     M: 37 dset:   1 I:      1    161  J:    5   89  K:    1    2  L:      1      3
+ regrid  TEMP     M: 42 dset:   1 I:      1    160  J:    1  100  K:    1    2  L:      1      3
+ doing modulo-void-filling TEMP on X axis:        1      160 dset:   1
+ regrid  TEMP     M: 47 dset:   1 I:      1    160  J:    1  100  K:    1    2  L:      1      3
+ -DELETE TEMP     M: 46 dset:   1 I:      1    161  J:    1  100  K:    1    2  L:      1      3  M: -999 -999  N: -999 -999
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
  
 canc reg
@@ -16436,86 +16461,86 @@ use gtsa056_2		!kob 4/99
 set reg/i=101:105/j=41:42  ! z,t unspecified
 load temp[g=u]
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU1          PSXU      PSYU      PSZT      TIME1
- eval    EX#1     C:  4 dset:   2 I:  101  105  J:   41   42  K:    1   27  L:    1  168
+ eval    EX#1     C:  4 dset:   2 I:    101    105  J:   41   42  K:    1   27  L:      1    168
  strip regrid on X: TEMP --> PS3DU1           @LIN
- reading TEMP     M: 46 dset:   2 I:  101  106  J:   41   43  K:    1    2  L:    1  168
+ reading TEMP     M: 46 dset:   2 I:    101    106  J:   41   43  K:    1    2  L:      1    168
  regrid XY
- regrid  TEMP     M: 48 dset:   2 I:  101  105  J:   41   42  K:    1    2  L:    1  168
+ regrid  TEMP     M: 48 dset:   2 I:    101    105  J:   41   42  K:    1    2  L:      1    168
  
 load temp[g=u at ave]
  dealloc  dynamic grid PS3DU1          PSXU      PSYU      PSZT      TIME1
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU1          PSXU      PSYU      PSZT      TIME1
- eval    EX#1     C:  4 dset:   2 I:  101  105  J:   41   42  K:    1   27  L:    1  168
+ eval    EX#1     C:  4 dset:   2 I:    101    105  J:   41   42  K:    1   27  L:      1    168
  strip regrid on X: TEMP --> PS3DU1           @AAV
- found   TEMP     M: 46 dset:   2 I:  101  106  J:   41   43  K:    1    2  L:    1  168
+ found   TEMP     M: 46 dset:   2 I:    101    106  J:   41   43  K:    1    2  L:      1    168
  regrid XY
- regrid  TEMP     M: 49 dset:   2 I:  101  105  J:   41   42  K:    1    2  L:    1  168
+ regrid  TEMP     M: 49 dset:   2 I:    101    105  J:   41   42  K:    1    2  L:      1    168
 load temp[g=u,gz=u at ave]
  dealloc  dynamic grid PS3DU1          PSXU      PSYU      PSZT      TIME1
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU1          PSXU      PSYU      PSZT      TIME1
  dealloc  dynamic grid PS3DU1          PSXU      PSYU      PSZT      TIME1
  allocate dynamic grid PS3DU1          PSXU      PSYU      PSZT      TIME1
- eval    EX#1     C:  4 dset:   2 I:  101  105  J:   41   42  K:    1   27  L:    1  168
+ eval    EX#1     C:  4 dset:   2 I:    101    105  J:   41   42  K:    1   27  L:      1    168
  allocate dynamic grid PS3DU1          PSXU      PSYU      PSZT      TIME1
  strip regrid on X: TEMP --> PS3DU1           @LIN
- found   TEMP     M: 46 dset:   2 I:  101  106  J:   41   43  K:    1    2  L:    1  168
+ found   TEMP     M: 46 dset:   2 I:    101    106  J:   41   43  K:    1    2  L:      1    168
  regrid XY
- regrid  TEMP     M: 50 dset:   2 I:  101  105  J:   41   42  K:    1    2  L:    1  168
+ regrid  TEMP     M: 50 dset:   2 I:    101    105  J:   41   42  K:    1    2  L:      1    168
  dealloc  dynamic grid PS3DU1          PSXU      PSYU      PSZT      TIME1
 load temp[g=u,gt=u at ave]
  dealloc  dynamic grid PS3DU1          PSXU      PSYU      PSZT      TIME1
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU1          PSXU      PSYU      PSZT      TIME1
  dealloc  dynamic grid PS3DU1          PSXU      PSYU      PSZT      TIME1
  allocate dynamic grid PS3DU1          PSXU      PSYU      PSZT      TIME1
- eval    EX#1     C:  4 dset:   2 I:  101  105  J:   41   42  K:    1   27  L:    1  168
+ eval    EX#1     C:  4 dset:   2 I:    101    105  J:   41   42  K:    1   27  L:      1    168
  allocate dynamic grid PS3DU1          PSXU      PSYU      PSZT      TIME1
  strip regrid on X: TEMP --> PS3DU1           @LIN
- found   TEMP     M: 46 dset:   2 I:  101  106  J:   41   43  K:    1    2  L:    1  168
+ found   TEMP     M: 46 dset:   2 I:    101    106  J:   41   43  K:    1    2  L:      1    168
  regrid XY
- regrid  TEMP     M: 51 dset:   2 I:  101  105  J:   41   42  K:    1    2  L:    1  168
+ regrid  TEMP     M: 51 dset:   2 I:    101    105  J:   41   42  K:    1    2  L:      1    168
  dealloc  dynamic grid PS3DU1          PSXU      PSYU      PSZT      TIME1
  
 load temp[g=u at asn]
  dealloc  dynamic grid PS3DU1          PSXU      PSYU      PSZT      TIME1
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU1          PSXU      PSYU      PSZT      TIME1
- eval    EX#1     C:  4 dset:   2 I:  101  105  J:   41   42  K:    1   27  L:    1  168
+ eval    EX#1     C:  4 dset:   2 I:    101    105  J:   41   42  K:    1   27  L:      1    168
  strip regrid on X: TEMP --> PS3DU1           @ASN
  strip regrid on Y: TEMP --> XNTERMED         @ASN
- found   TEMP     M: 46 dset:   2 I:  101  106  J:   41   43  K:    1    2  L:    1  168
- regrid  TEMP     M: 52 dset:   2 I:  101  105  J:   41   42  K:    1    2  L:    1  168
- regrid  TEMP     M: 53 dset:   2 I:  101  105  J:   41   42  K:    1    2  L:    1  168
- -DELETE TEMP     M: 52 dset:   2 I:  101  105  J:   41   42  K:    1    2  L:    1  168  M: -999 -999  N: -999 -999
+ found   TEMP     M: 46 dset:   2 I:    101    106  J:   41   43  K:    1    2  L:      1    168
+ regrid  TEMP     M: 52 dset:   2 I:    101    105  J:   41   42  K:    1    2  L:      1    168
+ regrid  TEMP     M: 53 dset:   2 I:    101    105  J:   41   42  K:    1    2  L:      1    168
+ -DELETE TEMP     M: 52 dset:   2 I:    101    105  J:   41   42  K:    1    2  L:      1    168  M: -999 -999  N: -999 -999
 load temp[g=u,gz=u at asn]
  dealloc  dynamic grid PS3DU1          PSXU      PSYU      PSZT      TIME1
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU1          PSXU      PSYU      PSZT      TIME1
  dealloc  dynamic grid PS3DU1          PSXU      PSYU      PSZT      TIME1
  allocate dynamic grid PS3DU1          PSXU      PSYU      PSZT      TIME1
- eval    EX#1     C:  4 dset:   2 I:  101  105  J:   41   42  K:    1   27  L:    1  168
+ eval    EX#1     C:  4 dset:   2 I:    101    105  J:   41   42  K:    1   27  L:      1    168
  allocate dynamic grid PS3DU1          PSXU      PSYU      PSZT      TIME1
  strip regrid on X: TEMP --> PS3DU1           @LIN
- found   TEMP     M: 46 dset:   2 I:  101  106  J:   41   43  K:    1    2  L:    1  168
+ found   TEMP     M: 46 dset:   2 I:    101    106  J:   41   43  K:    1    2  L:      1    168
  regrid XY
- regrid  TEMP     M: 52 dset:   2 I:  101  105  J:   41   42  K:    1    2  L:    1  168
+ regrid  TEMP     M: 52 dset:   2 I:    101    105  J:   41   42  K:    1    2  L:      1    168
  dealloc  dynamic grid PS3DU1          PSXU      PSYU      PSZT      TIME1
 load temp[g=u,gt=u at asn]
  dealloc  dynamic grid PS3DU1          PSXU      PSYU      PSZT      TIME1
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU1          PSXU      PSYU      PSZT      TIME1
  dealloc  dynamic grid PS3DU1          PSXU      PSYU      PSZT      TIME1
  allocate dynamic grid PS3DU1          PSXU      PSYU      PSZT      TIME1
- eval    EX#1     C:  4 dset:   2 I:  101  105  J:   41   42  K:    1   27  L:    1  168
+ eval    EX#1     C:  4 dset:   2 I:    101    105  J:   41   42  K:    1   27  L:      1    168
  allocate dynamic grid PS3DU1          PSXU      PSYU      PSZT      TIME1
  strip regrid on X: TEMP --> PS3DU1           @LIN
- found   TEMP     M: 46 dset:   2 I:  101  106  J:   41   43  K:    1    2  L:    1  168
+ found   TEMP     M: 46 dset:   2 I:    101    106  J:   41   43  K:    1    2  L:      1    168
  regrid XY
- regrid  TEMP     M: 54 dset:   2 I:  101  105  J:   41   42  K:    1    2  L:    1  168
+ regrid  TEMP     M: 54 dset:   2 I:    101    105  J:   41   42  K:    1    2  L:      1    168
  dealloc  dynamic grid PS3DU1          PSXU      PSYU      PSZT      TIME1
 SET MODE/LAST IGNORE	! V.5 change
  
@@ -16529,68 +16554,68 @@ use gtsa056_1 		!kob 4/99
 set region/x=130E:90W/y=0/z=5/t=21-JAN-1982
 plot temp
  dealloc  dynamic grid PS3DU1          PSXU      PSYU      PSZT      TIME1
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DT2          PSXT      PSYT      PSZT      TIME2
  strip --> EX#1[T=21-JAN-198200:00 at ITP,D=1]
  strip --> EX#1[Y=0 at ITP,D=1]
- eval    EX#1     C:  6 dset:   1 I:    1  140  J:   45   46  K:    1    1  L:    2    3
- found   TEMP     M: 37 dset:   1 I:    1  161  J:    5   89  K:    1    2  L:    1    3
+ eval    EX#1     C:  6 dset:   1 I:      1    140  J:   45   46  K:    1    1  L:      2      3
+ found   TEMP     M: 37 dset:   1 I:      1    161  J:    5   89  K:    1    2  L:      1      3
  doing --> TEMP[Y=0 at ITP,D=1]
  doing --> TEMP[T=21-JAN-198200:00 at ITP,D=1]
 setting up plot
 PPL plot 1    complete
 plot/over temp[g=u]
  dealloc  dynamic grid PS3DT2          PSXT      PSYT      PSZT      TIME2
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
  strip --> EX#1[T=21-JAN-198200:00 at ITP,D=1]
  strip --> EX#1[Y=0 at ITP,D=1]
- eval    EX#1     C:  6 dset:   1 I:    0  140  J:   44   45  K:    1    1  L:    2    3
- strip moduloing TEMP on X axis:     0   140 dset:   1
- found   TEMP     M: 36 dset:   1 I:    1  160  J:    1  100  K:    1    2  L:    1    3
- doing moduloing TEMP on X axis:     1   140 dset:   1
+ eval    EX#1     C:  6 dset:   1 I:      0    140  J:   44   45  K:    1    1  L:      2      3
+ strip moduloing TEMP on X axis:        0      140 dset:   1
+ found   TEMP     M: 36 dset:   1 I:      1    160  J:    1  100  K:    1    2  L:      1      3
+ doing moduloing TEMP on X axis:        1      140 dset:   1
  doing --> TEMP[Y=0 at ITP,D=1]
  doing --> TEMP[T=21-JAN-198200:00 at ITP,D=1]
 setting up plot
 PPL plot 2    complete
 plot/over temp[g=g5day]
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip --> EX#1[T=21-JAN-198200:00 at ITP,D=1]
  strip --> EX#1[Y=0 at ITP,D=1]
- eval    EX#1     C:  6 dset:   1 I:    0  140  J:   44   45  K:    1    1  L:    2    3
- strip moduloing TEMP on X axis:     0   140 dset:   1
+ eval    EX#1     C:  6 dset:   1 I:      0    140  J:   44   45  K:    1    1  L:      2      3
+ strip moduloing TEMP on X axis:        0      140 dset:   1
  strip regrid on X: TEMP --> G5DAY            @LIN
  strip regrid on T: TEMP --> XNTERMED         @LIN
- reading TEMP     M: 60 dset:   1 I:    1  141  J:   44   46  K:    1    1  L:    2    5
- regrid  TEMP     M: 61 dset:   1 I:    1  141  J:   44   46  K:    1    1  L:    2    3
+ reading TEMP     M: 60 dset:   1 I:      1    141  J:   44   46  K:    1    1  L:      2      5
+ regrid  TEMP     M: 61 dset:   1 I:      1    141  J:   44   46  K:    1    1  L:      2      3
  regrid XY
- regrid  TEMP     M: 62 dset:   1 I:    1  140  J:   44   45  K:    1    1  L:    2    3
- -DELETE TEMP     M: 61 dset:   1 I:    1  141  J:   44   46  K:    1    1  L:    2    3  M: -999 -999  N: -999 -999
- doing moduloing TEMP on X axis:     1   140 dset:   1
+ regrid  TEMP     M: 62 dset:   1 I:      1    140  J:   44   45  K:    1    1  L:      2      3
+ -DELETE TEMP     M: 61 dset:   1 I:      1    141  J:   44   46  K:    1    1  L:      2      3  M: -999 -999  N: -999 -999
+ doing moduloing TEMP on X axis:        1      140 dset:   1
  doing --> TEMP[Y=0 at ITP,D=1]
  doing --> TEMP[T=21-JAN-198200:00 at ITP,D=1]
 setting up plot
 PPL plot 3    complete
 plot/over temp[g=g5_10]
  dealloc  dynamic grid G5DAY           PSXU      PSYU      PSZT      TAX5DAY
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip --> EX#1[T=21-JAN-198200:00 at ITP,D=1]
  strip --> EX#1[Z=5 at ITP,D=1]
  strip --> EX#1[Y=0 at ITP,D=1]
- eval    EX#1     C:  7 dset:   1 I:    2   16  J:   44   45  K:    1    1  L:    2    3
+ eval    EX#1     C:  7 dset:   1 I:      2     16  J:   44   45  K:    1    1  L:      2      3
  strip regrid on X: TEMP --> G5_10            @LIN
- strip moduloing TEMP on X axis:     0   141 dset:   1
+ strip moduloing TEMP on X axis:        0      141 dset:   1
  strip regrid on Z: TEMP --> XNTERMED         @LIN
  strip regrid on T: TEMP --> ZNTERMED         @LIN
- reading TEMP     M: 65 dset:   1 I:    1  141  J:   44   46  K:    1    2  L:    2    5
- regrid  TEMP     M: 66 dset:   1 I:    1  141  J:   44   46  K:    1    2  L:    2    3
- regrid  TEMP     M: 67 dset:   1 I:    1  141  J:   44   46  K:    1    1  L:    2    3
- -DELETE TEMP     M: 66 dset:   1 I:    1  141  J:   44   46  K:    1    2  L:    2    3  M: -999 -999  N: -999 -999
- doing moduloing TEMP on X axis:     1   141 dset:   1
+ reading TEMP     M: 65 dset:   1 I:      1    141  J:   44   46  K:    1    2  L:      2      5
+ regrid  TEMP     M: 66 dset:   1 I:      1    141  J:   44   46  K:    1    2  L:      2      3
+ regrid  TEMP     M: 67 dset:   1 I:      1    141  J:   44   46  K:    1    1  L:      2      3
+ -DELETE TEMP     M: 66 dset:   1 I:      1    141  J:   44   46  K:    1    2  L:      2      3  M: -999 -999  N: -999 -999
+ doing moduloing TEMP on X axis:        1      141 dset:   1
  regrid XY
- regrid  TEMP     M: 68 dset:   1 I:    2   16  J:   44   45  K:    1    1  L:    2    3
- -DELETE TEMP     M: 66 dset:   1 I:    0  141  J:   44   46  K:    1    1  L:    2    3  M: -999 -999  N: -999 -999
+ regrid  TEMP     M: 68 dset:   1 I:      2     16  J:   44   45  K:    1    1  L:      2      3
+ -DELETE TEMP     M: 66 dset:   1 I:      0    141  J:   44   46  K:    1    1  L:      2      3  M: -999 -999  N: -999 -999
  doing --> TEMP[Y=0 at ITP,D=1]
  doing --> TEMP[Z=5 at ITP,D=1]
  doing --> TEMP[T=21-JAN-198200:00 at ITP,D=1]
@@ -16598,56 +16623,56 @@ setting up plot
 PPL plot 4    complete
 plot/over temp[g=u at ave]
  dealloc  dynamic grid G5_10           XAX10     PSYU      PSZW      TAX5DAY
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
  strip --> EX#1[T=21-JAN-198200:00 at ITP,D=1]
  strip --> EX#1[Y=0 at ITP,D=1]
- eval    EX#1     C:  6 dset:   1 I:    0  140  J:   44   45  K:    1    1  L:    2    3
- strip moduloing TEMP on X axis:     0   140 dset:   1
- found   TEMP     M: 38 dset:   1 I:    1  160  J:    1  100  K:    1    2  L:    1    3
- doing moduloing TEMP on X axis:     1   140 dset:   1
+ eval    EX#1     C:  6 dset:   1 I:      0    140  J:   44   45  K:    1    1  L:      2      3
+ strip moduloing TEMP on X axis:        0      140 dset:   1
+ found   TEMP     M: 38 dset:   1 I:      1    160  J:    1  100  K:    1    2  L:      1      3
+ doing moduloing TEMP on X axis:        1      140 dset:   1
  doing --> TEMP[Y=0 at ITP,D=1]
  doing --> TEMP[T=21-JAN-198200:00 at ITP,D=1]
 setting up plot
 PPL plot 5    complete
 plot/over temp[g=g5day at ave]
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip --> EX#1[T=21-JAN-198200:00 at ITP,D=1]
  strip --> EX#1[Y=0 at ITP,D=1]
- eval    EX#1     C:  6 dset:   1 I:    0  140  J:   44   45  K:    1    1  L:    2    3
- strip moduloing TEMP on X axis:     0   140 dset:   1
+ eval    EX#1     C:  6 dset:   1 I:      0    140  J:   44   45  K:    1    1  L:      2      3
+ strip moduloing TEMP on X axis:        0      140 dset:   1
  strip regrid on X: TEMP --> G5DAY            @AAV
  strip regrid on T: TEMP --> XNTERMED         @AVE
- found   TEMP     M: 65 dset:   1 I:    1  141  J:   44   46  K:    1    2  L:    2    5
- regrid  TEMP     M: 74 dset:   1 I:    1  141  J:   44   46  K:    1    1  L:    2    3
+ found   TEMP     M: 65 dset:   1 I:      1    141  J:   44   46  K:    1    2  L:      2      5
+ regrid  TEMP     M: 74 dset:   1 I:      1    141  J:   44   46  K:    1    1  L:      2      3
  regrid XY
- regrid  TEMP     M: 75 dset:   1 I:    1  140  J:   44   45  K:    1    1  L:    2    3
- -DELETE TEMP     M: 74 dset:   1 I:    1  141  J:   44   46  K:    1    1  L:    2    3  M: -999 -999  N: -999 -999
- doing moduloing TEMP on X axis:     1   140 dset:   1
+ regrid  TEMP     M: 75 dset:   1 I:      1    140  J:   44   45  K:    1    1  L:      2      3
+ -DELETE TEMP     M: 74 dset:   1 I:      1    141  J:   44   46  K:    1    1  L:      2      3  M: -999 -999  N: -999 -999
+ doing moduloing TEMP on X axis:        1      140 dset:   1
  doing --> TEMP[Y=0 at ITP,D=1]
  doing --> TEMP[T=21-JAN-198200:00 at ITP,D=1]
 setting up plot
 PPL plot 6    complete
 plot/over temp[g=g5_10 at ave]
  dealloc  dynamic grid G5DAY           PSXU      PSYU      PSZT      TAX5DAY
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip --> EX#1[T=21-JAN-198200:00 at ITP,D=1]
  strip --> EX#1[Z=5 at ITP,D=1]
  strip --> EX#1[Y=0 at ITP,D=1]
- eval    EX#1     C:  7 dset:   1 I:    2   16  J:   44   45  K:    1    1  L:    2    3
+ eval    EX#1     C:  7 dset:   1 I:      2     16  J:   44   45  K:    1    1  L:      2      3
  strip regrid on X: TEMP --> G5_10            @AAV
- strip moduloing TEMP on X axis:     0   146 dset:   1
+ strip moduloing TEMP on X axis:        0      146 dset:   1
  strip regrid on Z: TEMP --> XNTERMED         @AVE
  strip regrid on T: TEMP --> ZNTERMED         @AVE
- reading TEMP     M: 78 dset:   1 I:    1  146  J:   44   46  K:    1    2  L:    2    5
- regrid  TEMP     M: 79 dset:   1 I:    1  146  J:   44   46  K:    1    2  L:    2    3
- regrid  TEMP     M: 80 dset:   1 I:    1  146  J:   44   46  K:    1    1  L:    2    3
- -DELETE TEMP     M: 79 dset:   1 I:    1  146  J:   44   46  K:    1    2  L:    2    3  M: -999 -999  N: -999 -999
- doing moduloing TEMP on X axis:     1   146 dset:   1
+ reading TEMP     M: 78 dset:   1 I:      1    146  J:   44   46  K:    1    2  L:      2      5
+ regrid  TEMP     M: 79 dset:   1 I:      1    146  J:   44   46  K:    1    2  L:      2      3
+ regrid  TEMP     M: 80 dset:   1 I:      1    146  J:   44   46  K:    1    1  L:      2      3
+ -DELETE TEMP     M: 79 dset:   1 I:      1    146  J:   44   46  K:    1    2  L:      2      3  M: -999 -999  N: -999 -999
+ doing moduloing TEMP on X axis:        1      146 dset:   1
  regrid XY
- regrid  TEMP     M: 81 dset:   1 I:    2   16  J:   44   45  K:    1    1  L:    2    3
- -DELETE TEMP     M: 79 dset:   1 I:    0  146  J:   44   46  K:    1    1  L:    2    3  M: -999 -999  N: -999 -999
+ regrid  TEMP     M: 81 dset:   1 I:      2     16  J:   44   45  K:    1    1  L:      2      3
+ -DELETE TEMP     M: 79 dset:   1 I:      0    146  J:   44   46  K:    1    1  L:      2      3  M: -999 -999  N: -999 -999
  doing --> TEMP[Y=0 at ITP,D=1]
  doing --> TEMP[Z=5 at ITP,D=1]
  doing --> TEMP[T=21-JAN-198200:00 at ITP,D=1]
@@ -16655,52 +16680,52 @@ setting up plot
 PPL plot 7    complete
 plot/over temp[g=u at asn]
  dealloc  dynamic grid G5_10           XAX10     PSYU      PSZW      TAX5DAY
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
  strip --> EX#1[T=21-JAN-198200:00 at ITP,D=1]
  strip --> EX#1[Y=0 at ITP,D=1]
- eval    EX#1     C:  6 dset:   1 I:    0  140  J:   44   45  K:    1    1  L:    2    3
- strip moduloing TEMP on X axis:     0   140 dset:   1
- found   TEMP     M: 44 dset:   1 I:    1  160  J:    1  100  K:    1    2  L:    1    3
- doing moduloing TEMP on X axis:     1   140 dset:   1
+ eval    EX#1     C:  6 dset:   1 I:      0    140  J:   44   45  K:    1    1  L:      2      3
+ strip moduloing TEMP on X axis:        0      140 dset:   1
+ found   TEMP     M: 44 dset:   1 I:      1    160  J:    1  100  K:    1    2  L:      1      3
+ doing moduloing TEMP on X axis:        1      140 dset:   1
  doing --> TEMP[Y=0 at ITP,D=1]
  doing --> TEMP[T=21-JAN-198200:00 at ITP,D=1]
 setting up plot
 PPL plot 8    complete
 plot/over temp[g=g5day at asn]
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip --> EX#1[T=21-JAN-198200:00 at ITP,D=1]
  strip --> EX#1[Y=0 at ITP,D=1]
- eval    EX#1     C:  6 dset:   1 I:    0  140  J:   44   45  K:    1    1  L:    2    3
- strip moduloing TEMP on X axis:     0   140 dset:   1
+ eval    EX#1     C:  6 dset:   1 I:      0    140  J:   44   45  K:    1    1  L:      2      3
+ strip moduloing TEMP on X axis:        0      140 dset:   1
  strip regrid on X: TEMP --> G5DAY            @ASN
  strip regrid on Y: TEMP --> XNTERMED         @ASN
  strip regrid on T: TEMP --> YNTERMED         @ASN
- found   TEMP     M: 78 dset:   1 I:    1  146  J:   44   46  K:    1    2  L:    2    5
- regrid  TEMP     M: 87 dset:   1 I:    1  140  J:   44   45  K:    1    1  L:    2    3
- regrid  TEMP     M: 88 dset:   1 I:    1  140  J:   44   45  K:    1    1  L:    2    3
- -DELETE TEMP     M: 87 dset:   1 I:    1  140  J:   44   45  K:    1    1  L:    2    3  M: -999 -999  N: -999 -999
- regrid  TEMP     M: 87 dset:   1 I:    1  140  J:   44   45  K:    1    1  L:    2    3
- -DELETE TEMP     M: 88 dset:   1 I:    1  140  J:   44   45  K:    1    1  L:    2    3  M: -999 -999  N: -999 -999
- doing moduloing TEMP on X axis:     1   140 dset:   1
+ found   TEMP     M: 78 dset:   1 I:      1    146  J:   44   46  K:    1    2  L:      2      5
+ regrid  TEMP     M: 87 dset:   1 I:      1    140  J:   44   45  K:    1    1  L:      2      3
+ regrid  TEMP     M: 88 dset:   1 I:      1    140  J:   44   45  K:    1    1  L:      2      3
+ -DELETE TEMP     M: 87 dset:   1 I:      1    140  J:   44   45  K:    1    1  L:      2      3  M: -999 -999  N: -999 -999
+ regrid  TEMP     M: 87 dset:   1 I:      1    140  J:   44   45  K:    1    1  L:      2      3
+ -DELETE TEMP     M: 88 dset:   1 I:      1    140  J:   44   45  K:    1    1  L:      2      3  M: -999 -999  N: -999 -999
+ doing moduloing TEMP on X axis:        1      140 dset:   1
  doing --> TEMP[Y=0 at ITP,D=1]
  doing --> TEMP[T=21-JAN-198200:00 at ITP,D=1]
 setting up plot
 PPL plot 9    complete
 plot/over temp[g=u,gx=u at ave]
  dealloc  dynamic grid G5DAY           PSXU      PSYU      PSZT      TAX5DAY
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
  strip --> EX#1[T=21-JAN-198200:00 at ITP,D=1]
  strip --> EX#1[Y=0 at ITP,D=1]
- eval    EX#1     C:  6 dset:   1 I:    0  140  J:   44   45  K:    1    1  L:    2    3
+ eval    EX#1     C:  6 dset:   1 I:      0    140  J:   44   45  K:    1    1  L:      2      3
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- strip moduloing TEMP on X axis:     0   140 dset:   1
- found   TEMP     M: 41 dset:   1 I:    1  160  J:    1  100  K:    1    2  L:    1    3
- doing moduloing TEMP on X axis:     1   140 dset:   1
+ strip moduloing TEMP on X axis:        0      140 dset:   1
+ found   TEMP     M: 41 dset:   1 I:      1    160  J:    1  100  K:    1    2  L:      1      3
+ doing moduloing TEMP on X axis:        1      140 dset:   1
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
  doing --> TEMP[Y=0 at ITP,D=1]
  doing --> TEMP[T=21-JAN-198200:00 at ITP,D=1]
@@ -16708,46 +16733,46 @@ setting up plot
 PPL plot 10   complete
 plot/over temp[g=g5day,gx=g5day at ave]
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip --> EX#1[T=21-JAN-198200:00 at ITP,D=1]
  strip --> EX#1[Y=0 at ITP,D=1]
- eval    EX#1     C:  6 dset:   1 I:    0  140  J:   44   45  K:    1    1  L:    2    3
- strip moduloing TEMP on X axis:     0   140 dset:   1
+ eval    EX#1     C:  6 dset:   1 I:      0    140  J:   44   45  K:    1    1  L:      2      3
+ strip moduloing TEMP on X axis:        0      140 dset:   1
  strip regrid on X: TEMP --> G5DAY            @AVE
  strip regrid on Y: TEMP --> XNTERMED         @LIN
  strip regrid on T: TEMP --> YNTERMED         @LIN
- found   TEMP     M: 78 dset:   1 I:    1  146  J:   44   46  K:    1    2  L:    2    5
- regrid  TEMP     M: 94 dset:   1 I:    1  141  J:   44   46  K:    1    1  L:    2    3
- regrid  TEMP     M: 95 dset:   1 I:    1  141  J:   44   45  K:    1    1  L:    2    3
- -DELETE TEMP     M: 94 dset:   1 I:    1  141  J:   44   46  K:    1    1  L:    2    3  M: -999 -999  N: -999 -999
- regrid  TEMP     M: 94 dset:   1 I:    1  140  J:   44   45  K:    1    1  L:    2    3
- -DELETE TEMP     M: 95 dset:   1 I:    1  141  J:   44   45  K:    1    1  L:    2    3  M: -999 -999  N: -999 -999
- doing moduloing TEMP on X axis:     1   140 dset:   1
+ found   TEMP     M: 78 dset:   1 I:      1    146  J:   44   46  K:    1    2  L:      2      5
+ regrid  TEMP     M: 94 dset:   1 I:      1    141  J:   44   46  K:    1    1  L:      2      3
+ regrid  TEMP     M: 95 dset:   1 I:      1    141  J:   44   45  K:    1    1  L:      2      3
+ -DELETE TEMP     M: 94 dset:   1 I:      1    141  J:   44   46  K:    1    1  L:      2      3  M: -999 -999  N: -999 -999
+ regrid  TEMP     M: 94 dset:   1 I:      1    140  J:   44   45  K:    1    1  L:      2      3
+ -DELETE TEMP     M: 95 dset:   1 I:      1    141  J:   44   45  K:    1    1  L:      2      3  M: -999 -999  N: -999 -999
+ doing moduloing TEMP on X axis:        1      140 dset:   1
  doing --> TEMP[Y=0 at ITP,D=1]
  doing --> TEMP[T=21-JAN-198200:00 at ITP,D=1]
 setting up plot
 PPL plot 11   complete
 plot/over temp[g=g5_10,gx=g5_10 at ave]
  dealloc  dynamic grid G5DAY           PSXU      PSYU      PSZT      TAX5DAY
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip --> EX#1[T=21-JAN-198200:00 at ITP,D=1]
  strip --> EX#1[Z=5 at ITP,D=1]
  strip --> EX#1[Y=0 at ITP,D=1]
- eval    EX#1     C:  7 dset:   1 I:    2   16  J:   44   45  K:    1    1  L:    2    3
+ eval    EX#1     C:  7 dset:   1 I:      2     16  J:   44   45  K:    1    1  L:      2      3
  strip regrid on X: TEMP --> G5_10            @AVE
- strip moduloing TEMP on X axis:     0   146 dset:   1
+ strip moduloing TEMP on X axis:        0      146 dset:   1
  strip regrid on Y: TEMP --> XNTERMED         @LIN
  strip regrid on Z: TEMP --> YNTERMED         @LIN
  strip regrid on T: TEMP --> ZNTERMED         @LIN
- found   TEMP     M: 78 dset:   1 I:    1  146  J:   44   46  K:    1    2  L:    2    5
- regrid  TEMP     M: 98 dset:   1 I:    1  146  J:   44   46  K:    1    2  L:    2    3
- regrid  TEMP     M: 99 dset:   1 I:    1  146  J:   44   46  K:    1    1  L:    2    3
- -DELETE TEMP     M: 98 dset:   1 I:    1  146  J:   44   46  K:    1    2  L:    2    3  M: -999 -999  N: -999 -999
- regrid  TEMP     M: 98 dset:   1 I:    1  146  J:   44   45  K:    1    1  L:    2    3
- -DELETE TEMP     M: 99 dset:   1 I:    1  146  J:   44   46  K:    1    1  L:    2    3  M: -999 -999  N: -999 -999
- doing moduloing TEMP on X axis:     1   146 dset:   1
- regrid  TEMP     M:100 dset:   1 I:    2   16  J:   44   45  K:    1    1  L:    2    3
- -DELETE TEMP     M: 99 dset:   1 I:    0  146  J:   44   45  K:    1    1  L:    2    3  M: -999 -999  N: -999 -999
+ found   TEMP     M: 78 dset:   1 I:      1    146  J:   44   46  K:    1    2  L:      2      5
+ regrid  TEMP     M: 98 dset:   1 I:      1    146  J:   44   46  K:    1    2  L:      2      3
+ regrid  TEMP     M: 99 dset:   1 I:      1    146  J:   44   46  K:    1    1  L:      2      3
+ -DELETE TEMP     M: 98 dset:   1 I:      1    146  J:   44   46  K:    1    2  L:      2      3  M: -999 -999  N: -999 -999
+ regrid  TEMP     M: 98 dset:   1 I:      1    146  J:   44   45  K:    1    1  L:      2      3
+ -DELETE TEMP     M: 99 dset:   1 I:      1    146  J:   44   46  K:    1    1  L:      2      3  M: -999 -999  N: -999 -999
+ doing moduloing TEMP on X axis:        1      146 dset:   1
+ regrid  TEMP     M:100 dset:   1 I:      2     16  J:   44   45  K:    1    1  L:      2      3
+ -DELETE TEMP     M: 99 dset:   1 I:      0    146  J:   44   45  K:    1    1  L:      2      3  M: -999 -999  N: -999 -999
  doing --> TEMP[Y=0 at ITP,D=1]
  doing --> TEMP[Z=5 at ITP,D=1]
  doing --> TEMP[T=21-JAN-198200:00 at ITP,D=1]
@@ -16755,23 +16780,23 @@ setting up plot
 PPL plot 12   complete
 plot/over temp[g=g5_10 at asn]   ! invalid interpretation of data
  dealloc  dynamic grid G5_10           XAX10     PSYU      PSZW      TAX5DAY
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip --> EX#1[T=21-JAN-198200:00 at ITP,D=1]
  strip --> EX#1[Z=5 at ITP,D=1]
  strip --> EX#1[Y=0 at ITP,D=1]
- eval    EX#1     C:  7 dset:   1 I:    2   16  J:   44   45  K:    1    1  L:    2    3
+ eval    EX#1     C:  7 dset:   1 I:      2     16  J:   44   45  K:    1    1  L:      2      3
  strip regrid on X: TEMP --> G5_10            @ASN
  strip regrid on Y: TEMP --> XNTERMED         @ASN
  strip regrid on Z: TEMP --> YNTERMED         @ASN
  strip regrid on T: TEMP --> ZNTERMED         @ASN
- found   TEMP     M: 78 dset:   1 I:    1  146  J:   44   46  K:    1    2  L:    2    5
- regrid  TEMP     M:103 dset:   1 I:    2   16  J:   44   45  K:    1    1  L:    2    3
- regrid  TEMP     M:104 dset:   1 I:    2   16  J:   44   45  K:    1    1  L:    2    3
- -DELETE TEMP     M:103 dset:   1 I:    2   16  J:   44   45  K:    1    1  L:    2    3  M: -999 -999  N: -999 -999
- regrid  TEMP     M:103 dset:   1 I:    2   16  J:   44   45  K:    1    1  L:    2    3
- -DELETE TEMP     M:104 dset:   1 I:    2   16  J:   44   45  K:    1    1  L:    2    3  M: -999 -999  N: -999 -999
- regrid  TEMP     M:104 dset:   1 I:    2   16  J:   44   45  K:    1    1  L:    2    3
- -DELETE TEMP     M:103 dset:   1 I:    2   16  J:   44   45  K:    1    1  L:    2    3  M: -999 -999  N: -999 -999
+ found   TEMP     M: 78 dset:   1 I:      1    146  J:   44   46  K:    1    2  L:      2      5
+ regrid  TEMP     M:103 dset:   1 I:      2     16  J:   44   45  K:    1    1  L:      2      3
+ regrid  TEMP     M:104 dset:   1 I:      2     16  J:   44   45  K:    1    1  L:      2      3
+ -DELETE TEMP     M:103 dset:   1 I:      2     16  J:   44   45  K:    1    1  L:      2      3  M: -999 -999  N: -999 -999
+ regrid  TEMP     M:103 dset:   1 I:      2     16  J:   44   45  K:    1    1  L:      2      3
+ -DELETE TEMP     M:104 dset:   1 I:      2     16  J:   44   45  K:    1    1  L:      2      3  M: -999 -999  N: -999 -999
+ regrid  TEMP     M:104 dset:   1 I:      2     16  J:   44   45  K:    1    1  L:      2      3
+ -DELETE TEMP     M:103 dset:   1 I:      2     16  J:   44   45  K:    1    1  L:      2      3  M: -999 -999  N: -999 -999
  doing --> TEMP[Y=0 at ITP,D=1]
  doing --> TEMP[Z=5 at ITP,D=1]
  doing --> TEMP[T=21-JAN-198200:00 at ITP,D=1]
@@ -16782,204 +16807,204 @@ PPL plot 13   complete
 set region/x=180/y=20s:20n/z=5/t=21-JAN-1982
 plot temp
  dealloc  dynamic grid G5_10           XAX10     PSYU      PSZW      TAX5DAY
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DT2          PSXT      PSYT      PSZT      TIME2
  strip --> EX#1[T=21-JAN-198200:00 at ITP,D=1]
  strip --> EX#1[X=180E at ITP,D=1]
- eval    EX#1     C:  6 dset:   1 I:   50   51  J:    5   88  K:    1    1  L:    2    3
- found   TEMP     M: 37 dset:   1 I:    1  161  J:    5   89  K:    1    2  L:    1    3
+ eval    EX#1     C:  6 dset:   1 I:     50     51  J:    5   88  K:    1    1  L:      2      3
+ found   TEMP     M: 37 dset:   1 I:      1    161  J:    5   89  K:    1    2  L:      1      3
  doing --> TEMP[X=180E at ITP,D=1]
  doing --> TEMP[T=21-JAN-198200:00 at ITP,D=1]
 setting up plot
 PPL plot 14   complete
 plot/over temp[g=u]
  dealloc  dynamic grid PS3DT2          PSXT      PSYT      PSZT      TIME2
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
  strip --> EX#1[T=21-JAN-198200:00 at ITP,D=1]
- eval    EX#1     C:  5 dset:   1 I:   50   50  J:    5   88  K:    1    1  L:    2    3
- found   TEMP     M: 36 dset:   1 I:    1  160  J:    1  100  K:    1    2  L:    1    3
+ eval    EX#1     C:  5 dset:   1 I:     50     50  J:    5   88  K:    1    1  L:      2      3
+ found   TEMP     M: 36 dset:   1 I:      1    160  J:    1  100  K:    1    2  L:      1      3
  doing --> TEMP[T=21-JAN-198200:00 at ITP,D=1]
 setting up plot
 PPL plot 15   complete
 plot/over temp[g=g5day]
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip --> EX#1[T=21-JAN-198200:00 at ITP,D=1]
- eval    EX#1     C:  5 dset:   1 I:   50   50  J:    5   88  K:    1    1  L:    2    3
+ eval    EX#1     C:  5 dset:   1 I:     50     50  J:    5   88  K:    1    1  L:      2      3
  strip regrid on X: TEMP --> G5DAY            @LIN
  strip regrid on T: TEMP --> XNTERMED         @LIN
- reading TEMP     M:110 dset:   1 I:   50   51  J:    5   89  K:    1    1  L:    2    5
- regrid  TEMP     M:111 dset:   1 I:   50   51  J:    5   89  K:    1    1  L:    2    3
+ reading TEMP     M:110 dset:   1 I:     50     51  J:    5   89  K:    1    1  L:      2      5
+ regrid  TEMP     M:111 dset:   1 I:     50     51  J:    5   89  K:    1    1  L:      2      3
  regrid XY
- regrid  TEMP     M:112 dset:   1 I:   50   50  J:    5   88  K:    1    1  L:    2    3
- -DELETE TEMP     M:111 dset:   1 I:   50   51  J:    5   89  K:    1    1  L:    2    3  M: -999 -999  N: -999 -999
+ regrid  TEMP     M:112 dset:   1 I:     50     50  J:    5   88  K:    1    1  L:      2      3
+ -DELETE TEMP     M:111 dset:   1 I:     50     51  J:    5   89  K:    1    1  L:      2      3  M: -999 -999  N: -999 -999
  doing --> TEMP[T=21-JAN-198200:00 at ITP,D=1]
 setting up plot
 PPL plot 16   complete
 plot/over temp[g=g5_10]
  dealloc  dynamic grid G5DAY           PSXU      PSYU      PSZT      TAX5DAY
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip --> EX#1[T=21-JAN-198200:00 at ITP,D=1]
  strip --> EX#1[Z=5 at ITP,D=1]
- eval    EX#1     C:  6 dset:   1 I:    7    7  J:    5   88  K:    1    1  L:    2    3
+ eval    EX#1     C:  6 dset:   1 I:      7      7  J:    5   88  K:    1    1  L:      2      3
  strip regrid on X: TEMP --> G5_10            @LIN
  strip regrid on Z: TEMP --> XNTERMED         @LIN
  strip regrid on T: TEMP --> ZNTERMED         @LIN
- reading TEMP     M:113 dset:   1 I:   50   51  J:    5   89  K:    1    2  L:    2    5
- regrid  TEMP     M:114 dset:   1 I:   50   51  J:    5   89  K:    1    2  L:    2    3
- regrid  TEMP     M:115 dset:   1 I:   50   51  J:    5   89  K:    1    1  L:    2    3
- -DELETE TEMP     M:114 dset:   1 I:   50   51  J:    5   89  K:    1    2  L:    2    3  M: -999 -999  N: -999 -999
+ reading TEMP     M:113 dset:   1 I:     50     51  J:    5   89  K:    1    2  L:      2      5
+ regrid  TEMP     M:114 dset:   1 I:     50     51  J:    5   89  K:    1    2  L:      2      3
+ regrid  TEMP     M:115 dset:   1 I:     50     51  J:    5   89  K:    1    1  L:      2      3
+ -DELETE TEMP     M:114 dset:   1 I:     50     51  J:    5   89  K:    1    2  L:      2      3  M: -999 -999  N: -999 -999
  regrid XY
- regrid  TEMP     M:114 dset:   1 I:    7    7  J:    5   88  K:    1    1  L:    2    3
- -DELETE TEMP     M:115 dset:   1 I:   50   51  J:    5   89  K:    1    1  L:    2    3  M: -999 -999  N: -999 -999
+ regrid  TEMP     M:114 dset:   1 I:      7      7  J:    5   88  K:    1    1  L:      2      3
+ -DELETE TEMP     M:115 dset:   1 I:     50     51  J:    5   89  K:    1    1  L:      2      3  M: -999 -999  N: -999 -999
  doing --> TEMP[Z=5 at ITP,D=1]
  doing --> TEMP[T=21-JAN-198200:00 at ITP,D=1]
 setting up plot
 PPL plot 17   complete
 plot/over temp[g=u at ave]
  dealloc  dynamic grid G5_10           XAX10     PSYU      PSZW      TAX5DAY
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
  strip --> EX#1[T=21-JAN-198200:00 at ITP,D=1]
- eval    EX#1     C:  5 dset:   1 I:   50   50  J:    5   88  K:    1    1  L:    2    3
- found   TEMP     M: 38 dset:   1 I:    1  160  J:    1  100  K:    1    2  L:    1    3
+ eval    EX#1     C:  5 dset:   1 I:     50     50  J:    5   88  K:    1    1  L:      2      3
+ found   TEMP     M: 38 dset:   1 I:      1    160  J:    1  100  K:    1    2  L:      1      3
  doing --> TEMP[T=21-JAN-198200:00 at ITP,D=1]
 setting up plot
 PPL plot 18   complete
 plot/over temp[g=g5day at ave]
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip --> EX#1[T=21-JAN-198200:00 at ITP,D=1]
- eval    EX#1     C:  5 dset:   1 I:   50   50  J:    5   88  K:    1    1  L:    2    3
+ eval    EX#1     C:  5 dset:   1 I:     50     50  J:    5   88  K:    1    1  L:      2      3
  strip regrid on X: TEMP --> G5DAY            @AAV
  strip regrid on T: TEMP --> XNTERMED         @AVE
- found   TEMP     M:113 dset:   1 I:   50   51  J:    5   89  K:    1    2  L:    2    5
- regrid  TEMP     M:118 dset:   1 I:   50   51  J:    5   89  K:    1    1  L:    2    3
+ found   TEMP     M:113 dset:   1 I:     50     51  J:    5   89  K:    1    2  L:      2      5
+ regrid  TEMP     M:118 dset:   1 I:     50     51  J:    5   89  K:    1    1  L:      2      3
  regrid XY
- regrid  TEMP     M:119 dset:   1 I:   50   50  J:    5   88  K:    1    1  L:    2    3
- -DELETE TEMP     M:118 dset:   1 I:   50   51  J:    5   89  K:    1    1  L:    2    3  M: -999 -999  N: -999 -999
+ regrid  TEMP     M:119 dset:   1 I:     50     50  J:    5   88  K:    1    1  L:      2      3
+ -DELETE TEMP     M:118 dset:   1 I:     50     51  J:    5   89  K:    1    1  L:      2      3  M: -999 -999  N: -999 -999
  doing --> TEMP[T=21-JAN-198200:00 at ITP,D=1]
 setting up plot
 PPL plot 19   complete
 plot/over temp[g=g5_10 at ave]
  dealloc  dynamic grid G5DAY           PSXU      PSYU      PSZT      TAX5DAY
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip --> EX#1[T=21-JAN-198200:00 at ITP,D=1]
  strip --> EX#1[Z=5 at ITP,D=1]
- eval    EX#1     C:  6 dset:   1 I:    7    7  J:    5   88  K:    1    1  L:    2    3
+ eval    EX#1     C:  6 dset:   1 I:      7      7  J:    5   88  K:    1    1  L:      2      3
  strip regrid on X: TEMP --> G5_10            @AAV
  strip regrid on Z: TEMP --> XNTERMED         @AVE
  strip regrid on T: TEMP --> ZNTERMED         @AVE
- reading TEMP     M:120 dset:   1 I:   45   56  J:    5   89  K:    1    2  L:    2    5
- regrid  TEMP     M:121 dset:   1 I:   45   56  J:    5   89  K:    1    2  L:    2    3
- regrid  TEMP     M:122 dset:   1 I:   45   56  J:    5   89  K:    1    1  L:    2    3
- -DELETE TEMP     M:121 dset:   1 I:   45   56  J:    5   89  K:    1    2  L:    2    3  M: -999 -999  N: -999 -999
+ reading TEMP     M:120 dset:   1 I:     45     56  J:    5   89  K:    1    2  L:      2      5
+ regrid  TEMP     M:121 dset:   1 I:     45     56  J:    5   89  K:    1    2  L:      2      3
+ regrid  TEMP     M:122 dset:   1 I:     45     56  J:    5   89  K:    1    1  L:      2      3
+ -DELETE TEMP     M:121 dset:   1 I:     45     56  J:    5   89  K:    1    2  L:      2      3  M: -999 -999  N: -999 -999
  regrid XY
- regrid  TEMP     M:121 dset:   1 I:    7    7  J:    5   88  K:    1    1  L:    2    3
- -DELETE TEMP     M:122 dset:   1 I:   45   56  J:    5   89  K:    1    1  L:    2    3  M: -999 -999  N: -999 -999
+ regrid  TEMP     M:121 dset:   1 I:      7      7  J:    5   88  K:    1    1  L:      2      3
+ -DELETE TEMP     M:122 dset:   1 I:     45     56  J:    5   89  K:    1    1  L:      2      3  M: -999 -999  N: -999 -999
  doing --> TEMP[Z=5 at ITP,D=1]
  doing --> TEMP[T=21-JAN-198200:00 at ITP,D=1]
 setting up plot
 PPL plot 20   complete
 plot/over temp[g=u at asn]
  dealloc  dynamic grid G5_10           XAX10     PSYU      PSZW      TAX5DAY
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
  strip --> EX#1[T=21-JAN-198200:00 at ITP,D=1]
- eval    EX#1     C:  5 dset:   1 I:   50   50  J:    5   88  K:    1    1  L:    2    3
- found   TEMP     M: 44 dset:   1 I:    1  160  J:    1  100  K:    1    2  L:    1    3
+ eval    EX#1     C:  5 dset:   1 I:     50     50  J:    5   88  K:    1    1  L:      2      3
+ found   TEMP     M: 44 dset:   1 I:      1    160  J:    1  100  K:    1    2  L:      1      3
  doing --> TEMP[T=21-JAN-198200:00 at ITP,D=1]
 setting up plot
 PPL plot 21   complete
 plot/over temp[g=g5day at asn]
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip --> EX#1[T=21-JAN-198200:00 at ITP,D=1]
- eval    EX#1     C:  5 dset:   1 I:   50   50  J:    5   88  K:    1    1  L:    2    3
+ eval    EX#1     C:  5 dset:   1 I:     50     50  J:    5   88  K:    1    1  L:      2      3
  strip regrid on X: TEMP --> G5DAY            @ASN
  strip regrid on Y: TEMP --> XNTERMED         @ASN
  strip regrid on T: TEMP --> YNTERMED         @ASN
- found   TEMP     M:120 dset:   1 I:   45   56  J:    5   89  K:    1    2  L:    2    5
- regrid  TEMP     M:125 dset:   1 I:   50   50  J:    5   88  K:    1    1  L:    2    3
- regrid  TEMP     M:126 dset:   1 I:   50   50  J:    5   88  K:    1    1  L:    2    3
- -DELETE TEMP     M:125 dset:   1 I:   50   50  J:    5   88  K:    1    1  L:    2    3  M: -999 -999  N: -999 -999
- regrid  TEMP     M:125 dset:   1 I:   50   50  J:    5   88  K:    1    1  L:    2    3
- -DELETE TEMP     M:126 dset:   1 I:   50   50  J:    5   88  K:    1    1  L:    2    3  M: -999 -999  N: -999 -999
+ found   TEMP     M:120 dset:   1 I:     45     56  J:    5   89  K:    1    2  L:      2      5
+ regrid  TEMP     M:125 dset:   1 I:     50     50  J:    5   88  K:    1    1  L:      2      3
+ regrid  TEMP     M:126 dset:   1 I:     50     50  J:    5   88  K:    1    1  L:      2      3
+ -DELETE TEMP     M:125 dset:   1 I:     50     50  J:    5   88  K:    1    1  L:      2      3  M: -999 -999  N: -999 -999
+ regrid  TEMP     M:125 dset:   1 I:     50     50  J:    5   88  K:    1    1  L:      2      3
+ -DELETE TEMP     M:126 dset:   1 I:     50     50  J:    5   88  K:    1    1  L:      2      3  M: -999 -999  N: -999 -999
  doing --> TEMP[T=21-JAN-198200:00 at ITP,D=1]
 setting up plot
 PPL plot 22   complete
 plot/over temp[g=u,gy=u at ave]
  dealloc  dynamic grid G5DAY           PSXU      PSYU      PSZT      TAX5DAY
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
  strip --> EX#1[T=21-JAN-198200:00 at ITP,D=1]
- eval    EX#1     C:  5 dset:   1 I:   50   50  J:    5   88  K:    1    1  L:    2    3
+ eval    EX#1     C:  5 dset:   1 I:     50     50  J:    5   88  K:    1    1  L:      2      3
  allocate dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- found   TEMP     M: 43 dset:   1 I:    1  160  J:    1  100  K:    1    2  L:    1    3
+ found   TEMP     M: 43 dset:   1 I:      1    160  J:    1  100  K:    1    2  L:      1      3
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
  doing --> TEMP[T=21-JAN-198200:00 at ITP,D=1]
 setting up plot
 PPL plot 23   complete
 plot/over temp[g=g5day,gy=g5day at ave]
  dealloc  dynamic grid PS3DU2          PSXU      PSYU      PSZT      TIME2
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip --> EX#1[T=21-JAN-198200:00 at ITP,D=1]
- eval    EX#1     C:  5 dset:   1 I:   50   50  J:    5   88  K:    1    1  L:    2    3
+ eval    EX#1     C:  5 dset:   1 I:     50     50  J:    5   88  K:    1    1  L:      2      3
  strip regrid on X: TEMP --> G5DAY            @LIN
  strip regrid on Y: TEMP --> XNTERMED         @AVE
  strip regrid on T: TEMP --> YNTERMED         @LIN
- found   TEMP     M:120 dset:   1 I:   45   56  J:    5   89  K:    1    2  L:    2    5
- regrid  TEMP     M:128 dset:   1 I:   50   51  J:    5   89  K:    1    1  L:    2    3
- regrid  TEMP     M:129 dset:   1 I:   50   51  J:    5   88  K:    1    1  L:    2    3
- -DELETE TEMP     M:128 dset:   1 I:   50   51  J:    5   89  K:    1    1  L:    2    3  M: -999 -999  N: -999 -999
- regrid  TEMP     M:128 dset:   1 I:   50   50  J:    5   88  K:    1    1  L:    2    3
- -DELETE TEMP     M:129 dset:   1 I:   50   51  J:    5   88  K:    1    1  L:    2    3  M: -999 -999  N: -999 -999
+ found   TEMP     M:120 dset:   1 I:     45     56  J:    5   89  K:    1    2  L:      2      5
+ regrid  TEMP     M:128 dset:   1 I:     50     51  J:    5   89  K:    1    1  L:      2      3
+ regrid  TEMP     M:129 dset:   1 I:     50     51  J:    5   88  K:    1    1  L:      2      3
+ -DELETE TEMP     M:128 dset:   1 I:     50     51  J:    5   89  K:    1    1  L:      2      3  M: -999 -999  N: -999 -999
+ regrid  TEMP     M:128 dset:   1 I:     50     50  J:    5   88  K:    1    1  L:      2      3
+ -DELETE TEMP     M:129 dset:   1 I:     50     51  J:    5   88  K:    1    1  L:      2      3  M: -999 -999  N: -999 -999
  doing --> TEMP[T=21-JAN-198200:00 at ITP,D=1]
 setting up plot
 PPL plot 24   complete
 plot/over temp[g=g5_10,gy=g5_10 at ave]
  dealloc  dynamic grid G5DAY           PSXU      PSYU      PSZT      TAX5DAY
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip --> EX#1[T=21-JAN-198200:00 at ITP,D=1]
  strip --> EX#1[Z=5 at ITP,D=1]
- eval    EX#1     C:  6 dset:   1 I:    7    7  J:    5   88  K:    1    1  L:    2    3
+ eval    EX#1     C:  6 dset:   1 I:      7      7  J:    5   88  K:    1    1  L:      2      3
  strip regrid on X: TEMP --> G5_10            @LIN
  strip regrid on Y: TEMP --> XNTERMED         @AVE
  strip regrid on Z: TEMP --> YNTERMED         @LIN
  strip regrid on T: TEMP --> ZNTERMED         @LIN
- found   TEMP     M:120 dset:   1 I:   45   56  J:    5   89  K:    1    2  L:    2    5
- regrid  TEMP     M:130 dset:   1 I:   50   51  J:    5   89  K:    1    2  L:    2    3
- regrid  TEMP     M:131 dset:   1 I:   50   51  J:    5   89  K:    1    1  L:    2    3
- -DELETE TEMP     M:130 dset:   1 I:   50   51  J:    5   89  K:    1    2  L:    2    3  M: -999 -999  N: -999 -999
- regrid  TEMP     M:130 dset:   1 I:   50   51  J:    5   88  K:    1    1  L:    2    3
- -DELETE TEMP     M:131 dset:   1 I:   50   51  J:    5   89  K:    1    1  L:    2    3  M: -999 -999  N: -999 -999
- regrid  TEMP     M:131 dset:   1 I:    7    7  J:    5   88  K:    1    1  L:    2    3
- -DELETE TEMP     M:130 dset:   1 I:   50   51  J:    5   88  K:    1    1  L:    2    3  M: -999 -999  N: -999 -999
+ found   TEMP     M:120 dset:   1 I:     45     56  J:    5   89  K:    1    2  L:      2      5
+ regrid  TEMP     M:130 dset:   1 I:     50     51  J:    5   89  K:    1    2  L:      2      3
+ regrid  TEMP     M:131 dset:   1 I:     50     51  J:    5   89  K:    1    1  L:      2      3
+ -DELETE TEMP     M:130 dset:   1 I:     50     51  J:    5   89  K:    1    2  L:      2      3  M: -999 -999  N: -999 -999
+ regrid  TEMP     M:130 dset:   1 I:     50     51  J:    5   88  K:    1    1  L:      2      3
+ -DELETE TEMP     M:131 dset:   1 I:     50     51  J:    5   89  K:    1    1  L:      2      3  M: -999 -999  N: -999 -999
+ regrid  TEMP     M:131 dset:   1 I:      7      7  J:    5   88  K:    1    1  L:      2      3
+ -DELETE TEMP     M:130 dset:   1 I:     50     51  J:    5   88  K:    1    1  L:      2      3  M: -999 -999  N: -999 -999
  doing --> TEMP[Z=5 at ITP,D=1]
  doing --> TEMP[T=21-JAN-198200:00 at ITP,D=1]
 setting up plot
 PPL plot 25   complete
 plot/over temp[g=g5_10 at asn]  ! invalid interpretation of data
  dealloc  dynamic grid G5_10           XAX10     PSYU      PSZW      TAX5DAY
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip --> EX#1[T=21-JAN-198200:00 at ITP,D=1]
  strip --> EX#1[Z=5 at ITP,D=1]
- eval    EX#1     C:  6 dset:   1 I:    7    7  J:    5   88  K:    1    1  L:    2    3
+ eval    EX#1     C:  6 dset:   1 I:      7      7  J:    5   88  K:    1    1  L:      2      3
  strip regrid on X: TEMP --> G5_10            @ASN
  strip regrid on Y: TEMP --> XNTERMED         @ASN
  strip regrid on Z: TEMP --> YNTERMED         @ASN
  strip regrid on T: TEMP --> ZNTERMED         @ASN
- found   TEMP     M: 37 dset:   1 I:    1  161  J:    5   89  K:    1    2  L:    1    3
- regrid  TEMP     M:133 dset:   1 I:    7    7  J:    5   88  K:    1    1  L:    2    3
- regrid  TEMP     M:134 dset:   1 I:    7    7  J:    5   88  K:    1    1  L:    2    3
- -DELETE TEMP     M:133 dset:   1 I:    7    7  J:    5   88  K:    1    1  L:    2    3  M: -999 -999  N: -999 -999
- regrid  TEMP     M:133 dset:   1 I:    7    7  J:    5   88  K:    1    1  L:    2    3
- -DELETE TEMP     M:134 dset:   1 I:    7    7  J:    5   88  K:    1    1  L:    2    3  M: -999 -999  N: -999 -999
- regrid  TEMP     M:134 dset:   1 I:    7    7  J:    5   88  K:    1    1  L:    2    3
- -DELETE TEMP     M:133 dset:   1 I:    7    7  J:    5   88  K:    1    1  L:    2    3  M: -999 -999  N: -999 -999
+ found   TEMP     M: 37 dset:   1 I:      1    161  J:    5   89  K:    1    2  L:      1      3
+ regrid  TEMP     M:133 dset:   1 I:      7      7  J:    5   88  K:    1    1  L:      2      3
+ regrid  TEMP     M:134 dset:   1 I:      7      7  J:    5   88  K:    1    1  L:      2      3
+ -DELETE TEMP     M:133 dset:   1 I:      7      7  J:    5   88  K:    1    1  L:      2      3  M: -999 -999  N: -999 -999
+ regrid  TEMP     M:133 dset:   1 I:      7      7  J:    5   88  K:    1    1  L:      2      3
+ -DELETE TEMP     M:134 dset:   1 I:      7      7  J:    5   88  K:    1    1  L:      2      3  M: -999 -999  N: -999 -999
+ regrid  TEMP     M:134 dset:   1 I:      7      7  J:    5   88  K:    1    1  L:      2      3
+ -DELETE TEMP     M:133 dset:   1 I:      7      7  J:    5   88  K:    1    1  L:      2      3  M: -999 -999  N: -999 -999
  doing --> TEMP[Z=5 at ITP,D=1]
  doing --> TEMP[T=21-JAN-198200:00 at ITP,D=1]
 setting up plot
@@ -16990,247 +17015,247 @@ use gtsa056_2	!kob  4/99
 set region/x=180W/y=0/z=5/t=21-JAN-1982:13-JUN-1983
 load temp[i=50:51,j=45:56,k=1:2,l=1:172]  ! preload to save time
  dealloc  dynamic grid G5_10           XAX10     PSYU      PSZW      TAX5DAY
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DT1          PSXT      PSYT      PSZT      TIME1
- eval    EX#1     C:  4 dset:   2 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- strip moduloing TEMP on T axis:     1   172 dset:   2
- reading TEMP     M:136 dset:   2 I:   50   51  J:   45   50  K:    1    2  L:    1  168
- doing moduloing TEMP on T axis:     1   168 dset:   2
+ eval    EX#1     C:  4 dset:   2 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
+ strip moduloing TEMP on T axis:        1      172 dset:   2
+ reading TEMP     M:136 dset:   2 I:     50     51  J:   45   50  K:    1    2  L:      1    168
+ doing moduloing TEMP on T axis:        1      168 dset:   2
 plot temp
  dealloc  dynamic grid PS3DT1          PSXT      PSYT      PSZT      TIME1
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DT1          PSXT      PSYT      PSZT      TIME1
  strip --> EX#1[Y=0 at ITP,D=2]
  strip --> EX#1[X=180E at ITP,D=2]
- eval    EX#1     C:  6 dset:   2 I:   50   51  J:   45   46  K:    1    1  L:    3  170
- found   TEMP     M:137 dset:   2 I:   50   51  J:   45   50  K:    1    2  L:    1  172
+ eval    EX#1     C:  6 dset:   2 I:     50     51  J:   45   46  K:    1    1  L:      3    170
+ found   TEMP     M:137 dset:   2 I:     50     51  J:   45   50  K:    1    2  L:      1    172
  doing --> TEMP[X=180E at ITP,D=2]
  doing --> TEMP[Y=0 at ITP,D=2]
 setting up plot
 PPL plot 27   complete
 plot/over temp[g=u]
  dealloc  dynamic grid PS3DT1          PSXT      PSYT      PSZT      TIME1
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU1          PSXU      PSYU      PSZT      TIME1
  strip --> EX#1[Y=0 at ITP,D=2]
- eval    EX#1     C:  5 dset:   2 I:   50   50  J:   44   45  K:    1    1  L:    3  170
- strip moduloing TEMP on T axis:     3   170 dset:   2
+ eval    EX#1     C:  5 dset:   2 I:     50     50  J:   44   45  K:    1    1  L:      3    170
+ strip moduloing TEMP on T axis:        3      170 dset:   2
  strip regrid on X: TEMP --> PS3DU1           @LIN
- reading TEMP     M:140 dset:   2 I:   50   51  J:   44   46  K:    1    1  L:    3  168
+ reading TEMP     M:140 dset:   2 I:     50     51  J:   44   46  K:    1    1  L:      3    168
  regrid XY
- regrid  TEMP     M:141 dset:   2 I:   50   50  J:   44   45  K:    1    1  L:    3  168
- doing moduloing TEMP on T axis:     3   168 dset:   2
+ regrid  TEMP     M:141 dset:   2 I:     50     50  J:   44   45  K:    1    1  L:      3    168
+ doing moduloing TEMP on T axis:        3      168 dset:   2
  strip regrid on X: TEMP --> PS3DU1           @LIN
- reading TEMP     M:143 dset:   2 I:   50   51  J:   44   46  K:    1    1  L:    1    2
+ reading TEMP     M:143 dset:   2 I:     50     51  J:   44   46  K:    1    1  L:      1      2
  regrid XY
- regrid  TEMP     M:144 dset:   2 I:   50   50  J:   44   45  K:    1    1  L:    1    2
- doing moduloing TEMP on T axis:     1     2 dset:   2
+ regrid  TEMP     M:144 dset:   2 I:     50     50  J:   44   45  K:    1    1  L:      1      2
+ doing moduloing TEMP on T axis:        1        2 dset:   2
  doing --> TEMP[Y=0 at ITP,D=2]
 setting up plot
 PPL plot 28   complete
 plot/over temp[g=g5day]
  dealloc  dynamic grid PS3DU1          PSXU      PSYU      PSZT      TIME1
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip --> EX#1[Y=0 at ITP,D=2]
- eval    EX#1     C:  5 dset:   2 I:   50   50  J:   44   45  K:    1    1  L:    2  104
+ eval    EX#1     C:  5 dset:   2 I:     50     50  J:   44   45  K:    1    1  L:      2    104
  strip regrid on X: TEMP --> G5DAY            @LIN
  strip regrid on T: TEMP --> XNTERMED         @LIN
- strip moduloing TEMP on T axis:     2   171 dset:   2
- reading TEMP     M:146 dset:   2 I:   50   51  J:   44   46  K:    1    1  L:    1  168
- doing moduloing TEMP on T axis:     1   168 dset:   2
- regrid  TEMP     M:148 dset:   2 I:   50   51  J:   44   46  K:    1    1  L:    2  104
+ strip moduloing TEMP on T axis:        2      171 dset:   2
+ reading TEMP     M:146 dset:   2 I:     50     51  J:   44   46  K:    1    1  L:      1    168
+ doing moduloing TEMP on T axis:        1      168 dset:   2
+ regrid  TEMP     M:148 dset:   2 I:     50     51  J:   44   46  K:    1    1  L:      2    104
  regrid XY
- regrid  TEMP     M:149 dset:   2 I:   50   50  J:   44   45  K:    1    1  L:    2  104
- -DELETE TEMP     M:148 dset:   2 I:   50   51  J:   44   46  K:    1    1  L:    2  104  M: -999 -999  N: -999 -999
+ regrid  TEMP     M:149 dset:   2 I:     50     50  J:   44   45  K:    1    1  L:      2    104
+ -DELETE TEMP     M:148 dset:   2 I:     50     51  J:   44   46  K:    1    1  L:      2    104  M: -999 -999  N: -999 -999
  doing --> TEMP[Y=0 at ITP,D=2]
 setting up plot
 PPL plot 29   complete
 plot/over temp[g=g5_10]
  dealloc  dynamic grid G5DAY           PSXU      PSYU      PSZT      TAX5DAY
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip --> EX#1[Z=5 at ITP,D=2]
  strip --> EX#1[Y=0 at ITP,D=2]
- eval    EX#1     C:  6 dset:   2 I:    7    7  J:   44   45  K:    1    1  L:    2  104
+ eval    EX#1     C:  6 dset:   2 I:      7      7  J:   44   45  K:    1    1  L:      2    104
  strip regrid on X: TEMP --> G5_10            @LIN
  strip regrid on Z: TEMP --> XNTERMED         @LIN
  strip regrid on T: TEMP --> ZNTERMED         @LIN
- strip moduloing TEMP on T axis:     2   171 dset:   2
- reading TEMP     M:150 dset:   2 I:   50   51  J:   44   46  K:    1    2  L:    1  168
- doing moduloing TEMP on T axis:     1   168 dset:   2
- regrid  TEMP     M:152 dset:   2 I:   50   51  J:   44   46  K:    1    2  L:    2  104
- regrid  TEMP     M:153 dset:   2 I:   50   51  J:   44   46  K:    1    1  L:    2  104
- -DELETE TEMP     M:152 dset:   2 I:   50   51  J:   44   46  K:    1    2  L:    2  104  M: -999 -999  N: -999 -999
+ strip moduloing TEMP on T axis:        2      171 dset:   2
+ reading TEMP     M:150 dset:   2 I:     50     51  J:   44   46  K:    1    2  L:      1    168
+ doing moduloing TEMP on T axis:        1      168 dset:   2
+ regrid  TEMP     M:152 dset:   2 I:     50     51  J:   44   46  K:    1    2  L:      2    104
+ regrid  TEMP     M:153 dset:   2 I:     50     51  J:   44   46  K:    1    1  L:      2    104
+ -DELETE TEMP     M:152 dset:   2 I:     50     51  J:   44   46  K:    1    2  L:      2    104  M: -999 -999  N: -999 -999
  regrid XY
- regrid  TEMP     M:152 dset:   2 I:    7    7  J:   44   45  K:    1    1  L:    2  104
- -DELETE TEMP     M:153 dset:   2 I:   50   51  J:   44   46  K:    1    1  L:    2  104  M: -999 -999  N: -999 -999
+ regrid  TEMP     M:152 dset:   2 I:      7      7  J:   44   45  K:    1    1  L:      2    104
+ -DELETE TEMP     M:153 dset:   2 I:     50     51  J:   44   46  K:    1    1  L:      2    104  M: -999 -999  N: -999 -999
  doing --> TEMP[Y=0 at ITP,D=2]
  doing --> TEMP[Z=5 at ITP,D=2]
 setting up plot
 PPL plot 30   complete
 plot/over temp[g=u at ave]
  dealloc  dynamic grid G5_10           XAX10     PSYU      PSZW      TAX5DAY
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU1          PSXU      PSYU      PSZT      TIME1
  strip --> EX#1[Y=0 at ITP,D=2]
- eval    EX#1     C:  5 dset:   2 I:   50   50  J:   44   45  K:    1    1  L:    3  170
- strip moduloing TEMP on T axis:     3   170 dset:   2
+ eval    EX#1     C:  5 dset:   2 I:     50     50  J:   44   45  K:    1    1  L:      3    170
+ strip moduloing TEMP on T axis:        3      170 dset:   2
  strip regrid on X: TEMP --> PS3DU1           @AAV
- found   TEMP     M:151 dset:   2 I:   50   51  J:   44   46  K:    1    2  L:    2  171
+ found   TEMP     M:151 dset:   2 I:     50     51  J:   44   46  K:    1    2  L:      2    171
  regrid XY
- regrid  TEMP     M:155 dset:   2 I:   50   50  J:   44   45  K:    1    1  L:    3  168
- doing moduloing TEMP on T axis:     3   168 dset:   2
+ regrid  TEMP     M:155 dset:   2 I:     50     50  J:   44   45  K:    1    1  L:      3    168
+ doing moduloing TEMP on T axis:        3      168 dset:   2
  strip regrid on X: TEMP --> PS3DU1           @AAV
- found   TEMP     M:150 dset:   2 I:   50   51  J:   44   46  K:    1    2  L:    1  168
+ found   TEMP     M:150 dset:   2 I:     50     51  J:   44   46  K:    1    2  L:      1    168
  regrid XY
- regrid  TEMP     M:157 dset:   2 I:   50   50  J:   44   45  K:    1    1  L:    1    2
- doing moduloing TEMP on T axis:     1     2 dset:   2
+ regrid  TEMP     M:157 dset:   2 I:     50     50  J:   44   45  K:    1    1  L:      1      2
+ doing moduloing TEMP on T axis:        1        2 dset:   2
  doing --> TEMP[Y=0 at ITP,D=2]
 setting up plot
 PPL plot 31   complete
 plot/over temp[g=g5day at ave]
  dealloc  dynamic grid PS3DU1          PSXU      PSYU      PSZT      TIME1
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip --> EX#1[Y=0 at ITP,D=2]
- eval    EX#1     C:  5 dset:   2 I:   50   50  J:   44   45  K:    1    1  L:    2  104
+ eval    EX#1     C:  5 dset:   2 I:     50     50  J:   44   45  K:    1    1  L:      2    104
  strip regrid on X: TEMP --> G5DAY            @AAV
  strip regrid on T: TEMP --> XNTERMED         @AVE
- found   TEMP     M:151 dset:   2 I:   50   51  J:   44   46  K:    1    2  L:    2  171
- regrid  TEMP     M:159 dset:   2 I:   50   51  J:   44   46  K:    1    1  L:    2  104
+ found   TEMP     M:151 dset:   2 I:     50     51  J:   44   46  K:    1    2  L:      2    171
+ regrid  TEMP     M:159 dset:   2 I:     50     51  J:   44   46  K:    1    1  L:      2    104
  regrid XY
- regrid  TEMP     M:160 dset:   2 I:   50   50  J:   44   45  K:    1    1  L:    2  104
- -DELETE TEMP     M:159 dset:   2 I:   50   51  J:   44   46  K:    1    1  L:    2  104  M: -999 -999  N: -999 -999
+ regrid  TEMP     M:160 dset:   2 I:     50     50  J:   44   45  K:    1    1  L:      2    104
+ -DELETE TEMP     M:159 dset:   2 I:     50     51  J:   44   46  K:    1    1  L:      2    104  M: -999 -999  N: -999 -999
  doing --> TEMP[Y=0 at ITP,D=2]
 setting up plot
 PPL plot 32   complete
 plot/over temp[g=g5_10 at ave]
  dealloc  dynamic grid G5DAY           PSXU      PSYU      PSZT      TAX5DAY
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip --> EX#1[Z=5 at ITP,D=2]
  strip --> EX#1[Y=0 at ITP,D=2]
- eval    EX#1     C:  6 dset:   2 I:    7    7  J:   44   45  K:    1    1  L:    2  104
+ eval    EX#1     C:  6 dset:   2 I:      7      7  J:   44   45  K:    1    1  L:      2    104
  strip regrid on X: TEMP --> G5_10            @AAV
  strip regrid on Z: TEMP --> XNTERMED         @AVE
  strip regrid on T: TEMP --> ZNTERMED         @AVE
- strip moduloing TEMP on T axis:     2   171 dset:   2
- reading TEMP     M:161 dset:   2 I:   45   56  J:   44   46  K:    1    2  L:    1  168
- doing moduloing TEMP on T axis:     1   168 dset:   2
- regrid  TEMP     M:163 dset:   2 I:   45   56  J:   44   46  K:    1    2  L:    2  104
- regrid  TEMP     M:164 dset:   2 I:   45   56  J:   44   46  K:    1    1  L:    2  104
- -DELETE TEMP     M:163 dset:   2 I:   45   56  J:   44   46  K:    1    2  L:    2  104  M: -999 -999  N: -999 -999
+ strip moduloing TEMP on T axis:        2      171 dset:   2
+ reading TEMP     M:161 dset:   2 I:     45     56  J:   44   46  K:    1    2  L:      1    168
+ doing moduloing TEMP on T axis:        1      168 dset:   2
+ regrid  TEMP     M:163 dset:   2 I:     45     56  J:   44   46  K:    1    2  L:      2    104
+ regrid  TEMP     M:164 dset:   2 I:     45     56  J:   44   46  K:    1    1  L:      2    104
+ -DELETE TEMP     M:163 dset:   2 I:     45     56  J:   44   46  K:    1    2  L:      2    104  M: -999 -999  N: -999 -999
  regrid XY
- regrid  TEMP     M:163 dset:   2 I:    7    7  J:   44   45  K:    1    1  L:    2  104
- -DELETE TEMP     M:164 dset:   2 I:   45   56  J:   44   46  K:    1    1  L:    2  104  M: -999 -999  N: -999 -999
+ regrid  TEMP     M:163 dset:   2 I:      7      7  J:   44   45  K:    1    1  L:      2    104
+ -DELETE TEMP     M:164 dset:   2 I:     45     56  J:   44   46  K:    1    1  L:      2    104  M: -999 -999  N: -999 -999
  doing --> TEMP[Y=0 at ITP,D=2]
  doing --> TEMP[Z=5 at ITP,D=2]
 setting up plot
 PPL plot 33   complete
 plot/over temp[g=u at asn]
  dealloc  dynamic grid G5_10           XAX10     PSYU      PSZW      TAX5DAY
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU1          PSXU      PSYU      PSZT      TIME1
  strip --> EX#1[Y=0 at ITP,D=2]
- eval    EX#1     C:  5 dset:   2 I:   50   50  J:   44   45  K:    1    1  L:    3  170
- strip moduloing TEMP on T axis:     3   170 dset:   2
+ eval    EX#1     C:  5 dset:   2 I:     50     50  J:   44   45  K:    1    1  L:      3    170
+ strip moduloing TEMP on T axis:        3      170 dset:   2
  strip regrid on X: TEMP --> PS3DU1           @ASN
  strip regrid on Y: TEMP --> XNTERMED         @ASN
- found   TEMP     M:162 dset:   2 I:   45   56  J:   44   46  K:    1    2  L:    2  171
- regrid  TEMP     M:166 dset:   2 I:   50   50  J:   44   45  K:    1    1  L:    3  168
- regrid  TEMP     M:167 dset:   2 I:   50   50  J:   44   45  K:    1    1  L:    3  168
- -DELETE TEMP     M:166 dset:   2 I:   50   50  J:   44   45  K:    1    1  L:    3  168  M: -999 -999  N: -999 -999
- doing moduloing TEMP on T axis:     3   168 dset:   2
+ found   TEMP     M:162 dset:   2 I:     45     56  J:   44   46  K:    1    2  L:      2    171
+ regrid  TEMP     M:166 dset:   2 I:     50     50  J:   44   45  K:    1    1  L:      3    168
+ regrid  TEMP     M:167 dset:   2 I:     50     50  J:   44   45  K:    1    1  L:      3    168
+ -DELETE TEMP     M:166 dset:   2 I:     50     50  J:   44   45  K:    1    1  L:      3    168  M: -999 -999  N: -999 -999
+ doing moduloing TEMP on T axis:        3      168 dset:   2
  strip regrid on X: TEMP --> PS3DU1           @ASN
  strip regrid on Y: TEMP --> XNTERMED         @ASN
- found   TEMP     M:161 dset:   2 I:   45   56  J:   44   46  K:    1    2  L:    1  168
- regrid  TEMP     M:168 dset:   2 I:   50   50  J:   44   45  K:    1    1  L:    1    2
- regrid  TEMP     M:169 dset:   2 I:   50   50  J:   44   45  K:    1    1  L:    1    2
- -DELETE TEMP     M:168 dset:   2 I:   50   50  J:   44   45  K:    1    1  L:    1    2  M: -999 -999  N: -999 -999
- doing moduloing TEMP on T axis:     1     2 dset:   2
+ found   TEMP     M:161 dset:   2 I:     45     56  J:   44   46  K:    1    2  L:      1    168
+ regrid  TEMP     M:168 dset:   2 I:     50     50  J:   44   45  K:    1    1  L:      1      2
+ regrid  TEMP     M:169 dset:   2 I:     50     50  J:   44   45  K:    1    1  L:      1      2
+ -DELETE TEMP     M:168 dset:   2 I:     50     50  J:   44   45  K:    1    1  L:      1      2  M: -999 -999  N: -999 -999
+ doing moduloing TEMP on T axis:        1        2 dset:   2
  doing --> TEMP[Y=0 at ITP,D=2]
 setting up plot
 PPL plot 34   complete
 plot/over temp[g=g5_10 at asn]
  dealloc  dynamic grid PS3DU1          PSXU      PSYU      PSZT      TIME1
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip --> EX#1[Z=5 at ITP,D=2]
  strip --> EX#1[Y=0 at ITP,D=2]
- eval    EX#1     C:  6 dset:   2 I:    7    7  J:   44   45  K:    1    1  L:    2  104
+ eval    EX#1     C:  6 dset:   2 I:      7      7  J:   44   45  K:    1    1  L:      2    104
  strip regrid on X: TEMP --> G5_10            @ASN
  strip regrid on Y: TEMP --> XNTERMED         @ASN
  strip regrid on Z: TEMP --> YNTERMED         @ASN
  strip regrid on T: TEMP --> ZNTERMED         @ASN
- reading TEMP     M:170 dset:   2 I:    7    7  J:   44   45  K:    1    1  L:    2  104
- regrid  TEMP     M:171 dset:   2 I:    7    7  J:   44   45  K:    1    1  L:    2  104
- regrid  TEMP     M:172 dset:   2 I:    7    7  J:   44   45  K:    1    1  L:    2  104
- -DELETE TEMP     M:171 dset:   2 I:    7    7  J:   44   45  K:    1    1  L:    2  104  M: -999 -999  N: -999 -999
- regrid  TEMP     M:171 dset:   2 I:    7    7  J:   44   45  K:    1    1  L:    2  104
- -DELETE TEMP     M:172 dset:   2 I:    7    7  J:   44   45  K:    1    1  L:    2  104  M: -999 -999  N: -999 -999
- regrid  TEMP     M:172 dset:   2 I:    7    7  J:   44   45  K:    1    1  L:    2  104
- -DELETE TEMP     M:171 dset:   2 I:    7    7  J:   44   45  K:    1    1  L:    2  104  M: -999 -999  N: -999 -999
+ reading TEMP     M:170 dset:   2 I:      7      7  J:   44   45  K:    1    1  L:      2    104
+ regrid  TEMP     M:171 dset:   2 I:      7      7  J:   44   45  K:    1    1  L:      2    104
+ regrid  TEMP     M:172 dset:   2 I:      7      7  J:   44   45  K:    1    1  L:      2    104
+ -DELETE TEMP     M:171 dset:   2 I:      7      7  J:   44   45  K:    1    1  L:      2    104  M: -999 -999  N: -999 -999
+ regrid  TEMP     M:171 dset:   2 I:      7      7  J:   44   45  K:    1    1  L:      2    104
+ -DELETE TEMP     M:172 dset:   2 I:      7      7  J:   44   45  K:    1    1  L:      2    104  M: -999 -999  N: -999 -999
+ regrid  TEMP     M:172 dset:   2 I:      7      7  J:   44   45  K:    1    1  L:      2    104
+ -DELETE TEMP     M:171 dset:   2 I:      7      7  J:   44   45  K:    1    1  L:      2    104  M: -999 -999  N: -999 -999
  doing --> TEMP[Y=0 at ITP,D=2]
  doing --> TEMP[Z=5 at ITP,D=2]
 setting up plot
 PPL plot 35   complete
 plot/over temp[g=u,gt=u at ave]
  dealloc  dynamic grid G5_10           XAX10     PSYU      PSZW      TAX5DAY
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU1          PSXU      PSYU      PSZT      TIME1
  dealloc  dynamic grid PS3DU1          PSXU      PSYU      PSZT      TIME1
  allocate dynamic grid PS3DU1          PSXU      PSYU      PSZT      TIME1
  strip --> EX#1[Y=0 at ITP,D=2]
- eval    EX#1     C:  5 dset:   2 I:   50   50  J:   44   45  K:    1    1  L:    3  170
+ eval    EX#1     C:  5 dset:   2 I:     50     50  J:   44   45  K:    1    1  L:      3    170
  allocate dynamic grid PS3DU1          PSXU      PSYU      PSZT      TIME1
- found   TEMP     M:142 dset:   2 I:   50   50  J:   44   45  K:    1    1  L:    3  170
+ found   TEMP     M:142 dset:   2 I:     50     50  J:   44   45  K:    1    1  L:      3    170
  dealloc  dynamic grid PS3DU1          PSXU      PSYU      PSZT      TIME1
  doing --> TEMP[Y=0 at ITP,D=2]
 setting up plot
 PPL plot 36   complete
 plot/over temp[g=g5day,gt=g5day at ave]
  dealloc  dynamic grid PS3DU1          PSXU      PSYU      PSZT      TIME1
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip --> EX#1[Y=0 at ITP,D=2]
- eval    EX#1     C:  5 dset:   2 I:   50   50  J:   44   45  K:    1    1  L:    2  104
+ eval    EX#1     C:  5 dset:   2 I:     50     50  J:   44   45  K:    1    1  L:      2    104
  strip regrid on X: TEMP --> G5DAY            @LIN
  strip regrid on T: TEMP --> XNTERMED         @AVE
- found   TEMP     M:162 dset:   2 I:   45   56  J:   44   46  K:    1    2  L:    2  171
- regrid  TEMP     M:175 dset:   2 I:   50   51  J:   44   46  K:    1    1  L:    2  104
+ found   TEMP     M:162 dset:   2 I:     45     56  J:   44   46  K:    1    2  L:      2    171
+ regrid  TEMP     M:175 dset:   2 I:     50     51  J:   44   46  K:    1    1  L:      2    104
  regrid XY
- regrid  TEMP     M:176 dset:   2 I:   50   50  J:   44   45  K:    1    1  L:    2  104
- -DELETE TEMP     M:175 dset:   2 I:   50   51  J:   44   46  K:    1    1  L:    2  104  M: -999 -999  N: -999 -999
+ regrid  TEMP     M:176 dset:   2 I:     50     50  J:   44   45  K:    1    1  L:      2    104
+ -DELETE TEMP     M:175 dset:   2 I:     50     51  J:   44   46  K:    1    1  L:      2    104  M: -999 -999  N: -999 -999
  doing --> TEMP[Y=0 at ITP,D=2]
 setting up plot
 PPL plot 37   complete
 plot/over temp[g=g5_10,gt=g5_10 at ave]
  dealloc  dynamic grid G5DAY           PSXU      PSYU      PSZT      TAX5DAY
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip --> EX#1[Z=5 at ITP,D=2]
  strip --> EX#1[Y=0 at ITP,D=2]
- eval    EX#1     C:  6 dset:   2 I:    7    7  J:   44   45  K:    1    1  L:    2  104
+ eval    EX#1     C:  6 dset:   2 I:      7      7  J:   44   45  K:    1    1  L:      2    104
  strip regrid on X: TEMP --> G5_10            @LIN
  strip regrid on Z: TEMP --> XNTERMED         @LIN
  strip regrid on T: TEMP --> ZNTERMED         @AVE
- found   TEMP     M:162 dset:   2 I:   45   56  J:   44   46  K:    1    2  L:    2  171
- regrid  TEMP     M:177 dset:   2 I:   50   51  J:   44   46  K:    1    2  L:    2  104
- regrid  TEMP     M:178 dset:   2 I:   50   51  J:   44   46  K:    1    1  L:    2  104
- -DELETE TEMP     M:177 dset:   2 I:   50   51  J:   44   46  K:    1    2  L:    2  104  M: -999 -999  N: -999 -999
+ found   TEMP     M:162 dset:   2 I:     45     56  J:   44   46  K:    1    2  L:      2    171
+ regrid  TEMP     M:177 dset:   2 I:     50     51  J:   44   46  K:    1    2  L:      2    104
+ regrid  TEMP     M:178 dset:   2 I:     50     51  J:   44   46  K:    1    1  L:      2    104
+ -DELETE TEMP     M:177 dset:   2 I:     50     51  J:   44   46  K:    1    2  L:      2    104  M: -999 -999  N: -999 -999
  regrid XY
- regrid  TEMP     M:177 dset:   2 I:    7    7  J:   44   45  K:    1    1  L:    2  104
- -DELETE TEMP     M:178 dset:   2 I:   50   51  J:   44   46  K:    1    1  L:    2  104  M: -999 -999  N: -999 -999
+ regrid  TEMP     M:177 dset:   2 I:      7      7  J:   44   45  K:    1    1  L:      2    104
+ -DELETE TEMP     M:178 dset:   2 I:     50     51  J:   44   46  K:    1    1  L:      2    104  M: -999 -999  N: -999 -999
  doing --> TEMP[Y=0 at ITP,D=2]
  doing --> TEMP[Z=5 at ITP,D=2]
 setting up plot
 PPL plot 38   complete
 plot/over temp[g=g5day,gt=g5day at asn]  ! invalid interpretation of data
  dealloc  dynamic grid G5_10           XAX10     PSYU      PSZW      TAX5DAY
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip --> EX#1[Y=0 at ITP,D=2]
- eval    EX#1     C:  5 dset:   2 I:   50   50  J:   44   45  K:    1    1  L:    2  104
+ eval    EX#1     C:  5 dset:   2 I:     50     50  J:   44   45  K:    1    1  L:      2    104
  strip regrid on X: TEMP --> G5DAY            @LIN
  strip regrid on T: TEMP --> XNTERMED         @ASN
- found   TEMP     M:162 dset:   2 I:   45   56  J:   44   46  K:    1    2  L:    2  171
- regrid  TEMP     M:180 dset:   2 I:   50   51  J:   44   46  K:    1    1  L:    2  104
+ found   TEMP     M:162 dset:   2 I:     45     56  J:   44   46  K:    1    2  L:      2    171
+ regrid  TEMP     M:180 dset:   2 I:     50     51  J:   44   46  K:    1    1  L:      2    104
  regrid XY
- regrid  TEMP     M:181 dset:   2 I:   50   50  J:   44   45  K:    1    1  L:    2  104
- -DELETE TEMP     M:180 dset:   2 I:   50   51  J:   44   46  K:    1    1  L:    2  104  M: -999 -999  N: -999 -999
+ regrid  TEMP     M:181 dset:   2 I:     50     50  J:   44   45  K:    1    1  L:      2    104
+ -DELETE TEMP     M:180 dset:   2 I:     50     51  J:   44   46  K:    1    1  L:      2    104  M: -999 -999  N: -999 -999
  doing --> TEMP[Y=0 at ITP,D=2]
 setting up plot
 PPL plot 39   complete
@@ -17249,23 +17274,23 @@ let a2 = x[gx=x2pt]
  
 list a1[gx=xoffset at ave]
  dealloc  dynamic grid G5DAY           PSXU      PSYU      PSZT      TAX5DAY
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid A1       C:  7 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G009)          X1PT      NORMAL    NORMAL    NORMAL
- dealloc  dynamic grid (G009)          X1PT      NORMAL    NORMAL    NORMAL
- allocate dynamic grid (G009)          X1PT      NORMAL    NORMAL    NORMAL
- allocate dynamic grid (G010)          XOFFSET   NORMAL    NORMAL    NORMAL
- dealloc  dynamic grid (G010)          XOFFSET   NORMAL    NORMAL    NORMAL
- allocate dynamic grid (G010)          XOFFSET   NORMAL    NORMAL    NORMAL
- eval    EX#1     C:  4 dset:   2 I:    1    7  J: -999 -999  K: -999 -999  L: -999 -999
- allocate dynamic grid (G010)          XOFFSET   NORMAL    NORMAL    NORMAL
- strip regrid on X: A1 --> (G010)           @AVE
- eval    A1       C:  7 dset:   0 I:    1    1  J: -999 -999  K: -999 -999  L: -999 -999
- allocate dynamic grid (G009)          X1PT      NORMAL    NORMAL    NORMAL
- pseudo  X        M:182 dset:   0 I:    1    1  J: -999 -999  K: -999 -999  L: -999 -999
- dealloc  dynamic grid (G009)          X1PT      NORMAL    NORMAL    NORMAL
- regrid  A1       M:184 dset:   0 I:    1    7  J: -999 -999  K: -999 -999  L: -999 -999
- dealloc  dynamic grid (G010)          XOFFSET   NORMAL    NORMAL    NORMAL
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid A1       C:  7 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G###)          X1PT      NORMAL    NORMAL    NORMAL
+ dealloc  dynamic grid (G###)          X1PT      NORMAL    NORMAL    NORMAL
+ allocate dynamic grid (G###)          X1PT      NORMAL    NORMAL    NORMAL
+ allocate dynamic grid (G###)          XOFFSET   NORMAL    NORMAL    NORMAL
+ dealloc  dynamic grid (G###)          XOFFSET   NORMAL    NORMAL    NORMAL
+ allocate dynamic grid (G###)          XOFFSET   NORMAL    NORMAL    NORMAL
+ eval    EX#1     C:  4 dset:   2 I:      1      7  J: -999 -999  K: -999 -999  L:   -999   -999
+ allocate dynamic grid (G###)          XOFFSET   NORMAL    NORMAL    NORMAL
+ strip regrid on X: A1 --> (G###)           @AVE
+ eval    A1       C:  7 dset:   0 I:      1      1  J: -999 -999  K: -999 -999  L:   -999   -999
+ allocate dynamic grid (G###)          X1PT      NORMAL    NORMAL    NORMAL
+ pseudo  X        M:182 dset:   0 I:      1      1  J: -999 -999  K: -999 -999  L:   -999   -999
+ dealloc  dynamic grid (G###)          X1PT      NORMAL    NORMAL    NORMAL
+ regrid  A1       M:184 dset:   0 I:      1      7  J: -999 -999  K: -999 -999  L:   -999   -999
+ dealloc  dynamic grid (G###)          XOFFSET   NORMAL    NORMAL    NORMAL
              VARIABLE : X[GX=X1PT]
                         regrid: 1 delta on X at AVE
              SUBSET   : 7 points (X)
@@ -17277,19 +17302,19 @@ list a1[gx=xoffset at ave]
  6.1 / 6:   ....
  7.1 / 7:   ....
 list a1[gx=xoffset at sum] ! should sum to 5
- -DELETE X        M:182 dset:   0 I:    1    1  J: -999 -999  K: -999 -999  L: -999 -999
- dealloc  dynamic grid (G010)          XOFFSET   NORMAL    NORMAL    NORMAL
- -DELETE A1       M:184 dset:   0 I:    1    7  J: -999 -999  K: -999 -999  L: -999 -999
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G010)          XOFFSET   NORMAL    NORMAL    NORMAL
- dealloc  dynamic grid (G010)          XOFFSET   NORMAL    NORMAL    NORMAL
- allocate dynamic grid (G010)          XOFFSET   NORMAL    NORMAL    NORMAL
- eval    EX#1     C:  4 dset:   2 I:    1    7  J: -999 -999  K: -999 -999  L: -999 -999
- allocate dynamic grid (G010)          XOFFSET   NORMAL    NORMAL    NORMAL
- strip regrid on X: A1 --> (G010)           @SUM
- found   A1       M:183 dset:   0 I:    1    1  J: -999 -999  K: -999 -999  L: -999 -999
- regrid  A1       M:184 dset:   0 I:    1    7  J: -999 -999  K: -999 -999  L: -999 -999
- dealloc  dynamic grid (G010)          XOFFSET   NORMAL    NORMAL    NORMAL
+ -DELETE X        M:182 dset:   0 I:      1      1  J: -999 -999  K: -999 -999  L:   -999   -999
+ dealloc  dynamic grid (G###)          XOFFSET   NORMAL    NORMAL    NORMAL
+ -DELETE A1       M:184 dset:   0 I:      1      7  J: -999 -999  K: -999 -999  L:   -999   -999
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G###)          XOFFSET   NORMAL    NORMAL    NORMAL
+ dealloc  dynamic grid (G###)          XOFFSET   NORMAL    NORMAL    NORMAL
+ allocate dynamic grid (G###)          XOFFSET   NORMAL    NORMAL    NORMAL
+ eval    EX#1     C:  4 dset:   2 I:      1      7  J: -999 -999  K: -999 -999  L:   -999   -999
+ allocate dynamic grid (G###)          XOFFSET   NORMAL    NORMAL    NORMAL
+ strip regrid on X: A1 --> (G###)           @SUM
+ found   A1       M:183 dset:   0 I:      1      1  J: -999 -999  K: -999 -999  L:   -999   -999
+ regrid  A1       M:184 dset:   0 I:      1      7  J: -999 -999  K: -999 -999  L:   -999   -999
+ dealloc  dynamic grid (G###)          XOFFSET   NORMAL    NORMAL    NORMAL
              VARIABLE : X[GX=X1PT]
                         regrid: 1 delta on X at SUM
              SUBSET   : 7 points (X)
@@ -17301,18 +17326,18 @@ list a1[gx=xoffset at sum] ! should sum to 5
  6.1 / 6:   ....
  7.1 / 7:   ....
 list a1[gx=xoffset at var] ! should be all missing
- dealloc  dynamic grid (G010)          XOFFSET   NORMAL    NORMAL    NORMAL
- -DELETE A1       M:184 dset:   0 I:    1    7  J: -999 -999  K: -999 -999  L: -999 -999
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G010)          XOFFSET   NORMAL    NORMAL    NORMAL
- dealloc  dynamic grid (G010)          XOFFSET   NORMAL    NORMAL    NORMAL
- allocate dynamic grid (G010)          XOFFSET   NORMAL    NORMAL    NORMAL
- eval    EX#1     C:  4 dset:   2 I:    1    7  J: -999 -999  K: -999 -999  L: -999 -999
- allocate dynamic grid (G010)          XOFFSET   NORMAL    NORMAL    NORMAL
- strip regrid on X: A1 --> (G010)           @VAR
- found   A1       M:183 dset:   0 I:    1    1  J: -999 -999  K: -999 -999  L: -999 -999
- regrid  A1       M:184 dset:   0 I:    1    7  J: -999 -999  K: -999 -999  L: -999 -999
- dealloc  dynamic grid (G010)          XOFFSET   NORMAL    NORMAL    NORMAL
+ dealloc  dynamic grid (G###)          XOFFSET   NORMAL    NORMAL    NORMAL
+ -DELETE A1       M:184 dset:   0 I:      1      7  J: -999 -999  K: -999 -999  L:   -999   -999
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G###)          XOFFSET   NORMAL    NORMAL    NORMAL
+ dealloc  dynamic grid (G###)          XOFFSET   NORMAL    NORMAL    NORMAL
+ allocate dynamic grid (G###)          XOFFSET   NORMAL    NORMAL    NORMAL
+ eval    EX#1     C:  4 dset:   2 I:      1      7  J: -999 -999  K: -999 -999  L:   -999   -999
+ allocate dynamic grid (G###)          XOFFSET   NORMAL    NORMAL    NORMAL
+ strip regrid on X: A1 --> (G###)           @VAR
+ found   A1       M:183 dset:   0 I:      1      1  J: -999 -999  K: -999 -999  L:   -999   -999
+ regrid  A1       M:184 dset:   0 I:      1      7  J: -999 -999  K: -999 -999  L:   -999   -999
+ dealloc  dynamic grid (G###)          XOFFSET   NORMAL    NORMAL    NORMAL
              VARIABLE : Variance of X[GX=X1PT]
                         regrid: 1 delta on X at VAR
              SUBSET   : 7 points (X)
@@ -17325,25 +17350,25 @@ list a1[gx=xoffset at var] ! should be all missing
  7.1 / 7:....
  
 list a2[gx=xoffset at ave]
- dealloc  dynamic grid (G010)          XOFFSET   NORMAL    NORMAL    NORMAL
- -DELETE A1       M:184 dset:   0 I:    1    7  J: -999 -999  K: -999 -999  L: -999 -999
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid A2       C:  7 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G010)          X2PT      NORMAL    NORMAL    NORMAL
- dealloc  dynamic grid (G010)          X2PT      NORMAL    NORMAL    NORMAL
- allocate dynamic grid (G010)          X2PT      NORMAL    NORMAL    NORMAL
- allocate dynamic grid (G011)          XOFFSET   NORMAL    NORMAL    NORMAL
- dealloc  dynamic grid (G011)          XOFFSET   NORMAL    NORMAL    NORMAL
- allocate dynamic grid (G011)          XOFFSET   NORMAL    NORMAL    NORMAL
- eval    EX#1     C:  4 dset:   2 I:    1    7  J: -999 -999  K: -999 -999  L: -999 -999
- allocate dynamic grid (G011)          XOFFSET   NORMAL    NORMAL    NORMAL
- strip regrid on X: A2 --> (G011)           @AVE
- eval    A2       C:  7 dset:   0 I:    1    2  J: -999 -999  K: -999 -999  L: -999 -999
- allocate dynamic grid (G010)          X2PT      NORMAL    NORMAL    NORMAL
- pseudo  X        M:184 dset:   0 I:    1    2  J: -999 -999  K: -999 -999  L: -999 -999
- dealloc  dynamic grid (G010)          X2PT      NORMAL    NORMAL    NORMAL
- regrid  A2       M:185 dset:   0 I:    1    7  J: -999 -999  K: -999 -999  L: -999 -999
- dealloc  dynamic grid (G011)          XOFFSET   NORMAL    NORMAL    NORMAL
+ dealloc  dynamic grid (G###)          XOFFSET   NORMAL    NORMAL    NORMAL
+ -DELETE A1       M:184 dset:   0 I:      1      7  J: -999 -999  K: -999 -999  L:   -999   -999
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid A2       C:  7 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G###)          X2PT      NORMAL    NORMAL    NORMAL
+ dealloc  dynamic grid (G###)          X2PT      NORMAL    NORMAL    NORMAL
+ allocate dynamic grid (G###)          X2PT      NORMAL    NORMAL    NORMAL
+ allocate dynamic grid (G###)          XOFFSET   NORMAL    NORMAL    NORMAL
+ dealloc  dynamic grid (G###)          XOFFSET   NORMAL    NORMAL    NORMAL
+ allocate dynamic grid (G###)          XOFFSET   NORMAL    NORMAL    NORMAL
+ eval    EX#1     C:  4 dset:   2 I:      1      7  J: -999 -999  K: -999 -999  L:   -999   -999
+ allocate dynamic grid (G###)          XOFFSET   NORMAL    NORMAL    NORMAL
+ strip regrid on X: A2 --> (G###)           @AVE
+ eval    A2       C:  7 dset:   0 I:      1      2  J: -999 -999  K: -999 -999  L:   -999   -999
+ allocate dynamic grid (G###)          X2PT      NORMAL    NORMAL    NORMAL
+ pseudo  X        M:184 dset:   0 I:      1      2  J: -999 -999  K: -999 -999  L:   -999   -999
+ dealloc  dynamic grid (G###)          X2PT      NORMAL    NORMAL    NORMAL
+ regrid  A2       M:185 dset:   0 I:      1      7  J: -999 -999  K: -999 -999  L:   -999   -999
+ dealloc  dynamic grid (G###)          XOFFSET   NORMAL    NORMAL    NORMAL
              VARIABLE : X[GX=X2PT]
                         regrid: 1 delta on X at AVE
              SUBSET   : 7 points (X)
@@ -17355,19 +17380,19 @@ list a2[gx=xoffset at ave]
  6.1 / 6:  6.000
  7.1 / 7:   ....
 list a2[gx=xoffset at sum] ! should sum to 5+6=11
- -DELETE X        M:184 dset:   0 I:    1    2  J: -999 -999  K: -999 -999  L: -999 -999
- dealloc  dynamic grid (G011)          XOFFSET   NORMAL    NORMAL    NORMAL
- -DELETE A2       M:185 dset:   0 I:    1    7  J: -999 -999  K: -999 -999  L: -999 -999
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G011)          XOFFSET   NORMAL    NORMAL    NORMAL
- dealloc  dynamic grid (G011)          XOFFSET   NORMAL    NORMAL    NORMAL
- allocate dynamic grid (G011)          XOFFSET   NORMAL    NORMAL    NORMAL
- eval    EX#1     C:  4 dset:   2 I:    1    7  J: -999 -999  K: -999 -999  L: -999 -999
- allocate dynamic grid (G011)          XOFFSET   NORMAL    NORMAL    NORMAL
- strip regrid on X: A2 --> (G011)           @SUM
- found   A2       M:182 dset:   0 I:    1    2  J: -999 -999  K: -999 -999  L: -999 -999
- regrid  A2       M:185 dset:   0 I:    1    7  J: -999 -999  K: -999 -999  L: -999 -999
- dealloc  dynamic grid (G011)          XOFFSET   NORMAL    NORMAL    NORMAL
+ -DELETE X        M:184 dset:   0 I:      1      2  J: -999 -999  K: -999 -999  L:   -999   -999
+ dealloc  dynamic grid (G###)          XOFFSET   NORMAL    NORMAL    NORMAL
+ -DELETE A2       M:185 dset:   0 I:      1      7  J: -999 -999  K: -999 -999  L:   -999   -999
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G###)          XOFFSET   NORMAL    NORMAL    NORMAL
+ dealloc  dynamic grid (G###)          XOFFSET   NORMAL    NORMAL    NORMAL
+ allocate dynamic grid (G###)          XOFFSET   NORMAL    NORMAL    NORMAL
+ eval    EX#1     C:  4 dset:   2 I:      1      7  J: -999 -999  K: -999 -999  L:   -999   -999
+ allocate dynamic grid (G###)          XOFFSET   NORMAL    NORMAL    NORMAL
+ strip regrid on X: A2 --> (G###)           @SUM
+ found   A2       M:182 dset:   0 I:      1      2  J: -999 -999  K: -999 -999  L:   -999   -999
+ regrid  A2       M:185 dset:   0 I:      1      7  J: -999 -999  K: -999 -999  L:   -999   -999
+ dealloc  dynamic grid (G###)          XOFFSET   NORMAL    NORMAL    NORMAL
              VARIABLE : X[GX=X2PT]
                         regrid: 1 delta on X at SUM
              SUBSET   : 7 points (X)
@@ -17379,18 +17404,18 @@ list a2[gx=xoffset at sum] ! should sum to 5+6=11
  6.1 / 6:  5.400
  7.1 / 7:   ....
 list a2[gx=xoffset at var]
- dealloc  dynamic grid (G011)          XOFFSET   NORMAL    NORMAL    NORMAL
- -DELETE A2       M:185 dset:   0 I:    1    7  J: -999 -999  K: -999 -999  L: -999 -999
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G011)          XOFFSET   NORMAL    NORMAL    NORMAL
- dealloc  dynamic grid (G011)          XOFFSET   NORMAL    NORMAL    NORMAL
- allocate dynamic grid (G011)          XOFFSET   NORMAL    NORMAL    NORMAL
- eval    EX#1     C:  4 dset:   2 I:    1    7  J: -999 -999  K: -999 -999  L: -999 -999
- allocate dynamic grid (G011)          XOFFSET   NORMAL    NORMAL    NORMAL
- strip regrid on X: A2 --> (G011)           @VAR
- found   A2       M:182 dset:   0 I:    1    2  J: -999 -999  K: -999 -999  L: -999 -999
- regrid  A2       M:185 dset:   0 I:    1    7  J: -999 -999  K: -999 -999  L: -999 -999
- dealloc  dynamic grid (G011)          XOFFSET   NORMAL    NORMAL    NORMAL
+ dealloc  dynamic grid (G###)          XOFFSET   NORMAL    NORMAL    NORMAL
+ -DELETE A2       M:185 dset:   0 I:      1      7  J: -999 -999  K: -999 -999  L:   -999   -999
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G###)          XOFFSET   NORMAL    NORMAL    NORMAL
+ dealloc  dynamic grid (G###)          XOFFSET   NORMAL    NORMAL    NORMAL
+ allocate dynamic grid (G###)          XOFFSET   NORMAL    NORMAL    NORMAL
+ eval    EX#1     C:  4 dset:   2 I:      1      7  J: -999 -999  K: -999 -999  L:   -999   -999
+ allocate dynamic grid (G###)          XOFFSET   NORMAL    NORMAL    NORMAL
+ strip regrid on X: A2 --> (G###)           @VAR
+ found   A2       M:182 dset:   0 I:      1      2  J: -999 -999  K: -999 -999  L:   -999   -999
+ regrid  A2       M:185 dset:   0 I:      1      7  J: -999 -999  K: -999 -999  L:   -999   -999
+ dealloc  dynamic grid (G###)          XOFFSET   NORMAL    NORMAL    NORMAL
              VARIABLE : Variance of X[GX=X2PT]
                         regrid: 1 delta on X at VAR
              SUBSET   : 7 points (X)
@@ -17408,42 +17433,42 @@ define axis/y=5/npoints=1 y1pt
 define axis/y=5:6:1 y2pt
  
 let a1 = x[gx=x1pt]+y[gy=y1pt]
- dealloc  dynamic grid (G011)          XOFFSET   NORMAL    NORMAL    NORMAL
- -DELETE A2       M:185 dset:   0 I:    1    7  J: -999 -999  K: -999 -999  L: -999 -999
- -DELETE A2       M:182 dset:   0 I:    1    2  J: -999 -999  K: -999 -999  L: -999 -999
- dealloc  dynamic grid (G010)          X2PT      NORMAL    NORMAL    NORMAL
- -DELETE A1       M:183 dset:   0 I:    1    1  J: -999 -999  K: -999 -999  L: -999 -999
- dealloc  dynamic grid (G009)          X1PT      NORMAL    NORMAL    NORMAL
+ dealloc  dynamic grid (G###)          XOFFSET   NORMAL    NORMAL    NORMAL
+ -DELETE A2       M:185 dset:   0 I:      1      7  J: -999 -999  K: -999 -999  L:   -999   -999
+ -DELETE A2       M:182 dset:   0 I:      1      2  J: -999 -999  K: -999 -999  L:   -999   -999
+ dealloc  dynamic grid (G###)          X2PT      NORMAL    NORMAL    NORMAL
+ -DELETE A1       M:183 dset:   0 I:      1      1  J: -999 -999  K: -999 -999  L:   -999   -999
+ dealloc  dynamic grid (G###)          X1PT      NORMAL    NORMAL    NORMAL
 let a2 = x[gx=x2pt]+y[gy=y2pt]
  
 list a1[gx=xoffset at ave, gy=yoffset at ave]
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid A1       C:  7 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G009)          NORMAL    Y1PT      NORMAL    NORMAL
- dealloc  dynamic grid (G009)          NORMAL    Y1PT      NORMAL    NORMAL
- allocate dynamic grid (G009)          X1PT      NORMAL    NORMAL    NORMAL
- dealloc  dynamic grid (G009)          X1PT      NORMAL    NORMAL    NORMAL
- allocate dynamic grid (G009)          X1PT      Y1PT      NORMAL    NORMAL
- allocate dynamic grid (G010)          XOFFSET   YOFFSET   NORMAL    NORMAL
- dealloc  dynamic grid (G010)          XOFFSET   YOFFSET   NORMAL    NORMAL
- allocate dynamic grid (G010)          XOFFSET   YOFFSET   NORMAL    NORMAL
- eval    EX#1     C:  4 dset:   2 I:    1    7  J:    1    7  K: -999 -999  L: -999 -999
- allocate dynamic grid (G010)          XOFFSET   YOFFSET   NORMAL    NORMAL
- strip regrid on X: A1 --> (G010)           @AVE
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid A1       C:  7 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G###)          NORMAL    Y1PT      NORMAL    NORMAL
+ dealloc  dynamic grid (G###)          NORMAL    Y1PT      NORMAL    NORMAL
+ allocate dynamic grid (G###)          X1PT      NORMAL    NORMAL    NORMAL
+ dealloc  dynamic grid (G###)          X1PT      NORMAL    NORMAL    NORMAL
+ allocate dynamic grid (G###)          X1PT      Y1PT      NORMAL    NORMAL
+ allocate dynamic grid (G###)          XOFFSET   YOFFSET   NORMAL    NORMAL
+ dealloc  dynamic grid (G###)          XOFFSET   YOFFSET   NORMAL    NORMAL
+ allocate dynamic grid (G###)          XOFFSET   YOFFSET   NORMAL    NORMAL
+ eval    EX#1     C:  4 dset:   2 I:      1      7  J:    1    7  K: -999 -999  L:   -999   -999
+ allocate dynamic grid (G###)          XOFFSET   YOFFSET   NORMAL    NORMAL
+ strip regrid on X: A1 --> (G###)           @AVE
  strip regrid on Y: A1 --> XNTERMED         @AVE
- eval    A1       C:  8 dset:   0 I:    1    1  J:    1    1  K: -999 -999  L: -999 -999
- allocate dynamic grid (G011)          X1PT      NORMAL    NORMAL    NORMAL
- pseudo  X        M:183 dset:   0 I:    1    1  J: -999 -999  K: -999 -999  L: -999 -999
- allocate dynamic grid (G012)          NORMAL    Y1PT      NORMAL    NORMAL
- pseudo  Y        M:182 dset:   0 I: -999 -999  J:    1    1  K: -999 -999  L: -999 -999
- -DELETE Y        M:182 dset:   0 I: -999 -999  J:    1    1  K: -999 -999  L: -999 -999
- dealloc  dynamic grid (G012)          NORMAL    Y1PT      NORMAL    NORMAL
- -DELETE X        M:183 dset:   0 I:    1    1  J: -999 -999  K: -999 -999  L: -999 -999
- dealloc  dynamic grid (G011)          X1PT      NORMAL    NORMAL    NORMAL
- regrid  A1       M:183 dset:   0 I:    1    1  J:    1    7  K: -999 -999  L: -999 -999
- regrid  A1       M:182 dset:   0 I:    1    7  J:    1    7  K: -999 -999  L: -999 -999
- -DELETE A1       M:183 dset:   0 I:    1    1  J:    1    7  K: -999 -999  L: -999 -999  M: -999 -999  N: -999 -999
- dealloc  dynamic grid (G010)          XOFFSET   YOFFSET   NORMAL    NORMAL
+ eval    A1       C:  8 dset:   0 I:      1      1  J:    1    1  K: -999 -999  L:   -999   -999
+ allocate dynamic grid (G###)          X1PT      NORMAL    NORMAL    NORMAL
+ pseudo  X        M:183 dset:   0 I:      1      1  J: -999 -999  K: -999 -999  L:   -999   -999
+ allocate dynamic grid (G###)          NORMAL    Y1PT      NORMAL    NORMAL
+ pseudo  Y        M:182 dset:   0 I:   -999   -999  J:    1    1  K: -999 -999  L:   -999   -999
+ -DELETE Y        M:182 dset:   0 I:   -999   -999  J:    1    1  K: -999 -999  L:   -999   -999
+ dealloc  dynamic grid (G###)          NORMAL    Y1PT      NORMAL    NORMAL
+ -DELETE X        M:183 dset:   0 I:      1      1  J: -999 -999  K: -999 -999  L:   -999   -999
+ dealloc  dynamic grid (G###)          X1PT      NORMAL    NORMAL    NORMAL
+ regrid  A1       M:183 dset:   0 I:      1      1  J:    1    7  K: -999 -999  L:   -999   -999
+ regrid  A1       M:182 dset:   0 I:      1      7  J:    1    7  K: -999 -999  L:   -999   -999
+ -DELETE A1       M:183 dset:   0 I:      1      1  J:    1    7  K: -999 -999  L:   -999   -999  M: -999 -999  N: -999 -999
+ dealloc  dynamic grid (G###)          XOFFSET   YOFFSET   NORMAL    NORMAL
              VARIABLE : X[GX=X1PT]+Y[GY=Y1PT]
                         regrid: 1 delta on X at AVE, 1 delta on Y at AVE
              SUBSET   : 7 by 7 points (X-Y)
@@ -17457,21 +17482,21 @@ list a1[gx=xoffset at ave, gy=yoffset at ave]
  6.1 / 6:   ....   ....   ....   ....   ....   ....   ....
  7.1 / 7:   ....   ....   ....   ....   ....   ....   ....
 list a1[gx=xoffset at sum, gy=yoffset at sum] ! should sum to 10
- dealloc  dynamic grid (G010)          XOFFSET   YOFFSET   NORMAL    NORMAL
- -DELETE A1       M:182 dset:   0 I:    1    7  J:    1    7  K: -999 -999  L: -999 -999
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G010)          XOFFSET   YOFFSET   NORMAL    NORMAL
- dealloc  dynamic grid (G010)          XOFFSET   YOFFSET   NORMAL    NORMAL
- allocate dynamic grid (G010)          XOFFSET   YOFFSET   NORMAL    NORMAL
- eval    EX#1     C:  4 dset:   2 I:    1    7  J:    1    7  K: -999 -999  L: -999 -999
- allocate dynamic grid (G010)          XOFFSET   YOFFSET   NORMAL    NORMAL
- strip regrid on X: A1 --> (G010)           @SUM
+ dealloc  dynamic grid (G###)          XOFFSET   YOFFSET   NORMAL    NORMAL
+ -DELETE A1       M:182 dset:   0 I:      1      7  J:    1    7  K: -999 -999  L:   -999   -999
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G###)          XOFFSET   YOFFSET   NORMAL    NORMAL
+ dealloc  dynamic grid (G###)          XOFFSET   YOFFSET   NORMAL    NORMAL
+ allocate dynamic grid (G###)          XOFFSET   YOFFSET   NORMAL    NORMAL
+ eval    EX#1     C:  4 dset:   2 I:      1      7  J:    1    7  K: -999 -999  L:   -999   -999
+ allocate dynamic grid (G###)          XOFFSET   YOFFSET   NORMAL    NORMAL
+ strip regrid on X: A1 --> (G###)           @SUM
  strip regrid on Y: A1 --> XNTERMED         @SUM
- found   A1       M:185 dset:   0 I:    1    1  J:    1    1  K: -999 -999  L: -999 -999
- regrid  A1       M:182 dset:   0 I:    1    1  J:    1    7  K: -999 -999  L: -999 -999
- regrid  A1       M:183 dset:   0 I:    1    7  J:    1    7  K: -999 -999  L: -999 -999
- -DELETE A1       M:182 dset:   0 I:    1    1  J:    1    7  K: -999 -999  L: -999 -999  M: -999 -999  N: -999 -999
- dealloc  dynamic grid (G010)          XOFFSET   YOFFSET   NORMAL    NORMAL
+ found   A1       M:185 dset:   0 I:      1      1  J:    1    1  K: -999 -999  L:   -999   -999
+ regrid  A1       M:182 dset:   0 I:      1      1  J:    1    7  K: -999 -999  L:   -999   -999
+ regrid  A1       M:183 dset:   0 I:      1      7  J:    1    7  K: -999 -999  L:   -999   -999
+ -DELETE A1       M:182 dset:   0 I:      1      1  J:    1    7  K: -999 -999  L:   -999   -999  M: -999 -999  N: -999 -999
+ dealloc  dynamic grid (G###)          XOFFSET   YOFFSET   NORMAL    NORMAL
              VARIABLE : X[GX=X1PT]+Y[GY=Y1PT]
                         regrid: 1 delta on X at SUM, 1 delta on Y at SUM
              SUBSET   : 7 by 7 points (X-Y)
@@ -17485,21 +17510,21 @@ list a1[gx=xoffset at sum, gy=yoffset at sum] ! should sum to 10
  6.1 / 6:   ....   ....   ....   ....   ....   ....   ....
  7.1 / 7:   ....   ....   ....   ....   ....   ....   ....
 list a1[gx=xoffset at var, gy=yoffset at var] ! should be all missing
- dealloc  dynamic grid (G010)          XOFFSET   YOFFSET   NORMAL    NORMAL
- -DELETE A1       M:183 dset:   0 I:    1    7  J:    1    7  K: -999 -999  L: -999 -999
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G010)          XOFFSET   YOFFSET   NORMAL    NORMAL
- dealloc  dynamic grid (G010)          XOFFSET   YOFFSET   NORMAL    NORMAL
- allocate dynamic grid (G010)          XOFFSET   YOFFSET   NORMAL    NORMAL
- eval    EX#1     C:  4 dset:   2 I:    1    7  J:    1    7  K: -999 -999  L: -999 -999
- allocate dynamic grid (G010)          XOFFSET   YOFFSET   NORMAL    NORMAL
- strip regrid on X: A1 --> (G010)           @VAR
+ dealloc  dynamic grid (G###)          XOFFSET   YOFFSET   NORMAL    NORMAL
+ -DELETE A1       M:183 dset:   0 I:      1      7  J:    1    7  K: -999 -999  L:   -999   -999
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G###)          XOFFSET   YOFFSET   NORMAL    NORMAL
+ dealloc  dynamic grid (G###)          XOFFSET   YOFFSET   NORMAL    NORMAL
+ allocate dynamic grid (G###)          XOFFSET   YOFFSET   NORMAL    NORMAL
+ eval    EX#1     C:  4 dset:   2 I:      1      7  J:    1    7  K: -999 -999  L:   -999   -999
+ allocate dynamic grid (G###)          XOFFSET   YOFFSET   NORMAL    NORMAL
+ strip regrid on X: A1 --> (G###)           @VAR
  strip regrid on Y: A1 --> XNTERMED         @VAR
- found   A1       M:185 dset:   0 I:    1    1  J:    1    1  K: -999 -999  L: -999 -999
- regrid  A1       M:183 dset:   0 I:    1    1  J:    1    7  K: -999 -999  L: -999 -999
- regrid  A1       M:182 dset:   0 I:    1    7  J:    1    7  K: -999 -999  L: -999 -999
- -DELETE A1       M:183 dset:   0 I:    1    1  J:    1    7  K: -999 -999  L: -999 -999  M: -999 -999  N: -999 -999
- dealloc  dynamic grid (G010)          XOFFSET   YOFFSET   NORMAL    NORMAL
+ found   A1       M:185 dset:   0 I:      1      1  J:    1    1  K: -999 -999  L:   -999   -999
+ regrid  A1       M:183 dset:   0 I:      1      1  J:    1    7  K: -999 -999  L:   -999   -999
+ regrid  A1       M:182 dset:   0 I:      1      7  J:    1    7  K: -999 -999  L:   -999   -999
+ -DELETE A1       M:183 dset:   0 I:      1      1  J:    1    7  K: -999 -999  L:   -999   -999  M: -999 -999  N: -999 -999
+ dealloc  dynamic grid (G###)          XOFFSET   YOFFSET   NORMAL    NORMAL
              VARIABLE : Variance of X[GX=X1PT]+Y[GY=Y1PT]
                         regrid: 1 delta on X at VAR, 1 delta on Y at VAR
              SUBSET   : 7 by 7 points (X-Y)
@@ -17514,35 +17539,35 @@ list a1[gx=xoffset at var, gy=yoffset at var] ! should be all missing
  7.1 / 7:............................
  
 list a2[gx=xoffset at ave, gy=yoffset at ave]
- dealloc  dynamic grid (G010)          XOFFSET   YOFFSET   NORMAL    NORMAL
- -DELETE A1       M:182 dset:   0 I:    1    7  J:    1    7  K: -999 -999  L: -999 -999
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid A2       C:  7 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G010)          NORMAL    Y2PT      NORMAL    NORMAL
- dealloc  dynamic grid (G010)          NORMAL    Y2PT      NORMAL    NORMAL
- allocate dynamic grid (G010)          X2PT      NORMAL    NORMAL    NORMAL
- dealloc  dynamic grid (G010)          X2PT      NORMAL    NORMAL    NORMAL
- allocate dynamic grid (G010)          X2PT      Y2PT      NORMAL    NORMAL
- allocate dynamic grid (G011)          XOFFSET   YOFFSET   NORMAL    NORMAL
- dealloc  dynamic grid (G011)          XOFFSET   YOFFSET   NORMAL    NORMAL
- allocate dynamic grid (G011)          XOFFSET   YOFFSET   NORMAL    NORMAL
- eval    EX#1     C:  4 dset:   2 I:    1    7  J:    1    7  K: -999 -999  L: -999 -999
- allocate dynamic grid (G011)          XOFFSET   YOFFSET   NORMAL    NORMAL
- strip regrid on X: A2 --> (G011)           @AVE
+ dealloc  dynamic grid (G###)          XOFFSET   YOFFSET   NORMAL    NORMAL
+ -DELETE A1       M:182 dset:   0 I:      1      7  J:    1    7  K: -999 -999  L:   -999   -999
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid A2       C:  7 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G###)          NORMAL    Y2PT      NORMAL    NORMAL
+ dealloc  dynamic grid (G###)          NORMAL    Y2PT      NORMAL    NORMAL
+ allocate dynamic grid (G###)          X2PT      NORMAL    NORMAL    NORMAL
+ dealloc  dynamic grid (G###)          X2PT      NORMAL    NORMAL    NORMAL
+ allocate dynamic grid (G###)          X2PT      Y2PT      NORMAL    NORMAL
+ allocate dynamic grid (G###)          XOFFSET   YOFFSET   NORMAL    NORMAL
+ dealloc  dynamic grid (G###)          XOFFSET   YOFFSET   NORMAL    NORMAL
+ allocate dynamic grid (G###)          XOFFSET   YOFFSET   NORMAL    NORMAL
+ eval    EX#1     C:  4 dset:   2 I:      1      7  J:    1    7  K: -999 -999  L:   -999   -999
+ allocate dynamic grid (G###)          XOFFSET   YOFFSET   NORMAL    NORMAL
+ strip regrid on X: A2 --> (G###)           @AVE
  strip regrid on Y: A2 --> XNTERMED         @AVE
- eval    A2       C:  8 dset:   0 I:    1    2  J:    1    2  K: -999 -999  L: -999 -999
- allocate dynamic grid (G012)          X2PT      NORMAL    NORMAL    NORMAL
- pseudo  X        M:182 dset:   0 I:    1    2  J: -999 -999  K: -999 -999  L: -999 -999
- allocate dynamic grid (G013)          NORMAL    Y2PT      NORMAL    NORMAL
- pseudo  Y        M:183 dset:   0 I: -999 -999  J:    1    2  K: -999 -999  L: -999 -999
- -DELETE Y        M:183 dset:   0 I: -999 -999  J:    1    2  K: -999 -999  L: -999 -999
- dealloc  dynamic grid (G013)          NORMAL    Y2PT      NORMAL    NORMAL
- -DELETE X        M:182 dset:   0 I:    1    2  J: -999 -999  K: -999 -999  L: -999 -999
- dealloc  dynamic grid (G012)          X2PT      NORMAL    NORMAL    NORMAL
- regrid  A2       M:182 dset:   0 I:    1    2  J:    1    7  K: -999 -999  L: -999 -999
- regrid  A2       M:183 dset:   0 I:    1    7  J:    1    7  K: -999 -999  L: -999 -999
- -DELETE A2       M:182 dset:   0 I:    1    2  J:    1    7  K: -999 -999  L: -999 -999  M: -999 -999  N: -999 -999
- dealloc  dynamic grid (G011)          XOFFSET   YOFFSET   NORMAL    NORMAL
+ eval    A2       C:  8 dset:   0 I:      1      2  J:    1    2  K: -999 -999  L:   -999   -999
+ allocate dynamic grid (G###)          X2PT      NORMAL    NORMAL    NORMAL
+ pseudo  X        M:182 dset:   0 I:      1      2  J: -999 -999  K: -999 -999  L:   -999   -999
+ allocate dynamic grid (G###)          NORMAL    Y2PT      NORMAL    NORMAL
+ pseudo  Y        M:183 dset:   0 I:   -999   -999  J:    1    2  K: -999 -999  L:   -999   -999
+ -DELETE Y        M:183 dset:   0 I:   -999   -999  J:    1    2  K: -999 -999  L:   -999   -999
+ dealloc  dynamic grid (G###)          NORMAL    Y2PT      NORMAL    NORMAL
+ -DELETE X        M:182 dset:   0 I:      1      2  J: -999 -999  K: -999 -999  L:   -999   -999
+ dealloc  dynamic grid (G###)          X2PT      NORMAL    NORMAL    NORMAL
+ regrid  A2       M:182 dset:   0 I:      1      2  J:    1    7  K: -999 -999  L:   -999   -999
+ regrid  A2       M:183 dset:   0 I:      1      7  J:    1    7  K: -999 -999  L:   -999   -999
+ -DELETE A2       M:182 dset:   0 I:      1      2  J:    1    7  K: -999 -999  L:   -999   -999  M: -999 -999  N: -999 -999
+ dealloc  dynamic grid (G###)          XOFFSET   YOFFSET   NORMAL    NORMAL
              VARIABLE : X[GX=X2PT]+Y[GY=Y2PT]
                         regrid: 1 delta on X at AVE, 1 delta on Y at AVE
              SUBSET   : 7 by 7 points (X-Y)
@@ -17556,21 +17581,21 @@ list a2[gx=xoffset at ave, gy=yoffset at ave]
  6.1 / 6:   ....   ....   ....  11.00  11.10  12.00   ....
  7.1 / 7:   ....   ....   ....   ....   ....   ....   ....
 list a2[gx=xoffset at sum, gy=yoffset at sum] ! should sum to 10+11+11+12=44
- dealloc  dynamic grid (G011)          XOFFSET   YOFFSET   NORMAL    NORMAL
- -DELETE A2       M:183 dset:   0 I:    1    7  J:    1    7  K: -999 -999  L: -999 -999
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G011)          XOFFSET   YOFFSET   NORMAL    NORMAL
- dealloc  dynamic grid (G011)          XOFFSET   YOFFSET   NORMAL    NORMAL
- allocate dynamic grid (G011)          XOFFSET   YOFFSET   NORMAL    NORMAL
- eval    EX#1     C:  4 dset:   2 I:    1    7  J:    1    7  K: -999 -999  L: -999 -999
- allocate dynamic grid (G011)          XOFFSET   YOFFSET   NORMAL    NORMAL
- strip regrid on X: A2 --> (G011)           @SUM
+ dealloc  dynamic grid (G###)          XOFFSET   YOFFSET   NORMAL    NORMAL
+ -DELETE A2       M:183 dset:   0 I:      1      7  J:    1    7  K: -999 -999  L:   -999   -999
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G###)          XOFFSET   YOFFSET   NORMAL    NORMAL
+ dealloc  dynamic grid (G###)          XOFFSET   YOFFSET   NORMAL    NORMAL
+ allocate dynamic grid (G###)          XOFFSET   YOFFSET   NORMAL    NORMAL
+ eval    EX#1     C:  4 dset:   2 I:      1      7  J:    1    7  K: -999 -999  L:   -999   -999
+ allocate dynamic grid (G###)          XOFFSET   YOFFSET   NORMAL    NORMAL
+ strip regrid on X: A2 --> (G###)           @SUM
  strip regrid on Y: A2 --> XNTERMED         @SUM
- found   A2       M:184 dset:   0 I:    1    2  J:    1    2  K: -999 -999  L: -999 -999
- regrid  A2       M:183 dset:   0 I:    1    2  J:    1    7  K: -999 -999  L: -999 -999
- regrid  A2       M:182 dset:   0 I:    1    7  J:    1    7  K: -999 -999  L: -999 -999
- -DELETE A2       M:183 dset:   0 I:    1    2  J:    1    7  K: -999 -999  L: -999 -999  M: -999 -999  N: -999 -999
- dealloc  dynamic grid (G011)          XOFFSET   YOFFSET   NORMAL    NORMAL
+ found   A2       M:184 dset:   0 I:      1      2  J:    1    2  K: -999 -999  L:   -999   -999
+ regrid  A2       M:183 dset:   0 I:      1      2  J:    1    7  K: -999 -999  L:   -999   -999
+ regrid  A2       M:182 dset:   0 I:      1      7  J:    1    7  K: -999 -999  L:   -999   -999
+ -DELETE A2       M:183 dset:   0 I:      1      2  J:    1    7  K: -999 -999  L:   -999   -999  M: -999 -999  N: -999 -999
+ dealloc  dynamic grid (G###)          XOFFSET   YOFFSET   NORMAL    NORMAL
              VARIABLE : X[GX=X2PT]+Y[GY=Y2PT]
                         regrid: 1 delta on X at SUM, 1 delta on Y at SUM
              SUBSET   : 7 by 7 points (X-Y)
@@ -17585,21 +17610,21 @@ list a2[gx=xoffset at sum, gy=yoffset at sum] ! should sum to 10+11+11+12=44
  7.1 / 7:   ....   ....   ....   ....   ....   ....   ....
  ! NOTE: as of V5.1 NO xy_var trans exists.  Need it to be complete ...!
 list a2[gx=xoffset at var, gy=yoffset at var]
- dealloc  dynamic grid (G011)          XOFFSET   YOFFSET   NORMAL    NORMAL
- -DELETE A2       M:182 dset:   0 I:    1    7  J:    1    7  K: -999 -999  L: -999 -999
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G011)          XOFFSET   YOFFSET   NORMAL    NORMAL
- dealloc  dynamic grid (G011)          XOFFSET   YOFFSET   NORMAL    NORMAL
- allocate dynamic grid (G011)          XOFFSET   YOFFSET   NORMAL    NORMAL
- eval    EX#1     C:  4 dset:   2 I:    1    7  J:    1    7  K: -999 -999  L: -999 -999
- allocate dynamic grid (G011)          XOFFSET   YOFFSET   NORMAL    NORMAL
- strip regrid on X: A2 --> (G011)           @VAR
+ dealloc  dynamic grid (G###)          XOFFSET   YOFFSET   NORMAL    NORMAL
+ -DELETE A2       M:182 dset:   0 I:      1      7  J:    1    7  K: -999 -999  L:   -999   -999
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G###)          XOFFSET   YOFFSET   NORMAL    NORMAL
+ dealloc  dynamic grid (G###)          XOFFSET   YOFFSET   NORMAL    NORMAL
+ allocate dynamic grid (G###)          XOFFSET   YOFFSET   NORMAL    NORMAL
+ eval    EX#1     C:  4 dset:   2 I:      1      7  J:    1    7  K: -999 -999  L:   -999   -999
+ allocate dynamic grid (G###)          XOFFSET   YOFFSET   NORMAL    NORMAL
+ strip regrid on X: A2 --> (G###)           @VAR
  strip regrid on Y: A2 --> XNTERMED         @VAR
- found   A2       M:184 dset:   0 I:    1    2  J:    1    2  K: -999 -999  L: -999 -999
- regrid  A2       M:182 dset:   0 I:    1    2  J:    1    7  K: -999 -999  L: -999 -999
- regrid  A2       M:183 dset:   0 I:    1    7  J:    1    7  K: -999 -999  L: -999 -999
- -DELETE A2       M:182 dset:   0 I:    1    2  J:    1    7  K: -999 -999  L: -999 -999  M: -999 -999  N: -999 -999
- dealloc  dynamic grid (G011)          XOFFSET   YOFFSET   NORMAL    NORMAL
+ found   A2       M:184 dset:   0 I:      1      2  J:    1    2  K: -999 -999  L:   -999   -999
+ regrid  A2       M:182 dset:   0 I:      1      2  J:    1    7  K: -999 -999  L:   -999   -999
+ regrid  A2       M:183 dset:   0 I:      1      7  J:    1    7  K: -999 -999  L:   -999   -999
+ -DELETE A2       M:182 dset:   0 I:      1      2  J:    1    7  K: -999 -999  L:   -999   -999  M: -999 -999  N: -999 -999
+ dealloc  dynamic grid (G###)          XOFFSET   YOFFSET   NORMAL    NORMAL
              VARIABLE : Variance of X[GX=X2PT]+Y[GY=Y2PT]
                         regrid: 1 delta on X at VAR, 1 delta on Y at VAR
              SUBSET   : 7 by 7 points (X-Y)
@@ -17620,33 +17645,33 @@ define axis/x=5:6:1 x2pt
 define axis/x=5:6.5:.5 x4pt
  
 let a1 = x[gx=x1pt]
- dealloc  dynamic grid (G011)          XOFFSET   YOFFSET   NORMAL    NORMAL
- -DELETE A2       M:183 dset:   0 I:    1    7  J:    1    7  K: -999 -999  L: -999 -999
- -DELETE A2       M:184 dset:   0 I:    1    2  J:    1    2  K: -999 -999  L: -999 -999
- dealloc  dynamic grid (G010)          X2PT      Y2PT      NORMAL    NORMAL
- -DELETE A1       M:185 dset:   0 I:    1    1  J:    1    1  K: -999 -999  L: -999 -999
- dealloc  dynamic grid (G009)          X1PT      Y1PT      NORMAL    NORMAL
+ dealloc  dynamic grid (G###)          XOFFSET   YOFFSET   NORMAL    NORMAL
+ -DELETE A2       M:183 dset:   0 I:      1      7  J:    1    7  K: -999 -999  L:   -999   -999
+ -DELETE A2       M:184 dset:   0 I:      1      2  J:    1    2  K: -999 -999  L:   -999   -999
+ dealloc  dynamic grid (G###)          X2PT      Y2PT      NORMAL    NORMAL
+ -DELETE A1       M:185 dset:   0 I:      1      1  J:    1    1  K: -999 -999  L:   -999   -999
+ dealloc  dynamic grid (G###)          X1PT      Y1PT      NORMAL    NORMAL
 let a2 = x[gx=x2pt]
 let a4 = x[gx=x4pt]
  
 list a1[gx=xoffset at max]
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid A1       C:  7 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G009)          X1PT      NORMAL    NORMAL    NORMAL
- dealloc  dynamic grid (G009)          X1PT      NORMAL    NORMAL    NORMAL
- allocate dynamic grid (G009)          X1PT      NORMAL    NORMAL    NORMAL
- allocate dynamic grid (G010)          XOFFSET   NORMAL    NORMAL    NORMAL
- dealloc  dynamic grid (G010)          XOFFSET   NORMAL    NORMAL    NORMAL
- allocate dynamic grid (G010)          XOFFSET   NORMAL    NORMAL    NORMAL
- eval    EX#1     C:  4 dset:   2 I:    1    7  J: -999 -999  K: -999 -999  L: -999 -999
- allocate dynamic grid (G010)          XOFFSET   NORMAL    NORMAL    NORMAL
- strip regrid on X: A1 --> (G010)           @MAX
- eval    A1       C:  7 dset:   0 I:    1    1  J: -999 -999  K: -999 -999  L: -999 -999
- allocate dynamic grid (G009)          X1PT      NORMAL    NORMAL    NORMAL
- pseudo  X        M:185 dset:   0 I:    1    1  J: -999 -999  K: -999 -999  L: -999 -999
- dealloc  dynamic grid (G009)          X1PT      NORMAL    NORMAL    NORMAL
- regrid  A1       M:183 dset:   0 I:    1    7  J: -999 -999  K: -999 -999  L: -999 -999
- dealloc  dynamic grid (G010)          XOFFSET   NORMAL    NORMAL    NORMAL
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid A1       C:  7 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G###)          X1PT      NORMAL    NORMAL    NORMAL
+ dealloc  dynamic grid (G###)          X1PT      NORMAL    NORMAL    NORMAL
+ allocate dynamic grid (G###)          X1PT      NORMAL    NORMAL    NORMAL
+ allocate dynamic grid (G###)          XOFFSET   NORMAL    NORMAL    NORMAL
+ dealloc  dynamic grid (G###)          XOFFSET   NORMAL    NORMAL    NORMAL
+ allocate dynamic grid (G###)          XOFFSET   NORMAL    NORMAL    NORMAL
+ eval    EX#1     C:  4 dset:   2 I:      1      7  J: -999 -999  K: -999 -999  L:   -999   -999
+ allocate dynamic grid (G###)          XOFFSET   NORMAL    NORMAL    NORMAL
+ strip regrid on X: A1 --> (G###)           @MAX
+ eval    A1       C:  7 dset:   0 I:      1      1  J: -999 -999  K: -999 -999  L:   -999   -999
+ allocate dynamic grid (G###)          X1PT      NORMAL    NORMAL    NORMAL
+ pseudo  X        M:185 dset:   0 I:      1      1  J: -999 -999  K: -999 -999  L:   -999   -999
+ dealloc  dynamic grid (G###)          X1PT      NORMAL    NORMAL    NORMAL
+ regrid  A1       M:183 dset:   0 I:      1      7  J: -999 -999  K: -999 -999  L:   -999   -999
+ dealloc  dynamic grid (G###)          XOFFSET   NORMAL    NORMAL    NORMAL
              VARIABLE : X[GX=X1PT]
                         regrid: 1 delta on X at MAX
              SUBSET   : 7 points (X)
@@ -17658,26 +17683,26 @@ list a1[gx=xoffset at max]
  6.1 / 6:   ....
  7.1 / 7:   ....
 list a2[gx=xoffset at max]
- -DELETE X        M:185 dset:   0 I:    1    1  J: -999 -999  K: -999 -999  L: -999 -999
- dealloc  dynamic grid (G010)          XOFFSET   NORMAL    NORMAL    NORMAL
- -DELETE A1       M:183 dset:   0 I:    1    7  J: -999 -999  K: -999 -999  L: -999 -999
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid A2       C:  7 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G010)          X2PT      NORMAL    NORMAL    NORMAL
- dealloc  dynamic grid (G010)          X2PT      NORMAL    NORMAL    NORMAL
- allocate dynamic grid (G010)          X2PT      NORMAL    NORMAL    NORMAL
- allocate dynamic grid (G011)          XOFFSET   NORMAL    NORMAL    NORMAL
- dealloc  dynamic grid (G011)          XOFFSET   NORMAL    NORMAL    NORMAL
- allocate dynamic grid (G011)          XOFFSET   NORMAL    NORMAL    NORMAL
- eval    EX#1     C:  4 dset:   2 I:    1    7  J: -999 -999  K: -999 -999  L: -999 -999
- allocate dynamic grid (G011)          XOFFSET   NORMAL    NORMAL    NORMAL
- strip regrid on X: A2 --> (G011)           @MAX
- eval    A2       C:  7 dset:   0 I:    1    2  J: -999 -999  K: -999 -999  L: -999 -999
- allocate dynamic grid (G010)          X2PT      NORMAL    NORMAL    NORMAL
- pseudo  X        M:183 dset:   0 I:    1    2  J: -999 -999  K: -999 -999  L: -999 -999
- dealloc  dynamic grid (G010)          X2PT      NORMAL    NORMAL    NORMAL
- regrid  A2       M:182 dset:   0 I:    1    7  J: -999 -999  K: -999 -999  L: -999 -999
- dealloc  dynamic grid (G011)          XOFFSET   NORMAL    NORMAL    NORMAL
+ -DELETE X        M:185 dset:   0 I:      1      1  J: -999 -999  K: -999 -999  L:   -999   -999
+ dealloc  dynamic grid (G###)          XOFFSET   NORMAL    NORMAL    NORMAL
+ -DELETE A1       M:183 dset:   0 I:      1      7  J: -999 -999  K: -999 -999  L:   -999   -999
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid A2       C:  7 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G###)          X2PT      NORMAL    NORMAL    NORMAL
+ dealloc  dynamic grid (G###)          X2PT      NORMAL    NORMAL    NORMAL
+ allocate dynamic grid (G###)          X2PT      NORMAL    NORMAL    NORMAL
+ allocate dynamic grid (G###)          XOFFSET   NORMAL    NORMAL    NORMAL
+ dealloc  dynamic grid (G###)          XOFFSET   NORMAL    NORMAL    NORMAL
+ allocate dynamic grid (G###)          XOFFSET   NORMAL    NORMAL    NORMAL
+ eval    EX#1     C:  4 dset:   2 I:      1      7  J: -999 -999  K: -999 -999  L:   -999   -999
+ allocate dynamic grid (G###)          XOFFSET   NORMAL    NORMAL    NORMAL
+ strip regrid on X: A2 --> (G###)           @MAX
+ eval    A2       C:  7 dset:   0 I:      1      2  J: -999 -999  K: -999 -999  L:   -999   -999
+ allocate dynamic grid (G###)          X2PT      NORMAL    NORMAL    NORMAL
+ pseudo  X        M:183 dset:   0 I:      1      2  J: -999 -999  K: -999 -999  L:   -999   -999
+ dealloc  dynamic grid (G###)          X2PT      NORMAL    NORMAL    NORMAL
+ regrid  A2       M:182 dset:   0 I:      1      7  J: -999 -999  K: -999 -999  L:   -999   -999
+ dealloc  dynamic grid (G###)          XOFFSET   NORMAL    NORMAL    NORMAL
              VARIABLE : X[GX=X2PT]
                         regrid: 1 delta on X at MAX
              SUBSET   : 7 points (X)
@@ -17689,26 +17714,26 @@ list a2[gx=xoffset at max]
  6.1 / 6:  6.000
  7.1 / 7:   ....
 list a4[gx=xoffset at max]
- -DELETE X        M:183 dset:   0 I:    1    2  J: -999 -999  K: -999 -999  L: -999 -999
- dealloc  dynamic grid (G011)          XOFFSET   NORMAL    NORMAL    NORMAL
- -DELETE A2       M:182 dset:   0 I:    1    7  J: -999 -999  K: -999 -999  L: -999 -999
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid A4       C:  7 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G011)          X4PT      NORMAL    NORMAL    NORMAL
- dealloc  dynamic grid (G011)          X4PT      NORMAL    NORMAL    NORMAL
- allocate dynamic grid (G011)          X4PT      NORMAL    NORMAL    NORMAL
- allocate dynamic grid (G012)          XOFFSET   NORMAL    NORMAL    NORMAL
- dealloc  dynamic grid (G012)          XOFFSET   NORMAL    NORMAL    NORMAL
- allocate dynamic grid (G012)          XOFFSET   NORMAL    NORMAL    NORMAL
- eval    EX#1     C:  4 dset:   2 I:    1    7  J: -999 -999  K: -999 -999  L: -999 -999
- allocate dynamic grid (G012)          XOFFSET   NORMAL    NORMAL    NORMAL
- strip regrid on X: A4 --> (G012)           @MAX
- eval    A4       C:  7 dset:   0 I:    1    4  J: -999 -999  K: -999 -999  L: -999 -999
- allocate dynamic grid (G011)          X4PT      NORMAL    NORMAL    NORMAL
- pseudo  X        M:182 dset:   0 I:    1    4  J: -999 -999  K: -999 -999  L: -999 -999
- dealloc  dynamic grid (G011)          X4PT      NORMAL    NORMAL    NORMAL
- regrid  A4       M:186 dset:   0 I:    1    7  J: -999 -999  K: -999 -999  L: -999 -999
- dealloc  dynamic grid (G012)          XOFFSET   NORMAL    NORMAL    NORMAL
+ -DELETE X        M:183 dset:   0 I:      1      2  J: -999 -999  K: -999 -999  L:   -999   -999
+ dealloc  dynamic grid (G###)          XOFFSET   NORMAL    NORMAL    NORMAL
+ -DELETE A2       M:182 dset:   0 I:      1      7  J: -999 -999  K: -999 -999  L:   -999   -999
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid A4       C:  7 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G###)          X4PT      NORMAL    NORMAL    NORMAL
+ dealloc  dynamic grid (G###)          X4PT      NORMAL    NORMAL    NORMAL
+ allocate dynamic grid (G###)          X4PT      NORMAL    NORMAL    NORMAL
+ allocate dynamic grid (G###)          XOFFSET   NORMAL    NORMAL    NORMAL
+ dealloc  dynamic grid (G###)          XOFFSET   NORMAL    NORMAL    NORMAL
+ allocate dynamic grid (G###)          XOFFSET   NORMAL    NORMAL    NORMAL
+ eval    EX#1     C:  4 dset:   2 I:      1      7  J: -999 -999  K: -999 -999  L:   -999   -999
+ allocate dynamic grid (G###)          XOFFSET   NORMAL    NORMAL    NORMAL
+ strip regrid on X: A4 --> (G###)           @MAX
+ eval    A4       C:  7 dset:   0 I:      1      4  J: -999 -999  K: -999 -999  L:   -999   -999
+ allocate dynamic grid (G###)          X4PT      NORMAL    NORMAL    NORMAL
+ pseudo  X        M:182 dset:   0 I:      1      4  J: -999 -999  K: -999 -999  L:   -999   -999
+ dealloc  dynamic grid (G###)          X4PT      NORMAL    NORMAL    NORMAL
+ regrid  A4       M:186 dset:   0 I:      1      7  J: -999 -999  K: -999 -999  L:   -999   -999
+ dealloc  dynamic grid (G###)          XOFFSET   NORMAL    NORMAL    NORMAL
              VARIABLE : X[GX=X4PT]
                         regrid: 1 delta on X at MAX
              SUBSET   : 7 points (X)
@@ -17720,19 +17745,19 @@ list a4[gx=xoffset at max]
  6.1 / 6:  6.500
  7.1 / 7:   ....
 list a4[gx=xoffset at min]
- -DELETE X        M:182 dset:   0 I:    1    4  J: -999 -999  K: -999 -999  L: -999 -999
- dealloc  dynamic grid (G012)          XOFFSET   NORMAL    NORMAL    NORMAL
- -DELETE A4       M:186 dset:   0 I:    1    7  J: -999 -999  K: -999 -999  L: -999 -999
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G012)          XOFFSET   NORMAL    NORMAL    NORMAL
- dealloc  dynamic grid (G012)          XOFFSET   NORMAL    NORMAL    NORMAL
- allocate dynamic grid (G012)          XOFFSET   NORMAL    NORMAL    NORMAL
- eval    EX#1     C:  4 dset:   2 I:    1    7  J: -999 -999  K: -999 -999  L: -999 -999
- allocate dynamic grid (G012)          XOFFSET   NORMAL    NORMAL    NORMAL
- strip regrid on X: A4 --> (G012)           @MIN
- found   A4       M:183 dset:   0 I:    1    4  J: -999 -999  K: -999 -999  L: -999 -999
- regrid  A4       M:186 dset:   0 I:    1    7  J: -999 -999  K: -999 -999  L: -999 -999
- dealloc  dynamic grid (G012)          XOFFSET   NORMAL    NORMAL    NORMAL
+ -DELETE X        M:182 dset:   0 I:      1      4  J: -999 -999  K: -999 -999  L:   -999   -999
+ dealloc  dynamic grid (G###)          XOFFSET   NORMAL    NORMAL    NORMAL
+ -DELETE A4       M:186 dset:   0 I:      1      7  J: -999 -999  K: -999 -999  L:   -999   -999
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G###)          XOFFSET   NORMAL    NORMAL    NORMAL
+ dealloc  dynamic grid (G###)          XOFFSET   NORMAL    NORMAL    NORMAL
+ allocate dynamic grid (G###)          XOFFSET   NORMAL    NORMAL    NORMAL
+ eval    EX#1     C:  4 dset:   2 I:      1      7  J: -999 -999  K: -999 -999  L:   -999   -999
+ allocate dynamic grid (G###)          XOFFSET   NORMAL    NORMAL    NORMAL
+ strip regrid on X: A4 --> (G###)           @MIN
+ found   A4       M:183 dset:   0 I:      1      4  J: -999 -999  K: -999 -999  L:   -999   -999
+ regrid  A4       M:186 dset:   0 I:      1      7  J: -999 -999  K: -999 -999  L:   -999   -999
+ dealloc  dynamic grid (G###)          XOFFSET   NORMAL    NORMAL    NORMAL
              VARIABLE : X[GX=X4PT]
                         regrid: 1 delta on X at MIN
              SUBSET   : 7 points (X)
@@ -17744,18 +17769,18 @@ list a4[gx=xoffset at min]
  6.1 / 6:  6.000
  7.1 / 7:   ....
 list a4[gx=xoffset at sum] ! 5+5.5+6+6.5=23
- dealloc  dynamic grid (G012)          XOFFSET   NORMAL    NORMAL    NORMAL
- -DELETE A4       M:186 dset:   0 I:    1    7  J: -999 -999  K: -999 -999  L: -999 -999
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G012)          XOFFSET   NORMAL    NORMAL    NORMAL
- dealloc  dynamic grid (G012)          XOFFSET   NORMAL    NORMAL    NORMAL
- allocate dynamic grid (G012)          XOFFSET   NORMAL    NORMAL    NORMAL
- eval    EX#1     C:  4 dset:   2 I:    1    7  J: -999 -999  K: -999 -999  L: -999 -999
- allocate dynamic grid (G012)          XOFFSET   NORMAL    NORMAL    NORMAL
- strip regrid on X: A4 --> (G012)           @SUM
- found   A4       M:183 dset:   0 I:    1    4  J: -999 -999  K: -999 -999  L: -999 -999
- regrid  A4       M:186 dset:   0 I:    1    7  J: -999 -999  K: -999 -999  L: -999 -999
- dealloc  dynamic grid (G012)          XOFFSET   NORMAL    NORMAL    NORMAL
+ dealloc  dynamic grid (G###)          XOFFSET   NORMAL    NORMAL    NORMAL
+ -DELETE A4       M:186 dset:   0 I:      1      7  J: -999 -999  K: -999 -999  L:   -999   -999
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G###)          XOFFSET   NORMAL    NORMAL    NORMAL
+ dealloc  dynamic grid (G###)          XOFFSET   NORMAL    NORMAL    NORMAL
+ allocate dynamic grid (G###)          XOFFSET   NORMAL    NORMAL    NORMAL
+ eval    EX#1     C:  4 dset:   2 I:      1      7  J: -999 -999  K: -999 -999  L:   -999   -999
+ allocate dynamic grid (G###)          XOFFSET   NORMAL    NORMAL    NORMAL
+ strip regrid on X: A4 --> (G###)           @SUM
+ found   A4       M:183 dset:   0 I:      1      4  J: -999 -999  K: -999 -999  L:   -999   -999
+ regrid  A4       M:186 dset:   0 I:      1      7  J: -999 -999  K: -999 -999  L:   -999   -999
+ dealloc  dynamic grid (G###)          XOFFSET   NORMAL    NORMAL    NORMAL
              VARIABLE : X[GX=X4PT]
                         regrid: 1 delta on X at SUM
              SUBSET   : 7 points (X)
@@ -17772,25 +17797,25 @@ define axis/x=1:5:1 x5
 define axis/x=0.5:5.5:1 x5_edges
 let a5 = x[gx=x5_edges]
 list a5[gx=x5 at max]   ! note: top dest axis point, only, looks at point above
- dealloc  dynamic grid (G012)          XOFFSET   NORMAL    NORMAL    NORMAL
- -DELETE A4       M:186 dset:   0 I:    1    7  J: -999 -999  K: -999 -999  L: -999 -999
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid A5       C:  7 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G012)          X5_EDGES  NORMAL    NORMAL    NORMAL
- dealloc  dynamic grid (G012)          X5_EDGES  NORMAL    NORMAL    NORMAL
- allocate dynamic grid (G012)          X5_EDGES  NORMAL    NORMAL    NORMAL
- allocate dynamic grid (G013)          X5        NORMAL    NORMAL    NORMAL
- dealloc  dynamic grid (G013)          X5        NORMAL    NORMAL    NORMAL
- allocate dynamic grid (G013)          X5        NORMAL    NORMAL    NORMAL
- eval    EX#1     C:  4 dset:   2 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
- allocate dynamic grid (G013)          X5        NORMAL    NORMAL    NORMAL
- strip regrid on X: A5 --> (G013)           @MAX
- eval    A5       C:  7 dset:   0 I:    1    6  J: -999 -999  K: -999 -999  L: -999 -999
- allocate dynamic grid (G012)          X5_EDGES  NORMAL    NORMAL    NORMAL
- pseudo  X        M:186 dset:   0 I:    1    6  J: -999 -999  K: -999 -999  L: -999 -999
- dealloc  dynamic grid (G012)          X5_EDGES  NORMAL    NORMAL    NORMAL
- regrid  A5       M:187 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
- dealloc  dynamic grid (G013)          X5        NORMAL    NORMAL    NORMAL
+ dealloc  dynamic grid (G###)          XOFFSET   NORMAL    NORMAL    NORMAL
+ -DELETE A4       M:186 dset:   0 I:      1      7  J: -999 -999  K: -999 -999  L:   -999   -999
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid A5       C:  7 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G###)          X5_EDGES  NORMAL    NORMAL    NORMAL
+ dealloc  dynamic grid (G###)          X5_EDGES  NORMAL    NORMAL    NORMAL
+ allocate dynamic grid (G###)          X5_EDGES  NORMAL    NORMAL    NORMAL
+ allocate dynamic grid (G###)          X5        NORMAL    NORMAL    NORMAL
+ dealloc  dynamic grid (G###)          X5        NORMAL    NORMAL    NORMAL
+ allocate dynamic grid (G###)          X5        NORMAL    NORMAL    NORMAL
+ eval    EX#1     C:  4 dset:   2 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
+ allocate dynamic grid (G###)          X5        NORMAL    NORMAL    NORMAL
+ strip regrid on X: A5 --> (G###)           @MAX
+ eval    A5       C:  7 dset:   0 I:      1      6  J: -999 -999  K: -999 -999  L:   -999   -999
+ allocate dynamic grid (G###)          X5_EDGES  NORMAL    NORMAL    NORMAL
+ pseudo  X        M:186 dset:   0 I:      1      6  J: -999 -999  K: -999 -999  L:   -999   -999
+ dealloc  dynamic grid (G###)          X5_EDGES  NORMAL    NORMAL    NORMAL
+ regrid  A5       M:187 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
+ dealloc  dynamic grid (G###)          X5        NORMAL    NORMAL    NORMAL
              VARIABLE : X[GX=X5_EDGES]
                         regrid: 1 delta on X at MAX
              SUBSET   : 5 points (X)
@@ -17800,35 +17825,35 @@ list a5[gx=x5 at max]   ! note: top dest axis point, only, looks at point above
  4   / 4:  3.500
  5   / 5:  5.500
 let a5 = x[gx=x5_edges, i=3]
- dealloc  dynamic grid (G013)          X5        NORMAL    NORMAL    NORMAL
- -DELETE A5       M:187 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
- -DELETE A5       M:182 dset:   0 I:    1    6  J: -999 -999  K: -999 -999  L: -999 -999
- dealloc  dynamic grid (G012)          X5_EDGES  NORMAL    NORMAL    NORMAL
- -DELETE X        M:186 dset:   0 I:    1    6  J: -999 -999  K: -999 -999  L: -999 -999
- -DELETE A4       M:183 dset:   0 I:    1    4  J: -999 -999  K: -999 -999  L: -999 -999
- dealloc  dynamic grid (G011)          X4PT      NORMAL    NORMAL    NORMAL
- -DELETE A2       M:185 dset:   0 I:    1    2  J: -999 -999  K: -999 -999  L: -999 -999
- dealloc  dynamic grid (G010)          X2PT      NORMAL    NORMAL    NORMAL
- -DELETE A1       M:184 dset:   0 I:    1    1  J: -999 -999  K: -999 -999  L: -999 -999
- dealloc  dynamic grid (G009)          X1PT      NORMAL    NORMAL    NORMAL
+ dealloc  dynamic grid (G###)          X5        NORMAL    NORMAL    NORMAL
+ -DELETE A5       M:187 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
+ -DELETE A5       M:182 dset:   0 I:      1      6  J: -999 -999  K: -999 -999  L:   -999   -999
+ dealloc  dynamic grid (G###)          X5_EDGES  NORMAL    NORMAL    NORMAL
+ -DELETE X        M:186 dset:   0 I:      1      6  J: -999 -999  K: -999 -999  L:   -999   -999
+ -DELETE A4       M:183 dset:   0 I:      1      4  J: -999 -999  K: -999 -999  L:   -999   -999
+ dealloc  dynamic grid (G###)          X4PT      NORMAL    NORMAL    NORMAL
+ -DELETE A2       M:185 dset:   0 I:      1      2  J: -999 -999  K: -999 -999  L:   -999   -999
+ dealloc  dynamic grid (G###)          X2PT      NORMAL    NORMAL    NORMAL
+ -DELETE A1       M:184 dset:   0 I:      1      1  J: -999 -999  K: -999 -999  L:   -999   -999
+ dealloc  dynamic grid (G###)          X1PT      NORMAL    NORMAL    NORMAL
 list a5[gx=x5 at max]
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid A5       C:  7 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G009)          X5_EDGES  NORMAL    NORMAL    NORMAL
- dealloc  dynamic grid (G009)          X5_EDGES  NORMAL    NORMAL    NORMAL
- allocate dynamic grid (G009)          X5_EDGES  NORMAL    NORMAL    NORMAL
- allocate dynamic grid (G010)          X5        NORMAL    NORMAL    NORMAL
- dealloc  dynamic grid (G010)          X5        NORMAL    NORMAL    NORMAL
- allocate dynamic grid (G010)          X5        NORMAL    NORMAL    NORMAL
- eval    EX#1     C:  4 dset:   2 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- allocate dynamic grid (G010)          X5        NORMAL    NORMAL    NORMAL
- strip regrid on X: A5 --> (G010)           @MAX
- eval    A5       C:  7 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- allocate dynamic grid (G009)          X5_EDGES  NORMAL    NORMAL    NORMAL
- pseudo  X        M:184 dset:   0 I:    3    3  J: -999 -999  K: -999 -999  L: -999 -999
- dealloc  dynamic grid (G009)          X5_EDGES  NORMAL    NORMAL    NORMAL
- regrid  A5       M:183 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
- dealloc  dynamic grid (G010)          X5        NORMAL    NORMAL    NORMAL
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid A5       C:  7 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G###)          X5_EDGES  NORMAL    NORMAL    NORMAL
+ dealloc  dynamic grid (G###)          X5_EDGES  NORMAL    NORMAL    NORMAL
+ allocate dynamic grid (G###)          X5_EDGES  NORMAL    NORMAL    NORMAL
+ allocate dynamic grid (G###)          X5        NORMAL    NORMAL    NORMAL
+ dealloc  dynamic grid (G###)          X5        NORMAL    NORMAL    NORMAL
+ allocate dynamic grid (G###)          X5        NORMAL    NORMAL    NORMAL
+ eval    EX#1     C:  4 dset:   2 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
+ allocate dynamic grid (G###)          X5        NORMAL    NORMAL    NORMAL
+ strip regrid on X: A5 --> (G###)           @MAX
+ eval    A5       C:  7 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
+ allocate dynamic grid (G###)          X5_EDGES  NORMAL    NORMAL    NORMAL
+ pseudo  X        M:184 dset:   0 I:      3      3  J: -999 -999  K: -999 -999  L:   -999   -999
+ dealloc  dynamic grid (G###)          X5_EDGES  NORMAL    NORMAL    NORMAL
+ regrid  A5       M:183 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
+ dealloc  dynamic grid (G###)          X5        NORMAL    NORMAL    NORMAL
              VARIABLE : X[GX=X5_EDGES, I=3]
                         regrid: 1 delta on X at MAX
              SUBSET   : 5 points (X)
@@ -17838,35 +17863,35 @@ list a5[gx=x5 at max]
  4   / 4:   ....
  5   / 5:   ....
 list a5[gx=x5 at max,i=3]
- -DELETE X        M:184 dset:   0 I:    3    3  J: -999 -999  K: -999 -999  L: -999 -999
- dealloc  dynamic grid (G010)          X5        NORMAL    NORMAL    NORMAL
- -DELETE A5       M:183 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G010)          X5        NORMAL    NORMAL    NORMAL
- dealloc  dynamic grid (G010)          X5        NORMAL    NORMAL    NORMAL
- allocate dynamic grid (G010)          X5        NORMAL    NORMAL    NORMAL
- eval    EX#1     C:  4 dset:   2 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- allocate dynamic grid (G010)          X5        NORMAL    NORMAL    NORMAL
- strip regrid on X: A5 --> (G010)           @MAX
- found   A5       M:185 dset:   0 I:    3    3  J: -999 -999  K: -999 -999  L: -999 -999
- regrid  A5       M:183 dset:   0 I:    3    3  J: -999 -999  K: -999 -999  L: -999 -999
- dealloc  dynamic grid (G010)          X5        NORMAL    NORMAL    NORMAL
+ -DELETE X        M:184 dset:   0 I:      3      3  J: -999 -999  K: -999 -999  L:   -999   -999
+ dealloc  dynamic grid (G###)          X5        NORMAL    NORMAL    NORMAL
+ -DELETE A5       M:183 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G###)          X5        NORMAL    NORMAL    NORMAL
+ dealloc  dynamic grid (G###)          X5        NORMAL    NORMAL    NORMAL
+ allocate dynamic grid (G###)          X5        NORMAL    NORMAL    NORMAL
+ eval    EX#1     C:  4 dset:   2 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
+ allocate dynamic grid (G###)          X5        NORMAL    NORMAL    NORMAL
+ strip regrid on X: A5 --> (G###)           @MAX
+ found   A5       M:185 dset:   0 I:      3      3  J: -999 -999  K: -999 -999  L:   -999   -999
+ regrid  A5       M:183 dset:   0 I:      3      3  J: -999 -999  K: -999 -999  L:   -999   -999
+ dealloc  dynamic grid (G###)          X5        NORMAL    NORMAL    NORMAL
              VARIABLE : X[GX=X5_EDGES, I=3]
                         regrid: 1 delta on X at MAX
              X        : 3
           2.500
 list a5[gx=x5 at max,i=4]
- dealloc  dynamic grid (G010)          X5        NORMAL    NORMAL    NORMAL
- -DELETE A5       M:183 dset:   0 I:    3    3  J: -999 -999  K: -999 -999  L: -999 -999
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G010)          X5        NORMAL    NORMAL    NORMAL
- dealloc  dynamic grid (G010)          X5        NORMAL    NORMAL    NORMAL
- allocate dynamic grid (G010)          X5        NORMAL    NORMAL    NORMAL
- eval    EX#1     C:  4 dset:   2 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- allocate dynamic grid (G010)          X5        NORMAL    NORMAL    NORMAL
- strip regrid on X: A5 --> (G010)           @MAX
- found   A5       M:185 dset:   0 I:    3    3  J: -999 -999  K: -999 -999  L: -999 -999
- dealloc  dynamic grid (G010)          X5        NORMAL    NORMAL    NORMAL
+ dealloc  dynamic grid (G###)          X5        NORMAL    NORMAL    NORMAL
+ -DELETE A5       M:183 dset:   0 I:      3      3  J: -999 -999  K: -999 -999  L:   -999   -999
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G###)          X5        NORMAL    NORMAL    NORMAL
+ dealloc  dynamic grid (G###)          X5        NORMAL    NORMAL    NORMAL
+ allocate dynamic grid (G###)          X5        NORMAL    NORMAL    NORMAL
+ eval    EX#1     C:  4 dset:   2 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
+ allocate dynamic grid (G###)          X5        NORMAL    NORMAL    NORMAL
+ strip regrid on X: A5 --> (G###)           @MAX
+ found   A5       M:185 dset:   0 I:      3      3  J: -999 -999  K: -999 -999  L:   -999   -999
+ dealloc  dynamic grid (G###)          X5        NORMAL    NORMAL    NORMAL
              VARIABLE : X[GX=X5_EDGES, I=3]
                         regrid: 1 delta on X at MAX
              X        : 4
@@ -17877,19 +17902,19 @@ define axis/t=1-jan-1990:5-jan-1990:1/units=days tday
 define axis/t=1-jan-1990:5-jan-1990:24/units=hours thour
 let atime = T[gt=tday]
 list atime
- dealloc  dynamic grid (G010)          X5        NORMAL    NORMAL    NORMAL
- -DELETE A5       M:183 dset:   0 I:    4    4  J: -999 -999  K: -999 -999  L: -999 -999
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid ATIME    C:  7 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G010)          NORMAL    NORMAL    NORMAL    TDAY
- dealloc  dynamic grid (G010)          NORMAL    NORMAL    NORMAL    TDAY
- allocate dynamic grid (G010)          NORMAL    NORMAL    NORMAL    TDAY
- allocate dynamic grid (G010)          NORMAL    NORMAL    NORMAL    TDAY
- eval    EX#1     C:  4 dset:   2 I: -999 -999  J: -999 -999  K: -999 -999  L:    1    5
- eval    ATIME    C:  6 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L:    1    5
- allocate dynamic grid (G010)          NORMAL    NORMAL    NORMAL    TDAY
- pseudo  T        M:183 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L:    1    5
- dealloc  dynamic grid (G010)          NORMAL    NORMAL    NORMAL    TDAY
+ dealloc  dynamic grid (G###)          X5        NORMAL    NORMAL    NORMAL
+ -DELETE A5       M:183 dset:   0 I:      4      4  J: -999 -999  K: -999 -999  L:   -999   -999
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid ATIME    C:  7 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G###)          NORMAL    NORMAL    NORMAL    TDAY
+ dealloc  dynamic grid (G###)          NORMAL    NORMAL    NORMAL    TDAY
+ allocate dynamic grid (G###)          NORMAL    NORMAL    NORMAL    TDAY
+ allocate dynamic grid (G###)          NORMAL    NORMAL    NORMAL    TDAY
+ eval    EX#1     C:  4 dset:   2 I:   -999   -999  J: -999 -999  K: -999 -999  L:      1      5
+ eval    ATIME    C:  6 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:      1      5
+ allocate dynamic grid (G###)          NORMAL    NORMAL    NORMAL    TDAY
+ pseudo  T        M:183 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:      1      5
+ dealloc  dynamic grid (G###)          NORMAL    NORMAL    NORMAL    TDAY
              VARIABLE : T[GT=TDAY]
              SUBSET   : 5 points (TIME)
  01-JAN-1990 00 / 1:  32493.
@@ -17899,26 +17924,26 @@ list atime
  05-JAN-1990 00 / 5:  32497.
 show grid
  Default grid for DEFINE VARIABLE is ABSTRACT
- Last successful data access was on grid (G010)
-    GRID (G010)
+ Last successful data access was on grid (G###)
+    GRID (G###)
  name       axis              # pts   start                end                 subset
  normal    X
  normal    Y
  normal    Z
  TDAY      TIME                 5 r   01-JAN-1990 00:00    05-JAN-1990 00:00   full
 list atime[gt=thour at max]
- -DELETE T        M:183 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L:    1    5
- dealloc  dynamic grid (G010)          NORMAL    NORMAL    NORMAL    TDAY
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G011)          NORMAL    NORMAL    NORMAL    THOUR
- dealloc  dynamic grid (G011)          NORMAL    NORMAL    NORMAL    THOUR
- allocate dynamic grid (G011)          NORMAL    NORMAL    NORMAL    THOUR
- eval    EX#1     C:  4 dset:   2 I: -999 -999  J: -999 -999  K: -999 -999  L:    1    5
- allocate dynamic grid (G011)          NORMAL    NORMAL    NORMAL    THOUR
- strip regrid on T: ATIME --> (G011)           @MAX
- found   ATIME    M:184 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L:    1    5
- regrid  ATIME    M:183 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L:    1    5
- dealloc  dynamic grid (G011)          NORMAL    NORMAL    NORMAL    THOUR
+ -DELETE T        M:183 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:      1      5
+ dealloc  dynamic grid (G###)          NORMAL    NORMAL    NORMAL    TDAY
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G###)          NORMAL    NORMAL    NORMAL    THOUR
+ dealloc  dynamic grid (G###)          NORMAL    NORMAL    NORMAL    THOUR
+ allocate dynamic grid (G###)          NORMAL    NORMAL    NORMAL    THOUR
+ eval    EX#1     C:  4 dset:   2 I:   -999   -999  J: -999 -999  K: -999 -999  L:      1      5
+ allocate dynamic grid (G###)          NORMAL    NORMAL    NORMAL    THOUR
+ strip regrid on T: ATIME --> (G###)           @MAX
+ found   ATIME    M:184 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:      1      5
+ regrid  ATIME    M:183 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:      1      5
+ dealloc  dynamic grid (G###)          NORMAL    NORMAL    NORMAL    THOUR
              VARIABLE : T[GT=TDAY]
                         regrid: 24 hour on T at MAX
              SUBSET   : 5 points (TIME)
@@ -17929,8 +17954,8 @@ list atime[gt=thour at max]
  05-JAN-1990 00 / 5:  32497.
 show grid
  Default grid for DEFINE VARIABLE is ABSTRACT
- Last successful data access was on grid (G011)
-    GRID (G011)
+ Last successful data access was on grid (G###)
+    GRID (G###)
  name       axis              # pts   start                end                 subset
  normal    X
  normal    Y
@@ -19548,7 +19573,7 @@ CAN MODE VERIFY
  53S   / 19:   1.67   3.02   4.17   3.51   4.64   6.95   7.65   8.51   9.70   9.24   ....   8.19  10.25   7.31   3.81   1.86   1.46
  55S   / 18:   1.33   2.57   3.64   2.67   3.82   5.58   5.95   7.96   8.88   7.36   ....   8.18   8.69   6.56   1.84   1.25   1.05
  57S   / 17:   0.98   1.63   3.34   2.49   3.08   4.83   4.86   7.36   5.90   4.51   ....   ....   7.19   4.30   1.71   0.81   1.00
- 59S   / 16:   1.16   1.61   1.97   1.96   3.52   3.47   2.90   5.87   4.63   2.35   ....   ....   6.40   2.56   1.26   0.87   1.13
+ 59S   / 16:   1.16   1.61   1.97   1.96   3.52   3.47   2.90   5.87   4.63   2.35   ....   ....   6.40   2.56   1.26   0.87   1.12
  61S   / 15:   0.99   1.22   1.48   1.75   1.82   3.70   2.08   4.52   2.76   1.36   ....   5.02   4.46   1.05   0.09   0.28   0.80
  63S   / 14:   1.06   1.20   0.88   1.19   1.21   1.49   1.31   3.01   1.19   1.29   2.50   2.70   3.14  -0.02   0.31   0.36   1.16
  65S   / 13:   0.67   0.97   0.14   0.48  -0.29   0.51   0.45   1.58   0.22   0.31   0.00   2.30   1.67  -1.01   0.00  -0.22   0.45
@@ -22641,7 +22666,9 @@ shade/x=0/l=1/ylim=0:200:-20/lev ZAXREPLACE(flow[z=0:200],depth[z=0:200],z[z=0:2
  
 set mode/last verify
 ********File successfully written******
+ooooooooooooooooooooooooooooooooooooooooooo
 ****Variable defined successfully******
+ooooooooooooooooooooooooooooooooooooooooooo
  
              T
              axis ABSTRACT
@@ -22837,6 +22864,7 @@ list tgap[t=-5:-8 at fav]  ! value at T=-6 should be -6
 ! l=@ave compression failure
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err490_l_ave.jnl
 ! err490_lave.jnl 12/1/97 - *sh* (reported by Weimin Wang)
 ! L=@AVE is failing to compress to a point
@@ -22920,6 +22948,7 @@ quit
 ! neg time axis grid failure
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err490_neg_time_show_grid.jnl
 ! err490_neg_time_show_grid
  
@@ -23062,6 +23091,7 @@ show grid/t=15-JAN-1982:15-JAN-1983 temp
 !explicit limit problem
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err491_explicit_limits.jnl
 ! err491_explicit_limits
 ! 2/98 *sh*
@@ -23112,6 +23142,7 @@ list timestamp[i=1:1]
 !regridding by association problem  *kob* 4/98
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err491_asn.jnl
 ! err491_asn.jnl 4/98 *sh* (extracted from bug reported by Jennifer Adams)
 ! Ferret crashes on regridding by association where destination
@@ -23191,6 +23222,7 @@ exit/script
 !double precision attribute problem *kob* 4/98
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err491_attrib_dp.jnl
 ! err491_attrib_dp.jnl
 ! kob  4/23/98
@@ -24839,6 +24871,7 @@ can mode meta
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err491_RESHAPE_ctx.jnl
 ! err491_RESHAPE_ctx
  
@@ -24899,61 +24932,36 @@ let out_grid = x[g=gsrc] + y[g=gsrc] + z[gz=zmonth] + t[gt=tyear]
 let out = reshape(src,out_grid)
 list out
              VARIABLE : RESHAPE(SRC,OUT_GRID)
-             SUBSET   : 5 by 12 by 2 points (X-Z-T)
+             SUBSET   : 12 by 2 points (Z-T)
              Y        : 0.5 to 1.5
-                1        2        3        4        5     
-                1        2        3        4        5
- ---- L:1 T:   1951
- 1    /  1:  438289.  438290.  438291.  438292.  438293.
- 2    /  2:  439019.  439020.  439021.  439022.  439023.
- 3    /  3:  439750.  439751.  439752.  439753.  439754.
- 4    /  4:  440480.  440481.  440482.  440483.  440484.
- 5    /  5:  441211.  441212.  441213.  441214.  441215.
- 6    /  6:  441941.  441942.  441943.  441944.  441945.
- 7    /  7:  442672.  442673.  442674.  442675.  442676.
- 8    /  8:  443402.  443403.  443404.  443405.  443406.
- 9    /  9:  444132.  444133.  444134.  444135.  444136.
- 10   / 10:  444863.  444864.  444865.  444866.  444867.
- 11   / 11:  445593.  445594.  445595.  445596.  445597.
- 12   / 12:  446324.  446325.  446326.  446327.  446328.
- ---- L:2 T:   1952
- 1    /  1:  447054.  447055.  447056.  447057.  447058.
- 2    /  2:  447785.  447786.  447787.  447788.  447789.
- 3    /  3:  448515.  448516.  448517.  448518.  448519.
- 4    /  4:  449246.  449247.  449248.  449249.  449250.
- 5    /  5:  449976.  449977.  449978.  449979.  449980.
- 6    /  6:  450706.  450707.  450708.  450709.  450710.
- 7    /  7:  451437.  451438.  451439.  451440.  451441.
- 8    /  8:  452167.  452168.  452169.  452170.  452171.
- 9    /  9:  452898.  452899.  452900.  452901.  452902.
- 10   / 10:  453628.  453629.  453630.  453631.  453632.
- 11   / 11:  454359.  454360.  454361.  454362.  454363.
- 12   / 12:  455089.  455090.  455091.  455092.  455093.
+                 1        2        3        4        5        6        7        8        9       10       11       12     
+                 1        2        3        4        5        6        7        8        9       10       11       12
+ 1951   / 1:  438289.  438290.  438291.  438292.  438293.  439019.  439020.  439021.  439022.  439023.  439750.  439751.
+ 1952   / 2:  439752.  439753.  439754.  440480.  440481.  440482.  440483.  440484.  441211.  441212.  441213.  441214.
  
 ! NOW THE ERROR: L LIMITS PASSED INCORRECTLY(ERRONEOUSLY) TO SRC
 list/l=1 out
              VARIABLE : RESHAPE(SRC,OUT_GRID)
-             SUBSET   : 5 by 12 points (X-Z)
+             SUBSET   : 12 points (Z)
              Y        : 0.5 to 1.5
              T        : 1951
-                1        2        3        4        5     
-                1        2        3        4        5
- 1    /  1:  438289.  438290.  438291.  438292.  438293.
- 2    /  2:  439019.  439020.  439021.  439022.  439023.
- 3    /  3:  439750.  439751.  439752.  439753.  439754.
- 4    /  4:  440480.  440481.  440482.  440483.  440484.
- 5    /  5:  441211.  441212.  441213.  441214.  441215.
- 6    /  6:  441941.  441942.  441943.  441944.  441945.
- 7    /  7:  442672.  442673.  442674.  442675.  442676.
- 8    /  8:  443402.  443403.  443404.  443405.  443406.
- 9    /  9:  444132.  444133.  444134.  444135.  444136.
- 10   / 10:  444863.  444864.  444865.  444866.  444867.
- 11   / 11:  445593.  445594.  445595.  445596.  445597.
- 12   / 12:  446324.  446325.  446326.  446327.  446328.
+ 1    /  1:  438289.
+ 2    /  2:  438290.
+ 3    /  3:  438291.
+ 4    /  4:  438292.
+ 5    /  5:  438293.
+ 6    /  6:  439019.
+ 7    /  7:  439020.
+ 8    /  8:  439021.
+ 9    /  9:  439022.
+ 10   / 10:  439023.
+ 11   / 11:  439750.
+ 12   / 12:  439751.
  
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err491_delete_child_var.jnl
 ! err491_delete_child_var.jnl
 ! *sh* 4/99
@@ -24991,6 +24999,7 @@ list  ypolymark	! incorrect values: 10, 20, 30
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err491_dp_time_write.jnl
 ! err491_dp_time_write.jnl
 ! *sh* 10/98
@@ -25013,6 +25022,7 @@ sp ncdump out.cdf >> all_ncdump.out
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err491_gmax.jnl
 ! err491_gmax.jnl
 ! 9 Dec. 1998 *sh*
@@ -25029,6 +25039,7 @@ load ts[gt=t24 at max]
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err491_grid_from_name.jnl
 ! err491_grid_from_name.jnl
 ! *sh* 3/99
@@ -25041,9 +25052,9 @@ set mode ignore
 define axis/z=1:10:1 z10
 set grid z[gz=z10]
 show grid
- Default grid for DEFINE VARIABLE is (G001)
- Last successful data access was on grid (G001)
-    GRID (G001)
+ Default grid for DEFINE VARIABLE is (G###)
+ Last successful data access was on grid (G###)
+    GRID (G###)
  name       axis              # pts   start                end                 subset
  normal    X
  normal    Y
@@ -25053,6 +25064,7 @@ can mode ignore
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err491_let_d.jnl
 ! err491_let_d.jnl
 ! *sh* 10/98
@@ -25083,6 +25095,7 @@ stat/i=1:3/j=1:3 a
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err491_sh_var_templates.jnl
 ! SHOW VARIABLE templates are not robust
  
@@ -25097,6 +25110,7 @@ sho var mld*dec		! works
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err491_single_char_replace.jnl
 ! err491_single_char_replace.jnl
  
@@ -25115,6 +25129,7 @@ hh
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err491_spawn_quotes.jnl
 ! err491_spawn_quotes.jnl
  
@@ -25122,10 +25137,11 @@ GO err491_spawn_quotes.jnl
  
 ! this should be a valid command
 SPAWN "date"
-Thu Feb  9 14:24:34 PST 2017
+WKD MON DD HH:MM:SS ZZZ YYYY
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err491_time_regridding.jnl
 ! err491_time_regridding.jnl
 ! from Jon 10/16/98
@@ -25161,6 +25177,7 @@ plot/over bad[t=@sbx:3]
 ! 3/01 *kob* uncomment the below - seems to run on all systems
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err491_unknown_function.jnl
 ! err491_unknown_function
 ! 3/99 *sh*
@@ -25178,6 +25195,7 @@ can mode ignore
 ! *kob* added 6/11/1999
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err500_IF_THEN_ELSE_quote.jnl
 ! err500_IF_THEN_ELSE_quote.jnl
  
@@ -25244,45 +25262,41 @@ list SAMPLEI(sst[l=1:3,y=-2:2],{30,40,50})
  1N   / 46:  29.14  28.92  28.33
  1S   / 45:  28.90  28.82  28.54
 SHOW MEM/FREE
- Current size of FERRET memory cache: 25.6 MegaWords  (1 word = 8 bytes)
-            total memory table slots: 500
-            total memory blocks: 2000
-            memory block size: 12800
- 
-            number of free memory blocks: 1987
-            largest free region: 1984
-            number of free regions: 4
-            free memory table slots: 487
-            number of UN-CACHED variables: 0
+    SET MEMORY/SIZE: 25.6 megawords
+    Peak demand: 39 words
+    Current cache: 63 words
+    Total table slots: 500
+    Free table slots: 487
+    Un-cached variables: 0
  
 ! these should break sampling up into separate reads
 cancel memory/all
 set mode diagnostic
 list/i=2 SAMPLEI(sst[l=1,y=-2:2],{30,40,50})	! only I=2 from result
  dealloc  dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME
- dealloc  dynamic grid (G002)          ABSTRACT  COADSY    NORMAL    TIME
- dealloc  dynamic grid (G002)          ABSTRACT  COADSY    NORMAL    TIME
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid (C01,V02 C:  7 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid (C09,V02 C: 10 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ dealloc  dynamic grid (G###)          ABSTRACT  COADSY    NORMAL    TIME
+ dealloc  dynamic grid (G###)          ABSTRACT  COADSY    NORMAL    TIME
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid (C01,V02 C:  7 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid (C09,V02 C: 10 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME
- allocate dynamic grid (G002)          ABSTRACT  COADSY    NORMAL    TIME
- allocate dynamic grid (G002)          ABSTRACT  COADSY    NORMAL    TIME
+ allocate dynamic grid (G###)          ABSTRACT  COADSY    NORMAL    TIME
+ allocate dynamic grid (G###)          ABSTRACT  COADSY    NORMAL    TIME
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:    2    2  J: -999 -999  K: -999 -999  L: -999 -999
- eval    (C01,V02 C:  7 dset:   1 I:    2    2  J: -999 -999  K: -999 -999  L: -999 -999
- const_v {30,...} M: 16 dset:   0 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999
- doing sampling tpry on I axis:     1     3 dset:   1
- eval    (C09,V02 C: 11 dset:   1 I:   30   30  J: -999 -999  K: -999 -999  L: -999 -999
- reading SST      M: 13 dset:   1 I:   30   30  J:   45   46  K: -999 -999  L:    1    1
- eval    (C09,V02 C: 11 dset:   1 I:   40   40  J:   45   46  K: -999 -999  L:    1    1
- reading SST      M:  8 dset:   1 I:   40   40  J:   45   46  K: -999 -999  L:    1    1
- eval    (C09,V02 C: 11 dset:   1 I:   50   50  J:   45   46  K: -999 -999  L:    1    1
- reading SST      M:  5 dset:   1 I:   50   50  J:   45   46  K: -999 -999  L:    1    1
- -DELETE (C09,V02 M: 14 dset:   1 I:    1    3  J: -999 -999  K: -999 -999  L:    3    3  M: -999 -999  N: -999 -999
- -DELETE SST      M: 15 dset:   1 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999  M: -999 -999  N: -999 -999
- -DELETE tpry     M:  9 dset:   1 I:    1    3  J:   45   46  K: -999 -999  L:    1    1
- -DELETE {30,...} M: 16 dset:   0 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  5 dset:   1 I:      2      2  J: -999 -999  K: -999 -999  L:   -999   -999
+ eval    (C01,V02 C:  7 dset:   1 I:      2      2  J: -999 -999  K: -999 -999  L:   -999   -999
+ const_v {30,...} M: 16 dset:   0 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999
+ doing sampling tpry on I axis:        1        3 dset:   1
+ eval    (C09,V02 C: 11 dset:   1 I:     30     30  J: -999 -999  K: -999 -999  L:   -999   -999
+ reading SST      M: 13 dset:   1 I:     30     30  J:   45   46  K: -999 -999  L:      1      1
+ eval    (C09,V02 C: 11 dset:   1 I:     40     40  J:   45   46  K: -999 -999  L:      1      1
+ reading SST      M:  8 dset:   1 I:     40     40  J:   45   46  K: -999 -999  L:      1      1
+ eval    (C09,V02 C: 11 dset:   1 I:     50     50  J:   45   46  K: -999 -999  L:      1      1
+ reading SST      M:  5 dset:   1 I:     50     50  J:   45   46  K: -999 -999  L:      1      1
+ -DELETE (C09,V02 M: 14 dset:   1 I:      1      3  J: -999 -999  K: -999 -999  L:      3      3  M: -999 -999  N: -999 -999
+ -DELETE SST      M: 15 dset:   1 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999  M: -999 -999  N: -999 -999
+ -DELETE tpry     M:  9 dset:   1 I:      1      3  J:   45   46  K: -999 -999  L:      1      1
+ -DELETE {30,...} M: 16 dset:   0 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999
              VARIABLE : SAMPLEI(SST[L=1,Y=-2:2],{30,40,50})
              FILENAME : coads_climatology.cdf
              SUBSET   : 2 points (LATITUDE)
@@ -25292,32 +25306,32 @@ list/i=2 SAMPLEI(sst[l=1,y=-2:2],{30,40,50})	! only I=2 from result
                2
  1N   / 46:  28.20
  1S   / 45:  28.56
- -DELETE (C01,V02 M: 16 dset:   1 I:    2    2  J:   45   46  K: -999 -999  L:    1    1
+ -DELETE (C01,V02 M: 16 dset:   1 I:      2      2  J:   45   46  K: -999 -999  L:      1      1
 cancel memory/all
- -DELETE (C09,V02 M:  4 dset:   1 I:   50   50  J:   45   46  K: -999 -999  L:    1    1
- -DELETE SST      M:  5 dset:   1 I:   50   50  J:   45   46  K: -999 -999  L:    1    1
- -DELETE (C09,V02 M:  7 dset:   1 I:   40   40  J:   45   46  K: -999 -999  L:    1    1
- -DELETE SST      M:  8 dset:   1 I:   40   40  J:   45   46  K: -999 -999  L:    1    1
- -DELETE (C09,V02 M: 12 dset:   1 I:   30   30  J:   45   46  K: -999 -999  L:    1    1
- -DELETE SST      M: 13 dset:   1 I:   30   30  J:   45   46  K: -999 -999  L:    1    1
- -DELETE (C01,V02 M: 15 dset:   1 I:    1    3  J:   45   46  K: -999 -999  L:    1    1
+ -DELETE (C09,V02 M:  4 dset:   1 I:     50     50  J:   45   46  K: -999 -999  L:      1      1
+ -DELETE SST      M:  5 dset:   1 I:     50     50  J:   45   46  K: -999 -999  L:      1      1
+ -DELETE (C09,V02 M:  7 dset:   1 I:     40     40  J:   45   46  K: -999 -999  L:      1      1
+ -DELETE SST      M:  8 dset:   1 I:     40     40  J:   45   46  K: -999 -999  L:      1      1
+ -DELETE (C09,V02 M: 12 dset:   1 I:     30     30  J:   45   46  K: -999 -999  L:      1      1
+ -DELETE SST      M: 13 dset:   1 I:     30     30  J:   45   46  K: -999 -999  L:      1      1
+ -DELETE (C01,V02 M: 15 dset:   1 I:      1      3  J:   45   46  K: -999 -999  L:      1      1
 list/l=1/y=-2:2  SAMPLEI(sst,{30,40,50})
  dealloc  dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME
- dealloc  dynamic grid (G002)          ABSTRACT  COADSY    NORMAL    TIME
- dealloc  dynamic grid (G002)          ABSTRACT  COADSY    NORMAL    TIME
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G002)          ABSTRACT  COADSY    NORMAL    TIME
+ dealloc  dynamic grid (G###)          ABSTRACT  COADSY    NORMAL    TIME
+ dealloc  dynamic grid (G###)          ABSTRACT  COADSY    NORMAL    TIME
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G###)          ABSTRACT  COADSY    NORMAL    TIME
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I: -999 -999  J:   45   46  K: -999 -999  L:    1    1
- const_v {30,...} M: 15 dset:   0 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999
- doing sampling tpry on I axis:     1     3 dset:   1
- reading SST      M:  8 dset:   1 I:   30   30  J:   45   46  K: -999 -999  L:    1    1
- reading SST      M:  5 dset:   1 I:   40   40  J:   45   46  K: -999 -999  L:    1    1
- reading SST      M:  4 dset:   1 I:   50   50  J:   45   46  K: -999 -999  L:    1    1
- -DELETE          M: 12 dset:   1 I:    1    3  J: -999 -999  K: -999 -999  L:    3    3  M: -999 -999  N: -999 -999
- -DELETE SST      M: 13 dset:   1 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999  M: -999 -999  N: -999 -999
- -DELETE tpry     M:  7 dset:   1 I:    1    3  J:   45   46  K: -999 -999  L:    1    1
- -DELETE {30,...} M: 15 dset:   0 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  5 dset:   1 I:   -999   -999  J:   45   46  K: -999 -999  L:      1      1
+ const_v {30,...} M: 15 dset:   0 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999
+ doing sampling tpry on I axis:        1        3 dset:   1
+ reading SST      M:  8 dset:   1 I:     30     30  J:   45   46  K: -999 -999  L:      1      1
+ reading SST      M:  5 dset:   1 I:     40     40  J:   45   46  K: -999 -999  L:      1      1
+ reading SST      M:  4 dset:   1 I:     50     50  J:   45   46  K: -999 -999  L:      1      1
+ -DELETE          M: 12 dset:   1 I:      1      3  J: -999 -999  K: -999 -999  L:      3      3  M: -999 -999  N: -999 -999
+ -DELETE SST      M: 13 dset:   1 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999  M: -999 -999  N: -999 -999
+ -DELETE tpry     M:  7 dset:   1 I:      1      3  J:   45   46  K: -999 -999  L:      1      1
+ -DELETE {30,...} M: 15 dset:   0 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999
              VARIABLE : SAMPLEI(SST,{30,40,50})
              FILENAME : coads_climatology.cdf
              SUBSET   : 3 by 2 points (X-LATITUDE)
@@ -25327,30 +25341,30 @@ list/l=1/y=-2:2  SAMPLEI(sst,{30,40,50})
  1N   / 46:  28.22  28.20  28.45
  1S   / 45:  28.15  28.56  28.83
 cancel memory/all
- -DELETE SST      M:  4 dset:   1 I:   50   50  J:   45   46  K: -999 -999  L:    1    1
- -DELETE SST      M:  5 dset:   1 I:   40   40  J:   45   46  K: -999 -999  L:    1    1
- -DELETE SST      M:  8 dset:   1 I:   30   30  J:   45   46  K: -999 -999  L:    1    1
- -DELETE EX#1     M: 13 dset:   1 I:    1    3  J:   45   46  K: -999 -999  L:    1    1
+ -DELETE SST      M:  4 dset:   1 I:     50     50  J:   45   46  K: -999 -999  L:      1      1
+ -DELETE SST      M:  5 dset:   1 I:     40     40  J:   45   46  K: -999 -999  L:      1      1
+ -DELETE SST      M:  8 dset:   1 I:     30     30  J:   45   46  K: -999 -999  L:      1      1
+ -DELETE EX#1     M: 13 dset:   1 I:      1      3  J:   45   46  K: -999 -999  L:      1      1
 list/l=1/y=-2:2  SAMPLEI(a  ,{30,40,50})
- dealloc  dynamic grid (G002)          ABSTRACT  COADSY    NORMAL    TIME
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid A        C:  8 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ dealloc  dynamic grid (G###)          ABSTRACT  COADSY    NORMAL    TIME
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid A        C:  8 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME
- allocate dynamic grid (G002)          ABSTRACT  COADSY    NORMAL    TIME
+ allocate dynamic grid (G###)          ABSTRACT  COADSY    NORMAL    TIME
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I: -999 -999  J:   45   46  K: -999 -999  L:    1    1
- const_v {30,...} M: 13 dset:   0 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999
- doing sampling tpry on I axis:     1     3 dset:   1
- eval    A        C:  9 dset:   1 I:   30   30  J:   45   46  K: -999 -999  L:    1    1
- reading SST      M:  4 dset:   1 I:   30   30  J:   45   46  K: -999 -999  L:    1    1
- eval    A        C:  9 dset:   1 I:   40   40  J:   45   46  K: -999 -999  L:    1    1
- reading SST      M: 12 dset:   1 I:   40   40  J:   45   46  K: -999 -999  L:    1    1
- eval    A        C:  9 dset:   1 I:   50   50  J:   45   46  K: -999 -999  L:    1    1
- reading SST      M:  9 dset:   1 I:   50   50  J:   45   46  K: -999 -999  L:    1    1
- -DELETE SST      M:  5 dset:   1 I:    1    3  J: -999 -999  K: -999 -999  L:    3    3  M: -999 -999  N: -999 -999
- -DELETE SST      M:  8 dset:   1 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999  M: -999 -999  N: -999 -999
- -DELETE tpry     M:  7 dset:   1 I:    1    3  J:   45   46  K: -999 -999  L:    1    1
- -DELETE {30,...} M: 13 dset:   0 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  5 dset:   1 I:   -999   -999  J:   45   46  K: -999 -999  L:      1      1
+ const_v {30,...} M: 13 dset:   0 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999
+ doing sampling tpry on I axis:        1        3 dset:   1
+ eval    A        C:  9 dset:   1 I:     30     30  J:   45   46  K: -999 -999  L:      1      1
+ reading SST      M:  4 dset:   1 I:     30     30  J:   45   46  K: -999 -999  L:      1      1
+ eval    A        C:  9 dset:   1 I:     40     40  J:   45   46  K: -999 -999  L:      1      1
+ reading SST      M: 12 dset:   1 I:     40     40  J:   45   46  K: -999 -999  L:      1      1
+ eval    A        C:  9 dset:   1 I:     50     50  J:   45   46  K: -999 -999  L:      1      1
+ reading SST      M:  9 dset:   1 I:     50     50  J:   45   46  K: -999 -999  L:      1      1
+ -DELETE SST      M:  5 dset:   1 I:      1      3  J: -999 -999  K: -999 -999  L:      3      3  M: -999 -999  N: -999 -999
+ -DELETE SST      M:  8 dset:   1 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999  M: -999 -999  N: -999 -999
+ -DELETE tpry     M:  7 dset:   1 I:      1      3  J:   45   46  K: -999 -999  L:      1      1
+ -DELETE {30,...} M: 13 dset:   0 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999
              VARIABLE : SAMPLEI(A  ,{30,40,50})
              FILENAME : coads_climatology.cdf
              SUBSET   : 3 by 2 points (X-LATITUDE)
@@ -25362,32 +25376,32 @@ list/l=1/y=-2:2  SAMPLEI(a  ,{30,40,50})
  
 ! these should NOT break up the access into chunks
 cancel memory/all
- -DELETE SST      M:  4 dset:   1 I:   30   30  J:   45   46  K: -999 -999  L:    1    1
- -DELETE EX#1     M:  8 dset:   1 I:    1    3  J:   45   46  K: -999 -999  L:    1    1
- -DELETE SST      M:  9 dset:   1 I:   50   50  J:   45   46  K: -999 -999  L:    1    1
- -DELETE SST      M: 12 dset:   1 I:   40   40  J:   45   46  K: -999 -999  L:    1    1
- -DELETE A        M: 14 dset:   1 I:   50   50  J:   45   46  K: -999 -999  L:    1    1
- -DELETE A        M: 15 dset:   1 I:   30   30  J:   45   46  K: -999 -999  L:    1    1
- -DELETE A        M: 16 dset:   1 I:   40   40  J:   45   46  K: -999 -999  L:    1    1
+ -DELETE SST      M:  4 dset:   1 I:     30     30  J:   45   46  K: -999 -999  L:      1      1
+ -DELETE EX#1     M:  8 dset:   1 I:      1      3  J:   45   46  K: -999 -999  L:      1      1
+ -DELETE SST      M:  9 dset:   1 I:     50     50  J:   45   46  K: -999 -999  L:      1      1
+ -DELETE SST      M: 12 dset:   1 I:     40     40  J:   45   46  K: -999 -999  L:      1      1
+ -DELETE A        M: 14 dset:   1 I:     50     50  J:   45   46  K: -999 -999  L:      1      1
+ -DELETE A        M: 15 dset:   1 I:     30     30  J:   45   46  K: -999 -999  L:      1      1
+ -DELETE A        M: 16 dset:   1 I:     40     40  J:   45   46  K: -999 -999  L:      1      1
 list/l=1/y=-2:2  SAMPLEI(sst[i=30:40],{30,40,50})
- dealloc  dynamic grid (G002)          ABSTRACT  COADSY    NORMAL    TIME
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid (C01,V02 C:  7 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid (C09,V02 C: 10 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ dealloc  dynamic grid (G###)          ABSTRACT  COADSY    NORMAL    TIME
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid (C01,V02 C:  7 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid (C09,V02 C: 10 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME
- allocate dynamic grid (G002)          ABSTRACT  COADSY    NORMAL    TIME
- allocate dynamic grid (G002)          ABSTRACT  COADSY    NORMAL    TIME
+ allocate dynamic grid (G###)          ABSTRACT  COADSY    NORMAL    TIME
+ allocate dynamic grid (G###)          ABSTRACT  COADSY    NORMAL    TIME
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I: -999 -999  J:   45   46  K: -999 -999  L:    1    1
- eval    (C01,V02 C:  7 dset:   1 I: -999 -999  J:   45   46  K: -999 -999  L:    1    1
- const_v {30,...} M: 16 dset:   0 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999
- doing sampling tpry on I axis:     1     3 dset:   1
- eval    (C09,V02 C: 11 dset:   1 I: -999 -999  J:   45   46  K: -999 -999  L:    1    1
- reading SST      M: 12 dset:   1 I:   30   40  J:   45   46  K: -999 -999  L:    1    1
- -DELETE A        M: 14 dset:   1 I:    1    3  J: -999 -999  K: -999 -999  L:    3    3  M: -999 -999  N: -999 -999
- -DELETE A        M: 15 dset:   1 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999  M: -999 -999  N: -999 -999
- -DELETE tpry     M:  8 dset:   1 I:    1    3  J:   45   46  K: -999 -999  L:    1    1
- -DELETE {30,...} M: 16 dset:   0 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  5 dset:   1 I:   -999   -999  J:   45   46  K: -999 -999  L:      1      1
+ eval    (C01,V02 C:  7 dset:   1 I:   -999   -999  J:   45   46  K: -999 -999  L:      1      1
+ const_v {30,...} M: 16 dset:   0 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999
+ doing sampling tpry on I axis:        1        3 dset:   1
+ eval    (C09,V02 C: 11 dset:   1 I:   -999   -999  J:   45   46  K: -999 -999  L:      1      1
+ reading SST      M: 12 dset:   1 I:     30     40  J:   45   46  K: -999 -999  L:      1      1
+ -DELETE A        M: 14 dset:   1 I:      1      3  J: -999 -999  K: -999 -999  L:      3      3  M: -999 -999  N: -999 -999
+ -DELETE A        M: 15 dset:   1 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999  M: -999 -999  N: -999 -999
+ -DELETE tpry     M:  8 dset:   1 I:      1      3  J:   45   46  K: -999 -999  L:      1      1
+ -DELETE {30,...} M: 16 dset:   0 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999
              VARIABLE : SAMPLEI(SST[I=30:40],{30,40,50})
              FILENAME : coads_climatology.cdf
              SUBSET   : 3 by 2 points (X-LATITUDE)
@@ -25397,29 +25411,29 @@ list/l=1/y=-2:2  SAMPLEI(sst[i=30:40],{30,40,50})
  1N   / 46:  28.22  28.20   ....
  1S   / 45:  28.15  28.56   ....
 let/quiet a = sst[i=30:40]
- -DELETE (C09,V02 M:  9 dset:   1 I:   30   40  J:   45   46  K: -999 -999  L:    1    1
+ -DELETE (C09,V02 M:  9 dset:   1 I:     30     40  J:   45   46  K: -999 -999  L:      1      1
  dealloc  dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME
- -DELETE (C01,V02 M: 15 dset:   1 I:    1    3  J:   45   46  K: -999 -999  L:    1    1
- dealloc  dynamic grid (G002)          ABSTRACT  COADSY    NORMAL    TIME
- dealloc  dynamic grid (G002)          ABSTRACT  COADSY    NORMAL    TIME
+ -DELETE (C01,V02 M: 15 dset:   1 I:      1      3  J:   45   46  K: -999 -999  L:      1      1
+ dealloc  dynamic grid (G###)          ABSTRACT  COADSY    NORMAL    TIME
+ dealloc  dynamic grid (G###)          ABSTRACT  COADSY    NORMAL    TIME
  dealloc  dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME
 cancel memory/all
- -DELETE SST      M: 12 dset:   1 I:   30   40  J:   45   46  K: -999 -999  L:    1    1
+ -DELETE SST      M: 12 dset:   1 I:     30     40  J:   45   46  K: -999 -999  L:      1      1
 list/l=1/y=-2:2  SAMPLEI(a,{30,40,50})
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid A        C:  8 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid A        C:  8 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME
- allocate dynamic grid (G002)          ABSTRACT  COADSY    NORMAL    TIME
+ allocate dynamic grid (G###)          ABSTRACT  COADSY    NORMAL    TIME
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I: -999 -999  J:   45   46  K: -999 -999  L:    1    1
- const_v {30,...} M: 12 dset:   0 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999
- doing sampling tpry on I axis:     1     3 dset:   1
- eval    A        C:  9 dset:   1 I: -999 -999  J:   45   46  K: -999 -999  L:    1    1
- reading SST      M: 16 dset:   1 I:   30   40  J:   45   46  K: -999 -999  L:    1    1
- -DELETE          M:  9 dset:   1 I:    1    3  J: -999 -999  K: -999 -999  L:    3    3  M: -999 -999  N: -999 -999
- -DELETE          M: 15 dset:   1 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999  M: -999 -999  N: -999 -999
- -DELETE tpry     M: 14 dset:   1 I:    1    3  J:   45   46  K: -999 -999  L:    1    1
- -DELETE {30,...} M: 12 dset:   0 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  5 dset:   1 I:   -999   -999  J:   45   46  K: -999 -999  L:      1      1
+ const_v {30,...} M: 12 dset:   0 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999
+ doing sampling tpry on I axis:        1        3 dset:   1
+ eval    A        C:  9 dset:   1 I:   -999   -999  J:   45   46  K: -999 -999  L:      1      1
+ reading SST      M: 16 dset:   1 I:     30     40  J:   45   46  K: -999 -999  L:      1      1
+ -DELETE          M:  9 dset:   1 I:      1      3  J: -999 -999  K: -999 -999  L:      3      3  M: -999 -999  N: -999 -999
+ -DELETE          M: 15 dset:   1 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999  M: -999 -999  N: -999 -999
+ -DELETE tpry     M: 14 dset:   1 I:      1      3  J:   45   46  K: -999 -999  L:      1      1
+ -DELETE {30,...} M: 12 dset:   0 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999
              VARIABLE : SAMPLEI(A,{30,40,50})
              FILENAME : coads_climatology.cdf
              SUBSET   : 3 by 2 points (X-LATITUDE)
@@ -25429,23 +25443,23 @@ list/l=1/y=-2:2  SAMPLEI(a,{30,40,50})
  1N   / 46:  28.22  28.20   ....
  1S   / 45:  28.15  28.56   ....
 cancel memory/all
- -DELETE A        M:  8 dset:   1 I:   30   40  J:   45   46  K: -999 -999  L:    1    1
- -DELETE EX#1     M: 15 dset:   1 I:    1    3  J:   45   46  K: -999 -999  L:    1    1
- -DELETE SST      M: 16 dset:   1 I:   30   40  J:   45   46  K: -999 -999  L:    1    1
+ -DELETE A        M:  8 dset:   1 I:     30     40  J:   45   46  K: -999 -999  L:      1      1
+ -DELETE EX#1     M: 15 dset:   1 I:      1      3  J:   45   46  K: -999 -999  L:      1      1
+ -DELETE SST      M: 16 dset:   1 I:     30     40  J:   45   46  K: -999 -999  L:      1      1
 list/l=1/y=-2:2  SAMPLEI(a,{30})		! sample at just 1 point
- dealloc  dynamic grid (G002)          ABSTRACT  COADSY    NORMAL    TIME
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G002)          ABSTRACT  COADSY    NORMAL    TIME
+ dealloc  dynamic grid (G###)          ABSTRACT  COADSY    NORMAL    TIME
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G###)          ABSTRACT  COADSY    NORMAL    TIME
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I: -999 -999  J:   45   46  K: -999 -999  L:    1    1
- const_v {30}     M: 16 dset:   0 I:    1    1  J: -999 -999  K: -999 -999  L: -999 -999
- doing sampling tpry on I axis:     1     1 dset:   1
- eval    A        C:  9 dset:   1 I: -999 -999  J:   45   46  K: -999 -999  L:    1    1
- reading SST      M: 12 dset:   1 I:   30   40  J:   45   46  K: -999 -999  L:    1    1
- -DELETE A        M:  8 dset:   1 I:    1    1  J: -999 -999  K: -999 -999  L:    1    1  M: -999 -999  N: -999 -999
- -DELETE EX#1     M: 15 dset:   1 I:    1    1  J: -999 -999  K: -999 -999  L: -999 -999  M: -999 -999  N: -999 -999
- -DELETE tpry     M:  9 dset:   1 I:    1    1  J:   45   46  K: -999 -999  L:    1    1
- -DELETE {30}     M: 16 dset:   0 I:    1    1  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  5 dset:   1 I:   -999   -999  J:   45   46  K: -999 -999  L:      1      1
+ const_v {30}     M: 16 dset:   0 I:      1      1  J: -999 -999  K: -999 -999  L:   -999   -999
+ doing sampling tpry on I axis:        1        1 dset:   1
+ eval    A        C:  9 dset:   1 I:   -999   -999  J:   45   46  K: -999 -999  L:      1      1
+ reading SST      M: 12 dset:   1 I:     30     40  J:   45   46  K: -999 -999  L:      1      1
+ -DELETE A        M:  8 dset:   1 I:      1      1  J: -999 -999  K: -999 -999  L:      1      1  M: -999 -999  N: -999 -999
+ -DELETE EX#1     M: 15 dset:   1 I:      1      1  J: -999 -999  K: -999 -999  L:   -999   -999  M: -999 -999  N: -999 -999
+ -DELETE tpry     M:  9 dset:   1 I:      1      1  J:   45   46  K: -999 -999  L:      1      1
+ -DELETE {30}     M: 16 dset:   0 I:      1      1  J: -999 -999  K: -999 -999  L:   -999   -999
              VARIABLE : SAMPLEI(A,{30})
              FILENAME : coads_climatology.cdf
              SUBSET   : 2 points (LATITUDE)
@@ -25456,28 +25470,28 @@ list/l=1/y=-2:2  SAMPLEI(a,{30})		! sample at just 1 point
  1N   / 46:  28.22
  1S   / 45:  28.15
 cancel memory/all
- -DELETE SST      M: 12 dset:   1 I:   30   40  J:   45   46  K: -999 -999  L:    1    1
- -DELETE A        M: 14 dset:   1 I:   30   40  J:   45   46  K: -999 -999  L:    1    1
- -DELETE EX#1     M: 15 dset:   1 I:    1    1  J:   45   46  K: -999 -999  L:    1    1
+ -DELETE SST      M: 12 dset:   1 I:     30     40  J:   45   46  K: -999 -999  L:      1      1
+ -DELETE A        M: 14 dset:   1 I:     30     40  J:   45   46  K: -999 -999  L:      1      1
+ -DELETE EX#1     M: 15 dset:   1 I:      1      1  J:   45   46  K: -999 -999  L:      1      1
 list/l=1/y=-2:2  SAMPLEI(a,30)			! sample at just 1 point
- dealloc  dynamic grid (G002)          ABSTRACT  COADSY    NORMAL    TIME
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid (C01,V02 C:  7 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid (C11,V02 C:  9 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G002)          ABSTRACT  COADSY    NORMAL    TIME
- allocate dynamic grid (G002)          ABSTRACT  COADSY    NORMAL    TIME
+ dealloc  dynamic grid (G###)          ABSTRACT  COADSY    NORMAL    TIME
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid (C01,V02 C:  7 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid (C11,V02 C:  9 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G###)          ABSTRACT  COADSY    NORMAL    TIME
+ allocate dynamic grid (G###)          ABSTRACT  COADSY    NORMAL    TIME
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I: -999 -999  J:   45   46  K: -999 -999  L:    1    1
- eval    (C01,V02 C:  7 dset:   1 I: -999 -999  J:   45   46  K: -999 -999  L:    1    1
- eval    (C11,V02 C:  9 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M: -999 -999  N: -999 -999
- constan cnst     M: 15 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M: -999 -999  N: -999 -999
- -DELETE cnst     M: 15 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M: -999 -999  N: -999 -999
- doing sampling tpry on I axis:     1     1 dset:   1
- eval    A        C: 11 dset:   1 I: -999 -999  J:   45   46  K: -999 -999  L:    1    1
- reading SST      M: 16 dset:   1 I:   30   40  J:   45   46  K: -999 -999  L:    1    1
- -DELETE SST      M: 12 dset:   1 I:    1    1  J: -999 -999  K: -999 -999  L:    1    1  M: -999 -999  N: -999 -999
- -DELETE cnst     M: 15 dset:   0 I:    1    1  J: -999 -999  K: -999 -999  L: -999 -999  M: -999 -999  N: -999 -999
- -DELETE tpry     M:  8 dset:   1 I:    1    1  J:   45   46  K: -999 -999  L:    1    1
+ eval    EX#1     C:  5 dset:   1 I:   -999   -999  J:   45   46  K: -999 -999  L:      1      1
+ eval    (C01,V02 C:  7 dset:   1 I:   -999   -999  J:   45   46  K: -999 -999  L:      1      1
+ eval    (C11,V02 C:  9 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M: -999 -999  N: -999 -999
+ constan cnst     M: 15 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M: -999 -999  N: -999 -999
+ -DELETE cnst     M: 15 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M: -999 -999  N: -999 -999
+ doing sampling tpry on I axis:        1        1 dset:   1
+ eval    A        C: 11 dset:   1 I:   -999   -999  J:   45   46  K: -999 -999  L:      1      1
+ reading SST      M: 16 dset:   1 I:     30     40  J:   45   46  K: -999 -999  L:      1      1
+ -DELETE SST      M: 12 dset:   1 I:      1      1  J: -999 -999  K: -999 -999  L:      1      1  M: -999 -999  N: -999 -999
+ -DELETE cnst     M: 15 dset:   0 I:      1      1  J: -999 -999  K: -999 -999  L:   -999   -999  M: -999 -999  N: -999 -999
+ -DELETE tpry     M:  8 dset:   1 I:      1      1  J:   45   46  K: -999 -999  L:      1      1
              VARIABLE : SAMPLEI(A,30)
              FILENAME : coads_climatology.cdf
              SUBSET   : 2 points (LATITUDE)
@@ -25488,40 +25502,40 @@ list/l=1/y=-2:2  SAMPLEI(a,30)			! sample at just 1 point
  1N   / 46:  28.22
  1S   / 45:  28.15
 cancel memory/all
- -DELETE A        M:  9 dset:   1 I:   30   40  J:   45   46  K: -999 -999  L:    1    1
- -DELETE (C11,V02 M: 14 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M: -999 -999  N: -999 -999
- -DELETE (C01,V02 M: 15 dset:   1 I:    1    1  J:   45   46  K: -999 -999  L:    1    1
- -DELETE SST      M: 16 dset:   1 I:   30   40  J:   45   46  K: -999 -999  L:    1    1
+ -DELETE A        M:  9 dset:   1 I:     30     40  J:   45   46  K: -999 -999  L:      1      1
+ -DELETE (C11,V02 M: 14 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M: -999 -999  N: -999 -999
+ -DELETE (C01,V02 M: 15 dset:   1 I:      1      1  J:   45   46  K: -999 -999  L:      1      1
+ -DELETE SST      M: 16 dset:   1 I:     30     40  J:   45   46  K: -999 -999  L:      1      1
 let/quiet fsst = sst[x=@fln] 		! fill holes to allow @iin to work
 let/quiet a = fsst[i=@iin]		! @iin forces all-at-once
  dealloc  dynamic grid ABSTRACT        ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT
- dealloc  dynamic grid (G002)          ABSTRACT  COADSY    NORMAL    TIME
- dealloc  dynamic grid (G002)          ABSTRACT  COADSY    NORMAL    TIME
+ dealloc  dynamic grid (G###)          ABSTRACT  COADSY    NORMAL    TIME
+ dealloc  dynamic grid (G###)          ABSTRACT  COADSY    NORMAL    TIME
  dealloc  dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME
 list/l=1/y=-2:2  SAMPLEI(a,{30,40,50})
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid A        C:  8 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid FSST     C: 10 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid A        C:  8 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid FSST     C: 10 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME
  allocate dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME
- allocate dynamic grid (G002)          ABSTRACT  COADSY    NORMAL    TIME
+ allocate dynamic grid (G###)          ABSTRACT  COADSY    NORMAL    TIME
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I: -999 -999  J:   45   46  K: -999 -999  L:    1    1
- const_v {30,...} M: 16 dset:   0 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999
- doing sampling tpry on I axis:     1     3 dset:   1
- eval    A        C:  9 dset:   1 I:    1  180  J:   45   46  K: -999 -999  L:    1    1
+ eval    EX#1     C:  5 dset:   1 I:   -999   -999  J:   45   46  K: -999 -999  L:      1      1
+ const_v {30,...} M: 16 dset:   0 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999
+ doing sampling tpry on I axis:        1        3 dset:   1
+ eval    A        C:  9 dset:   1 I:      1    180  J:   45   46  K: -999 -999  L:      1      1
  strip --> FSST[X=20E:20E(380)@IIN,D=1]
- eval    FSST     C: 12 dset:   1 I:    1  180  J:   45   46  K: -999 -999  L:    1    1
+ eval    FSST     C: 12 dset:   1 I:      1    180  J:   45   46  K: -999 -999  L:      1      1
  strip --> SST[I=1:180 at FLN:1,D=1]
- strip moduloing SST on X axis:     0   181 dset:   1
- reading SST      M:  9 dset:   1 I:    1  180  J:   45   46  K: -999 -999  L:    1    1
- doing moduloing SST on X axis:     1   180 dset:   1
+ strip moduloing SST on X axis:        0      181 dset:   1
+ reading SST      M:  9 dset:   1 I:      1    180  J:   45   46  K: -999 -999  L:      1      1
+ doing moduloing SST on X axis:        1      180 dset:   1
  doing --> SST[I=1:180 at FLN:1,D=1]
  doing --> FSST[X=20E:20E(380)@IIN,D=1]
- -DELETE          M: 14 dset:   0 I:    1    3  J: -999 -999  K: -999 -999  L:    3    3  M: -999 -999  N: -999 -999
- -DELETE          M: 15 dset:   1 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999  M: -999 -999  N: -999 -999
- -DELETE tpry     M:  5 dset:   1 I:    1    3  J:   45   46  K: -999 -999  L:    1    1
- -DELETE {30,...} M: 16 dset:   0 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999
+ -DELETE          M: 14 dset:   0 I:      1      3  J: -999 -999  K: -999 -999  L:      3      3  M: -999 -999  N: -999 -999
+ -DELETE          M: 15 dset:   1 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999  M: -999 -999  N: -999 -999
+ -DELETE tpry     M:  5 dset:   1 I:      1      3  J:   45   46  K: -999 -999  L:      1      1
+ -DELETE {30,...} M: 16 dset:   0 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999
              VARIABLE : SAMPLEI(A,{30,40,50})
              FILENAME : coads_climatology.cdf
              SUBSET   : 3 by 2 points (X-LATITUDE)
@@ -25531,36 +25545,36 @@ list/l=1/y=-2:2  SAMPLEI(a,{30,40,50})
  1N   / 46:  1.829E+08  2.458E+08  3.068E+08
  1S   / 45:  1.837E+08  2.469E+08  3.095E+08
 cancel memory/all
- -DELETE FSST     M:  4 dset:   1 I:    1  180  J:   45   46  K: -999 -999  L:    1    1
- -DELETE A        M:  7 dset:   1 I:    1  180  J:   45   46  K: -999 -999  L:    1    1
- -DELETE SST      M:  8 dset:   1 I:    0  181  J:   45   46  K: -999 -999  L:    1    1
- -DELETE SST      M:  9 dset:   1 I:    1  180  J:   45   46  K: -999 -999  L:    1    1
- -DELETE SST      M: 12 dset:   1 I:    1  180  J:   45   46  K: -999 -999  L:    1    1
- -DELETE FSST     M: 13 dset:   1 I:    1  180  J:   45   46  K: -999 -999  L:    1    1
- -DELETE EX#1     M: 15 dset:   1 I:    1    3  J:   45   46  K: -999 -999  L:    1    1
+ -DELETE FSST     M:  4 dset:   1 I:      1    180  J:   45   46  K: -999 -999  L:      1      1
+ -DELETE A        M:  7 dset:   1 I:      1    180  J:   45   46  K: -999 -999  L:      1      1
+ -DELETE SST      M:  8 dset:   1 I:      0    181  J:   45   46  K: -999 -999  L:      1      1
+ -DELETE SST      M:  9 dset:   1 I:      1    180  J:   45   46  K: -999 -999  L:      1      1
+ -DELETE SST      M: 12 dset:   1 I:      1    180  J:   45   46  K: -999 -999  L:      1      1
+ -DELETE FSST     M: 13 dset:   1 I:      1    180  J:   45   46  K: -999 -999  L:      1      1
+ -DELETE EX#1     M: 15 dset:   1 I:      1      3  J:   45   46  K: -999 -999  L:      1      1
  
 ! now test optimization that uses large memory chunks if available
 cancel memory/all
 load/l=1/y=0 sst[I=30:50]
- dealloc  dynamic grid (G002)          ABSTRACT  COADSY    NORMAL    TIME
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ dealloc  dynamic grid (G###)          ABSTRACT  COADSY    NORMAL    TIME
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I: -999 -999  J:   45   45  K: -999 -999  L:    1    1
- reading SST      M: 15 dset:   1 I:   30   50  J:   45   45  K: -999 -999  L:    1    1
+ eval    EX#1     C:  5 dset:   1 I:   -999   -999  J:   45   45  K: -999 -999  L:      1      1
+ reading SST      M: 15 dset:   1 I:     30     50  J:   45   45  K: -999 -999  L:      1      1
 list/l=1/y=0  SAMPLEI(sst,{30,40,50})
  dealloc  dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G002)          ABSTRACT  COADSY    NORMAL    TIME
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G###)          ABSTRACT  COADSY    NORMAL    TIME
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I: -999 -999  J:   45   45  K: -999 -999  L:    1    1
- const_v {30,...} M: 13 dset:   0 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999
- doing sampling tpry on I axis:     1     3 dset:   1
- found   SST      M: 15 dset:   1 I:   30   50  J:   45   45  K: -999 -999  L:    1    1
- -DELETE SST      M:  9 dset:   1 I:    1    3  J: -999 -999  K: -999 -999  L:    3    3  M: -999 -999  N: -999 -999
- -DELETE SST      M: 12 dset:   1 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999  M: -999 -999  N: -999 -999
- -DELETE tpry     M:  8 dset:   1 I:    1    3  J:   45   45  K: -999 -999  L:    1    1
- -DELETE {30,...} M: 13 dset:   0 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  5 dset:   1 I:   -999   -999  J:   45   45  K: -999 -999  L:      1      1
+ const_v {30,...} M: 13 dset:   0 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999
+ doing sampling tpry on I axis:        1        3 dset:   1
+ found   SST      M: 15 dset:   1 I:     30     50  J:   45   45  K: -999 -999  L:      1      1
+ -DELETE SST      M:  9 dset:   1 I:      1      3  J: -999 -999  K: -999 -999  L:      3      3  M: -999 -999  N: -999 -999
+ -DELETE SST      M: 12 dset:   1 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999  M: -999 -999  N: -999 -999
+ -DELETE tpry     M:  8 dset:   1 I:      1      3  J:   45   45  K: -999 -999  L:      1      1
+ -DELETE {30,...} M: 13 dset:   0 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999
              VARIABLE : SAMPLEI(SST,{30,40,50})
              FILENAME : coads_climatology.cdf
              SUBSET   : 3 points (X)
@@ -25572,30 +25586,30 @@ list/l=1/y=0  SAMPLEI(sst,{30,40,50})
  2   / 2:  28.56
  3   / 3:  28.83
 cancel memory/all
- -DELETE EX#1     M: 12 dset:   1 I:    1    3  J:   45   45  K: -999 -999  L:    1    1
- -DELETE SST      M: 15 dset:   1 I:   30   50  J:   45   45  K: -999 -999  L:    1    1
+ -DELETE EX#1     M: 12 dset:   1 I:      1      3  J:   45   45  K: -999 -999  L:      1      1
+ -DELETE SST      M: 15 dset:   1 I:     30     50  J:   45   45  K: -999 -999  L:      1      1
 load/l=1/y=0 sst[I=30:39]
- dealloc  dynamic grid (G002)          ABSTRACT  COADSY    NORMAL    TIME
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ dealloc  dynamic grid (G###)          ABSTRACT  COADSY    NORMAL    TIME
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I: -999 -999  J:   45   45  K: -999 -999  L:    1    1
- reading SST      M: 15 dset:   1 I:   30   39  J:   45   45  K: -999 -999  L:    1    1
+ eval    EX#1     C:  5 dset:   1 I:   -999   -999  J:   45   45  K: -999 -999  L:      1      1
+ reading SST      M: 15 dset:   1 I:     30     39  J:   45   45  K: -999 -999  L:      1      1
 list/l=1/y=0  SAMPLEI(sst,{30,40,50})
  dealloc  dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G002)          ABSTRACT  COADSY    NORMAL    TIME
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G###)          ABSTRACT  COADSY    NORMAL    TIME
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I: -999 -999  J:   45   45  K: -999 -999  L:    1    1
- const_v {30,...} M: 12 dset:   0 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999
- doing sampling tpry on I axis:     1     3 dset:   1
- found   SST      M: 15 dset:   1 I:   30   39  J:   45   45  K: -999 -999  L:    1    1
- reading SST      M:  7 dset:   1 I:   40   40  J:   45   45  K: -999 -999  L:    1    1
- reading SST      M:  4 dset:   1 I:   50   50  J:   45   45  K: -999 -999  L:    1    1
- -DELETE tpry     M:  8 dset:   1 I:    1    3  J: -999 -999  K: -999 -999  L:    3    3  M: -999 -999  N: -999 -999
- -DELETE EX#1     M: 13 dset:   1 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999  M: -999 -999  N: -999 -999
- -DELETE tpry     M:  9 dset:   1 I:    1    3  J:   45   45  K: -999 -999  L:    1    1
- -DELETE {30,...} M: 12 dset:   0 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  5 dset:   1 I:   -999   -999  J:   45   45  K: -999 -999  L:      1      1
+ const_v {30,...} M: 12 dset:   0 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999
+ doing sampling tpry on I axis:        1        3 dset:   1
+ found   SST      M: 15 dset:   1 I:     30     39  J:   45   45  K: -999 -999  L:      1      1
+ reading SST      M:  7 dset:   1 I:     40     40  J:   45   45  K: -999 -999  L:      1      1
+ reading SST      M:  4 dset:   1 I:     50     50  J:   45   45  K: -999 -999  L:      1      1
+ -DELETE tpry     M:  8 dset:   1 I:      1      3  J: -999 -999  K: -999 -999  L:      3      3  M: -999 -999  N: -999 -999
+ -DELETE EX#1     M: 13 dset:   1 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999  M: -999 -999  N: -999 -999
+ -DELETE tpry     M:  9 dset:   1 I:      1      3  J:   45   45  K: -999 -999  L:      1      1
+ -DELETE {30,...} M: 12 dset:   0 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999
              VARIABLE : SAMPLEI(SST,{30,40,50})
              FILENAME : coads_climatology.cdf
              SUBSET   : 3 points (X)
@@ -25607,31 +25621,31 @@ list/l=1/y=0  SAMPLEI(sst,{30,40,50})
  2   / 2:  28.56
  3   / 3:  28.83
 cancel memory/all
- -DELETE SST      M:  4 dset:   1 I:   50   50  J:   45   45  K: -999 -999  L:    1    1
- -DELETE SST      M:  7 dset:   1 I:   40   40  J:   45   45  K: -999 -999  L:    1    1
- -DELETE EX#1     M: 13 dset:   1 I:    1    3  J:   45   45  K: -999 -999  L:    1    1
- -DELETE SST      M: 15 dset:   1 I:   30   39  J:   45   45  K: -999 -999  L:    1    1
+ -DELETE SST      M:  4 dset:   1 I:     50     50  J:   45   45  K: -999 -999  L:      1      1
+ -DELETE SST      M:  7 dset:   1 I:     40     40  J:   45   45  K: -999 -999  L:      1      1
+ -DELETE EX#1     M: 13 dset:   1 I:      1      3  J:   45   45  K: -999 -999  L:      1      1
+ -DELETE SST      M: 15 dset:   1 I:     30     39  J:   45   45  K: -999 -999  L:      1      1
 load/l=1/y=0 sst[I=30:40]
- dealloc  dynamic grid (G002)          ABSTRACT  COADSY    NORMAL    TIME
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ dealloc  dynamic grid (G###)          ABSTRACT  COADSY    NORMAL    TIME
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I: -999 -999  J:   45   45  K: -999 -999  L:    1    1
- reading SST      M: 15 dset:   1 I:   30   40  J:   45   45  K: -999 -999  L:    1    1
+ eval    EX#1     C:  5 dset:   1 I:   -999   -999  J:   45   45  K: -999 -999  L:      1      1
+ reading SST      M: 15 dset:   1 I:     30     40  J:   45   45  K: -999 -999  L:      1      1
 list/l=1/y=0  SAMPLEI(sst,{30,40,50})
  dealloc  dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G002)          ABSTRACT  COADSY    NORMAL    TIME
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G###)          ABSTRACT  COADSY    NORMAL    TIME
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I: -999 -999  J:   45   45  K: -999 -999  L:    1    1
- const_v {30,...} M: 13 dset:   0 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999
- doing sampling tpry on I axis:     1     3 dset:   1
- found   SST      M: 15 dset:   1 I:   30   40  J:   45   45  K: -999 -999  L:    1    1
- reading SST      M:  9 dset:   1 I:   50   50  J:   45   45  K: -999 -999  L:    1    1
- -DELETE SST      M:  4 dset:   1 I:    1    3  J: -999 -999  K: -999 -999  L:    3    3  M: -999 -999  N: -999 -999
- -DELETE SST      M:  7 dset:   1 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999  M: -999 -999  N: -999 -999
- -DELETE tpry     M: 12 dset:   1 I:    1    3  J:   45   45  K: -999 -999  L:    1    1
- -DELETE {30,...} M: 13 dset:   0 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  5 dset:   1 I:   -999   -999  J:   45   45  K: -999 -999  L:      1      1
+ const_v {30,...} M: 13 dset:   0 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999
+ doing sampling tpry on I axis:        1        3 dset:   1
+ found   SST      M: 15 dset:   1 I:     30     40  J:   45   45  K: -999 -999  L:      1      1
+ reading SST      M:  9 dset:   1 I:     50     50  J:   45   45  K: -999 -999  L:      1      1
+ -DELETE SST      M:  4 dset:   1 I:      1      3  J: -999 -999  K: -999 -999  L:      3      3  M: -999 -999  N: -999 -999
+ -DELETE SST      M:  7 dset:   1 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999  M: -999 -999  N: -999 -999
+ -DELETE tpry     M: 12 dset:   1 I:      1      3  J:   45   45  K: -999 -999  L:      1      1
+ -DELETE {30,...} M: 13 dset:   0 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999
              VARIABLE : SAMPLEI(SST,{30,40,50})
              FILENAME : coads_climatology.cdf
              SUBSET   : 3 points (X)
@@ -25643,30 +25657,30 @@ list/l=1/y=0  SAMPLEI(sst,{30,40,50})
  2   / 2:  28.56
  3   / 3:  28.83
 cancel memory/all
- -DELETE EX#1     M:  7 dset:   1 I:    1    3  J:   45   45  K: -999 -999  L:    1    1
- -DELETE SST      M:  9 dset:   1 I:   50   50  J:   45   45  K: -999 -999  L:    1    1
- -DELETE SST      M: 15 dset:   1 I:   30   40  J:   45   45  K: -999 -999  L:    1    1
+ -DELETE EX#1     M:  7 dset:   1 I:      1      3  J:   45   45  K: -999 -999  L:      1      1
+ -DELETE SST      M:  9 dset:   1 I:     50     50  J:   45   45  K: -999 -999  L:      1      1
+ -DELETE SST      M: 15 dset:   1 I:     30     40  J:   45   45  K: -999 -999  L:      1      1
 load/l=1/y=0 sst[I=30:41]
- dealloc  dynamic grid (G002)          ABSTRACT  COADSY    NORMAL    TIME
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ dealloc  dynamic grid (G###)          ABSTRACT  COADSY    NORMAL    TIME
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I: -999 -999  J:   45   45  K: -999 -999  L:    1    1
- reading SST      M: 15 dset:   1 I:   30   41  J:   45   45  K: -999 -999  L:    1    1
+ eval    EX#1     C:  5 dset:   1 I:   -999   -999  J:   45   45  K: -999 -999  L:      1      1
+ reading SST      M: 15 dset:   1 I:     30     41  J:   45   45  K: -999 -999  L:      1      1
 list/l=1/y=0  SAMPLEI(sst,{30,40,50})
  dealloc  dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G002)          ABSTRACT  COADSY    NORMAL    TIME
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G###)          ABSTRACT  COADSY    NORMAL    TIME
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I: -999 -999  J:   45   45  K: -999 -999  L:    1    1
- const_v {30,...} M:  9 dset:   0 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999
- doing sampling tpry on I axis:     1     3 dset:   1
- found   SST      M: 15 dset:   1 I:   30   41  J:   45   45  K: -999 -999  L:    1    1
- reading SST      M:  4 dset:   1 I:   50   50  J:   45   45  K: -999 -999  L:    1    1
- -DELETE EX#1     M: 13 dset:   1 I:    1    3  J: -999 -999  K: -999 -999  L:    3    3  M: -999 -999  N: -999 -999
- -DELETE EX#1     M:  7 dset:   1 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999  M: -999 -999  N: -999 -999
- -DELETE tpry     M: 12 dset:   1 I:    1    3  J:   45   45  K: -999 -999  L:    1    1
- -DELETE {30,...} M:  9 dset:   0 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  5 dset:   1 I:   -999   -999  J:   45   45  K: -999 -999  L:      1      1
+ const_v {30,...} M:  9 dset:   0 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999
+ doing sampling tpry on I axis:        1        3 dset:   1
+ found   SST      M: 15 dset:   1 I:     30     41  J:   45   45  K: -999 -999  L:      1      1
+ reading SST      M:  4 dset:   1 I:     50     50  J:   45   45  K: -999 -999  L:      1      1
+ -DELETE EX#1     M: 13 dset:   1 I:      1      3  J: -999 -999  K: -999 -999  L:      3      3  M: -999 -999  N: -999 -999
+ -DELETE EX#1     M:  7 dset:   1 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999  M: -999 -999  N: -999 -999
+ -DELETE tpry     M: 12 dset:   1 I:      1      3  J:   45   45  K: -999 -999  L:      1      1
+ -DELETE {30,...} M:  9 dset:   0 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999
              VARIABLE : SAMPLEI(SST,{30,40,50})
              FILENAME : coads_climatology.cdf
              SUBSET   : 3 points (X)
@@ -25728,10 +25742,10 @@ list SAMPLEI(sst[l=1,y=1s:1n:.5],{30,40,50})
  1S    / 1:  28.15  28.56  28.83
 show grid/dyn
 Dynamic grids:
-    GRID (G003)                          use count:   2
+    GRID (G###)                          use count:   2
  name       axis              # pts   start                end
  ABSTRACT  X             99999999 r   1                    1.E+08
- (AX004)   LATITUDE             5 r   1S                   1N
+ (AX###)   LATITUDE             5 r   1S                   1N
  normal    Z
  TIME      TIME                 3mr   16-JAN 06:00         17-MAR 02:58
 cancel memory/all
@@ -25750,10 +25764,10 @@ list SAMPLEI(a,{30,40,50})
  1S    / 1:  28.15  28.56  28.83
 show grid/dyn
 Dynamic grids:
-    GRID (G002)                          use count:   1
+    GRID (G###)                          use count:   1
  name       axis              # pts   start                end
  ABSTRACT  X             99999999 r   1                    1.E+08
- (AX005)   LATITUDE             5 r   1S                   1N
+ (AX###)   LATITUDE             5 r   1S                   1N
  normal    Z
  TIME      TIME                 3mr   16-JAN 06:00         17-MAR 02:58
  
@@ -25912,29 +25926,29 @@ list SAMPLEI(Y[y=110:200:10],{3,4,7})
 cancel memory/all
 set mode diagnostic
 list SAMPLEI(sst[l=1,y=5N],{31,33,35,37,44,46,48})
- dealloc  dynamic grid (G003)          NORMAL    (AX004)   NORMAL    NORMAL
- dealloc  dynamic grid (G002)          ABSTRACT  (AX004)   NORMAL    NORMAL
- dealloc  dynamic grid (G002)          ABSTRACT  (AX004)   NORMAL    NORMAL
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid (C01,V02 C:  7 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid (C09,V02 C: 10 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ dealloc  dynamic grid (G###)          NORMAL    (AX###)   NORMAL    NORMAL
+ dealloc  dynamic grid (G###)          ABSTRACT  (AX###)   NORMAL    NORMAL
+ dealloc  dynamic grid (G###)          ABSTRACT  (AX###)   NORMAL    NORMAL
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid (C01,V02 C:  7 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid (C09,V02 C: 10 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME
- allocate dynamic grid (G002)          ABSTRACT  COADSY    NORMAL    TIME
- allocate dynamic grid (G002)          ABSTRACT  COADSY    NORMAL    TIME
- eval    EX#1     C:  4 dset:   1 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- eval    (C01,V02 C:  6 dset:   1 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- const_v {31,...} M: 15 dset:   0 I:    1    7  J: -999 -999  K: -999 -999  L: -999 -999
- doing sampling tpry on I axis:     1     7 dset:   1
- eval    (C09,V02 C: 10 dset:   1 I:   31   35  J: -999 -999  K: -999 -999  L: -999 -999
- reading SST      M: 11 dset:   1 I:   31   35  J:   48   48  K: -999 -999  L:    1    1
- eval    (C09,V02 C: 10 dset:   1 I:   37   37  J:   48   48  K: -999 -999  L:    1    1
- reading SST      M:  4 dset:   1 I:   37   37  J:   48   48  K: -999 -999  L:    1    1
- eval    (C09,V02 C: 10 dset:   1 I:   44   48  J:   48   48  K: -999 -999  L:    1    1
- reading SST      M: 13 dset:   1 I:   44   48  J:   48   48  K: -999 -999  L:    1    1
- -DELETE (C01,V02 M: 12 dset:   0 I:    1    7  J: -999 -999  K: -999 -999  L:    7    7  M: -999 -999  N: -999 -999
- -DELETE SST      M: 14 dset:   1 I:    1    7  J: -999 -999  K: -999 -999  L: -999 -999  M: -999 -999  N: -999 -999
- -DELETE tpry     M:  7 dset:   1 I:    1    7  J:   48   48  K: -999 -999  L:    1    1
- -DELETE {31,...} M: 15 dset:   0 I:    1    7  J: -999 -999  K: -999 -999  L: -999 -999
+ allocate dynamic grid (G###)          ABSTRACT  COADSY    NORMAL    TIME
+ allocate dynamic grid (G###)          ABSTRACT  COADSY    NORMAL    TIME
+ eval    EX#1     C:  4 dset:   1 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
+ eval    (C01,V02 C:  6 dset:   1 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
+ const_v {31,...} M: 15 dset:   0 I:      1      7  J: -999 -999  K: -999 -999  L:   -999   -999
+ doing sampling tpry on I axis:        1        7 dset:   1
+ eval    (C09,V02 C: 10 dset:   1 I:     31     35  J: -999 -999  K: -999 -999  L:   -999   -999
+ reading SST      M: 11 dset:   1 I:     31     35  J:   48   48  K: -999 -999  L:      1      1
+ eval    (C09,V02 C: 10 dset:   1 I:     37     37  J:   48   48  K: -999 -999  L:      1      1
+ reading SST      M:  4 dset:   1 I:     37     37  J:   48   48  K: -999 -999  L:      1      1
+ eval    (C09,V02 C: 10 dset:   1 I:     44     48  J:   48   48  K: -999 -999  L:      1      1
+ reading SST      M: 13 dset:   1 I:     44     48  J:   48   48  K: -999 -999  L:      1      1
+ -DELETE (C01,V02 M: 12 dset:   0 I:      1      7  J: -999 -999  K: -999 -999  L:      7      7  M: -999 -999  N: -999 -999
+ -DELETE SST      M: 14 dset:   1 I:      1      7  J: -999 -999  K: -999 -999  L:   -999   -999  M: -999 -999  N: -999 -999
+ -DELETE tpry     M:  7 dset:   1 I:      1      7  J:   48   48  K: -999 -999  L:      1      1
+ -DELETE {31,...} M: 15 dset:   0 I:      1      7  J: -999 -999  K: -999 -999  L:   -999   -999
              VARIABLE : SAMPLEI(SST[L=1,Y=5N],{31,33,35,37,44,46,48})
              FILENAME : coads_climatology.cdf
              SUBSET   : 7 points (X)
@@ -25952,17 +25966,17 @@ list SAMPLEI(sst[l=1,y=5N],{31,33,35,37,44,46,48})
  
 ! test cache hits
 list SAMPLEI(sst[l=1,y=5N],{31,33,35,37,44,46,48}) !   <-- CACHE HIT FAILS!!!
- eval    EX#1     C:  4 dset:   1 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- eval    (C01,V02 C:  6 dset:   1 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- const_v {31,...} M: 15 dset:   0 I:    1    7  J: -999 -999  K: -999 -999  L: -999 -999
- doing sampling tpry on I axis:     1     7 dset:   1
- found   (C09,V02 M:  8 dset:   1 I:   31   35  J:   48   48  K: -999 -999  L:    1    1
- found   (C09,V02 M:  3 dset:   1 I:   37   37  J:   48   48  K: -999 -999  L:    1    1
- found   (C09,V02 M: 16 dset:   1 I:   44   48  J:   48   48  K: -999 -999  L:    1    1
- -DELETE (C01,V02 M: 12 dset:   0 I:    1    7  J: -999 -999  K: -999 -999  L:    7    7  M: -999 -999  N: -999 -999
- -DELETE tpry     M:  7 dset:   1 I:    1    7  J: -999 -999  K: -999 -999  L: -999 -999  M: -999 -999  N: -999 -999
- -DELETE tpry     M: 10 dset:   1 I:    1    7  J:   48   48  K: -999 -999  L:    1    1
- -DELETE {31,...} M: 15 dset:   0 I:    1    7  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  4 dset:   1 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
+ eval    (C01,V02 C:  6 dset:   1 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
+ const_v {31,...} M: 15 dset:   0 I:      1      7  J: -999 -999  K: -999 -999  L:   -999   -999
+ doing sampling tpry on I axis:        1        7 dset:   1
+ found   (C09,V02 M:  8 dset:   1 I:     31     35  J:   48   48  K: -999 -999  L:      1      1
+ found   (C09,V02 M:  3 dset:   1 I:     37     37  J:   48   48  K: -999 -999  L:      1      1
+ found   (C09,V02 M: 16 dset:   1 I:     44     48  J:   48   48  K: -999 -999  L:      1      1
+ -DELETE (C01,V02 M: 12 dset:   0 I:      1      7  J: -999 -999  K: -999 -999  L:      7      7  M: -999 -999  N: -999 -999
+ -DELETE tpry     M:  7 dset:   1 I:      1      7  J: -999 -999  K: -999 -999  L:   -999   -999  M: -999 -999  N: -999 -999
+ -DELETE tpry     M: 10 dset:   1 I:      1      7  J:   48   48  K: -999 -999  L:      1      1
+ -DELETE {31,...} M: 15 dset:   0 I:      1      7  J: -999 -999  K: -999 -999  L:   -999   -999
              VARIABLE : SAMPLEI(SST[L=1,Y=5N],{31,33,35,37,44,46,48})
              FILENAME : coads_climatology.cdf
              SUBSET   : 7 points (X)
@@ -25982,18 +25996,18 @@ let a = SAMPLEI(sst[l=1,y=5N],{31,33,35,37,44,46,48})
 load a
 set mode diagnostic
 list a 			!   <-- CACHE HIT FAILS!!!
- eval    EX#1     C:  4 dset:   1 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- eval    A        C:  6 dset:   1 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- eval    (C01,V01 C:  8 dset:   1 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- const_v {31,...} M:  3 dset:   0 I:    1    7  J: -999 -999  K: -999 -999  L: -999 -999
- doing sampling tpry on I axis:     1     7 dset:   1
- found   (C09,V01 M:  8 dset:   1 I:   31   35  J:   48   48  K: -999 -999  L:    1    1
- found   (C09,V01 M: 15 dset:   1 I:   37   37  J:   48   48  K: -999 -999  L:    1    1
- found   (C09,V01 M: 10 dset:   1 I:   44   48  J:   48   48  K: -999 -999  L:    1    1
- -DELETE          M: 12 dset:   0 I:    1    7  J: -999 -999  K: -999 -999  L:    7    7  M: -999 -999  N: -999 -999
- -DELETE          M: 16 dset:   1 I:    1    7  J: -999 -999  K: -999 -999  L: -999 -999  M: -999 -999  N: -999 -999
- -DELETE tpry     M:  2 dset:   1 I:    1    7  J:   48   48  K: -999 -999  L:    1    1
- -DELETE {31,...} M:  3 dset:   0 I:    1    7  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  4 dset:   1 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
+ eval    A        C:  6 dset:   1 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
+ eval    (C01,V01 C:  8 dset:   1 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
+ const_v {31,...} M:  3 dset:   0 I:      1      7  J: -999 -999  K: -999 -999  L:   -999   -999
+ doing sampling tpry on I axis:        1        7 dset:   1
+ found   (C09,V01 M:  8 dset:   1 I:     31     35  J:   48   48  K: -999 -999  L:      1      1
+ found   (C09,V01 M: 15 dset:   1 I:     37     37  J:   48   48  K: -999 -999  L:      1      1
+ found   (C09,V01 M: 10 dset:   1 I:     44     48  J:   48   48  K: -999 -999  L:      1      1
+ -DELETE          M: 12 dset:   0 I:      1      7  J: -999 -999  K: -999 -999  L:      7      7  M: -999 -999  N: -999 -999
+ -DELETE          M: 16 dset:   1 I:      1      7  J: -999 -999  K: -999 -999  L:   -999   -999  M: -999 -999  N: -999 -999
+ -DELETE tpry     M:  2 dset:   1 I:      1      7  J:   48   48  K: -999 -999  L:      1      1
+ -DELETE {31,...} M:  3 dset:   0 I:      1      7  J: -999 -999  K: -999 -999  L:   -999   -999
              VARIABLE : SAMPLEI(SST[L=1,Y=5N],{31,33,35,37,44,46,48})
              FILENAME : coads_climatology.cdf
              SUBSET   : 7 points (X)
@@ -26011,16 +26025,12 @@ list a 			!   <-- CACHE HIT FAILS!!!
 set mode/last diagnostic
  
 SHOW MEM/FREE
- Current size of FERRET memory cache: 25.6 MegaWords  (1 word = 8 bytes)
-            total memory table slots: 500
-            total memory blocks: 2000
-            memory block size: 12800
- 
-            number of free memory blocks: 1990
-            largest free region: 1990
-            number of free regions: 1
-            free memory table slots: 490
-            number of UN-CACHED variables: 0
+    SET MEMORY/SIZE: 25.6 megawords
+    Peak demand: 38 words
+    Current cache: 50 words
+    Total table slots: 500
+    Free table slots: 490
+    Un-cached variables: 0
  
 ! test SAMPLEJ
 let/quiet a = sst + Z[z=0:500:5]
@@ -26517,17 +26527,17 @@ SHOW DATA
  
 ! basic strides
 LIST VAR[i=2:4:2]
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G006)          (AX021)   YAX1_3    ZAX1_2    TAX1_1
- dealloc  dynamic grid (G006)          (AX021)   YAX1_3    ZAX1_2    TAX1_1
- allocate dynamic grid (G006)          (AX021)   YAX1_3    ZAX1_2    TAX1_1
- eval    EX#1     C:  4 dset:   1 I:    1    4  J:    1    3  K:    1    2  L:    1    1
- allocate dynamic grid (G006)          (AX021)   YAX1_3    ZAX1_2    TAX1_1
- strip regrid on X: VAR --> (G006)           @XACT
- rdstride VAR      C:  7 dset:   1 I:    2    4  J:    1    3  K:    1    2  L:    1    1
- nulrgd  VAR      M:  2 dset:   1 I:    1    2  J:    1    3  K:    1    2  L:    1    1
- -DELETE VAR      M:  1 dset:   1 I:    2    4  J:    1    3  K:    1    2  L:    1    1
- dealloc  dynamic grid (G006)          (AX021)   YAX1_3    ZAX1_2    TAX1_1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G###)          (AX###)   YAX1_3    ZAX1_2    TAX1_1
+ dealloc  dynamic grid (G###)          (AX###)   YAX1_3    ZAX1_2    TAX1_1
+ allocate dynamic grid (G###)          (AX###)   YAX1_3    ZAX1_2    TAX1_1
+ eval    EX#1     C:  4 dset:   1 I:      1      4  J:    1    3  K:    1    2  L:      1      1
+ allocate dynamic grid (G###)          (AX###)   YAX1_3    ZAX1_2    TAX1_1
+ strip regrid on X: VAR --> (G###)           @XACT
+ rdstride VAR      C:  7 dset:   1 I:      2      4  J:    1    3  K:    1    2  L:      1      1
+ nulrgd  VAR      M:  2 dset:   1 I:      1      2  J:    1    3  K:    1    2  L:      1      1
+ -DELETE VAR      M:  1 dset:   1 I:      2      4  J:    1    3  K:    1    2  L:      1      1
+ dealloc  dynamic grid (G###)          (AX###)   YAX1_3    ZAX1_2    TAX1_1
              VARIABLE : L*1000 + K*100 + J*10 + I
                         regrid: 2 delta on X
              FILENAME : bn_strides.cdf
@@ -26546,10 +26556,10 @@ LIST VAR[i=2:4:2]
  
 ! cache hit after changes to COMPLETE_MISSING_LIMS and FLESH_OUT_AXIS
 LIST VAR[i=2:4:2]
- eval    EX#1     C:  4 dset:   1 I:    1    4  J:    1    3  K:    1    2  L:    1    1
- allocate dynamic grid (G006)          (AX021)   YAX1_3    ZAX1_2    TAX1_1
- found   VAR      M:  2 dset:   1 I:    1    2  J:    1    3  K:    1    2  L:    1    1
- dealloc  dynamic grid (G006)          (AX021)   YAX1_3    ZAX1_2    TAX1_1
+ eval    EX#1     C:  4 dset:   1 I:      1      4  J:    1    3  K:    1    2  L:      1      1
+ allocate dynamic grid (G###)          (AX###)   YAX1_3    ZAX1_2    TAX1_1
+ found   VAR      M:  2 dset:   1 I:      1      2  J:    1    3  K:    1    2  L:      1      1
+ dealloc  dynamic grid (G###)          (AX###)   YAX1_3    ZAX1_2    TAX1_1
              VARIABLE : L*1000 + K*100 + J*10 + I
                         regrid: 2 delta on X
              FILENAME : bn_strides.cdf
@@ -26569,22 +26579,22 @@ LIST VAR[i=2:4:2]
 ! cache hit through non-file variable
 let a = VAR[i=2:4:2]
 list a
- dealloc  dynamic grid (G006)          (AX021)   YAX1_3    ZAX1_2    TAX1_1
- -DELETE VAR      M:  2 dset:   1 I:    1    2  J:    1    3  K:    1    2  L:    1    1
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid A        C:  7 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G006)          (AX020)   YAX1_3    ZAX1_2    TAX1_1
- dealloc  dynamic grid (G006)          (AX020)   YAX1_3    ZAX1_2    TAX1_1
- allocate dynamic grid (G006)          (AX020)   YAX1_3    ZAX1_2    TAX1_1
- allocate dynamic grid (G006)          (AX020)   YAX1_3    ZAX1_2    TAX1_1
- eval    EX#1     C:  4 dset:   1 I:    1    4  J:    1    3  K:    1    2  L:    1    1
- eval    A        C:  6 dset:   1 I:    1    2  J:    1    3  K:    1    2  L:    1    1
- allocate dynamic grid (G006)          (AX020)   YAX1_3    ZAX1_2    TAX1_1
- strip regrid on X: VAR --> (G006)           @XACT
- rdstride VAR      C:  9 dset:   1 I:    2    4  J:    1    3  K:    1    2  L:    1    1
- nulrgd  VAR      M:  1 dset:   1 I:    1    2  J:    1    3  K:    1    2  L:    1    1
- -DELETE VAR      M:  2 dset:   1 I:    2    4  J:    1    3  K:    1    2  L:    1    1
- dealloc  dynamic grid (G006)          (AX020)   YAX1_3    ZAX1_2    TAX1_1
+ dealloc  dynamic grid (G###)          (AX###)   YAX1_3    ZAX1_2    TAX1_1
+ -DELETE VAR      M:  2 dset:   1 I:      1      2  J:    1    3  K:    1    2  L:      1      1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid A        C:  7 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G###)          (AX###)   YAX1_3    ZAX1_2    TAX1_1
+ dealloc  dynamic grid (G###)          (AX###)   YAX1_3    ZAX1_2    TAX1_1
+ allocate dynamic grid (G###)          (AX###)   YAX1_3    ZAX1_2    TAX1_1
+ allocate dynamic grid (G###)          (AX###)   YAX1_3    ZAX1_2    TAX1_1
+ eval    EX#1     C:  4 dset:   1 I:      1      4  J:    1    3  K:    1    2  L:      1      1
+ eval    A        C:  6 dset:   1 I:      1      2  J:    1    3  K:    1    2  L:      1      1
+ allocate dynamic grid (G###)          (AX###)   YAX1_3    ZAX1_2    TAX1_1
+ strip regrid on X: VAR --> (G###)           @XACT
+ rdstride VAR      C:  9 dset:   1 I:      2      4  J:    1    3  K:    1    2  L:      1      1
+ nulrgd  VAR      M:  1 dset:   1 I:      1      2  J:    1    3  K:    1    2  L:      1      1
+ -DELETE VAR      M:  2 dset:   1 I:      2      4  J:    1    3  K:    1    2  L:      1      1
+ dealloc  dynamic grid (G###)          (AX###)   YAX1_3    ZAX1_2    TAX1_1
              VARIABLE : VAR[I=2:4:2]
              FILENAME : bn_strides.cdf
              SUBSET   : 2 by 3 by 2 points (X-Y-Z)
@@ -26600,8 +26610,8 @@ list a
  2   / 2:  1222.  1224.
  3   / 3:  1232.  1234.
 list a		! from cache ...
- eval    EX#1     C:  4 dset:   1 I:    1    4  J:    1    3  K:    1    2  L:    1    1
- found   A        M:  2 dset:   1 I:    1    2  J:    1    3  K:    1    2  L:    1    1
+ eval    EX#1     C:  4 dset:   1 I:      1      4  J:    1    3  K:    1    2  L:      1      1
+ found   A        M:  2 dset:   1 I:      1      2  J:    1    3  K:    1    2  L:      1      1
              VARIABLE : VAR[I=2:4:2]
              FILENAME : bn_strides.cdf
              SUBSET   : 2 by 3 by 2 points (X-Y-Z)
@@ -26619,27 +26629,27 @@ list a		! from cache ...
  
 ! cache hit from full region cache -- bypass use of strides
 cancel memory/all
- -DELETE VAR      M:  1 dset:   1 I:    1    2  J:    1    3  K:    1    2  L:    1    1
- -DELETE A        M:  2 dset:   1 I:    1    2  J:    1    3  K:    1    2  L:    1    1
+ -DELETE VAR      M:  1 dset:   1 I:      1      2  J:    1    3  K:    1    2  L:      1      1
+ -DELETE A        M:  2 dset:   1 I:      1      2  J:    1    3  K:    1    2  L:      1      1
 load var
- dealloc  dynamic grid (G006)          (AX020)   YAX1_3    ZAX1_2    TAX1_1
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ dealloc  dynamic grid (G###)          (AX###)   YAX1_3    ZAX1_2    TAX1_1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GPC1            XAX1_4    YAX1_3    ZAX1_2    TAX1_1
- eval    EX#1     C:  4 dset:   1 I:    1    4  J:    1    3  K:    1    2  L:    1    1
- reading VAR      M:  2 dset:   1 I:    1    4  J:    1    3  K:    1    2  L:    1    1
+ eval    EX#1     C:  4 dset:   1 I:      1      4  J:    1    3  K:    1    2  L:      1      1
+ reading VAR      M:  2 dset:   1 I:      1      4  J:    1    3  K:    1    2  L:      1      1
 LIST VAR[i=2:4:2]
  dealloc  dynamic grid GPC1            XAX1_4    YAX1_3    ZAX1_2    TAX1_1
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G006)          (AX020)   YAX1_3    ZAX1_2    TAX1_1
- dealloc  dynamic grid (G006)          (AX020)   YAX1_3    ZAX1_2    TAX1_1
- allocate dynamic grid (G006)          (AX020)   YAX1_3    ZAX1_2    TAX1_1
- eval    EX#1     C:  4 dset:   1 I:    1    4  J:    1    3  K:    1    2  L:    1    1
- allocate dynamic grid (G006)          (AX020)   YAX1_3    ZAX1_2    TAX1_1
- strip regrid on X: VAR --> (G006)           @XACT
- rdstride VAR      C:  7 dset:   1 I:    2    4  J:    1    3  K:    1    2  L:    1    1
- nulrgd  VAR      M:  3 dset:   1 I:    1    2  J:    1    3  K:    1    2  L:    1    1
- -DELETE VAR      M:  1 dset:   1 I:    2    4  J:    1    3  K:    1    2  L:    1    1
- dealloc  dynamic grid (G006)          (AX020)   YAX1_3    ZAX1_2    TAX1_1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G###)          (AX###)   YAX1_3    ZAX1_2    TAX1_1
+ dealloc  dynamic grid (G###)          (AX###)   YAX1_3    ZAX1_2    TAX1_1
+ allocate dynamic grid (G###)          (AX###)   YAX1_3    ZAX1_2    TAX1_1
+ eval    EX#1     C:  4 dset:   1 I:      1      4  J:    1    3  K:    1    2  L:      1      1
+ allocate dynamic grid (G###)          (AX###)   YAX1_3    ZAX1_2    TAX1_1
+ strip regrid on X: VAR --> (G###)           @XACT
+ rdstride VAR      C:  7 dset:   1 I:      2      4  J:    1    3  K:    1    2  L:      1      1
+ nulrgd  VAR      M:  3 dset:   1 I:      1      2  J:    1    3  K:    1    2  L:      1      1
+ -DELETE VAR      M:  1 dset:   1 I:      2      4  J:    1    3  K:    1    2  L:      1      1
+ dealloc  dynamic grid (G###)          (AX###)   YAX1_3    ZAX1_2    TAX1_1
              VARIABLE : L*1000 + K*100 + J*10 + I
                         regrid: 2 delta on X
              FILENAME : bn_strides.cdf
@@ -26656,18 +26666,18 @@ LIST VAR[i=2:4:2]
  2   / 2:  1222.  1224.
  3   / 3:  1232.  1234.
 LIST VAR[i=2:4:2,j=1:3:2]
- dealloc  dynamic grid (G006)          (AX020)   YAX1_3    ZAX1_2    TAX1_1
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G007)          (AX020)   (AX022)   ZAX1_2    TAX1_1
- dealloc  dynamic grid (G007)          (AX020)   (AX022)   ZAX1_2    TAX1_1
- allocate dynamic grid (G007)          (AX020)   (AX022)   ZAX1_2    TAX1_1
- eval    EX#1     C:  4 dset:   1 I:    1    4  J:    1    3  K:    1    2  L:    1    1
- allocate dynamic grid (G007)          (AX020)   (AX022)   ZAX1_2    TAX1_1
- strip regrid on X: VAR --> (G007)           @XACT
- rdstride VAR      C:  7 dset:   1 I:    2    4  J:    1    3  K:    1    2  L:    1    1
- nulrgd  VAR      M:  4 dset:   1 I:    1    2  J:    1    2  K:    1    2  L:    1    1
- -DELETE VAR      M:  1 dset:   1 I:    2    4  J:    1    3  K:    1    2  L:    1    1
- dealloc  dynamic grid (G007)          (AX020)   (AX022)   ZAX1_2    TAX1_1
+ dealloc  dynamic grid (G###)          (AX###)   YAX1_3    ZAX1_2    TAX1_1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G###)          (AX###)   (AX###)   ZAX1_2    TAX1_1
+ dealloc  dynamic grid (G###)          (AX###)   (AX###)   ZAX1_2    TAX1_1
+ allocate dynamic grid (G###)          (AX###)   (AX###)   ZAX1_2    TAX1_1
+ eval    EX#1     C:  4 dset:   1 I:      1      4  J:    1    3  K:    1    2  L:      1      1
+ allocate dynamic grid (G###)          (AX###)   (AX###)   ZAX1_2    TAX1_1
+ strip regrid on X: VAR --> (G###)           @XACT
+ rdstride VAR      C:  7 dset:   1 I:      2      4  J:    1    3  K:    1    2  L:      1      1
+ nulrgd  VAR      M:  4 dset:   1 I:      1      2  J:    1    2  K:    1    2  L:      1      1
+ -DELETE VAR      M:  1 dset:   1 I:      2      4  J:    1    3  K:    1    2  L:      1      1
+ dealloc  dynamic grid (G###)          (AX###)   (AX###)   ZAX1_2    TAX1_1
              VARIABLE : L*1000 + K*100 + J*10 + I
                         regrid: 2 delta on X, 2 delta on Y
              FILENAME : bn_strides.cdf
@@ -26682,26 +26692,26 @@ LIST VAR[i=2:4:2,j=1:3:2]
  1   / 1:  1212.  1214.
  3   / 2:  1232.  1234.
 CANC MEM/ALL
- -DELETE VAR      M:  2 dset:   1 I:    1    4  J:    1    3  K:    1    2  L:    1    1
- -DELETE VAR      M:  3 dset:   1 I:    1    2  J:    1    3  K:    1    2  L:    1    1
- -DELETE VAR      M:  4 dset:   1 I:    1    2  J:    1    2  K:    1    2  L:    1    1
+ -DELETE VAR      M:  2 dset:   1 I:      1      4  J:    1    3  K:    1    2  L:      1      1
+ -DELETE VAR      M:  3 dset:   1 I:      1      2  J:    1    3  K:    1    2  L:      1      1
+ -DELETE VAR      M:  4 dset:   1 I:      1      2  J:    1    2  K:    1    2  L:      1      1
  
 ! modulo requests cannot use strides (as this example shows)
 set axis/modulo XAX1_4
 LIST VAR[I=1:10:3,j=1,k=1,l=1]    ! 1, 4, 7(3), 10(2)
- dealloc  dynamic grid (G007)          (AX020)   (AX022)   ZAX1_2    TAX1_1
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G007)          (AX021)   YAX1_3    ZAX1_2    TAX1_1
- dealloc  dynamic grid (G007)          (AX021)   YAX1_3    ZAX1_2    TAX1_1
- allocate dynamic grid (G007)          (AX021)   YAX1_3    ZAX1_2    TAX1_1
- eval    EX#1     C:  4 dset:   1 I:    1    4  J:    1    3  K: -999 -999  L:    1    2
- allocate dynamic grid (G007)          (AX021)   YAX1_3    ZAX1_2    TAX1_1
- strip regrid on X: VAR --> (G007)           @XACT
- strip moduloing VAR on X axis:     1    10 dset:   1
- reading VAR      M:  4 dset:   1 I:    1    4  J:    1    1  K:    1    1  L:    1    1
- doing moduloing VAR on X axis:     1     4 dset:   1
- regrid  VAR      M:  2 dset:   1 I:    1    4  J:    1    1  K:    1    1  L:    1    1
- dealloc  dynamic grid (G007)          (AX021)   YAX1_3    ZAX1_2    TAX1_1
+ dealloc  dynamic grid (G###)          (AX###)   (AX###)   ZAX1_2    TAX1_1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G###)          (AX###)   YAX1_3    ZAX1_2    TAX1_1
+ dealloc  dynamic grid (G###)          (AX###)   YAX1_3    ZAX1_2    TAX1_1
+ allocate dynamic grid (G###)          (AX###)   YAX1_3    ZAX1_2    TAX1_1
+ eval    EX#1     C:  4 dset:   1 I:      1      4  J:    1    3  K: -999 -999  L:      1      2
+ allocate dynamic grid (G###)          (AX###)   YAX1_3    ZAX1_2    TAX1_1
+ strip regrid on X: VAR --> (G###)           @XACT
+ strip moduloing VAR on X axis:        1       10 dset:   1
+ reading VAR      M:  4 dset:   1 I:      1      4  J:    1    1  K:    1    1  L:      1      1
+ doing moduloing VAR on X axis:        1        4 dset:   1
+ regrid  VAR      M:  2 dset:   1 I:      1      4  J:    1    1  K:    1    1  L:      1      1
+ dealloc  dynamic grid (G###)          (AX###)   YAX1_3    ZAX1_2    TAX1_1
              VARIABLE : L*1000 + K*100 + J*10 + I
                         regrid: 3 delta on X
              FILENAME : bn_strides.cdf
@@ -26716,24 +26726,24 @@ LIST VAR[I=1:10:3,j=1,k=1,l=1]    ! 1, 4, 7(3), 10(2)
  7    / 3:  1113.
  10   / 4:  1112.
 cancel axis/modulo XAX1_4
- -DELETE VAR      M:  2 dset:   1 I:    1    4  J:    1    1  K:    1    1  L:    1    1
- -DELETE VAR      M:  3 dset:   1 I:    1   10  J:    1    1  K:    1    1  L:    1    1
- -DELETE VAR      M:  4 dset:   1 I:    1    4  J:    1    1  K:    1    1  L:    1    1
+ -DELETE VAR      M:  2 dset:   1 I:      1      4  J:    1    1  K:    1    1  L:      1      1
+ -DELETE VAR      M:  3 dset:   1 I:      1     10  J:    1    1  K:    1    1  L:      1      1
+ -DELETE VAR      M:  4 dset:   1 I:      1      4  J:    1    1  K:    1    1  L:      1      1
  
 ! strides applied to more than one axis need special attention in IS_REGRID
 LIST VAR[i=2:4:2,j=1:3:2]
- dealloc  dynamic grid (G007)          (AX021)   YAX1_3    ZAX1_2    TAX1_1
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G007)          (AX020)   (AX022)   ZAX1_2    TAX1_1
- dealloc  dynamic grid (G007)          (AX020)   (AX022)   ZAX1_2    TAX1_1
- allocate dynamic grid (G007)          (AX020)   (AX022)   ZAX1_2    TAX1_1
- eval    EX#1     C:  4 dset:   1 I:    1    4  J:    1    3  K:    1    2  L:    1    1
- allocate dynamic grid (G007)          (AX020)   (AX022)   ZAX1_2    TAX1_1
- strip regrid on X: VAR --> (G007)           @XACT
- rdstride VAR      C:  7 dset:   1 I:    2    4  J:    1    3  K:    1    2  L:    1    1
- nulrgd  VAR      M:  3 dset:   1 I:    1    2  J:    1    2  K:    1    2  L:    1    1
- -DELETE VAR      M:  4 dset:   1 I:    2    4  J:    1    3  K:    1    2  L:    1    1
- dealloc  dynamic grid (G007)          (AX020)   (AX022)   ZAX1_2    TAX1_1
+ dealloc  dynamic grid (G###)          (AX###)   YAX1_3    ZAX1_2    TAX1_1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G###)          (AX###)   (AX###)   ZAX1_2    TAX1_1
+ dealloc  dynamic grid (G###)          (AX###)   (AX###)   ZAX1_2    TAX1_1
+ allocate dynamic grid (G###)          (AX###)   (AX###)   ZAX1_2    TAX1_1
+ eval    EX#1     C:  4 dset:   1 I:      1      4  J:    1    3  K:    1    2  L:      1      1
+ allocate dynamic grid (G###)          (AX###)   (AX###)   ZAX1_2    TAX1_1
+ strip regrid on X: VAR --> (G###)           @XACT
+ rdstride VAR      C:  7 dset:   1 I:      2      4  J:    1    3  K:    1    2  L:      1      1
+ nulrgd  VAR      M:  3 dset:   1 I:      1      2  J:    1    2  K:    1    2  L:      1      1
+ -DELETE VAR      M:  4 dset:   1 I:      2      4  J:    1    3  K:    1    2  L:      1      1
+ dealloc  dynamic grid (G###)          (AX###)   (AX###)   ZAX1_2    TAX1_1
              VARIABLE : L*1000 + K*100 + J*10 + I
                         regrid: 2 delta on X, 2 delta on Y
              FILENAME : bn_strides.cdf
@@ -26748,19 +26758,19 @@ LIST VAR[i=2:4:2,j=1:3:2]
  1   / 1:  1212.  1214.
  3   / 2:  1232.  1234.
 LIST VAR[i=2:6:2,j=1:5:2]
- dealloc  dynamic grid (G007)          (AX020)   (AX022)   ZAX1_2    TAX1_1
- -DELETE VAR      M:  3 dset:   1 I:    1    2  J:    1    2  K:    1    2  L:    1    1
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G007)          (AX020)   (AX021)   ZAX1_2    TAX1_1
- dealloc  dynamic grid (G007)          (AX020)   (AX021)   ZAX1_2    TAX1_1
- allocate dynamic grid (G007)          (AX020)   (AX021)   ZAX1_2    TAX1_1
- eval    EX#1     C:  4 dset:   1 I:    1    4  J:    1    3  K:    1    2  L:    1    1
- allocate dynamic grid (G007)          (AX020)   (AX021)   ZAX1_2    TAX1_1
- strip regrid on X: VAR --> (G007)           @XACT
- rdstride VAR      C:  7 dset:   1 I:    2    4  J:    1    3  K:    1    2  L:    1    1
- nulrgd  VAR      M:  4 dset:   1 I:    1    2  J:    1    2  K:    1    2  L:    1    1
- -DELETE VAR      M:  3 dset:   1 I:    2    4  J:    1    3  K:    1    2  L:    1    1
- dealloc  dynamic grid (G007)          (AX020)   (AX021)   ZAX1_2    TAX1_1
+ dealloc  dynamic grid (G###)          (AX###)   (AX###)   ZAX1_2    TAX1_1
+ -DELETE VAR      M:  3 dset:   1 I:      1      2  J:    1    2  K:    1    2  L:      1      1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G###)          (AX###)   (AX###)   ZAX1_2    TAX1_1
+ dealloc  dynamic grid (G###)          (AX###)   (AX###)   ZAX1_2    TAX1_1
+ allocate dynamic grid (G###)          (AX###)   (AX###)   ZAX1_2    TAX1_1
+ eval    EX#1     C:  4 dset:   1 I:      1      4  J:    1    3  K:    1    2  L:      1      1
+ allocate dynamic grid (G###)          (AX###)   (AX###)   ZAX1_2    TAX1_1
+ strip regrid on X: VAR --> (G###)           @XACT
+ rdstride VAR      C:  7 dset:   1 I:      2      4  J:    1    3  K:    1    2  L:      1      1
+ nulrgd  VAR      M:  4 dset:   1 I:      1      2  J:    1    2  K:    1    2  L:      1      1
+ -DELETE VAR      M:  3 dset:   1 I:      2      4  J:    1    3  K:    1    2  L:      1      1
+ dealloc  dynamic grid (G###)          (AX###)   (AX###)   ZAX1_2    TAX1_1
              VARIABLE : L*1000 + K*100 + J*10 + I
                         regrid: 2 delta on X, 2 delta on Y
              FILENAME : bn_strides.cdf
@@ -26777,24 +26787,24 @@ LIST VAR[i=2:6:2,j=1:5:2]
  
 ! deliberate error
 set mode ignore; LIST/i=2:4:2 VAR; cancel mode ignore
- dealloc  dynamic grid (G007)          (AX020)   (AX021)   ZAX1_2    TAX1_1
- -DELETE VAR      M:  4 dset:   1 I:    1    2  J:    1    2  K:    1    2  L:    1    1
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ dealloc  dynamic grid (G###)          (AX###)   (AX###)   ZAX1_2    TAX1_1
+ -DELETE VAR      M:  4 dset:   1 I:      1      2  J:    1    2  K:    1    2  L:      1      1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GPC1            XAX1_4    YAX1_3    ZAX1_2    TAX1_1
  
 ! averaging causes bypass of strides
 LIST VAR[i=2:4:2 at ave]
  dealloc  dynamic grid GPC1            XAX1_4    YAX1_3    ZAX1_2    TAX1_1
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G006)          (AX020)   YAX1_3    ZAX1_2    TAX1_1
- dealloc  dynamic grid (G006)          (AX020)   YAX1_3    ZAX1_2    TAX1_1
- allocate dynamic grid (G006)          (AX020)   YAX1_3    ZAX1_2    TAX1_1
- eval    EX#1     C:  4 dset:   1 I:    1    4  J:    1    3  K:    1    2  L:    1    1
- allocate dynamic grid (G006)          (AX020)   YAX1_3    ZAX1_2    TAX1_1
- strip regrid on X: VAR --> (G006)           @AVE
- reading VAR      M:  4 dset:   1 I:    1    4  J:    1    3  K:    1    2  L:    1    1
- regrid  VAR      M:  3 dset:   1 I:    1    2  J:    1    3  K:    1    2  L:    1    1
- dealloc  dynamic grid (G006)          (AX020)   YAX1_3    ZAX1_2    TAX1_1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G###)          (AX###)   YAX1_3    ZAX1_2    TAX1_1
+ dealloc  dynamic grid (G###)          (AX###)   YAX1_3    ZAX1_2    TAX1_1
+ allocate dynamic grid (G###)          (AX###)   YAX1_3    ZAX1_2    TAX1_1
+ eval    EX#1     C:  4 dset:   1 I:      1      4  J:    1    3  K:    1    2  L:      1      1
+ allocate dynamic grid (G###)          (AX###)   YAX1_3    ZAX1_2    TAX1_1
+ strip regrid on X: VAR --> (G###)           @AVE
+ reading VAR      M:  4 dset:   1 I:      1      4  J:    1    3  K:    1    2  L:      1      1
+ regrid  VAR      M:  3 dset:   1 I:      1      2  J:    1    3  K:    1    2  L:      1      1
+ dealloc  dynamic grid (G###)          (AX###)   YAX1_3    ZAX1_2    TAX1_1
              VARIABLE : L*1000 + K*100 + J*10 + I
                         regrid: 2 delta on X at AVE
              FILENAME : bn_strides.cdf
@@ -26813,25 +26823,25 @@ LIST VAR[i=2:4:2 at ave]
  
 ! test sub-region selection on strides axis
 let a = bigvar[i=1:40:5]
- dealloc  dynamic grid (G006)          (AX020)   YAX1_3    ZAX1_2    TAX1_1
- dealloc  dynamic grid (G006)          (AX020)   YAX1_3    ZAX1_2    TAX1_1
- -DELETE VAR      M:  3 dset:   1 I:    1    2  J:    1    3  K:    1    2  L:    1    1
+ dealloc  dynamic grid (G###)          (AX###)   YAX1_3    ZAX1_2    TAX1_1
+ dealloc  dynamic grid (G###)          (AX###)   YAX1_3    ZAX1_2    TAX1_1
+ -DELETE VAR      M:  3 dset:   1 I:      1      2  J:    1    3  K:    1    2  L:      1      1
 list/j=1/k=1/l=1 a[i=3:5]
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid A        C:  7 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G006)          (AX021)   YAX1_30   ZAX1_20   TAX1_10
- dealloc  dynamic grid (G006)          (AX021)   YAX1_30   ZAX1_20   TAX1_10
- allocate dynamic grid (G006)          (AX021)   YAX1_30   ZAX1_20   TAX1_10
- allocate dynamic grid (G006)          (AX021)   YAX1_30   ZAX1_20   TAX1_10
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid A        C:  7 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G###)          (AX###)   YAX1_30   ZAX1_20   TAX1_10
+ dealloc  dynamic grid (G###)          (AX###)   YAX1_30   ZAX1_20   TAX1_10
+ allocate dynamic grid (G###)          (AX###)   YAX1_30   ZAX1_20   TAX1_10
+ allocate dynamic grid (G###)          (AX###)   YAX1_30   ZAX1_20   TAX1_10
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:    1    4  J:    1    1  K:    1    1  L:    1    1
- eval    A        C:  7 dset:   1 I:    3    5  J:    1    1  K:    1    1  L:    1    1
- allocate dynamic grid (G006)          (AX021)   YAX1_30   ZAX1_20   TAX1_10
- strip regrid on X: BIGVAR --> (G006)           @XACT
- rdstride BIGVAR   C: 10 dset:   1 I:    1   36  J:    1    1  K:    1    1  L:    1    1
- nulrgd  BIGVAR   M:  2 dset:   1 I:    1    8  J:    1    1  K:    1    1  L:    1    1
- -DELETE BIGVAR   M:  3 dset:   1 I:    1   36  J:    1    1  K:    1    1  L:    1    1
- dealloc  dynamic grid (G006)          (AX021)   YAX1_30   ZAX1_20   TAX1_10
+ eval    EX#1     C:  5 dset:   1 I:      1      4  J:    1    1  K:    1    1  L:      1      1
+ eval    A        C:  7 dset:   1 I:      3      5  J:    1    1  K:    1    1  L:      1      1
+ allocate dynamic grid (G###)          (AX###)   YAX1_30   ZAX1_20   TAX1_10
+ strip regrid on X: BIGVAR --> (G###)           @XACT
+ rdstride BIGVAR   C: 10 dset:   1 I:      1     36  J:    1    1  K:    1    1  L:      1      1
+ nulrgd  BIGVAR   M:  2 dset:   1 I:      1      8  J:    1    1  K:    1    1  L:      1      1
+ -DELETE BIGVAR   M:  3 dset:   1 I:      1     36  J:    1    1  K:    1    1  L:      1      1
+ dealloc  dynamic grid (G###)          (AX###)   YAX1_30   ZAX1_20   TAX1_10
              VARIABLE : BIGVAR[I=1:40:5]
              FILENAME : bn_strides.cdf
              SUBSET   : 3 points (X)
@@ -26843,26 +26853,26 @@ list/j=1/k=1/l=1 a[i=3:5]
  11   / 3:  1121.
  16   / 4:  1126.
  21   / 5:  1131.
- -DELETE A        M:  1 dset:   1 I:    1    1  J:    3    5  K:    1    1  L:    1    1
+ -DELETE A        M:  1 dset:   1 I:      1      1  J:    3    5  K:    1    1  L:      1      1
 list/k=1/l=1 a[i=3:5,j=1:8:2]
- dealloc  dynamic grid (G006)          (AX021)   YAX1_30   ZAX1_20   TAX1_10
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G007)          (AX021)   (AX022)   ZAX1_20   TAX1_10
- dealloc  dynamic grid (G007)          (AX021)   (AX022)   ZAX1_20   TAX1_10
- allocate dynamic grid (G007)          (AX021)   (AX022)   ZAX1_20   TAX1_10
+ dealloc  dynamic grid (G###)          (AX###)   YAX1_30   ZAX1_20   TAX1_10
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G###)          (AX###)   (AX###)   ZAX1_20   TAX1_10
+ dealloc  dynamic grid (G###)          (AX###)   (AX###)   ZAX1_20   TAX1_10
+ allocate dynamic grid (G###)          (AX###)   (AX###)   ZAX1_20   TAX1_10
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:    1    4  J:    1    3  K:    1    1  L:    1    1
- allocate dynamic grid (G007)          (AX021)   (AX022)   ZAX1_20   TAX1_10
- strip regrid on Y: A --> (G007)           @XACT
- eval    A        C:  8 dset:   1 I:    3    5  J:    1    7  K:    1    1  L:    1    1
- allocate dynamic grid (G006)          (AX021)   YAX1_30   ZAX1_20   TAX1_10
- strip regrid on X: BIGVAR --> (G006)           @XACT
- rdstride BIGVAR   C: 11 dset:   1 I:    1   36  J:    1    7  K:    1    1  L:    1    1
- nulrgd  BIGVAR   M:  5 dset:   1 I:    1    8  J:    1    7  K:    1    1  L:    1    1
- -DELETE BIGVAR   M:  1 dset:   1 I:    1   36  J:    1    7  K:    1    1  L:    1    1
- dealloc  dynamic grid (G006)          (AX021)   YAX1_30   ZAX1_20   TAX1_10
- regrid  A        M:  6 dset:   1 I:    3    5  J:    1    4  K:    1    1  L:    1    1
- dealloc  dynamic grid (G007)          (AX021)   (AX022)   ZAX1_20   TAX1_10
+ eval    EX#1     C:  5 dset:   1 I:      1      4  J:    1    3  K:    1    1  L:      1      1
+ allocate dynamic grid (G###)          (AX###)   (AX###)   ZAX1_20   TAX1_10
+ strip regrid on Y: A --> (G###)           @XACT
+ eval    A        C:  8 dset:   1 I:      3      5  J:    1    7  K:    1    1  L:      1      1
+ allocate dynamic grid (G###)          (AX###)   YAX1_30   ZAX1_20   TAX1_10
+ strip regrid on X: BIGVAR --> (G###)           @XACT
+ rdstride BIGVAR   C: 11 dset:   1 I:      1     36  J:    1    7  K:    1    1  L:      1      1
+ nulrgd  BIGVAR   M:  5 dset:   1 I:      1      8  J:    1    7  K:    1    1  L:      1      1
+ -DELETE BIGVAR   M:  1 dset:   1 I:      1     36  J:    1    7  K:    1    1  L:      1      1
+ dealloc  dynamic grid (G###)          (AX###)   YAX1_30   ZAX1_20   TAX1_10
+ regrid  A        M:  6 dset:   1 I:      3      5  J:    1    4  K:    1    1  L:      1      1
+ dealloc  dynamic grid (G###)          (AX###)   (AX###)   ZAX1_20   TAX1_10
              VARIABLE : BIGVAR[I=1:40:5]
                         regrid: 2 delta on Y
              FILENAME : bn_strides.cdf
@@ -26879,13 +26889,13 @@ list/k=1/l=1 a[i=3:5,j=1:8:2]
 ! ****** unequally spaced points on parent axis
 ! reference data
 LIST/order=x/j=1/k=1/l=1 UNEVENVAR
- dealloc  dynamic grid (G007)          (AX021)   (AX022)   ZAX1_20   TAX1_10
- -DELETE A        M:  6 dset:   1 I:    3    5  J:    1    4  K:    1    1  L:    1    1
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ dealloc  dynamic grid (G###)          (AX###)   (AX###)   ZAX1_20   TAX1_10
+ -DELETE A        M:  6 dset:   1 I:      3      5  J:    1    4  K:    1    1  L:      1      1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GPC4            XUNEVEN   YUNEVEN   ZAX1_6    TAX1_4
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:    1    4  J:    1    1  K:    1    1  L:    1    1
- reading UNE-NVAR M:  6 dset:   1 I:    1    4  J:    1    1  K:    1    1  L:    1    1
+ eval    EX#1     C:  5 dset:   1 I:      1      4  J:    1    1  K:    1    1  L:      1      1
+ reading UNE-NVAR M:  6 dset:   1 I:      1      4  J:    1    1  K:    1    1  L:      1      1
              VARIABLE : L*1000 + K*100 + J[GY=YUNEVEN]*10 + I[GX=XUNEVEN]
              FILENAME : bn_strides.cdf
              SUBSET   : 4 points (X)
@@ -26896,28 +26906,28 @@ LIST/order=x/j=1/k=1/l=1 UNEVENVAR
             1      2      3      4
           1111.  1112.  1113.  1114.
 cancel mem/all
- -DELETE A        M:  1 dset:   1 I:    1    8  J:    1    7  K:    1    1  L:    1    1
- -DELETE BIGVAR   M:  2 dset:   1 I:    1    8  J:    1    1  K:    1    1  L:    1    1
- -DELETE A        M:  3 dset:   1 I:    1    8  J:    1    1  K:    1    1  L:    1    1
- -DELETE VAR      M:  4 dset:   1 I:    1    4  J:    1    3  K:    1    2  L:    1    1
- -DELETE BIGVAR   M:  5 dset:   1 I:    1    8  J:    1    7  K:    1    1  L:    1    1
- -DELETE UNE-NVAR M:  6 dset:   1 I:    1    4  J:    1    1  K:    1    1  L:    1    1
+ -DELETE A        M:  1 dset:   1 I:      1      8  J:    1    7  K:    1    1  L:      1      1
+ -DELETE BIGVAR   M:  2 dset:   1 I:      1      8  J:    1    1  K:    1    1  L:      1      1
+ -DELETE A        M:  3 dset:   1 I:      1      8  J:    1    1  K:    1    1  L:      1      1
+ -DELETE VAR      M:  4 dset:   1 I:      1      4  J:    1    3  K:    1    2  L:      1      1
+ -DELETE BIGVAR   M:  5 dset:   1 I:      1      8  J:    1    7  K:    1    1  L:      1      1
+ -DELETE UNE-NVAR M:  6 dset:   1 I:      1      4  J:    1    1  K:    1    1  L:      1      1
  
 ! basic strides
 LIST/order=x/j=1/k=1/l=1 UNEVENVAR[i=2:4:2]
  dealloc  dynamic grid GPC4            XUNEVEN   YUNEVEN   ZAX1_6    TAX1_4
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G007)          (AX020)   YUNEVEN   ZAX1_6    TAX1_4
- dealloc  dynamic grid (G007)          (AX020)   YUNEVEN   ZAX1_6    TAX1_4
- allocate dynamic grid (G007)          (AX020)   YUNEVEN   ZAX1_6    TAX1_4
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G###)          (AX###)   YUNEVEN   ZAX1_6    TAX1_4
+ dealloc  dynamic grid (G###)          (AX###)   YUNEVEN   ZAX1_6    TAX1_4
+ allocate dynamic grid (G###)          (AX###)   YUNEVEN   ZAX1_6    TAX1_4
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:    1    4  J:    1    1  K:    1    1  L:    1    1
- allocate dynamic grid (G007)          (AX020)   YUNEVEN   ZAX1_6    TAX1_4
- strip regrid on X: UNEVENVAR --> (G007)           @XACT
- rdstride UNE-NVAR C:  8 dset:   1 I:    2    4  J:    1    1  K:    1    1  L:    1    1
- nulrgd  UNE-NVAR M:  5 dset:   1 I:    1    2  J:    1    1  K:    1    1  L:    1    1
- -DELETE UNE-NVAR M:  6 dset:   1 I:    2    4  J:    1    1  K:    1    1  L:    1    1
- dealloc  dynamic grid (G007)          (AX020)   YUNEVEN   ZAX1_6    TAX1_4
+ eval    EX#1     C:  5 dset:   1 I:      1      4  J:    1    1  K:    1    1  L:      1      1
+ allocate dynamic grid (G###)          (AX###)   YUNEVEN   ZAX1_6    TAX1_4
+ strip regrid on X: UNEVENVAR --> (G###)           @XACT
+ rdstride UNE-NVAR C:  8 dset:   1 I:      2      4  J:    1    1  K:    1    1  L:      1      1
+ nulrgd  UNE-NVAR M:  5 dset:   1 I:      1      2  J:    1    1  K:    1    1  L:      1      1
+ -DELETE UNE-NVAR M:  6 dset:   1 I:      2      4  J:    1    1  K:    1    1  L:      1      1
+ dealloc  dynamic grid (G###)          (AX###)   YUNEVEN   ZAX1_6    TAX1_4
              VARIABLE : L*1000 + K*100 + J[GY=YUNEVEN]*10 + I[GX=XUNEVEN]
                         regrid: on X
              FILENAME : bn_strides.cdf
@@ -26932,10 +26942,10 @@ LIST/order=x/j=1/k=1/l=1 UNEVENVAR[i=2:4:2]
 ! cache hit after changes to COMPLETE_MISSING_LIMS and FLESH_OUT_AXIS
 LIST/order=x/j=1/k=1/l=1 UNEVENVAR[i=2:4:2]
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:    1    4  J:    1    1  K:    1    1  L:    1    1
- allocate dynamic grid (G007)          (AX020)   YUNEVEN   ZAX1_6    TAX1_4
- found   UNE-NVAR M:  5 dset:   1 I:    1    2  J:    1    1  K:    1    1  L:    1    1
- dealloc  dynamic grid (G007)          (AX020)   YUNEVEN   ZAX1_6    TAX1_4
+ eval    EX#1     C:  5 dset:   1 I:      1      4  J:    1    1  K:    1    1  L:      1      1
+ allocate dynamic grid (G###)          (AX###)   YUNEVEN   ZAX1_6    TAX1_4
+ found   UNE-NVAR M:  5 dset:   1 I:      1      2  J:    1    1  K:    1    1  L:      1      1
+ dealloc  dynamic grid (G###)          (AX###)   YUNEVEN   ZAX1_6    TAX1_4
              VARIABLE : L*1000 + K*100 + J[GY=YUNEVEN]*10 + I[GX=XUNEVEN]
                         regrid: on X
              FILENAME : bn_strides.cdf
@@ -26949,25 +26959,25 @@ LIST/order=x/j=1/k=1/l=1 UNEVENVAR[i=2:4:2]
  
 ! cache hit through non-file variable
 let a = UNEVENVAR[i=2:4:2]
- dealloc  dynamic grid (G007)          (AX020)   YUNEVEN   ZAX1_6    TAX1_4
- -DELETE UNE-NVAR M:  5 dset:   1 I:    1    2  J:    1    1  K:    1    1  L:    1    1
- dealloc  dynamic grid (G006)          (AX021)   YAX1_30   ZAX1_20   TAX1_10
+ dealloc  dynamic grid (G###)          (AX###)   YUNEVEN   ZAX1_6    TAX1_4
+ -DELETE UNE-NVAR M:  5 dset:   1 I:      1      2  J:    1    1  K:    1    1  L:      1      1
+ dealloc  dynamic grid (G###)          (AX###)   YAX1_30   ZAX1_20   TAX1_10
 list/order=x/j=1/k=1/l=1 a
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid A        C:  7 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G006)          (AX020)   YUNEVEN   ZAX1_6    TAX1_4
- dealloc  dynamic grid (G006)          (AX020)   YUNEVEN   ZAX1_6    TAX1_4
- allocate dynamic grid (G006)          (AX020)   YUNEVEN   ZAX1_6    TAX1_4
- allocate dynamic grid (G006)          (AX020)   YUNEVEN   ZAX1_6    TAX1_4
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid A        C:  7 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G###)          (AX###)   YUNEVEN   ZAX1_6    TAX1_4
+ dealloc  dynamic grid (G###)          (AX###)   YUNEVEN   ZAX1_6    TAX1_4
+ allocate dynamic grid (G###)          (AX###)   YUNEVEN   ZAX1_6    TAX1_4
+ allocate dynamic grid (G###)          (AX###)   YUNEVEN   ZAX1_6    TAX1_4
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:    1    4  J:    1    1  K:    1    1  L:    1    1
- eval    A        C:  7 dset:   1 I:    1    2  J:    1    1  K:    1    1  L:    1    1
- allocate dynamic grid (G006)          (AX020)   YUNEVEN   ZAX1_6    TAX1_4
- strip regrid on X: UNEVENVAR --> (G006)           @XACT
- rdstride UNE-NVAR C: 10 dset:   1 I:    2    4  J:    1    1  K:    1    1  L:    1    1
- nulrgd  UNE-NVAR M:  6 dset:   1 I:    1    2  J:    1    1  K:    1    1  L:    1    1
- -DELETE UNE-NVAR M:  5 dset:   1 I:    2    4  J:    1    1  K:    1    1  L:    1    1
- dealloc  dynamic grid (G006)          (AX020)   YUNEVEN   ZAX1_6    TAX1_4
+ eval    EX#1     C:  5 dset:   1 I:      1      4  J:    1    1  K:    1    1  L:      1      1
+ eval    A        C:  7 dset:   1 I:      1      2  J:    1    1  K:    1    1  L:      1      1
+ allocate dynamic grid (G###)          (AX###)   YUNEVEN   ZAX1_6    TAX1_4
+ strip regrid on X: UNEVENVAR --> (G###)           @XACT
+ rdstride UNE-NVAR C: 10 dset:   1 I:      2      4  J:    1    1  K:    1    1  L:      1      1
+ nulrgd  UNE-NVAR M:  6 dset:   1 I:      1      2  J:    1    1  K:    1    1  L:      1      1
+ -DELETE UNE-NVAR M:  5 dset:   1 I:      2      4  J:    1    1  K:    1    1  L:      1      1
+ dealloc  dynamic grid (G###)          (AX###)   YUNEVEN   ZAX1_6    TAX1_4
              VARIABLE : UNEVENVAR[I=2:4:2]
              FILENAME : bn_strides.cdf
              SUBSET   : 2 points (X)
@@ -26979,8 +26989,8 @@ list/order=x/j=1/k=1/l=1 a
           1112.  1114.
 list/order=x/j=1/k=1/l=1 a		! from cache ...
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:    1    4  J:    1    1  K:    1    1  L:    1    1
- found   A        M:  5 dset:   1 I:    1    2  J:    1    1  K:    1    1  L:    1    1
+ eval    EX#1     C:  5 dset:   1 I:      1      4  J:    1    1  K:    1    1  L:      1      1
+ found   A        M:  5 dset:   1 I:      1      2  J:    1    1  K:    1    1  L:      1      1
              VARIABLE : UNEVENVAR[I=2:4:2]
              FILENAME : bn_strides.cdf
              SUBSET   : 2 points (X)
@@ -26993,29 +27003,29 @@ list/order=x/j=1/k=1/l=1 a		! from cache ...
  
 ! cache hit from full region cache -- bypass use of strides
 cancel memory/all
- -DELETE A        M:  5 dset:   1 I:    1    2  J:    1    1  K:    1    1  L:    1    1
- -DELETE UNE-NVAR M:  6 dset:   1 I:    1    2  J:    1    1  K:    1    1  L:    1    1
+ -DELETE A        M:  5 dset:   1 I:      1      2  J:    1    1  K:    1    1  L:      1      1
+ -DELETE UNE-NVAR M:  6 dset:   1 I:      1      2  J:    1    1  K:    1    1  L:      1      1
 load/k=1/l=1 UNEVENVAR
- dealloc  dynamic grid (G006)          (AX020)   YUNEVEN   ZAX1_6    TAX1_4
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ dealloc  dynamic grid (G###)          (AX###)   YUNEVEN   ZAX1_6    TAX1_4
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GPC4            XUNEVEN   YUNEVEN   ZAX1_6    TAX1_4
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:    1    4  J:    1    3  K:    1    1  L:    1    1
- reading UNE-NVAR M:  6 dset:   1 I:    1    4  J:    1    3  K:    1    1  L:    1    1
+ eval    EX#1     C:  5 dset:   1 I:      1      4  J:    1    3  K:    1    1  L:      1      1
+ reading UNE-NVAR M:  6 dset:   1 I:      1      4  J:    1    3  K:    1    1  L:      1      1
 LIST/j=1/k=1/l=1 UNEVENVAR[i=2:4:2]
  dealloc  dynamic grid GPC4            XUNEVEN   YUNEVEN   ZAX1_6    TAX1_4
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G006)          (AX020)   YUNEVEN   ZAX1_6    TAX1_4
- dealloc  dynamic grid (G006)          (AX020)   YUNEVEN   ZAX1_6    TAX1_4
- allocate dynamic grid (G006)          (AX020)   YUNEVEN   ZAX1_6    TAX1_4
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G###)          (AX###)   YUNEVEN   ZAX1_6    TAX1_4
+ dealloc  dynamic grid (G###)          (AX###)   YUNEVEN   ZAX1_6    TAX1_4
+ allocate dynamic grid (G###)          (AX###)   YUNEVEN   ZAX1_6    TAX1_4
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:    1    4  J:    1    1  K:    1    1  L:    1    1
- allocate dynamic grid (G006)          (AX020)   YUNEVEN   ZAX1_6    TAX1_4
- strip regrid on X: UNEVENVAR --> (G006)           @XACT
- rdstride UNE-NVAR C:  8 dset:   1 I:    2    4  J:    1    1  K:    1    1  L:    1    1
- nulrgd  UNE-NVAR M:  4 dset:   1 I:    1    2  J:    1    1  K:    1    1  L:    1    1
- -DELETE UNE-NVAR M:  5 dset:   1 I:    2    4  J:    1    1  K:    1    1  L:    1    1
- dealloc  dynamic grid (G006)          (AX020)   YUNEVEN   ZAX1_6    TAX1_4
+ eval    EX#1     C:  5 dset:   1 I:      1      4  J:    1    1  K:    1    1  L:      1      1
+ allocate dynamic grid (G###)          (AX###)   YUNEVEN   ZAX1_6    TAX1_4
+ strip regrid on X: UNEVENVAR --> (G###)           @XACT
+ rdstride UNE-NVAR C:  8 dset:   1 I:      2      4  J:    1    1  K:    1    1  L:      1      1
+ nulrgd  UNE-NVAR M:  4 dset:   1 I:      1      2  J:    1    1  K:    1    1  L:      1      1
+ -DELETE UNE-NVAR M:  5 dset:   1 I:      2      4  J:    1    1  K:    1    1  L:      1      1
+ dealloc  dynamic grid (G###)          (AX###)   YUNEVEN   ZAX1_6    TAX1_4
              VARIABLE : L*1000 + K*100 + J[GY=YUNEVEN]*10 + I[GX=XUNEVEN]
                         regrid: on X
              FILENAME : bn_strides.cdf
@@ -27028,19 +27038,19 @@ LIST/j=1/k=1/l=1 UNEVENVAR[i=2:4:2]
  0.3  / 1:  1112.
  0.6  / 2:  1114.
 LIST/j=1/k=1/l=1 UNEVENVAR[i=2:4:2,j=1:5:2]
- dealloc  dynamic grid (G006)          (AX020)   YUNEVEN   ZAX1_6    TAX1_4
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G007)          (AX020)   (AX022)   ZAX1_6    TAX1_4
- dealloc  dynamic grid (G007)          (AX020)   (AX022)   ZAX1_6    TAX1_4
- allocate dynamic grid (G007)          (AX020)   (AX022)   ZAX1_6    TAX1_4
+ dealloc  dynamic grid (G###)          (AX###)   YUNEVEN   ZAX1_6    TAX1_4
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G###)          (AX###)   (AX###)   ZAX1_6    TAX1_4
+ dealloc  dynamic grid (G###)          (AX###)   (AX###)   ZAX1_6    TAX1_4
+ allocate dynamic grid (G###)          (AX###)   (AX###)   ZAX1_6    TAX1_4
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:    1    4  J:    1    1  K:    1    1  L:    1    1
- allocate dynamic grid (G007)          (AX020)   (AX022)   ZAX1_6    TAX1_4
- strip regrid on X: UNEVENVAR --> (G007)           @XACT
- rdstride UNE-NVAR C:  8 dset:   1 I:    2    4  J:    1    5  K:    1    1  L:    1    1
- nulrgd  UNE-NVAR M:  3 dset:   1 I:    1    2  J:    1    3  K:    1    1  L:    1    1
- -DELETE UNE-NVAR M:  5 dset:   1 I:    2    4  J:    1    5  K:    1    1  L:    1    1
- dealloc  dynamic grid (G007)          (AX020)   (AX022)   ZAX1_6    TAX1_4
+ eval    EX#1     C:  5 dset:   1 I:      1      4  J:    1    1  K:    1    1  L:      1      1
+ allocate dynamic grid (G###)          (AX###)   (AX###)   ZAX1_6    TAX1_4
+ strip regrid on X: UNEVENVAR --> (G###)           @XACT
+ rdstride UNE-NVAR C:  8 dset:   1 I:      2      4  J:    1    5  K:    1    1  L:      1      1
+ nulrgd  UNE-NVAR M:  3 dset:   1 I:      1      2  J:    1    3  K:    1    1  L:      1      1
+ -DELETE UNE-NVAR M:  5 dset:   1 I:      2      4  J:    1    5  K:    1    1  L:      1      1
+ dealloc  dynamic grid (G###)          (AX###)   (AX###)   ZAX1_6    TAX1_4
  doing limits reconciliation on Y axis: UNEVENVAR
              VARIABLE : L*1000 + K*100 + J[GY=YUNEVEN]*10 + I[GX=XUNEVEN]
                         regrid: on X, on Y
@@ -27053,28 +27063,28 @@ LIST/j=1/k=1/l=1 UNEVENVAR[i=2:4:2,j=1:5:2]
               1
  0.3  / 1:  1112.
  0.6  / 2:  1114.
- -DELETE UNE-NVAR M:  5 dset:   1 I:    1    1  J:    1    2  K:    1    1  L:    1    1
+ -DELETE UNE-NVAR M:  5 dset:   1 I:      1      1  J:    1    2  K:    1    1  L:      1      1
 CANC MEM/ALL
- -DELETE UNE-NVAR M:  3 dset:   1 I:    1    2  J:    1    3  K:    1    1  L:    1    1
- -DELETE UNE-NVAR M:  4 dset:   1 I:    1    2  J:    1    1  K:    1    1  L:    1    1
- -DELETE UNE-NVAR M:  6 dset:   1 I:    1    4  J:    1    3  K:    1    1  L:    1    1
+ -DELETE UNE-NVAR M:  3 dset:   1 I:      1      2  J:    1    3  K:    1    1  L:      1      1
+ -DELETE UNE-NVAR M:  4 dset:   1 I:      1      2  J:    1    1  K:    1    1  L:      1      1
+ -DELETE UNE-NVAR M:  6 dset:   1 I:      1      4  J:    1    3  K:    1    1  L:      1      1
  
 ! modulo requests cannot use strides (as this example shows)
 set axis/modulo XUNEVEN
 LIST/order=x UNEVENVAR[I=1:30:7,j=1,k=1,l=1]    ! 1, 8, 15(5), 22(2)
- dealloc  dynamic grid (G007)          (AX020)   (AX022)   ZAX1_6    TAX1_4
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G007)          (AX021)   YUNEVEN   ZAX1_6    TAX1_4
- dealloc  dynamic grid (G007)          (AX021)   YUNEVEN   ZAX1_6    TAX1_4
- allocate dynamic grid (G007)          (AX021)   YUNEVEN   ZAX1_6    TAX1_4
- eval    EX#1     C:  4 dset:   1 I:    1    4  J:    1    3  K: -999 -999  L:    1    2
- allocate dynamic grid (G007)          (AX021)   YUNEVEN   ZAX1_6    TAX1_4
- strip regrid on X: UNEVENVAR --> (G007)           @XACT
- strip moduloing UNEVENVAR on X axis:     1    29 dset:   1
- reading UNE-NVAR M:  6 dset:   1 I:    1   10  J:    1    1  K:    1    1  L:    1    1
- doing moduloing UNEVENVAR on X axis:     1    10 dset:   1
- regrid  UNE-NVAR M:  3 dset:   1 I:    1    5  J:    1    1  K:    1    1  L:    1    1
- dealloc  dynamic grid (G007)          (AX021)   YUNEVEN   ZAX1_6    TAX1_4
+ dealloc  dynamic grid (G###)          (AX###)   (AX###)   ZAX1_6    TAX1_4
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G###)          (AX###)   YUNEVEN   ZAX1_6    TAX1_4
+ dealloc  dynamic grid (G###)          (AX###)   YUNEVEN   ZAX1_6    TAX1_4
+ allocate dynamic grid (G###)          (AX###)   YUNEVEN   ZAX1_6    TAX1_4
+ eval    EX#1     C:  4 dset:   1 I:      1      4  J:    1    3  K: -999 -999  L:      1      2
+ allocate dynamic grid (G###)          (AX###)   YUNEVEN   ZAX1_6    TAX1_4
+ strip regrid on X: UNEVENVAR --> (G###)           @XACT
+ strip moduloing UNEVENVAR on X axis:        1       29 dset:   1
+ reading UNE-NVAR M:  6 dset:   1 I:      1     10  J:    1    1  K:    1    1  L:      1      1
+ doing moduloing UNEVENVAR on X axis:        1       10 dset:   1
+ regrid  UNE-NVAR M:  3 dset:   1 I:      1      5  J:    1    1  K:    1    1  L:      1      1
+ dealloc  dynamic grid (G###)          (AX###)   YUNEVEN   ZAX1_6    TAX1_4
              VARIABLE : L*1000 + K*100 + J[GY=YUNEVEN]*10 + I[GX=XUNEVEN]
                         regrid: on X
              FILENAME : bn_strides.cdf
@@ -27086,25 +27096,25 @@ LIST/order=x UNEVENVAR[I=1:30:7,j=1,k=1,l=1]    ! 1, 8, 15(5), 22(2)
             1      2      3      4      5
           1111.  1118.  1115.  1112.  1119.
 cancel axis/modulo XUNEVEN
- -DELETE UNE-NVAR M:  3 dset:   1 I:    1    5  J:    1    1  K:    1    1  L:    1    1
- -DELETE UNE-NVAR M:  4 dset:   1 I:    1   29  J:    1    1  K:    1    1  L:    1    1
- -DELETE UNE-NVAR M:  6 dset:   1 I:    1   10  J:    1    1  K:    1    1  L:    1    1
+ -DELETE UNE-NVAR M:  3 dset:   1 I:      1      5  J:    1    1  K:    1    1  L:      1      1
+ -DELETE UNE-NVAR M:  4 dset:   1 I:      1     29  J:    1    1  K:    1    1  L:      1      1
+ -DELETE UNE-NVAR M:  6 dset:   1 I:      1     10  J:    1    1  K:    1    1  L:      1      1
  
 ! strides applied to more than one axis need special attention in IS_REGRID
 LIST/k=1/l=1 UNEVENVAR[i=2:4:2,j=1:3:2]
- dealloc  dynamic grid (G007)          (AX021)   YUNEVEN   ZAX1_6    TAX1_4
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G007)          (AX020)   (AX022)   ZAX1_6    TAX1_4
- dealloc  dynamic grid (G007)          (AX020)   (AX022)   ZAX1_6    TAX1_4
- allocate dynamic grid (G007)          (AX020)   (AX022)   ZAX1_6    TAX1_4
+ dealloc  dynamic grid (G###)          (AX###)   YUNEVEN   ZAX1_6    TAX1_4
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G###)          (AX###)   (AX###)   ZAX1_6    TAX1_4
+ dealloc  dynamic grid (G###)          (AX###)   (AX###)   ZAX1_6    TAX1_4
+ allocate dynamic grid (G###)          (AX###)   (AX###)   ZAX1_6    TAX1_4
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:    1    4  J:    1    3  K:    1    1  L:    1    1
- allocate dynamic grid (G007)          (AX020)   (AX022)   ZAX1_6    TAX1_4
- strip regrid on X: UNEVENVAR --> (G007)           @XACT
- rdstride UNE-NVAR C:  8 dset:   1 I:    2    4  J:    1    3  K:    1    1  L:    1    1
- nulrgd  UNE-NVAR M:  4 dset:   1 I:    1    2  J:    1    2  K:    1    1  L:    1    1
- -DELETE UNE-NVAR M:  6 dset:   1 I:    2    4  J:    1    3  K:    1    1  L:    1    1
- dealloc  dynamic grid (G007)          (AX020)   (AX022)   ZAX1_6    TAX1_4
+ eval    EX#1     C:  5 dset:   1 I:      1      4  J:    1    3  K:    1    1  L:      1      1
+ allocate dynamic grid (G###)          (AX###)   (AX###)   ZAX1_6    TAX1_4
+ strip regrid on X: UNEVENVAR --> (G###)           @XACT
+ rdstride UNE-NVAR C:  8 dset:   1 I:      2      4  J:    1    3  K:    1    1  L:      1      1
+ nulrgd  UNE-NVAR M:  4 dset:   1 I:      1      2  J:    1    2  K:    1    1  L:      1      1
+ -DELETE UNE-NVAR M:  6 dset:   1 I:      2      4  J:    1    3  K:    1    1  L:      1      1
+ dealloc  dynamic grid (G###)          (AX###)   (AX###)   ZAX1_6    TAX1_4
              VARIABLE : L*1000 + K*100 + J[GY=YUNEVEN]*10 + I[GX=XUNEVEN]
                         regrid: on X, on Y
              FILENAME : bn_strides.cdf
@@ -27116,20 +27126,20 @@ LIST/k=1/l=1 UNEVENVAR[i=2:4:2,j=1:3:2]
  0    / 1:  1112.  1114.
  0.95 / 2:  1132.  1134.
 LIST/k=1/l=1 UNEVENVAR[i=2:6:2,j=1:5:2]
- dealloc  dynamic grid (G007)          (AX020)   (AX022)   ZAX1_6    TAX1_4
- -DELETE UNE-NVAR M:  4 dset:   1 I:    1    2  J:    1    2  K:    1    1  L:    1    1
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G007)          (AX021)   (AX023)   ZAX1_6    TAX1_4
- dealloc  dynamic grid (G007)          (AX021)   (AX023)   ZAX1_6    TAX1_4
- allocate dynamic grid (G007)          (AX021)   (AX023)   ZAX1_6    TAX1_4
+ dealloc  dynamic grid (G###)          (AX###)   (AX###)   ZAX1_6    TAX1_4
+ -DELETE UNE-NVAR M:  4 dset:   1 I:      1      2  J:    1    2  K:    1    1  L:      1      1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G###)          (AX###)   (AX###)   ZAX1_6    TAX1_4
+ dealloc  dynamic grid (G###)          (AX###)   (AX###)   ZAX1_6    TAX1_4
+ allocate dynamic grid (G###)          (AX###)   (AX###)   ZAX1_6    TAX1_4
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:    1    4  J:    1    3  K:    1    1  L:    1    1
- allocate dynamic grid (G007)          (AX021)   (AX023)   ZAX1_6    TAX1_4
- strip regrid on X: UNEVENVAR --> (G007)           @XACT
- rdstride UNE-NVAR C:  8 dset:   1 I:    2    6  J:    1    5  K:    1    1  L:    1    1
- nulrgd  UNE-NVAR M:  6 dset:   1 I:    1    3  J:    1    3  K:    1    1  L:    1    1
- -DELETE UNE-NVAR M:  4 dset:   1 I:    2    6  J:    1    5  K:    1    1  L:    1    1
- dealloc  dynamic grid (G007)          (AX021)   (AX023)   ZAX1_6    TAX1_4
+ eval    EX#1     C:  5 dset:   1 I:      1      4  J:    1    3  K:    1    1  L:      1      1
+ allocate dynamic grid (G###)          (AX###)   (AX###)   ZAX1_6    TAX1_4
+ strip regrid on X: UNEVENVAR --> (G###)           @XACT
+ rdstride UNE-NVAR C:  8 dset:   1 I:      2      6  J:    1    5  K:    1    1  L:      1      1
+ nulrgd  UNE-NVAR M:  6 dset:   1 I:      1      3  J:    1    3  K:    1    1  L:      1      1
+ -DELETE UNE-NVAR M:  4 dset:   1 I:      2      6  J:    1    5  K:    1    1  L:      1      1
+ dealloc  dynamic grid (G###)          (AX###)   (AX###)   ZAX1_6    TAX1_4
              VARIABLE : L*1000 + K*100 + J[GY=YUNEVEN]*10 + I[GX=XUNEVEN]
                         regrid: on X, on Y
              FILENAME : bn_strides.cdf
@@ -27144,19 +27154,19 @@ LIST/k=1/l=1 UNEVENVAR[i=2:6:2,j=1:5:2]
  
 ! averaging causes bypass of strides
 LIST/j=1/k=1/l=1/precision=9 UNEVENVAR[i=2:8:2 at ave]
- dealloc  dynamic grid (G007)          (AX021)   (AX023)   ZAX1_6    TAX1_4
- -DELETE UNE-NVAR M:  6 dset:   1 I:    1    3  J:    1    3  K:    1    1  L:    1    1
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G007)          (AX021)   YUNEVEN   ZAX1_6    TAX1_4
- dealloc  dynamic grid (G007)          (AX021)   YUNEVEN   ZAX1_6    TAX1_4
- allocate dynamic grid (G007)          (AX021)   YUNEVEN   ZAX1_6    TAX1_4
+ dealloc  dynamic grid (G###)          (AX###)   (AX###)   ZAX1_6    TAX1_4
+ -DELETE UNE-NVAR M:  6 dset:   1 I:      1      3  J:    1    3  K:    1    1  L:      1      1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G###)          (AX###)   YUNEVEN   ZAX1_6    TAX1_4
+ dealloc  dynamic grid (G###)          (AX###)   YUNEVEN   ZAX1_6    TAX1_4
+ allocate dynamic grid (G###)          (AX###)   YUNEVEN   ZAX1_6    TAX1_4
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:    1    4  J:    1    1  K:    1    1  L:    1    1
- allocate dynamic grid (G007)          (AX021)   YUNEVEN   ZAX1_6    TAX1_4
- strip regrid on X: UNEVENVAR --> (G007)           @AVE
- reading UNE-NVAR M:  6 dset:   1 I:    1    9  J:    1    1  K:    1    1  L:    1    1
- regrid  UNE-NVAR M:  4 dset:   1 I:    1    4  J:    1    1  K:    1    1  L:    1    1
- dealloc  dynamic grid (G007)          (AX021)   YUNEVEN   ZAX1_6    TAX1_4
+ eval    EX#1     C:  5 dset:   1 I:      1      4  J:    1    1  K:    1    1  L:      1      1
+ allocate dynamic grid (G###)          (AX###)   YUNEVEN   ZAX1_6    TAX1_4
+ strip regrid on X: UNEVENVAR --> (G###)           @AVE
+ reading UNE-NVAR M:  6 dset:   1 I:      1      9  J:    1    1  K:    1    1  L:      1      1
+ regrid  UNE-NVAR M:  4 dset:   1 I:      1      4  J:    1    1  K:    1    1  L:      1      1
+ dealloc  dynamic grid (G###)          (AX###)   YUNEVEN   ZAX1_6    TAX1_4
              VARIABLE : L*1000 + K*100 + J[GY=YUNEVEN]*10 + I[GX=XUNEVEN]
                         regrid: on X at AVE
              FILENAME : bn_strides.cdf
@@ -27171,20 +27181,20 @@ LIST/j=1/k=1/l=1/precision=9 UNEVENVAR[i=2:8:2 at ave]
  0.78 / 3:  1115.87072
  0.9  / 4:  1117.90449
 LIST/j=1/k=1/l=1/precision=9 UNEVENVAR[i=2:8:2]		! for comparison
- dealloc  dynamic grid (G007)          (AX021)   YUNEVEN   ZAX1_6    TAX1_4
- -DELETE UNE-NVAR M:  4 dset:   1 I:    1    4  J:    1    1  K:    1    1  L:    1    1
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G007)          (AX023)   YUNEVEN   ZAX1_6    TAX1_4
- dealloc  dynamic grid (G007)          (AX023)   YUNEVEN   ZAX1_6    TAX1_4
- allocate dynamic grid (G007)          (AX023)   YUNEVEN   ZAX1_6    TAX1_4
+ dealloc  dynamic grid (G###)          (AX###)   YUNEVEN   ZAX1_6    TAX1_4
+ -DELETE UNE-NVAR M:  4 dset:   1 I:      1      4  J:    1    1  K:    1    1  L:      1      1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G###)          (AX###)   YUNEVEN   ZAX1_6    TAX1_4
+ dealloc  dynamic grid (G###)          (AX###)   YUNEVEN   ZAX1_6    TAX1_4
+ allocate dynamic grid (G###)          (AX###)   YUNEVEN   ZAX1_6    TAX1_4
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:    1    4  J:    1    1  K:    1    1  L:    1    1
- allocate dynamic grid (G007)          (AX023)   YUNEVEN   ZAX1_6    TAX1_4
- strip regrid on X: UNEVENVAR --> (G007)           @XACT
- rdstride UNE-NVAR C:  8 dset:   1 I:    2    8  J:    1    1  K:    1    1  L:    1    1
- nulrgd  UNE-NVAR M:  3 dset:   1 I:    1    4  J:    1    1  K:    1    1  L:    1    1
- -DELETE UNE-NVAR M:  4 dset:   1 I:    2    8  J:    1    1  K:    1    1  L:    1    1
- dealloc  dynamic grid (G007)          (AX023)   YUNEVEN   ZAX1_6    TAX1_4
+ eval    EX#1     C:  5 dset:   1 I:      1      4  J:    1    1  K:    1    1  L:      1      1
+ allocate dynamic grid (G###)          (AX###)   YUNEVEN   ZAX1_6    TAX1_4
+ strip regrid on X: UNEVENVAR --> (G###)           @XACT
+ rdstride UNE-NVAR C:  8 dset:   1 I:      2      8  J:    1    1  K:    1    1  L:      1      1
+ nulrgd  UNE-NVAR M:  3 dset:   1 I:      1      4  J:    1    1  K:    1    1  L:      1      1
+ -DELETE UNE-NVAR M:  4 dset:   1 I:      2      8  J:    1    1  K:    1    1  L:      1      1
+ dealloc  dynamic grid (G###)          (AX###)   YUNEVEN   ZAX1_6    TAX1_4
              VARIABLE : L*1000 + K*100 + J[GY=YUNEVEN]*10 + I[GX=XUNEVEN]
                         regrid: on X
              FILENAME : bn_strides.cdf
@@ -27201,19 +27211,19 @@ LIST/j=1/k=1/l=1/precision=9 UNEVENVAR[i=2:8:2]		! for comparison
  
 ! test special logic in tm_world_recur for endpoints of strides on irreg axis
 LIST/j=1/k=1/l=1/precision=9 UNEVENVAR[i=1:10:2 at ave]
- dealloc  dynamic grid (G007)          (AX023)   YUNEVEN   ZAX1_6    TAX1_4
- -DELETE UNE-NVAR M:  3 dset:   1 I:    1    4  J:    1    1  K:    1    1  L:    1    1
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G007)          (AX021)   YUNEVEN   ZAX1_6    TAX1_4
- dealloc  dynamic grid (G007)          (AX021)   YUNEVEN   ZAX1_6    TAX1_4
- allocate dynamic grid (G007)          (AX021)   YUNEVEN   ZAX1_6    TAX1_4
+ dealloc  dynamic grid (G###)          (AX###)   YUNEVEN   ZAX1_6    TAX1_4
+ -DELETE UNE-NVAR M:  3 dset:   1 I:      1      4  J:    1    1  K:    1    1  L:      1      1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G###)          (AX###)   YUNEVEN   ZAX1_6    TAX1_4
+ dealloc  dynamic grid (G###)          (AX###)   YUNEVEN   ZAX1_6    TAX1_4
+ allocate dynamic grid (G###)          (AX###)   YUNEVEN   ZAX1_6    TAX1_4
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:    1    4  J:    1    1  K:    1    1  L:    1    1
- allocate dynamic grid (G007)          (AX021)   YUNEVEN   ZAX1_6    TAX1_4
- strip regrid on X: UNEVENVAR --> (G007)           @AVE
- reading UNE-NVAR M:  3 dset:   1 I:    1   10  J:    1    1  K:    1    1  L:    1    1
- regrid  UNE-NVAR M:  4 dset:   1 I:    1    5  J:    1    1  K:    1    1  L:    1    1
- dealloc  dynamic grid (G007)          (AX021)   YUNEVEN   ZAX1_6    TAX1_4
+ eval    EX#1     C:  5 dset:   1 I:      1      4  J:    1    1  K:    1    1  L:      1      1
+ allocate dynamic grid (G###)          (AX###)   YUNEVEN   ZAX1_6    TAX1_4
+ strip regrid on X: UNEVENVAR --> (G###)           @AVE
+ reading UNE-NVAR M:  3 dset:   1 I:      1     10  J:    1    1  K:    1    1  L:      1      1
+ regrid  UNE-NVAR M:  4 dset:   1 I:      1      5  J:    1    1  K:    1    1  L:      1      1
+ dealloc  dynamic grid (G###)          (AX###)   YUNEVEN   ZAX1_6    TAX1_4
              VARIABLE : L*1000 + K*100 + J[GY=YUNEVEN]*10 + I[GX=XUNEVEN]
                         regrid: on X at AVE
              FILENAME : bn_strides.cdf
@@ -27236,19 +27246,19 @@ set region/i=3:6/j=2:4/k=1:2/l=1
  
 use/order=yx bn_strides
 list bigvar[i=3:9:2]
- dealloc  dynamic grid (G007)          (AX021)   YUNEVEN   ZAX1_6    TAX1_4
- -DELETE UNE-NVAR M:  4 dset:   1 I:    1    5  J:    1    1  K:    1    1  L:    1    1
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G007)          (AX023)   YAX1_30   ZAX1_20   TAX1_10
- dealloc  dynamic grid (G007)          (AX023)   YAX1_30   ZAX1_20   TAX1_10
- allocate dynamic grid (G007)          (AX023)   YAX1_30   ZAX1_20   TAX1_10
- eval    EX#1     C:  4 dset:   1 I:    3    6  J:    2    4  K:    1    2  L:    1    1
- allocate dynamic grid (G007)          (AX023)   YAX1_30   ZAX1_20   TAX1_10
- strip regrid on X: BIGVAR --> (G007)           @XACT
- rdstride BIGVAR   C:  7 dset:   1 I:    3    9  J:    2    4  K:    1    2  L:    1    1
- nulrgd  BIGVAR   M:  5 dset:   1 I:    1    4  J:    2    4  K:    1    2  L:    1    1
- -DELETE BIGVAR   M:  4 dset:   1 I:    3    9  J:    2    4  K:    1    2  L:    1    1
- dealloc  dynamic grid (G007)          (AX023)   YAX1_30   ZAX1_20   TAX1_10
+ dealloc  dynamic grid (G###)          (AX###)   YUNEVEN   ZAX1_6    TAX1_4
+ -DELETE UNE-NVAR M:  4 dset:   1 I:      1      5  J:    1    1  K:    1    1  L:      1      1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G###)          (AX###)   YAX1_30   ZAX1_20   TAX1_10
+ dealloc  dynamic grid (G###)          (AX###)   YAX1_30   ZAX1_20   TAX1_10
+ allocate dynamic grid (G###)          (AX###)   YAX1_30   ZAX1_20   TAX1_10
+ eval    EX#1     C:  4 dset:   1 I:      3      6  J:    2    4  K:    1    2  L:      1      1
+ allocate dynamic grid (G###)          (AX###)   YAX1_30   ZAX1_20   TAX1_10
+ strip regrid on X: BIGVAR --> (G###)           @XACT
+ rdstride BIGVAR   C:  7 dset:   1 I:      3      9  J:    2    4  K:    1    2  L:      1      1
+ nulrgd  BIGVAR   M:  5 dset:   1 I:      1      4  J:    2    4  K:    1    2  L:      1      1
+ -DELETE BIGVAR   M:  4 dset:   1 I:      3      9  J:    2    4  K:    1    2  L:      1      1
+ dealloc  dynamic grid (G###)          (AX###)   YAX1_30   ZAX1_20   TAX1_10
              VARIABLE : VAR
                         regrid: 2 delta on X
              FILENAME : bn_strides.cdf
@@ -27265,19 +27275,19 @@ list bigvar[i=3:9:2]
  3   / 3:  1233.  1235.  1237.  1239.
  4   / 4:  1243.  1245.  1247.  1249.
 list bigvar[j=2:6:2]
- dealloc  dynamic grid (G007)          (AX023)   YAX1_30   ZAX1_20   TAX1_10
- -DELETE BIGVAR   M:  5 dset:   1 I:    1    4  J:    2    4  K:    1    2  L:    1    1
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G007)          XAX1_40   (AX021)   ZAX1_20   TAX1_10
- dealloc  dynamic grid (G007)          XAX1_40   (AX021)   ZAX1_20   TAX1_10
- allocate dynamic grid (G007)          XAX1_40   (AX021)   ZAX1_20   TAX1_10
- eval    EX#1     C:  4 dset:   1 I:    3    6  J:    2    4  K:    1    2  L:    1    1
- allocate dynamic grid (G007)          XAX1_40   (AX021)   ZAX1_20   TAX1_10
- strip regrid on Y: BIGVAR --> (G007)           @XACT
- rdstride BIGVAR   C:  7 dset:   1 I:    3    6  J:    2    6  K:    1    2  L:    1    1
- nulrgd  BIGVAR   M:  4 dset:   1 I:    3    6  J:    1    3  K:    1    2  L:    1    1
- -DELETE BIGVAR   M:  5 dset:   1 I:    3    6  J:    2    6  K:    1    2  L:    1    1
- dealloc  dynamic grid (G007)          XAX1_40   (AX021)   ZAX1_20   TAX1_10
+ dealloc  dynamic grid (G###)          (AX###)   YAX1_30   ZAX1_20   TAX1_10
+ -DELETE BIGVAR   M:  5 dset:   1 I:      1      4  J:    2    4  K:    1    2  L:      1      1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G###)          XAX1_40   (AX###)   ZAX1_20   TAX1_10
+ dealloc  dynamic grid (G###)          XAX1_40   (AX###)   ZAX1_20   TAX1_10
+ allocate dynamic grid (G###)          XAX1_40   (AX###)   ZAX1_20   TAX1_10
+ eval    EX#1     C:  4 dset:   1 I:      3      6  J:    2    4  K:    1    2  L:      1      1
+ allocate dynamic grid (G###)          XAX1_40   (AX###)   ZAX1_20   TAX1_10
+ strip regrid on Y: BIGVAR --> (G###)           @XACT
+ rdstride BIGVAR   C:  7 dset:   1 I:      3      6  J:    2    6  K:    1    2  L:      1      1
+ nulrgd  BIGVAR   M:  4 dset:   1 I:      3      6  J:    1    3  K:    1    2  L:      1      1
+ -DELETE BIGVAR   M:  5 dset:   1 I:      3      6  J:    2    6  K:    1    2  L:      1      1
+ dealloc  dynamic grid (G###)          XAX1_40   (AX###)   ZAX1_20   TAX1_10
              VARIABLE : VAR
                         regrid: 2 delta on Y
              FILENAME : bn_strides.cdf
@@ -27294,19 +27304,19 @@ list bigvar[j=2:6:2]
  4   / 2:  1243.  1244.  1245.  1246.
  6   / 3:  1263.  1264.  1265.  1266.
 list bigvar[i=3:9:2, j=2:6:2, k=1:3:2]
- dealloc  dynamic grid (G007)          XAX1_40   (AX021)   ZAX1_20   TAX1_10
- -DELETE BIGVAR   M:  4 dset:   1 I:    3    6  J:    1    3  K:    1    2  L:    1    1
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G007)          (AX023)   (AX022)   (AX024)   TAX1_10
- dealloc  dynamic grid (G007)          (AX023)   (AX022)   (AX024)   TAX1_10
- allocate dynamic grid (G007)          (AX023)   (AX022)   (AX024)   TAX1_10
- eval    EX#1     C:  4 dset:   1 I:    3    6  J:    2    4  K:    1    2  L:    1    1
- allocate dynamic grid (G007)          (AX023)   (AX022)   (AX024)   TAX1_10
- strip regrid on X: BIGVAR --> (G007)           @XACT
- rdstride BIGVAR   C:  7 dset:   1 I:    3    9  J:    2    6  K:    1    3  L:    1    1
- nulrgd  BIGVAR   M:  5 dset:   1 I:    1    4  J:    1    3  K:    1    2  L:    1    1
- -DELETE BIGVAR   M:  4 dset:   1 I:    3    9  J:    2    6  K:    1    3  L:    1    1
- dealloc  dynamic grid (G007)          (AX023)   (AX022)   (AX024)   TAX1_10
+ dealloc  dynamic grid (G###)          XAX1_40   (AX###)   ZAX1_20   TAX1_10
+ -DELETE BIGVAR   M:  4 dset:   1 I:      3      6  J:    1    3  K:    1    2  L:      1      1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G###)          (AX###)   (AX###)   (AX###)   TAX1_10
+ dealloc  dynamic grid (G###)          (AX###)   (AX###)   (AX###)   TAX1_10
+ allocate dynamic grid (G###)          (AX###)   (AX###)   (AX###)   TAX1_10
+ eval    EX#1     C:  4 dset:   1 I:      3      6  J:    2    4  K:    1    2  L:      1      1
+ allocate dynamic grid (G###)          (AX###)   (AX###)   (AX###)   TAX1_10
+ strip regrid on X: BIGVAR --> (G###)           @XACT
+ rdstride BIGVAR   C:  7 dset:   1 I:      3      9  J:    2    6  K:    1    3  L:      1      1
+ nulrgd  BIGVAR   M:  5 dset:   1 I:      1      4  J:    1    3  K:    1    2  L:      1      1
+ -DELETE BIGVAR   M:  4 dset:   1 I:      3      9  J:    2    6  K:    1    3  L:      1      1
+ dealloc  dynamic grid (G###)          (AX###)   (AX###)   (AX###)   TAX1_10
              VARIABLE : VAR
                         regrid: 2 delta on X, 2 delta on Y, 2 delta on Z
              FILENAME : bn_strides.cdf
@@ -27323,26 +27333,26 @@ list bigvar[i=3:9:2, j=2:6:2, k=1:3:2]
  4   / 2:  1343.  1345.  1347.  1349.
  6   / 3:  1363.  1365.  1367.  1369.
 canc data/all
- dealloc  dynamic grid (G007)          (AX023)   (AX022)   (AX024)   TAX1_10
- -DELETE BIGVAR   M:  5 dset:   1 I:    1    4  J:    1    3  K:    1    2  L:    1    1
- dealloc  dynamic grid (G006)          (AX020)   YUNEVEN   ZAX1_6    TAX1_4
+ dealloc  dynamic grid (G###)          (AX###)   (AX###)   (AX###)   TAX1_10
+ -DELETE BIGVAR   M:  5 dset:   1 I:      1      4  J:    1    3  K:    1    2  L:      1      1
+ dealloc  dynamic grid (G###)          (AX###)   YUNEVEN   ZAX1_6    TAX1_4
  canceling dset ./bn_strides.cdf
- -DELETE UNE-NVAR M:  3 dset:   1 I:    1   10  J:    1    1  K:    1    1  L:    1    1
- -DELETE UNE-NVAR M:  6 dset:   1 I:    1    9  J:    1    1  K:    1    1  L:    1    1
+ -DELETE UNE-NVAR M:  3 dset:   1 I:      1     10  J:    1    1  K:    1    1  L:      1      1
+ -DELETE UNE-NVAR M:  6 dset:   1 I:      1      9  J:    1    1  K:    1    1  L:      1      1
  
 use/order=zyx bn_strides
 list bigvar[i=3:9:2]
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G006)          (AX024)   YAX1_30   XAX1_40   TAX1_10
- dealloc  dynamic grid (G006)          (AX024)   YAX1_30   XAX1_40   TAX1_10
- allocate dynamic grid (G006)          (AX024)   YAX1_30   XAX1_40   TAX1_10
- eval    EX#1     C:  4 dset:   1 I:    3    6  J:    2    4  K:    1    2  L:    1    1
- allocate dynamic grid (G006)          (AX024)   YAX1_30   XAX1_40   TAX1_10
- strip regrid on X: BIGVAR --> (G006)           @XACT
- rdstride BIGVAR   C:  7 dset:   1 I:    3    9  J:    2    4  K:    1    2  L:    1    1
- nulrgd  BIGVAR   M:  3 dset:   1 I:    1    4  J:    2    4  K:    1    2  L:    1    1
- -DELETE BIGVAR   M:  6 dset:   1 I:    3    9  J:    2    4  K:    1    2  L:    1    1
- dealloc  dynamic grid (G006)          (AX024)   YAX1_30   XAX1_40   TAX1_10
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G###)          (AX###)   YAX1_30   XAX1_40   TAX1_10
+ dealloc  dynamic grid (G###)          (AX###)   YAX1_30   XAX1_40   TAX1_10
+ allocate dynamic grid (G###)          (AX###)   YAX1_30   XAX1_40   TAX1_10
+ eval    EX#1     C:  4 dset:   1 I:      3      6  J:    2    4  K:    1    2  L:      1      1
+ allocate dynamic grid (G###)          (AX###)   YAX1_30   XAX1_40   TAX1_10
+ strip regrid on X: BIGVAR --> (G###)           @XACT
+ rdstride BIGVAR   C:  7 dset:   1 I:      3      9  J:    2    4  K:    1    2  L:      1      1
+ nulrgd  BIGVAR   M:  3 dset:   1 I:      1      4  J:    2    4  K:    1    2  L:      1      1
+ -DELETE BIGVAR   M:  6 dset:   1 I:      3      9  J:    2    4  K:    1    2  L:      1      1
+ dealloc  dynamic grid (G###)          (AX###)   YAX1_30   XAX1_40   TAX1_10
              VARIABLE : VAR
                         regrid: 2 delta on X
              FILENAME : bn_strides.cdf
@@ -27359,19 +27369,19 @@ list bigvar[i=3:9:2]
  3   / 3:  1332.  1532.  1732.  1932.
  4   / 4:  1342.  1542.  1742.  1942.
 list bigvar[j=2:6:2]
- dealloc  dynamic grid (G006)          (AX024)   YAX1_30   XAX1_40   TAX1_10
- -DELETE BIGVAR   M:  3 dset:   1 I:    1    4  J:    2    4  K:    1    2  L:    1    1
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G006)          ZAX1_20   (AX020)   XAX1_40   TAX1_10
- dealloc  dynamic grid (G006)          ZAX1_20   (AX020)   XAX1_40   TAX1_10
- allocate dynamic grid (G006)          ZAX1_20   (AX020)   XAX1_40   TAX1_10
- eval    EX#1     C:  4 dset:   1 I:    3    6  J:    2    4  K:    1    2  L:    1    1
- allocate dynamic grid (G006)          ZAX1_20   (AX020)   XAX1_40   TAX1_10
- strip regrid on Y: BIGVAR --> (G006)           @XACT
- rdstride BIGVAR   C:  7 dset:   1 I:    3    6  J:    2    6  K:    1    2  L:    1    1
- nulrgd  BIGVAR   M:  6 dset:   1 I:    3    6  J:    1    3  K:    1    2  L:    1    1
- -DELETE BIGVAR   M:  3 dset:   1 I:    3    6  J:    2    6  K:    1    2  L:    1    1
- dealloc  dynamic grid (G006)          ZAX1_20   (AX020)   XAX1_40   TAX1_10
+ dealloc  dynamic grid (G###)          (AX###)   YAX1_30   XAX1_40   TAX1_10
+ -DELETE BIGVAR   M:  3 dset:   1 I:      1      4  J:    2    4  K:    1    2  L:      1      1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G###)          ZAX1_20   (AX###)   XAX1_40   TAX1_10
+ dealloc  dynamic grid (G###)          ZAX1_20   (AX###)   XAX1_40   TAX1_10
+ allocate dynamic grid (G###)          ZAX1_20   (AX###)   XAX1_40   TAX1_10
+ eval    EX#1     C:  4 dset:   1 I:      3      6  J:    2    4  K:    1    2  L:      1      1
+ allocate dynamic grid (G###)          ZAX1_20   (AX###)   XAX1_40   TAX1_10
+ strip regrid on Y: BIGVAR --> (G###)           @XACT
+ rdstride BIGVAR   C:  7 dset:   1 I:      3      6  J:    2    6  K:    1    2  L:      1      1
+ nulrgd  BIGVAR   M:  6 dset:   1 I:      3      6  J:    1    3  K:    1    2  L:      1      1
+ -DELETE BIGVAR   M:  3 dset:   1 I:      3      6  J:    2    6  K:    1    2  L:      1      1
+ dealloc  dynamic grid (G###)          ZAX1_20   (AX###)   XAX1_40   TAX1_10
              VARIABLE : VAR
                         regrid: 2 delta on Y
              FILENAME : bn_strides.cdf
@@ -27388,19 +27398,19 @@ list bigvar[j=2:6:2]
  4   / 2:  1342.  1442.  1542.  1642.
  6   / 3:  1362.  1462.  1562.  1662.
 list bigvar[i=3:9:2, j=2:6:2, k=1:3:2]
- dealloc  dynamic grid (G006)          ZAX1_20   (AX020)   XAX1_40   TAX1_10
- -DELETE BIGVAR   M:  6 dset:   1 I:    3    6  J:    1    3  K:    1    2  L:    1    1
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G006)          (AX024)   (AX022)   (AX023)   TAX1_10
- dealloc  dynamic grid (G006)          (AX024)   (AX022)   (AX023)   TAX1_10
- allocate dynamic grid (G006)          (AX024)   (AX022)   (AX023)   TAX1_10
- eval    EX#1     C:  4 dset:   1 I:    3    6  J:    2    4  K:    1    2  L:    1    1
- allocate dynamic grid (G006)          (AX024)   (AX022)   (AX023)   TAX1_10
- strip regrid on X: BIGVAR --> (G006)           @XACT
- rdstride BIGVAR   C:  7 dset:   1 I:    3    9  J:    2    6  K:    1    3  L:    1    1
- nulrgd  BIGVAR   M:  3 dset:   1 I:    1    4  J:    1    3  K:    1    2  L:    1    1
- -DELETE BIGVAR   M:  6 dset:   1 I:    3    9  J:    2    6  K:    1    3  L:    1    1
- dealloc  dynamic grid (G006)          (AX024)   (AX022)   (AX023)   TAX1_10
+ dealloc  dynamic grid (G###)          ZAX1_20   (AX###)   XAX1_40   TAX1_10
+ -DELETE BIGVAR   M:  6 dset:   1 I:      3      6  J:    1    3  K:    1    2  L:      1      1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G###)          (AX###)   (AX###)   (AX###)   TAX1_10
+ dealloc  dynamic grid (G###)          (AX###)   (AX###)   (AX###)   TAX1_10
+ allocate dynamic grid (G###)          (AX###)   (AX###)   (AX###)   TAX1_10
+ eval    EX#1     C:  4 dset:   1 I:      3      6  J:    2    4  K:    1    2  L:      1      1
+ allocate dynamic grid (G###)          (AX###)   (AX###)   (AX###)   TAX1_10
+ strip regrid on X: BIGVAR --> (G###)           @XACT
+ rdstride BIGVAR   C:  7 dset:   1 I:      3      9  J:    2    6  K:    1    3  L:      1      1
+ nulrgd  BIGVAR   M:  3 dset:   1 I:      1      4  J:    1    3  K:    1    2  L:      1      1
+ -DELETE BIGVAR   M:  6 dset:   1 I:      3      9  J:    2    6  K:    1    3  L:      1      1
+ dealloc  dynamic grid (G###)          (AX###)   (AX###)   (AX###)   TAX1_10
              VARIABLE : VAR
                         regrid: 2 delta on X, 2 delta on Y, 2 delta on Z
              FILENAME : bn_strides.cdf
@@ -27417,23 +27427,23 @@ list bigvar[i=3:9:2, j=2:6:2, k=1:3:2]
  4   / 2:  1343.  1543.  1743.  1943.
  6   / 3:  1363.  1563.  1763.  1963.
 canc data/all
- dealloc  dynamic grid (G006)          (AX024)   (AX022)   (AX023)   TAX1_10
- -DELETE BIGVAR   M:  3 dset:   1 I:    1    4  J:    1    3  K:    1    2  L:    1    1
+ dealloc  dynamic grid (G###)          (AX###)   (AX###)   (AX###)   TAX1_10
+ -DELETE BIGVAR   M:  3 dset:   1 I:      1      4  J:    1    3  K:    1    2  L:      1      1
  canceling dset ./bn_strides.cdf
  
 use/order=zxy bn_strides
 list bigvar[i=3:9:2]
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G006)          (AX022)   XAX1_40   YAX1_30   TAX1_10
- dealloc  dynamic grid (G006)          (AX022)   XAX1_40   YAX1_30   TAX1_10
- allocate dynamic grid (G006)          (AX022)   XAX1_40   YAX1_30   TAX1_10
- eval    EX#1     C:  4 dset:   1 I:    3    6  J:    2    4  K:    1    2  L:    1    1
- allocate dynamic grid (G006)          (AX022)   XAX1_40   YAX1_30   TAX1_10
- strip regrid on X: BIGVAR --> (G006)           @XACT
- rdstride BIGVAR   C:  7 dset:   1 I:    3    9  J:    2    4  K:    1    2  L:    1    1
- nulrgd  BIGVAR   M:  6 dset:   1 I:    1    4  J:    2    4  K:    1    2  L:    1    1
- -DELETE BIGVAR   M:  3 dset:   1 I:    3    9  J:    2    4  K:    1    2  L:    1    1
- dealloc  dynamic grid (G006)          (AX022)   XAX1_40   YAX1_30   TAX1_10
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G###)          (AX###)   XAX1_40   YAX1_30   TAX1_10
+ dealloc  dynamic grid (G###)          (AX###)   XAX1_40   YAX1_30   TAX1_10
+ allocate dynamic grid (G###)          (AX###)   XAX1_40   YAX1_30   TAX1_10
+ eval    EX#1     C:  4 dset:   1 I:      3      6  J:    2    4  K:    1    2  L:      1      1
+ allocate dynamic grid (G###)          (AX###)   XAX1_40   YAX1_30   TAX1_10
+ strip regrid on X: BIGVAR --> (G###)           @XACT
+ rdstride BIGVAR   C:  7 dset:   1 I:      3      9  J:    2    4  K:    1    2  L:      1      1
+ nulrgd  BIGVAR   M:  6 dset:   1 I:      1      4  J:    2    4  K:    1    2  L:      1      1
+ -DELETE BIGVAR   M:  3 dset:   1 I:      3      9  J:    2    4  K:    1    2  L:      1      1
+ dealloc  dynamic grid (G###)          (AX###)   XAX1_40   YAX1_30   TAX1_10
              VARIABLE : VAR
                         regrid: 2 delta on X
              FILENAME : bn_strides.cdf
@@ -27450,19 +27460,19 @@ list bigvar[i=3:9:2]
  3   / 3:  1323.  1523.  1723.  1923.
  4   / 4:  1324.  1524.  1724.  1924.
 list bigvar[j=2:6:2]
- dealloc  dynamic grid (G006)          (AX022)   XAX1_40   YAX1_30   TAX1_10
- -DELETE BIGVAR   M:  6 dset:   1 I:    1    4  J:    2    4  K:    1    2  L:    1    1
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G006)          ZAX1_20   (AX023)   YAX1_30   TAX1_10
- dealloc  dynamic grid (G006)          ZAX1_20   (AX023)   YAX1_30   TAX1_10
- allocate dynamic grid (G006)          ZAX1_20   (AX023)   YAX1_30   TAX1_10
- eval    EX#1     C:  4 dset:   1 I:    3    6  J:    2    4  K:    1    2  L:    1    1
- allocate dynamic grid (G006)          ZAX1_20   (AX023)   YAX1_30   TAX1_10
- strip regrid on Y: BIGVAR --> (G006)           @XACT
- rdstride BIGVAR   C:  7 dset:   1 I:    3    6  J:    2    6  K:    1    2  L:    1    1
- nulrgd  BIGVAR   M:  3 dset:   1 I:    3    6  J:    1    3  K:    1    2  L:    1    1
- -DELETE BIGVAR   M:  6 dset:   1 I:    3    6  J:    2    6  K:    1    2  L:    1    1
- dealloc  dynamic grid (G006)          ZAX1_20   (AX023)   YAX1_30   TAX1_10
+ dealloc  dynamic grid (G###)          (AX###)   XAX1_40   YAX1_30   TAX1_10
+ -DELETE BIGVAR   M:  6 dset:   1 I:      1      4  J:    2    4  K:    1    2  L:      1      1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G###)          ZAX1_20   (AX###)   YAX1_30   TAX1_10
+ dealloc  dynamic grid (G###)          ZAX1_20   (AX###)   YAX1_30   TAX1_10
+ allocate dynamic grid (G###)          ZAX1_20   (AX###)   YAX1_30   TAX1_10
+ eval    EX#1     C:  4 dset:   1 I:      3      6  J:    2    4  K:    1    2  L:      1      1
+ allocate dynamic grid (G###)          ZAX1_20   (AX###)   YAX1_30   TAX1_10
+ strip regrid on Y: BIGVAR --> (G###)           @XACT
+ rdstride BIGVAR   C:  7 dset:   1 I:      3      6  J:    2    6  K:    1    2  L:      1      1
+ nulrgd  BIGVAR   M:  3 dset:   1 I:      3      6  J:    1    3  K:    1    2  L:      1      1
+ -DELETE BIGVAR   M:  6 dset:   1 I:      3      6  J:    2    6  K:    1    2  L:      1      1
+ dealloc  dynamic grid (G###)          ZAX1_20   (AX###)   YAX1_30   TAX1_10
              VARIABLE : VAR
                         regrid: 2 delta on Y
              FILENAME : bn_strides.cdf
@@ -27479,19 +27489,19 @@ list bigvar[j=2:6:2]
  4   / 2:  1324.  1424.  1524.  1624.
  6   / 3:  1326.  1426.  1526.  1626.
 list bigvar[i=3:9:2, j=2:6:2, k=1:3:2]
- dealloc  dynamic grid (G006)          ZAX1_20   (AX023)   YAX1_30   TAX1_10
- -DELETE BIGVAR   M:  3 dset:   1 I:    3    6  J:    1    3  K:    1    2  L:    1    1
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G006)          (AX022)   (AX024)   (AX020)   TAX1_10
- dealloc  dynamic grid (G006)          (AX022)   (AX024)   (AX020)   TAX1_10
- allocate dynamic grid (G006)          (AX022)   (AX024)   (AX020)   TAX1_10
- eval    EX#1     C:  4 dset:   1 I:    3    6  J:    2    4  K:    1    2  L:    1    1
- allocate dynamic grid (G006)          (AX022)   (AX024)   (AX020)   TAX1_10
- strip regrid on X: BIGVAR --> (G006)           @XACT
- rdstride BIGVAR   C:  7 dset:   1 I:    3    9  J:    2    6  K:    1    3  L:    1    1
- nulrgd  BIGVAR   M:  6 dset:   1 I:    1    4  J:    1    3  K:    1    2  L:    1    1
- -DELETE BIGVAR   M:  3 dset:   1 I:    3    9  J:    2    6  K:    1    3  L:    1    1
- dealloc  dynamic grid (G006)          (AX022)   (AX024)   (AX020)   TAX1_10
+ dealloc  dynamic grid (G###)          ZAX1_20   (AX###)   YAX1_30   TAX1_10
+ -DELETE BIGVAR   M:  3 dset:   1 I:      3      6  J:    1    3  K:    1    2  L:      1      1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G###)          (AX###)   (AX###)   (AX###)   TAX1_10
+ dealloc  dynamic grid (G###)          (AX###)   (AX###)   (AX###)   TAX1_10
+ allocate dynamic grid (G###)          (AX###)   (AX###)   (AX###)   TAX1_10
+ eval    EX#1     C:  4 dset:   1 I:      3      6  J:    2    4  K:    1    2  L:      1      1
+ allocate dynamic grid (G###)          (AX###)   (AX###)   (AX###)   TAX1_10
+ strip regrid on X: BIGVAR --> (G###)           @XACT
+ rdstride BIGVAR   C:  7 dset:   1 I:      3      9  J:    2    6  K:    1    3  L:      1      1
+ nulrgd  BIGVAR   M:  6 dset:   1 I:      1      4  J:    1    3  K:    1    2  L:      1      1
+ -DELETE BIGVAR   M:  3 dset:   1 I:      3      9  J:    2    6  K:    1    3  L:      1      1
+ dealloc  dynamic grid (G###)          (AX###)   (AX###)   (AX###)   TAX1_10
              VARIABLE : VAR
                         regrid: 2 delta on X, 2 delta on Y, 2 delta on Z
              FILENAME : bn_strides.cdf
@@ -27508,8 +27518,8 @@ list bigvar[i=3:9:2, j=2:6:2, k=1:3:2]
  4   / 2:  1334.  1534.  1734.  1934.
  6   / 3:  1336.  1536.  1736.  1936.
 canc data/all
- dealloc  dynamic grid (G006)          (AX022)   (AX024)   (AX020)   TAX1_10
- -DELETE BIGVAR   M:  6 dset:   1 I:    1    4  J:    1    3  K:    1    2  L:    1    1
+ dealloc  dynamic grid (G###)          (AX###)   (AX###)   (AX###)   TAX1_10
+ -DELETE BIGVAR   M:  6 dset:   1 I:      1      4  J:    1    3  K:    1    2  L:      1      1
  canceling dset ./bn_strides.cdf
  
 ! now with xytvar
@@ -27517,7 +27527,7 @@ cancel region
 set region/i=1:4/j=1:3/l=1:2
 use bn_strides
 show grid xytvar
- getgrid EX#1     C:  6 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  6 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GPC5            XLON      YLAT      NORMAL    TTIME
     GRID GPC5
  name       axis              # pts   start                end                 subset
@@ -27527,17 +27537,17 @@ show grid xytvar
  TTIME     TIME                20 r   01-JAN-1995 00:00    20-JAN-1995 00:00   full
 list xytvar[i=1:7:2]
  dealloc  dynamic grid GPC5            XLON      YLAT      NORMAL    TTIME
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G006)          (AX024)   YLAT      NORMAL    TTIME
- dealloc  dynamic grid (G006)          (AX024)   YLAT      NORMAL    TTIME
- allocate dynamic grid (G006)          (AX024)   YLAT      NORMAL    TTIME
- eval    EX#1     C:  4 dset:   1 I:    1    4  J:    1    3  K: -999 -999  L:    1    2
- allocate dynamic grid (G006)          (AX024)   YLAT      NORMAL    TTIME
- strip regrid on X: XYTVAR --> (G006)           @XACT
- rdstride XYTVAR   C:  7 dset:   1 I:    1    7  J:    1    3  K: -999 -999  L:    1    2
- nulrgd  XYTVAR   M:  3 dset:   1 I:    1    4  J:    1    3  K: -999 -999  L:    1    2
- -DELETE XYTVAR   M:  6 dset:   1 I:    1    7  J:    1    3  K: -999 -999  L:    1    2
- dealloc  dynamic grid (G006)          (AX024)   YLAT      NORMAL    TTIME
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G###)          (AX###)   YLAT      NORMAL    TTIME
+ dealloc  dynamic grid (G###)          (AX###)   YLAT      NORMAL    TTIME
+ allocate dynamic grid (G###)          (AX###)   YLAT      NORMAL    TTIME
+ eval    EX#1     C:  4 dset:   1 I:      1      4  J:    1    3  K: -999 -999  L:      1      2
+ allocate dynamic grid (G###)          (AX###)   YLAT      NORMAL    TTIME
+ strip regrid on X: XYTVAR --> (G###)           @XACT
+ rdstride XYTVAR   C:  7 dset:   1 I:      1      7  J:    1    3  K: -999 -999  L:      1      2
+ nulrgd  XYTVAR   M:  3 dset:   1 I:      1      4  J:    1    3  K: -999 -999  L:      1      2
+ -DELETE XYTVAR   M:  6 dset:   1 I:      1      7  J:    1    3  K: -999 -999  L:      1      2
+ dealloc  dynamic grid (G###)          (AX###)   YLAT      NORMAL    TTIME
              VARIABLE : L*1000 + J*10 + I
                         regrid: 2 deg on X
              FILENAME : bn_strides.cdf
@@ -27553,19 +27563,19 @@ list xytvar[i=1:7:2]
  2N   / 2:  2021.  2023.  2025.  2027.
  1N   / 1:  2011.  2013.  2015.  2017.
 list xytvar[j=2:6:2]
- dealloc  dynamic grid (G006)          (AX024)   YLAT      NORMAL    TTIME
- -DELETE XYTVAR   M:  3 dset:   1 I:    1    4  J:    1    3  K: -999 -999  L:    1    2
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G006)          XLON      (AX020)   NORMAL    TTIME
- dealloc  dynamic grid (G006)          XLON      (AX020)   NORMAL    TTIME
- allocate dynamic grid (G006)          XLON      (AX020)   NORMAL    TTIME
- eval    EX#1     C:  4 dset:   1 I:    1    4  J:    1    3  K: -999 -999  L:    1    2
- allocate dynamic grid (G006)          XLON      (AX020)   NORMAL    TTIME
- strip regrid on Y: XYTVAR --> (G006)           @XACT
- rdstride XYTVAR   C:  7 dset:   1 I:    1    4  J:    2    6  K: -999 -999  L:    1    2
- nulrgd  XYTVAR   M:  6 dset:   1 I:    1    4  J:    1    3  K: -999 -999  L:    1    2
- -DELETE XYTVAR   M:  3 dset:   1 I:    1    4  J:    2    6  K: -999 -999  L:    1    2
- dealloc  dynamic grid (G006)          XLON      (AX020)   NORMAL    TTIME
+ dealloc  dynamic grid (G###)          (AX###)   YLAT      NORMAL    TTIME
+ -DELETE XYTVAR   M:  3 dset:   1 I:      1      4  J:    1    3  K: -999 -999  L:      1      2
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G###)          XLON      (AX###)   NORMAL    TTIME
+ dealloc  dynamic grid (G###)          XLON      (AX###)   NORMAL    TTIME
+ allocate dynamic grid (G###)          XLON      (AX###)   NORMAL    TTIME
+ eval    EX#1     C:  4 dset:   1 I:      1      4  J:    1    3  K: -999 -999  L:      1      2
+ allocate dynamic grid (G###)          XLON      (AX###)   NORMAL    TTIME
+ strip regrid on Y: XYTVAR --> (G###)           @XACT
+ rdstride XYTVAR   C:  7 dset:   1 I:      1      4  J:    2    6  K: -999 -999  L:      1      2
+ nulrgd  XYTVAR   M:  6 dset:   1 I:      1      4  J:    1    3  K: -999 -999  L:      1      2
+ -DELETE XYTVAR   M:  3 dset:   1 I:      1      4  J:    2    6  K: -999 -999  L:      1      2
+ dealloc  dynamic grid (G###)          XLON      (AX###)   NORMAL    TTIME
              VARIABLE : L*1000 + J*10 + I
                         regrid: 2 deg on Y
              FILENAME : bn_strides.cdf
@@ -27581,19 +27591,19 @@ list xytvar[j=2:6:2]
  4N   / 2:  2041.  2042.  2043.  2044.
  2N   / 1:  2021.  2022.  2023.  2024.
 list xytvar[i=1:7:2,j=2:6:2,l=3:5:2]
- dealloc  dynamic grid (G006)          XLON      (AX020)   NORMAL    TTIME
- -DELETE XYTVAR   M:  6 dset:   1 I:    1    4  J:    1    3  K: -999 -999  L:    1    2
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G006)          (AX024)   (AX022)   NORMAL    (AX023)
- dealloc  dynamic grid (G006)          (AX024)   (AX022)   NORMAL    (AX023)
- allocate dynamic grid (G006)          (AX024)   (AX022)   NORMAL    (AX023)
- eval    EX#1     C:  4 dset:   1 I:    1    4  J:    1    3  K: -999 -999  L:    1    2
- allocate dynamic grid (G006)          (AX024)   (AX022)   NORMAL    (AX023)
- strip regrid on X: XYTVAR --> (G006)           @XACT
- rdstride XYTVAR   C:  7 dset:   1 I:    1    7  J:    2    6  K: -999 -999  L:    3    5
- nulrgd  XYTVAR   M:  3 dset:   1 I:    1    4  J:    1    3  K: -999 -999  L:    1    2
- -DELETE XYTVAR   M:  6 dset:   1 I:    1    7  J:    2    6  K: -999 -999  L:    3    5
- dealloc  dynamic grid (G006)          (AX024)   (AX022)   NORMAL    (AX023)
+ dealloc  dynamic grid (G###)          XLON      (AX###)   NORMAL    TTIME
+ -DELETE XYTVAR   M:  6 dset:   1 I:      1      4  J:    1    3  K: -999 -999  L:      1      2
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G###)          (AX###)   (AX###)   NORMAL    (AX###)
+ dealloc  dynamic grid (G###)          (AX###)   (AX###)   NORMAL    (AX###)
+ allocate dynamic grid (G###)          (AX###)   (AX###)   NORMAL    (AX###)
+ eval    EX#1     C:  4 dset:   1 I:      1      4  J:    1    3  K: -999 -999  L:      1      2
+ allocate dynamic grid (G###)          (AX###)   (AX###)   NORMAL    (AX###)
+ strip regrid on X: XYTVAR --> (G###)           @XACT
+ rdstride XYTVAR   C:  7 dset:   1 I:      1      7  J:    2    6  K: -999 -999  L:      3      5
+ nulrgd  XYTVAR   M:  3 dset:   1 I:      1      4  J:    1    3  K: -999 -999  L:      1      2
+ -DELETE XYTVAR   M:  6 dset:   1 I:      1      7  J:    2    6  K: -999 -999  L:      3      5
+ dealloc  dynamic grid (G###)          (AX###)   (AX###)   NORMAL    (AX###)
              VARIABLE : L*1000 + J*10 + I
                         regrid: 2 deg on X, 2 deg on Y, 2 day on T
              FILENAME : bn_strides.cdf
@@ -27609,13 +27619,13 @@ list xytvar[i=1:7:2,j=2:6:2,l=3:5:2]
  4N   / 2:  5041.  5043.  5045.  5047.
  2N   / 1:  5021.  5023.  5025.  5027.
 canc data/all
- dealloc  dynamic grid (G006)          (AX024)   (AX022)   NORMAL    (AX023)
- -DELETE XYTVAR   M:  3 dset:   1 I:    1    4  J:    1    3  K: -999 -999  L:    1    2
+ dealloc  dynamic grid (G###)          (AX###)   (AX###)   NORMAL    (AX###)
+ -DELETE XYTVAR   M:  3 dset:   1 I:      1      4  J:    1    3  K: -999 -999  L:      1      2
  canceling dset ./bn_strides.cdf
  
 use/order=yx bn_strides
 show grid xytvar
- getgrid EX#1     C:  7 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  7 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GPC5            YLAT      XLON      NORMAL    TTIME
     GRID GPC5
  name       axis              # pts   start                end                 subset
@@ -27625,17 +27635,17 @@ show grid xytvar
  TTIME     TIME                20 r   01-JAN-1995 00:00    20-JAN-1995 00:00   full
 list xytvar[i=1:7:2]
  dealloc  dynamic grid GPC5            YLAT      XLON      NORMAL    TTIME
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G006)          (AX022)   XLON      NORMAL    TTIME
- dealloc  dynamic grid (G006)          (AX022)   XLON      NORMAL    TTIME
- allocate dynamic grid (G006)          (AX022)   XLON      NORMAL    TTIME
- eval    EX#1     C:  4 dset:   1 I:    1    4  J:    1    3  K: -999 -999  L:    1    2
- allocate dynamic grid (G006)          (AX022)   XLON      NORMAL    TTIME
- strip regrid on X: XYTVAR --> (G006)           @XACT
- rdstride XYTVAR   C:  7 dset:   1 I:    1    7  J:    1    3  K: -999 -999  L:    1    2
- nulrgd  XYTVAR   M:  6 dset:   1 I:    1    4  J:    1    3  K: -999 -999  L:    1    2
- -DELETE XYTVAR   M:  3 dset:   1 I:    1    7  J:    1    3  K: -999 -999  L:    1    2
- dealloc  dynamic grid (G006)          (AX022)   XLON      NORMAL    TTIME
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G###)          (AX###)   XLON      NORMAL    TTIME
+ dealloc  dynamic grid (G###)          (AX###)   XLON      NORMAL    TTIME
+ allocate dynamic grid (G###)          (AX###)   XLON      NORMAL    TTIME
+ eval    EX#1     C:  4 dset:   1 I:      1      4  J:    1    3  K: -999 -999  L:      1      2
+ allocate dynamic grid (G###)          (AX###)   XLON      NORMAL    TTIME
+ strip regrid on X: XYTVAR --> (G###)           @XACT
+ rdstride XYTVAR   C:  7 dset:   1 I:      1      7  J:    1    3  K: -999 -999  L:      1      2
+ nulrgd  XYTVAR   M:  6 dset:   1 I:      1      4  J:    1    3  K: -999 -999  L:      1      2
+ -DELETE XYTVAR   M:  3 dset:   1 I:      1      7  J:    1    3  K: -999 -999  L:      1      2
+ dealloc  dynamic grid (G###)          (AX###)   XLON      NORMAL    TTIME
              VARIABLE : L*1000 + J*10 + I
                         regrid: 2 deg on X
              FILENAME : bn_strides.cdf
@@ -27651,19 +27661,19 @@ list xytvar[i=1:7:2]
  142   / 2:  2012.  2032.  2052.  2072.
  143   / 3:  2013.  2033.  2053.  2073.
 list xytvar[j=2:6:2]
- dealloc  dynamic grid (G006)          (AX022)   XLON      NORMAL    TTIME
- -DELETE XYTVAR   M:  6 dset:   1 I:    1    4  J:    1    3  K: -999 -999  L:    1    2
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G006)          YLAT      (AX023)   NORMAL    TTIME
- dealloc  dynamic grid (G006)          YLAT      (AX023)   NORMAL    TTIME
- allocate dynamic grid (G006)          YLAT      (AX023)   NORMAL    TTIME
- eval    EX#1     C:  4 dset:   1 I:    1    4  J:    1    3  K: -999 -999  L:    1    2
- allocate dynamic grid (G006)          YLAT      (AX023)   NORMAL    TTIME
- strip regrid on Y: XYTVAR --> (G006)           @XACT
- rdstride XYTVAR   C:  7 dset:   1 I:    1    4  J:    2    6  K: -999 -999  L:    1    2
- nulrgd  XYTVAR   M:  3 dset:   1 I:    1    4  J:    1    3  K: -999 -999  L:    1    2
- -DELETE XYTVAR   M:  6 dset:   1 I:    1    4  J:    2    6  K: -999 -999  L:    1    2
- dealloc  dynamic grid (G006)          YLAT      (AX023)   NORMAL    TTIME
+ dealloc  dynamic grid (G###)          (AX###)   XLON      NORMAL    TTIME
+ -DELETE XYTVAR   M:  6 dset:   1 I:      1      4  J:    1    3  K: -999 -999  L:      1      2
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G###)          YLAT      (AX###)   NORMAL    TTIME
+ dealloc  dynamic grid (G###)          YLAT      (AX###)   NORMAL    TTIME
+ allocate dynamic grid (G###)          YLAT      (AX###)   NORMAL    TTIME
+ eval    EX#1     C:  4 dset:   1 I:      1      4  J:    1    3  K: -999 -999  L:      1      2
+ allocate dynamic grid (G###)          YLAT      (AX###)   NORMAL    TTIME
+ strip regrid on Y: XYTVAR --> (G###)           @XACT
+ rdstride XYTVAR   C:  7 dset:   1 I:      1      4  J:    2    6  K: -999 -999  L:      1      2
+ nulrgd  XYTVAR   M:  3 dset:   1 I:      1      4  J:    1    3  K: -999 -999  L:      1      2
+ -DELETE XYTVAR   M:  6 dset:   1 I:      1      4  J:    2    6  K: -999 -999  L:      1      2
+ dealloc  dynamic grid (G###)          YLAT      (AX###)   NORMAL    TTIME
              VARIABLE : L*1000 + J*10 + I
                         regrid: 2 deg on Y
              FILENAME : bn_strides.cdf
@@ -27679,19 +27689,19 @@ list xytvar[j=2:6:2]
  144   / 2:  2014.  2024.  2034.  2044.
  146   / 3:  2016.  2026.  2036.  2046.
 list xytvar[i=1:7:2,j=2:6:2,l=3:5:2]
- dealloc  dynamic grid (G006)          YLAT      (AX023)   NORMAL    TTIME
- -DELETE XYTVAR   M:  3 dset:   1 I:    1    4  J:    1    3  K: -999 -999  L:    1    2
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G006)          (AX022)   (AX024)   NORMAL    (AX020)
- dealloc  dynamic grid (G006)          (AX022)   (AX024)   NORMAL    (AX020)
- allocate dynamic grid (G006)          (AX022)   (AX024)   NORMAL    (AX020)
- eval    EX#1     C:  4 dset:   1 I:    1    4  J:    1    3  K: -999 -999  L:    1    2
- allocate dynamic grid (G006)          (AX022)   (AX024)   NORMAL    (AX020)
- strip regrid on X: XYTVAR --> (G006)           @XACT
- rdstride XYTVAR   C:  7 dset:   1 I:    1    7  J:    2    6  K: -999 -999  L:    3    5
- nulrgd  XYTVAR   M:  6 dset:   1 I:    1    4  J:    1    3  K: -999 -999  L:    1    2
- -DELETE XYTVAR   M:  3 dset:   1 I:    1    7  J:    2    6  K: -999 -999  L:    3    5
- dealloc  dynamic grid (G006)          (AX022)   (AX024)   NORMAL    (AX020)
+ dealloc  dynamic grid (G###)          YLAT      (AX###)   NORMAL    TTIME
+ -DELETE XYTVAR   M:  3 dset:   1 I:      1      4  J:    1    3  K: -999 -999  L:      1      2
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G###)          (AX###)   (AX###)   NORMAL    (AX###)
+ dealloc  dynamic grid (G###)          (AX###)   (AX###)   NORMAL    (AX###)
+ allocate dynamic grid (G###)          (AX###)   (AX###)   NORMAL    (AX###)
+ eval    EX#1     C:  4 dset:   1 I:      1      4  J:    1    3  K: -999 -999  L:      1      2
+ allocate dynamic grid (G###)          (AX###)   (AX###)   NORMAL    (AX###)
+ strip regrid on X: XYTVAR --> (G###)           @XACT
+ rdstride XYTVAR   C:  7 dset:   1 I:      1      7  J:    2    6  K: -999 -999  L:      3      5
+ nulrgd  XYTVAR   M:  6 dset:   1 I:      1      4  J:    1    3  K: -999 -999  L:      1      2
+ -DELETE XYTVAR   M:  3 dset:   1 I:      1      7  J:    2    6  K: -999 -999  L:      3      5
+ dealloc  dynamic grid (G###)          (AX###)   (AX###)   NORMAL    (AX###)
              VARIABLE : L*1000 + J*10 + I
                         regrid: 2 deg on X, 2 deg on Y, 2 day on T
              FILENAME : bn_strides.cdf
@@ -27707,13 +27717,13 @@ list xytvar[i=1:7:2,j=2:6:2,l=3:5:2]
  144   / 2:  5014.  5034.  5054.  5074.
  146   / 3:  5016.  5036.  5056.  5076.
 canc data/all
- dealloc  dynamic grid (G006)          (AX022)   (AX024)   NORMAL    (AX020)
- -DELETE XYTVAR   M:  6 dset:   1 I:    1    4  J:    1    3  K: -999 -999  L:    1    2
+ dealloc  dynamic grid (G###)          (AX###)   (AX###)   NORMAL    (AX###)
+ -DELETE XYTVAR   M:  6 dset:   1 I:      1      4  J:    1    3  K: -999 -999  L:      1      2
  canceling dset ./bn_strides.cdf
  
 use/order=tyx bn_strides
 show grid xytvar
- getgrid EX#1     C:  7 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  7 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GPC5            TTIME     YLAT      NORMAL    XLON
     GRID GPC5
  name       axis              # pts   start                end                 subset
@@ -27723,17 +27733,17 @@ show grid xytvar
  XLON      T (degrees_east)    40mr   141                  180                 full
 list xytvar[i=1:7:2]
  dealloc  dynamic grid GPC5            TTIME     YLAT      NORMAL    XLON
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G006)          (AX024)   YLAT      NORMAL    XLON
- dealloc  dynamic grid (G006)          (AX024)   YLAT      NORMAL    XLON
- allocate dynamic grid (G006)          (AX024)   YLAT      NORMAL    XLON
- eval    EX#1     C:  4 dset:   1 I:    1    4  J:    1    3  K: -999 -999  L:    1    2
- allocate dynamic grid (G006)          (AX024)   YLAT      NORMAL    XLON
- strip regrid on X: XYTVAR --> (G006)           @XACT
- rdstride XYTVAR   C:  7 dset:   1 I:    1    7  J:    1    3  K: -999 -999  L:    1    2
- nulrgd  XYTVAR   M:  3 dset:   1 I:    1    4  J:    1    3  K: -999 -999  L:    1    2
- -DELETE XYTVAR   M:  6 dset:   1 I:    1    7  J:    1    3  K: -999 -999  L:    1    2
- dealloc  dynamic grid (G006)          (AX024)   YLAT      NORMAL    XLON
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G###)          (AX###)   YLAT      NORMAL    XLON
+ dealloc  dynamic grid (G###)          (AX###)   YLAT      NORMAL    XLON
+ allocate dynamic grid (G###)          (AX###)   YLAT      NORMAL    XLON
+ eval    EX#1     C:  4 dset:   1 I:      1      4  J:    1    3  K: -999 -999  L:      1      2
+ allocate dynamic grid (G###)          (AX###)   YLAT      NORMAL    XLON
+ strip regrid on X: XYTVAR --> (G###)           @XACT
+ rdstride XYTVAR   C:  7 dset:   1 I:      1      7  J:    1    3  K: -999 -999  L:      1      2
+ nulrgd  XYTVAR   M:  3 dset:   1 I:      1      4  J:    1    3  K: -999 -999  L:      1      2
+ -DELETE XYTVAR   M:  6 dset:   1 I:      1      7  J:    1    3  K: -999 -999  L:      1      2
+ dealloc  dynamic grid (G###)          (AX###)   YLAT      NORMAL    XLON
              VARIABLE : L*1000 + J*10 + I
                         regrid: 2 day on X
              FILENAME : bn_strides.cdf
@@ -27749,19 +27759,19 @@ list xytvar[i=1:7:2]
  2N   / 2:  1022.  3022.  5022.  7022.
  1N   / 1:  1012.  3012.  5012.  7012.
 list xytvar[j=2:6:2]
- dealloc  dynamic grid (G006)          (AX024)   YLAT      NORMAL    XLON
- -DELETE XYTVAR   M:  3 dset:   1 I:    1    4  J:    1    3  K: -999 -999  L:    1    2
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G006)          TTIME     (AX020)   NORMAL    XLON
- dealloc  dynamic grid (G006)          TTIME     (AX020)   NORMAL    XLON
- allocate dynamic grid (G006)          TTIME     (AX020)   NORMAL    XLON
- eval    EX#1     C:  4 dset:   1 I:    1    4  J:    1    3  K: -999 -999  L:    1    2
- allocate dynamic grid (G006)          TTIME     (AX020)   NORMAL    XLON
- strip regrid on Y: XYTVAR --> (G006)           @XACT
- rdstride XYTVAR   C:  7 dset:   1 I:    1    4  J:    2    6  K: -999 -999  L:    1    2
- nulrgd  XYTVAR   M:  6 dset:   1 I:    1    4  J:    1    3  K: -999 -999  L:    1    2
- -DELETE XYTVAR   M:  3 dset:   1 I:    1    4  J:    2    6  K: -999 -999  L:    1    2
- dealloc  dynamic grid (G006)          TTIME     (AX020)   NORMAL    XLON
+ dealloc  dynamic grid (G###)          (AX###)   YLAT      NORMAL    XLON
+ -DELETE XYTVAR   M:  3 dset:   1 I:      1      4  J:    1    3  K: -999 -999  L:      1      2
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G###)          TTIME     (AX###)   NORMAL    XLON
+ dealloc  dynamic grid (G###)          TTIME     (AX###)   NORMAL    XLON
+ allocate dynamic grid (G###)          TTIME     (AX###)   NORMAL    XLON
+ eval    EX#1     C:  4 dset:   1 I:      1      4  J:    1    3  K: -999 -999  L:      1      2
+ allocate dynamic grid (G###)          TTIME     (AX###)   NORMAL    XLON
+ strip regrid on Y: XYTVAR --> (G###)           @XACT
+ rdstride XYTVAR   C:  7 dset:   1 I:      1      4  J:    2    6  K: -999 -999  L:      1      2
+ nulrgd  XYTVAR   M:  6 dset:   1 I:      1      4  J:    1    3  K: -999 -999  L:      1      2
+ -DELETE XYTVAR   M:  3 dset:   1 I:      1      4  J:    2    6  K: -999 -999  L:      1      2
+ dealloc  dynamic grid (G###)          TTIME     (AX###)   NORMAL    XLON
              VARIABLE : L*1000 + J*10 + I
                         regrid: 2 deg on Y
              FILENAME : bn_strides.cdf
@@ -27777,19 +27787,19 @@ list xytvar[j=2:6:2]
  4N   / 2:  1042.  2042.  3042.  4042.
  2N   / 1:  1022.  2022.  3022.  4022.
 list xytvar[i=1:7:2,j=2:6:2,l=3:5:2]
- dealloc  dynamic grid (G006)          TTIME     (AX020)   NORMAL    XLON
- -DELETE XYTVAR   M:  6 dset:   1 I:    1    4  J:    1    3  K: -999 -999  L:    1    2
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G006)          (AX024)   (AX022)   NORMAL    (AX023)
- dealloc  dynamic grid (G006)          (AX024)   (AX022)   NORMAL    (AX023)
- allocate dynamic grid (G006)          (AX024)   (AX022)   NORMAL    (AX023)
- eval    EX#1     C:  4 dset:   1 I:    1    4  J:    1    3  K: -999 -999  L:    1    2
- allocate dynamic grid (G006)          (AX024)   (AX022)   NORMAL    (AX023)
- strip regrid on X: XYTVAR --> (G006)           @XACT
- rdstride XYTVAR   C:  7 dset:   1 I:    1    7  J:    2    6  K: -999 -999  L:    3    5
- nulrgd  XYTVAR   M:  3 dset:   1 I:    1    4  J:    1    3  K: -999 -999  L:    1    2
- -DELETE XYTVAR   M:  6 dset:   1 I:    1    7  J:    2    6  K: -999 -999  L:    3    5
- dealloc  dynamic grid (G006)          (AX024)   (AX022)   NORMAL    (AX023)
+ dealloc  dynamic grid (G###)          TTIME     (AX###)   NORMAL    XLON
+ -DELETE XYTVAR   M:  6 dset:   1 I:      1      4  J:    1    3  K: -999 -999  L:      1      2
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G###)          (AX###)   (AX###)   NORMAL    (AX###)
+ dealloc  dynamic grid (G###)          (AX###)   (AX###)   NORMAL    (AX###)
+ allocate dynamic grid (G###)          (AX###)   (AX###)   NORMAL    (AX###)
+ eval    EX#1     C:  4 dset:   1 I:      1      4  J:    1    3  K: -999 -999  L:      1      2
+ allocate dynamic grid (G###)          (AX###)   (AX###)   NORMAL    (AX###)
+ strip regrid on X: XYTVAR --> (G###)           @XACT
+ rdstride XYTVAR   C:  7 dset:   1 I:      1      7  J:    2    6  K: -999 -999  L:      3      5
+ nulrgd  XYTVAR   M:  3 dset:   1 I:      1      4  J:    1    3  K: -999 -999  L:      1      2
+ -DELETE XYTVAR   M:  6 dset:   1 I:      1      7  J:    2    6  K: -999 -999  L:      3      5
+ dealloc  dynamic grid (G###)          (AX###)   (AX###)   NORMAL    (AX###)
              VARIABLE : L*1000 + J*10 + I
                         regrid: 2 day on X, 2 deg on Y, 2 deg on T
              FILENAME : bn_strides.cdf
@@ -27805,13 +27815,13 @@ list xytvar[i=1:7:2,j=2:6:2,l=3:5:2]
  4N   / 2:  1045.  3045.  5045.  7045.
  2N   / 1:  1025.  3025.  5025.  7025.
 canc data/all
- dealloc  dynamic grid (G006)          (AX024)   (AX022)   NORMAL    (AX023)
- -DELETE XYTVAR   M:  3 dset:   1 I:    1    4  J:    1    3  K: -999 -999  L:    1    2
+ dealloc  dynamic grid (G###)          (AX###)   (AX###)   NORMAL    (AX###)
+ -DELETE XYTVAR   M:  3 dset:   1 I:      1      4  J:    1    3  K: -999 -999  L:      1      2
  canceling dset ./bn_strides.cdf
  
 use/order=txy bn_strides
 show grid xytvar
- getgrid EX#1     C:  7 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  7 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GPC5            TTIME     XLON      NORMAL    YLAT
     GRID GPC5
  name       axis              # pts   start                end                 subset
@@ -27821,17 +27831,17 @@ show grid xytvar
  YLAT      T (degrees_north)   30 r   1                    30                  full
 list xytvar[i=1:7:2]
  dealloc  dynamic grid GPC5            TTIME     XLON      NORMAL    YLAT
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G006)          (AX022)   XLON      NORMAL    YLAT
- dealloc  dynamic grid (G006)          (AX022)   XLON      NORMAL    YLAT
- allocate dynamic grid (G006)          (AX022)   XLON      NORMAL    YLAT
- eval    EX#1     C:  4 dset:   1 I:    1    4  J:    1    3  K: -999 -999  L:    1    2
- allocate dynamic grid (G006)          (AX022)   XLON      NORMAL    YLAT
- strip regrid on X: XYTVAR --> (G006)           @XACT
- rdstride XYTVAR   C:  7 dset:   1 I:    1    7  J:    1    3  K: -999 -999  L:    1    2
- nulrgd  XYTVAR   M:  6 dset:   1 I:    1    4  J:    1    3  K: -999 -999  L:    1    2
- -DELETE XYTVAR   M:  3 dset:   1 I:    1    7  J:    1    3  K: -999 -999  L:    1    2
- dealloc  dynamic grid (G006)          (AX022)   XLON      NORMAL    YLAT
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G###)          (AX###)   XLON      NORMAL    YLAT
+ dealloc  dynamic grid (G###)          (AX###)   XLON      NORMAL    YLAT
+ allocate dynamic grid (G###)          (AX###)   XLON      NORMAL    YLAT
+ eval    EX#1     C:  4 dset:   1 I:      1      4  J:    1    3  K: -999 -999  L:      1      2
+ allocate dynamic grid (G###)          (AX###)   XLON      NORMAL    YLAT
+ strip regrid on X: XYTVAR --> (G###)           @XACT
+ rdstride XYTVAR   C:  7 dset:   1 I:      1      7  J:    1    3  K: -999 -999  L:      1      2
+ nulrgd  XYTVAR   M:  6 dset:   1 I:      1      4  J:    1    3  K: -999 -999  L:      1      2
+ -DELETE XYTVAR   M:  3 dset:   1 I:      1      7  J:    1    3  K: -999 -999  L:      1      2
+ dealloc  dynamic grid (G###)          (AX###)   XLON      NORMAL    YLAT
              VARIABLE : L*1000 + J*10 + I
                         regrid: 2 day on X
              FILENAME : bn_strides.cdf
@@ -27847,19 +27857,19 @@ list xytvar[i=1:7:2]
  142   / 2:  1022.  3022.  5022.  7022.
  143   / 3:  1023.  3023.  5023.  7023.
 list xytvar[j=2:6:2]
- dealloc  dynamic grid (G006)          (AX022)   XLON      NORMAL    YLAT
- -DELETE XYTVAR   M:  6 dset:   1 I:    1    4  J:    1    3  K: -999 -999  L:    1    2
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G006)          TTIME     (AX023)   NORMAL    YLAT
- dealloc  dynamic grid (G006)          TTIME     (AX023)   NORMAL    YLAT
- allocate dynamic grid (G006)          TTIME     (AX023)   NORMAL    YLAT
- eval    EX#1     C:  4 dset:   1 I:    1    4  J:    1    3  K: -999 -999  L:    1    2
- allocate dynamic grid (G006)          TTIME     (AX023)   NORMAL    YLAT
- strip regrid on Y: XYTVAR --> (G006)           @XACT
- rdstride XYTVAR   C:  7 dset:   1 I:    1    4  J:    2    6  K: -999 -999  L:    1    2
- nulrgd  XYTVAR   M:  3 dset:   1 I:    1    4  J:    1    3  K: -999 -999  L:    1    2
- -DELETE XYTVAR   M:  6 dset:   1 I:    1    4  J:    2    6  K: -999 -999  L:    1    2
- dealloc  dynamic grid (G006)          TTIME     (AX023)   NORMAL    YLAT
+ dealloc  dynamic grid (G###)          (AX###)   XLON      NORMAL    YLAT
+ -DELETE XYTVAR   M:  6 dset:   1 I:      1      4  J:    1    3  K: -999 -999  L:      1      2
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G###)          TTIME     (AX###)   NORMAL    YLAT
+ dealloc  dynamic grid (G###)          TTIME     (AX###)   NORMAL    YLAT
+ allocate dynamic grid (G###)          TTIME     (AX###)   NORMAL    YLAT
+ eval    EX#1     C:  4 dset:   1 I:      1      4  J:    1    3  K: -999 -999  L:      1      2
+ allocate dynamic grid (G###)          TTIME     (AX###)   NORMAL    YLAT
+ strip regrid on Y: XYTVAR --> (G###)           @XACT
+ rdstride XYTVAR   C:  7 dset:   1 I:      1      4  J:    2    6  K: -999 -999  L:      1      2
+ nulrgd  XYTVAR   M:  3 dset:   1 I:      1      4  J:    1    3  K: -999 -999  L:      1      2
+ -DELETE XYTVAR   M:  6 dset:   1 I:      1      4  J:    2    6  K: -999 -999  L:      1      2
+ dealloc  dynamic grid (G###)          TTIME     (AX###)   NORMAL    YLAT
              VARIABLE : L*1000 + J*10 + I
                         regrid: 2 deg on Y
              FILENAME : bn_strides.cdf
@@ -27875,19 +27885,19 @@ list xytvar[j=2:6:2]
  144   / 2:  1024.  2024.  3024.  4024.
  146   / 3:  1026.  2026.  3026.  4026.
 list xytvar[i=1:7:2,j=2:6:2,l=3:5:2]
- dealloc  dynamic grid (G006)          TTIME     (AX023)   NORMAL    YLAT
- -DELETE XYTVAR   M:  3 dset:   1 I:    1    4  J:    1    3  K: -999 -999  L:    1    2
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G006)          (AX022)   (AX024)   NORMAL    (AX020)
- dealloc  dynamic grid (G006)          (AX022)   (AX024)   NORMAL    (AX020)
- allocate dynamic grid (G006)          (AX022)   (AX024)   NORMAL    (AX020)
- eval    EX#1     C:  4 dset:   1 I:    1    4  J:    1    3  K: -999 -999  L:    1    2
- allocate dynamic grid (G006)          (AX022)   (AX024)   NORMAL    (AX020)
- strip regrid on X: XYTVAR --> (G006)           @XACT
- rdstride XYTVAR   C:  7 dset:   1 I:    1    7  J:    2    6  K: -999 -999  L:    3    5
- nulrgd  XYTVAR   M:  6 dset:   1 I:    1    4  J:    1    3  K: -999 -999  L:    1    2
- -DELETE XYTVAR   M:  3 dset:   1 I:    1    7  J:    2    6  K: -999 -999  L:    3    5
- dealloc  dynamic grid (G006)          (AX022)   (AX024)   NORMAL    (AX020)
+ dealloc  dynamic grid (G###)          TTIME     (AX###)   NORMAL    YLAT
+ -DELETE XYTVAR   M:  3 dset:   1 I:      1      4  J:    1    3  K: -999 -999  L:      1      2
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G###)          (AX###)   (AX###)   NORMAL    (AX###)
+ dealloc  dynamic grid (G###)          (AX###)   (AX###)   NORMAL    (AX###)
+ allocate dynamic grid (G###)          (AX###)   (AX###)   NORMAL    (AX###)
+ eval    EX#1     C:  4 dset:   1 I:      1      4  J:    1    3  K: -999 -999  L:      1      2
+ allocate dynamic grid (G###)          (AX###)   (AX###)   NORMAL    (AX###)
+ strip regrid on X: XYTVAR --> (G###)           @XACT
+ rdstride XYTVAR   C:  7 dset:   1 I:      1      7  J:    2    6  K: -999 -999  L:      3      5
+ nulrgd  XYTVAR   M:  6 dset:   1 I:      1      4  J:    1    3  K: -999 -999  L:      1      2
+ -DELETE XYTVAR   M:  3 dset:   1 I:      1      7  J:    2    6  K: -999 -999  L:      3      5
+ dealloc  dynamic grid (G###)          (AX###)   (AX###)   NORMAL    (AX###)
              VARIABLE : L*1000 + J*10 + I
                         regrid: 2 day on X, 2 deg on Y, 2 deg on T
              FILENAME : bn_strides.cdf
@@ -27903,14 +27913,14 @@ list xytvar[i=1:7:2,j=2:6:2,l=3:5:2]
  144   / 2:  1054.  3054.  5054.  7054.
  146   / 3:  1056.  3056.  5056.  7056.
 canc data/all
- dealloc  dynamic grid (G006)          (AX022)   (AX024)   NORMAL    (AX020)
- -DELETE XYTVAR   M:  6 dset:   1 I:    1    4  J:    1    3  K: -999 -999  L:    1    2
+ dealloc  dynamic grid (G###)          (AX###)   (AX###)   NORMAL    (AX###)
+ -DELETE XYTVAR   M:  6 dset:   1 I:      1      4  J:    1    3  K: -999 -999  L:      1      2
  canceling dset ./bn_strides.cdf
  
 ! map into Z instead of T
 use/order=zxy bn_strides
 show grid xytvar
- getgrid EX#1     C:  7 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  7 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GPC5            TTIME     XLON      YLAT      NORMAL
     GRID GPC5
  name       axis              # pts   start                end                 subset
@@ -27920,18 +27930,18 @@ show grid xytvar
  normal    T
 list/k=1:2 xytvar[i=1:7:2]
  dealloc  dynamic grid GPC5            TTIME     XLON      YLAT      NORMAL
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G006)          (AX024)   XLON      YLAT      NORMAL
- dealloc  dynamic grid (G006)          (AX024)   XLON      YLAT      NORMAL
- allocate dynamic grid (G006)          (AX024)   XLON      YLAT      NORMAL
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G###)          (AX###)   XLON      YLAT      NORMAL
+ dealloc  dynamic grid (G###)          (AX###)   XLON      YLAT      NORMAL
+ allocate dynamic grid (G###)          (AX###)   XLON      YLAT      NORMAL
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:    1    4  J:    1    3  K:    1    2  L:    1    2
- allocate dynamic grid (G006)          (AX024)   XLON      YLAT      NORMAL
- strip regrid on X: XYTVAR --> (G006)           @XACT
- rdstride XYTVAR   C:  8 dset:   1 I:    1    7  J:    1    3  K:    1    2  L: -999 -999
- nulrgd  XYTVAR   M:  3 dset:   1 I:    1    4  J:    1    3  K:    1    2  L: -999 -999
- -DELETE XYTVAR   M:  6 dset:   1 I:    1    7  J:    1    3  K:    1    2  L: -999 -999
- dealloc  dynamic grid (G006)          (AX024)   XLON      YLAT      NORMAL
+ eval    EX#1     C:  5 dset:   1 I:      1      4  J:    1    3  K:    1    2  L:      1      2
+ allocate dynamic grid (G###)          (AX###)   XLON      YLAT      NORMAL
+ strip regrid on X: XYTVAR --> (G###)           @XACT
+ rdstride XYTVAR   C:  8 dset:   1 I:      1      7  J:    1    3  K:    1    2  L:   -999   -999
+ nulrgd  XYTVAR   M:  3 dset:   1 I:      1      4  J:    1    3  K:    1    2  L:   -999   -999
+ -DELETE XYTVAR   M:  6 dset:   1 I:      1      7  J:    1    3  K:    1    2  L:   -999   -999
+ dealloc  dynamic grid (G###)          (AX###)   XLON      YLAT      NORMAL
              VARIABLE : L*1000 + J*10 + I
                         regrid: 2 day on X
              FILENAME : bn_strides.cdf
@@ -27947,20 +27957,20 @@ list/k=1:2 xytvar[i=1:7:2]
  142   / 2:  1022.  3022.  5022.  7022.
  143   / 3:  1023.  3023.  5023.  7023.
 list/k=1:2 xytvar[j=2:6:2]
- dealloc  dynamic grid (G006)          (AX024)   XLON      YLAT      NORMAL
- -DELETE XYTVAR   M:  3 dset:   1 I:    1    4  J:    1    3  K:    1    2  L: -999 -999
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G006)          TTIME     (AX020)   YLAT      NORMAL
- dealloc  dynamic grid (G006)          TTIME     (AX020)   YLAT      NORMAL
- allocate dynamic grid (G006)          TTIME     (AX020)   YLAT      NORMAL
+ dealloc  dynamic grid (G###)          (AX###)   XLON      YLAT      NORMAL
+ -DELETE XYTVAR   M:  3 dset:   1 I:      1      4  J:    1    3  K:    1    2  L:   -999   -999
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G###)          TTIME     (AX###)   YLAT      NORMAL
+ dealloc  dynamic grid (G###)          TTIME     (AX###)   YLAT      NORMAL
+ allocate dynamic grid (G###)          TTIME     (AX###)   YLAT      NORMAL
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:    1    4  J:    1    3  K:    1    2  L:    1    2
- allocate dynamic grid (G006)          TTIME     (AX020)   YLAT      NORMAL
- strip regrid on Y: XYTVAR --> (G006)           @XACT
- rdstride XYTVAR   C:  8 dset:   1 I:    1    4  J:    2    6  K:    1    2  L: -999 -999
- nulrgd  XYTVAR   M:  6 dset:   1 I:    1    4  J:    1    3  K:    1    2  L: -999 -999
- -DELETE XYTVAR   M:  3 dset:   1 I:    1    4  J:    2    6  K:    1    2  L: -999 -999
- dealloc  dynamic grid (G006)          TTIME     (AX020)   YLAT      NORMAL
+ eval    EX#1     C:  5 dset:   1 I:      1      4  J:    1    3  K:    1    2  L:      1      2
+ allocate dynamic grid (G###)          TTIME     (AX###)   YLAT      NORMAL
+ strip regrid on Y: XYTVAR --> (G###)           @XACT
+ rdstride XYTVAR   C:  8 dset:   1 I:      1      4  J:    2    6  K:    1    2  L:   -999   -999
+ nulrgd  XYTVAR   M:  6 dset:   1 I:      1      4  J:    1    3  K:    1    2  L:   -999   -999
+ -DELETE XYTVAR   M:  3 dset:   1 I:      1      4  J:    2    6  K:    1    2  L:   -999   -999
+ dealloc  dynamic grid (G###)          TTIME     (AX###)   YLAT      NORMAL
              VARIABLE : L*1000 + J*10 + I
                         regrid: 2 deg on Y
              FILENAME : bn_strides.cdf
@@ -27976,19 +27986,19 @@ list/k=1:2 xytvar[j=2:6:2]
  144   / 2:  1024.  2024.  3024.  4024.
  146   / 3:  1026.  2026.  3026.  4026.
 list xytvar[i=1:7:2,j=2:6:2,k=3:5:2]
- dealloc  dynamic grid (G006)          TTIME     (AX020)   YLAT      NORMAL
- -DELETE XYTVAR   M:  6 dset:   1 I:    1    4  J:    1    3  K:    1    2  L: -999 -999
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G006)          (AX024)   (AX022)   (AX023)   NORMAL
- dealloc  dynamic grid (G006)          (AX024)   (AX022)   (AX023)   NORMAL
- allocate dynamic grid (G006)          (AX024)   (AX022)   (AX023)   NORMAL
- eval    EX#1     C:  4 dset:   1 I:    1    4  J:    1    3  K:    1    2  L:    1    2
- allocate dynamic grid (G006)          (AX024)   (AX022)   (AX023)   NORMAL
- strip regrid on X: XYTVAR --> (G006)           @XACT
- rdstride XYTVAR   C:  7 dset:   1 I:    1    7  J:    2    6  K:    3    5  L: -999 -999
- nulrgd  XYTVAR   M:  3 dset:   1 I:    1    4  J:    1    3  K:    1    2  L: -999 -999
- -DELETE XYTVAR   M:  6 dset:   1 I:    1    7  J:    2    6  K:    3    5  L: -999 -999
- dealloc  dynamic grid (G006)          (AX024)   (AX022)   (AX023)   NORMAL
+ dealloc  dynamic grid (G###)          TTIME     (AX###)   YLAT      NORMAL
+ -DELETE XYTVAR   M:  6 dset:   1 I:      1      4  J:    1    3  K:    1    2  L:   -999   -999
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G###)          (AX###)   (AX###)   (AX###)   NORMAL
+ dealloc  dynamic grid (G###)          (AX###)   (AX###)   (AX###)   NORMAL
+ allocate dynamic grid (G###)          (AX###)   (AX###)   (AX###)   NORMAL
+ eval    EX#1     C:  4 dset:   1 I:      1      4  J:    1    3  K:    1    2  L:      1      2
+ allocate dynamic grid (G###)          (AX###)   (AX###)   (AX###)   NORMAL
+ strip regrid on X: XYTVAR --> (G###)           @XACT
+ rdstride XYTVAR   C:  7 dset:   1 I:      1      7  J:    2    6  K:    3    5  L:   -999   -999
+ nulrgd  XYTVAR   M:  3 dset:   1 I:      1      4  J:    1    3  K:    1    2  L:   -999   -999
+ -DELETE XYTVAR   M:  6 dset:   1 I:      1      7  J:    2    6  K:    3    5  L:   -999   -999
+ dealloc  dynamic grid (G###)          (AX###)   (AX###)   (AX###)   NORMAL
              VARIABLE : L*1000 + J*10 + I
                         regrid: 2 day on X, 2 deg on Y, 2 deg on Z
              FILENAME : bn_strides.cdf
@@ -28004,8 +28014,8 @@ list xytvar[i=1:7:2,j=2:6:2,k=3:5:2]
  144   / 2:  1054.  3054.  5054.  7054.
  146   / 3:  1056.  3056.  5056.  7056.
 canc data/all
- dealloc  dynamic grid (G006)          (AX024)   (AX022)   (AX023)   NORMAL
- -DELETE XYTVAR   M:  3 dset:   1 I:    1    4  J:    1    3  K:    1    2  L: -999 -999
+ dealloc  dynamic grid (G###)          (AX###)   (AX###)   (AX###)   NORMAL
+ -DELETE XYTVAR   M:  3 dset:   1 I:      1      4  J:    1    3  K:    1    2  L:   -999   -999
  canceling dset ./bn_strides.cdf
  
  
@@ -28028,17 +28038,17 @@ cancel region; set region/l=1
 ! reference output
 use/order=yx bn_strides
 list midvar[i=1:5:4, j=2:5:3, k=3:5:2]
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G006)          (AX022)   (AX024)   (AX020)   TAX1_6
- dealloc  dynamic grid (G006)          (AX022)   (AX024)   (AX020)   TAX1_6
- allocate dynamic grid (G006)          (AX022)   (AX024)   (AX020)   TAX1_6
- eval    EX#1     C:  4 dset:   1 I:    1    2  J:    1    2  K:    1    2  L:    1    1
- allocate dynamic grid (G006)          (AX022)   (AX024)   (AX020)   TAX1_6
- strip regrid on X: MIDVAR --> (G006)           @XACT
- rdstride MIDVAR   C:  7 dset:   1 I:    1    5  J:    2    5  K:    3    5  L:    1    1
- nulrgd  MIDVAR   M:  6 dset:   1 I:    1    2  J:    1    2  K:    1    2  L:    1    1
- -DELETE MIDVAR   M:  3 dset:   1 I:    1    5  J:    2    5  K:    3    5  L:    1    1
- dealloc  dynamic grid (G006)          (AX022)   (AX024)   (AX020)   TAX1_6
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G###)          (AX###)   (AX###)   (AX###)   TAX1_6
+ dealloc  dynamic grid (G###)          (AX###)   (AX###)   (AX###)   TAX1_6
+ allocate dynamic grid (G###)          (AX###)   (AX###)   (AX###)   TAX1_6
+ eval    EX#1     C:  4 dset:   1 I:      1      2  J:    1    2  K:    1    2  L:      1      1
+ allocate dynamic grid (G###)          (AX###)   (AX###)   (AX###)   TAX1_6
+ strip regrid on X: MIDVAR --> (G###)           @XACT
+ rdstride MIDVAR   C:  7 dset:   1 I:      1      5  J:    2    5  K:    3    5  L:      1      1
+ nulrgd  MIDVAR   M:  6 dset:   1 I:      1      2  J:    1    2  K:    1    2  L:      1      1
+ -DELETE MIDVAR   M:  3 dset:   1 I:      1      5  J:    2    5  K:    3    5  L:      1      1
+ dealloc  dynamic grid (G###)          (AX###)   (AX###)   (AX###)   TAX1_6
              VARIABLE : VAR
                         regrid: 4 delta on X, 3 delta on Y, 2 delta on Z
              FILENAME : bn_strides.cdf
@@ -28053,26 +28063,26 @@ list midvar[i=1:5:4, j=2:5:3, k=3:5:2]
  2   / 1:  1512.  1552.
  5   / 2:  1515.  1555.
 canc data/all
- dealloc  dynamic grid (G006)          (AX022)   (AX024)   (AX020)   TAX1_6
- -DELETE MIDVAR   M:  6 dset:   1 I:    1    2  J:    1    2  K:    1    2  L:    1    1
+ dealloc  dynamic grid (G###)          (AX###)   (AX###)   (AX###)   TAX1_6
+ -DELETE MIDVAR   M:  6 dset:   1 I:      1      2  J:    1    2  K:    1    2  L:      1      1
  canceling dset ./bn_strides.cdf
  
 use/order=-yx bn_strides
 list midvar[i=1:5:4, j=2:5:3, k=3:5:2]
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G006)          (AX024)   (AX022)   (AX023)   TAX1_6
- dealloc  dynamic grid (G006)          (AX024)   (AX022)   (AX023)   TAX1_6
- allocate dynamic grid (G006)          (AX024)   (AX022)   (AX023)   TAX1_6
- eval    EX#1     C:  4 dset:   1 I:    1    2  J:    1    2  K:    1    2  L:    1    1
- allocate dynamic grid (G006)          (AX024)   (AX022)   (AX023)   TAX1_6
- strip regrid on X: MIDVAR --> (G006)           @XACT
- strip reversing MIDVAR on Y axis:     2     5 dset:   1
- rdstride MIDVAR   C:  8 dset:   1 I:    1    5  J:    5    8  K:    3    5  L:    1    1
- doing reversing MIDVAR on Y axis:     2     5 dset:   1
- -DELETE MIDVAR   M:  6 dset:   1 I:    1    5  J:    2    5  K:    3    5  L:    1    1
- nulrgd  MIDVAR   M:  6 dset:   1 I:    1    2  J:    1    2  K:    1    2  L:    1    1
- -DELETE MIDVAR   M:  3 dset:   1 I:    1    5  J:    2    5  K:    3    5  L:    1    1
- dealloc  dynamic grid (G006)          (AX024)   (AX022)   (AX023)   TAX1_6
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G###)          (AX###)   (AX###)   (AX###)   TAX1_6
+ dealloc  dynamic grid (G###)          (AX###)   (AX###)   (AX###)   TAX1_6
+ allocate dynamic grid (G###)          (AX###)   (AX###)   (AX###)   TAX1_6
+ eval    EX#1     C:  4 dset:   1 I:      1      2  J:    1    2  K:    1    2  L:      1      1
+ allocate dynamic grid (G###)          (AX###)   (AX###)   (AX###)   TAX1_6
+ strip regrid on X: MIDVAR --> (G###)           @XACT
+ strip reversing MIDVAR on Y axis:        2        5 dset:   1
+ rdstride MIDVAR   C:  8 dset:   1 I:      1      5  J:    5    8  K:    3    5  L:      1      1
+ doing reversing MIDVAR on Y axis:        2        5 dset:   1
+ -DELETE MIDVAR   M:  6 dset:   1 I:      1      5  J:    2    5  K:    3    5  L:      1      1
+ nulrgd  MIDVAR   M:  6 dset:   1 I:      1      2  J:    1    2  K:    1    2  L:      1      1
+ -DELETE MIDVAR   M:  3 dset:   1 I:      1      5  J:    2    5  K:    3    5  L:      1      1
+ dealloc  dynamic grid (G###)          (AX###)   (AX###)   (AX###)   TAX1_6
              VARIABLE : VAR
                         regrid: 4 delta on X, 3 delta on Y, 2 delta on Z
              FILENAME : bn_strides.cdf
@@ -28087,26 +28097,26 @@ list midvar[i=1:5:4, j=2:5:3, k=3:5:2]
  2   / 1:  1518.  1558.
  5   / 2:  1515.  1555.
 canc data/all
- dealloc  dynamic grid (G006)          (AX024)   (AX022)   (AX023)   TAX1_6
- -DELETE MIDVAR   M:  6 dset:   1 I:    1    2  J:    1    2  K:    1    2  L:    1    1
+ dealloc  dynamic grid (G###)          (AX###)   (AX###)   (AX###)   TAX1_6
+ -DELETE MIDVAR   M:  6 dset:   1 I:      1      2  J:    1    2  K:    1    2  L:      1      1
  canceling dset ./bn_strides.cdf
  
 use/order=y-x bn_strides
 list midvar[i=1:5:4, j=2:5:3, k=3:5:2]
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G006)          (AX022)   (AX024)   (AX020)   TAX1_6
- dealloc  dynamic grid (G006)          (AX022)   (AX024)   (AX020)   TAX1_6
- allocate dynamic grid (G006)          (AX022)   (AX024)   (AX020)   TAX1_6
- eval    EX#1     C:  4 dset:   1 I:    1    2  J:    1    2  K:    1    2  L:    1    1
- allocate dynamic grid (G006)          (AX022)   (AX024)   (AX020)   TAX1_6
- strip regrid on X: MIDVAR --> (G006)           @XACT
- strip reversing MIDVAR on X axis:     1     5 dset:   1
- rdstride MIDVAR   C:  8 dset:   1 I:    4    8  J:    2    5  K:    3    5  L:    1    1
- doing reversing MIDVAR on X axis:     1     5 dset:   1
- -DELETE MIDVAR   M:  6 dset:   1 I:    1    5  J:    2    5  K:    3    5  L:    1    1
- nulrgd  MIDVAR   M:  6 dset:   1 I:    1    2  J:    1    2  K:    1    2  L:    1    1
- -DELETE MIDVAR   M:  3 dset:   1 I:    1    5  J:    2    5  K:    3    5  L:    1    1
- dealloc  dynamic grid (G006)          (AX022)   (AX024)   (AX020)   TAX1_6
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G###)          (AX###)   (AX###)   (AX###)   TAX1_6
+ dealloc  dynamic grid (G###)          (AX###)   (AX###)   (AX###)   TAX1_6
+ allocate dynamic grid (G###)          (AX###)   (AX###)   (AX###)   TAX1_6
+ eval    EX#1     C:  4 dset:   1 I:      1      2  J:    1    2  K:    1    2  L:      1      1
+ allocate dynamic grid (G###)          (AX###)   (AX###)   (AX###)   TAX1_6
+ strip regrid on X: MIDVAR --> (G###)           @XACT
+ strip reversing MIDVAR on X axis:        1        5 dset:   1
+ rdstride MIDVAR   C:  8 dset:   1 I:      4      8  J:    2    5  K:    3    5  L:      1      1
+ doing reversing MIDVAR on X axis:        1        5 dset:   1
+ -DELETE MIDVAR   M:  6 dset:   1 I:      1      5  J:    2    5  K:    3    5  L:      1      1
+ nulrgd  MIDVAR   M:  6 dset:   1 I:      1      2  J:    1    2  K:    1    2  L:      1      1
+ -DELETE MIDVAR   M:  3 dset:   1 I:      1      5  J:    2    5  K:    3    5  L:      1      1
+ dealloc  dynamic grid (G###)          (AX###)   (AX###)   (AX###)   TAX1_6
              VARIABLE : VAR
                         regrid: 4 delta on X, 3 delta on Y, 2 delta on Z
              FILENAME : bn_strides.cdf
@@ -28121,24 +28131,24 @@ list midvar[i=1:5:4, j=2:5:3, k=3:5:2]
  2   / 1:  1582.  1542.
  5   / 2:  1585.  1545.
 canc data/all
- dealloc  dynamic grid (G006)          (AX022)   (AX024)   (AX020)   TAX1_6
- -DELETE MIDVAR   M:  6 dset:   1 I:    1    2  J:    1    2  K:    1    2  L:    1    1
+ dealloc  dynamic grid (G###)          (AX###)   (AX###)   (AX###)   TAX1_6
+ -DELETE MIDVAR   M:  6 dset:   1 I:      1      2  J:    1    2  K:    1    2  L:      1      1
  canceling dset ./bn_strides.cdf
  
 ! reference output
 use/order=tyx bn_strides
 list midvar[i=1:5:4, j=2:5:3, k=3:5:2]
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G006)          (AX024)   (AX022)   (AX023)   ZAX1_7
- dealloc  dynamic grid (G006)          (AX024)   (AX022)   (AX023)   ZAX1_7
- allocate dynamic grid (G006)          (AX024)   (AX022)   (AX023)   ZAX1_7
- eval    EX#1     C:  4 dset:   1 I:    1    2  J:    1    2  K:    1    2  L:    1    1
- allocate dynamic grid (G006)          (AX024)   (AX022)   (AX023)   ZAX1_7
- strip regrid on X: MIDVAR --> (G006)           @XACT
- rdstride MIDVAR   C:  7 dset:   1 I:    1    5  J:    2    5  K:    3    5  L:    1    1
- nulrgd  MIDVAR   M:  3 dset:   1 I:    1    2  J:    1    2  K:    1    2  L:    1    1
- -DELETE MIDVAR   M:  6 dset:   1 I:    1    5  J:    2    5  K:    3    5  L:    1    1
- dealloc  dynamic grid (G006)          (AX024)   (AX022)   (AX023)   ZAX1_7
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G###)          (AX###)   (AX###)   (AX###)   ZAX1_7
+ dealloc  dynamic grid (G###)          (AX###)   (AX###)   (AX###)   ZAX1_7
+ allocate dynamic grid (G###)          (AX###)   (AX###)   (AX###)   ZAX1_7
+ eval    EX#1     C:  4 dset:   1 I:      1      2  J:    1    2  K:    1    2  L:      1      1
+ allocate dynamic grid (G###)          (AX###)   (AX###)   (AX###)   ZAX1_7
+ strip regrid on X: MIDVAR --> (G###)           @XACT
+ rdstride MIDVAR   C:  7 dset:   1 I:      1      5  J:    2    5  K:    3    5  L:      1      1
+ nulrgd  MIDVAR   M:  3 dset:   1 I:      1      2  J:    1    2  K:    1    2  L:      1      1
+ -DELETE MIDVAR   M:  6 dset:   1 I:      1      5  J:    2    5  K:    3    5  L:      1      1
+ dealloc  dynamic grid (G###)          (AX###)   (AX###)   (AX###)   ZAX1_7
              VARIABLE : VAR
                         regrid: 4 delta on X, 3 delta on Y, 2 delta on Z
              FILENAME : bn_strides.cdf
@@ -28153,27 +28163,27 @@ list midvar[i=1:5:4, j=2:5:3, k=3:5:2]
  2   / 1:  1125.  5125.
  5   / 2:  1155.  5155.
 canc data/all
- dealloc  dynamic grid (G006)          (AX024)   (AX022)   (AX023)   ZAX1_7
- -DELETE MIDVAR   M:  3 dset:   1 I:    1    2  J:    1    2  K:    1    2  L:    1    1
+ dealloc  dynamic grid (G###)          (AX###)   (AX###)   (AX###)   ZAX1_7
+ -DELETE MIDVAR   M:  3 dset:   1 I:      1      2  J:    1    2  K:    1    2  L:      1      1
  canceling dset ./bn_strides.cdf
  
 ! note the reversal on axes 1,2 and 3 (X,Y,Z in memory -- NOT T)
 use/order=-t-y-x bn_strides
 list midvar[i=1:5:4, j=2:5:3, k=3:5:2]
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G006)          (AX022)   (AX024)   (AX020)   ZAX1_7
- dealloc  dynamic grid (G006)          (AX022)   (AX024)   (AX020)   ZAX1_7
- allocate dynamic grid (G006)          (AX022)   (AX024)   (AX020)   ZAX1_7
- eval    EX#1     C:  4 dset:   1 I:    1    2  J:    1    2  K:    1    2  L:    1    1
- allocate dynamic grid (G006)          (AX022)   (AX024)   (AX020)   ZAX1_7
- strip regrid on X: MIDVAR --> (G006)           @XACT
- strip reversing MIDVAR on X axis:     1     5 dset:   1
- rdstride MIDVAR   C:  8 dset:   1 I:    2    6  J:    4    7  K:    3    5  L:    7    7
- doing reversing MIDVAR on X axis:     1     5 dset:   1
- -DELETE MIDVAR   M:  3 dset:   1 I:    1    5  J:    2    5  K:    3    5  L:    1    1
- nulrgd  MIDVAR   M:  3 dset:   1 I:    1    2  J:    1    2  K:    1    2  L:    1    1
- -DELETE MIDVAR   M:  6 dset:   1 I:    1    5  J:    2    5  K:    3    5  L:    1    1
- dealloc  dynamic grid (G006)          (AX022)   (AX024)   (AX020)   ZAX1_7
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G###)          (AX###)   (AX###)   (AX###)   ZAX1_7
+ dealloc  dynamic grid (G###)          (AX###)   (AX###)   (AX###)   ZAX1_7
+ allocate dynamic grid (G###)          (AX###)   (AX###)   (AX###)   ZAX1_7
+ eval    EX#1     C:  4 dset:   1 I:      1      2  J:    1    2  K:    1    2  L:      1      1
+ allocate dynamic grid (G###)          (AX###)   (AX###)   (AX###)   ZAX1_7
+ strip regrid on X: MIDVAR --> (G###)           @XACT
+ strip reversing MIDVAR on X axis:        1        5 dset:   1
+ rdstride MIDVAR   C:  8 dset:   1 I:      2      6  J:    4    7  K:    3    5  L:      7      7
+ doing reversing MIDVAR on X axis:        1        5 dset:   1
+ -DELETE MIDVAR   M:  3 dset:   1 I:      1      5  J:    2    5  K:    3    5  L:      1      1
+ nulrgd  MIDVAR   M:  3 dset:   1 I:      1      2  J:    1    2  K:    1    2  L:      1      1
+ -DELETE MIDVAR   M:  6 dset:   1 I:      1      5  J:    2    5  K:    3    5  L:      1      1
+ dealloc  dynamic grid (G###)          (AX###)   (AX###)   (AX###)   ZAX1_7
              VARIABLE : VAR
                         regrid: 4 delta on X, 3 delta on Y, 2 delta on Z
              FILENAME : bn_strides.cdf
@@ -28188,24 +28198,24 @@ list midvar[i=1:5:4, j=2:5:3, k=3:5:2]
  2   / 1:  6775.  2775.
  5   / 2:  6745.  2745.
 canc data/all
- dealloc  dynamic grid (G006)          (AX022)   (AX024)   (AX020)   ZAX1_7
- -DELETE MIDVAR   M:  3 dset:   1 I:    1    2  J:    1    2  K:    1    2  L:    1    1
+ dealloc  dynamic grid (G###)          (AX###)   (AX###)   (AX###)   ZAX1_7
+ -DELETE MIDVAR   M:  3 dset:   1 I:      1      2  J:    1    2  K:    1    2  L:      1      1
  canceling dset ./bn_strides.cdf
  
 ! reference output
 use/order=txy bn_strides
 list midvar[i=1:5:4, j=2:5:3, k=3:5:2]
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G006)          (AX024)   (AX022)   (AX023)   ZAX1_7
- dealloc  dynamic grid (G006)          (AX024)   (AX022)   (AX023)   ZAX1_7
- allocate dynamic grid (G006)          (AX024)   (AX022)   (AX023)   ZAX1_7
- eval    EX#1     C:  4 dset:   1 I:    1    2  J:    1    2  K:    1    2  L:    1    1
- allocate dynamic grid (G006)          (AX024)   (AX022)   (AX023)   ZAX1_7
- strip regrid on X: MIDVAR --> (G006)           @XACT
- rdstride MIDVAR   C:  7 dset:   1 I:    1    5  J:    2    5  K:    3    5  L:    1    1
- nulrgd  MIDVAR   M:  6 dset:   1 I:    1    2  J:    1    2  K:    1    2  L:    1    1
- -DELETE MIDVAR   M:  3 dset:   1 I:    1    5  J:    2    5  K:    3    5  L:    1    1
- dealloc  dynamic grid (G006)          (AX024)   (AX022)   (AX023)   ZAX1_7
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G###)          (AX###)   (AX###)   (AX###)   ZAX1_7
+ dealloc  dynamic grid (G###)          (AX###)   (AX###)   (AX###)   ZAX1_7
+ allocate dynamic grid (G###)          (AX###)   (AX###)   (AX###)   ZAX1_7
+ eval    EX#1     C:  4 dset:   1 I:      1      2  J:    1    2  K:    1    2  L:      1      1
+ allocate dynamic grid (G###)          (AX###)   (AX###)   (AX###)   ZAX1_7
+ strip regrid on X: MIDVAR --> (G###)           @XACT
+ rdstride MIDVAR   C:  7 dset:   1 I:      1      5  J:    2    5  K:    3    5  L:      1      1
+ nulrgd  MIDVAR   M:  6 dset:   1 I:      1      2  J:    1    2  K:    1    2  L:      1      1
+ -DELETE MIDVAR   M:  3 dset:   1 I:      1      5  J:    2    5  K:    3    5  L:      1      1
+ dealloc  dynamic grid (G###)          (AX###)   (AX###)   (AX###)   ZAX1_7
              VARIABLE : VAR
                         regrid: 4 delta on X, 3 delta on Y, 2 delta on Z
              FILENAME : bn_strides.cdf
@@ -28220,26 +28230,26 @@ list midvar[i=1:5:4, j=2:5:3, k=3:5:2]
  2   / 1:  1152.  5152.
  5   / 2:  1155.  5155.
 canc data/all
- dealloc  dynamic grid (G006)          (AX024)   (AX022)   (AX023)   ZAX1_7
- -DELETE MIDVAR   M:  6 dset:   1 I:    1    2  J:    1    2  K:    1    2  L:    1    1
+ dealloc  dynamic grid (G###)          (AX###)   (AX###)   (AX###)   ZAX1_7
+ -DELETE MIDVAR   M:  6 dset:   1 I:      1      2  J:    1    2  K:    1    2  L:      1      1
  canceling dset ./bn_strides.cdf
  
 use/order=-t-x-y bn_strides
 list midvar[i=1:5:4, j=2:5:3, k=3:5:2]
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G006)          (AX022)   (AX024)   (AX020)   ZAX1_7
- dealloc  dynamic grid (G006)          (AX022)   (AX024)   (AX020)   ZAX1_7
- allocate dynamic grid (G006)          (AX022)   (AX024)   (AX020)   ZAX1_7
- eval    EX#1     C:  4 dset:   1 I:    1    2  J:    1    2  K:    1    2  L:    1    1
- allocate dynamic grid (G006)          (AX022)   (AX024)   (AX020)   ZAX1_7
- strip regrid on X: MIDVAR --> (G006)           @XACT
- strip reversing MIDVAR on Y axis:     2     5 dset:   1
- rdstride MIDVAR   C:  8 dset:   1 I:    2    6  J:    5    8  K:    3    5  L:    7    7
- doing reversing MIDVAR on Y axis:     2     5 dset:   1
- -DELETE MIDVAR   M:  6 dset:   1 I:    1    5  J:    2    5  K:    3    5  L:    1    1
- nulrgd  MIDVAR   M:  6 dset:   1 I:    1    2  J:    1    2  K:    1    2  L:    1    1
- -DELETE MIDVAR   M:  3 dset:   1 I:    1    5  J:    2    5  K:    3    5  L:    1    1
- dealloc  dynamic grid (G006)          (AX022)   (AX024)   (AX020)   ZAX1_7
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G###)          (AX###)   (AX###)   (AX###)   ZAX1_7
+ dealloc  dynamic grid (G###)          (AX###)   (AX###)   (AX###)   ZAX1_7
+ allocate dynamic grid (G###)          (AX###)   (AX###)   (AX###)   ZAX1_7
+ eval    EX#1     C:  4 dset:   1 I:      1      2  J:    1    2  K:    1    2  L:      1      1
+ allocate dynamic grid (G###)          (AX###)   (AX###)   (AX###)   ZAX1_7
+ strip regrid on X: MIDVAR --> (G###)           @XACT
+ strip reversing MIDVAR on Y axis:        2        5 dset:   1
+ rdstride MIDVAR   C:  8 dset:   1 I:      2      6  J:    5    8  K:    3    5  L:      7      7
+ doing reversing MIDVAR on Y axis:        2        5 dset:   1
+ -DELETE MIDVAR   M:  6 dset:   1 I:      1      5  J:    2    5  K:    3    5  L:      1      1
+ nulrgd  MIDVAR   M:  6 dset:   1 I:      1      2  J:    1    2  K:    1    2  L:      1      1
+ -DELETE MIDVAR   M:  3 dset:   1 I:      1      5  J:    2    5  K:    3    5  L:      1      1
+ dealloc  dynamic grid (G###)          (AX###)   (AX###)   (AX###)   ZAX1_7
              VARIABLE : VAR
                         regrid: 4 delta on X, 3 delta on Y, 2 delta on Z
              FILENAME : bn_strides.cdf
@@ -28254,8 +28264,8 @@ list midvar[i=1:5:4, j=2:5:3, k=3:5:2]
  2   / 1:  6758.  2758.
  5   / 2:  6755.  2755.
 canc data/all
- dealloc  dynamic grid (G006)          (AX022)   (AX024)   (AX020)   ZAX1_7
- -DELETE MIDVAR   M:  6 dset:   1 I:    1    2  J:    1    2  K:    1    2  L:    1    1
+ dealloc  dynamic grid (G###)          (AX###)   (AX###)   (AX###)   ZAX1_7
+ -DELETE MIDVAR   M:  6 dset:   1 I:      1      2  J:    1    2  K:    1    2  L:      1      1
  canceling dset ./bn_strides.cdf
 *** Running ferret script: bn_non_COARDS_netCDF.jnl
 ! bn_non_COARDS_netCDF.jnl
@@ -28486,10 +28496,10 @@ GO bn_cache_hits.sub sst
  
 stat $1
  !-> stat sst
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME
- eval    EX#1     C:  4 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- reading SST      M:  1 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
+ eval    EX#1     C:  4 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
+ reading SST      M:  1 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
  
              SEA SURFACE TEMPERATURE
              LONGITUDE: 20E to 20E(380)
@@ -28508,20 +28518,20 @@ stat $1
  Standard deviation: 10.139
 CONFUSE
  dealloc  dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  dealloc  dynamic grid ABSTRACT        ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT
- pass #2 EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ pass #2 EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:    1    5  J: -999 -999  K: -999 -999  L:    1    1
- pseudo  I        M:  2 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  5 dset:   1 I:      1      5  J: -999 -999  K: -999 -999  L:      1      1
+ pseudo  I        M:  2 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
 stat $1
  !-> stat sst
- -DELETE I        M:  2 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ -DELETE I        M:  2 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME
- eval    EX#1     C:  4 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- found   SST      M:  1 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
+ eval    EX#1     C:  4 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
+ found   SST      M:  1 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
  
              SEA SURFACE TEMPERATURE
              LONGITUDE: 20E to 20E(380)
@@ -28543,16 +28553,16 @@ define axis/x=130e:80w:1 xtrop
 stat $1[gx=xtrop]
  !-> stat sst[gx=xtrop]
  dealloc  dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME
- dealloc  dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME
- allocate dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME
- eval    EX#1     C:  4 dset:   1 I:    1  151  J:    1   90  K: -999 -999  L:    1    1
- allocate dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME
- strip regrid on X: SST --> (G002)           @LIN
- found   SST      M:  1 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- regrid  SST      M:  2 dset:   1 I:    1  151  J:    1   90  K: -999 -999  L:    1    1
- dealloc  dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G###)          XTROP     COADSY    NORMAL    TIME
+ dealloc  dynamic grid (G###)          XTROP     COADSY    NORMAL    TIME
+ allocate dynamic grid (G###)          XTROP     COADSY    NORMAL    TIME
+ eval    EX#1     C:  4 dset:   1 I:      1    151  J:    1   90  K: -999 -999  L:      1      1
+ allocate dynamic grid (G###)          XTROP     COADSY    NORMAL    TIME
+ strip regrid on X: SST --> (G###)           @LIN
+ found   SST      M:  1 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
+ regrid  SST      M:  2 dset:   1 I:      1    151  J:    1   90  K: -999 -999  L:      1      1
+ dealloc  dynamic grid (G###)          XTROP     COADSY    NORMAL    TIME
  
              SEA SURFACE TEMPERATURE
              regrid: 1 deg on X
@@ -28571,28 +28581,28 @@ stat $1[gx=xtrop]
  Mean    value: 17.605 (unweighted average)
  Standard deviation: 9.8848
 CONFUSE
- dealloc  dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME
- -DELETE SST      M:  2 dset:   1 I:    1  151  J:    1   90  K: -999 -999  L:    1    1
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ dealloc  dynamic grid (G###)          XTROP     COADSY    NORMAL    TIME
+ -DELETE SST      M:  2 dset:   1 I:      1    151  J:    1   90  K: -999 -999  L:      1      1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  dealloc  dynamic grid ABSTRACT        ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT
- pass #2 EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ pass #2 EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:    1    5  J: -999 -999  K: -999 -999  L:    1    1
- pseudo  I        M:  2 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  5 dset:   1 I:      1      5  J: -999 -999  K: -999 -999  L:      1      1
+ pseudo  I        M:  2 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
 stat $1[gx=xtrop]
  !-> stat sst[gx=xtrop]
- -DELETE I        M:  2 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ -DELETE I        M:  2 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME
- dealloc  dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME
- allocate dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME
- eval    EX#1     C:  4 dset:   1 I:    1  151  J:    1   90  K: -999 -999  L:    1    1
- allocate dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME
- strip regrid on X: SST --> (G002)           @LIN
- found   SST      M:  1 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- regrid  SST      M:  2 dset:   1 I:    1  151  J:    1   90  K: -999 -999  L:    1    1
- dealloc  dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G###)          XTROP     COADSY    NORMAL    TIME
+ dealloc  dynamic grid (G###)          XTROP     COADSY    NORMAL    TIME
+ allocate dynamic grid (G###)          XTROP     COADSY    NORMAL    TIME
+ eval    EX#1     C:  4 dset:   1 I:      1    151  J:    1   90  K: -999 -999  L:      1      1
+ allocate dynamic grid (G###)          XTROP     COADSY    NORMAL    TIME
+ strip regrid on X: SST --> (G###)           @LIN
+ found   SST      M:  1 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
+ regrid  SST      M:  2 dset:   1 I:      1    151  J:    1   90  K: -999 -999  L:      1      1
+ dealloc  dynamic grid (G###)          XTROP     COADSY    NORMAL    TIME
  
              SEA SURFACE TEMPERATURE
              regrid: 1 deg on X
@@ -28615,21 +28625,21 @@ let $1x = $1[gx=xtrop]
  !-> DEFINE VARIABLE sstx = sst[gx=xtrop]
 stat $1x
  !-> stat sstx
- dealloc  dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME
- -DELETE SST      M:  2 dset:   1 I:    1  151  J:    1   90  K: -999 -999  L:    1    1
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid SSTX     C:  7 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME
- dealloc  dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME
- allocate dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME
- allocate dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME
- eval    EX#1     C:  4 dset:   1 I:    1  151  J:    1   90  K: -999 -999  L:    1    1
- eval    SSTX     C:  6 dset:   1 I:    1  151  J:    1   90  K: -999 -999  L:    1    1
- allocate dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME
- strip regrid on X: SST --> (G002)           @LIN
- found   SST      M:  1 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- regrid  SST      M:  2 dset:   1 I:    1  151  J:    1   90  K: -999 -999  L:    1    1
- dealloc  dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME
+ dealloc  dynamic grid (G###)          XTROP     COADSY    NORMAL    TIME
+ -DELETE SST      M:  2 dset:   1 I:      1    151  J:    1   90  K: -999 -999  L:      1      1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid SSTX     C:  7 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G###)          XTROP     COADSY    NORMAL    TIME
+ dealloc  dynamic grid (G###)          XTROP     COADSY    NORMAL    TIME
+ allocate dynamic grid (G###)          XTROP     COADSY    NORMAL    TIME
+ allocate dynamic grid (G###)          XTROP     COADSY    NORMAL    TIME
+ eval    EX#1     C:  4 dset:   1 I:      1    151  J:    1   90  K: -999 -999  L:      1      1
+ eval    SSTX     C:  6 dset:   1 I:      1    151  J:    1   90  K: -999 -999  L:      1      1
+ allocate dynamic grid (G###)          XTROP     COADSY    NORMAL    TIME
+ strip regrid on X: SST --> (G###)           @LIN
+ found   SST      M:  1 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
+ regrid  SST      M:  2 dset:   1 I:      1    151  J:    1   90  K: -999 -999  L:      1      1
+ dealloc  dynamic grid (G###)          XTROP     COADSY    NORMAL    TIME
  
              SST[GX=XTROP]
              LONGITUDE: 129.5E to 79.5W
@@ -28647,21 +28657,21 @@ stat $1x
  Mean    value: 17.605 (unweighted average)
  Standard deviation: 9.8848
 CONFUSE
- dealloc  dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ dealloc  dynamic grid (G###)          XTROP     COADSY    NORMAL    TIME
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  dealloc  dynamic grid ABSTRACT        ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT
- pass #2 EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ pass #2 EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:    1    5  J: -999 -999  K: -999 -999  L:    1    1
- pseudo  I        M:  4 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  5 dset:   1 I:      1      5  J: -999 -999  K: -999 -999  L:      1      1
+ pseudo  I        M:  4 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
 stat $1x
  !-> stat sstx
- -DELETE I        M:  4 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ -DELETE I        M:  4 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME
- eval    EX#1     C:  4 dset:   1 I:    1  151  J:    1   90  K: -999 -999  L:    1    1
- found   SSTX     M:  3 dset:   1 I:    1  151  J:    1   90  K: -999 -999  L:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G###)          XTROP     COADSY    NORMAL    TIME
+ eval    EX#1     C:  4 dset:   1 I:      1    151  J:    1   90  K: -999 -999  L:      1      1
+ found   SSTX     M:  3 dset:   1 I:      1    151  J:    1   90  K: -999 -999  L:      1      1
  
              SST[GX=XTROP]
              LONGITUDE: 129.5E to 79.5W
@@ -28682,15 +28692,15 @@ stat $1x
 define grid/x=xtrop gx
 stat $1[g=gx]
  !-> stat sst[g=gx]
- dealloc  dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME
- dealloc  dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME
- allocate dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME
- eval    EX#1     C:  4 dset:   1 I:    1  151  J:    1   90  K: -999 -999  L:    1    1
- allocate dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME
- found   SST      M:  2 dset:   1 I:    1  151  J:    1   90  K: -999 -999  L:    1    1
- dealloc  dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME
+ dealloc  dynamic grid (G###)          XTROP     COADSY    NORMAL    TIME
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G###)          XTROP     COADSY    NORMAL    TIME
+ dealloc  dynamic grid (G###)          XTROP     COADSY    NORMAL    TIME
+ allocate dynamic grid (G###)          XTROP     COADSY    NORMAL    TIME
+ eval    EX#1     C:  4 dset:   1 I:      1    151  J:    1   90  K: -999 -999  L:      1      1
+ allocate dynamic grid (G###)          XTROP     COADSY    NORMAL    TIME
+ found   SST      M:  2 dset:   1 I:      1    151  J:    1   90  K: -999 -999  L:      1      1
+ dealloc  dynamic grid (G###)          XTROP     COADSY    NORMAL    TIME
  
              SEA SURFACE TEMPERATURE
              regrid: 1 deg on X
@@ -28709,25 +28719,25 @@ stat $1[g=gx]
  Mean    value: 17.605 (unweighted average)
  Standard deviation: 9.8848
 CONFUSE
- dealloc  dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ dealloc  dynamic grid (G###)          XTROP     COADSY    NORMAL    TIME
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  dealloc  dynamic grid ABSTRACT        ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT
- pass #2 EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ pass #2 EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:    1    5  J: -999 -999  K: -999 -999  L:    1    1
- pseudo  I        M:  4 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  5 dset:   1 I:      1      5  J: -999 -999  K: -999 -999  L:      1      1
+ pseudo  I        M:  4 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
 stat $1[g=gx]
  !-> stat sst[g=gx]
- -DELETE I        M:  4 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ -DELETE I        M:  4 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME
- dealloc  dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME
- allocate dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME
- eval    EX#1     C:  4 dset:   1 I:    1  151  J:    1   90  K: -999 -999  L:    1    1
- allocate dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME
- found   SST      M:  2 dset:   1 I:    1  151  J:    1   90  K: -999 -999  L:    1    1
- dealloc  dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G###)          XTROP     COADSY    NORMAL    TIME
+ dealloc  dynamic grid (G###)          XTROP     COADSY    NORMAL    TIME
+ allocate dynamic grid (G###)          XTROP     COADSY    NORMAL    TIME
+ eval    EX#1     C:  4 dset:   1 I:      1    151  J:    1   90  K: -999 -999  L:      1      1
+ allocate dynamic grid (G###)          XTROP     COADSY    NORMAL    TIME
+ found   SST      M:  2 dset:   1 I:      1    151  J:    1   90  K: -999 -999  L:      1      1
+ dealloc  dynamic grid (G###)          XTROP     COADSY    NORMAL    TIME
  
              SEA SURFACE TEMPERATURE
              regrid: 1 deg on X
@@ -28749,18 +28759,18 @@ stat $1[g=gx]
 define axis/y=20s:20n:1 ytrop
 stat $1[gx=xtrop,gy=ytrop]
  !-> stat sst[gx=xtrop,gy=ytrop]
- dealloc  dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G003)          XTROP     YTROP     NORMAL    TIME
- dealloc  dynamic grid (G003)          XTROP     YTROP     NORMAL    TIME
- allocate dynamic grid (G003)          XTROP     YTROP     NORMAL    TIME
- eval    EX#1     C:  4 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
- allocate dynamic grid (G003)          XTROP     YTROP     NORMAL    TIME
- strip regrid on X: SST --> (G003)           @LIN
- found   SST      M:  1 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
+ dealloc  dynamic grid (G###)          XTROP     COADSY    NORMAL    TIME
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G###)          XTROP     YTROP     NORMAL    TIME
+ dealloc  dynamic grid (G###)          XTROP     YTROP     NORMAL    TIME
+ allocate dynamic grid (G###)          XTROP     YTROP     NORMAL    TIME
+ eval    EX#1     C:  4 dset:   1 I:      1    151  J:    1   41  K: -999 -999  L:      1      1
+ allocate dynamic grid (G###)          XTROP     YTROP     NORMAL    TIME
+ strip regrid on X: SST --> (G###)           @LIN
+ found   SST      M:  1 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
  regrid XY
- regrid  SST      M:  4 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
- dealloc  dynamic grid (G003)          XTROP     YTROP     NORMAL    TIME
+ regrid  SST      M:  4 dset:   1 I:      1    151  J:    1   41  K: -999 -999  L:      1      1
+ dealloc  dynamic grid (G###)          XTROP     YTROP     NORMAL    TIME
  
              SEA SURFACE TEMPERATURE
              regrid: 1 deg on X, 1 deg on Y
@@ -28779,29 +28789,29 @@ stat $1[gx=xtrop,gy=ytrop]
  Mean    value: 26.908 (unweighted average)
  Standard deviation: 1.778
 CONFUSE
- dealloc  dynamic grid (G003)          XTROP     YTROP     NORMAL    TIME
- -DELETE SST      M:  4 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ dealloc  dynamic grid (G###)          XTROP     YTROP     NORMAL    TIME
+ -DELETE SST      M:  4 dset:   1 I:      1    151  J:    1   41  K: -999 -999  L:      1      1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  dealloc  dynamic grid ABSTRACT        ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT
- pass #2 EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ pass #2 EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:    1    5  J: -999 -999  K: -999 -999  L:    1    1
- pseudo  I        M:  4 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  5 dset:   1 I:      1      5  J: -999 -999  K: -999 -999  L:      1      1
+ pseudo  I        M:  4 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
 stat $1[gx=xtrop,gy=ytrop]
  !-> stat sst[gx=xtrop,gy=ytrop]
- -DELETE I        M:  4 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ -DELETE I        M:  4 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G003)          XTROP     YTROP     NORMAL    TIME
- dealloc  dynamic grid (G003)          XTROP     YTROP     NORMAL    TIME
- allocate dynamic grid (G003)          XTROP     YTROP     NORMAL    TIME
- eval    EX#1     C:  4 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
- allocate dynamic grid (G003)          XTROP     YTROP     NORMAL    TIME
- strip regrid on X: SST --> (G003)           @LIN
- found   SST      M:  1 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G###)          XTROP     YTROP     NORMAL    TIME
+ dealloc  dynamic grid (G###)          XTROP     YTROP     NORMAL    TIME
+ allocate dynamic grid (G###)          XTROP     YTROP     NORMAL    TIME
+ eval    EX#1     C:  4 dset:   1 I:      1    151  J:    1   41  K: -999 -999  L:      1      1
+ allocate dynamic grid (G###)          XTROP     YTROP     NORMAL    TIME
+ strip regrid on X: SST --> (G###)           @LIN
+ found   SST      M:  1 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
  regrid XY
- regrid  SST      M:  4 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
- dealloc  dynamic grid (G003)          XTROP     YTROP     NORMAL    TIME
+ regrid  SST      M:  4 dset:   1 I:      1    151  J:    1   41  K: -999 -999  L:      1      1
+ dealloc  dynamic grid (G###)          XTROP     YTROP     NORMAL    TIME
  
              SEA SURFACE TEMPERATURE
              regrid: 1 deg on X, 1 deg on Y
@@ -28822,19 +28832,19 @@ stat $1[gx=xtrop,gy=ytrop]
  
 define grid/like=$1/x=xtrop/y=ytrop gxyt
  !-> define grid/like=sst/x=xtrop/y=ytrop gxyt
- dealloc  dynamic grid (G003)          XTROP     YTROP     NORMAL    TIME
- -DELETE SST      M:  4 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
- getgrid EX#1     C:  6 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ dealloc  dynamic grid (G###)          XTROP     YTROP     NORMAL    TIME
+ -DELETE SST      M:  4 dset:   1 I:      1    151  J:    1   41  K: -999 -999  L:      1      1
+ getgrid EX#1     C:  6 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME
 stat $1[g=gxyt]
  !-> stat sst[g=gxyt]
  dealloc  dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:      1    151  J:    1   41  K: -999 -999  L:      1      1
  strip regrid on X: SST --> GXYT             @LIN
- found   SST      M:  1 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
+ found   SST      M:  1 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
  regrid XY
- regrid  SST      M:  4 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
+ regrid  SST      M:  4 dset:   1 I:      1    151  J:    1   41  K: -999 -999  L:      1      1
  
              SEA SURFACE TEMPERATURE
              regrid: GXYT
@@ -28854,23 +28864,23 @@ stat $1[g=gxyt]
  Standard deviation: 1.778
 CONFUSE
  dealloc  dynamic grid GXYT            XTROP     YTROP     NORMAL    TIME
- -DELETE SST      M:  4 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ -DELETE SST      M:  4 dset:   1 I:      1    151  J:    1   41  K: -999 -999  L:      1      1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  dealloc  dynamic grid ABSTRACT        ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT
- pass #2 EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ pass #2 EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:    1    5  J: -999 -999  K: -999 -999  L:    1    1
- pseudo  I        M:  4 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  5 dset:   1 I:      1      5  J: -999 -999  K: -999 -999  L:      1      1
+ pseudo  I        M:  4 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
 stat $1[g=gxyt]
  !-> stat sst[g=gxyt]
- -DELETE I        M:  4 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ -DELETE I        M:  4 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:      1    151  J:    1   41  K: -999 -999  L:      1      1
  strip regrid on X: SST --> GXYT             @LIN
- found   SST      M:  1 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
+ found   SST      M:  1 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
  regrid XY
- regrid  SST      M:  4 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
+ regrid  SST      M:  4 dset:   1 I:      1    151  J:    1   41  K: -999 -999  L:      1      1
  
              SEA SURFACE TEMPERATURE
              regrid: GXYT
@@ -28894,15 +28904,15 @@ let $1xyt = $1[g=gxyt]
 stat $1xyt
  !-> stat sstxyt
  dealloc  dynamic grid GXYT            XTROP     YTROP     NORMAL    TIME
- -DELETE SST      M:  4 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid SSTXYT   C:  7 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
- eval    SSTXYT   C:  6 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
+ -DELETE SST      M:  4 dset:   1 I:      1    151  J:    1   41  K: -999 -999  L:      1      1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid SSTXYT   C:  7 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:      1    151  J:    1   41  K: -999 -999  L:      1      1
+ eval    SSTXYT   C:  6 dset:   1 I:      1    151  J:    1   41  K: -999 -999  L:      1      1
  strip regrid on X: SST --> GXYT             @LIN
- found   SST      M:  1 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
+ found   SST      M:  1 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
  regrid XY
- regrid  SST      M:  4 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
+ regrid  SST      M:  4 dset:   1 I:      1    151  J:    1   41  K: -999 -999  L:      1      1
  
              SST[G=GXYT]
              LONGITUDE: 129.5E to 79.5W
@@ -28921,19 +28931,19 @@ stat $1xyt
  Standard deviation: 1.778
 CONFUSE
  dealloc  dynamic grid GXYT            XTROP     YTROP     NORMAL    TIME
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  dealloc  dynamic grid ABSTRACT        ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT
- pass #2 EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ pass #2 EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:    1    5  J: -999 -999  K: -999 -999  L:    1    1
- pseudo  I        M:  6 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  5 dset:   1 I:      1      5  J: -999 -999  K: -999 -999  L:      1      1
+ pseudo  I        M:  6 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
 stat $1xyt
  !-> stat sstxyt
- -DELETE I        M:  6 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ -DELETE I        M:  6 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
- found   SSTXYT   M:  5 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:      1    151  J:    1   41  K: -999 -999  L:      1      1
+ found   SSTXYT   M:  5 dset:   1 I:      1    151  J:    1   41  K: -999 -999  L:      1      1
  
              SST[G=GXYT]
              LONGITUDE: 129.5E to 79.5W
@@ -28954,22 +28964,22 @@ stat $1xyt
 let $1xyt = $1[g=gxyt]
  !-> DEFINE VARIABLE sstxyt = sst[g=gxyt]
  dealloc  dynamic grid GXYT            XTROP     YTROP     NORMAL    TIME
- -DELETE SSTXYT   M:  5 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
+ -DELETE SSTXYT   M:  5 dset:   1 I:      1    151  J:    1   41  K: -999 -999  L:      1      1
  dealloc  dynamic grid GXYT            XTROP     YTROP     NORMAL    TIME
- -DELETE SST      M:  4 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
- -DELETE SSTX     M:  3 dset:   1 I:    1  151  J:    1   90  K: -999 -999  L:    1    1
- dealloc  dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME
- -DELETE SST      M:  2 dset:   1 I:    1  151  J:    1   90  K: -999 -999  L:    1    1
+ -DELETE SST      M:  4 dset:   1 I:      1    151  J:    1   41  K: -999 -999  L:      1      1
+ -DELETE SSTX     M:  3 dset:   1 I:      1    151  J:    1   90  K: -999 -999  L:      1      1
+ dealloc  dynamic grid (G###)          XTROP     COADSY    NORMAL    TIME
+ -DELETE SST      M:  2 dset:   1 I:      1    151  J:    1   90  K: -999 -999  L:      1      1
 stat $1xyt
  !-> stat sstxyt
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid SSTXYT   C:  7 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
- eval    SSTXYT   C:  6 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid SSTXYT   C:  7 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:      1    151  J:    1   41  K: -999 -999  L:      1      1
+ eval    SSTXYT   C:  6 dset:   1 I:      1    151  J:    1   41  K: -999 -999  L:      1      1
  strip regrid on X: SST --> GXYT             @LIN
- found   SST      M:  1 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
+ found   SST      M:  1 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
  regrid XY
- regrid  SST      M:  2 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
+ regrid  SST      M:  2 dset:   1 I:      1    151  J:    1   41  K: -999 -999  L:      1      1
  
              SST[G=GXYT]
              LONGITUDE: 129.5E to 79.5W
@@ -28988,19 +28998,19 @@ stat $1xyt
  Standard deviation: 1.778
 CONFUSE
  dealloc  dynamic grid GXYT            XTROP     YTROP     NORMAL    TIME
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  dealloc  dynamic grid ABSTRACT        ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT
- pass #2 EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ pass #2 EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:    1    5  J: -999 -999  K: -999 -999  L:    1    1
- pseudo  I        M:  4 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  5 dset:   1 I:      1      5  J: -999 -999  K: -999 -999  L:      1      1
+ pseudo  I        M:  4 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
 stat $1xyt
  !-> stat sstxyt
- -DELETE I        M:  4 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ -DELETE I        M:  4 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
- found   SSTXYT   M:  3 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:      1    151  J:    1   41  K: -999 -999  L:      1      1
+ found   SSTXYT   M:  3 dset:   1 I:      1    151  J:    1   41  K: -999 -999  L:      1      1
  
              SST[G=GXYT]
              LONGITUDE: 129.5E to 79.5W
@@ -29021,12 +29031,13 @@ stat $1xyt
 stat $1[x=@ave]
  !-> stat sst[x=@ave]
  dealloc  dynamic grid GXYT            XTROP     YTROP     NORMAL    TIME
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME
- eval    EX#1     C:  4 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
+ eval    EX#1     C:  4 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
  strip --> SST[X=20E:20E(380)@AVE,D=1]
- found   SST      M:  1 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
+ found   SST      M:  1 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
  doing --> SST[X=20E:20E(380)@AVE,D=1]
+ final --> SST[X=20E:20E(380)@AVE,D=1]
  
              SEA SURFACE TEMPERATURE
              LONGITUDE: 20E to 20E(380) (averaged)
@@ -29045,20 +29056,20 @@ stat $1[x=@ave]
  Standard deviation: 10.445
 CONFUSE	
  dealloc  dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  dealloc  dynamic grid ABSTRACT        ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT
- pass #2 EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ pass #2 EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:    1    5  J: -999 -999  K: -999 -999  L:    1    1
- pseudo  I        M:  5 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  5 dset:   1 I:      1      5  J: -999 -999  K: -999 -999  L:      1      1
+ pseudo  I        M:  5 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
 stat $1[x=@ave]
  !-> stat sst[x=@ave]
- -DELETE I        M:  5 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ -DELETE I        M:  5 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME
- eval    EX#1     C:  4 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- found   SST      M:  4 dset:   1 I: -999 -999  J:    1   90  K: -999 -999  L:    1    1
+ eval    EX#1     C:  4 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
+ found   SST      M:  4 dset:   1 I:   -999   -999  J:    1   90  K: -999 -999  L:      1      1
  
              SEA SURFACE TEMPERATURE
              LONGITUDE: 20E to 20E(380) (averaged)
@@ -29081,13 +29092,13 @@ let $1xave = $1[x=@ave]
 stat $1xave
  !-> stat sstxave
  dealloc  dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid SSTXAVE  C:  7 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid SSTXAVE  C:  7 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME
  allocate dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME
- eval    EX#1     C:  4 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- eval    SSTXAVE  C:  6 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- found   SST      M:  4 dset:   1 I: -999 -999  J:    1   90  K: -999 -999  L:    1    1
+ eval    EX#1     C:  4 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
+ eval    SSTXAVE  C:  6 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
+ found   SST      M:  4 dset:   1 I:   -999   -999  J:    1   90  K: -999 -999  L:      1      1
  
              SST[X=@AVE]
              LONGITUDE: 20E to 20E(380)
@@ -29106,20 +29117,20 @@ stat $1xave
  Standard deviation: 10.445
 CONFUSE
  dealloc  dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  dealloc  dynamic grid ABSTRACT        ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT
- pass #2 EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ pass #2 EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:    1    5  J: -999 -999  K: -999 -999  L:    1    1
- pseudo  I        M:  6 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  5 dset:   1 I:      1      5  J: -999 -999  K: -999 -999  L:      1      1
+ pseudo  I        M:  6 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
 stat $1xave
  !-> stat sstxave
- -DELETE I        M:  6 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ -DELETE I        M:  6 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME
- eval    EX#1     C:  4 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- found   SSTXAVE  M:  5 dset:   1 I: -999 -999  J:    1   90  K: -999 -999  L:    1    1
+ eval    EX#1     C:  4 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
+ found   SSTXAVE  M:  5 dset:   1 I:   -999   -999  J:    1   90  K: -999 -999  L:      1      1
  
              SST[X=@AVE]
              LONGITUDE: 20E to 20E(380)
@@ -29140,13 +29151,13 @@ stat $1xave
 stat $1[x=@sbx]
  !-> stat sst[x=@sbx]
  dealloc  dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME
- eval    EX#1     C:  4 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
+ eval    EX#1     C:  4 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
  strip --> SST[X=20E:20E(380)@SBX:3,D=1]
- strip moduloing SST on X axis:     0   181 dset:   1
- found   SST      M:  1 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- doing moduloing SST on X axis:     1   180 dset:   1
+ strip moduloing SST on X axis:        0      181 dset:   1
+ found   SST      M:  1 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
+ doing moduloing SST on X axis:        1      180 dset:   1
  doing --> SST[X=20E:20E(380)@SBX:3,D=1]
  
              SEA SURFACE TEMPERATURE
@@ -29167,20 +29178,20 @@ stat $1[x=@sbx]
  Standard deviation: 10.112
 CONFUSE
  dealloc  dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  dealloc  dynamic grid ABSTRACT        ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT
- pass #2 EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ pass #2 EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:    1    5  J: -999 -999  K: -999 -999  L:    1    1
- pseudo  I        M:  8 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  5 dset:   1 I:      1      5  J: -999 -999  K: -999 -999  L:      1      1
+ pseudo  I        M:  8 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
 stat $1[x=@sbx]
  !-> stat sst[x=@sbx]
- -DELETE I        M:  8 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ -DELETE I        M:  8 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME
- eval    EX#1     C:  4 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- found   SST      M:  7 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
+ eval    EX#1     C:  4 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
+ found   SST      M:  7 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
  
              SEA SURFACE TEMPERATURE
              box smoothed by 3 pts on X
@@ -29204,13 +29215,13 @@ let $1sbx = $1[x=@sbx]
 stat $1sbx
  !-> stat sstsbx
  dealloc  dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid SSTSBX   C:  7 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid SSTSBX   C:  7 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME
  allocate dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME
- eval    EX#1     C:  4 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- eval    SSTSBX   C:  6 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- found   SST      M:  7 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
+ eval    EX#1     C:  4 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
+ eval    SSTSBX   C:  6 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
+ found   SST      M:  7 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
  
              SST[X=@SBX]
              LONGITUDE: 20E to 20E(380)
@@ -29229,20 +29240,20 @@ stat $1sbx
  Standard deviation: 10.112
 CONFUSE
  dealloc  dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  dealloc  dynamic grid ABSTRACT        ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT
- pass #2 EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ pass #2 EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:    1    5  J: -999 -999  K: -999 -999  L:    1    1
- pseudo  I        M:  9 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  5 dset:   1 I:      1      5  J: -999 -999  K: -999 -999  L:      1      1
+ pseudo  I        M:  9 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
 stat $1sbx
  !-> stat sstsbx
- -DELETE I        M:  9 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ -DELETE I        M:  9 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME
- eval    EX#1     C:  4 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- found   SSTSBX   M:  8 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
+ eval    EX#1     C:  4 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
+ found   SSTSBX   M:  8 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
  
              SST[X=@SBX]
              LONGITUDE: 20E to 20E(380)
@@ -29271,15 +29282,15 @@ GO bn_cache_hits.sub sst5
 stat $1
  !-> stat sst5
  dealloc  dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid SST5     C:  7 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid SST5     C:  7 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME
  allocate dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME
- eval    EX#1     C:  4 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- eval    SST5     C:  6 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- found   SST      M:  6 dset:   1 I:    0  181  J:    1   90  K: -999 -999  L:    1    1
- constan cnst     M:  9 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- -DELETE cnst     M:  9 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  4 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
+ eval    SST5     C:  6 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
+ found   SST      M:  6 dset:   1 I:      0    181  J:    1   90  K: -999 -999  L:      1      1
+ constan cnst     M:  9 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
+ -DELETE cnst     M:  9 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
  
              SST+5
              LONGITUDE: 20E to 20E(380)
@@ -29298,20 +29309,20 @@ stat $1
  Standard deviation: 10.139
 CONFUSE
  dealloc  dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  dealloc  dynamic grid ABSTRACT        ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT
- pass #2 EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ pass #2 EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:    1    5  J: -999 -999  K: -999 -999  L:    1    1
- pseudo  I        M:  9 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  5 dset:   1 I:      1      5  J: -999 -999  K: -999 -999  L:      1      1
+ pseudo  I        M:  9 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
 stat $1
  !-> stat sst5
- -DELETE I        M:  9 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ -DELETE I        M:  9 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME
- eval    EX#1     C:  4 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- found   SST5     M: 10 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
+ eval    EX#1     C:  4 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
+ found   SST5     M: 10 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
  
              SST+5
              LONGITUDE: 20E to 20E(380)
@@ -29333,16 +29344,16 @@ define axis/x=130e:80w:1 xtrop
 stat $1[gx=xtrop]
  !-> stat sst5[gx=xtrop]
  dealloc  dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME
- dealloc  dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME
- allocate dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME
- eval    EX#1     C:  4 dset:   1 I:    1  151  J:    1   90  K: -999 -999  L:    1    1
- allocate dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME
- strip regrid on X: SST5 --> (G002)           @LIN
- found   SST5     M: 10 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- regrid  SST5     M:  9 dset:   1 I:    1  151  J:    1   90  K: -999 -999  L:    1    1
- dealloc  dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G###)          XTROP     COADSY    NORMAL    TIME
+ dealloc  dynamic grid (G###)          XTROP     COADSY    NORMAL    TIME
+ allocate dynamic grid (G###)          XTROP     COADSY    NORMAL    TIME
+ eval    EX#1     C:  4 dset:   1 I:      1    151  J:    1   90  K: -999 -999  L:      1      1
+ allocate dynamic grid (G###)          XTROP     COADSY    NORMAL    TIME
+ strip regrid on X: SST5 --> (G###)           @LIN
+ found   SST5     M: 10 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
+ regrid  SST5     M:  9 dset:   1 I:      1    151  J:    1   90  K: -999 -999  L:      1      1
+ dealloc  dynamic grid (G###)          XTROP     COADSY    NORMAL    TIME
  
              SST+5
              regrid: 1 deg on X
@@ -29361,28 +29372,28 @@ stat $1[gx=xtrop]
  Mean    value: 22.605 (unweighted average)
  Standard deviation: 9.8848
 CONFUSE
- dealloc  dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME
- -DELETE SST5     M:  9 dset:   1 I:    1  151  J:    1   90  K: -999 -999  L:    1    1
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ dealloc  dynamic grid (G###)          XTROP     COADSY    NORMAL    TIME
+ -DELETE SST5     M:  9 dset:   1 I:      1    151  J:    1   90  K: -999 -999  L:      1      1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  dealloc  dynamic grid ABSTRACT        ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT
- pass #2 EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ pass #2 EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:    1    5  J: -999 -999  K: -999 -999  L:    1    1
- pseudo  I        M:  9 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  5 dset:   1 I:      1      5  J: -999 -999  K: -999 -999  L:      1      1
+ pseudo  I        M:  9 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
 stat $1[gx=xtrop]
  !-> stat sst5[gx=xtrop]
- -DELETE I        M:  9 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ -DELETE I        M:  9 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME
- dealloc  dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME
- allocate dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME
- eval    EX#1     C:  4 dset:   1 I:    1  151  J:    1   90  K: -999 -999  L:    1    1
- allocate dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME
- strip regrid on X: SST5 --> (G002)           @LIN
- found   SST5     M: 10 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- regrid  SST5     M:  9 dset:   1 I:    1  151  J:    1   90  K: -999 -999  L:    1    1
- dealloc  dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G###)          XTROP     COADSY    NORMAL    TIME
+ dealloc  dynamic grid (G###)          XTROP     COADSY    NORMAL    TIME
+ allocate dynamic grid (G###)          XTROP     COADSY    NORMAL    TIME
+ eval    EX#1     C:  4 dset:   1 I:      1    151  J:    1   90  K: -999 -999  L:      1      1
+ allocate dynamic grid (G###)          XTROP     COADSY    NORMAL    TIME
+ strip regrid on X: SST5 --> (G###)           @LIN
+ found   SST5     M: 10 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
+ regrid  SST5     M:  9 dset:   1 I:      1    151  J:    1   90  K: -999 -999  L:      1      1
+ dealloc  dynamic grid (G###)          XTROP     COADSY    NORMAL    TIME
  
              SST+5
              regrid: 1 deg on X
@@ -29405,21 +29416,21 @@ let $1x = $1[gx=xtrop]
  !-> DEFINE VARIABLE sst5x = sst5[gx=xtrop]
 stat $1x
  !-> stat sst5x
- dealloc  dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME
- -DELETE SST5     M:  9 dset:   1 I:    1  151  J:    1   90  K: -999 -999  L:    1    1
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid SST5X    C:  7 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME
- dealloc  dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME
- allocate dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME
- allocate dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME
- eval    EX#1     C:  4 dset:   1 I:    1  151  J:    1   90  K: -999 -999  L:    1    1
- eval    SST5X    C:  6 dset:   1 I:    1  151  J:    1   90  K: -999 -999  L:    1    1
- allocate dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME
- strip regrid on X: SST5 --> (G002)           @LIN
- found   SST5     M: 10 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- regrid  SST5     M:  9 dset:   1 I:    1  151  J:    1   90  K: -999 -999  L:    1    1
- dealloc  dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME
+ dealloc  dynamic grid (G###)          XTROP     COADSY    NORMAL    TIME
+ -DELETE SST5     M:  9 dset:   1 I:      1    151  J:    1   90  K: -999 -999  L:      1      1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid SST5X    C:  7 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G###)          XTROP     COADSY    NORMAL    TIME
+ dealloc  dynamic grid (G###)          XTROP     COADSY    NORMAL    TIME
+ allocate dynamic grid (G###)          XTROP     COADSY    NORMAL    TIME
+ allocate dynamic grid (G###)          XTROP     COADSY    NORMAL    TIME
+ eval    EX#1     C:  4 dset:   1 I:      1    151  J:    1   90  K: -999 -999  L:      1      1
+ eval    SST5X    C:  6 dset:   1 I:      1    151  J:    1   90  K: -999 -999  L:      1      1
+ allocate dynamic grid (G###)          XTROP     COADSY    NORMAL    TIME
+ strip regrid on X: SST5 --> (G###)           @LIN
+ found   SST5     M: 10 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
+ regrid  SST5     M:  9 dset:   1 I:      1    151  J:    1   90  K: -999 -999  L:      1      1
+ dealloc  dynamic grid (G###)          XTROP     COADSY    NORMAL    TIME
  
              SST5[GX=XTROP]
              LONGITUDE: 129.5E to 79.5W
@@ -29437,21 +29448,21 @@ stat $1x
  Mean    value: 22.605 (unweighted average)
  Standard deviation: 9.8848
 CONFUSE
- dealloc  dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ dealloc  dynamic grid (G###)          XTROP     COADSY    NORMAL    TIME
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  dealloc  dynamic grid ABSTRACT        ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT
- pass #2 EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ pass #2 EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:    1    5  J: -999 -999  K: -999 -999  L:    1    1
- pseudo  I        M: 12 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  5 dset:   1 I:      1      5  J: -999 -999  K: -999 -999  L:      1      1
+ pseudo  I        M: 12 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
 stat $1x
  !-> stat sst5x
- -DELETE I        M: 12 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ -DELETE I        M: 12 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME
- eval    EX#1     C:  4 dset:   1 I:    1  151  J:    1   90  K: -999 -999  L:    1    1
- found   SST5X    M: 11 dset:   1 I:    1  151  J:    1   90  K: -999 -999  L:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G###)          XTROP     COADSY    NORMAL    TIME
+ eval    EX#1     C:  4 dset:   1 I:      1    151  J:    1   90  K: -999 -999  L:      1      1
+ found   SST5X    M: 11 dset:   1 I:      1    151  J:    1   90  K: -999 -999  L:      1      1
  
              SST5[GX=XTROP]
              LONGITUDE: 129.5E to 79.5W
@@ -29472,15 +29483,15 @@ stat $1x
 define grid/x=xtrop gx
 stat $1[g=gx]
  !-> stat sst5[g=gx]
- dealloc  dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME
- dealloc  dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME
- allocate dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME
- eval    EX#1     C:  4 dset:   1 I:    1  151  J:    1   90  K: -999 -999  L:    1    1
- allocate dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME
- found   SST5     M:  9 dset:   1 I:    1  151  J:    1   90  K: -999 -999  L:    1    1
- dealloc  dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME
+ dealloc  dynamic grid (G###)          XTROP     COADSY    NORMAL    TIME
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G###)          XTROP     COADSY    NORMAL    TIME
+ dealloc  dynamic grid (G###)          XTROP     COADSY    NORMAL    TIME
+ allocate dynamic grid (G###)          XTROP     COADSY    NORMAL    TIME
+ eval    EX#1     C:  4 dset:   1 I:      1    151  J:    1   90  K: -999 -999  L:      1      1
+ allocate dynamic grid (G###)          XTROP     COADSY    NORMAL    TIME
+ found   SST5     M:  9 dset:   1 I:      1    151  J:    1   90  K: -999 -999  L:      1      1
+ dealloc  dynamic grid (G###)          XTROP     COADSY    NORMAL    TIME
  
              SST+5
              regrid: 1 deg on X
@@ -29499,25 +29510,25 @@ stat $1[g=gx]
  Mean    value: 22.605 (unweighted average)
  Standard deviation: 9.8848
 CONFUSE
- dealloc  dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ dealloc  dynamic grid (G###)          XTROP     COADSY    NORMAL    TIME
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  dealloc  dynamic grid ABSTRACT        ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT
- pass #2 EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ pass #2 EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:    1    5  J: -999 -999  K: -999 -999  L:    1    1
- pseudo  I        M: 12 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  5 dset:   1 I:      1      5  J: -999 -999  K: -999 -999  L:      1      1
+ pseudo  I        M: 12 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
 stat $1[g=gx]
  !-> stat sst5[g=gx]
- -DELETE I        M: 12 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ -DELETE I        M: 12 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME
- dealloc  dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME
- allocate dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME
- eval    EX#1     C:  4 dset:   1 I:    1  151  J:    1   90  K: -999 -999  L:    1    1
- allocate dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME
- found   SST5     M:  9 dset:   1 I:    1  151  J:    1   90  K: -999 -999  L:    1    1
- dealloc  dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G###)          XTROP     COADSY    NORMAL    TIME
+ dealloc  dynamic grid (G###)          XTROP     COADSY    NORMAL    TIME
+ allocate dynamic grid (G###)          XTROP     COADSY    NORMAL    TIME
+ eval    EX#1     C:  4 dset:   1 I:      1    151  J:    1   90  K: -999 -999  L:      1      1
+ allocate dynamic grid (G###)          XTROP     COADSY    NORMAL    TIME
+ found   SST5     M:  9 dset:   1 I:      1    151  J:    1   90  K: -999 -999  L:      1      1
+ dealloc  dynamic grid (G###)          XTROP     COADSY    NORMAL    TIME
  
              SST+5
              regrid: 1 deg on X
@@ -29539,13 +29550,13 @@ stat $1[g=gx]
 define axis/y=20s:20n:1 ytrop
 stat $1[gx=xtrop,gy=ytrop]
  !-> stat sst5[gx=xtrop,gy=ytrop]
- dealloc  dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
+ dealloc  dynamic grid (G###)          XTROP     COADSY    NORMAL    TIME
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:      1    151  J:    1   41  K: -999 -999  L:      1      1
  strip regrid on X: SST5 --> GXYT             @LIN
- found   SST5     M: 10 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
+ found   SST5     M: 10 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
  regrid XY
- regrid  SST5     M: 12 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
+ regrid  SST5     M: 12 dset:   1 I:      1    151  J:    1   41  K: -999 -999  L:      1      1
  
              SST+5
              regrid: GXYT
@@ -29565,19 +29576,19 @@ stat $1[gx=xtrop,gy=ytrop]
  Standard deviation: 1.778
 CONFUSE
  dealloc  dynamic grid GXYT            XTROP     YTROP     NORMAL    TIME
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  dealloc  dynamic grid ABSTRACT        ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT
- pass #2 EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ pass #2 EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:    1    5  J: -999 -999  K: -999 -999  L:    1    1
- pseudo  I        M: 13 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  5 dset:   1 I:      1      5  J: -999 -999  K: -999 -999  L:      1      1
+ pseudo  I        M: 13 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
 stat $1[gx=xtrop,gy=ytrop]
  !-> stat sst5[gx=xtrop,gy=ytrop]
- -DELETE I        M: 13 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ -DELETE I        M: 13 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
- found   SST5     M: 12 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:      1    151  J:    1   41  K: -999 -999  L:      1      1
+ found   SST5     M: 12 dset:   1 I:      1    151  J:    1   41  K: -999 -999  L:      1      1
  
              SST+5
              regrid: GXYT
@@ -29599,14 +29610,14 @@ stat $1[gx=xtrop,gy=ytrop]
 define grid/like=$1/x=xtrop/y=ytrop gxyt
  !-> define grid/like=sst5/x=xtrop/y=ytrop gxyt
  dealloc  dynamic grid GXYT            XTROP     YTROP     NORMAL    TIME
- getgrid EX#1     C:  6 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  6 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME
 stat $1[g=gxyt]
  !-> stat sst5[g=gxyt]
  dealloc  dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
- found   SST5     M: 12 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:      1    151  J:    1   41  K: -999 -999  L:      1      1
+ found   SST5     M: 12 dset:   1 I:      1    151  J:    1   41  K: -999 -999  L:      1      1
  
              SST+5
              regrid: GXYT
@@ -29626,19 +29637,19 @@ stat $1[g=gxyt]
  Standard deviation: 1.778
 CONFUSE
  dealloc  dynamic grid GXYT            XTROP     YTROP     NORMAL    TIME
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  dealloc  dynamic grid ABSTRACT        ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT
- pass #2 EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ pass #2 EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:    1    5  J: -999 -999  K: -999 -999  L:    1    1
- pseudo  I        M: 13 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  5 dset:   1 I:      1      5  J: -999 -999  K: -999 -999  L:      1      1
+ pseudo  I        M: 13 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
 stat $1[g=gxyt]
  !-> stat sst5[g=gxyt]
- -DELETE I        M: 13 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ -DELETE I        M: 13 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
- found   SST5     M: 12 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:      1    151  J:    1   41  K: -999 -999  L:      1      1
+ found   SST5     M: 12 dset:   1 I:      1    151  J:    1   41  K: -999 -999  L:      1      1
  
              SST+5
              regrid: GXYT
@@ -29662,11 +29673,11 @@ let $1xyt = $1[g=gxyt]
 stat $1xyt
  !-> stat sst5xyt
  dealloc  dynamic grid GXYT            XTROP     YTROP     NORMAL    TIME
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid SST5XYT  C:  7 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
- eval    SST5XYT  C:  6 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
- found   SST5     M: 12 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid SST5XYT  C:  7 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:      1    151  J:    1   41  K: -999 -999  L:      1      1
+ eval    SST5XYT  C:  6 dset:   1 I:      1    151  J:    1   41  K: -999 -999  L:      1      1
+ found   SST5     M: 12 dset:   1 I:      1    151  J:    1   41  K: -999 -999  L:      1      1
  
              SST5[G=GXYT]
              LONGITUDE: 129.5E to 79.5W
@@ -29685,19 +29696,19 @@ stat $1xyt
  Standard deviation: 1.778
 CONFUSE
  dealloc  dynamic grid GXYT            XTROP     YTROP     NORMAL    TIME
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  dealloc  dynamic grid ABSTRACT        ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT
- pass #2 EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ pass #2 EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:    1    5  J: -999 -999  K: -999 -999  L:    1    1
- pseudo  I        M: 14 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  5 dset:   1 I:      1      5  J: -999 -999  K: -999 -999  L:      1      1
+ pseudo  I        M: 14 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
 stat $1xyt
  !-> stat sst5xyt
- -DELETE I        M: 14 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ -DELETE I        M: 14 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
- found   SST5XYT  M: 13 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:      1    151  J:    1   41  K: -999 -999  L:      1      1
+ found   SST5XYT  M: 13 dset:   1 I:      1    151  J:    1   41  K: -999 -999  L:      1      1
  
              SST5[G=GXYT]
              LONGITUDE: 129.5E to 79.5W
@@ -29718,35 +29729,35 @@ stat $1xyt
 let $1xyt = $1[g=gxyt]
  !-> DEFINE VARIABLE sst5xyt = sst5[g=gxyt]
  dealloc  dynamic grid GXYT            XTROP     YTROP     NORMAL    TIME
- -DELETE SST5XYT  M: 13 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
+ -DELETE SST5XYT  M: 13 dset:   1 I:      1    151  J:    1   41  K: -999 -999  L:      1      1
  dealloc  dynamic grid GXYT            XTROP     YTROP     NORMAL    TIME
- -DELETE SST5X    M: 11 dset:   1 I:    1  151  J:    1   90  K: -999 -999  L:    1    1
- dealloc  dynamic grid (G002)          XTROP     COADSY    NORMAL    TIME
- -DELETE SST5     M:  9 dset:   1 I:    1  151  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST5     M: 10 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST5     M: 12 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
+ -DELETE SST5X    M: 11 dset:   1 I:      1    151  J:    1   90  K: -999 -999  L:      1      1
+ dealloc  dynamic grid (G###)          XTROP     COADSY    NORMAL    TIME
+ -DELETE SST5     M:  9 dset:   1 I:      1    151  J:    1   90  K: -999 -999  L:      1      1
+ -DELETE SST5     M: 10 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
+ -DELETE SST5     M: 12 dset:   1 I:      1    151  J:    1   41  K: -999 -999  L:      1      1
  dealloc  dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME
- -DELETE SSTSBX   M:  8 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
+ -DELETE SSTSBX   M:  8 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
  dealloc  dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME
- -DELETE SSTXAVE  M:  5 dset:   1 I: -999 -999  J:    1   90  K: -999 -999  L:    1    1
+ -DELETE SSTXAVE  M:  5 dset:   1 I:   -999   -999  J:    1   90  K: -999 -999  L:      1      1
  dealloc  dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME
- -DELETE SSTXYT   M:  3 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
+ -DELETE SSTXYT   M:  3 dset:   1 I:      1    151  J:    1   41  K: -999 -999  L:      1      1
  dealloc  dynamic grid GXYT            XTROP     YTROP     NORMAL    TIME
 stat $1xyt
  !-> stat sst5xyt
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid SST5XYT  C:  7 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid SST5     C:  9 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid SST5XYT  C:  7 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid SST5     C:  9 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME
- eval    EX#1     C:  4 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
- eval    SST5XYT  C:  6 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
+ eval    EX#1     C:  4 dset:   1 I:      1    151  J:    1   41  K: -999 -999  L:      1      1
+ eval    SST5XYT  C:  6 dset:   1 I:      1    151  J:    1   41  K: -999 -999  L:      1      1
  strip regrid on X: SST5 --> GXYT             @LIN
- eval    SST5     C:  9 dset:   1 I:   55  131  J:   35   56  K: -999 -999  L:    1    1
- found   SST      M:  6 dset:   1 I:    0  181  J:    1   90  K: -999 -999  L:    1    1
- constan cnst     M:  3 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- -DELETE cnst     M:  3 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    SST5     C:  9 dset:   1 I:     55    131  J:   35   56  K: -999 -999  L:      1      1
+ found   SST      M:  6 dset:   1 I:      0    181  J:    1   90  K: -999 -999  L:      1      1
+ constan cnst     M:  3 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
+ -DELETE cnst     M:  3 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
  regrid XY
- regrid  SST5     M:  3 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
+ regrid  SST5     M:  3 dset:   1 I:      1    151  J:    1   41  K: -999 -999  L:      1      1
  
              SST5[G=GXYT]
              LONGITUDE: 129.5E to 79.5W
@@ -29765,19 +29776,19 @@ stat $1xyt
  Standard deviation: 1.778
 CONFUSE
  dealloc  dynamic grid GXYT            XTROP     YTROP     NORMAL    TIME
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  dealloc  dynamic grid ABSTRACT        ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT
- pass #2 EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ pass #2 EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:    1    5  J: -999 -999  K: -999 -999  L:    1    1
- pseudo  I        M: 12 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  5 dset:   1 I:      1      5  J: -999 -999  K: -999 -999  L:      1      1
+ pseudo  I        M: 12 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
 stat $1xyt
  !-> stat sst5xyt
- -DELETE I        M: 12 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ -DELETE I        M: 12 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
- found   SST5XYT  M:  8 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:      1    151  J:    1   41  K: -999 -999  L:      1      1
+ found   SST5XYT  M:  8 dset:   1 I:      1    151  J:    1   41  K: -999 -999  L:      1      1
  
              SST5[G=GXYT]
              LONGITUDE: 129.5E to 79.5W
@@ -29798,15 +29809,16 @@ stat $1xyt
 stat $1[x=@ave]
  !-> stat sst5[x=@ave]
  dealloc  dynamic grid GXYT            XTROP     YTROP     NORMAL    TIME
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME
- eval    EX#1     C:  4 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
+ eval    EX#1     C:  4 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
  strip --> SST5[X=20E:20E(380)@AVE,D=1]
- eval    SST5     C:  7 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- found   SST      M:  6 dset:   1 I:    0  181  J:    1   90  K: -999 -999  L:    1    1
- constan cnst     M: 12 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- -DELETE cnst     M: 12 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    SST5     C:  7 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
+ found   SST      M:  6 dset:   1 I:      0    181  J:    1   90  K: -999 -999  L:      1      1
+ constan cnst     M: 12 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
+ -DELETE cnst     M: 12 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
  doing --> SST5[X=20E:20E(380)@AVE,D=1]
+ final --> SST5[X=20E:20E(380)@AVE,D=1]
  
              SST+5
              LONGITUDE: 20E to 20E(380) (averaged)
@@ -29825,20 +29837,20 @@ stat $1[x=@ave]
  Standard deviation: 10.445
 CONFUSE	
  dealloc  dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  dealloc  dynamic grid ABSTRACT        ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT
- pass #2 EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ pass #2 EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:    1    5  J: -999 -999  K: -999 -999  L:    1    1
- pseudo  I        M:  9 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  5 dset:   1 I:      1      5  J: -999 -999  K: -999 -999  L:      1      1
+ pseudo  I        M:  9 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
 stat $1[x=@ave]
  !-> stat sst5[x=@ave]
- -DELETE I        M:  9 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ -DELETE I        M:  9 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME
- eval    EX#1     C:  4 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- found   SST5     M: 12 dset:   1 I: -999 -999  J:    1   90  K: -999 -999  L:    1    1
+ eval    EX#1     C:  4 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
+ found   SST5     M: 12 dset:   1 I:   -999   -999  J:    1   90  K: -999 -999  L:      1      1
  
              SST+5
              LONGITUDE: 20E to 20E(380) (averaged)
@@ -29861,13 +29873,13 @@ let $1xave = $1[x=@ave]
 stat $1xave
  !-> stat sst5xave
  dealloc  dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid SST5XAVE C:  7 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid SST5XAVE C:  7 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME
  allocate dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME
- eval    EX#1     C:  4 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- eval    SST5XAVE C:  6 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- found   SST5     M: 12 dset:   1 I: -999 -999  J:    1   90  K: -999 -999  L:    1    1
+ eval    EX#1     C:  4 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
+ eval    SST5XAVE C:  6 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
+ found   SST5     M: 12 dset:   1 I:   -999   -999  J:    1   90  K: -999 -999  L:      1      1
  
              SST5[X=@AVE]
              LONGITUDE: 20E to 20E(380)
@@ -29886,20 +29898,20 @@ stat $1xave
  Standard deviation: 10.445
 CONFUSE
  dealloc  dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  dealloc  dynamic grid ABSTRACT        ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT
- pass #2 EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ pass #2 EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:    1    5  J: -999 -999  K: -999 -999  L:    1    1
- pseudo  I        M: 11 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  5 dset:   1 I:      1      5  J: -999 -999  K: -999 -999  L:      1      1
+ pseudo  I        M: 11 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
 stat $1xave
  !-> stat sst5xave
- -DELETE I        M: 11 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ -DELETE I        M: 11 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME
- eval    EX#1     C:  4 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- found   SST5XAVE M:  9 dset:   1 I: -999 -999  J:    1   90  K: -999 -999  L:    1    1
+ eval    EX#1     C:  4 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
+ found   SST5XAVE M:  9 dset:   1 I:   -999   -999  J:    1   90  K: -999 -999  L:      1      1
  
              SST5[X=@AVE]
              LONGITUDE: 20E to 20E(380)
@@ -29920,13 +29932,13 @@ stat $1xave
 stat $1[x=@sbx]
  !-> stat sst5[x=@sbx]
  dealloc  dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME
- eval    EX#1     C:  4 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
+ eval    EX#1     C:  4 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
  strip --> SST5[X=20E:20E(380)@SBX:3,D=1]
- strip moduloing SST5 on X axis:     0   181 dset:   1
- found   SST5     M: 10 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- doing moduloing SST5 on X axis:     1   180 dset:   1
+ strip moduloing SST5 on X axis:        0      181 dset:   1
+ found   SST5     M: 10 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
+ doing moduloing SST5 on X axis:        1      180 dset:   1
  doing --> SST5[X=20E:20E(380)@SBX:3,D=1]
  
              SST+5
@@ -29947,20 +29959,20 @@ stat $1[x=@sbx]
  Standard deviation: 10.112
 CONFUSE
  dealloc  dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  dealloc  dynamic grid ABSTRACT        ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT
- pass #2 EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ pass #2 EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:    1    5  J: -999 -999  K: -999 -999  L:    1    1
- pseudo  I        M: 14 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  5 dset:   1 I:      1      5  J: -999 -999  K: -999 -999  L:      1      1
+ pseudo  I        M: 14 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
 stat $1[x=@sbx]
  !-> stat sst5[x=@sbx]
- -DELETE I        M: 14 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ -DELETE I        M: 14 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME
- eval    EX#1     C:  4 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- found   SST5     M: 13 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
+ eval    EX#1     C:  4 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
+ found   SST5     M: 13 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
  
              SST+5
              box smoothed by 3 pts on X
@@ -29984,13 +29996,13 @@ let $1sbx = $1[x=@sbx]
 stat $1sbx
  !-> stat sst5sbx
  dealloc  dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid SST5SBX  C:  7 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid SST5SBX  C:  7 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME
  allocate dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME
- eval    EX#1     C:  4 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- eval    SST5SBX  C:  6 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- found   SST5     M: 13 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
+ eval    EX#1     C:  4 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
+ eval    SST5SBX  C:  6 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
+ found   SST5     M: 13 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
  
              SST5[X=@SBX]
              LONGITUDE: 20E to 20E(380)
@@ -30009,20 +30021,20 @@ stat $1sbx
  Standard deviation: 10.112
 CONFUSE
  dealloc  dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  dealloc  dynamic grid ABSTRACT        ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT
- pass #2 EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ pass #2 EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:    1    5  J: -999 -999  K: -999 -999  L:    1    1
- pseudo  I        M: 15 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  5 dset:   1 I:      1      5  J: -999 -999  K: -999 -999  L:      1      1
+ pseudo  I        M: 15 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
 stat $1sbx
  !-> stat sst5sbx
- -DELETE I        M: 15 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ -DELETE I        M: 15 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME
- eval    EX#1     C:  4 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- found   SST5SBX  M: 14 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
+ eval    EX#1     C:  4 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
+ found   SST5SBX  M: 14 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
  
              SST5[X=@SBX]
              LONGITUDE: 20E to 20E(380)
@@ -30054,23 +30066,23 @@ set mode diag
 let a = i[i=1:10]
 say `a,return=isize`     ! no evaluation of a required -- just context
  dealloc  dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid A        C:  7 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid A        C:  7 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  dealloc  dynamic grid ABSTRACT        ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT
- pass #2 A        C:  7 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ pass #2 A        C:  7 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I: -999 -999  J: -999 -999  K: -999 -999  L:    1    1
- eval    A        C:  6 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- pseudo  I        M: 15 dset:   0 I:    1   10  J: -999 -999  K: -999 -999  L: -999 -999
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:   -999   -999  J: -999 -999  K: -999 -999  L:      1      1
+ eval    A        C:  6 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
+ pseudo  I        M: 15 dset:   0 I:      1     10  J: -999 -999  K: -999 -999  L:   -999   -999
  !-> MESSAGE/CONTINUE 10
 10
 list/nohead a            ! evaluate it now
- -DELETE I        M: 15 dset:   0 I:    1   10  J: -999 -999  K: -999 -999  L: -999 -999
+ -DELETE I        M: 15 dset:   0 I:      1     10  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I: -999 -999  J: -999 -999  K: -999 -999  L:    1    1
- found   A        M: 16 dset:   0 I:    1   10  J: -999 -999  K: -999 -999  L: -999 -999
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:   -999   -999  J: -999 -999  K: -999 -999  L:      1      1
+ found   A        M: 16 dset:   0 I:      1     10  J: -999 -999  K: -999 -999  L:   -999   -999
  1    /  1:   1.00
  2    /  2:   2.00
  3    /  3:   3.00
@@ -30084,45 +30096,45 @@ list/nohead a            ! evaluate it now
  
 let a = XSEQUENCE(j[j=1:5])
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
- -DELETE A        M: 16 dset:   0 I:    1   10  J: -999 -999  K: -999 -999  L: -999 -999
+ -DELETE A        M: 16 dset:   0 I:      1     10  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
- -DELETE SST5SBX  M: 14 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
+ -DELETE SST5SBX  M: 14 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
  dealloc  dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME
- -DELETE SST5XAVE M:  9 dset:   1 I: -999 -999  J:    1   90  K: -999 -999  L:    1    1
+ -DELETE SST5XAVE M:  9 dset:   1 I:   -999   -999  J:    1   90  K: -999 -999  L:      1      1
  dealloc  dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME
- -DELETE SST5XYT  M:  8 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
+ -DELETE SST5XYT  M:  8 dset:   1 I:      1    151  J:    1   41  K: -999 -999  L:      1      1
  dealloc  dynamic grid GXYT            XTROP     YTROP     NORMAL    TIME
- -DELETE SST5     M:  3 dset:   1 I:    1  151  J:    1   41  K: -999 -999  L:    1    1
- -DELETE SST5     M:  5 dset:   1 I:   55  131  J:   35   56  K: -999 -999  L:    1    1
- -DELETE SST5     M: 10 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST5     M: 11 dset:   1 I:    0  181  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST5     M: 12 dset:   1 I: -999 -999  J:    1   90  K: -999 -999  L:    1    1
- -DELETE SST5     M: 13 dset:   1 I:    1  180  J:    1   90  K: -999 -999  L:    1    1
+ -DELETE SST5     M:  3 dset:   1 I:      1    151  J:    1   41  K: -999 -999  L:      1      1
+ -DELETE SST5     M:  5 dset:   1 I:     55    131  J:   35   56  K: -999 -999  L:      1      1
+ -DELETE SST5     M: 10 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
+ -DELETE SST5     M: 11 dset:   1 I:      0    181  J:    1   90  K: -999 -999  L:      1      1
+ -DELETE SST5     M: 12 dset:   1 I:   -999   -999  J:    1   90  K: -999 -999  L:      1      1
+ -DELETE SST5     M: 13 dset:   1 I:      1    180  J:    1   90  K: -999 -999  L:      1      1
  dealloc  dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME
 say `a,return=isize`     ! evaluate it now
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid A        C:  7 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid (C01,V11 C:  9 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid (C11,V11 C: 11 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid A        C:  7 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid (C01,V11 C:  9 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid (C11,V11 C: 11 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  dealloc  dynamic grid ABSTRACT        ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT
- pass #2 (C11,V11 C: 11 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ pass #2 (C11,V11 C: 11 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I: -999 -999  J: -999 -999  K: -999 -999  L:    1    1
- eval    A        C:  6 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- eval    (C01,V11 C:  8 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- eval    (C11,V11 C: 10 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- pseudo  J        M: 13 dset:   0 I: -999 -999  J:    1    5  K: -999 -999  L: -999 -999
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:   -999   -999  J: -999 -999  K: -999 -999  L:      1      1
+ eval    A        C:  6 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
+ eval    (C01,V11 C:  8 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
+ eval    (C11,V11 C: 10 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
+ pseudo  J        M: 13 dset:   0 I:   -999   -999  J:    1    5  K: -999 -999  L:   -999   -999
  !-> MESSAGE/CONTINUE 5
 5
 list/nohead a            ! cache hit
- -DELETE J        M: 13 dset:   0 I: -999 -999  J:    1    5  K: -999 -999  L: -999 -999
+ -DELETE J        M: 13 dset:   0 I:   -999   -999  J:    1    5  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I: -999 -999  J: -999 -999  K: -999 -999  L:    1    1
- eval    A        C:  6 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- eval    (C01,V11 C:  8 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- found   (C11,V11 M: 12 dset:   0 I: -999 -999  J:    1    5  K: -999 -999  L: -999 -999
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:   -999   -999  J: -999 -999  K: -999 -999  L:      1      1
+ eval    A        C:  6 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
+ eval    (C01,V11 C:  8 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
+ found   (C11,V11 M: 12 dset:   0 I:   -999   -999  J:    1    5  K: -999 -999  L:   -999   -999
  1   / 1:  1.000
  2   / 2:  2.000
  3   / 3:  3.000
@@ -30131,50 +30143,50 @@ list/nohead a            ! cache hit
  
 let a = SAMPLEI(I[i=1:100], {8,5,3})
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
- -DELETE (C11,V11 M: 12 dset:   0 I: -999 -999  J:    1    5  K: -999 -999  L: -999 -999
+ -DELETE (C11,V11 M: 12 dset:   0 I:   -999   -999  J:    1    5  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid YABSTRACT       NORMAL    ABSTRACT  NORMAL    NORMAL
- -DELETE (C01,V11 M: 11 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
- -DELETE (C01,V11 M: 13 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ -DELETE (C01,V11 M: 11 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
+ -DELETE (C01,V11 M: 13 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
- -DELETE A        M:  5 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
- -DELETE A        M: 10 dset:   0 I:    1    5  J: -999 -999  K: -999 -999  L: -999 -999
+ -DELETE A        M:  5 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
+ -DELETE A        M: 10 dset:   0 I:      1      5  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
 say `a,return=isize`     ! evaluate it now
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid A        C:  7 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid (C01,V11 C:  9 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid (C09,V11 C: 12 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid A        C:  7 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid (C01,V11 C:  9 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid (C09,V11 C: 12 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  dealloc  dynamic grid ABSTRACT        ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT
- pass #2 (C09,V11 C: 12 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ pass #2 (C09,V11 C: 12 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I: -999 -999  J: -999 -999  K: -999 -999  L:    1    1
- eval    A        C:  6 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- eval    (C01,V11 C:  8 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- const_v {8,5,3}  M: 10 dset:   0 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999
- doing sampling tpry on I axis:     1     3 dset:   0
- eval    (C09,V11 C: 12 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- pseudo  I        M: 11 dset:   0 I:    1  100  J: -999 -999  K: -999 -999  L: -999 -999
- -DELETE (C01,V11 M: 13 dset:   0 I:    1    3  J: -999 -999  K: -999 -999  L:    3    3  M: -999 -999  N: -999 -999
- -DELETE A        M:  5 dset:   0 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999  M: -999 -999  N: -999 -999
- -DELETE tpry     M:  3 dset:   0 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999
- -DELETE {8,5,3}  M: 10 dset:   0 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:   -999   -999  J: -999 -999  K: -999 -999  L:      1      1
+ eval    A        C:  6 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
+ eval    (C01,V11 C:  8 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
+ const_v {8,5,3}  M: 10 dset:   0 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999
+ doing sampling tpry on I axis:        1        3 dset:   0
+ eval    (C09,V11 C: 12 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
+ pseudo  I        M: 11 dset:   0 I:      1    100  J: -999 -999  K: -999 -999  L:   -999   -999
+ -DELETE (C01,V11 M: 13 dset:   0 I:      1      3  J: -999 -999  K: -999 -999  L:      3      3  M: -999 -999  N: -999 -999
+ -DELETE A        M:  5 dset:   0 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999  M: -999 -999  N: -999 -999
+ -DELETE tpry     M:  3 dset:   0 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999
+ -DELETE {8,5,3}  M: 10 dset:   0 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999
  !-> MESSAGE/CONTINUE 3
 3
 list/nohead a            ! cache hit
- -DELETE I        M: 11 dset:   0 I:    1  100  J: -999 -999  K: -999 -999  L: -999 -999
+ -DELETE I        M: 11 dset:   0 I:      1    100  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I: -999 -999  J: -999 -999  K: -999 -999  L:    1    1
- eval    A        C:  6 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- eval    (C01,V11 C:  8 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- const_v {8,5,3}  M: 11 dset:   0 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999
- doing sampling tpry on I axis:     1     3 dset:   0
- found   (C09,V11 M: 12 dset:   0 I:    1  100  J: -999 -999  K: -999 -999  L: -999 -999
- -DELETE (C01,V11 M: 13 dset:   0 I:    1    3  J: -999 -999  K: -999 -999  L:    3    3  M: -999 -999  N: -999 -999
- -DELETE tpry     M:  3 dset:   0 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999  M: -999 -999  N: -999 -999
- -DELETE tpry     M:  8 dset:   0 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999
- -DELETE {8,5,3}  M: 11 dset:   0 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:   -999   -999  J: -999 -999  K: -999 -999  L:      1      1
+ eval    A        C:  6 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
+ eval    (C01,V11 C:  8 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
+ const_v {8,5,3}  M: 11 dset:   0 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999
+ doing sampling tpry on I axis:        1        3 dset:   0
+ found   (C09,V11 M: 12 dset:   0 I:      1    100  J: -999 -999  K: -999 -999  L:   -999   -999
+ -DELETE (C01,V11 M: 13 dset:   0 I:      1      3  J: -999 -999  K: -999 -999  L:      3      3  M: -999 -999  N: -999 -999
+ -DELETE tpry     M:  3 dset:   0 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999  M: -999 -999  N: -999 -999
+ -DELETE tpry     M:  8 dset:   0 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999
+ -DELETE {8,5,3}  M: 11 dset:   0 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999
  1   / 1:  8.000
  2   / 2:  5.000
  3   / 3:  3.000
@@ -30183,29 +30195,30 @@ spawn rm -f foo.bar*
 spawn touch foo.bar1 foo.bar2 foo.bar3
 let a = SPAWN("ls foo.bar*")
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
- -DELETE (C09,V11 M: 12 dset:   0 I:    1  100  J: -999 -999  K: -999 -999  L: -999 -999
+ -DELETE (C09,V11 M: 12 dset:   0 I:      1    100  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
- -DELETE (C01,V11 M:  3 dset:   0 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999
- -DELETE (C01,V11 M:  5 dset:   0 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999
+ -DELETE (C01,V11 M:  3 dset:   0 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999
+ -DELETE (C01,V11 M:  5 dset:   0 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
- -DELETE A        M: 10 dset:   0 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999
- -DELETE A        M: 11 dset:   0 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999
+ -DELETE A        M: 10 dset:   0 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999
+ -DELETE A        M: 11 dset:   0 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
 say `a,return=isize`     ! evaluate it now
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid A        C:  7 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid A        C:  7 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I: -999 -999  J: -999 -999  K: -999 -999  L:    1    1
- eval    A        C:  6 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- string str      M: 11 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M: -999 -999  N: -999 -999
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:   -999   -999  J: -999 -999  K: -999 -999  L:      1      1
+ eval    A        C:  6 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
+ string str      M: 11 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M: -999 -999  N: -999 -999
  !-> MESSAGE/CONTINUE 3
 3
 list/nohead a            ! cache hit
+ -DELETE tpry     M: 10 dset:   0 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I: -999 -999  J: -999 -999  K: -999 -999  L:    1    1
- found   A        M: 10 dset:   0 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:   -999   -999  J: -999 -999  K: -999 -999  L:      1      1
+ found   A        M:  5 dset:   0 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999
  1   / 1:"foo.bar1"
  2   / 2:"foo.bar2"
  3   / 3:"foo.bar3"
@@ -30213,45 +30226,42 @@ list/nohead a            ! cache hit
 ! RESHAPE, alone, is set to require matched limits in order to make a cache hit
 let a = RESHAPE(I[I=1:3]+10*j[j=1:3], I[i=1:9])
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
- -DELETE A        M: 10 dset:   0 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999
+ -DELETE A        M:  5 dset:   0 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
 say `a,return=isize`
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid A        C:  7 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid (C01,V11 C:  9 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid (C31,V11 C: 11 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid A        C:  7 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid (C01,V11 C:  9 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid (C31,V11 C: 11 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  dealloc  dynamic grid ABSTRACT        ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT
- pass #2 (C31,V11 C: 11 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid (C09,V11 C: 12 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ pass #2 (C31,V11 C: 11 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid (C09,V11 C: 12 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  dealloc  dynamic grid ABSTRACT        ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT
- pass #2 (C09,V11 C: 12 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G002)          ABSTRACT  ABSTRACT  NORMAL    NORMAL
+ pass #2 (C09,V11 C: 12 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G###)          ABSTRACT  ABSTRACT  NORMAL    NORMAL
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I: -999 -999  J: -999 -999  K: -999 -999  L:    1    1
- eval    A        C:  6 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- eval    (C01,V11 C:  8 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- eval    (C09,V11 C: 10 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- pseudo  I        M: 10 dset:   0 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999
- constan cnst     M:  5 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- pseudo  J        M:  3 dset:   0 I: -999 -999  J:    1    3  K: -999 -999  L: -999 -999
- -DELETE J        M:  3 dset:   0 I: -999 -999  J:    1    3  K: -999 -999  L: -999 -999
- -DELETE cnst     M:  5 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- -DELETE tpry     M: 12 dset:   0 I: -999 -999  J:    1    3  K: -999 -999  L: -999 -999  M: -999 -999  N: -999 -999
- -DELETE I        M: 10 dset:   0 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999
- eval    (C31,V11 C: 11 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- pseudo  I        M: 10 dset:   0 I:    1    9  J: -999 -999  K: -999 -999  L: -999 -999
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:   -999   -999  J: -999 -999  K: -999 -999  L:      1      1
+ eval    A        C:  6 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
+ eval    (C01,V11 C:  8 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
+ eval    (C09,V11 C: 10 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
+ pseudo  I        M:  5 dset:   0 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999
+ constan cnst     M: 10 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
+ pseudo  J        M:  3 dset:   0 I:   -999   -999  J:    1    3  K: -999 -999  L:   -999   -999
+ -DELETE J        M:  3 dset:   0 I:   -999   -999  J:    1    3  K: -999 -999  L:   -999   -999
+ -DELETE cnst     M: 10 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
+ -DELETE tpry     M: 12 dset:   0 I:   -999   -999  J:    1    3  K: -999 -999  L:   -999   -999  M: -999 -999  N: -999 -999
+ -DELETE I        M:  5 dset:   0 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999
+ eval    (C31,V11 C: 11 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
+ pseudo  I        M:  5 dset:   0 I:      1      9  J: -999 -999  K: -999 -999  L:   -999   -999
  !-> MESSAGE/CONTINUE 9
 9
 list/nohead a            ! no cache hit
- -DELETE I        M: 10 dset:   0 I:    1    9  J: -999 -999  K: -999 -999  L: -999 -999
+ -DELETE I        M:  5 dset:   0 I:      1      9  J: -999 -999  K: -999 -999  L:   -999   -999
  dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I: -999 -999  J: -999 -999  K: -999 -999  L:    1    1
- eval    A        C:  6 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- eval    (C01,V11 C:  8 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- found   (C09,V11 M:  5 dset:   0 I:    1    3  J:    1    3  K: -999 -999  L: -999 -999
- found   (C31,V11 M: 12 dset:   0 I:    1    9  J: -999 -999  K: -999 -999  L: -999 -999
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:   -999   -999  J: -999 -999  K: -999 -999  L:      1      1
+ found   A        M:  8 dset:   0 I:      1      9  J: -999 -999  K: -999 -999  L:   -999   -999
  1   / 1:  11.00
  2   / 2:  12.00
  3   / 3:  13.00
@@ -30306,8 +30316,8 @@ list/x=160e/y=5s temp[d=2,k=1,g=a[d=1]]
           29.52
 show grid
  Default grid for DEFINE VARIABLE is ABSTRACT
- Last successful data access was on grid (G003)
-    GRID (G003)
+ Last successful data access was on grid (G###)
+    GRID (G###)
  name       axis              # pts   start                end                 subset
  COADSX    LONGITUDE          180mr   21E                  19E(379)            full
  COADSY    LATITUDE            90 r   89S                  89N                 full
@@ -30335,8 +30345,8 @@ list/x=160e/y=5s temp[d=2,k=1,gy=yax,gx=a[d=1]]
           29.52
 show grid
  Default grid for DEFINE VARIABLE is ABSTRACT
- Last successful data access was on grid (G003)
-    GRID (G003)
+ Last successful data access was on grid (G###)
+    GRID (G###)
  name       axis              # pts   start                end                 subset
  COADSX    LONGITUDE          180mr   21E                  19E(379)            full
  YAX       LATITUDE            81 r   20S                  20N                 full
@@ -30362,8 +30372,8 @@ list/x=160e/y=5s temp[d=2,k=1,gx=a[d=1],g=gg]
           29.52
 show grid
  Default grid for DEFINE VARIABLE is ABSTRACT
- Last successful data access was on grid (G003)
-    GRID (G003)
+ Last successful data access was on grid (G###)
+    GRID (G###)
  name       axis              # pts   start                end                 subset
  COADSX    LONGITUDE          180mr   21E                  19E(379)            full
  YAX       LATITUDE            81 r   20S                  20N                 full
@@ -30415,14 +30425,14 @@ show grid gg2
     GRID GG2
  name       axis              # pts   start                end
  XAXLEVITR1_160 LONGITUDE     160mr   20.5E                179.5E
- (AX008)   LATITUDE           401 r   20S                  20N
+ (AX###)   LATITUDE           401 r   20S                  20N
  normal    Z
  TIME      TIME                 3mr   16-JAN 06:00         17-MAR 02:58
 show grid/dynamic
 Dynamic grids:
     no implicit grids
 Dynamic axes:
-    AXIS (AX008)                         use count:   1
+    AXIS (AX###)                         use count:   1
  
 ! demonstrate proper management of dynamic axes
 DEFINE GRID/LIKE=gg2 gg3
@@ -30430,7 +30440,7 @@ show grid/dynamic
 Dynamic grids:
     no implicit grids
 Dynamic axes:
-    AXIS (AX008)                         use count:   2
+    AXIS (AX###)                         use count:   2
 DEFINE GRID/like=temp[d=levitus_climatology] gg2
 show grid gg2
     GRID GG2
@@ -30443,17 +30453,17 @@ show grid/dynamic
 Dynamic grids:
     no implicit grids
 Dynamic axes:
-    AXIS (AX008)                         use count:   1
+    AXIS (AX###)                         use count:   1
  
 ! SET GRID using a user-defined variable
 let g = sst[x=0:30:.1,d=coads_climatology]
 set grid g
 show grid
- Default grid for DEFINE VARIABLE is (G003)
- Last successful data access was on grid (G003)
-    GRID (G003)
+ Default grid for DEFINE VARIABLE is (G###)
+ Last successful data access was on grid (G###)
+    GRID (G###)
  name       axis              # pts   start                end                 subset
- (AX009)   LONGITUDE          301 r   0E                   30E                 full
+ (AX###)   LONGITUDE          301 r   0E                   30E                 full
  COADSY    LATITUDE            90 r   89S                  89N                 full
  normal    Z
  TIME      TIME                 3mr   16-JAN 06:00         17-MAR 02:58        full
@@ -30461,20 +30471,20 @@ show grid
 ! The SET GRID (default) definition should be protected -- not altered
 load/d=coads_climatology sst[y=-10:10:.1,l=1,x=160e]
 show grid
- Default grid for DEFINE VARIABLE is (G003)
- Last successful data access was on grid (G004)
-    GRID (G004)
+ Default grid for DEFINE VARIABLE is (G###)
+ Last successful data access was on grid (G###)
+    GRID (G###)
  name       axis              # pts   start                end                 subset
  COADSX    LONGITUDE          180mr   21E                  19E(379)            1 pt
- (AX010)   LATITUDE           201 r   10S                  10N                 200 pts
+ (AX###)   LATITUDE           201 r   10S                  10N                 201 pts
  normal    Z
  TIME      TIME                 3mr   16-JAN 06:00         17-MAR 02:58        1 pt
 show grid/dynamic
 Dynamic grids:
-    GRID (G004)                          use count:   1
+    GRID (G###)                          use count:   1
  name       axis              # pts   start                end
  COADSX    LONGITUDE          180mr   21E                  19E(379)
- (AX010)   LATITUDE           201 r   10S                  10N
+ (AX###)   LATITUDE           201 r   10S                  10N
  normal    Z
  TIME      TIME                 3mr   16-JAN 06:00         17-MAR 02:58
  
@@ -30591,76 +30601,76 @@ list a1[gxz=a2]
 ! 6/01
 ! test use of expressions in dynamic grid commands
 SHOW GRID temp[d=2,gx=sst[d=1],y=10s:2s:.2]             ! implicit Y axis
-    GRID (G006)
+    GRID (G###)
  name       axis              # pts   start                end                 subset
  COADSX    LONGITUDE          180mr   21E                  19E(379)            full
- (AX007)   LATITUDE            41 r   10S                  2S                  40 pts
+ (AX###)   LATITUDE            41 r   10S                  2S                  41 pts
  ZAXLEVITR1_1 DEPTH (m)         1 r-  0                    0                   full
  normal    T
 SHOW GRID "temp[d=2,gx=sst[d=1],y=10s:2s:.2] + 5"
-    GRID (G006)
+    GRID (G###)
  name       axis              # pts   start                end                 subset
  COADSX    LONGITUDE          180mr   21E                  19E(379)            full
- (AX010)   LATITUDE            41 r   10S                  2S                  40 pts
+ (AX###)   LATITUDE            41 r   10S                  2S                  41 pts
  ZAXLEVITR1_1 DEPTH (m)         1 r-  0                    0                   full
  normal    T
 SHOW GRID FFTA(sst[d=1,gx=temp[d=2],y=10s:2s:.2,l=1:5]) ! imposed T axis
-    GRID (G007)
+    GRID (G###)
  name       axis              # pts   start                end                 subset
  XAXLEVITR1_160 LONGITUDE     160mr   20.5E                179.5E              full
- (AX007)   LATITUDE            41 r   10S                  2S                  40 pts
+ (AX###)   LATITUDE            41 r   10S                  2S                  41 pts
  normal    Z
- (AX011)   T (CYC/hour)         2 r   0.00034224           0.00068448          (axis from grid-changing func)
+ (AX###)   T (CYC/hour)         2 r   0.00034224           0.00068448          (axis from grid-changing func)
 SHOW GRID SORTI(temp[d=2,gx=sst[d=1],y=10s:2s:.2])      ! abstract X axis
-    GRID (G006)
+    GRID (G###)
  name       axis              # pts   start                end                 subset
  ABSTRACT  X             99999999 r   1                    1.E+08              (axis from grid-changing func)
- (AX007)   LATITUDE            41 r   10S                  2S                  40 pts
+ (AX###)   LATITUDE            41 r   10S                  2S                  41 pts
  ZAXLEVITR1_1 DEPTH (m)         1 r-  0                    0                   full
  normal    T
 SHOW GRID "temp[d=2,gx=sst[d=1],y=10s:2s:.2] + 5",FFTA(sst[d=1,gx=temp[d=2],y=10s:2s:.2,l=1:5]),SORTI(temp[d=2,gx=sst[d=1],y=10s:2s:.2])
-    GRID (G006)
+    GRID (G###)
  name       axis              # pts   start                end                 subset
  COADSX    LONGITUDE          180mr   21E                  19E(379)            full
- (AX011)   LATITUDE            41 r   10S                  2S                  40 pts
+ (AX###)   LATITUDE            41 r   10S                  2S                  41 pts
  ZAXLEVITR1_1 DEPTH (m)         1 r-  0                    0                   full
  normal    T
-    GRID (G007)
+    GRID (G###)
  name       axis              # pts   start                end                 subset
  XAXLEVITR1_160 LONGITUDE     160mr   20.5E                179.5E              full
- (AX007)   LATITUDE            41 r   10S                  2S                  40 pts
+ (AX###)   LATITUDE            41 r   10S                  2S                  41 pts
  normal    Z
- (AX010)   T (CYC/hour)         2 r   0.00034224           0.00068448          (axis from grid-changing func)
-    GRID (G006)
+ (AX###)   T (CYC/hour)         2 r   0.00034224           0.00068448          (axis from grid-changing func)
+    GRID (G###)
  name       axis              # pts   start                end                 subset
  ABSTRACT  X             99999999 r   1                    1.E+08              (axis from grid-changing func)
- (AX007)   LATITUDE            41 r   10S                  2S                  40 pts
+ (AX###)   LATITUDE            41 r   10S                  2S                  41 pts
  ZAXLEVITR1_1 DEPTH (m)         1 r-  0                    0                   full
  normal    T
  
 load/x=160e/y=5s temp[d=2,gx=sst[d=1],y=10s:2s:.2] + 5
 SHOW GRID
- Default grid for DEFINE VARIABLE is (G003)
- Last successful data access was on grid (G006)
-    GRID (G006)
+ Default grid for DEFINE VARIABLE is (G###)
+ Last successful data access was on grid (G###)
+    GRID (G###)
  name       axis              # pts   start                end                 subset
  COADSX    LONGITUDE          180mr   21E                  19E(379)            full
- (AX010)   LATITUDE            41 r   10S                  2S                  40 pts
+ (AX###)   LATITUDE            41 r   10S                  2S                  41 pts
  ZAXLEVITR1_1 DEPTH (m)         1 r-  0                    0                   full
  normal    T
 SET GRID  FFTA(sst[d=1,gx=temp[d=2],y=10s:2s:.2,l=1:5]) + 5
 SHOW GRID
- Default grid for DEFINE VARIABLE is (G007)
- Last successful data access was on grid (G007)
-    GRID (G007)
+ Default grid for DEFINE VARIABLE is (G###)
+ Last successful data access was on grid (G###)
+    GRID (G###)
  name       axis              # pts   start                end                 subset
  XAXLEVITR1_160 LONGITUDE     160mr   20.5E                179.5E              full
- (AX007)   LATITUDE            41 r   10S                  2S                  full
+ (AX###)   LATITUDE            41 r   10S                  2S                  full
  normal    Z
- (AX011)   T (CYC/hour)         2 r   0.00034224           0.00068448          full
+ (AX###)   T (CYC/hour)         2 r   0.00034224           0.00068448          full
 list/j=1:5 j
              VARIABLE : J
-                        axis (AX007)
+                        axis (AX###)
              SUBSET   : 5 points (LATITUDE)
  9.2S   / 5:  5.000
  9.4S   / 4:  4.000
@@ -30672,15 +30682,15 @@ SHOW GRID MYGRID
     GRID MYGRID
  name       axis              # pts   start                end
  COADSX    LONGITUDE          180mr   21E                  19E(379)
- (AX007)   LATITUDE            41 r   10S                  2S
+ (AX###)   LATITUDE            41 r   10S                  2S
  ZAXLEVITR1_1 DEPTH (m)         1 r-  0                    0
  normal    T
 SHOW GRID/DYNAMIC
 Dynamic grids:
-    GRID (G004)                          use count:   1
+    GRID (G###)                          use count:   1
  name       axis              # pts   start                end
  COADSX    LONGITUDE          180mr   21E                  19E(379)
- (AX007)   LATITUDE            41 r   10S                  2S
+ (AX###)   LATITUDE            41 r   10S                  2S
  ZAXLEVITR1_1 DEPTH (m)         1 r-  0                    0
  normal    T
  
@@ -31005,6 +31015,7 @@ vector/flow/over/len=10  u,v
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 set mode meta flowlines.plt
 can mode logo
  
@@ -31017,6 +31028,7 @@ can mode meta
 ! curvilinear flowline plots
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
  
 use coads_climatology
 go mp_sinusoidal
@@ -31089,6 +31101,7 @@ plot/hlog fcn
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go bench_fft
 ! Benchmark Ferret script for FFT.  Uses analytic function of time.
  
@@ -31227,6 +31240,7 @@ CANCEL MODE IGNORE_ERRORS
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go bench_gridding
 ! bench_gridding.jnl
 ! *acm* 8/99
@@ -31424,6 +31438,7 @@ can axis x10
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go bn_scat2grid_test
 ! bn_scat2grid_test.jnl
 ! From JonCallahan's insitu_gaussian_*.jnl
@@ -31488,7 +31503,7 @@ can mem/all
  
 let xy_laplace_gridded = scat2gridlaplace_xy(xax,yax,O2_umol_kg,x[gx=x_20],y[gy=y_20],2,2)
 show grid xy_laplace_gridded
-    GRID (G005)
+    GRID (G###)
  name       axis              # pts   start                end                 subset
  X_20      LONGITUDE           20mr   50E                  70E                 full
  Y_20      LATITUDE            20 r   10N                  20N                 full
@@ -31571,6 +31586,7 @@ can axis x_20
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go bn_scat2grid_gl
 ! bn_scat2grid_gl.jnl
 ! test the scat2gridgauss and scat2gridlaplace functions,
@@ -32098,6 +32114,7 @@ can axis x_15
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go bn_scat2gridlaplace_tarasoff
 ! bn_scat2gridlaplace_tarasoff
 ! check for error reported by Lev Tarasoff 5/10/2006
@@ -32117,7 +32134,7 @@ let xln = if xlnb lt 0. then xlnb+360. else xlnb
 let wgtl = scat2gridlaplace_xy(xln,ylt, wgt, x[gx=xlonef], y[gy=ylatef], 2., 1)
  
 show grid wgtl
-    GRID (G009)
+    GRID (G###)
  name       axis              # pts   start                end                 subset
  XLONEF    LONGITUDE          133mr   12.5W                119.5E(479.5)       full
  YLATEF    LATITUDE            73 r   47.25N               83.25N              full
@@ -32199,6 +32216,7 @@ cancel axis ylatef
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go bn_scat2grid_nobs
 ! bn_scat2grid_nobs.jnl
 ! test of scat2grid_nobs functions,
@@ -32502,6 +32520,7 @@ can axis x_15
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go bn_scat2grid_t
 ! bn_scat2grid_t.jnl
 ! test the ave_scat2grid_t and scat2grid_t functions,
@@ -32581,6 +32600,7 @@ can axis t_32
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go bn_transpose
 ! bn_tranpose.jnl
 ! test the transpose functions,
@@ -32941,6 +32961,979 @@ list transpose_zt(myvar)
  2   / 3:  110.0  111.0  112.0  113.0  114.0
  3   / 4:  115.0  116.0  117.0  118.0  119.0
  
+def axis /X=0.0:4.0:1.0/units=degrees_east xaxs
+def axis /Y=0.0:3.0:1.0/units=degrees_north yaxs
+def axis /Z=0.0:1.4:0.2/units=m/depth zaxs
+def axis /T=0.0:6.0:1.0/units=days/t0=1-jan-2001 taxs
+def axis /E=0.0:10.0:5 eaxs
+def axis /F=0.0:100.0:20 faxs
+def grid /X=xaxs /Y=yaxs /Z=zaxs /T=taxs /E=eaxs /F=faxs mygrd
+ 
+set grid mygrd
+let myvar = X + 5.0 * (Y + 4.0 * (Z + 3.0 * T)) + _E - _F
+ 
+ 
+! * * * * Simple XYZTEF examples * * *
+ 
+list/x=1/y=1/z=1/t=1 myvar
+             VARIABLE : X + 5.0 * (Y + 4.0 * (Z + 3.0 * T)) + _E - _F
+             SUBSET   : 3 by 6 points (E-F)
+             LONGITUDE: 1E
+             LATITUDE : 1N
+             DEPTH (m): 1
+             TIME     : 02-JAN-2001 00:00
+               0      5     10    
+               1      2      3
+ 0     / 1:  86.00  91.00  96.00
+ 20    / 2:  66.00  71.00  76.00
+ 40    / 3:  46.00  51.00  56.00
+ 60    / 4:  26.00  31.00  36.00
+ 80    / 5:   6.00  11.00  16.00
+ 100   / 6: -14.00  -9.00  -4.00
+list/x=1/y=1/z=1/t=1 transpose_ef(myvar)
+             VARIABLE : TRANSPOSE_EF(MYVAR)
+             SUBSET   : 6 by 3 points (E-F)
+             LONGITUDE: 1E
+             LATITUDE : 1N
+             DEPTH (m): 1
+             TIME     : 02-JAN-2001 00:00
+             1      2      3      4      5      6    
+             1      2      3      4      5      6
+ 1   / 1:  86.00  66.00  46.00  26.00   6.00 -14.00
+ 2   / 2:  91.00  71.00  51.00  31.00  11.00  -9.00
+ 3   / 3:  96.00  76.00  56.00  36.00  16.00  -4.00
+ 
+list/e=5/y=1/z=1/t=1 myvar
+             VARIABLE : X + 5.0 * (Y + 4.0 * (Z + 3.0 * T)) + _E - _F
+             SUBSET   : 5 by 6 points (LONGITUDE-F)
+             LATITUDE : 1N
+             DEPTH (m): 1
+             TIME     : 02-JAN-2001 00:00
+             E        : 5
+              0E     1E     2E     3E     4E    
+               1      2      3      4      5
+ 0     / 1:  90.00  91.00  92.00  93.00  94.00
+ 20    / 2:  70.00  71.00  72.00  73.00  74.00
+ 40    / 3:  50.00  51.00  52.00  53.00  54.00
+ 60    / 4:  30.00  31.00  32.00  33.00  34.00
+ 80    / 5:  10.00  11.00  12.00  13.00  14.00
+ 100   / 6: -10.00  -9.00  -8.00  -7.00  -6.00
+list/e=5/y=1/z=1/t=1 transpose_xf(myvar)
+             VARIABLE : TRANSPOSE_XF(MYVAR)
+             SUBSET   : 6 by 5 points (X-F)
+             LATITUDE : 1N
+             DEPTH (m): 1
+             TIME     : 02-JAN-2001 00:00
+             E        : 5
+             1      2      3      4      5      6    
+             1      2      3      4      5      6
+ 1   / 1:  90.00  70.00  50.00  30.00  10.00 -10.00
+ 2   / 2:  91.00  71.00  51.00  31.00  11.00  -9.00
+ 3   / 3:  92.00  72.00  52.00  32.00  12.00  -8.00
+ 4   / 4:  93.00  73.00  53.00  33.00  13.00  -7.00
+ 5   / 5:  94.00  74.00  54.00  34.00  14.00  -6.00
+list/F=25/y=1/z=1/t=1 myvar
+             VARIABLE : X + 5.0 * (Y + 4.0 * (Z + 3.0 * T)) + _E - _F
+             SUBSET   : 5 by 3 points (LONGITUDE-E)
+             LATITUDE : 1N
+             DEPTH (m): 1
+             TIME     : 02-JAN-2001 00:00
+             F        : 20
+             0E     1E     2E     3E     4E    
+              1      2      3      4      5
+ 0    / 1:  65.00  66.00  67.00  68.00  69.00
+ 5    / 2:  70.00  71.00  72.00  73.00  74.00
+ 10   / 3:  75.00  76.00  77.00  78.00  79.00
+list/F=25/y=1/z=1/t=1 transpose_xe(myvar)
+             VARIABLE : TRANSPOSE_XE(MYVAR)
+             SUBSET   : 3 by 5 points (X-E)
+             LATITUDE : 1N
+             DEPTH (m): 1
+             TIME     : 02-JAN-2001 00:00
+             F        : 20
+             1      2      3    
+             1      2      3
+ 1   / 1:  65.00  70.00  75.00
+ 2   / 2:  66.00  71.00  76.00
+ 3   / 3:  67.00  72.00  77.00
+ 4   / 4:  68.00  73.00  78.00
+ 5   / 5:  69.00  74.00  79.00
+ 
+list/e=5/x=1/z=1/t=1 myvar
+             VARIABLE : X + 5.0 * (Y + 4.0 * (Z + 3.0 * T)) + _E - _F
+             SUBSET   : 4 by 6 points (LATITUDE-F)
+             LONGITUDE: 1E
+             DEPTH (m): 1
+             TIME     : 02-JAN-2001 00:00
+             E        : 5
+               0     1N     2N     3N    
+               1      2      3      4
+ 0     / 1:   86.0   91.0   96.0  101.0
+ 20    / 2:   66.0   71.0   76.0   81.0
+ 40    / 3:   46.0   51.0   56.0   61.0
+ 60    / 4:   26.0   31.0   36.0   41.0
+ 80    / 5:    6.0   11.0   16.0   21.0
+ 100   / 6:  -14.0   -9.0   -4.0    1.0
+list/e=5/x=1/z=1/t=1 transpose_yf(myvar)
+             VARIABLE : TRANSPOSE_YF(MYVAR)
+             SUBSET   : 6 by 4 points (Y-F)
+             LONGITUDE: 1E
+             DEPTH (m): 1
+             TIME     : 02-JAN-2001 00:00
+             E        : 5
+             1      2      3      4      5      6    
+             1      2      3      4      5      6
+ 1   / 1:   86.0   66.0   46.0   26.0    6.0  -14.0
+ 2   / 2:   91.0   71.0   51.0   31.0   11.0   -9.0
+ 3   / 3:   96.0   76.0   56.0   36.0   16.0   -4.0
+ 4   / 4:  101.0   81.0   61.0   41.0   21.0    1.0
+list/F=25/x=1/z=1/t=1 myvar
+             VARIABLE : X + 5.0 * (Y + 4.0 * (Z + 3.0 * T)) + _E - _F
+             SUBSET   : 4 by 3 points (LATITUDE-E)
+             LONGITUDE: 1E
+             DEPTH (m): 1
+             TIME     : 02-JAN-2001 00:00
+             F        : 20
+              0     1N     2N     3N    
+              1      2      3      4
+ 0    / 1:  61.00  66.00  71.00  76.00
+ 5    / 2:  66.00  71.00  76.00  81.00
+ 10   / 3:  71.00  76.00  81.00  86.00
+list/F=25/x=1/z=1/t=1 transpose_ye(myvar)
+             VARIABLE : TRANSPOSE_YE(MYVAR)
+             SUBSET   : 3 by 4 points (Y-E)
+             LONGITUDE: 1E
+             DEPTH (m): 1
+             TIME     : 02-JAN-2001 00:00
+             F        : 20
+             1      2      3    
+             1      2      3
+ 1   / 1:  61.00  66.00  71.00
+ 2   / 2:  66.00  71.00  76.00
+ 3   / 3:  71.00  76.00  81.00
+ 4   / 4:  76.00  81.00  86.00
+ 
+list/e=5/x=1/y=1/t=1 myvar
+             VARIABLE : X + 5.0 * (Y + 4.0 * (Z + 3.0 * T)) + _E - _F
+             SUBSET   : 8 by 6 points (DEPTH (m)-F)
+             LONGITUDE: 1E
+             LATITUDE : 1N
+             TIME     : 02-JAN-2001 00:00
+             E        : 5
+              0      0.2    0.4    0.6    0.8    1      1.2    1.4   
+               1      2      3      4      5      6      7      8
+ 0     / 1:  71.00  75.00  79.00  83.00  87.00  91.00  95.00  99.00
+ 20    / 2:  51.00  55.00  59.00  63.00  67.00  71.00  75.00  79.00
+ 40    / 3:  31.00  35.00  39.00  43.00  47.00  51.00  55.00  59.00
+ 60    / 4:  11.00  15.00  19.00  23.00  27.00  31.00  35.00  39.00
+ 80    / 5:  -9.00  -5.00  -1.00   3.00   7.00  11.00  15.00  19.00
+ 100   / 6: -29.00 -25.00 -21.00 -17.00 -13.00  -9.00  -5.00  -1.00
+list/e=5/x=1/y=1/t=1 transpose_zf(myvar)
+             VARIABLE : TRANSPOSE_ZF(MYVAR)
+             SUBSET   : 6 by 8 points (Z-F)
+             LONGITUDE: 1E
+             LATITUDE : 1N
+             TIME     : 02-JAN-2001 00:00
+             E        : 5
+             1      2      3      4      5      6    
+             1      2      3      4      5      6
+ 1   / 1:  71.00  51.00  31.00  11.00  -9.00 -29.00
+ 2   / 2:  75.00  55.00  35.00  15.00  -5.00 -25.00
+ 3   / 3:  79.00  59.00  39.00  19.00  -1.00 -21.00
+ 4   / 4:  83.00  63.00  43.00  23.00   3.00 -17.00
+ 5   / 5:  87.00  67.00  47.00  27.00   7.00 -13.00
+ 6   / 6:  91.00  71.00  51.00  31.00  11.00  -9.00
+ 7   / 7:  95.00  75.00  55.00  35.00  15.00  -5.00
+ 8   / 8:  99.00  79.00  59.00  39.00  19.00  -1.00
+list/F=25/x=1/y=1/t=1 myvar
+             VARIABLE : X + 5.0 * (Y + 4.0 * (Z + 3.0 * T)) + _E - _F
+             SUBSET   : 8 by 3 points (DEPTH (m)-E)
+             LONGITUDE: 1E
+             LATITUDE : 1N
+             TIME     : 02-JAN-2001 00:00
+             F        : 20
+             0      0.2    0.4    0.6    0.8    1      1.2    1.4   
+              1      2      3      4      5      6      7      8
+ 0    / 1:  46.00  50.00  54.00  58.00  62.00  66.00  70.00  74.00
+ 5    / 2:  51.00  55.00  59.00  63.00  67.00  71.00  75.00  79.00
+ 10   / 3:  56.00  60.00  64.00  68.00  72.00  76.00  80.00  84.00
+list/F=25/x=1/y=1/t=1 transpose_ze(myvar)
+             VARIABLE : TRANSPOSE_ZE(MYVAR)
+             SUBSET   : 3 by 8 points (Z-E)
+             LONGITUDE: 1E
+             LATITUDE : 1N
+             TIME     : 02-JAN-2001 00:00
+             F        : 20
+             1      2      3    
+             1      2      3
+ 1   / 1:  46.00  51.00  56.00
+ 2   / 2:  50.00  55.00  60.00
+ 3   / 3:  54.00  59.00  64.00
+ 4   / 4:  58.00  63.00  68.00
+ 5   / 5:  62.00  67.00  72.00
+ 6   / 6:  66.00  71.00  76.00
+ 7   / 7:  70.00  75.00  80.00
+ 8   / 8:  74.00  79.00  84.00
+ 
+list/e=5/x=1/y=1/z=1 myvar
+             VARIABLE : X + 5.0 * (Y + 4.0 * (Z + 3.0 * T)) + _E - _F
+             SUBSET   : 7 by 6 points (TIME-F)
+             LONGITUDE: 1E
+             LATITUDE : 1N
+             DEPTH (m): 1
+             E        : 5
+              2001   2001   2001   2001   2001   2001   2001  
+               1      2      3      4      5      6      7
+ 0     / 1:   31.0   91.0  151.0  211.0  271.0  331.0  391.0
+ 20    / 2:   11.0   71.0  131.0  191.0  251.0  311.0  371.0
+ 40    / 3:   -9.0   51.0  111.0  171.0  231.0  291.0  351.0
+ 60    / 4:  -29.0   31.0   91.0  151.0  211.0  271.0  331.0
+ 80    / 5:  -49.0   11.0   71.0  131.0  191.0  251.0  311.0
+ 100   / 6:  -69.0   -9.0   51.0  111.0  171.0  231.0  291.0
+list/e=5/x=1/y=1/z=1 transpose_tf(myvar)
+             VARIABLE : TRANSPOSE_TF(MYVAR)
+             SUBSET   : 6 by 7 points (T-F)
+             LONGITUDE: 1E
+             LATITUDE : 1N
+             DEPTH (m): 1
+             E        : 5
+             1      2      3      4      5      6    
+             1      2      3      4      5      6
+ 1   / 1:   31.0   11.0   -9.0  -29.0  -49.0  -69.0
+ 2   / 2:   91.0   71.0   51.0   31.0   11.0   -9.0
+ 3   / 3:  151.0  131.0  111.0   91.0   71.0   51.0
+ 4   / 4:  211.0  191.0  171.0  151.0  131.0  111.0
+ 5   / 5:  271.0  251.0  231.0  211.0  191.0  171.0
+ 6   / 6:  331.0  311.0  291.0  271.0  251.0  231.0
+ 7   / 7:  391.0  371.0  351.0  331.0  311.0  291.0
+list/F=25/x=1/y=1/z=1 myvar
+             VARIABLE : X + 5.0 * (Y + 4.0 * (Z + 3.0 * T)) + _E - _F
+             SUBSET   : 7 by 3 points (TIME-E)
+             LONGITUDE: 1E
+             LATITUDE : 1N
+             DEPTH (m): 1
+             F        : 20
+             2001   2001   2001   2001   2001   2001   2001  
+              1      2      3      4      5      6      7
+ 0    / 1:    6.0   66.0  126.0  186.0  246.0  306.0  366.0
+ 5    / 2:   11.0   71.0  131.0  191.0  251.0  311.0  371.0
+ 10   / 3:   16.0   76.0  136.0  196.0  256.0  316.0  376.0
+list/F=25/x=1/y=1/z=1 transpose_te(myvar)
+             VARIABLE : TRANSPOSE_TE(MYVAR)
+             SUBSET   : 3 by 7 points (T-E)
+             LONGITUDE: 1E
+             LATITUDE : 1N
+             DEPTH (m): 1
+             F        : 20
+             1      2      3    
+             1      2      3
+ 1   / 1:    6.0   11.0   16.0
+ 2   / 2:   66.0   71.0   76.0
+ 3   / 3:  126.0  131.0  136.0
+ 4   / 4:  186.0  191.0  196.0
+ 5   / 5:  246.0  251.0  256.0
+ 6   / 6:  306.0  311.0  316.0
+ 7   / 7:  366.0  371.0  376.0
+ 
+ 
+! * * * *  XYZTEF examples with another dimension * * *
+ 
+list/y=1/z=1/t=1 myvar
+             VARIABLE : X + 5.0 * (Y + 4.0 * (Z + 3.0 * T)) + _E - _F
+             SUBSET   : 5 by 3 by 6 points (LONGITUDE-E-F)
+             LATITUDE : 1N
+             DEPTH (m): 1
+             TIME     : 02-JAN-2001 00:00
+             0E     1E     2E     3E     4E    
+              1      2      3      4      5
+ ---- N:1 F:   0
+ 0    / 1:  85.00  86.00  87.00  88.00  89.00
+ 5    / 2:  90.00  91.00  92.00  93.00  94.00
+ 10   / 3:  95.00  96.00  97.00  98.00  99.00
+ ---- N:2 F:   20
+ 0    / 1:  65.00  66.00  67.00  68.00  69.00
+ 5    / 2:  70.00  71.00  72.00  73.00  74.00
+ 10   / 3:  75.00  76.00  77.00  78.00  79.00
+ ---- N:3 F:   40
+ 0    / 1:  45.00  46.00  47.00  48.00  49.00
+ 5    / 2:  50.00  51.00  52.00  53.00  54.00
+ 10   / 3:  55.00  56.00  57.00  58.00  59.00
+ ---- N:4 F:   60
+ 0    / 1:  25.00  26.00  27.00  28.00  29.00
+ 5    / 2:  30.00  31.00  32.00  33.00  34.00
+ 10   / 3:  35.00  36.00  37.00  38.00  39.00
+ ---- N:5 F:   80
+ 0    / 1:   5.00   6.00   7.00   8.00   9.00
+ 5    / 2:  10.00  11.00  12.00  13.00  14.00
+ 10   / 3:  15.00  16.00  17.00  18.00  19.00
+ ---- N:6 F:   100
+ 0    / 1: -15.00 -14.00 -13.00 -12.00 -11.00
+ 5    / 2: -10.00  -9.00  -8.00  -7.00  -6.00
+ 10   / 3:  -5.00  -4.00  -3.00  -2.00  -1.00
+list/y=1/z=1/t=1 transpose_ef(myvar)
+             VARIABLE : TRANSPOSE_EF(MYVAR)
+             SUBSET   : 5 by 6 by 3 points (LONGITUDE-E-F)
+             LATITUDE : 1N
+             DEPTH (m): 1
+             TIME     : 02-JAN-2001 00:00
+            0E     1E     2E     3E     4E    
+             1      2      3      4      5
+ ---- N:1 F:   1
+ 1   / 1:  85.00  86.00  87.00  88.00  89.00
+ 2   / 2:  65.00  66.00  67.00  68.00  69.00
+ 3   / 3:  45.00  46.00  47.00  48.00  49.00
+ 4   / 4:  25.00  26.00  27.00  28.00  29.00
+ 5   / 5:   5.00   6.00   7.00   8.00   9.00
+ 6   / 6: -15.00 -14.00 -13.00 -12.00 -11.00
+ ---- N:2 F:   2
+ 1   / 1:  90.00  91.00  92.00  93.00  94.00
+ 2   / 2:  70.00  71.00  72.00  73.00  74.00
+ 3   / 3:  50.00  51.00  52.00  53.00  54.00
+ 4   / 4:  30.00  31.00  32.00  33.00  34.00
+ 5   / 5:  10.00  11.00  12.00  13.00  14.00
+ 6   / 6: -10.00  -9.00  -8.00  -7.00  -6.00
+ ---- N:3 F:   3
+ 1   / 1:  95.00  96.00  97.00  98.00  99.00
+ 2   / 2:  75.00  76.00  77.00  78.00  79.00
+ 3   / 3:  55.00  56.00  57.00  58.00  59.00
+ 4   / 4:  35.00  36.00  37.00  38.00  39.00
+ 5   / 5:  15.00  16.00  17.00  18.00  19.00
+ 6   / 6:  -5.00  -4.00  -3.00  -2.00  -1.00
+ 
+list/e=5/z=1/t=1 myvar
+             VARIABLE : X + 5.0 * (Y + 4.0 * (Z + 3.0 * T)) + _E - _F
+             SUBSET   : 5 by 4 by 6 points (LONGITUDE-LATITUDE-F)
+             DEPTH (m): 1
+             TIME     : 02-JAN-2001 00:00
+             E        : 5
+             0E     1E     2E     3E     4E    
+              1      2      3      4      5
+ ---- N:1 F:   0
+ 3N   / 4:  100.0  101.0  102.0  103.0  104.0
+ 2N   / 3:   95.0   96.0   97.0   98.0   99.0
+ 1N   / 2:   90.0   91.0   92.0   93.0   94.0
+ 0    / 1:   85.0   86.0   87.0   88.0   89.0
+ ---- N:2 F:   20
+ 3N   / 4:   80.0   81.0   82.0   83.0   84.0
+ 2N   / 3:   75.0   76.0   77.0   78.0   79.0
+ 1N   / 2:   70.0   71.0   72.0   73.0   74.0
+ 0    / 1:   65.0   66.0   67.0   68.0   69.0
+ ---- N:3 F:   40
+ 3N   / 4:   60.0   61.0   62.0   63.0   64.0
+ 2N   / 3:   55.0   56.0   57.0   58.0   59.0
+ 1N   / 2:   50.0   51.0   52.0   53.0   54.0
+ 0    / 1:   45.0   46.0   47.0   48.0   49.0
+ ---- N:4 F:   60
+ 3N   / 4:   40.0   41.0   42.0   43.0   44.0
+ 2N   / 3:   35.0   36.0   37.0   38.0   39.0
+ 1N   / 2:   30.0   31.0   32.0   33.0   34.0
+ 0    / 1:   25.0   26.0   27.0   28.0   29.0
+ ---- N:5 F:   80
+ 3N   / 4:   20.0   21.0   22.0   23.0   24.0
+ 2N   / 3:   15.0   16.0   17.0   18.0   19.0
+ 1N   / 2:   10.0   11.0   12.0   13.0   14.0
+ 0    / 1:    5.0    6.0    7.0    8.0    9.0
+ ---- N:6 F:   100
+ 3N   / 4:    0.0    1.0    2.0    3.0    4.0
+ 2N   / 3:   -5.0   -4.0   -3.0   -2.0   -1.0
+ 1N   / 2:  -10.0   -9.0   -8.0   -7.0   -6.0
+ 0    / 1:  -15.0  -14.0  -13.0  -12.0  -11.0
+list/e=5/z=1/t=1 transpose_xf(myvar)
+             VARIABLE : TRANSPOSE_XF(MYVAR)
+             SUBSET   : 6 by 4 by 5 points (X-LATITUDE-F)
+             DEPTH (m): 1
+             TIME     : 02-JAN-2001 00:00
+             E        : 5
+              1      2      3      4      5      6    
+              1      2      3      4      5      6
+ ---- N:1 F:   1
+ 3N   / 4:  100.0   80.0   60.0   40.0   20.0    0.0
+ 2N   / 3:   95.0   75.0   55.0   35.0   15.0   -5.0
+ 1N   / 2:   90.0   70.0   50.0   30.0   10.0  -10.0
+ 0    / 1:   85.0   65.0   45.0   25.0    5.0  -15.0
+ ---- N:2 F:   2
+ 3N   / 4:  101.0   81.0   61.0   41.0   21.0    1.0
+ 2N   / 3:   96.0   76.0   56.0   36.0   16.0   -4.0
+ 1N   / 2:   91.0   71.0   51.0   31.0   11.0   -9.0
+ 0    / 1:   86.0   66.0   46.0   26.0    6.0  -14.0
+ ---- N:3 F:   3
+ 3N   / 4:  102.0   82.0   62.0   42.0   22.0    2.0
+ 2N   / 3:   97.0   77.0   57.0   37.0   17.0   -3.0
+ 1N   / 2:   92.0   72.0   52.0   32.0   12.0   -8.0
+ 0    / 1:   87.0   67.0   47.0   27.0    7.0  -13.0
+ ---- N:4 F:   4
+ 3N   / 4:  103.0   83.0   63.0   43.0   23.0    3.0
+ 2N   / 3:   98.0   78.0   58.0   38.0   18.0   -2.0
+ 1N   / 2:   93.0   73.0   53.0   33.0   13.0   -7.0
+ 0    / 1:   88.0   68.0   48.0   28.0    8.0  -12.0
+ ---- N:5 F:   5
+ 3N   / 4:  104.0   84.0   64.0   44.0   24.0    4.0
+ 2N   / 3:   99.0   79.0   59.0   39.0   19.0   -1.0
+ 1N   / 2:   94.0   74.0   54.0   34.0   14.0   -6.0
+ 0    / 1:   89.0   69.0   49.0   29.0    9.0  -11.0
+list/F=25/z=1/t=1 myvar
+             VARIABLE : X + 5.0 * (Y + 4.0 * (Z + 3.0 * T)) + _E - _F
+             SUBSET   : 5 by 4 by 3 points (LONGITUDE-LATITUDE-E)
+             DEPTH (m): 1
+             TIME     : 02-JAN-2001 00:00
+             F        : 20
+             0E     1E     2E     3E     4E    
+              1      2      3      4      5
+ ---- M:1 E:   0
+ 3N   / 4:  75.00  76.00  77.00  78.00  79.00
+ 2N   / 3:  70.00  71.00  72.00  73.00  74.00
+ 1N   / 2:  65.00  66.00  67.00  68.00  69.00
+ 0    / 1:  60.00  61.00  62.00  63.00  64.00
+ ---- M:2 E:   5
+ 3N   / 4:  80.00  81.00  82.00  83.00  84.00
+ 2N   / 3:  75.00  76.00  77.00  78.00  79.00
+ 1N   / 2:  70.00  71.00  72.00  73.00  74.00
+ 0    / 1:  65.00  66.00  67.00  68.00  69.00
+ ---- M:3 E:   10
+ 3N   / 4:  85.00  86.00  87.00  88.00  89.00
+ 2N   / 3:  80.00  81.00  82.00  83.00  84.00
+ 1N   / 2:  75.00  76.00  77.00  78.00  79.00
+ 0    / 1:  70.00  71.00  72.00  73.00  74.00
+list/F=25/z=1/t=1 transpose_xe(myvar)
+             VARIABLE : TRANSPOSE_XE(MYVAR)
+             SUBSET   : 3 by 4 by 5 points (X-LATITUDE-E)
+             DEPTH (m): 1
+             TIME     : 02-JAN-2001 00:00
+             F        : 20
+              1      2      3    
+              1      2      3
+ ---- M:1 E:   1
+ 3N   / 4:  75.00  80.00  85.00
+ 2N   / 3:  70.00  75.00  80.00
+ 1N   / 2:  65.00  70.00  75.00
+ 0    / 1:  60.00  65.00  70.00
+ ---- M:2 E:   2
+ 3N   / 4:  76.00  81.00  86.00
+ 2N   / 3:  71.00  76.00  81.00
+ 1N   / 2:  66.00  71.00  76.00
+ 0    / 1:  61.00  66.00  71.00
+ ---- M:3 E:   3
+ 3N   / 4:  77.00  82.00  87.00
+ 2N   / 3:  72.00  77.00  82.00
+ 1N   / 2:  67.00  72.00  77.00
+ 0    / 1:  62.00  67.00  72.00
+ ---- M:4 E:   4
+ 3N   / 4:  78.00  83.00  88.00
+ 2N   / 3:  73.00  78.00  83.00
+ 1N   / 2:  68.00  73.00  78.00
+ 0    / 1:  63.00  68.00  73.00
+ ---- M:5 E:   5
+ 3N   / 4:  79.00  84.00  89.00
+ 2N   / 3:  74.00  79.00  84.00
+ 1N   / 2:  69.00  74.00  79.00
+ 0    / 1:  64.00  69.00  74.00
+ 
+list/e=5/z=1/t=1 myvar
+             VARIABLE : X + 5.0 * (Y + 4.0 * (Z + 3.0 * T)) + _E - _F
+             SUBSET   : 5 by 4 by 6 points (LONGITUDE-LATITUDE-F)
+             DEPTH (m): 1
+             TIME     : 02-JAN-2001 00:00
+             E        : 5
+             0E     1E     2E     3E     4E    
+              1      2      3      4      5
+ ---- N:1 F:   0
+ 3N   / 4:  100.0  101.0  102.0  103.0  104.0
+ 2N   / 3:   95.0   96.0   97.0   98.0   99.0
+ 1N   / 2:   90.0   91.0   92.0   93.0   94.0
+ 0    / 1:   85.0   86.0   87.0   88.0   89.0
+ ---- N:2 F:   20
+ 3N   / 4:   80.0   81.0   82.0   83.0   84.0
+ 2N   / 3:   75.0   76.0   77.0   78.0   79.0
+ 1N   / 2:   70.0   71.0   72.0   73.0   74.0
+ 0    / 1:   65.0   66.0   67.0   68.0   69.0
+ ---- N:3 F:   40
+ 3N   / 4:   60.0   61.0   62.0   63.0   64.0
+ 2N   / 3:   55.0   56.0   57.0   58.0   59.0
+ 1N   / 2:   50.0   51.0   52.0   53.0   54.0
+ 0    / 1:   45.0   46.0   47.0   48.0   49.0
+ ---- N:4 F:   60
+ 3N   / 4:   40.0   41.0   42.0   43.0   44.0
+ 2N   / 3:   35.0   36.0   37.0   38.0   39.0
+ 1N   / 2:   30.0   31.0   32.0   33.0   34.0
+ 0    / 1:   25.0   26.0   27.0   28.0   29.0
+ ---- N:5 F:   80
+ 3N   / 4:   20.0   21.0   22.0   23.0   24.0
+ 2N   / 3:   15.0   16.0   17.0   18.0   19.0
+ 1N   / 2:   10.0   11.0   12.0   13.0   14.0
+ 0    / 1:    5.0    6.0    7.0    8.0    9.0
+ ---- N:6 F:   100
+ 3N   / 4:    0.0    1.0    2.0    3.0    4.0
+ 2N   / 3:   -5.0   -4.0   -3.0   -2.0   -1.0
+ 1N   / 2:  -10.0   -9.0   -8.0   -7.0   -6.0
+ 0    / 1:  -15.0  -14.0  -13.0  -12.0  -11.0
+list/e=5/z=1/t=1 transpose_yf(myvar)
+             VARIABLE : TRANSPOSE_YF(MYVAR)
+             SUBSET   : 5 by 6 by 4 points (LONGITUDE-Y-F)
+             DEPTH (m): 1
+             TIME     : 02-JAN-2001 00:00
+             E        : 5
+            0E     1E     2E     3E     4E    
+             1      2      3      4      5
+ ---- N:1 F:   1
+ 1   / 1:   85.0   86.0   87.0   88.0   89.0
+ 2   / 2:   65.0   66.0   67.0   68.0   69.0
+ 3   / 3:   45.0   46.0   47.0   48.0   49.0
+ 4   / 4:   25.0   26.0   27.0   28.0   29.0
+ 5   / 5:    5.0    6.0    7.0    8.0    9.0
+ 6   / 6:  -15.0  -14.0  -13.0  -12.0  -11.0
+ ---- N:2 F:   2
+ 1   / 1:   90.0   91.0   92.0   93.0   94.0
+ 2   / 2:   70.0   71.0   72.0   73.0   74.0
+ 3   / 3:   50.0   51.0   52.0   53.0   54.0
+ 4   / 4:   30.0   31.0   32.0   33.0   34.0
+ 5   / 5:   10.0   11.0   12.0   13.0   14.0
+ 6   / 6:  -10.0   -9.0   -8.0   -7.0   -6.0
+ ---- N:3 F:   3
+ 1   / 1:   95.0   96.0   97.0   98.0   99.0
+ 2   / 2:   75.0   76.0   77.0   78.0   79.0
+ 3   / 3:   55.0   56.0   57.0   58.0   59.0
+ 4   / 4:   35.0   36.0   37.0   38.0   39.0
+ 5   / 5:   15.0   16.0   17.0   18.0   19.0
+ 6   / 6:   -5.0   -4.0   -3.0   -2.0   -1.0
+ ---- N:4 F:   4
+ 1   / 1:  100.0  101.0  102.0  103.0  104.0
+ 2   / 2:   80.0   81.0   82.0   83.0   84.0
+ 3   / 3:   60.0   61.0   62.0   63.0   64.0
+ 4   / 4:   40.0   41.0   42.0   43.0   44.0
+ 5   / 5:   20.0   21.0   22.0   23.0   24.0
+ 6   / 6:    0.0    1.0    2.0    3.0    4.0
+list/F=25/z=1/t=1 myvar
+             VARIABLE : X + 5.0 * (Y + 4.0 * (Z + 3.0 * T)) + _E - _F
+             SUBSET   : 5 by 4 by 3 points (LONGITUDE-LATITUDE-E)
+             DEPTH (m): 1
+             TIME     : 02-JAN-2001 00:00
+             F        : 20
+             0E     1E     2E     3E     4E    
+              1      2      3      4      5
+ ---- M:1 E:   0
+ 3N   / 4:  75.00  76.00  77.00  78.00  79.00
+ 2N   / 3:  70.00  71.00  72.00  73.00  74.00
+ 1N   / 2:  65.00  66.00  67.00  68.00  69.00
+ 0    / 1:  60.00  61.00  62.00  63.00  64.00
+ ---- M:2 E:   5
+ 3N   / 4:  80.00  81.00  82.00  83.00  84.00
+ 2N   / 3:  75.00  76.00  77.00  78.00  79.00
+ 1N   / 2:  70.00  71.00  72.00  73.00  74.00
+ 0    / 1:  65.00  66.00  67.00  68.00  69.00
+ ---- M:3 E:   10
+ 3N   / 4:  85.00  86.00  87.00  88.00  89.00
+ 2N   / 3:  80.00  81.00  82.00  83.00  84.00
+ 1N   / 2:  75.00  76.00  77.00  78.00  79.00
+ 0    / 1:  70.00  71.00  72.00  73.00  74.00
+list/F=25/z=1/t=1 transpose_ye(myvar)
+             VARIABLE : TRANSPOSE_YE(MYVAR)
+             SUBSET   : 5 by 3 by 4 points (LONGITUDE-Y-E)
+             DEPTH (m): 1
+             TIME     : 02-JAN-2001 00:00
+             F        : 20
+            0E     1E     2E     3E     4E    
+             1      2      3      4      5
+ ---- M:1 E:   1
+ 1   / 1:  60.00  61.00  62.00  63.00  64.00
+ 2   / 2:  65.00  66.00  67.00  68.00  69.00
+ 3   / 3:  70.00  71.00  72.00  73.00  74.00
+ ---- M:2 E:   2
+ 1   / 1:  65.00  66.00  67.00  68.00  69.00
+ 2   / 2:  70.00  71.00  72.00  73.00  74.00
+ 3   / 3:  75.00  76.00  77.00  78.00  79.00
+ ---- M:3 E:   3
+ 1   / 1:  70.00  71.00  72.00  73.00  74.00
+ 2   / 2:  75.00  76.00  77.00  78.00  79.00
+ 3   / 3:  80.00  81.00  82.00  83.00  84.00
+ ---- M:4 E:   4
+ 1   / 1:  75.00  76.00  77.00  78.00  79.00
+ 2   / 2:  80.00  81.00  82.00  83.00  84.00
+ 3   / 3:  85.00  86.00  87.00  88.00  89.00
+ 
+list/e=5/y=1/t=1 myvar
+             VARIABLE : X + 5.0 * (Y + 4.0 * (Z + 3.0 * T)) + _E - _F
+             SUBSET   : 5 by 8 by 6 points (LONGITUDE-DEPTH (m)-F)
+             LATITUDE : 1N
+             TIME     : 02-JAN-2001 00:00
+             E        : 5
+              0E     1E     2E     3E     4E    
+               1      2      3      4      5
+ ---- N:1 F:   0
+ 0     / 1:   70.0   71.0   72.0   73.0   74.0
+ 0.2   / 2:   74.0   75.0   76.0   77.0   78.0
+ 0.4   / 3:   78.0   79.0   80.0   81.0   82.0
+ 0.6   / 4:   82.0   83.0   84.0   85.0   86.0
+ 0.8   / 5:   86.0   87.0   88.0   89.0   90.0
+ 1     / 6:   90.0   91.0   92.0   93.0   94.0
+ 1.2   / 7:   94.0   95.0   96.0   97.0   98.0
+ 1.4   / 8:   98.0   99.0  100.0  101.0  102.0
+ ---- N:2 F:   20
+ 0     / 1:   50.0   51.0   52.0   53.0   54.0
+ 0.2   / 2:   54.0   55.0   56.0   57.0   58.0
+ 0.4   / 3:   58.0   59.0   60.0   61.0   62.0
+ 0.6   / 4:   62.0   63.0   64.0   65.0   66.0
+ 0.8   / 5:   66.0   67.0   68.0   69.0   70.0
+ 1     / 6:   70.0   71.0   72.0   73.0   74.0
+ 1.2   / 7:   74.0   75.0   76.0   77.0   78.0
+ 1.4   / 8:   78.0   79.0   80.0   81.0   82.0
+ ---- N:3 F:   40
+ 0     / 1:   30.0   31.0   32.0   33.0   34.0
+ 0.2   / 2:   34.0   35.0   36.0   37.0   38.0
+ 0.4   / 3:   38.0   39.0   40.0   41.0   42.0
+ 0.6   / 4:   42.0   43.0   44.0   45.0   46.0
+ 0.8   / 5:   46.0   47.0   48.0   49.0   50.0
+ 1     / 6:   50.0   51.0   52.0   53.0   54.0
+ 1.2   / 7:   54.0   55.0   56.0   57.0   58.0
+ 1.4   / 8:   58.0   59.0   60.0   61.0   62.0
+ ---- N:4 F:   60
+ 0     / 1:   10.0   11.0   12.0   13.0   14.0
+ 0.2   / 2:   14.0   15.0   16.0   17.0   18.0
+ 0.4   / 3:   18.0   19.0   20.0   21.0   22.0
+ 0.6   / 4:   22.0   23.0   24.0   25.0   26.0
+ 0.8   / 5:   26.0   27.0   28.0   29.0   30.0
+ 1     / 6:   30.0   31.0   32.0   33.0   34.0
+ 1.2   / 7:   34.0   35.0   36.0   37.0   38.0
+ 1.4   / 8:   38.0   39.0   40.0   41.0   42.0
+ ---- N:5 F:   80
+ 0     / 1:  -10.0   -9.0   -8.0   -7.0   -6.0
+ 0.2   / 2:   -6.0   -5.0   -4.0   -3.0   -2.0
+ 0.4   / 3:   -2.0   -1.0    0.0    1.0    2.0
+ 0.6   / 4:    2.0    3.0    4.0    5.0    6.0
+ 0.8   / 5:    6.0    7.0    8.0    9.0   10.0
+ 1     / 6:   10.0   11.0   12.0   13.0   14.0
+ 1.2   / 7:   14.0   15.0   16.0   17.0   18.0
+ 1.4   / 8:   18.0   19.0   20.0   21.0   22.0
+ ---- N:6 F:   100
+ 0     / 1:  -30.0  -29.0  -28.0  -27.0  -26.0
+ 0.2   / 2:  -26.0  -25.0  -24.0  -23.0  -22.0
+ 0.4   / 3:  -22.0  -21.0  -20.0  -19.0  -18.0
+ 0.6   / 4:  -18.0  -17.0  -16.0  -15.0  -14.0
+ 0.8   / 5:  -14.0  -13.0  -12.0  -11.0  -10.0
+ 1     / 6:  -10.0   -9.0   -8.0   -7.0   -6.0
+ 1.2   / 7:   -6.0   -5.0   -4.0   -3.0   -2.0
+ 1.4   / 8:   -2.0   -1.0    0.0    1.0    2.0
+list/e=5/y=1/t=1 transpose_zf(myvar)
+             VARIABLE : TRANSPOSE_ZF(MYVAR)
+             SUBSET   : 5 by 6 by 8 points (LONGITUDE-Z-F)
+             LATITUDE : 1N
+             TIME     : 02-JAN-2001 00:00
+             E        : 5
+            0E     1E     2E     3E     4E    
+             1      2      3      4      5
+ ---- N:1 F:   1
+ 1   / 1:   70.0   71.0   72.0   73.0   74.0
+ 2   / 2:   50.0   51.0   52.0   53.0   54.0
+ 3   / 3:   30.0   31.0   32.0   33.0   34.0
+ 4   / 4:   10.0   11.0   12.0   13.0   14.0
+ 5   / 5:  -10.0   -9.0   -8.0   -7.0   -6.0
+ 6   / 6:  -30.0  -29.0  -28.0  -27.0  -26.0
+ ---- N:2 F:   2
+ 1   / 1:   74.0   75.0   76.0   77.0   78.0
+ 2   / 2:   54.0   55.0   56.0   57.0   58.0
+ 3   / 3:   34.0   35.0   36.0   37.0   38.0
+ 4   / 4:   14.0   15.0   16.0   17.0   18.0
+ 5   / 5:   -6.0   -5.0   -4.0   -3.0   -2.0
+ 6   / 6:  -26.0  -25.0  -24.0  -23.0  -22.0
+ ---- N:3 F:   3
+ 1   / 1:   78.0   79.0   80.0   81.0   82.0
+ 2   / 2:   58.0   59.0   60.0   61.0   62.0
+ 3   / 3:   38.0   39.0   40.0   41.0   42.0
+ 4   / 4:   18.0   19.0   20.0   21.0   22.0
+ 5   / 5:   -2.0   -1.0    0.0    1.0    2.0
+ 6   / 6:  -22.0  -21.0  -20.0  -19.0  -18.0
+ ---- N:4 F:   4
+ 1   / 1:   82.0   83.0   84.0   85.0   86.0
+ 2   / 2:   62.0   63.0   64.0   65.0   66.0
+ 3   / 3:   42.0   43.0   44.0   45.0   46.0
+ 4   / 4:   22.0   23.0   24.0   25.0   26.0
+ 5   / 5:    2.0    3.0    4.0    5.0    6.0
+ 6   / 6:  -18.0  -17.0  -16.0  -15.0  -14.0
+ ---- N:5 F:   5
+ 1   / 1:   86.0   87.0   88.0   89.0   90.0
+ 2   / 2:   66.0   67.0   68.0   69.0   70.0
+ 3   / 3:   46.0   47.0   48.0   49.0   50.0
+ 4   / 4:   26.0   27.0   28.0   29.0   30.0
+ 5   / 5:    6.0    7.0    8.0    9.0   10.0
+ 6   / 6:  -14.0  -13.0  -12.0  -11.0  -10.0
+ ---- N:6 F:   6
+ 1   / 1:   90.0   91.0   92.0   93.0   94.0
+ 2   / 2:   70.0   71.0   72.0   73.0   74.0
+ 3   / 3:   50.0   51.0   52.0   53.0   54.0
+ 4   / 4:   30.0   31.0   32.0   33.0   34.0
+ 5   / 5:   10.0   11.0   12.0   13.0   14.0
+ 6   / 6:  -10.0   -9.0   -8.0   -7.0   -6.0
+ ---- N:7 F:   7
+ 1   / 1:   94.0   95.0   96.0   97.0   98.0
+ 2   / 2:   74.0   75.0   76.0   77.0   78.0
+ 3   / 3:   54.0   55.0   56.0   57.0   58.0
+ 4   / 4:   34.0   35.0   36.0   37.0   38.0
+ 5   / 5:   14.0   15.0   16.0   17.0   18.0
+ 6   / 6:   -6.0   -5.0   -4.0   -3.0   -2.0
+ ---- N:8 F:   8
+ 1   / 1:   98.0   99.0  100.0  101.0  102.0
+ 2   / 2:   78.0   79.0   80.0   81.0   82.0
+ 3   / 3:   58.0   59.0   60.0   61.0   62.0
+ 4   / 4:   38.0   39.0   40.0   41.0   42.0
+ 5   / 5:   18.0   19.0   20.0   21.0   22.0
+ 6   / 6:   -2.0   -1.0    0.0    1.0    2.0
+list/F=25/y=1/t=1 myvar
+             VARIABLE : X + 5.0 * (Y + 4.0 * (Z + 3.0 * T)) + _E - _F
+             SUBSET   : 5 by 8 by 3 points (LONGITUDE-DEPTH (m)-E)
+             LATITUDE : 1N
+             TIME     : 02-JAN-2001 00:00
+             F        : 20
+              0E     1E     2E     3E     4E    
+               1      2      3      4      5
+ ---- M:1 E:   0
+ 0     / 1:  45.00  46.00  47.00  48.00  49.00
+ 0.2   / 2:  49.00  50.00  51.00  52.00  53.00
+ 0.4   / 3:  53.00  54.00  55.00  56.00  57.00
+ 0.6   / 4:  57.00  58.00  59.00  60.00  61.00
+ 0.8   / 5:  61.00  62.00  63.00  64.00  65.00
+ 1     / 6:  65.00  66.00  67.00  68.00  69.00
+ 1.2   / 7:  69.00  70.00  71.00  72.00  73.00
+ 1.4   / 8:  73.00  74.00  75.00  76.00  77.00
+ ---- M:2 E:   5
+ 0     / 1:  50.00  51.00  52.00  53.00  54.00
+ 0.2   / 2:  54.00  55.00  56.00  57.00  58.00
+ 0.4   / 3:  58.00  59.00  60.00  61.00  62.00
+ 0.6   / 4:  62.00  63.00  64.00  65.00  66.00
+ 0.8   / 5:  66.00  67.00  68.00  69.00  70.00
+ 1     / 6:  70.00  71.00  72.00  73.00  74.00
+ 1.2   / 7:  74.00  75.00  76.00  77.00  78.00
+ 1.4   / 8:  78.00  79.00  80.00  81.00  82.00
+ ---- M:3 E:   10
+ 0     / 1:  55.00  56.00  57.00  58.00  59.00
+ 0.2   / 2:  59.00  60.00  61.00  62.00  63.00
+ 0.4   / 3:  63.00  64.00  65.00  66.00  67.00
+ 0.6   / 4:  67.00  68.00  69.00  70.00  71.00
+ 0.8   / 5:  71.00  72.00  73.00  74.00  75.00
+ 1     / 6:  75.00  76.00  77.00  78.00  79.00
+ 1.2   / 7:  79.00  80.00  81.00  82.00  83.00
+ 1.4   / 8:  83.00  84.00  85.00  86.00  87.00
+list/F=25/y=1/t=1 transpose_ze(myvar)
+             VARIABLE : TRANSPOSE_ZE(MYVAR)
+             SUBSET   : 5 by 3 by 8 points (LONGITUDE-Z-E)
+             LATITUDE : 1N
+             TIME     : 02-JAN-2001 00:00
+             F        : 20
+            0E     1E     2E     3E     4E    
+             1      2      3      4      5
+ ---- M:1 E:   1
+ 1   / 1:  45.00  46.00  47.00  48.00  49.00
+ 2   / 2:  50.00  51.00  52.00  53.00  54.00
+ 3   / 3:  55.00  56.00  57.00  58.00  59.00
+ ---- M:2 E:   2
+ 1   / 1:  49.00  50.00  51.00  52.00  53.00
+ 2   / 2:  54.00  55.00  56.00  57.00  58.00
+ 3   / 3:  59.00  60.00  61.00  62.00  63.00
+ ---- M:3 E:   3
+ 1   / 1:  53.00  54.00  55.00  56.00  57.00
+ 2   / 2:  58.00  59.00  60.00  61.00  62.00
+ 3   / 3:  63.00  64.00  65.00  66.00  67.00
+ ---- M:4 E:   4
+ 1   / 1:  57.00  58.00  59.00  60.00  61.00
+ 2   / 2:  62.00  63.00  64.00  65.00  66.00
+ 3   / 3:  67.00  68.00  69.00  70.00  71.00
+ ---- M:5 E:   5
+ 1   / 1:  61.00  62.00  63.00  64.00  65.00
+ 2   / 2:  66.00  67.00  68.00  69.00  70.00
+ 3   / 3:  71.00  72.00  73.00  74.00  75.00
+ ---- M:6 E:   6
+ 1   / 1:  65.00  66.00  67.00  68.00  69.00
+ 2   / 2:  70.00  71.00  72.00  73.00  74.00
+ 3   / 3:  75.00  76.00  77.00  78.00  79.00
+ ---- M:7 E:   7
+ 1   / 1:  69.00  70.00  71.00  72.00  73.00
+ 2   / 2:  74.00  75.00  76.00  77.00  78.00
+ 3   / 3:  79.00  80.00  81.00  82.00  83.00
+ ---- M:8 E:   8
+ 1   / 1:  73.00  74.00  75.00  76.00  77.00
+ 2   / 2:  78.00  79.00  80.00  81.00  82.00
+ 3   / 3:  83.00  84.00  85.00  86.00  87.00
+ 
+list/e=5/y=1/z=1 myvar
+             VARIABLE : X + 5.0 * (Y + 4.0 * (Z + 3.0 * T)) + _E - _F
+             SUBSET   : 5 by 7 by 6 points (LONGITUDE-TIME-F)
+             LATITUDE : 1N
+             DEPTH (m): 1
+             E        : 5
+                       0E     1E     2E     3E     4E    
+                        1      2      3      4      5
+ ---- N:1 F:   0
+ 01-JAN-2001 00 / 1:   30.0   31.0   32.0   33.0   34.0
+ 02-JAN-2001 00 / 2:   90.0   91.0   92.0   93.0   94.0
+ 03-JAN-2001 00 / 3:  150.0  151.0  152.0  153.0  154.0
+ 04-JAN-2001 00 / 4:  210.0  211.0  212.0  213.0  214.0
+ 05-JAN-2001 00 / 5:  270.0  271.0  272.0  273.0  274.0
+ 06-JAN-2001 00 / 6:  330.0  331.0  332.0  333.0  334.0
+ 07-JAN-2001 00 / 7:  390.0  391.0  392.0  393.0  394.0
+ ---- N:2 F:   20
+ 01-JAN-2001 00 / 1:   10.0   11.0   12.0   13.0   14.0
+ 02-JAN-2001 00 / 2:   70.0   71.0   72.0   73.0   74.0
+ 03-JAN-2001 00 / 3:  130.0  131.0  132.0  133.0  134.0
+ 04-JAN-2001 00 / 4:  190.0  191.0  192.0  193.0  194.0
+ 05-JAN-2001 00 / 5:  250.0  251.0  252.0  253.0  254.0
+ 06-JAN-2001 00 / 6:  310.0  311.0  312.0  313.0  314.0
+ 07-JAN-2001 00 / 7:  370.0  371.0  372.0  373.0  374.0
+ ---- N:3 F:   40
+ 01-JAN-2001 00 / 1:  -10.0   -9.0   -8.0   -7.0   -6.0
+ 02-JAN-2001 00 / 2:   50.0   51.0   52.0   53.0   54.0
+ 03-JAN-2001 00 / 3:  110.0  111.0  112.0  113.0  114.0
+ 04-JAN-2001 00 / 4:  170.0  171.0  172.0  173.0  174.0
+ 05-JAN-2001 00 / 5:  230.0  231.0  232.0  233.0  234.0
+ 06-JAN-2001 00 / 6:  290.0  291.0  292.0  293.0  294.0
+ 07-JAN-2001 00 / 7:  350.0  351.0  352.0  353.0  354.0
+ ---- N:4 F:   60
+ 01-JAN-2001 00 / 1:  -30.0  -29.0  -28.0  -27.0  -26.0
+ 02-JAN-2001 00 / 2:   30.0   31.0   32.0   33.0   34.0
+ 03-JAN-2001 00 / 3:   90.0   91.0   92.0   93.0   94.0
+ 04-JAN-2001 00 / 4:  150.0  151.0  152.0  153.0  154.0
+ 05-JAN-2001 00 / 5:  210.0  211.0  212.0  213.0  214.0
+ 06-JAN-2001 00 / 6:  270.0  271.0  272.0  273.0  274.0
+ 07-JAN-2001 00 / 7:  330.0  331.0  332.0  333.0  334.0
+ ---- N:5 F:   80
+ 01-JAN-2001 00 / 1:  -50.0  -49.0  -48.0  -47.0  -46.0
+ 02-JAN-2001 00 / 2:   10.0   11.0   12.0   13.0   14.0
+ 03-JAN-2001 00 / 3:   70.0   71.0   72.0   73.0   74.0
+ 04-JAN-2001 00 / 4:  130.0  131.0  132.0  133.0  134.0
+ 05-JAN-2001 00 / 5:  190.0  191.0  192.0  193.0  194.0
+ 06-JAN-2001 00 / 6:  250.0  251.0  252.0  253.0  254.0
+ 07-JAN-2001 00 / 7:  310.0  311.0  312.0  313.0  314.0
+ ---- N:6 F:   100
+ 01-JAN-2001 00 / 1:  -70.0  -69.0  -68.0  -67.0  -66.0
+ 02-JAN-2001 00 / 2:  -10.0   -9.0   -8.0   -7.0   -6.0
+ 03-JAN-2001 00 / 3:   50.0   51.0   52.0   53.0   54.0
+ 04-JAN-2001 00 / 4:  110.0  111.0  112.0  113.0  114.0
+ 05-JAN-2001 00 / 5:  170.0  171.0  172.0  173.0  174.0
+ 06-JAN-2001 00 / 6:  230.0  231.0  232.0  233.0  234.0
+ 07-JAN-2001 00 / 7:  290.0  291.0  292.0  293.0  294.0
+list/e=5/y=1/z=1 transpose_tf(myvar)
+             VARIABLE : TRANSPOSE_TF(MYVAR)
+             SUBSET   : 5 by 6 by 7 points (LONGITUDE-T-F)
+             LATITUDE : 1N
+             DEPTH (m): 1
+             E        : 5
+            0E     1E     2E     3E     4E    
+             1      2      3      4      5
+ ---- N:1 F:   1
+ 1   / 1:   30.0   31.0   32.0   33.0   34.0
+ 2   / 2:   10.0   11.0   12.0   13.0   14.0
+ 3   / 3:  -10.0   -9.0   -8.0   -7.0   -6.0
+ 4   / 4:  -30.0  -29.0  -28.0  -27.0  -26.0
+ 5   / 5:  -50.0  -49.0  -48.0  -47.0  -46.0
+ 6   / 6:  -70.0  -69.0  -68.0  -67.0  -66.0
+ ---- N:2 F:   2
+ 1   / 1:   90.0   91.0   92.0   93.0   94.0
+ 2   / 2:   70.0   71.0   72.0   73.0   74.0
+ 3   / 3:   50.0   51.0   52.0   53.0   54.0
+ 4   / 4:   30.0   31.0   32.0   33.0   34.0
+ 5   / 5:   10.0   11.0   12.0   13.0   14.0
+ 6   / 6:  -10.0   -9.0   -8.0   -7.0   -6.0
+ ---- N:3 F:   3
+ 1   / 1:  150.0  151.0  152.0  153.0  154.0
+ 2   / 2:  130.0  131.0  132.0  133.0  134.0
+ 3   / 3:  110.0  111.0  112.0  113.0  114.0
+ 4   / 4:   90.0   91.0   92.0   93.0   94.0
+ 5   / 5:   70.0   71.0   72.0   73.0   74.0
+ 6   / 6:   50.0   51.0   52.0   53.0   54.0
+ ---- N:4 F:   4
+ 1   / 1:  210.0  211.0  212.0  213.0  214.0
+ 2   / 2:  190.0  191.0  192.0  193.0  194.0
+ 3   / 3:  170.0  171.0  172.0  173.0  174.0
+ 4   / 4:  150.0  151.0  152.0  153.0  154.0
+ 5   / 5:  130.0  131.0  132.0  133.0  134.0
+ 6   / 6:  110.0  111.0  112.0  113.0  114.0
+ ---- N:5 F:   5
+ 1   / 1:  270.0  271.0  272.0  273.0  274.0
+ 2   / 2:  250.0  251.0  252.0  253.0  254.0
+ 3   / 3:  230.0  231.0  232.0  233.0  234.0
+ 4   / 4:  210.0  211.0  212.0  213.0  214.0
+ 5   / 5:  190.0  191.0  192.0  193.0  194.0
+ 6   / 6:  170.0  171.0  172.0  173.0  174.0
+ ---- N:6 F:   6
+ 1   / 1:  330.0  331.0  332.0  333.0  334.0
+ 2   / 2:  310.0  311.0  312.0  313.0  314.0
+ 3   / 3:  290.0  291.0  292.0  293.0  294.0
+ 4   / 4:  270.0  271.0  272.0  273.0  274.0
+ 5   / 5:  250.0  251.0  252.0  253.0  254.0
+ 6   / 6:  230.0  231.0  232.0  233.0  234.0
+ ---- N:7 F:   7
+ 1   / 1:  390.0  391.0  392.0  393.0  394.0
+ 2   / 2:  370.0  371.0  372.0  373.0  374.0
+ 3   / 3:  350.0  351.0  352.0  353.0  354.0
+ 4   / 4:  330.0  331.0  332.0  333.0  334.0
+ 5   / 5:  310.0  311.0  312.0  313.0  314.0
+ 6   / 6:  290.0  291.0  292.0  293.0  294.0
+list/F=25/y=1/z=1 myvar
+             VARIABLE : X + 5.0 * (Y + 4.0 * (Z + 3.0 * T)) + _E - _F
+             SUBSET   : 5 by 7 by 3 points (LONGITUDE-TIME-E)
+             LATITUDE : 1N
+             DEPTH (m): 1
+             F        : 20
+                       0E     1E     2E     3E     4E    
+                        1      2      3      4      5
+ ---- M:1 E:   0
+ 01-JAN-2001 00 / 1:    5.0    6.0    7.0    8.0    9.0
+ 02-JAN-2001 00 / 2:   65.0   66.0   67.0   68.0   69.0
+ 03-JAN-2001 00 / 3:  125.0  126.0  127.0  128.0  129.0
+ 04-JAN-2001 00 / 4:  185.0  186.0  187.0  188.0  189.0
+ 05-JAN-2001 00 / 5:  245.0  246.0  247.0  248.0  249.0
+ 06-JAN-2001 00 / 6:  305.0  306.0  307.0  308.0  309.0
+ 07-JAN-2001 00 / 7:  365.0  366.0  367.0  368.0  369.0
+ ---- M:2 E:   5
+ 01-JAN-2001 00 / 1:   10.0   11.0   12.0   13.0   14.0
+ 02-JAN-2001 00 / 2:   70.0   71.0   72.0   73.0   74.0
+ 03-JAN-2001 00 / 3:  130.0  131.0  132.0  133.0  134.0
+ 04-JAN-2001 00 / 4:  190.0  191.0  192.0  193.0  194.0
+ 05-JAN-2001 00 / 5:  250.0  251.0  252.0  253.0  254.0
+ 06-JAN-2001 00 / 6:  310.0  311.0  312.0  313.0  314.0
+ 07-JAN-2001 00 / 7:  370.0  371.0  372.0  373.0  374.0
+ ---- M:3 E:   10
+ 01-JAN-2001 00 / 1:   15.0   16.0   17.0   18.0   19.0
+ 02-JAN-2001 00 / 2:   75.0   76.0   77.0   78.0   79.0
+ 03-JAN-2001 00 / 3:  135.0  136.0  137.0  138.0  139.0
+ 04-JAN-2001 00 / 4:  195.0  196.0  197.0  198.0  199.0
+ 05-JAN-2001 00 / 5:  255.0  256.0  257.0  258.0  259.0
+ 06-JAN-2001 00 / 6:  315.0  316.0  317.0  318.0  319.0
+ 07-JAN-2001 00 / 7:  375.0  376.0  377.0  378.0  379.0
+list/F=25/y=1/z=1 transpose_te(myvar)
+             VARIABLE : TRANSPOSE_TE(MYVAR)
+             SUBSET   : 5 by 3 by 7 points (LONGITUDE-T-E)
+             LATITUDE : 1N
+             DEPTH (m): 1
+             F        : 20
+            0E     1E     2E     3E     4E    
+             1      2      3      4      5
+ ---- M:1 E:   1
+ 1   / 1:    5.0    6.0    7.0    8.0    9.0
+ 2   / 2:   10.0   11.0   12.0   13.0   14.0
+ 3   / 3:   15.0   16.0   17.0   18.0   19.0
+ ---- M:2 E:   2
+ 1   / 1:   65.0   66.0   67.0   68.0   69.0
+ 2   / 2:   70.0   71.0   72.0   73.0   74.0
+ 3   / 3:   75.0   76.0   77.0   78.0   79.0
+ ---- M:3 E:   3
+ 1   / 1:  125.0  126.0  127.0  128.0  129.0
+ 2   / 2:  130.0  131.0  132.0  133.0  134.0
+ 3   / 3:  135.0  136.0  137.0  138.0  139.0
+ ---- M:4 E:   4
+ 1   / 1:  185.0  186.0  187.0  188.0  189.0
+ 2   / 2:  190.0  191.0  192.0  193.0  194.0
+ 3   / 3:  195.0  196.0  197.0  198.0  199.0
+ ---- M:5 E:   5
+ 1   / 1:  245.0  246.0  247.0  248.0  249.0
+ 2   / 2:  250.0  251.0  252.0  253.0  254.0
+ 3   / 3:  255.0  256.0  257.0  258.0  259.0
+ ---- M:6 E:   6
+ 1   / 1:  305.0  306.0  307.0  308.0  309.0
+ 2   / 2:  310.0  311.0  312.0  313.0  314.0
+ 3   / 3:  315.0  316.0  317.0  318.0  319.0
+ ---- M:7 E:   7
+ 1   / 1:  365.0  366.0  367.0  368.0  369.0
+ 2   / 2:  370.0  371.0  372.0  373.0  374.0
+ 3   / 3:  375.0  376.0  377.0  378.0  379.0
+ 
 can var /all
 set grid abstract
 can grid mygrd
@@ -32948,16 +33941,18 @@ can axis taxs
 can axis zaxs
 can axis yaxs
 can axis xaxs
- 
+can axis eaxs
+can axis faxs
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go bn_unique_str2int
 ! bn_unique_str2int.jnl
  
 SHOW FUNC/DETAIL unique_str2int
 UNIQUE_STR2INT(A)
-    Returns an ID number for each unique stringin the input array of strings (case sensitive)
+    Returns an ID number for each unique string in the input array of strings (case sensitive)
         Axes of result:
           X: inherited from argument(s)
           Y: inherited from argument(s)
@@ -33031,6 +34026,7 @@ list unique_str2int(blist), blist
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go bench_sort
  
  
@@ -33100,6 +34096,23 @@ SAMPLEN(TO_BE_SAMPLED,F_INDICES)
     sample a field at a list of F indices
     TO_BE_SAMPLED: data to sample at list of F indices supplied
     F_INDICES: list of F indices at which to sample
+SAMPLE_FAST_I(V,Indices)
+    Fast 1D sample variable using set of indices
+    V: 1-D variable in X direction
+    Indices: List of indices at which to sample
+SAMPLE_FAST_I_STR(S,Indices)
+    Fast 1D sample string variable using set of indices
+    S: 1-D string variable in X direction (STRING)
+    Indices: List of indices at which to sample
+SAMPLEF_DATE(DAT_TO_SAMPLE,YR,MO,DAY,HR,MIN,SEC)
+    Returns data sampled by interpolating to a set of times in F direction
+    DAT_TO_SAMPLE: data to sample at set of times in F
+    YR: Year(s) yyyy
+    MO: Month(s), integer mm
+    DAY: Day(s) of month dd
+    HR: Hour(s) hh
+    MIN: Minute(s) mm
+    SEC: Second(s) ss
 SAMPLEIJ(DAT_TO_SAMPLE,XPTS,YPTS)
     Returns data sampled by matching coordinates at a subset of grid points, defined by (XPTS, YPTS)
     DAT_TO_SAMPLE: variable (x,y,z,t,e,f) to sample
@@ -33121,15 +34134,14 @@ SAMPLEL_MULTI(L_INDICES,DAT_TO_SAMPLE)
     Returns data sampled according to L indices which may vary in IJK
     L_INDICES: ordered indices
     DAT_TO_SAMPLE: data to sample using L indices
-SAMPLEF_DATE(DAT_TO_SAMPLE,YR,MO,DAY,HR,MIN,SEC)
-    Returns data sampled by interpolating to a set of times in F direction
-    DAT_TO_SAMPLE: data to sample at set of times in F
-    YR: Year(s) yyyy
-    MO: Month(s), integer mm
-    DAY: Day(s) of month dd
-    HR: Hour(s) hh
-    MIN: Minute(s) mm
-    SEC: Second(s) ss
+SAMPLEM_MULTI(DAT_TO_SAMPLE,M_INDICES)
+    Returns data sampled according to M indices which may be function of IJKLN
+    DAT_TO_SAMPLE: data to sample using L indices
+    M_INDICES: ordered indices
+SAMPLEN_MULTI(DAT_TO_SAMPLE,N_INDICES)
+    Returns data sampled according to N indices which may be function of IJKLM
+    DAT_TO_SAMPLE: data to sample using L indices
+    N_INDICES: ordered indices
 SAMPLET_DATE(DAT_TO_SAMPLE,YR,MO,DAY,HR,MIN,SEC)
     Returns data sampled by interpolating to a set of times in T direction
     DAT_TO_SAMPLE: data to sample at set of times
@@ -33145,7 +34157,7 @@ SAMPLEXY(DAT_TO_SAMPLE,XPTS,YPTS)
     XPTS: X values of sample points
     YPTS: Y values of sample points
 SAMPLEXY_CLOSEST(DAT_TO_SAMPLE,XPTS,YPTS)
-    Returns data sampled at a set of (X,Y) points, using nearest grid intersection
+    This function is deprecated. It is renamed to SAMPLEXY_NRST
     DAT_TO_SAMPLE: variable (x,y,z,t,e,f) to sample
     XPTS: X values of sample points
     YPTS: Y values of sample points
@@ -33170,12 +34182,23 @@ SAMPLEXY_CURV_NRST(DAT_TO_SAMPLE,DAT_LON,DAT_LAT,XPTS,YPTS)
     DAT_LAT: latitudes of input variable
     XPTS: X values of sample points
     YPTS: Y values of sample points
+SAMPLEXY_NRST(DAT_TO_SAMPLE,XPTS,YPTS)
+    Returns data sampled at a set of (X,Y) points, using nearest grid intersection
+    DAT_TO_SAMPLE: variable (x,y,z,t,e,f) to sample
+    XPTS: X values of sample points
+    YPTS: Y values of sample points
 SAMPLEXYT(DAT_TO_SAMPLE,XPTS,YPTS,TPTS)
     Returns data sampled at a set of (X,Y,T) points, using linear interpolation
     DAT_TO_SAMPLE: variable (x,y,z,t,e,f) to sample
     XPTS: X values of sample points
     YPTS: Y values of sample points
     TPTS: T values of sample points
+SAMPLEXYT_NRST(DAT_TO_SAMPLE,XPTS,YPTS,TPTS)
+    Returns data sampled at a set of (X,Y,T) points, using nearest grid intersection
+    DAT_TO_SAMPLE: variable (x,y,z,t,e,f) to sample
+    XPTS: X values of sample points
+    YPTS: Y values of sample points
+    TPTS: T values of sample points
 SAMPLEXZ(DAT_TO_SAMPLE,XPTS,ZPTS)
     Returns data sampled at a set of (X,Z) points, using linear interpolation
     DAT_TO_SAMPLE: variable (x,y,z,t,e,f) to sample
@@ -33186,20 +34209,6 @@ SAMPLEYZ(DAT_TO_SAMPLE,YPTS,ZPTS)
     DAT_TO_SAMPLE: variable (x,y,z,t,e,f) to sample
     YPTS: Y values of sample points
     ZPTS: Z values of sample points
-SAMPLEXYT_NRST(DAT_TO_SAMPLE,XPTS,YPTS,TPTS)
-    Returns data sampled at a set of (X,Y,T) points, using nearest grid intersection
-    DAT_TO_SAMPLE: variable (x,y,z,t,e,f) to sample
-    XPTS: X values of sample points
-    YPTS: Y values of sample points
-    TPTS: T values of sample points
-SAMPLE_FAST_I(V,Indices)
-    Fast 1D sample variable using set of indices
-    V: Variable to sample
-    Indices: List of indices at which to sample
-SAMPLE_FAST_I_STR(S,Indices)
-    Fast 1D sample string variable using set of indices
-    S: String Variable to sample (STRING)
-    Indices: List of indices at which to sample
 SAMPLE_FAST_I(V,Indices)
     Fast 1D sample variable using set of indices
     V: Variable to sample
@@ -33764,6 +34773,7 @@ list my_vwnd
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go bench_eof
 ! Benchmark for EOF functions
 ! Statically linked as of ferret V5.34
@@ -33834,6 +34844,7 @@ exit/script
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go bench_compress_by
 let mask = {1,,1,,1} + 0*L[l=101:102] + 0*K[k=10:11]
 list compressi_by({10,20,30,40,50},mask)
@@ -33871,6 +34882,7 @@ list compressi_by({10,20,30,40,50},mask2)
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go bench_compress
  ! NOAA/PMEL TMAP
  ! Program FERRET
@@ -34019,6 +35031,7 @@ list compressk(a[i=91,j=35,l=1])
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO bench_internal_string_functions
 ! test internal string functions:
 !       strlen
@@ -34114,6 +35127,7 @@ set mode/last ignore
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO bn_ef_bench_extrema.jnl
 ! bench_extrema.jnl
 !  benchmark tests for findhi and findlo
@@ -34170,6 +35184,7 @@ list a[i=@ngd]
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO bn_ef_err541_date_delim.jnl
 ! err541_date_delim.jnl
 ! Fix errors occurring with delimted reads - four digit years were
@@ -34242,6 +35257,7 @@ if `date_check` then say **** DELIMTED READ DATE CHECK FAILED
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO bn_ef_zaxr_fcns.jnl
 ! bn_ef_zaxr_functions.jnl
 ! 04-apr-05 *acm* move to tests of shared-obj efs.
@@ -34293,6 +35309,7 @@ list ddat_a, ddat_b, ddat_c
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO bn_ef_curv_to_rect.jnl
 ! bn_ef_curv_to_rect.jnl
 ! Test of curvilinear to rectilinear regridding
@@ -34313,16 +35330,16 @@ CURV_TO_RECT(V,mapping)
     Apply mapping to regrid from curvilinear to rectangular grid
     V: Variable to regrid, on curvilinear grid V(x,y,z,t,e,f)
     mapping: mapping computed by curv_to_rect_MAP
+CURV_TO_RECT_FSU(V,mapping)
+    Alt func to Apply mapping to regrid from curvilinear to rectangular grid
+    V: Variable to regrid, on curvilinear grid V(x,y,z,t)
+    mapping: mapping computed by curv_to_rect_MAP
 CURV_TO_RECT_MAP(lon_in,lat_in,grid_out,radius)
     Compute mapping for regridding: curvilinear to rectangular grid.
     lon_in: Source grid longitudes (2-D) (degrees)
     lat_in: Source grid latitudes (2-D) (degrees)
     grid_out: Any variable on destination Longitude-Latitude grid, Lon and Lat (degrees)
     radius: Source points falling within radius are included in mapping to destination point (degrees)
-CURV_TO_RECT_FSU(V,mapping)
-    Alt func to Apply mapping to regrid from curvilinear to rectangular grid
-    V: Variable to regrid, on curvilinear grid V(x,y,z,t)
-    mapping: mapping computed by curv_to_rect_MAP
  
 use tripolar_subset.nc
 shade ht, geolon_vert_t, geolat_vert_t
@@ -34442,6 +35459,7 @@ shade fill_xy(sst[l=1], mask[l=1], 4)
 ! Compare SAMPLEXY and SAMPLEIJ
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO bn_samplexy_sampleij
 ! bn_samplexy_sampleij
  
@@ -34496,43 +35514,43 @@ cancel memory/all
 set mode diag
 let b =  a[i=18:23:2]
 list/nohead b            ! using rdstride
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid B        C:  7 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G002)          (AX002)   NORMAL    NORMAL    NORMAL
- dealloc  dynamic grid (G002)          (AX002)   NORMAL    NORMAL    NORMAL
- allocate dynamic grid (G002)          (AX002)   NORMAL    NORMAL    NORMAL
- allocate dynamic grid (G002)          (AX002)   NORMAL    NORMAL    NORMAL
- eval    EX#1     C:  4 dset:   1 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999
- eval    B        C:  6 dset:   1 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999
- allocate dynamic grid (G002)          (AX002)   NORMAL    NORMAL    NORMAL
- strip regrid on X: A --> (G002)           @XACT
- strip moduloing A on X axis:    18    22 dset:   1
- rdstride A        C: 11 dset:   1 I:   18   20  J: -999 -999  K: -999 -999  L: -999 -999
- doing moduloing A on X axis:    18    20 dset:   1
- -DELETE A        M:  1 dset:   1 I:   18   20  J: -999 -999  K: -999 -999  L: -999 -999
- rdstride A        C: 11 dset:   1 I:    2    2  J: -999 -999  K: -999 -999  L: -999 -999
- doing moduloing A on X axis:     2     2 dset:   1
- -DELETE A        M:  1 dset:   1 I:    2    2  J: -999 -999  K: -999 -999  L: -999 -999
- nulrgd  A        M:  1 dset:   1 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999
- -DELETE A        M:  2 dset:   1 I:   18   22  J: -999 -999  K: -999 -999  L: -999 -999
- dealloc  dynamic grid (G002)          (AX002)   NORMAL    NORMAL    NORMAL
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid B        C:  7 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G###)          (AX###)   NORMAL    NORMAL    NORMAL
+ dealloc  dynamic grid (G###)          (AX###)   NORMAL    NORMAL    NORMAL
+ allocate dynamic grid (G###)          (AX###)   NORMAL    NORMAL    NORMAL
+ allocate dynamic grid (G###)          (AX###)   NORMAL    NORMAL    NORMAL
+ eval    EX#1     C:  4 dset:   1 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999
+ eval    B        C:  6 dset:   1 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999
+ allocate dynamic grid (G###)          (AX###)   NORMAL    NORMAL    NORMAL
+ strip regrid on X: A --> (G###)           @XACT
+ strip moduloing A on X axis:       18       22 dset:   1
+ rdstride A        C: 11 dset:   1 I:     18     20  J: -999 -999  K: -999 -999  L:   -999   -999
+ doing moduloing A on X axis:       18       20 dset:   1
+ -DELETE A        M:  1 dset:   1 I:     18     20  J: -999 -999  K: -999 -999  L:   -999   -999
+ rdstride A        C: 11 dset:   1 I:      2      2  J: -999 -999  K: -999 -999  L:   -999   -999
+ doing moduloing A on X axis:        2        2 dset:   1
+ -DELETE A        M:  1 dset:   1 I:      2      2  J: -999 -999  K: -999 -999  L:   -999   -999
+ nulrgd  A        M:  1 dset:   1 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999
+ -DELETE A        M:  2 dset:   1 I:     18     22  J: -999 -999  K: -999 -999  L:   -999   -999
+ dealloc  dynamic grid (G###)          (AX###)   NORMAL    NORMAL    NORMAL
  18   / 1:  18.00
  20   / 2:  20.00
  22   / 3:   2.00
 list/nohead a[i=1:25:3]  ! no strides --> reads full region without strides
- dealloc  dynamic grid (G002)          (AX002)   NORMAL    NORMAL    NORMAL
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G003)          (AX003)   NORMAL    NORMAL    NORMAL
- dealloc  dynamic grid (G003)          (AX003)   NORMAL    NORMAL    NORMAL
- allocate dynamic grid (G003)          (AX003)   NORMAL    NORMAL    NORMAL
- eval    EX#1     C:  4 dset:   1 I:    1    9  J: -999 -999  K: -999 -999  L: -999 -999
- allocate dynamic grid (G003)          (AX003)   NORMAL    NORMAL    NORMAL
- strip regrid on X: A --> (G003)           @XACT
- strip moduloing A on X axis:     1    25 dset:   1
- reading A        M:  3 dset:   1 I:    1   20  J: -999 -999  K: -999 -999  L: -999 -999
- doing moduloing A on X axis:     1    20 dset:   1
- regrid  A        M:  4 dset:   1 I:    1    9  J: -999 -999  K: -999 -999  L: -999 -999
- dealloc  dynamic grid (G003)          (AX003)   NORMAL    NORMAL    NORMAL
+ dealloc  dynamic grid (G###)          (AX###)   NORMAL    NORMAL    NORMAL
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G###)          (AX###)   NORMAL    NORMAL    NORMAL
+ dealloc  dynamic grid (G###)          (AX###)   NORMAL    NORMAL    NORMAL
+ allocate dynamic grid (G###)          (AX###)   NORMAL    NORMAL    NORMAL
+ eval    EX#1     C:  4 dset:   1 I:      1      9  J: -999 -999  K: -999 -999  L:   -999   -999
+ allocate dynamic grid (G###)          (AX###)   NORMAL    NORMAL    NORMAL
+ strip regrid on X: A --> (G###)           @XACT
+ strip moduloing A on X axis:        1       25 dset:   1
+ reading A        M:  3 dset:   1 I:      1     20  J: -999 -999  K: -999 -999  L:   -999   -999
+ doing moduloing A on X axis:        1       20 dset:   1
+ regrid  A        M:  4 dset:   1 I:      1      9  J: -999 -999  K: -999 -999  L:   -999   -999
+ dealloc  dynamic grid (G###)          (AX###)   NORMAL    NORMAL    NORMAL
  1    / 1:   1.00
  4    / 2:   4.00
  7    / 3:   7.00
@@ -34543,12 +35561,12 @@ list/nohead a[i=1:25:3]  ! no strides --> reads full region without strides
  22   / 8:   2.00
  25   / 9:   5.00
 list/nohead b            ! reuse of cached result
- dealloc  dynamic grid (G003)          (AX003)   NORMAL    NORMAL    NORMAL
- -DELETE A        M:  4 dset:   1 I:    1    9  J: -999 -999  K: -999 -999  L: -999 -999
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G002)          (AX002)   NORMAL    NORMAL    NORMAL
- eval    EX#1     C:  4 dset:   1 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999
- found   B        M:  2 dset:   1 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999
+ dealloc  dynamic grid (G###)          (AX###)   NORMAL    NORMAL    NORMAL
+ -DELETE A        M:  4 dset:   1 I:      1      9  J: -999 -999  K: -999 -999  L:   -999   -999
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G###)          (AX###)   NORMAL    NORMAL    NORMAL
+ eval    EX#1     C:  4 dset:   1 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999
+ found   B        M:  2 dset:   1 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999
  18   / 1:  18.00
  20   / 2:  20.00
  22   / 3:   2.00
@@ -34749,42 +35767,42 @@ list/nohead a[i=106:145:5]
 !  ***** STRING TESTS *****
 set mode diag
 list/nohead str[i=18:23:2] ! using rdstride
- dealloc  dynamic grid (G003)          (AX001)   NORMAL    NORMAL    NORMAL
- -DELETE A        M:  4 dset:   1 I:    1    8  J: -999 -999  K: -999 -999  L: -999 -999
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G002)          (AX002)   NORMAL    NORMAL    NORMAL
- dealloc  dynamic grid (G002)          (AX002)   NORMAL    NORMAL    NORMAL
- allocate dynamic grid (G002)          (AX002)   NORMAL    NORMAL    NORMAL
- eval    EX#1     C:  4 dset:   1 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999
- allocate dynamic grid (G002)          (AX002)   NORMAL    NORMAL    NORMAL
- strip regrid on X: STR --> (G002)           @XACT
- strip moduloing STR on X axis:    18    22 dset:   1
- rdstride STR      C:  9 dset:   1 I:   18   20  J: -999 -999  K: -999 -999  L: -999 -999
- doing moduloing STR on X axis:    18    20 dset:   1
- -DELETE STR      M:  4 dset:   1 I:   18   20  J: -999 -999  K: -999 -999  L: -999 -999
- rdstride STR      C:  9 dset:   1 I:    2    2  J: -999 -999  K: -999 -999  L: -999 -999
- doing moduloing STR on X axis:     2     2 dset:   1
- -DELETE STR      M:  4 dset:   1 I:    2    2  J: -999 -999  K: -999 -999  L: -999 -999
- nulrgd  STR      M:  4 dset:   1 I:    1    3  J: -999 -999  K: -999 -999  L: -999 -999
- -DELETE STR      M:  6 dset:   1 I:   18   22  J: -999 -999  K: -999 -999  L: -999 -999
- dealloc  dynamic grid (G002)          (AX002)   NORMAL    NORMAL    NORMAL
+ dealloc  dynamic grid (G###)          (AX###)   NORMAL    NORMAL    NORMAL
+ -DELETE A        M:  4 dset:   1 I:      1      8  J: -999 -999  K: -999 -999  L:   -999   -999
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G###)          (AX###)   NORMAL    NORMAL    NORMAL
+ dealloc  dynamic grid (G###)          (AX###)   NORMAL    NORMAL    NORMAL
+ allocate dynamic grid (G###)          (AX###)   NORMAL    NORMAL    NORMAL
+ eval    EX#1     C:  4 dset:   1 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999
+ allocate dynamic grid (G###)          (AX###)   NORMAL    NORMAL    NORMAL
+ strip regrid on X: STR --> (G###)           @XACT
+ strip moduloing STR on X axis:       18       22 dset:   1
+ rdstride STR      C:  9 dset:   1 I:     18     20  J: -999 -999  K: -999 -999  L:   -999   -999
+ doing moduloing STR on X axis:       18       20 dset:   1
+ -DELETE STR      M:  4 dset:   1 I:     18     20  J: -999 -999  K: -999 -999  L:   -999   -999
+ rdstride STR      C:  9 dset:   1 I:      2      2  J: -999 -999  K: -999 -999  L:   -999   -999
+ doing moduloing STR on X axis:        2        2 dset:   1
+ -DELETE STR      M:  4 dset:   1 I:      2      2  J: -999 -999  K: -999 -999  L:   -999   -999
+ nulrgd  STR      M:  4 dset:   1 I:      1      3  J: -999 -999  K: -999 -999  L:   -999   -999
+ -DELETE STR      M:  6 dset:   1 I:     18     22  J: -999 -999  K: -999 -999  L:   -999   -999
+ dealloc  dynamic grid (G###)          (AX###)   NORMAL    NORMAL    NORMAL
  18   / 1:"r"
  20   / 2:"t"
  22   / 3:"b"
 list/nohead str[i=1:25:3]  ! no strides --> reads full region without strides
- dealloc  dynamic grid (G002)          (AX002)   NORMAL    NORMAL    NORMAL
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G003)          (AX003)   NORMAL    NORMAL    NORMAL
- dealloc  dynamic grid (G003)          (AX003)   NORMAL    NORMAL    NORMAL
- allocate dynamic grid (G003)          (AX003)   NORMAL    NORMAL    NORMAL
- eval    EX#1     C:  4 dset:   1 I:    1    9  J: -999 -999  K: -999 -999  L: -999 -999
- allocate dynamic grid (G003)          (AX003)   NORMAL    NORMAL    NORMAL
- strip regrid on X: STR --> (G003)           @XACT
- strip moduloing STR on X axis:     1    25 dset:   1
- reading STR      M:  6 dset:   1 I:    1   20  J: -999 -999  K: -999 -999  L: -999 -999
- doing moduloing STR on X axis:     1    20 dset:   1
- regrid  STR      M:  8 dset:   1 I:    1    9  J: -999 -999  K: -999 -999  L: -999 -999
- dealloc  dynamic grid (G003)          (AX003)   NORMAL    NORMAL    NORMAL
+ dealloc  dynamic grid (G###)          (AX###)   NORMAL    NORMAL    NORMAL
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G###)          (AX###)   NORMAL    NORMAL    NORMAL
+ dealloc  dynamic grid (G###)          (AX###)   NORMAL    NORMAL    NORMAL
+ allocate dynamic grid (G###)          (AX###)   NORMAL    NORMAL    NORMAL
+ eval    EX#1     C:  4 dset:   1 I:      1      9  J: -999 -999  K: -999 -999  L:   -999   -999
+ allocate dynamic grid (G###)          (AX###)   NORMAL    NORMAL    NORMAL
+ strip regrid on X: STR --> (G###)           @XACT
+ strip moduloing STR on X axis:        1       25 dset:   1
+ reading STR      M:  6 dset:   1 I:      1     20  J: -999 -999  K: -999 -999  L:   -999   -999
+ doing moduloing STR on X axis:        1       20 dset:   1
+ regrid  STR      M:  8 dset:   1 I:      1      9  J: -999 -999  K: -999 -999  L:   -999   -999
+ dealloc  dynamic grid (G###)          (AX###)   NORMAL    NORMAL    NORMAL
  1    / 1:"a"
  4    / 2:"d"
  7    / 3:"g"
@@ -35202,7 +36220,7 @@ ppl list yaxis
  
 sh mode stupid
       MODE            STATE        ARGUMENT
-      STUPID        CANCELLED
+      STUPID        CANCELED
 cancel mode stupid  ! for testing in double precision
  
  
@@ -35675,9 +36693,7 @@ list/nohead ysequence({"now","then"})+", " + (if {0,1} THEN "hello"+", " ELSE "g
  2   / 2:"then, goodbye, my friend""then, hello, friend"     
  
 SET MODE IGNORE
-list/nohead ysequence({98, 99})+", " + (if {0,1} THEN "hello"+", " ELSE "goodbye"+", my ") + "friend"
- 1   / 1:........
- 2   / 2:........
+! list/nohead ysequence({98, 99})+", " + (if {0,1} THEN "hello"+", " ELSE "goodbye"+", my ") + "friend"
 list/nohead ysequence({"now","then"})+", " + (if {0,1} THEN "hello"+99 ELSE "goodbye"+", my ") + "friend"
  1   / 1:........
  2   / 2:........
@@ -35889,52 +36905,52 @@ show data/var
  V1       V1                               1:7       ...       ...       ...
             Data type = TEXT
             Conversion /TYPE=TEXT
-               on grid (G001) with -1.E+34 for missing data
+               on grid (G###) with -1.E+34 for missing data
              X=0.5:7.5  
  V2       V2                               1:7       ...       ...       ...
             Data type = TEXT
             Conversion /TYPE=TEXT
-               on grid (G001) with -1.E+34 for missing data
+               on grid (G###) with -1.E+34 for missing data
              X=0.5:7.5  
  V3       V3                               1:7       ...       ...       ...
             Data type = TEXT
             Conversion /TYPE=TEXT
-               on grid (G001) with -1.E+34 for missing data
+               on grid (G###) with -1.E+34 for missing data
              X=0.5:7.5  
  V4       V4                               1:7       ...       ...       ...
             Data type = TEXT
             Conversion /TYPE=TEXT
-               on grid (G001) with -1.E+34 for missing data
+               on grid (G###) with -1.E+34 for missing data
              X=0.5:7.5  
  V5       V5                               1:7       ...       ...       ...
             Data type = TEXT
             Conversion /TYPE=TEXT
-               on grid (G001) with -1.E+34 for missing data
+               on grid (G###) with -1.E+34 for missing data
              X=0.5:7.5  
  V6       V6                               1:7       ...       ...       ...
             Data type = TEXT
             Conversion /TYPE=TEXT
-               on grid (G001) with -1.E+34 for missing data
+               on grid (G###) with -1.E+34 for missing data
              X=0.5:7.5  
  V7       V7                               1:7       ...       ...       ...
             Data type = NUMERIC
             Conversion /TYPE=NUMERIC
-               on grid (G001) with -1.E+34 for missing data
+               on grid (G###) with -1.E+34 for missing data
              X=0.5:7.5  
  V8       V8                               1:7       ...       ...       ...
             Data type = TEXT
             Conversion /TYPE=TEXT
-               on grid (G001) with -1.E+34 for missing data
+               on grid (G###) with -1.E+34 for missing data
              X=0.5:7.5  
  V9       V9                               1:7       ...       ...       ...
             Data type = TEXT
             Conversion /TYPE=TEXT
-               on grid (G001) with -1.E+34 for missing data
+               on grid (G###) with -1.E+34 for missing data
              X=0.5:7.5  
  V10      V10                              1:7       ...       ...       ...
             Data type = NUMERIC
             Conversion /TYPE=NUMERIC
-               on grid (G001) with -1.E+34 for missing data
+               on grid (G###) with -1.E+34 for missing data
              X=0.5:7.5  
  
  /DELIMITERS="\t,\,"
@@ -36463,363 +37479,363 @@ show data/full
  V1       V1                               1:20      ...       ...       ...
             Data type = TEXT
             Conversion /TYPE=TEXT
-               on grid (G002) with -1.E+34 for missing data
+               on grid (G###) with -1.E+34 for missing data
              X=0.5:20.5  
  V2       V2                               1:20      ...       ...       ...
             Data type = NUMERIC
             Conversion /TYPE=NUMERIC
-               on grid (G002) with -1.E+34 for missing data
+               on grid (G###) with -1.E+34 for missing data
              X=0.5:20.5  
  V3       V3                               1:20      ...       ...       ...
             Data type = TEXT
             Conversion /TYPE=TEXT
-               on grid (G002) with -1.E+34 for missing data
+               on grid (G###) with -1.E+34 for missing data
              X=0.5:20.5  
  V4       V4                               1:20      ...       ...       ...
        (Julian days since 1-Jan-1900)
             Data type = NUMERIC
             Conversion /TYPE=DATE
-             days on grid (G002) with -1.E+34 for missing data
+             days on grid (G###) with -1.E+34 for missing data
              X=0.5:20.5  
  V5       V5                               1:20      ...       ...       ...
             Data type = NUMERIC
             Conversion /TYPE=NUMERIC
-               on grid (G002) with -1.E+34 for missing data
+               on grid (G###) with -1.E+34 for missing data
              X=0.5:20.5  
  V6       V6                               1:20      ...       ...       ...
             Data type = NUMERIC
             Conversion /TYPE=NUMERIC
-               on grid (G002) with -1.E+34 for missing data
+               on grid (G###) with -1.E+34 for missing data
              X=0.5:20.5  
  V7       V7                               1:20      ...       ...       ...
             Data type = NUMERIC
             Conversion /TYPE=NUMERIC
-               on grid (G002) with -1.E+34 for missing data
+               on grid (G###) with -1.E+34 for missing data
              X=0.5:20.5  
  V8       V8                               1:20      ...       ...       ...
             Data type = NUMERIC
             Conversion /TYPE=NUMERIC
-               on grid (G002) with -1.E+34 for missing data
+               on grid (G###) with -1.E+34 for missing data
              X=0.5:20.5  
  V9       V9                               1:20      ...       ...       ...
             Data type = NUMERIC
             Conversion /TYPE=NUMERIC
-               on grid (G002) with -1.E+34 for missing data
+               on grid (G###) with -1.E+34 for missing data
              X=0.5:20.5  
  V10      V10                              1:20      ...       ...       ...
             Data type = NUMERIC
             Conversion /TYPE=NUMERIC
-               on grid (G002) with -1.E+34 for missing data
+               on grid (G###) with -1.E+34 for missing data
              X=0.5:20.5  
  V11      V11                              1:20      ...       ...       ...
             Data type = NUMERIC
             Conversion /TYPE=NUMERIC
-               on grid (G002) with -1.E+34 for missing data
+               on grid (G###) with -1.E+34 for missing data
              X=0.5:20.5  
  V12      V12                              1:20      ...       ...       ...
             Data type = NUMERIC
             Conversion /TYPE=NUMERIC
-               on grid (G002) with -1.E+34 for missing data
+               on grid (G###) with -1.E+34 for missing data
              X=0.5:20.5  
  V13      V13                              1:20      ...       ...       ...
             Data type = NUMERIC
             Conversion /TYPE=NUMERIC
-               on grid (G002) with -1.E+34 for missing data
+               on grid (G###) with -1.E+34 for missing data
              X=0.5:20.5  
  V14      V14                              1:20      ...       ...       ...
             Data type = NUMERIC
             Conversion /TYPE=NUMERIC
-               on grid (G002) with -1.E+34 for missing data
+               on grid (G###) with -1.E+34 for missing data
              X=0.5:20.5  
  V15      V15                              1:20      ...       ...       ...
             Data type = NUMERIC
             Conversion /TYPE=NUMERIC
-               on grid (G002) with -1.E+34 for missing data
+               on grid (G###) with -1.E+34 for missing data
              X=0.5:20.5  
  V16      V16                              1:20      ...       ...       ...
             Data type = NUMERIC
             Conversion /TYPE=NUMERIC
-               on grid (G002) with -1.E+34 for missing data
+               on grid (G###) with -1.E+34 for missing data
              X=0.5:20.5  
  V17      V17                              1:20      ...       ...       ...
             Data type = NUMERIC
             Conversion /TYPE=NUMERIC
-               on grid (G002) with -1.E+34 for missing data
+               on grid (G###) with -1.E+34 for missing data
              X=0.5:20.5  
  V18      V18                              1:20      ...       ...       ...
             Data type = NUMERIC
             Conversion /TYPE=NUMERIC
-               on grid (G002) with -1.E+34 for missing data
+               on grid (G###) with -1.E+34 for missing data
              X=0.5:20.5  
  V19      V19                              1:20      ...       ...       ...
             Data type = NUMERIC
             Conversion /TYPE=NUMERIC
-               on grid (G002) with -1.E+34 for missing data
+               on grid (G###) with -1.E+34 for missing data
              X=0.5:20.5  
  V20      V20                              1:20      ...       ...       ...
             Data type = NUMERIC
             Conversion /TYPE=NUMERIC
-               on grid (G002) with -1.E+34 for missing data
+               on grid (G###) with -1.E+34 for missing data
              X=0.5:20.5  
  V21      V21                              1:20      ...       ...       ...
             Data type = NUMERIC
             Conversion /TYPE=NUMERIC
-               on grid (G002) with -1.E+34 for missing data
+               on grid (G###) with -1.E+34 for missing data
              X=0.5:20.5  
  V22      V22                              1:20      ...       ...       ...
             Data type = NUMERIC
             Conversion /TYPE=NUMERIC
-               on grid (G002) with -1.E+34 for missing data
+               on grid (G###) with -1.E+34 for missing data
              X=0.5:20.5  
  V23      V23                              1:20      ...       ...       ...
             Data type = NUMERIC
             Conversion /TYPE=NUMERIC
-               on grid (G002) with -1.E+34 for missing data
+               on grid (G###) with -1.E+34 for missing data
              X=0.5:20.5  
  V24      V24                              1:20      ...       ...       ...
             Data type = NUMERIC
             Conversion /TYPE=NUMERIC
-               on grid (G002) with -1.E+34 for missing data
+               on grid (G###) with -1.E+34 for missing data
              X=0.5:20.5  
  V25      V25                              1:20      ...       ...       ...
             Data type = NUMERIC
             Conversion /TYPE=NUMERIC
-               on grid (G002) with -1.E+34 for missing data
+               on grid (G###) with -1.E+34 for missing data
              X=0.5:20.5  
  V26      V26                              1:20      ...       ...       ...
             Data type = NUMERIC
             Conversion /TYPE=NUMERIC
-               on grid (G002) with -1.E+34 for missing data
+               on grid (G###) with -1.E+34 for missing data
              X=0.5:20.5  
  V27      V27                              1:20      ...       ...       ...
             Data type = NUMERIC
             Conversion /TYPE=NUMERIC
-               on grid (G002) with -1.E+34 for missing data
+               on grid (G###) with -1.E+34 for missing data
              X=0.5:20.5  
  V28      V28                              1:20      ...       ...       ...
             Data type = NUMERIC
             Conversion /TYPE=NUMERIC
-               on grid (G002) with -1.E+34 for missing data
+               on grid (G###) with -1.E+34 for missing data
              X=0.5:20.5  
  V29      V29                              1:20      ...       ...       ...
             Data type = NUMERIC
             Conversion /TYPE=NUMERIC
-               on grid (G002) with -1.E+34 for missing data
+               on grid (G###) with -1.E+34 for missing data
              X=0.5:20.5  
  V30      V30                              1:20      ...       ...       ...
             Data type = NUMERIC
             Conversion /TYPE=NUMERIC
-               on grid (G002) with -1.E+34 for missing data
+               on grid (G###) with -1.E+34 for missing data
              X=0.5:20.5  
  V31      V31                              1:20      ...       ...       ...
             Data type = NUMERIC
             Conversion /TYPE=NUMERIC
-               on grid (G002) with -1.E+34 for missing data
+               on grid (G###) with -1.E+34 for missing data
              X=0.5:20.5  
  V32      V32                              1:20      ...       ...       ...
             Data type = NUMERIC
             Conversion /TYPE=NUMERIC
-               on grid (G002) with -1.E+34 for missing data
+               on grid (G###) with -1.E+34 for missing data
              X=0.5:20.5  
  V33      V33                              1:20      ...       ...       ...
             Data type = NUMERIC
             Conversion /TYPE=NUMERIC
-               on grid (G002) with -1.E+34 for missing data
+               on grid (G###) with -1.E+34 for missing data
              X=0.5:20.5  
  V34      V34                              1:20      ...       ...       ...
             Data type = NUMERIC
             Conversion /TYPE=NUMERIC
-               on grid (G002) with -1.E+34 for missing data
+               on grid (G###) with -1.E+34 for missing data
              X=0.5:20.5  
  V35      V35                              1:20      ...       ...       ...
             Data type = NUMERIC
             Conversion /TYPE=NUMERIC
-               on grid (G002) with -1.E+34 for missing data
+               on grid (G###) with -1.E+34 for missing data
              X=0.5:20.5  
  V36      V36                              1:20      ...       ...       ...
             Data type = NUMERIC
             Conversion /TYPE=NUMERIC
-               on grid (G002) with -1.E+34 for missing data
+               on grid (G###) with -1.E+34 for missing data
              X=0.5:20.5  
  V37      V37                              1:20      ...       ...       ...
             Data type = NUMERIC
             Conversion /TYPE=NUMERIC
-               on grid (G002) with -1.E+34 for missing data
+               on grid (G###) with -1.E+34 for missing data
              X=0.5:20.5  
  V38      V38                              1:20      ...       ...       ...
             Data type = NUMERIC
             Conversion /TYPE=NUMERIC
-               on grid (G002) with -1.E+34 for missing data
+               on grid (G###) with -1.E+34 for missing data
              X=0.5:20.5  
  V39      V39                              1:20      ...       ...       ...
             Data type = NUMERIC
             Conversion /TYPE=NUMERIC
-               on grid (G002) with -1.E+34 for missing data
+               on grid (G###) with -1.E+34 for missing data
              X=0.5:20.5  
  V40      V40                              1:20      ...       ...       ...
             Data type = NUMERIC
             Conversion /TYPE=NUMERIC
-               on grid (G002) with -1.E+34 for missing data
+               on grid (G###) with -1.E+34 for missing data
              X=0.5:20.5  
  V41      V41                              1:20      ...       ...       ...
             Data type = NUMERIC
             Conversion /TYPE=NUMERIC
-               on grid (G002) with -1.E+34 for missing data
+               on grid (G###) with -1.E+34 for missing data
              X=0.5:20.5  
  V42      V42                              1:20      ...       ...       ...
             Data type = NUMERIC
             Conversion /TYPE=NUMERIC
-               on grid (G002) with -1.E+34 for missing data
+               on grid (G###) with -1.E+34 for missing data
              X=0.5:20.5  
  V43      V43                              1:20      ...       ...       ...
             Data type = NUMERIC
             Conversion /TYPE=NUMERIC
-               on grid (G002) with -1.E+34 for missing data
+               on grid (G###) with -1.E+34 for missing data
              X=0.5:20.5  
  V44      V44                              1:20      ...       ...       ...
             Data type = NUMERIC
             Conversion /TYPE=NUMERIC
-               on grid (G002) with -1.E+34 for missing data
+               on grid (G###) with -1.E+34 for missing data
              X=0.5:20.5  
  V45      V45                              1:20      ...       ...       ...
             Data type = NUMERIC
             Conversion /TYPE=NUMERIC
-               on grid (G002) with -1.E+34 for missing data
+               on grid (G###) with -1.E+34 for missing data
              X=0.5:20.5  
  V46      V46                              1:20      ...       ...       ...
             Data type = NUMERIC
             Conversion /TYPE=NUMERIC
-               on grid (G002) with -1.E+34 for missing data
+               on grid (G###) with -1.E+34 for missing data
              X=0.5:20.5  
  V47      V47                              1:20      ...       ...       ...
             Data type = NUMERIC
             Conversion /TYPE=NUMERIC
-               on grid (G002) with -1.E+34 for missing data
+               on grid (G###) with -1.E+34 for missing data
              X=0.5:20.5  
  V48      V48                              1:20      ...       ...       ...
             Data type = NUMERIC
             Conversion /TYPE=NUMERIC
-               on grid (G002) with -1.E+34 for missing data
+               on grid (G###) with -1.E+34 for missing data
              X=0.5:20.5  
  V49      V49                              1:20      ...       ...       ...
             Data type = NUMERIC
             Conversion /TYPE=NUMERIC
-               on grid (G002) with -1.E+34 for missing data
+               on grid (G###) with -1.E+34 for missing data
              X=0.5:20.5  
  V50      V50                              1:20      ...       ...       ...
             Data type = NUMERIC
             Conversion /TYPE=NUMERIC
-               on grid (G002) with -1.E+34 for missing data
+               on grid (G###) with -1.E+34 for missing data
              X=0.5:20.5  
  V51      V51                              1:20      ...       ...       ...
             Data type = NUMERIC
             Conversion /TYPE=NUMERIC
-               on grid (G002) with -1.E+34 for missing data
+               on grid (G###) with -1.E+34 for missing data
              X=0.5:20.5  
  V52      V52                              1:20      ...       ...       ...
             Data type = NUMERIC
             Conversion /TYPE=NUMERIC
-               on grid (G002) with -1.E+34 for missing data
+               on grid (G###) with -1.E+34 for missing data
              X=0.5:20.5  
  V53      V53                              1:20      ...       ...       ...
             Data type = NUMERIC
             Conversion /TYPE=NUMERIC
-               on grid (G002) with -1.E+34 for missing data
+               on grid (G###) with -1.E+34 for missing data
              X=0.5:20.5  
  V54      V54                              1:20      ...       ...       ...
             Data type = NUMERIC
             Conversion /TYPE=NUMERIC
-               on grid (G002) with -1.E+34 for missing data
+               on grid (G###) with -1.E+34 for missing data
              X=0.5:20.5  
  V55      V55                              1:20      ...       ...       ...
             Data type = NUMERIC
             Conversion /TYPE=NUMERIC
-               on grid (G002) with -1.E+34 for missing data
+               on grid (G###) with -1.E+34 for missing data
              X=0.5:20.5  
  V56      V56                              1:20      ...       ...       ...
             Data type = NUMERIC
             Conversion /TYPE=NUMERIC
-               on grid (G002) with -1.E+34 for missing data
+               on grid (G###) with -1.E+34 for missing data
              X=0.5:20.5  
  V57      V57                              1:20      ...       ...       ...
             Data type = NUMERIC
             Conversion /TYPE=NUMERIC
-               on grid (G002) with -1.E+34 for missing data
+               on grid (G###) with -1.E+34 for missing data
              X=0.5:20.5  
  V58      V58                              1:20      ...       ...       ...
             Data type = NUMERIC
             Conversion /TYPE=NUMERIC
-               on grid (G002) with -1.E+34 for missing data
+               on grid (G###) with -1.E+34 for missing data
              X=0.5:20.5  
  V59      V59                              1:20      ...       ...       ...
             Data type = NUMERIC
             Conversion /TYPE=NUMERIC
-               on grid (G002) with -1.E+34 for missing data
+               on grid (G###) with -1.E+34 for missing data
              X=0.5:20.5  
  V60      V60                              1:20      ...       ...       ...
             Data type = NUMERIC
             Conversion /TYPE=NUMERIC
-               on grid (G002) with -1.E+34 for missing data
+               on grid (G###) with -1.E+34 for missing data
              X=0.5:20.5  
  V61      V61                              1:20      ...       ...       ...
             Data type = NUMERIC
             Conversion /TYPE=NUMERIC
-               on grid (G002) with -1.E+34 for missing data
+               on grid (G###) with -1.E+34 for missing data
              X=0.5:20.5  
  V62      V62                              1:20      ...       ...       ...
             Data type = NUMERIC
             Conversion /TYPE=NUMERIC
-               on grid (G002) with -1.E+34 for missing data
+               on grid (G###) with -1.E+34 for missing data
              X=0.5:20.5  
  V63      V63                              1:20      ...       ...       ...
             Data type = NUMERIC
             Conversion /TYPE=NUMERIC
-               on grid (G002) with -1.E+34 for missing data
+               on grid (G###) with -1.E+34 for missing data
              X=0.5:20.5  
  V64      V64                              1:20      ...       ...       ...
             Data type = NUMERIC
             Conversion /TYPE=NUMERIC
-               on grid (G002) with -1.E+34 for missing data
+               on grid (G###) with -1.E+34 for missing data
              X=0.5:20.5  
  V65      V65                              1:20      ...       ...       ...
             Data type = NUMERIC
             Conversion /TYPE=NUMERIC
-               on grid (G002) with -1.E+34 for missing data
+               on grid (G###) with -1.E+34 for missing data
              X=0.5:20.5  
  V66      V66                              1:20      ...       ...       ...
             Data type = NUMERIC
             Conversion /TYPE=NUMERIC
-               on grid (G002) with -1.E+34 for missing data
+               on grid (G###) with -1.E+34 for missing data
              X=0.5:20.5  
  V67      V67                              1:20      ...       ...       ...
             Data type = NUMERIC
             Conversion /TYPE=NUMERIC
-               on grid (G002) with -1.E+34 for missing data
+               on grid (G###) with -1.E+34 for missing data
              X=0.5:20.5  
  V68      V68                              1:20      ...       ...       ...
             Data type = NUMERIC
             Conversion /TYPE=NUMERIC
-               on grid (G002) with -1.E+34 for missing data
+               on grid (G###) with -1.E+34 for missing data
              X=0.5:20.5  
  V69      V69                              1:20      ...       ...       ...
             Data type = NUMERIC
             Conversion /TYPE=NUMERIC
-               on grid (G002) with -1.E+34 for missing data
+               on grid (G###) with -1.E+34 for missing data
              X=0.5:20.5  
  V70      V70                              1:20      ...       ...       ...
             Data type = NUMERIC
             Conversion /TYPE=NUMERIC
-               on grid (G002) with -1.E+34 for missing data
+               on grid (G###) with -1.E+34 for missing data
              X=0.5:20.5  
  V71      V71                              1:20      ...       ...       ...
             Data type = NUMERIC
             Conversion /TYPE=NUMERIC
-               on grid (G002) with -1.E+34 for missing data
+               on grid (G###) with -1.E+34 for missing data
              X=0.5:20.5  
  V72      V72                              1:20      ...       ...       ...
             Data type = NUMERIC
             Conversion /TYPE=NUMERIC
-               on grid (G002) with -1.E+34 for missing data
+               on grid (G###) with -1.E+34 for missing data
              X=0.5:20.5  
  
  /DELIMITERS="\t,\,"
@@ -36931,6 +37947,7 @@ cancel mode ignore
 !
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
  
 ! tics on horiz log axes were wrong; (plot only)
 ! GO bn_reset
@@ -36940,6 +37957,7 @@ cancel mode verify
 !missing vertices in polygon call
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err540_polymissing
 ! err540_polymissing.jnl
 ! 3/02 *acm*
@@ -36971,6 +37989,7 @@ polygon  xvertex1,yvertex,values
 ! formatting axis label numbers
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err540_ill_format.jnl
 ! err540_ill_format.jnl
 ! 3/02 *acm*
@@ -36989,6 +38008,7 @@ plot/trans/i=1:100  0.001 - 0.002/ i
 ! variable permutation in netCDF writes
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err540_write_order
 ! err540_write_order.jnl
 ! *sh* 3/02
@@ -37067,6 +38087,7 @@ sp rm -f test_bad_order.cdf
 !@AVE error when plotting unlike grids together
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err540_ax_ave
 !err540_ax_ave.jnl
 ! 3/02 *acm
@@ -37083,6 +38104,7 @@ plot/x=140w/y=0/sym/line sst,sst[gt=t2 at ave]
 !Make PPL AXSET settings persist, but not settings made w/ qualifiers /AXES= or /NOAXES
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err540_axset
 !err540_axset.jnl
 ! 3/02 *acm
@@ -37117,6 +38139,7 @@ PPL axset 1,1,1,1
 !Previously couldn't do PLOT/VS/DASH, but no reason not to allow it.
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err540_vs_dash
 ! PLOT/VS/DASH  previously was not allowed.
  
@@ -37160,6 +38183,7 @@ plot/over/thick/dash/color=blue 50*sin(ypts/3)+700, 30*cos(ypts/3)+800, 20*cos(y
 !overlay on polygon plots
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err540_poly_overlay
 !overlay on polygon plots
  
@@ -37169,6 +38193,7 @@ shade/over/i=1:2/j=0:2/patt i+j
 !polytube failed on plot/over; go polytube, because YAXIS_MIN, _MAX not defined.
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err540_axis_symbols
 ! err540_axis_symbols.jnl
 ! 3/02 *acm*
@@ -37201,6 +38226,7 @@ XAXIS_MAX = "10.00000"
 !nested repeat loops and parsing parentheses
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err540_parse_repeat
 ! err540_parse_repeat.jnl
 ! 3/03 *acm
@@ -37246,6 +38272,7 @@ why not
 ! appending a scalar to NetCDF file
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err540_cd_use_recdim
 ! err540_cd_use_recdim
 ! 3/02 *sh*
@@ -37288,6 +38315,7 @@ sp rm -f profiles.nc
 !missing data in xpts,ypts sample points wasnt checked
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err540_samplexy_missing
 ! err540_samplexy_missing.jnl
 ! 3/03 *acm
@@ -37320,8 +38348,10 @@ list asst
 ! test the fixed delta stride bug
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err540_strides_rev.jnl
 ! err540_strides_rev.jnl
+! V702: *sh* 2/2017 - modified this bench script
  
 ! reported Feb '02
 ! fixed April 17, '02
@@ -37356,35 +38386,34 @@ cancel var/all
  
 set mode stupid
 set mode diag
-set mem/size=0.05
+! *sh* 2/17 - such a small memory size makes it impossible to succeed
+! with the command under the new dynamic memory management
+!set mem/size=0.05
+set mem/size=1   ! use this larger size, instead
 show mem/free
- Current size of FERRET memory cache: 0.2 MegaWords  (1 word = 8 bytes)
-            total memory table slots: 500
-            total memory blocks: 2000
-            memory block size: 100
- 
-            number of free memory blocks: 2000
-            largest free region: 2000
-            number of free regions: 1
-            free memory table slots: 500
-            number of UN-CACHED variables: 0
+    SET MEMORY/SIZE: 1000000 words
+    Peak demand: 0 words
+    Current cache: 0 words
+    Total table slots: 500
+    Free table slots: 500
+    Un-cached variables: 0
  
 use/ord=x-y test_100x100.nc
 list/prec=1 a[i=1:100:10] !  this looks just right!!
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G003)          (AX003)   YAX1_100  NORMAL    NORMAL
- dealloc  dynamic grid (G003)          (AX003)   YAX1_100  NORMAL    NORMAL
- allocate dynamic grid (G003)          (AX003)   YAX1_100  NORMAL    NORMAL
- eval    EX#1     C:  4 dset:   1 I:    1  100  J:    1  100  K: -999 -999  L: -999 -999
- allocate dynamic grid (G003)          (AX003)   YAX1_100  NORMAL    NORMAL
- strip regrid on X: A --> (G003)           @XACT
- strip reversing A on Y axis:     1   100 dset:   1
- rdstride A        C:  8 dset:   1 I:    1   91  J:    1  100  K: -999 -999  L: -999 -999
- doing reversing A on Y axis:     1   100 dset:   1
- -DELETE A        M:  1 dset:   1 I:    1   91  J:    1  100  K: -999 -999  L: -999 -999
- nulrgd  A        M:  1 dset:   1 I:    1   10  J:    1  100  K: -999 -999  L: -999 -999
- -DELETE A        M:  2 dset:   1 I:    1   91  J:    1  100  K: -999 -999  L: -999 -999
- dealloc  dynamic grid (G003)          (AX003)   YAX1_100  NORMAL    NORMAL
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G###)          (AX###)   YAX1_100  NORMAL    NORMAL
+ dealloc  dynamic grid (G###)          (AX###)   YAX1_100  NORMAL    NORMAL
+ allocate dynamic grid (G###)          (AX###)   YAX1_100  NORMAL    NORMAL
+ eval    EX#1     C:  4 dset:   1 I:      1    100  J:    1  100  K: -999 -999  L:   -999   -999
+ allocate dynamic grid (G###)          (AX###)   YAX1_100  NORMAL    NORMAL
+ strip regrid on X: A --> (G###)           @XACT
+ strip reversing A on Y axis:        1      100 dset:   1
+ rdstride A        C:  8 dset:   1 I:      1     91  J:    1  100  K: -999 -999  L:   -999   -999
+ doing reversing A on Y axis:        1      100 dset:   1
+ -DELETE A        M: 15 dset:   1 I:      1     91  J:    1  100  K: -999 -999  L:   -999   -999
+ nulrgd  A        M: 15 dset:   1 I:      1     10  J:    1  100  K: -999 -999  L:   -999   -999
+ -DELETE A        M:  1 dset:   1 I:      1     91  J:    1  100  K: -999 -999  L:   -999   -999
+ dealloc  dynamic grid (G###)          (AX###)   YAX1_100  NORMAL    NORMAL
              VARIABLE : IF I EQ J THEN 1 ELSE A0
                         regrid: 10 delta on X
              FILENAME : test_100x100.nc
@@ -37493,28 +38522,28 @@ list/prec=1 a[i=1:100:10] !  this looks just right!!
  100   / 100:  1.  0.  0.  0.  0.  0.  0.  0.  0.  0.
 show grid
  Default grid for DEFINE VARIABLE is ABSTRACT
- Last successful data access was on grid (G003)
-    GRID (G003)
+ Last successful data access was on grid (G###)
+    GRID (G###)
  name       axis              # pts   start                end                 subset
- (AX003)   X                   10 r   1                    91                  9 pts
+ (AX###)   X                   10 r   1                    91                  10 pts
  YAX1_100  Y                  100 r   1                    100                 full
  normal    Z
  normal    T
  
 ! should be a diagonal path of steps all the way across the plot
 shade a[i=1:100:10]
- eval    EX#1     C:  4 dset:   1 I:    1  100  J:    1  100  K: -999 -999  L: -999 -999
- allocate dynamic grid (G003)          (AX003)   YAX1_100  NORMAL    NORMAL
- strip regrid on X: A --> (G003)           @XACT
- strip reversing A on Y axis:     1   100 dset:   1
- rdstride A        C:  8 dset:   1 I:    1   91  J:    1  100  K: -999 -999  L: -999 -999
- doing reversing A on Y axis:     1   100 dset:   1
- -DELETE A        M:  2 dset:   1 I:    1   91  J:    1  100  K: -999 -999  L: -999 -999
- nulrgd  A        M:  2 dset:   1 I:    1   10  J:    1  100  K: -999 -999  L: -999 -999
- -DELETE A        M:  3 dset:   1 I:    1   91  J:    1  100  K: -999 -999  L: -999 -999
- dealloc  dynamic grid (G003)          (AX003)   YAX1_100  NORMAL    NORMAL
+ eval    EX#1     C:  4 dset:   1 I:      1    100  J:    1  100  K: -999 -999  L:   -999   -999
+ allocate dynamic grid (G###)          (AX###)   YAX1_100  NORMAL    NORMAL
+ strip regrid on X: A --> (G###)           @XACT
+ strip reversing A on Y axis:        1      100 dset:   1
+ rdstride A        C:  8 dset:   1 I:      1     91  J:    1  100  K: -999 -999  L:   -999   -999
+ doing reversing A on Y axis:        1      100 dset:   1
+ -DELETE A        M:  1 dset:   1 I:      1     91  J:    1  100  K: -999 -999  L:   -999   -999
+ nulrgd  A        M:  1 dset:   1 I:      1     10  J:    1  100  K: -999 -999  L:   -999   -999
+ -DELETE A        M: 21 dset:   1 I:      1     91  J:    1  100  K: -999 -999  L:   -999   -999
+ dealloc  dynamic grid (G###)          (AX###)   YAX1_100  NORMAL    NORMAL
 setting up 2D plot
- -DELETE A        M:  3 dset:   1 I:    1   10  J:    1  100  K: -999 -999  L: -999 -999
+ -DELETE A        M: 21 dset:   1 I:      1     10  J:    1  100  K: -999 -999  L:   -999   -999
 PPL plot 26   complete
 ppl list stats
 
@@ -37748,6 +38777,7 @@ set mem/size=25.6
 ! unknown data type for clauses with constants only
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err540_data_type.jnl
 ! err540_data_type
 ! 2/19/02 *sh*
@@ -37781,6 +38811,7 @@ plot IF {1,3,5} GE 3 THEN 1  ! data type unknown
 ! gridding scattered points to modulo axis had bug
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err540_modscat.jnl
 ! test gridding scattered points to modulo axis.
 ! Show Southern hemisphere.
@@ -37804,6 +38835,7 @@ plot/vs/over xpts[i=1:1000]+360, ypts[i=1:1000]
 ! make sure the USE bug reported 5/01 by A Wittenberg is fixed
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err540_use.jnl
 ! err540_use.jnl
 !
@@ -37823,11 +38855,8 @@ save/q/clob/file=g.nc b
 can var a b
  
 sp ncrename -h -v A,a f.nc
-ncrename: In total renamed 0 attributes, 0 dimensions, 0 groups, and 1 variable
 sp ncrename -h -v A,a -v B,b f2.nc
-ncrename: In total renamed 0 attributes, 0 dimensions, 0 groups, and 2 variables
 sp ncrename -h -v B,b g.nc
-ncrename: In total renamed 0 attributes, 0 dimensions, 0 groups, and 1 variable
 use f.nc
 use f2.nc
 use g.nc
@@ -37904,6 +38933,7 @@ set data/skip=4/ez/col=2/var="cnt,tim" longax.dat
  
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 ! longax cancel axis axname
 repeat/k=1:10 go bn_cancel_axes_1.sub
 !-> REPEAT: K=1
@@ -38029,6 +39059,7 @@ can data longax.dat
  
  go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 ! longax cancel axis/all
  
 ! Note: cancel axes/all tested in err541_cancel_axes.jnl
@@ -38039,6 +39070,7 @@ cancel mode verify
 ! test remaining axes are intact when we cancel one.
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 define axis/x ax1={2,4,5,6,9}
 define axis/x ax2={30,60,90,100}
 sh axis/x ax2
@@ -38139,6 +39171,19 @@ T0 = 01-JAN-0000 00:00:00
        3>  16-AUG 06:38:15       2191.455   01-JUL 14:54:36        5478.637
        4>  15-NOV 14:05:33       2191.455   30-SEP 22:21:54        7670.092
  
+! test reading space delimited values - trac #2549
+columns/skip=3/var="v1,v2"/typ="num,num" longax.dat
+list/clobber/file=longaxspace.dat/norow/nohead v1, v2
+let nrecs = `v1,return=isize`
+ !-> DEFINE VARIABLE nrecs = 20500
+can data/all
+define axis/x=1:`nrecs`:1 xax
+ !-> define axis/x=1:20500:1 xax
+define grid/x=xax xgrid
+columns/grid=xgrid/delim="\b"/var="v1,v2"/typ="num,num" longaxspace.dat
+! this used to cause a crash (due to improper memory advancing to skip spaces)
+load v1
+ 
 *** Running ferret script: bn542_bug_fixes.jnl
 ! bn542_bug_fixes.jnl
 ! test various fixes that went into version 5.42
@@ -38148,6 +39193,7 @@ T0 = 01-JAN-0000 00:00:00
 ! Interior tics disappear on FILL plots
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err541_fill_tics
 ! pplus tics bug - pre 5.42, fill plots overlaid interior tics.
  
@@ -38166,6 +39212,7 @@ ppl tics,,.25,,.25,-1,-1
 ! are used rather than date specifications
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err541_non_gregorian
 !From Andrew Wittenberg, non-Gregorian time axis bug 01 Oct 2002
 ! pre-542, second axis has just one point.
@@ -38195,6 +39242,7 @@ CALENDAR = JULIAN
 ! Could not write or read a NetCDF file with a 4-D string variable.
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err541_string4d
  ! Write a 4-D NetCDF file with a string variable.
  
@@ -38300,6 +39348,7 @@ list axy
 ! Cancel axis/all did not check whether axes were in use
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err541_cancel_axes
 ! Check that an axis in use cannot be cancelled.
 ! 4/2013 changes for Ferret with climatological axes
@@ -38345,6 +39394,7 @@ show axis test_i*
 ! 5/4/05 *acm* Move to bn_ef_err541_date_delim; pulling all jnls that call shared-obj efs out
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 ! GO err541_date_delim
  
 *** Running ferret script: bn_subspan_modulo.jnl
@@ -38643,10 +39693,10 @@ set mode stupid  ! always re-read and recompute
 lsx $1  ! default avoids void points
  !-> list/order=x vreg
  dealloc  dynamic grid GFJ3            XAX_SUBSPANORMAL    NORMAL    TAX_SUBSPA
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GFJ1            XAX_SUBSPANORMAL    NORMAL    NORMAL
- eval    EX#1     C:  4 dset:   1 I:    1    6  J: -999 -999  K: -999 -999  L: -999 -999
- reading VREG     M:  2 dset:   1 I:    1    6  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  4 dset:   1 I:      1      6  J: -999 -999  K: -999 -999  L:   -999   -999
+ reading VREG     M:  2 dset:   1 I:      1      6  J: -999 -999  K: -999 -999  L:   -999   -999
              VARIABLE : X[GX=XAX_SUBSPAN] -40 + 10
              FILENAME : test_subspan_modulo.nc
              SUBSET   : 6 points (X)
@@ -38656,36 +39706,36 @@ lsx $1  ! default avoids void points
 lsxn/x=100 $1  ! void point above, alone (via "modulo-void-filling")
  !-> list/order=x/nohead/x=100 vreg
  strip limits reconciliation : EX#1
- strip modulo-void-filling EX#1 on X axis:     7     7 dset:   1
- eval    EX#1     C:  6 dset:   1 I:    6    6  J: -999 -999  K: -999 -999  L: -999 -999
- reading VREG     M:  1 dset:   1 I:    6    6  J: -999 -999  K: -999 -999  L: -999 -999
- doing modulo-void-filling VREG on X axis:     6     6 dset:   1
+ strip modulo-void-filling EX#1 on X axis:        7        7 dset:   1
+ eval    EX#1     C:  6 dset:   1 I:      6      6  J: -999 -999  K: -999 -999  L:   -999   -999
+ reading VREG     M:  1 dset:   1 I:      6      6  J: -999 -999  K: -999 -999  L:   -999   -999
+ doing modulo-void-filling VREG on X axis:        6        6 dset:   1
         ....
 lsxn/x=0 $1 ! void point below, alone (via modulo)
  !-> list/order=x/nohead/x=0 vreg
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:    0    0  J: -999 -999  K: -999 -999  L: -999 -999
- strip moduloing VREG on X axis:     0     0 dset:   1
- reading VREG     M:  5 dset:   1 I:    6    6  J: -999 -999  K: -999 -999  L: -999 -999
- doing moduloing VREG on X axis:     6     6 dset:   1
+ eval    EX#1     C:  5 dset:   1 I:      0      0  J: -999 -999  K: -999 -999  L:   -999   -999
+ strip moduloing VREG on X axis:        0        0 dset:   1
+ reading VREG     M:  5 dset:   1 I:      6      6  J: -999 -999  K: -999 -999  L:   -999   -999
+ doing moduloing VREG on X axis:        6        6 dset:   1
         ....
 lsxn/x=45:100 $1  ! void above (via subspan-fill)
  !-> list/order=x/nohead/x=45:100 vreg
  strip limits reconciliation : EX#1
- strip modulo-void-filling EX#1 on X axis:     5     7 dset:   1
- eval    EX#1     C:  6 dset:   1 I:    5    6  J: -999 -999  K: -999 -999  L: -999 -999
- reading VREG     M:  3 dset:   1 I:    5    6  J: -999 -999  K: -999 -999  L: -999 -999
- doing modulo-void-filling VREG on X axis:     5     6 dset:   1
+ strip modulo-void-filling EX#1 on X axis:        5        7 dset:   1
+ eval    EX#1     C:  6 dset:   1 I:      5      6  J: -999 -999  K: -999 -999  L:   -999   -999
+ reading VREG     M:  3 dset:   1 I:      5      6  J: -999 -999  K: -999 -999  L:   -999   -999
+ doing modulo-void-filling VREG on X axis:        5        6 dset:   1
           15.00  16.00   ....
 lsxn/x=0:100 $1  ! voids above & below (via modulo)
  !-> list/order=x/nohead/x=0:100 vreg
  strip limits reconciliation : EX#1
- strip modulo-void-filling EX#1 on X axis:     0     7 dset:   1
- eval    EX#1     C:  6 dset:   1 I:    0    6  J: -999 -999  K: -999 -999  L: -999 -999
- strip moduloing VREG on X axis:     0     6 dset:   1
- reading VREG     M:  8 dset:   1 I:    1    6  J: -999 -999  K: -999 -999  L: -999 -999
- doing moduloing VREG on X axis:     1     6 dset:   1
- doing modulo-void-filling VREG on X axis:     0     6 dset:   1
+ strip modulo-void-filling EX#1 on X axis:        0        7 dset:   1
+ eval    EX#1     C:  6 dset:   1 I:      0      6  J: -999 -999  K: -999 -999  L:   -999   -999
+ strip moduloing VREG on X axis:        0        6 dset:   1
+ reading VREG     M:  8 dset:   1 I:      1      6  J: -999 -999  K: -999 -999  L:   -999   -999
+ doing moduloing VREG on X axis:        1        6 dset:   1
+ doing modulo-void-filling VREG on X axis:        0        6 dset:   1
            ....  11.00  12.00  13.00  14.00  15.00  16.00   ....
 set mode/last diag
 lsxn/x=50:160 $1  ! modulo above
@@ -38939,38 +39989,38 @@ l200n/order=x $2[l=1,i=0:14]
 set mode diag; l200n/order=x $2[l=1,i=0:14:2]; set mode/last diag
  !-> list/width=200/nohead/order=x v2d_reg[l=1,i=0:14:2]
  dealloc  dynamic grid GFJ3            XAX_SUBSPANORMAL    NORMAL    TAX_SUBSPA
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G004)          (AX002)   NORMAL    NORMAL    TAX_SUBSPA
- dealloc  dynamic grid (G004)          (AX002)   NORMAL    NORMAL    TAX_SUBSPA
- allocate dynamic grid (G004)          (AX002)   NORMAL    NORMAL    TAX_SUBSPA
- eval    EX#1     C:  4 dset:   1 I:    1    8  J: -999 -999  K: -999 -999  L: -999 -999
- allocate dynamic grid (G004)          (AX002)   NORMAL    NORMAL    TAX_SUBSPA
- strip regrid on X: V2D_REG --> (G004)           @XACT
- found   V2D_REG  M: 71 dset:   1 I:    0   14  J: -999 -999  K: -999 -999  L:    1    1
- regrid  V2D_REG  M: 72 dset:   1 I:    1    8  J: -999 -999  K: -999 -999  L:    1    1
- dealloc  dynamic grid (G004)          (AX002)   NORMAL    NORMAL    TAX_SUBSPA
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G###)          (AX###)   NORMAL    NORMAL    TAX_SUBSPA
+ dealloc  dynamic grid (G###)          (AX###)   NORMAL    NORMAL    TAX_SUBSPA
+ allocate dynamic grid (G###)          (AX###)   NORMAL    NORMAL    TAX_SUBSPA
+ eval    EX#1     C:  4 dset:   1 I:      1      8  J: -999 -999  K: -999 -999  L:   -999   -999
+ allocate dynamic grid (G###)          (AX###)   NORMAL    NORMAL    TAX_SUBSPA
+ strip regrid on X: V2D_REG --> (G###)           @XACT
+ found   V2D_REG  M: 71 dset:   1 I:      0     14  J: -999 -999  K: -999 -999  L:      1      1
+ regrid  V2D_REG  M: 72 dset:   1 I:      1      8  J: -999 -999  K: -999 -999  L:      1      1
+ dealloc  dynamic grid (G###)          (AX###)   NORMAL    NORMAL    TAX_SUBSPA
            ....  12.00  14.00  16.00  11.00  13.00  15.00   ....
 l200n/order=x $2[l=1,i=0:14:7]
  !-> list/width=200/nohead/order=x v2d_reg[l=1,i=0:14:7]
         ............
 set mode diag; l200n $2[i=1,l=1:15:2]; set mode/last diag
  !-> list/width=200/nohead v2d_reg[i=1,l=1:15:2]
- dealloc  dynamic grid (G004)          (AX001)   NORMAL    NORMAL    TAX_SUBSPA
- -DELETE V2D_REG  M: 73 dset:   1 I:    1    3  J: -999 -999  K: -999 -999  L:    1    1
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G004)          XAX_SUBSPANORMAL    NORMAL    (AX002)
- dealloc  dynamic grid (G004)          XAX_SUBSPANORMAL    NORMAL    (AX002)
- allocate dynamic grid (G004)          XAX_SUBSPANORMAL    NORMAL    (AX002)
- eval    EX#1     C:  4 dset:   1 I: -999 -999  J: -999 -999  K: -999 -999  L:    1    8
- allocate dynamic grid (G004)          XAX_SUBSPANORMAL    NORMAL    (AX002)
- strip regrid on T: V2D_REG --> (G004)           @XACT
- strip moduloing V2D_REG on T axis:     1    15 dset:   1
- rdstride V2D_REG  C:  9 dset:   1 I:    1    1  J: -999 -999  K: -999 -999  L:    1    5
- doing moduloing V2D_REG on T axis:     1     5 dset:   1
- -DELETE V2D_REG  M: 73 dset:   1 I:    1    1  J: -999 -999  K: -999 -999  L:    1    5
- nulrgd  V2D_REG  M: 73 dset:   1 I:    1    1  J: -999 -999  K: -999 -999  L:    1    8
- -DELETE V2D_REG  M: 74 dset:   1 I:    1    1  J: -999 -999  K: -999 -999  L:    1   15
- dealloc  dynamic grid (G004)          XAX_SUBSPANORMAL    NORMAL    (AX002)
+ dealloc  dynamic grid (G###)          (AX###)   NORMAL    NORMAL    TAX_SUBSPA
+ -DELETE V2D_REG  M: 73 dset:   1 I:      1      3  J: -999 -999  K: -999 -999  L:      1      1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G###)          XAX_SUBSPANORMAL    NORMAL    (AX###)
+ dealloc  dynamic grid (G###)          XAX_SUBSPANORMAL    NORMAL    (AX###)
+ allocate dynamic grid (G###)          XAX_SUBSPANORMAL    NORMAL    (AX###)
+ eval    EX#1     C:  4 dset:   1 I:   -999   -999  J: -999 -999  K: -999 -999  L:      1      8
+ allocate dynamic grid (G###)          XAX_SUBSPANORMAL    NORMAL    (AX###)
+ strip regrid on T: V2D_REG --> (G###)           @XACT
+ strip moduloing V2D_REG on T axis:        1       15 dset:   1
+ rdstride V2D_REG  C:  9 dset:   1 I:      1      1  J: -999 -999  K: -999 -999  L:      1      5
+ doing moduloing V2D_REG on T axis:        1        5 dset:   1
+ -DELETE V2D_REG  M: 73 dset:   1 I:      1      1  J: -999 -999  K: -999 -999  L:      1      5
+ nulrgd  V2D_REG  M: 73 dset:   1 I:      1      1  J: -999 -999  K: -999 -999  L:      1      8
+ -DELETE V2D_REG  M: 74 dset:   1 I:      1      1  J: -999 -999  K: -999 -999  L:      1     15
+ dealloc  dynamic grid (G###)          XAX_SUBSPANORMAL    NORMAL    (AX###)
  16-JAN-0000 / 1:   11.0
  16-MAR-0000 / 2:   71.0
  15-MAY-0000 / 3:  131.0
@@ -39174,10 +40224,10 @@ set mode stupid  ! always re-read and recompute
 lsx $1  ! default avoids void points
  !-> list/order=x virr
  dealloc  dynamic grid GFJ4            XIRREG_SUBNORMAL    NORMAL    TIRREG_SUB
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GFJ2            XIRREG_SUBNORMAL    NORMAL    NORMAL
- eval    EX#1     C:  4 dset:   1 I:    1    6  J: -999 -999  K: -999 -999  L: -999 -999
- reading VIRR     M: 80 dset:   1 I:    1    6  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  4 dset:   1 I:      1      6  J: -999 -999  K: -999 -999  L:   -999   -999
+ reading VIRR     M: 80 dset:   1 I:      1      6  J: -999 -999  K: -999 -999  L:   -999   -999
              VARIABLE : X[GX=XIRREG_SUBSPAN] -40 + 10
              FILENAME : test_subspan_modulo.nc
              SUBSET   : 6 points (X)
@@ -39187,36 +40237,36 @@ lsx $1  ! default avoids void points
 lsxn/x=100 $1  ! void point above, alone (via "modulo-void-filling")
  !-> list/order=x/nohead/x=100 virr
  strip limits reconciliation : EX#1
- strip modulo-void-filling EX#1 on X axis:     7     7 dset:   1
- eval    EX#1     C:  6 dset:   1 I:    6    6  J: -999 -999  K: -999 -999  L: -999 -999
- reading VIRR     M: 81 dset:   1 I:    6    6  J: -999 -999  K: -999 -999  L: -999 -999
- doing modulo-void-filling VIRR on X axis:     6     6 dset:   1
+ strip modulo-void-filling EX#1 on X axis:        7        7 dset:   1
+ eval    EX#1     C:  6 dset:   1 I:      6      6  J: -999 -999  K: -999 -999  L:   -999   -999
+ reading VIRR     M: 81 dset:   1 I:      6      6  J: -999 -999  K: -999 -999  L:   -999   -999
+ doing modulo-void-filling VIRR on X axis:        6        6 dset:   1
         ....
 lsxn/x=0 $1 ! void point below, alone (via modulo)
  !-> list/order=x/nohead/x=0 virr
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:    0    0  J: -999 -999  K: -999 -999  L: -999 -999
- strip moduloing VIRR on X axis:     0     0 dset:   1
- reading VIRR     M: 83 dset:   1 I:    6    6  J: -999 -999  K: -999 -999  L: -999 -999
- doing moduloing VIRR on X axis:     6     6 dset:   1
+ eval    EX#1     C:  5 dset:   1 I:      0      0  J: -999 -999  K: -999 -999  L:   -999   -999
+ strip moduloing VIRR on X axis:        0        0 dset:   1
+ reading VIRR     M: 83 dset:   1 I:      6      6  J: -999 -999  K: -999 -999  L:   -999   -999
+ doing moduloing VIRR on X axis:        6        6 dset:   1
         ....
 lsxn/x=45:100 $1  ! void above (via subspan-fill)
  !-> list/order=x/nohead/x=45:100 virr
  strip limits reconciliation : EX#1
- strip modulo-void-filling EX#1 on X axis:     5     7 dset:   1
- eval    EX#1     C:  6 dset:   1 I:    5    6  J: -999 -999  K: -999 -999  L: -999 -999
- reading VIRR     M: 85 dset:   1 I:    5    6  J: -999 -999  K: -999 -999  L: -999 -999
- doing modulo-void-filling VIRR on X axis:     5     6 dset:   1
+ strip modulo-void-filling EX#1 on X axis:        5        7 dset:   1
+ eval    EX#1     C:  6 dset:   1 I:      5      6  J: -999 -999  K: -999 -999  L:   -999   -999
+ reading VIRR     M: 85 dset:   1 I:      5      6  J: -999 -999  K: -999 -999  L:   -999   -999
+ doing modulo-void-filling VIRR on X axis:        5        6 dset:   1
           15.00  16.00   ....
 lsxn/x=0:100 $1  ! voids above & below (via modulo)
  !-> list/order=x/nohead/x=0:100 virr
  strip limits reconciliation : EX#1
- strip modulo-void-filling EX#1 on X axis:     0     7 dset:   1
- eval    EX#1     C:  6 dset:   1 I:    0    6  J: -999 -999  K: -999 -999  L: -999 -999
- strip moduloing VIRR on X axis:     0     6 dset:   1
- reading VIRR     M: 87 dset:   1 I:    1    6  J: -999 -999  K: -999 -999  L: -999 -999
- doing moduloing VIRR on X axis:     1     6 dset:   1
- doing modulo-void-filling VIRR on X axis:     0     6 dset:   1
+ strip modulo-void-filling EX#1 on X axis:        0        7 dset:   1
+ eval    EX#1     C:  6 dset:   1 I:      0      6  J: -999 -999  K: -999 -999  L:   -999   -999
+ strip moduloing VIRR on X axis:        0        6 dset:   1
+ reading VIRR     M: 87 dset:   1 I:      1      6  J: -999 -999  K: -999 -999  L:   -999   -999
+ doing moduloing VIRR on X axis:        1        6 dset:   1
+ doing modulo-void-filling VIRR on X axis:        0        6 dset:   1
            ....  11.00  12.00  12.10  14.00  15.00  16.00   ....
 set mode/last diag
 lsxn/x=50:160 $1  ! modulo above
@@ -39470,38 +40520,38 @@ l200n/order=x $2[l=1,i=0:14]
 set mode diag; l200n/order=x $2[l=1,i=0:14:2]; set mode/last diag
  !-> list/width=200/nohead/order=x v2d_irr[l=1,i=0:14:2]
  dealloc  dynamic grid GFJ4            XIRREG_SUBNORMAL    NORMAL    TIRREG_SUB
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G006)          (AX001)   NORMAL    NORMAL    TIRREG_SUB
- dealloc  dynamic grid (G006)          (AX001)   NORMAL    NORMAL    TIRREG_SUB
- allocate dynamic grid (G006)          (AX001)   NORMAL    NORMAL    TIRREG_SUB
- eval    EX#1     C:  4 dset:   1 I:    1    8  J: -999 -999  K: -999 -999  L: -999 -999
- allocate dynamic grid (G006)          (AX001)   NORMAL    NORMAL    TIRREG_SUB
- strip regrid on X: V2D_IRR --> (G006)           @XACT
- found   V2D_IRR  M:150 dset:   1 I:    0   14  J: -999 -999  K: -999 -999  L:    1    1
- regrid  V2D_IRR  M:151 dset:   1 I:    1    8  J: -999 -999  K: -999 -999  L:    1    1
- dealloc  dynamic grid (G006)          (AX001)   NORMAL    NORMAL    TIRREG_SUB
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G###)          (AX###)   NORMAL    NORMAL    TIRREG_SUB
+ dealloc  dynamic grid (G###)          (AX###)   NORMAL    NORMAL    TIRREG_SUB
+ allocate dynamic grid (G###)          (AX###)   NORMAL    NORMAL    TIRREG_SUB
+ eval    EX#1     C:  4 dset:   1 I:      1      8  J: -999 -999  K: -999 -999  L:   -999   -999
+ allocate dynamic grid (G###)          (AX###)   NORMAL    NORMAL    TIRREG_SUB
+ strip regrid on X: V2D_IRR --> (G###)           @XACT
+ found   V2D_IRR  M:150 dset:   1 I:      0     14  J: -999 -999  K: -999 -999  L:      1      1
+ regrid  V2D_IRR  M:151 dset:   1 I:      1      8  J: -999 -999  K: -999 -999  L:      1      1
+ dealloc  dynamic grid (G###)          (AX###)   NORMAL    NORMAL    TIRREG_SUB
            ....  12.00  14.00  16.00  11.00  12.10  15.00   ....
 l200n/order=x $2[l=1,i=0:14:7]
  !-> list/width=200/nohead/order=x v2d_irr[l=1,i=0:14:7]
         ............
 set mode diag; l200n $2[i=1,l=1:15:2]; set mode/last diag
  !-> list/width=200/nohead v2d_irr[i=1,l=1:15:2]
- dealloc  dynamic grid (G006)          (AX005)   NORMAL    NORMAL    TIRREG_SUB
- -DELETE V2D_IRR  M:152 dset:   1 I:    1    3  J: -999 -999  K: -999 -999  L:    1    1
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G006)          XIRREG_SUBNORMAL    NORMAL    (AX001)
- dealloc  dynamic grid (G006)          XIRREG_SUBNORMAL    NORMAL    (AX001)
- allocate dynamic grid (G006)          XIRREG_SUBNORMAL    NORMAL    (AX001)
- eval    EX#1     C:  4 dset:   1 I: -999 -999  J: -999 -999  K: -999 -999  L:    1    8
- allocate dynamic grid (G006)          XIRREG_SUBNORMAL    NORMAL    (AX001)
- strip regrid on T: V2D_IRR --> (G006)           @XACT
- strip moduloing V2D_IRR on T axis:     1    15 dset:   1
- rdstride V2D_IRR  C:  9 dset:   1 I:    1    1  J: -999 -999  K: -999 -999  L:    1    5
- doing moduloing V2D_IRR on T axis:     1     5 dset:   1
- -DELETE V2D_IRR  M:152 dset:   1 I:    1    1  J: -999 -999  K: -999 -999  L:    1    5
- nulrgd  V2D_IRR  M:152 dset:   1 I:    1    1  J: -999 -999  K: -999 -999  L:    1    8
- -DELETE V2D_IRR  M:153 dset:   1 I:    1    1  J: -999 -999  K: -999 -999  L:    1   15
- dealloc  dynamic grid (G006)          XIRREG_SUBNORMAL    NORMAL    (AX001)
+ dealloc  dynamic grid (G###)          (AX###)   NORMAL    NORMAL    TIRREG_SUB
+ -DELETE V2D_IRR  M:152 dset:   1 I:      1      3  J: -999 -999  K: -999 -999  L:      1      1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G###)          XIRREG_SUBNORMAL    NORMAL    (AX###)
+ dealloc  dynamic grid (G###)          XIRREG_SUBNORMAL    NORMAL    (AX###)
+ allocate dynamic grid (G###)          XIRREG_SUBNORMAL    NORMAL    (AX###)
+ eval    EX#1     C:  4 dset:   1 I:   -999   -999  J: -999 -999  K: -999 -999  L:      1      8
+ allocate dynamic grid (G###)          XIRREG_SUBNORMAL    NORMAL    (AX###)
+ strip regrid on T: V2D_IRR --> (G###)           @XACT
+ strip moduloing V2D_IRR on T axis:        1       15 dset:   1
+ rdstride V2D_IRR  C:  9 dset:   1 I:      1      1  J: -999 -999  K: -999 -999  L:      1      5
+ doing moduloing V2D_IRR on T axis:        1        5 dset:   1
+ -DELETE V2D_IRR  M:152 dset:   1 I:      1      1  J: -999 -999  K: -999 -999  L:      1      5
+ nulrgd  V2D_IRR  M:152 dset:   1 I:      1      1  J: -999 -999  K: -999 -999  L:      1      8
+ -DELETE V2D_IRR  M:153 dset:   1 I:      1      1  J: -999 -999  K: -999 -999  L:      1     15
+ dealloc  dynamic grid (G###)          XIRREG_SUBNORMAL    NORMAL    (AX###)
  16-JAN-0000 / 1:   11.0
  15-MAR-0000 / 2:   70.2
  15-MAY-0000 / 3:  131.2
@@ -39711,11 +40761,11 @@ can mode labels
 can mode logo
 show modes
       MODE            STATE        ARGUMENT
-      DIAGNOSTIC    CANCELLED           99
+      DIAGNOSTIC    CANCELED            99
       VERIFY           SET         DEFAULT
-      INTERPOLATE   CANCELLED
-      IGNORE_ERROR  CANCELLED
-      STUPID        CANCELLED
+      INTERPOLATE   CANCELED
+      IGNORE_ERROR  CANCELED
+      STUPID        CANCELED
       JOURNAL          SET         ferret.jnl
       LONG_LABEL       SET               1
       LATIT_LABEL      SET               1
@@ -39725,24 +40775,25 @@ show modes
       F_LABEL          SET         minutes
       ASCII_FONT       SET
       SEGMENT          SET
-      WAIT          CANCELLED
-      DESPERATE     CANCELLED      2560000
+      WAIT          CANCELED
+      DESPERATE     CANCELED       2560000
       GKS              SET
       REFRESH          SET
-      METAFILE      CANCELLED      .gif
-      PPLLIST       CANCELLED      ppllist.out
-      GUI           CANCELLED
-      LOGO          CANCELLED
-      LABELS        CANCELLED
-      GRATICULE     CANCELLED
+      METAFILE      CANCELED       .gif
+      PPLLIST       CANCELED       ppllist.out
+      GUI           CANCELED
+      LOGO          CANCELED
+      LABELS        CANCELED
+      GRATICULE     CANCELED
       LINECOLORS       SET               6
       UPCASE_OUTPU     SET
       NLEVELS          SET              30
       NODATA_LAB       SET
-      SHRINK_YLAB   CANCELLED
-      CURVILINEAR   CANCELLED
-      LAYERZ        CANCELLED
+      SHRINK_YLAB   CANCELED
+      CURVILINEAR   CANCELED
+      LAYERZ        CANCELED
       6D_LAB           SET
+      FRUGAL           SET              30
 contour/i=1:10/j=1:10 i/j
  
 ! restore the labels, logo still gone
@@ -39832,6 +40883,7 @@ T0 = %%
 ! Polygon/overlay calendar axis bug
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err542_poly_over_calendar
 ! POLY/OVER when data has a non-standard calendar caused
 ! calendar mismatch error, even on a plot with no time axis.
@@ -39851,6 +40903,7 @@ poly/over/color=red/line=2/title="polygon" {220,240,280,250},{-20,70,40,-30}
  
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err550_view_axes_fill.jnl
 ! err550_view_axes_fill.jnl
 ! acm 2/5/03
@@ -39940,6 +40993,7 @@ set win/aspect=0.75
 ! defined as a VIEW/AXES viewport.
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err550_view_axes_position.jnl
 ! err550_view_axes_position.jnl
 ! acm 2/5/03
@@ -39958,6 +41012,7 @@ shade/x=1:10/y=1:10 x-y
 ! SHADE bug: hlimits, vlimits without effect
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err550_shade_limits.jnl
 ! err550_shade_limits.jnl
 ! acm 2/5/03
@@ -39972,6 +41027,7 @@ set view lower; shade/hlimits=212:324/vlimits=-34:23 sst[l=1]
 ! Redefining an axis with a new calendar definition
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err550_redefine_calendar_axis.jnl
 ! err550_redefine_calendar_axis.jnl
 ! different calendar axis not recognized as a different specifier,
@@ -39995,6 +41051,7 @@ CALENDAR = JULIAN
 ! Bug in defining axis from an expression.
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err550_define_axis_expression.jnl
 ! err550_define_axis_expression.jnl
 ! reported by A. Wittenberg.
@@ -40046,6 +41103,7 @@ list x[gx=xax]
 ! Bug in reading seconds from time origin in nc file.
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err550_nc_seconds.jnl
 ! err550_nc_seconds.jnl
 ! 2/12/03 ACM
@@ -40072,6 +41130,7 @@ list t[gt=height]    ! Seconds should be 36, 37, 38...
 ! Bug in plotting polymarker dots with pen numbers gt 6
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err550_dots_thickpens.jnl
 ! err550_dots_thickpens.jnl
 ! For pen code higher than 6, get *  rather than dot.
@@ -40216,6 +41275,7 @@ ppl rlabs,4,0
 ! Default behavior (all axes on) was not reset after a plot/set/AXES=
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err551_axes_set.jnl
 ! Default behavior (all axes on) was not reset after a PLOT/SET/AXES=
  
@@ -40235,6 +41295,7 @@ plot/i=1:100/title="PLOT (no quals); all axes plotted" i*cos(i/12)
 ! test on SHADE and POLYGON plots, and these crashed Ferret.
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err551_num_levels.jnl
 ! Test whether too many levels specified. Previous to v552, no
 ! test was made on SHADE and POLYGON plots, and these crashed Ferret.
@@ -40261,6 +41322,7 @@ SET WIN/CLEAR
 ! Check for invalid value of calendar attribute on reading NetCDF files.
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err551_invalid_calendar.jnl
 ! check on input for invalid calendar name
 ! If file gives calendar attribute with unrecognized name,
@@ -40278,6 +41340,7 @@ sh data
 ! String bug fixes *kob*
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err551_strings.jnl
  
  
@@ -40347,6 +41410,7 @@ list strcmp("b", mystring)
 ! 2-D @AVE bug fix
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err551_2dave.jnl
 ! Bug in 2-D averaging, if source data thats loaded has a
 ! larger range than the dest data, code didnt check whether
@@ -40376,6 +41440,7 @@ list/l=1/y=20 sst[gx=xax at ave,gy=yax at ave]
 ! RETURN error message, and new var,RETURN=dsettitle  argument
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err551_return_message.jnl
  ! err551_return_message.jnl
  ! 4/15/03 ACM
@@ -40399,6 +41464,7 @@ SET MODE/LAST IGNORE_ERROR
 !  file/form=stream didnt see file in another directory
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err551_streamread_directory.jnl
 ! Bug: file/form=stream doesnt see file in another directory
  
@@ -40428,6 +41494,7 @@ list a
 ! GXY=var  regridding syntax, when the variable hasnt been loaded
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err551_regrid_undef_grid.jnl
 ! err551_regrid_undef_grid.jnl
 ! 5/03 *acm* based on bn_regrid_to_user; more testing of multi-axis GXY=var
@@ -40470,8 +41537,8 @@ list/x=160e/y=5s temp[d=2,k=1,gxy=a[d=1]]
           29.52
 show grid
  Default grid for DEFINE VARIABLE is ABSTRACT
- Last successful data access was on grid (G003)
-    GRID (G003)
+ Last successful data access was on grid (G###)
+    GRID (G###)
  name       axis              # pts   start                end                 subset
  COADSX    LONGITUDE          180mr   21E                  19E(379)            full
  COADSY    LATITUDE            90 r   89S                  89N                 full
@@ -40563,6 +41630,7 @@ list dzdt_anom
 ! Symbol substituted on each repetition of REPEAT
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err551_repeat_sym.jnl
  
 ! This had worked, but stopped working in v541
@@ -40590,6 +41658,7 @@ def sym a 0; rep/i=1:3:1 (def sym a `i`; say ($a))
 ! another time axis, some times have missing data
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err551_modulo_nc_regrid.jnl
 ! data from nc file with time axis having modulo=value, when regridded
 ! to another time axis, some times have missing data
@@ -40651,6 +41720,7 @@ list/l=23:27 vwnd_clim[gt=vwnd[d=1]]
 ! FFT frequency axis not computed accurately enough.
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err551_fft_freqaxis.jnl
  
 DEFINE AXIS/t=1:4998:1 dayt
@@ -40678,6 +41748,7 @@ list `tpts,return=lend`
 ! No error message on request for time on bad time axis
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err551_no_taxis_errmsg.jnl
 ! The time axis is bad, having repeated values, so an abstract axis is
 ! used by Ferret and the list/t=time should result in an error.
@@ -40781,6 +41852,7 @@ SHOW GRID
 ! save to a file a variable that is 128 long
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
  
 LET a234567890b234567890c234567890d234567890e234567890f234567890g234567890h234567890i234567890d234567890j234567890k234567890L234567 = {12,14,20,28,22,10}
 SAVE/CLOBBER/FILE=longvname.nc a234567890b234567890c234567890d234567890e234567890f234567890g234567890h234567890i234567890d234567890j234567890k234567890L234567
@@ -40788,6 +41860,7 @@ SAVE/CLOBBER/FILE=longvname.nc a234567890b234567890c234567890d234567890e23456789
 ! read from the file
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 USE longvname
 LIST a234567890b234567890c234567890d234567890e234567890f234567890g234567890h234567890i234567890d234567890j234567890k234567890L234567
              VARIABLE : {12,14,20,28,22,10}
@@ -40803,11 +41876,13 @@ LIST a234567890b234567890c234567890d234567890e234567890f234567890g234567890h2345
 ! save a 4-D variable
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 LET a234567890b234567890c234567890d234567890e234567890f234567890g234567890h234567890i234567890d234567890j234567890k234567890L234567 = I[I=1:5] * J[J=1:4] * K[K=1:3] + L[L=1:3]
 SAVE/CLOBBER/FILE=longvname.nc a234567890b234567890c234567890d234567890e234567890f234567890g234567890h234567890i234567890d234567890j234567890k234567890L234567
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 USE longvname.nc
 lIST/I=1/J=2 a234567890b234567890c234567890d234567890e234567890f234567890g234567890h234567890i234567890d234567890j234567890k234567890L234567
              VARIABLE : I[I=1:5] * J[J=1:4] * K[K=1:3] + L[L=1:3]
@@ -41480,6 +42555,7 @@ save/clobber/file=b.nc ddat
 can var/all
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
  
 USE a.nc
 USE b.nc
@@ -41638,7 +42714,7 @@ SHO VAR/XML
 <attribute name="ferret_datatype" type="char">
    <value><![CDATA[FLOAT]]></value>
 </attribute>
-<grid name="ABSTRACT">
+<grid name="GSI1">
 <axes>
 </axes>
 </grid>
@@ -41693,7 +42769,7 @@ SHO VAR/XML
 <attribute name="ferret_datatype" type="char">
    <value><![CDATA[FLOAT]]></value>
 </attribute>
-<grid name="ABSTRACT">
+<grid name="GSI1">
 <axes>
 </axes>
 </grid>
@@ -41715,7 +42791,7 @@ SHOW VAR/XML
 <attribute name="ferret_datatype" type="char">
    <value><![CDATA[FLOAT]]></value>
 </attribute>
-<grid name="ABSTRACT">
+<grid name="GSI1">
 <axes>
 </axes>
 </grid>
@@ -41967,6 +43043,7 @@ can var/all
 ! Make sure numeric filenames works
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err553_numeric_filename.jnl
 ! err553_numeric_filename.jnl
 ! 9/03 kob
@@ -42002,6 +43079,7 @@ list vwnd_clim
 ! Make sure long string variables work
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err553_long_string_var_name.jnl
 ! err553_long_string_var_name.jnl
 ! 9/03 kob
@@ -42025,6 +43103,7 @@ list a
 ! Fixes for colorbar key labelling
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err551_colorkey.jnl
  
 ! colorkey label bugs
@@ -42128,7 +43207,7 @@ plot/trans/thick/vg="(line,color=blue)"/hg="large(line,color=blue),small(line,co
 ! Tests for MODE GRATICULE  added in Ferret v5.7
 show mode graticule
       MODE            STATE        ARGUMENT
-      GRATICULE     CANCELLED
+      GRATICULE     CANCELED
 set mode graticule
 show mode graticule
       MODE            STATE        ARGUMENT
@@ -42505,19 +43584,20 @@ set mode diag
 set reg/y=0:50/L=1
 repeat/range=300:360:30/name=m (list sst[x=280:`m`@ave,y=@ave])
 !-> REPEAT: M:300
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I: -999 -999  J: -999 -999  K: -999 -999  L:    1    1  M: -999 -999  N: -999 -999
- constan cnst     M: 11 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M: -999 -999  N: -999 -999
- -DELETE cnst     M: 10 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M: -999 -999  N: -999 -999
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:   -999   -999  J: -999 -999  K: -999 -999  L:      1      1  M: -999 -999  N: -999 -999
+ constan cnst     M: 11 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M: -999 -999  N: -999 -999
+ -DELETE cnst     M: 10 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M: -999 -999  N: -999 -999
  !-> list sst[x=280:300 at ave,y=@ave]
- -DELETE cnst     M: 11 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M: -999 -999  N: -999 -999
+ -DELETE cnst     M: 11 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M: -999 -999  N: -999 -999
  dealloc  dynamic grid ABSTRACT        ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME
- eval    EX#1     C:  4 dset:   1 I: -999 -999  J:   46   70  K: -999 -999  L:    1    1
+ eval    EX#1     C:  4 dset:   1 I:   -999   -999  J:   46   70  K: -999 -999  L:      1      1
  strip --> SST[Y=0:50N at AV4,D=1]
- reading SST      M: 11 dset:   1 I:  131  140  J:   46   70  K: -999 -999  L:    1    1
+ reading SST      M: 11 dset:   1 I:    131    140  J:   46   70  K: -999 -999  L:      1      1
  doing --> SST[Y=0:50N at AV4,D=1]
+ final --> SST[Y=0:50N at AV4,D=1]
              VARIABLE : SEA SURFACE TEMPERATURE (Deg C)
              FILENAME : coads_climatology.cdf
              LONGITUDE: 80W to 60W (XY ave)
@@ -42526,19 +43606,20 @@ repeat/range=300:360:30/name=m (list sst[x=280:`m`@ave,y=@ave])
           20.79
 !-> REPEAT: M:330
  dealloc  dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I: -999 -999  J: -999 -999  K: -999 -999  L:    1    1  M: -999 -999  N: -999 -999
- constan cnst     M:  9 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M: -999 -999  N: -999 -999
- -DELETE cnst     M:  8 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M: -999 -999  N: -999 -999
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:   -999   -999  J: -999 -999  K: -999 -999  L:      1      1  M: -999 -999  N: -999 -999
+ constan cnst     M:  9 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M: -999 -999  N: -999 -999
+ -DELETE cnst     M:  8 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M: -999 -999  N: -999 -999
  !-> list sst[x=280:330 at ave,y=@ave]
- -DELETE cnst     M:  9 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M: -999 -999  N: -999 -999
+ -DELETE cnst     M:  9 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M: -999 -999  N: -999 -999
  dealloc  dynamic grid ABSTRACT        ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME
- eval    EX#1     C:  4 dset:   1 I: -999 -999  J:   46   70  K: -999 -999  L:    1    1
+ eval    EX#1     C:  4 dset:   1 I:   -999   -999  J:   46   70  K: -999 -999  L:      1      1
  strip --> SST[Y=0:50N at AV4,D=1]
- reading SST      M:  9 dset:   1 I:  131  155  J:   46   70  K: -999 -999  L:    1    1
+ reading SST      M:  9 dset:   1 I:    131    155  J:   46   70  K: -999 -999  L:      1      1
  doing --> SST[Y=0:50N at AV4,D=1]
+ final --> SST[Y=0:50N at AV4,D=1]
              VARIABLE : SEA SURFACE TEMPERATURE (Deg C)
              FILENAME : coads_climatology.cdf
              LONGITUDE: 80W to 30W (XY ave)
@@ -42547,19 +43628,20 @@ repeat/range=300:360:30/name=m (list sst[x=280:`m`@ave,y=@ave])
           21.25
 !-> REPEAT: M:360
  dealloc  dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I: -999 -999  J: -999 -999  K: -999 -999  L:    1    1  M: -999 -999  N: -999 -999
- constan cnst     M:  3 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M: -999 -999  N: -999 -999
- -DELETE cnst     M:  2 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M: -999 -999  N: -999 -999
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:   -999   -999  J: -999 -999  K: -999 -999  L:      1      1  M: -999 -999  N: -999 -999
+ constan cnst     M:  3 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M: -999 -999  N: -999 -999
+ -DELETE cnst     M:  2 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M: -999 -999  N: -999 -999
  !-> list sst[x=280:360 at ave,y=@ave]
- -DELETE cnst     M:  3 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M: -999 -999  N: -999 -999
+ -DELETE cnst     M:  3 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M: -999 -999  N: -999 -999
  dealloc  dynamic grid ABSTRACT        ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT  ABSTRACT
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GSQ1            COADSX    COADSY    NORMAL    TIME
- eval    EX#1     C:  4 dset:   1 I: -999 -999  J:   46   70  K: -999 -999  L:    1    1
+ eval    EX#1     C:  4 dset:   1 I:   -999   -999  J:   46   70  K: -999 -999  L:      1      1
  strip --> SST[Y=0:50N at AV4,D=1]
- reading SST      M:  3 dset:   1 I:  131  170  J:   46   70  K: -999 -999  L:    1    1
+ reading SST      M:  3 dset:   1 I:    131    170  J:   46   70  K: -999 -999  L:      1      1
  doing --> SST[Y=0:50N at AV4,D=1]
+ final --> SST[Y=0:50N at AV4,D=1]
              VARIABLE : SEA SURFACE TEMPERATURE (Deg C)
              FILENAME : coads_climatology.cdf
              LONGITUDE: 80W to 0E(360) (XY ave)
@@ -42656,6 +43738,7 @@ cancel mode ignore
 ! Test use of longer strings in region names
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err553_regionname_lengths.jnl
 ! In v5.50, we upped the region name storage to
 ! allow 24-characters.  Wasnt fully implemented.
@@ -42712,6 +43795,7 @@ SET MODE/LAST IGNORE_ERRORS
 ! Reqests for data at times outside range of data
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err553_timeregion.jnl
 ! try to apply a region whose limits are both below,
 ! or both above, the data bounds. In v5.53 the error
@@ -42730,6 +43814,7 @@ SET MODE/LAST IGNORE_ERRORS
 ! Contour plot on fine grid has precision problems
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err553_contour_fine_grid.jnl
 ! err553_contour_find_grid.jnl
 ! 11/21/03 ACM
@@ -42765,6 +43850,7 @@ PPLUS/RESET   ! reset aspect ratio
 ! PLOT/SYM/SIZE= did not change the size
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err553_symsize.jnl
 ! PLOT/SYM/SIZE= does not change the size from the default.
 ! acm 11/03
@@ -42775,6 +43861,7 @@ plot/over/i=1:10/sym=20/siz=0.2 i
 ! test labels on shade keys; consistent number of digits set by 5th shakey arg
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err553_shakey_labels.jnl
 ! The 5th argument to shakey is supposed to define
 ! number of digits in the label.
@@ -42791,6 +43878,7 @@ ppl shade
 ! couldnt set the number of small tics with arg to %xaxis, %yaxis commands
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err553_xaxis_nsmtc.jnl
 ! Bug: 5th argument failed to set the number of small
 ! tics for the axis.
@@ -42807,6 +43895,7 @@ ppl %yaxis/nouser 1,100,10,2,6
 ! vs DEFINE AXIS/UNIT=yr
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err553_year_yr.jnl
 ! err553_year_yr.jnl
 ! 2/2004 ACM
@@ -42998,60 +44087,61 @@ can mode ignore
 ! strides, Ferret did a regridding instead.  Test the fix for this
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err553_stride_def_grid.jnl
  
 use gtsa056_2.cdf
 set mode diag
 let a = taux[i=50:55:2,j=44:50:3,l=1:168:8]
 load a
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid A        C:  7 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G005)          (AX009)   (AX010)   NORMAL    (AX011)
- dealloc  dynamic grid (G005)          (AX009)   (AX010)   NORMAL    (AX011)
- allocate dynamic grid (G005)          (AX009)   (AX010)   NORMAL    (AX011)
- allocate dynamic grid (G005)          (AX009)   (AX010)   NORMAL    (AX011)
- eval    EX#1     C:  4 dset:   1 I:    1    3  J:    1    3  K: -999 -999  L:    1   21
- eval    A        C:  6 dset:   1 I:    1    3  J:    1    3  K: -999 -999  L:    1   21
- allocate dynamic grid (G005)          (AX009)   (AX010)   NORMAL    (AX011)
- strip regrid on X: TAUX --> (G005)           @XACT
- rdstride TAUX     C:  9 dset:   1 I:   50   54  J:   44   50  K: -999 -999  L:    1  161
- nulrgd  TAUX     M: 23 dset:   1 I:    1    3  J:    1    3  K: -999 -999  L:    1   21
- -DELETE TAUX     M: 24 dset:   1 I:   50   54  J:   44   50  K: -999 -999  L:    1  161
- dealloc  dynamic grid (G005)          (AX009)   (AX010)   NORMAL    (AX011)
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid A        C:  7 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G###)          (AX###)   (AX###)   NORMAL    (AX###)
+ dealloc  dynamic grid (G###)          (AX###)   (AX###)   NORMAL    (AX###)
+ allocate dynamic grid (G###)          (AX###)   (AX###)   NORMAL    (AX###)
+ allocate dynamic grid (G###)          (AX###)   (AX###)   NORMAL    (AX###)
+ eval    EX#1     C:  4 dset:   1 I:      1      3  J:    1    3  K: -999 -999  L:      1     21
+ eval    A        C:  6 dset:   1 I:      1      3  J:    1    3  K: -999 -999  L:      1     21
+ allocate dynamic grid (G###)          (AX###)   (AX###)   NORMAL    (AX###)
+ strip regrid on X: TAUX --> (G###)           @XACT
+ rdstride TAUX     C:  9 dset:   1 I:     50     54  J:   44   50  K: -999 -999  L:      1    161
+ nulrgd  TAUX     M: 23 dset:   1 I:      1      3  J:    1    3  K: -999 -999  L:      1     21
+ -DELETE TAUX     M: 24 dset:   1 I:     50     54  J:   44   50  K: -999 -999  L:      1    161
+ dealloc  dynamic grid (G###)          (AX###)   (AX###)   NORMAL    (AX###)
 can mem/all
- -DELETE TAUX     M: 23 dset:   1 I:    1    3  J:    1    3  K: -999 -999  L:    1   21
- -DELETE A        M: 24 dset:   1 I:    1    3  J:    1    3  K: -999 -999  L:    1   21
+ -DELETE TAUX     M: 23 dset:   1 I:      1      3  J:    1    3  K: -999 -999  L:      1     21
+ -DELETE A        M: 24 dset:   1 I:      1      3  J:    1    3  K: -999 -999  L:      1     21
  
 def grid/like=taux agrid
- dealloc  dynamic grid (G005)          (AX009)   (AX010)   NORMAL    (AX011)
- getgrid EX#1     C:  6 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ dealloc  dynamic grid (G###)          (AX###)   (AX###)   NORMAL    (AX###)
+ getgrid EX#1     C:  6 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS2DU1          PSXU      PSYU      NORMAL    TIME
 set mode diag
 let a = taux[i=50:55:2,j=44:50:3,l=1:168:8]
  dealloc  dynamic grid PS2DU1          PSXU      PSYU      NORMAL    TIME
- dealloc  dynamic grid (G005)          (AX009)   (AX010)   NORMAL    (AX011)
+ dealloc  dynamic grid (G###)          (AX###)   (AX###)   NORMAL    (AX###)
 load a
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid A        C:  7 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G005)          (AX010)   (AX009)   NORMAL    (AX008)
- dealloc  dynamic grid (G005)          (AX010)   (AX009)   NORMAL    (AX008)
- allocate dynamic grid (G005)          (AX010)   (AX009)   NORMAL    (AX008)
- allocate dynamic grid (G005)          (AX010)   (AX009)   NORMAL    (AX008)
- eval    EX#1     C:  4 dset:   1 I:    1    3  J:    1    3  K: -999 -999  L:    1   21
- eval    A        C:  6 dset:   1 I:    1    3  J:    1    3  K: -999 -999  L:    1   21
- allocate dynamic grid (G005)          (AX010)   (AX009)   NORMAL    (AX008)
- strip regrid on X: TAUX --> (G005)           @XACT
- rdstride TAUX     C:  9 dset:   1 I:   50   54  J:   44   50  K: -999 -999  L:    1  161
- nulrgd  TAUX     M: 23 dset:   1 I:    1    3  J:    1    3  K: -999 -999  L:    1   21
- -DELETE TAUX     M: 24 dset:   1 I:   50   54  J:   44   50  K: -999 -999  L:    1  161
- dealloc  dynamic grid (G005)          (AX010)   (AX009)   NORMAL    (AX008)
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid A        C:  7 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G###)          (AX###)   (AX###)   NORMAL    (AX###)
+ dealloc  dynamic grid (G###)          (AX###)   (AX###)   NORMAL    (AX###)
+ allocate dynamic grid (G###)          (AX###)   (AX###)   NORMAL    (AX###)
+ allocate dynamic grid (G###)          (AX###)   (AX###)   NORMAL    (AX###)
+ eval    EX#1     C:  4 dset:   1 I:      1      3  J:    1    3  K: -999 -999  L:      1     21
+ eval    A        C:  6 dset:   1 I:      1      3  J:    1    3  K: -999 -999  L:      1     21
+ allocate dynamic grid (G###)          (AX###)   (AX###)   NORMAL    (AX###)
+ strip regrid on X: TAUX --> (G###)           @XACT
+ rdstride TAUX     C:  9 dset:   1 I:     50     54  J:   44   50  K: -999 -999  L:      1    161
+ nulrgd  TAUX     M: 23 dset:   1 I:      1      3  J:    1    3  K: -999 -999  L:      1     21
+ -DELETE TAUX     M: 24 dset:   1 I:     50     54  J:   44   50  K: -999 -999  L:      1    161
+ dealloc  dynamic grid (G###)          (AX###)   (AX###)   NORMAL    (AX###)
  
 can mem/all
- -DELETE TAUX     M: 23 dset:   1 I:    1    3  J:    1    3  K: -999 -999  L:    1   21
- -DELETE A        M: 24 dset:   1 I:    1    3  J:    1    3  K: -999 -999  L:    1   21
+ -DELETE TAUX     M: 23 dset:   1 I:      1      3  J:    1    3  K: -999 -999  L:      1     21
+ -DELETE A        M: 24 dset:   1 I:      1      3  J:    1    3  K: -999 -999  L:      1     21
 can data/all
- dealloc  dynamic grid (G005)          (AX010)   (AX009)   NORMAL    (AX008)
- dealloc  dynamic grid (G005)          (AX010)   (AX009)   NORMAL    (AX008)
+ dealloc  dynamic grid (G###)          (AX###)   (AX###)   NORMAL    (AX###)
+ dealloc  dynamic grid (G###)          (AX###)   (AX###)   NORMAL    (AX###)
  canceling dset ./gtsa056_2.cdf
  
 ! Some tests taken from  bn_strides_revs_perms.jnl but with
@@ -43061,23 +44151,23 @@ can data/all
 set region/i=3:6/j=2:4/k=1:2/l=1
 use bn_strides
 define grid/like=var agrid
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GPC1            XAX1_4    YAX1_3    ZAX1_2    TAX1_1
  dealloc  dynamic grid GPC1            XAX1_4    YAX1_3    ZAX1_2    TAX1_1
 define grid/like=midvar bgrid
- getgrid EX#1     C:  6 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  6 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GPC2            XAX1_9    YAX1_8    ZAX1_7    TAX1_6
 define grid/like=bigvar cgrid
  dealloc  dynamic grid GPC2            XAX1_9    YAX1_8    ZAX1_7    TAX1_6
- getgrid EX#1     C:  7 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  7 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GPC3            XAX1_40   YAX1_30   ZAX1_20   TAX1_10
 define grid/like=unevenvar dgrid
  dealloc  dynamic grid GPC3            XAX1_40   YAX1_30   ZAX1_20   TAX1_10
- getgrid EX#1     C:  8 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  8 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GPC4            XUNEVEN   YUNEVEN   ZAX1_6    TAX1_4
 define grid/like=xytvar egrid
  dealloc  dynamic grid GPC4            XUNEVEN   YUNEVEN   ZAX1_6    TAX1_4
- getgrid EX#1     C:  9 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  9 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GPC5            XLON      YLAT      NORMAL    TTIME
 canc data/all
  dealloc  dynamic grid GPC5            XLON      YLAT      NORMAL    TTIME
@@ -43088,22 +44178,22 @@ canc data/all
 cancel memory/all
 use bn_strides
 load var
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I:    3    4  J:    2    3  K:    1    2  L:    1    1
- reading VAR      M: 24 dset:   1 I:    3    4  J:    2    3  K:    1    2  L:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:      3      4  J:    2    3  K:    1    2  L:      1      1
+ reading VAR      M: 24 dset:   1 I:      3      4  J:    2    3  K:    1    2  L:      1      1
 LIST VAR[i=2:4:2]
  dealloc  dynamic grid AGRID           XAX1_4    YAX1_3    ZAX1_2    TAX1_1
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G006)          (AX001)   YAX1_3    ZAX1_2    TAX1_1
- dealloc  dynamic grid (G006)          (AX001)   YAX1_3    ZAX1_2    TAX1_1
- allocate dynamic grid (G006)          (AX001)   YAX1_3    ZAX1_2    TAX1_1
- eval    EX#1     C:  4 dset:   1 I:    3    6  J:    2    3  K:    1    2  L:    1    1
- allocate dynamic grid (G006)          (AX001)   YAX1_3    ZAX1_2    TAX1_1
- strip regrid on X: VAR --> (G006)           @XACT
- rdstride VAR      C:  7 dset:   1 I:    2    4  J:    2    3  K:    1    2  L:    1    1
- nulrgd  VAR      M: 22 dset:   1 I:    1    2  J:    2    3  K:    1    2  L:    1    1
- -DELETE VAR      M: 23 dset:   1 I:    2    4  J:    2    3  K:    1    2  L:    1    1
- dealloc  dynamic grid (G006)          (AX001)   YAX1_3    ZAX1_2    TAX1_1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G###)          (AX###)   YAX1_3    ZAX1_2    TAX1_1
+ dealloc  dynamic grid (G###)          (AX###)   YAX1_3    ZAX1_2    TAX1_1
+ allocate dynamic grid (G###)          (AX###)   YAX1_3    ZAX1_2    TAX1_1
+ eval    EX#1     C:  4 dset:   1 I:      3      6  J:    2    3  K:    1    2  L:      1      1
+ allocate dynamic grid (G###)          (AX###)   YAX1_3    ZAX1_2    TAX1_1
+ strip regrid on X: VAR --> (G###)           @XACT
+ rdstride VAR      C:  7 dset:   1 I:      2      4  J:    2    3  K:    1    2  L:      1      1
+ nulrgd  VAR      M: 22 dset:   1 I:      1      2  J:    2    3  K:    1    2  L:      1      1
+ -DELETE VAR      M: 23 dset:   1 I:      2      4  J:    2    3  K:    1    2  L:      1      1
+ dealloc  dynamic grid (G###)          (AX###)   YAX1_3    ZAX1_2    TAX1_1
              VARIABLE : L*1000 + K*100 + J*10 + I
                         regrid: 2 delta on X
              FILENAME : bn_strides.cdf
@@ -43118,19 +44208,19 @@ LIST VAR[i=2:4:2]
  2   / 2:  1222.  1224.
  3   / 3:  1232.  1234.
 LIST VAR[i=2:4:2,j=1:3:2]
- dealloc  dynamic grid (G006)          (AX001)   YAX1_3    ZAX1_2    TAX1_1
- -DELETE VAR      M: 22 dset:   1 I:    1    2  J:    2    3  K:    1    2  L:    1    1
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G006)          (AX007)   (AX002)   ZAX1_2    TAX1_1
- dealloc  dynamic grid (G006)          (AX007)   (AX002)   ZAX1_2    TAX1_1
- allocate dynamic grid (G006)          (AX007)   (AX002)   ZAX1_2    TAX1_1
- eval    EX#1     C:  4 dset:   1 I:    3    6  J:    2    4  K:    1    2  L:    1    1
- allocate dynamic grid (G006)          (AX007)   (AX002)   ZAX1_2    TAX1_1
- strip regrid on X: VAR --> (G006)           @XACT
- rdstride VAR      C:  7 dset:   1 I:    2    4  J:    1    3  K:    1    2  L:    1    1
- nulrgd  VAR      M: 23 dset:   1 I:    1    2  J:    1    2  K:    1    2  L:    1    1
- -DELETE VAR      M: 22 dset:   1 I:    2    4  J:    1    3  K:    1    2  L:    1    1
- dealloc  dynamic grid (G006)          (AX007)   (AX002)   ZAX1_2    TAX1_1
+ dealloc  dynamic grid (G###)          (AX###)   YAX1_3    ZAX1_2    TAX1_1
+ -DELETE VAR      M: 22 dset:   1 I:      1      2  J:    2    3  K:    1    2  L:      1      1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G###)          (AX###)   (AX###)   ZAX1_2    TAX1_1
+ dealloc  dynamic grid (G###)          (AX###)   (AX###)   ZAX1_2    TAX1_1
+ allocate dynamic grid (G###)          (AX###)   (AX###)   ZAX1_2    TAX1_1
+ eval    EX#1     C:  4 dset:   1 I:      3      6  J:    2    4  K:    1    2  L:      1      1
+ allocate dynamic grid (G###)          (AX###)   (AX###)   ZAX1_2    TAX1_1
+ strip regrid on X: VAR --> (G###)           @XACT
+ rdstride VAR      C:  7 dset:   1 I:      2      4  J:    1    3  K:    1    2  L:      1      1
+ nulrgd  VAR      M: 23 dset:   1 I:      1      2  J:    1    2  K:    1    2  L:      1      1
+ -DELETE VAR      M: 22 dset:   1 I:      2      4  J:    1    3  K:    1    2  L:      1      1
+ dealloc  dynamic grid (G###)          (AX###)   (AX###)   ZAX1_2    TAX1_1
              VARIABLE : L*1000 + K*100 + J*10 + I
                         regrid: 2 delta on X, 2 delta on Y
              FILENAME : bn_strides.cdf
@@ -43145,25 +44235,25 @@ LIST VAR[i=2:4:2,j=1:3:2]
  1   / 1:  1212.  1214.
  3   / 2:  1232.  1234.
 CANC MEM/ALL
- -DELETE VAR      M: 23 dset:   1 I:    1    2  J:    1    2  K:    1    2  L:    1    1
- -DELETE VAR      M: 24 dset:   1 I:    3    4  J:    2    3  K:    1    2  L:    1    1
+ -DELETE VAR      M: 23 dset:   1 I:      1      2  J:    1    2  K:    1    2  L:      1      1
+ -DELETE VAR      M: 24 dset:   1 I:      3      4  J:    2    3  K:    1    2  L:      1      1
  
 ! modulo requests cannot use strides (as this example shows)
 set axis/modulo XAX1_4
 LIST VAR[I=1:10:3,j=1,k=1,l=1]    ! 1, 4, 7(3), 10(2)
- dealloc  dynamic grid (G006)          (AX007)   (AX002)   ZAX1_2    TAX1_1
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G006)          (AX007)   YAX1_3    ZAX1_2    TAX1_1
- dealloc  dynamic grid (G006)          (AX007)   YAX1_3    ZAX1_2    TAX1_1
- allocate dynamic grid (G006)          (AX007)   YAX1_3    ZAX1_2    TAX1_1
- eval    EX#1     C:  4 dset:   1 I:    3    6  J:    2    4  K:    1    2  L:    1    1
- allocate dynamic grid (G006)          (AX007)   YAX1_3    ZAX1_2    TAX1_1
- strip regrid on X: VAR --> (G006)           @XACT
- strip moduloing VAR on X axis:     1    10 dset:   1
- reading VAR      M: 24 dset:   1 I:    1    4  J:    1    1  K:    1    1  L:    1    1
- doing moduloing VAR on X axis:     1     4 dset:   1
- regrid  VAR      M: 22 dset:   1 I:    1    4  J:    1    1  K:    1    1  L:    1    1
- dealloc  dynamic grid (G006)          (AX007)   YAX1_3    ZAX1_2    TAX1_1
+ dealloc  dynamic grid (G###)          (AX###)   (AX###)   ZAX1_2    TAX1_1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G###)          (AX###)   YAX1_3    ZAX1_2    TAX1_1
+ dealloc  dynamic grid (G###)          (AX###)   YAX1_3    ZAX1_2    TAX1_1
+ allocate dynamic grid (G###)          (AX###)   YAX1_3    ZAX1_2    TAX1_1
+ eval    EX#1     C:  4 dset:   1 I:      3      6  J:    2    4  K:    1    2  L:      1      1
+ allocate dynamic grid (G###)          (AX###)   YAX1_3    ZAX1_2    TAX1_1
+ strip regrid on X: VAR --> (G###)           @XACT
+ strip moduloing VAR on X axis:        1       10 dset:   1
+ reading VAR      M: 24 dset:   1 I:      1      4  J:    1    1  K:    1    1  L:      1      1
+ doing moduloing VAR on X axis:        1        4 dset:   1
+ regrid  VAR      M: 22 dset:   1 I:      1      4  J:    1    1  K:    1    1  L:      1      1
+ dealloc  dynamic grid (G###)          (AX###)   YAX1_3    ZAX1_2    TAX1_1
              VARIABLE : L*1000 + K*100 + J*10 + I
                         regrid: 3 delta on X
              FILENAME : bn_strides.cdf
@@ -43178,24 +44268,24 @@ LIST VAR[I=1:10:3,j=1,k=1,l=1]    ! 1, 4, 7(3), 10(2)
  7    / 3:  1113.
  10   / 4:  1112.
 cancel axis/modulo XAX1_4
- -DELETE VAR      M: 22 dset:   1 I:    1    4  J:    1    1  K:    1    1  L:    1    1
- -DELETE VAR      M: 23 dset:   1 I:    1   10  J:    1    1  K:    1    1  L:    1    1
- -DELETE VAR      M: 24 dset:   1 I:    1    4  J:    1    1  K:    1    1  L:    1    1
+ -DELETE VAR      M: 22 dset:   1 I:      1      4  J:    1    1  K:    1    1  L:      1      1
+ -DELETE VAR      M: 23 dset:   1 I:      1     10  J:    1    1  K:    1    1  L:      1      1
+ -DELETE VAR      M: 24 dset:   1 I:      1      4  J:    1    1  K:    1    1  L:      1      1
  
 ! strides applied to more than one axis need special attention in IS_REGRID
 LIST VAR[i=2:4:2,j=1:3:2]
- dealloc  dynamic grid (G006)          (AX007)   YAX1_3    ZAX1_2    TAX1_1
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G006)          (AX002)   (AX001)   ZAX1_2    TAX1_1
- dealloc  dynamic grid (G006)          (AX002)   (AX001)   ZAX1_2    TAX1_1
- allocate dynamic grid (G006)          (AX002)   (AX001)   ZAX1_2    TAX1_1
- eval    EX#1     C:  4 dset:   1 I:    3    6  J:    2    4  K:    1    2  L:    1    1
- allocate dynamic grid (G006)          (AX002)   (AX001)   ZAX1_2    TAX1_1
- strip regrid on X: VAR --> (G006)           @XACT
- rdstride VAR      C:  7 dset:   1 I:    2    4  J:    1    3  K:    1    2  L:    1    1
- nulrgd  VAR      M: 23 dset:   1 I:    1    2  J:    1    2  K:    1    2  L:    1    1
- -DELETE VAR      M: 24 dset:   1 I:    2    4  J:    1    3  K:    1    2  L:    1    1
- dealloc  dynamic grid (G006)          (AX002)   (AX001)   ZAX1_2    TAX1_1
+ dealloc  dynamic grid (G###)          (AX###)   YAX1_3    ZAX1_2    TAX1_1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G###)          (AX###)   (AX###)   ZAX1_2    TAX1_1
+ dealloc  dynamic grid (G###)          (AX###)   (AX###)   ZAX1_2    TAX1_1
+ allocate dynamic grid (G###)          (AX###)   (AX###)   ZAX1_2    TAX1_1
+ eval    EX#1     C:  4 dset:   1 I:      3      6  J:    2    4  K:    1    2  L:      1      1
+ allocate dynamic grid (G###)          (AX###)   (AX###)   ZAX1_2    TAX1_1
+ strip regrid on X: VAR --> (G###)           @XACT
+ rdstride VAR      C:  7 dset:   1 I:      2      4  J:    1    3  K:    1    2  L:      1      1
+ nulrgd  VAR      M: 23 dset:   1 I:      1      2  J:    1    2  K:    1    2  L:      1      1
+ -DELETE VAR      M: 24 dset:   1 I:      2      4  J:    1    3  K:    1    2  L:      1      1
+ dealloc  dynamic grid (G###)          (AX###)   (AX###)   ZAX1_2    TAX1_1
              VARIABLE : L*1000 + K*100 + J*10 + I
                         regrid: 2 delta on X, 2 delta on Y
              FILENAME : bn_strides.cdf
@@ -43210,19 +44300,19 @@ LIST VAR[i=2:4:2,j=1:3:2]
  1   / 1:  1212.  1214.
  3   / 2:  1232.  1234.
 LIST VAR[i=2:6:2,j=1:5:2]
- dealloc  dynamic grid (G006)          (AX002)   (AX001)   ZAX1_2    TAX1_1
- -DELETE VAR      M: 23 dset:   1 I:    1    2  J:    1    2  K:    1    2  L:    1    1
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G006)          (AX002)   (AX007)   ZAX1_2    TAX1_1
- dealloc  dynamic grid (G006)          (AX002)   (AX007)   ZAX1_2    TAX1_1
- allocate dynamic grid (G006)          (AX002)   (AX007)   ZAX1_2    TAX1_1
- eval    EX#1     C:  4 dset:   1 I:    3    6  J:    2    4  K:    1    2  L:    1    1
- allocate dynamic grid (G006)          (AX002)   (AX007)   ZAX1_2    TAX1_1
- strip regrid on X: VAR --> (G006)           @XACT
- rdstride VAR      C:  7 dset:   1 I:    2    4  J:    1    3  K:    1    2  L:    1    1
- nulrgd  VAR      M: 24 dset:   1 I:    1    2  J:    1    2  K:    1    2  L:    1    1
- -DELETE VAR      M: 23 dset:   1 I:    2    4  J:    1    3  K:    1    2  L:    1    1
- dealloc  dynamic grid (G006)          (AX002)   (AX007)   ZAX1_2    TAX1_1
+ dealloc  dynamic grid (G###)          (AX###)   (AX###)   ZAX1_2    TAX1_1
+ -DELETE VAR      M: 23 dset:   1 I:      1      2  J:    1    2  K:    1    2  L:      1      1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G###)          (AX###)   (AX###)   ZAX1_2    TAX1_1
+ dealloc  dynamic grid (G###)          (AX###)   (AX###)   ZAX1_2    TAX1_1
+ allocate dynamic grid (G###)          (AX###)   (AX###)   ZAX1_2    TAX1_1
+ eval    EX#1     C:  4 dset:   1 I:      3      6  J:    2    4  K:    1    2  L:      1      1
+ allocate dynamic grid (G###)          (AX###)   (AX###)   ZAX1_2    TAX1_1
+ strip regrid on X: VAR --> (G###)           @XACT
+ rdstride VAR      C:  7 dset:   1 I:      2      4  J:    1    3  K:    1    2  L:      1      1
+ nulrgd  VAR      M: 24 dset:   1 I:      1      2  J:    1    2  K:    1    2  L:      1      1
+ -DELETE VAR      M: 23 dset:   1 I:      2      4  J:    1    3  K:    1    2  L:      1      1
+ dealloc  dynamic grid (G###)          (AX###)   (AX###)   ZAX1_2    TAX1_1
              VARIABLE : L*1000 + K*100 + J*10 + I
                         regrid: 2 delta on X, 2 delta on Y
              FILENAME : bn_strides.cdf
@@ -43239,24 +44329,24 @@ LIST VAR[i=2:6:2,j=1:5:2]
  
 ! test sub-region selection on strides axis
 let a = bigvar[i=1:40:5]
- dealloc  dynamic grid (G006)          (AX002)   (AX007)   ZAX1_2    TAX1_1
- -DELETE VAR      M: 24 dset:   1 I:    1    2  J:    1    2  K:    1    2  L:    1    1
+ dealloc  dynamic grid (G###)          (AX###)   (AX###)   ZAX1_2    TAX1_1
+ -DELETE VAR      M: 24 dset:   1 I:      1      2  J:    1    2  K:    1    2  L:      1      1
 list/j=1/k=1/l=1 a[i=3:5]
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid A        C:  7 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G006)          (AX002)   YAX1_30   ZAX1_20   TAX1_10
- dealloc  dynamic grid (G006)          (AX002)   YAX1_30   ZAX1_20   TAX1_10
- allocate dynamic grid (G006)          (AX002)   YAX1_30   ZAX1_20   TAX1_10
- allocate dynamic grid (G006)          (AX002)   YAX1_30   ZAX1_20   TAX1_10
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid A        C:  7 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G###)          (AX###)   YAX1_30   ZAX1_20   TAX1_10
+ dealloc  dynamic grid (G###)          (AX###)   YAX1_30   ZAX1_20   TAX1_10
+ allocate dynamic grid (G###)          (AX###)   YAX1_30   ZAX1_20   TAX1_10
+ allocate dynamic grid (G###)          (AX###)   YAX1_30   ZAX1_20   TAX1_10
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:    3    6  J:    1    1  K:    1    1  L:    1    1
- eval    A        C:  7 dset:   1 I:    3    5  J:    1    1  K:    1    1  L:    1    1
- allocate dynamic grid (G006)          (AX002)   YAX1_30   ZAX1_20   TAX1_10
- strip regrid on X: BIGVAR --> (G006)           @XACT
- rdstride BIGVAR   C: 10 dset:   1 I:    1   36  J:    1    1  K:    1    1  L:    1    1
- nulrgd  BIGVAR   M: 23 dset:   1 I:    1    8  J:    1    1  K:    1    1  L:    1    1
- -DELETE BIGVAR   M: 24 dset:   1 I:    1   36  J:    1    1  K:    1    1  L:    1    1
- dealloc  dynamic grid (G006)          (AX002)   YAX1_30   ZAX1_20   TAX1_10
+ eval    EX#1     C:  5 dset:   1 I:      3      6  J:    1    1  K:    1    1  L:      1      1
+ eval    A        C:  7 dset:   1 I:      3      5  J:    1    1  K:    1    1  L:      1      1
+ allocate dynamic grid (G###)          (AX###)   YAX1_30   ZAX1_20   TAX1_10
+ strip regrid on X: BIGVAR --> (G###)           @XACT
+ rdstride BIGVAR   C: 10 dset:   1 I:      1     36  J:    1    1  K:    1    1  L:      1      1
+ nulrgd  BIGVAR   M: 23 dset:   1 I:      1      8  J:    1    1  K:    1    1  L:      1      1
+ -DELETE BIGVAR   M: 24 dset:   1 I:      1     36  J:    1    1  K:    1    1  L:      1      1
+ dealloc  dynamic grid (G###)          (AX###)   YAX1_30   ZAX1_20   TAX1_10
              VARIABLE : BIGVAR[I=1:40:5]
              FILENAME : bn_strides.cdf
              SUBSET   : 3 points (X)
@@ -43268,26 +44358,26 @@ list/j=1/k=1/l=1 a[i=3:5]
  11   / 3:  1121.
  16   / 4:  1126.
  21   / 5:  1131.
- -DELETE A        M: 22 dset:   1 I:    1    1  J:    3    5  K:    1    1  L:    1    1
+ -DELETE A        M: 22 dset:   1 I:      1      1  J:    3    5  K:    1    1  L:      1      1
 list/k=1/l=1 a[i=3:5,j=1:8:2]
- dealloc  dynamic grid (G006)          (AX002)   YAX1_30   ZAX1_20   TAX1_10
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G007)          (AX002)   (AX001)   ZAX1_20   TAX1_10
- dealloc  dynamic grid (G007)          (AX002)   (AX001)   ZAX1_20   TAX1_10
- allocate dynamic grid (G007)          (AX002)   (AX001)   ZAX1_20   TAX1_10
+ dealloc  dynamic grid (G###)          (AX###)   YAX1_30   ZAX1_20   TAX1_10
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G###)          (AX###)   (AX###)   ZAX1_20   TAX1_10
+ dealloc  dynamic grid (G###)          (AX###)   (AX###)   ZAX1_20   TAX1_10
+ allocate dynamic grid (G###)          (AX###)   (AX###)   ZAX1_20   TAX1_10
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:    3    6  J:    2    4  K:    1    1  L:    1    1
- allocate dynamic grid (G007)          (AX002)   (AX001)   ZAX1_20   TAX1_10
- strip regrid on Y: A --> (G007)           @XACT
- eval    A        C:  8 dset:   1 I:    3    5  J:    1    7  K:    1    1  L:    1    1
- allocate dynamic grid (G006)          (AX002)   YAX1_30   ZAX1_20   TAX1_10
- strip regrid on X: BIGVAR --> (G006)           @XACT
- rdstride BIGVAR   C: 11 dset:   1 I:    1   36  J:    1    7  K:    1    1  L:    1    1
- nulrgd  BIGVAR   M: 20 dset:   1 I:    1    8  J:    1    7  K:    1    1  L:    1    1
- -DELETE BIGVAR   M: 22 dset:   1 I:    1   36  J:    1    7  K:    1    1  L:    1    1
- dealloc  dynamic grid (G006)          (AX002)   YAX1_30   ZAX1_20   TAX1_10
- regrid  A        M:  8 dset:   1 I:    3    5  J:    1    4  K:    1    1  L:    1    1
- dealloc  dynamic grid (G007)          (AX002)   (AX001)   ZAX1_20   TAX1_10
+ eval    EX#1     C:  5 dset:   1 I:      3      6  J:    2    4  K:    1    1  L:      1      1
+ allocate dynamic grid (G###)          (AX###)   (AX###)   ZAX1_20   TAX1_10
+ strip regrid on Y: A --> (G###)           @XACT
+ eval    A        C:  8 dset:   1 I:      3      5  J:    1    7  K:    1    1  L:      1      1
+ allocate dynamic grid (G###)          (AX###)   YAX1_30   ZAX1_20   TAX1_10
+ strip regrid on X: BIGVAR --> (G###)           @XACT
+ rdstride BIGVAR   C: 11 dset:   1 I:      1     36  J:    1    7  K:    1    1  L:      1      1
+ nulrgd  BIGVAR   M: 20 dset:   1 I:      1      8  J:    1    7  K:    1    1  L:      1      1
+ -DELETE BIGVAR   M: 22 dset:   1 I:      1     36  J:    1    7  K:    1    1  L:      1      1
+ dealloc  dynamic grid (G###)          (AX###)   YAX1_30   ZAX1_20   TAX1_10
+ regrid  A        M:  8 dset:   1 I:      3      5  J:    1    4  K:    1    1  L:      1      1
+ dealloc  dynamic grid (G###)          (AX###)   (AX###)   ZAX1_20   TAX1_10
              VARIABLE : BIGVAR[I=1:40:5]
                         regrid: 2 delta on Y
              FILENAME : bn_strides.cdf
@@ -43304,27 +44394,27 @@ list/k=1/l=1 a[i=3:5,j=1:8:2]
 ! ****** unequally spaced points on parent axis
  
 cancel mem/all
- -DELETE A        M:  8 dset:   1 I:    3    5  J:    1    4  K:    1    1  L:    1    1
- -DELETE BIGVAR   M: 20 dset:   1 I:    1    8  J:    1    7  K:    1    1  L:    1    1
- -DELETE A        M: 22 dset:   1 I:    1    8  J:    1    7  K:    1    1  L:    1    1
- -DELETE BIGVAR   M: 23 dset:   1 I:    1    8  J:    1    1  K:    1    1  L:    1    1
- -DELETE A        M: 24 dset:   1 I:    1    8  J:    1    1  K:    1    1  L:    1    1
+ -DELETE A        M:  8 dset:   1 I:      3      5  J:    1    4  K:    1    1  L:      1      1
+ -DELETE BIGVAR   M: 20 dset:   1 I:      1      8  J:    1    7  K:    1    1  L:      1      1
+ -DELETE A        M: 22 dset:   1 I:      1      8  J:    1    7  K:    1    1  L:      1      1
+ -DELETE BIGVAR   M: 23 dset:   1 I:      1      8  J:    1    1  K:    1    1  L:      1      1
+ -DELETE A        M: 24 dset:   1 I:      1      8  J:    1    1  K:    1    1  L:      1      1
  
 ! basic strides
 LIST/order=x/j=1/k=1/l=1 UNEVENVAR[i=2:4:2]
- dealloc  dynamic grid (G007)          (AX002)   (AX001)   ZAX1_20   TAX1_10
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G007)          (AX007)   YUNEVEN   ZAX1_6    TAX1_4
- dealloc  dynamic grid (G007)          (AX007)   YUNEVEN   ZAX1_6    TAX1_4
- allocate dynamic grid (G007)          (AX007)   YUNEVEN   ZAX1_6    TAX1_4
+ dealloc  dynamic grid (G###)          (AX###)   (AX###)   ZAX1_20   TAX1_10
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G###)          (AX###)   YUNEVEN   ZAX1_6    TAX1_4
+ dealloc  dynamic grid (G###)          (AX###)   YUNEVEN   ZAX1_6    TAX1_4
+ allocate dynamic grid (G###)          (AX###)   YUNEVEN   ZAX1_6    TAX1_4
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:    3    6  J:    1    1  K:    1    1  L:    1    1
- allocate dynamic grid (G007)          (AX007)   YUNEVEN   ZAX1_6    TAX1_4
- strip regrid on X: UNEVENVAR --> (G007)           @XACT
- rdstride UNE-NVAR C:  8 dset:   1 I:    2    4  J:    1    1  K:    1    1  L:    1    1
- nulrgd  UNE-NVAR M: 23 dset:   1 I:    1    2  J:    1    1  K:    1    1  L:    1    1
- -DELETE UNE-NVAR M: 24 dset:   1 I:    2    4  J:    1    1  K:    1    1  L:    1    1
- dealloc  dynamic grid (G007)          (AX007)   YUNEVEN   ZAX1_6    TAX1_4
+ eval    EX#1     C:  5 dset:   1 I:      3      6  J:    1    1  K:    1    1  L:      1      1
+ allocate dynamic grid (G###)          (AX###)   YUNEVEN   ZAX1_6    TAX1_4
+ strip regrid on X: UNEVENVAR --> (G###)           @XACT
+ rdstride UNE-NVAR C:  8 dset:   1 I:      2      4  J:    1    1  K:    1    1  L:      1      1
+ nulrgd  UNE-NVAR M: 23 dset:   1 I:      1      2  J:    1    1  K:    1    1  L:      1      1
+ -DELETE UNE-NVAR M: 24 dset:   1 I:      2      4  J:    1    1  K:    1    1  L:      1      1
+ dealloc  dynamic grid (G###)          (AX###)   YUNEVEN   ZAX1_6    TAX1_4
              VARIABLE : L*1000 + K*100 + J[GY=YUNEVEN]*10 + I[GX=XUNEVEN]
                         regrid: on X
              FILENAME : bn_strides.cdf
@@ -43342,19 +44432,19 @@ set region/i=3:6/j=2:4/k=1:2/l=1
  
 use/order=yx bn_strides
 list bigvar[i=3:9:2, j=2:6:2, k=1:3:2]
- dealloc  dynamic grid (G007)          (AX007)   YUNEVEN   ZAX1_6    TAX1_4
- -DELETE UNE-NVAR M: 23 dset:   1 I:    1    2  J:    1    1  K:    1    1  L:    1    1
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G007)          (AX001)   (AX023)   (AX024)   TAX1_10
- dealloc  dynamic grid (G007)          (AX001)   (AX023)   (AX024)   TAX1_10
- allocate dynamic grid (G007)          (AX001)   (AX023)   (AX024)   TAX1_10
- eval    EX#1     C:  4 dset:   1 I:    3    6  J:    2    4  K:    1    2  L:    1    1
- allocate dynamic grid (G007)          (AX001)   (AX023)   (AX024)   TAX1_10
- strip regrid on X: BIGVAR --> (G007)           @XACT
- rdstride BIGVAR   C:  7 dset:   1 I:    3    9  J:    2    6  K:    1    3  L:    1    1
- nulrgd  BIGVAR   M: 24 dset:   1 I:    1    4  J:    1    3  K:    1    2  L:    1    1
- -DELETE BIGVAR   M: 23 dset:   1 I:    3    9  J:    2    6  K:    1    3  L:    1    1
- dealloc  dynamic grid (G007)          (AX001)   (AX023)   (AX024)   TAX1_10
+ dealloc  dynamic grid (G###)          (AX###)   YUNEVEN   ZAX1_6    TAX1_4
+ -DELETE UNE-NVAR M: 23 dset:   1 I:      1      2  J:    1    1  K:    1    1  L:      1      1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G###)          (AX###)   (AX###)   (AX###)   TAX1_10
+ dealloc  dynamic grid (G###)          (AX###)   (AX###)   (AX###)   TAX1_10
+ allocate dynamic grid (G###)          (AX###)   (AX###)   (AX###)   TAX1_10
+ eval    EX#1     C:  4 dset:   1 I:      3      6  J:    2    4  K:    1    2  L:      1      1
+ allocate dynamic grid (G###)          (AX###)   (AX###)   (AX###)   TAX1_10
+ strip regrid on X: BIGVAR --> (G###)           @XACT
+ rdstride BIGVAR   C:  7 dset:   1 I:      3      9  J:    2    6  K:    1    3  L:      1      1
+ nulrgd  BIGVAR   M: 24 dset:   1 I:      1      4  J:    1    3  K:    1    2  L:      1      1
+ -DELETE BIGVAR   M: 23 dset:   1 I:      3      9  J:    2    6  K:    1    3  L:      1      1
+ dealloc  dynamic grid (G###)          (AX###)   (AX###)   (AX###)   TAX1_10
              VARIABLE : VAR
                         regrid: 2 delta on X, 2 delta on Y, 2 delta on Z
              FILENAME : bn_strides.cdf
@@ -43371,24 +44461,24 @@ list bigvar[i=3:9:2, j=2:6:2, k=1:3:2]
  4   / 2:  1343.  1345.  1347.  1349.
  6   / 3:  1363.  1365.  1367.  1369.
 canc data/all
- dealloc  dynamic grid (G007)          (AX001)   (AX023)   (AX024)   TAX1_10
- -DELETE BIGVAR   M: 24 dset:   1 I:    1    4  J:    1    3  K:    1    2  L:    1    1
- dealloc  dynamic grid (G006)          (AX002)   YAX1_30   ZAX1_20   TAX1_10
+ dealloc  dynamic grid (G###)          (AX###)   (AX###)   (AX###)   TAX1_10
+ -DELETE BIGVAR   M: 24 dset:   1 I:      1      4  J:    1    3  K:    1    2  L:      1      1
+ dealloc  dynamic grid (G###)          (AX###)   YAX1_30   ZAX1_20   TAX1_10
  canceling dset ./bn_strides.cdf
  
 use/order=zyx bn_strides
 list bigvar[i=3:9:2, j=2:6:2, k=1:3:2]
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G006)          (AX024)   (AX023)   (AX001)   TAX1_10
- dealloc  dynamic grid (G006)          (AX024)   (AX023)   (AX001)   TAX1_10
- allocate dynamic grid (G006)          (AX024)   (AX023)   (AX001)   TAX1_10
- eval    EX#1     C:  4 dset:   1 I:    3    6  J:    2    4  K:    1    2  L:    1    1
- allocate dynamic grid (G006)          (AX024)   (AX023)   (AX001)   TAX1_10
- strip regrid on X: BIGVAR --> (G006)           @XACT
- rdstride BIGVAR   C:  7 dset:   1 I:    3    9  J:    2    6  K:    1    3  L:    1    1
- nulrgd  BIGVAR   M: 23 dset:   1 I:    1    4  J:    1    3  K:    1    2  L:    1    1
- -DELETE BIGVAR   M: 24 dset:   1 I:    3    9  J:    2    6  K:    1    3  L:    1    1
- dealloc  dynamic grid (G006)          (AX024)   (AX023)   (AX001)   TAX1_10
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G###)          (AX###)   (AX###)   (AX###)   TAX1_10
+ dealloc  dynamic grid (G###)          (AX###)   (AX###)   (AX###)   TAX1_10
+ allocate dynamic grid (G###)          (AX###)   (AX###)   (AX###)   TAX1_10
+ eval    EX#1     C:  4 dset:   1 I:      3      6  J:    2    4  K:    1    2  L:      1      1
+ allocate dynamic grid (G###)          (AX###)   (AX###)   (AX###)   TAX1_10
+ strip regrid on X: BIGVAR --> (G###)           @XACT
+ rdstride BIGVAR   C:  7 dset:   1 I:      3      9  J:    2    6  K:    1    3  L:      1      1
+ nulrgd  BIGVAR   M: 23 dset:   1 I:      1      4  J:    1    3  K:    1    2  L:      1      1
+ -DELETE BIGVAR   M: 24 dset:   1 I:      3      9  J:    2    6  K:    1    3  L:      1      1
+ dealloc  dynamic grid (G###)          (AX###)   (AX###)   (AX###)   TAX1_10
              VARIABLE : VAR
                         regrid: 2 delta on X, 2 delta on Y, 2 delta on Z
              FILENAME : bn_strides.cdf
@@ -43405,8 +44495,8 @@ list bigvar[i=3:9:2, j=2:6:2, k=1:3:2]
  4   / 2:  1343.  1543.  1743.  1943.
  6   / 3:  1363.  1563.  1763.  1963.
 canc data/all
- dealloc  dynamic grid (G006)          (AX024)   (AX023)   (AX001)   TAX1_10
- -DELETE BIGVAR   M: 23 dset:   1 I:    1    4  J:    1    3  K:    1    2  L:    1    1
+ dealloc  dynamic grid (G###)          (AX###)   (AX###)   (AX###)   TAX1_10
+ -DELETE BIGVAR   M: 23 dset:   1 I:      1      4  J:    1    3  K:    1    2  L:      1      1
  canceling dset ./bn_strides.cdf
  
 ! now with xytvar
@@ -43415,17 +44505,17 @@ set region/i=1:4/j=1:3/l=1:2
 use bn_strides
  
 list xytvar[i=1:7:2,j=2:6:2,l=3:5:2]
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G006)          (AX023)   (AX024)   NORMAL    (AX002)
- dealloc  dynamic grid (G006)          (AX023)   (AX024)   NORMAL    (AX002)
- allocate dynamic grid (G006)          (AX023)   (AX024)   NORMAL    (AX002)
- eval    EX#1     C:  4 dset:   1 I:    1    4  J:    1    3  K: -999 -999  L:    1    2
- allocate dynamic grid (G006)          (AX023)   (AX024)   NORMAL    (AX002)
- strip regrid on X: XYTVAR --> (G006)           @XACT
- rdstride XYTVAR   C:  7 dset:   1 I:    1    7  J:    2    6  K: -999 -999  L:    3    5
- nulrgd  XYTVAR   M: 24 dset:   1 I:    1    4  J:    1    3  K: -999 -999  L:    1    2
- -DELETE XYTVAR   M: 23 dset:   1 I:    1    7  J:    2    6  K: -999 -999  L:    3    5
- dealloc  dynamic grid (G006)          (AX023)   (AX024)   NORMAL    (AX002)
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G###)          (AX###)   (AX###)   NORMAL    (AX###)
+ dealloc  dynamic grid (G###)          (AX###)   (AX###)   NORMAL    (AX###)
+ allocate dynamic grid (G###)          (AX###)   (AX###)   NORMAL    (AX###)
+ eval    EX#1     C:  4 dset:   1 I:      1      4  J:    1    3  K: -999 -999  L:      1      2
+ allocate dynamic grid (G###)          (AX###)   (AX###)   NORMAL    (AX###)
+ strip regrid on X: XYTVAR --> (G###)           @XACT
+ rdstride XYTVAR   C:  7 dset:   1 I:      1      7  J:    2    6  K: -999 -999  L:      3      5
+ nulrgd  XYTVAR   M: 24 dset:   1 I:      1      4  J:    1    3  K: -999 -999  L:      1      2
+ -DELETE XYTVAR   M: 23 dset:   1 I:      1      7  J:    2    6  K: -999 -999  L:      3      5
+ dealloc  dynamic grid (G###)          (AX###)   (AX###)   NORMAL    (AX###)
              VARIABLE : L*1000 + J*10 + I
                         regrid: 2 deg on X, 2 deg on Y, 2 day on T
              FILENAME : bn_strides.cdf
@@ -43443,9 +44533,9 @@ list xytvar[i=1:7:2,j=2:6:2,l=3:5:2]
  
 use/order=tyx bn_strides
 show grid xytvar
- dealloc  dynamic grid (G006)          (AX023)   (AX024)   NORMAL    (AX002)
- -DELETE XYTVAR   M: 24 dset:   1 I:    1    4  J:    1    3  K: -999 -999  L:    1    2
- getgrid EX#1     C:  7 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ dealloc  dynamic grid (G###)          (AX###)   (AX###)   NORMAL    (AX###)
+ -DELETE XYTVAR   M: 24 dset:   1 I:      1      4  J:    1    3  K: -999 -999  L:      1      2
+ getgrid EX#1     C:  7 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
     GRID EGRID
  name       axis              # pts   start                end                 subset
  XLON      LONGITUDE           40mr   141E                 180E                full
@@ -43455,17 +44545,17 @@ show grid xytvar
  
 list xytvar[i=1:7:2,j=2:6:2,l=3:5:2]
  dealloc  dynamic grid EGRID           XLON      YLAT      NORMAL    TTIME
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G006)          (AX024)   (AX023)   NORMAL    (AX001)
- dealloc  dynamic grid (G006)          (AX024)   (AX023)   NORMAL    (AX001)
- allocate dynamic grid (G006)          (AX024)   (AX023)   NORMAL    (AX001)
- eval    EX#1     C:  4 dset:   1 I:    1    4  J:    1    3  K: -999 -999  L:    1    2
- allocate dynamic grid (G006)          (AX024)   (AX023)   NORMAL    (AX001)
- strip regrid on X: XYTVAR --> (G006)           @XACT
- rdstride XYTVAR   C:  7 dset:   1 I:    1    7  J:    2    6  K: -999 -999  L:    3    5
- nulrgd  XYTVAR   M: 23 dset:   1 I:    1    4  J:    1    3  K: -999 -999  L:    1    2
- -DELETE XYTVAR   M: 24 dset:   1 I:    1    7  J:    2    6  K: -999 -999  L:    3    5
- dealloc  dynamic grid (G006)          (AX024)   (AX023)   NORMAL    (AX001)
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G###)          (AX###)   (AX###)   NORMAL    (AX###)
+ dealloc  dynamic grid (G###)          (AX###)   (AX###)   NORMAL    (AX###)
+ allocate dynamic grid (G###)          (AX###)   (AX###)   NORMAL    (AX###)
+ eval    EX#1     C:  4 dset:   1 I:      1      4  J:    1    3  K: -999 -999  L:      1      2
+ allocate dynamic grid (G###)          (AX###)   (AX###)   NORMAL    (AX###)
+ strip regrid on X: XYTVAR --> (G###)           @XACT
+ rdstride XYTVAR   C:  7 dset:   1 I:      1      7  J:    2    6  K: -999 -999  L:      3      5
+ nulrgd  XYTVAR   M: 23 dset:   1 I:      1      4  J:    1    3  K: -999 -999  L:      1      2
+ -DELETE XYTVAR   M: 24 dset:   1 I:      1      7  J:    2    6  K: -999 -999  L:      3      5
+ dealloc  dynamic grid (G###)          (AX###)   (AX###)   NORMAL    (AX###)
              VARIABLE : L*1000 + J*10 + I
                         regrid: 2 deg on X, 2 deg on Y, 2 day on T
              FILENAME : bn_strides.cdf
@@ -43481,14 +44571,14 @@ list xytvar[i=1:7:2,j=2:6:2,l=3:5:2]
  4N   / 2:  5041.  5043.  5045.  5047.
  2N   / 1:  5021.  5023.  5025.  5027.
 canc data/all
- dealloc  dynamic grid (G006)          (AX024)   (AX023)   NORMAL    (AX001)
- -DELETE XYTVAR   M: 23 dset:   1 I:    1    4  J:    1    3  K: -999 -999  L:    1    2
+ dealloc  dynamic grid (G###)          (AX###)   (AX###)   NORMAL    (AX###)
+ -DELETE XYTVAR   M: 23 dset:   1 I:      1      4  J:    1    3  K: -999 -999  L:      1      2
  canceling dset ./bn_strides.cdf
  
 ! map into Z instead of T
 use/order=zxy bn_strides
 show grid xytvar
- getgrid EX#1     C:  7 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  7 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GPC5            TTIME     XLON      YLAT      NORMAL
     GRID GPC5
  name       axis              # pts   start                end                 subset
@@ -43499,17 +44589,17 @@ show grid xytvar
  
 list xytvar[i=1:7:2,j=2:6:2,k=3:5:2]
  dealloc  dynamic grid GPC5            TTIME     XLON      YLAT      NORMAL
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G006)          (AX023)   (AX024)   (AX002)   NORMAL
- dealloc  dynamic grid (G006)          (AX023)   (AX024)   (AX002)   NORMAL
- allocate dynamic grid (G006)          (AX023)   (AX024)   (AX002)   NORMAL
- eval    EX#1     C:  4 dset:   1 I:    1    4  J:    1    3  K:    1    2  L:    1    2
- allocate dynamic grid (G006)          (AX023)   (AX024)   (AX002)   NORMAL
- strip regrid on X: XYTVAR --> (G006)           @XACT
- rdstride XYTVAR   C:  7 dset:   1 I:    1    7  J:    2    6  K:    3    5  L: -999 -999
- nulrgd  XYTVAR   M: 24 dset:   1 I:    1    4  J:    1    3  K:    1    2  L: -999 -999
- -DELETE XYTVAR   M: 23 dset:   1 I:    1    7  J:    2    6  K:    3    5  L: -999 -999
- dealloc  dynamic grid (G006)          (AX023)   (AX024)   (AX002)   NORMAL
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G###)          (AX###)   (AX###)   (AX###)   NORMAL
+ dealloc  dynamic grid (G###)          (AX###)   (AX###)   (AX###)   NORMAL
+ allocate dynamic grid (G###)          (AX###)   (AX###)   (AX###)   NORMAL
+ eval    EX#1     C:  4 dset:   1 I:      1      4  J:    1    3  K:    1    2  L:      1      2
+ allocate dynamic grid (G###)          (AX###)   (AX###)   (AX###)   NORMAL
+ strip regrid on X: XYTVAR --> (G###)           @XACT
+ rdstride XYTVAR   C:  7 dset:   1 I:      1      7  J:    2    6  K:    3    5  L:   -999   -999
+ nulrgd  XYTVAR   M: 24 dset:   1 I:      1      4  J:    1    3  K:    1    2  L:   -999   -999
+ -DELETE XYTVAR   M: 23 dset:   1 I:      1      7  J:    2    6  K:    3    5  L:   -999   -999
+ dealloc  dynamic grid (G###)          (AX###)   (AX###)   (AX###)   NORMAL
              VARIABLE : L*1000 + J*10 + I
                         regrid: 2 day on X, 2 deg on Y, 2 deg on Z
              FILENAME : bn_strides.cdf
@@ -43525,8 +44615,8 @@ list xytvar[i=1:7:2,j=2:6:2,k=3:5:2]
  144   / 2:  1054.  3054.  5054.  7054.
  146   / 3:  1056.  3056.  5056.  7056.
 canc data/all
- dealloc  dynamic grid (G006)          (AX023)   (AX024)   (AX002)   NORMAL
- -DELETE XYTVAR   M: 24 dset:   1 I:    1    4  J:    1    3  K:    1    2  L: -999 -999
+ dealloc  dynamic grid (G###)          (AX###)   (AX###)   (AX###)   NORMAL
+ -DELETE XYTVAR   M: 24 dset:   1 I:      1      4  J:    1    3  K:    1    2  L:   -999   -999
  canceling dset ./bn_strides.cdf
  
  
@@ -43535,17 +44625,17 @@ cancel region; set region/l=1
 ! reference output
 use/order=yx bn_strides
 list midvar[i=1:5:4, j=2:5:3, k=3:5:2]
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G006)          (AX024)   (AX023)   (AX001)   TAX1_6
- dealloc  dynamic grid (G006)          (AX024)   (AX023)   (AX001)   TAX1_6
- allocate dynamic grid (G006)          (AX024)   (AX023)   (AX001)   TAX1_6
- eval    EX#1     C:  4 dset:   1 I:    1    2  J:    1    2  K:    1    2  L:    1    1
- allocate dynamic grid (G006)          (AX024)   (AX023)   (AX001)   TAX1_6
- strip regrid on X: MIDVAR --> (G006)           @XACT
- rdstride MIDVAR   C:  7 dset:   1 I:    1    5  J:    2    5  K:    3    5  L:    1    1
- nulrgd  MIDVAR   M: 23 dset:   1 I:    1    2  J:    1    2  K:    1    2  L:    1    1
- -DELETE MIDVAR   M: 24 dset:   1 I:    1    5  J:    2    5  K:    3    5  L:    1    1
- dealloc  dynamic grid (G006)          (AX024)   (AX023)   (AX001)   TAX1_6
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G###)          (AX###)   (AX###)   (AX###)   TAX1_6
+ dealloc  dynamic grid (G###)          (AX###)   (AX###)   (AX###)   TAX1_6
+ allocate dynamic grid (G###)          (AX###)   (AX###)   (AX###)   TAX1_6
+ eval    EX#1     C:  4 dset:   1 I:      1      2  J:    1    2  K:    1    2  L:      1      1
+ allocate dynamic grid (G###)          (AX###)   (AX###)   (AX###)   TAX1_6
+ strip regrid on X: MIDVAR --> (G###)           @XACT
+ rdstride MIDVAR   C:  7 dset:   1 I:      1      5  J:    2    5  K:    3    5  L:      1      1
+ nulrgd  MIDVAR   M: 23 dset:   1 I:      1      2  J:    1    2  K:    1    2  L:      1      1
+ -DELETE MIDVAR   M: 24 dset:   1 I:      1      5  J:    2    5  K:    3    5  L:      1      1
+ dealloc  dynamic grid (G###)          (AX###)   (AX###)   (AX###)   TAX1_6
              VARIABLE : VAR
                         regrid: 4 delta on X, 3 delta on Y, 2 delta on Z
              FILENAME : bn_strides.cdf
@@ -43560,26 +44650,26 @@ list midvar[i=1:5:4, j=2:5:3, k=3:5:2]
  2   / 1:  1512.  1552.
  5   / 2:  1515.  1555.
 canc data/all
- dealloc  dynamic grid (G006)          (AX024)   (AX023)   (AX001)   TAX1_6
- -DELETE MIDVAR   M: 23 dset:   1 I:    1    2  J:    1    2  K:    1    2  L:    1    1
+ dealloc  dynamic grid (G###)          (AX###)   (AX###)   (AX###)   TAX1_6
+ -DELETE MIDVAR   M: 23 dset:   1 I:      1      2  J:    1    2  K:    1    2  L:      1      1
  canceling dset ./bn_strides.cdf
  
 use/order=-yx bn_strides
 list midvar[i=1:5:4, j=2:5:3, k=3:5:2]
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G006)          (AX023)   (AX024)   (AX002)   TAX1_6
- dealloc  dynamic grid (G006)          (AX023)   (AX024)   (AX002)   TAX1_6
- allocate dynamic grid (G006)          (AX023)   (AX024)   (AX002)   TAX1_6
- eval    EX#1     C:  4 dset:   1 I:    1    2  J:    1    2  K:    1    2  L:    1    1
- allocate dynamic grid (G006)          (AX023)   (AX024)   (AX002)   TAX1_6
- strip regrid on X: MIDVAR --> (G006)           @XACT
- strip reversing MIDVAR on Y axis:     2     5 dset:   1
- rdstride MIDVAR   C:  8 dset:   1 I:    1    5  J:    5    8  K:    3    5  L:    1    1
- doing reversing MIDVAR on Y axis:     2     5 dset:   1
- -DELETE MIDVAR   M: 23 dset:   1 I:    1    5  J:    2    5  K:    3    5  L:    1    1
- nulrgd  MIDVAR   M: 23 dset:   1 I:    1    2  J:    1    2  K:    1    2  L:    1    1
- -DELETE MIDVAR   M: 24 dset:   1 I:    1    5  J:    2    5  K:    3    5  L:    1    1
- dealloc  dynamic grid (G006)          (AX023)   (AX024)   (AX002)   TAX1_6
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G###)          (AX###)   (AX###)   (AX###)   TAX1_6
+ dealloc  dynamic grid (G###)          (AX###)   (AX###)   (AX###)   TAX1_6
+ allocate dynamic grid (G###)          (AX###)   (AX###)   (AX###)   TAX1_6
+ eval    EX#1     C:  4 dset:   1 I:      1      2  J:    1    2  K:    1    2  L:      1      1
+ allocate dynamic grid (G###)          (AX###)   (AX###)   (AX###)   TAX1_6
+ strip regrid on X: MIDVAR --> (G###)           @XACT
+ strip reversing MIDVAR on Y axis:        2        5 dset:   1
+ rdstride MIDVAR   C:  8 dset:   1 I:      1      5  J:    5    8  K:    3    5  L:      1      1
+ doing reversing MIDVAR on Y axis:        2        5 dset:   1
+ -DELETE MIDVAR   M: 23 dset:   1 I:      1      5  J:    2    5  K:    3    5  L:      1      1
+ nulrgd  MIDVAR   M: 23 dset:   1 I:      1      2  J:    1    2  K:    1    2  L:      1      1
+ -DELETE MIDVAR   M: 24 dset:   1 I:      1      5  J:    2    5  K:    3    5  L:      1      1
+ dealloc  dynamic grid (G###)          (AX###)   (AX###)   (AX###)   TAX1_6
              VARIABLE : VAR
                         regrid: 4 delta on X, 3 delta on Y, 2 delta on Z
              FILENAME : bn_strides.cdf
@@ -43594,24 +44684,24 @@ list midvar[i=1:5:4, j=2:5:3, k=3:5:2]
  2   / 1:  1518.  1558.
  5   / 2:  1515.  1555.
 canc data/all
- dealloc  dynamic grid (G006)          (AX023)   (AX024)   (AX002)   TAX1_6
- -DELETE MIDVAR   M: 23 dset:   1 I:    1    2  J:    1    2  K:    1    2  L:    1    1
+ dealloc  dynamic grid (G###)          (AX###)   (AX###)   (AX###)   TAX1_6
+ -DELETE MIDVAR   M: 23 dset:   1 I:      1      2  J:    1    2  K:    1    2  L:      1      1
  canceling dset ./bn_strides.cdf
  
 ! reference output
 use/order=tyx bn_strides
 list midvar[i=1:5:4, j=2:5:3, k=3:5:2]
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G006)          (AX024)   (AX023)   (AX001)   ZAX1_7
- dealloc  dynamic grid (G006)          (AX024)   (AX023)   (AX001)   ZAX1_7
- allocate dynamic grid (G006)          (AX024)   (AX023)   (AX001)   ZAX1_7
- eval    EX#1     C:  4 dset:   1 I:    1    2  J:    1    2  K:    1    2  L:    1    1
- allocate dynamic grid (G006)          (AX024)   (AX023)   (AX001)   ZAX1_7
- strip regrid on X: MIDVAR --> (G006)           @XACT
- rdstride MIDVAR   C:  7 dset:   1 I:    1    5  J:    2    5  K:    3    5  L:    1    1
- nulrgd  MIDVAR   M: 24 dset:   1 I:    1    2  J:    1    2  K:    1    2  L:    1    1
- -DELETE MIDVAR   M: 23 dset:   1 I:    1    5  J:    2    5  K:    3    5  L:    1    1
- dealloc  dynamic grid (G006)          (AX024)   (AX023)   (AX001)   ZAX1_7
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G###)          (AX###)   (AX###)   (AX###)   ZAX1_7
+ dealloc  dynamic grid (G###)          (AX###)   (AX###)   (AX###)   ZAX1_7
+ allocate dynamic grid (G###)          (AX###)   (AX###)   (AX###)   ZAX1_7
+ eval    EX#1     C:  4 dset:   1 I:      1      2  J:    1    2  K:    1    2  L:      1      1
+ allocate dynamic grid (G###)          (AX###)   (AX###)   (AX###)   ZAX1_7
+ strip regrid on X: MIDVAR --> (G###)           @XACT
+ rdstride MIDVAR   C:  7 dset:   1 I:      1      5  J:    2    5  K:    3    5  L:      1      1
+ nulrgd  MIDVAR   M: 24 dset:   1 I:      1      2  J:    1    2  K:    1    2  L:      1      1
+ -DELETE MIDVAR   M: 23 dset:   1 I:      1      5  J:    2    5  K:    3    5  L:      1      1
+ dealloc  dynamic grid (G###)          (AX###)   (AX###)   (AX###)   ZAX1_7
              VARIABLE : VAR
                         regrid: 4 delta on X, 3 delta on Y, 2 delta on Z
              FILENAME : bn_strides.cdf
@@ -43626,27 +44716,27 @@ list midvar[i=1:5:4, j=2:5:3, k=3:5:2]
  2   / 1:  1125.  5125.
  5   / 2:  1155.  5155.
 canc data/all
- dealloc  dynamic grid (G006)          (AX024)   (AX023)   (AX001)   ZAX1_7
- -DELETE MIDVAR   M: 24 dset:   1 I:    1    2  J:    1    2  K:    1    2  L:    1    1
+ dealloc  dynamic grid (G###)          (AX###)   (AX###)   (AX###)   ZAX1_7
+ -DELETE MIDVAR   M: 24 dset:   1 I:      1      2  J:    1    2  K:    1    2  L:      1      1
  canceling dset ./bn_strides.cdf
  
 ! note the reversal on axes 1,2 and 3 (X,Y,Z in memory -- NOT T)
 use/order=-t-y-x bn_strides
 list midvar[i=1:5:4, j=2:5:3, k=3:5:2]
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G006)          (AX023)   (AX024)   (AX002)   ZAX1_7
- dealloc  dynamic grid (G006)          (AX023)   (AX024)   (AX002)   ZAX1_7
- allocate dynamic grid (G006)          (AX023)   (AX024)   (AX002)   ZAX1_7
- eval    EX#1     C:  4 dset:   1 I:    1    2  J:    1    2  K:    1    2  L:    1    1
- allocate dynamic grid (G006)          (AX023)   (AX024)   (AX002)   ZAX1_7
- strip regrid on X: MIDVAR --> (G006)           @XACT
- strip reversing MIDVAR on X axis:     1     5 dset:   1
- rdstride MIDVAR   C:  8 dset:   1 I:    2    6  J:    4    7  K:    3    5  L:    7    7
- doing reversing MIDVAR on X axis:     1     5 dset:   1
- -DELETE MIDVAR   M: 24 dset:   1 I:    1    5  J:    2    5  K:    3    5  L:    1    1
- nulrgd  MIDVAR   M: 24 dset:   1 I:    1    2  J:    1    2  K:    1    2  L:    1    1
- -DELETE MIDVAR   M: 23 dset:   1 I:    1    5  J:    2    5  K:    3    5  L:    1    1
- dealloc  dynamic grid (G006)          (AX023)   (AX024)   (AX002)   ZAX1_7
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G###)          (AX###)   (AX###)   (AX###)   ZAX1_7
+ dealloc  dynamic grid (G###)          (AX###)   (AX###)   (AX###)   ZAX1_7
+ allocate dynamic grid (G###)          (AX###)   (AX###)   (AX###)   ZAX1_7
+ eval    EX#1     C:  4 dset:   1 I:      1      2  J:    1    2  K:    1    2  L:      1      1
+ allocate dynamic grid (G###)          (AX###)   (AX###)   (AX###)   ZAX1_7
+ strip regrid on X: MIDVAR --> (G###)           @XACT
+ strip reversing MIDVAR on X axis:        1        5 dset:   1
+ rdstride MIDVAR   C:  8 dset:   1 I:      2      6  J:    4    7  K:    3    5  L:      7      7
+ doing reversing MIDVAR on X axis:        1        5 dset:   1
+ -DELETE MIDVAR   M: 24 dset:   1 I:      1      5  J:    2    5  K:    3    5  L:      1      1
+ nulrgd  MIDVAR   M: 24 dset:   1 I:      1      2  J:    1    2  K:    1    2  L:      1      1
+ -DELETE MIDVAR   M: 23 dset:   1 I:      1      5  J:    2    5  K:    3    5  L:      1      1
+ dealloc  dynamic grid (G###)          (AX###)   (AX###)   (AX###)   ZAX1_7
              VARIABLE : VAR
                         regrid: 4 delta on X, 3 delta on Y, 2 delta on Z
              FILENAME : bn_strides.cdf
@@ -43661,24 +44751,24 @@ list midvar[i=1:5:4, j=2:5:3, k=3:5:2]
  2   / 1:  6775.  2775.
  5   / 2:  6745.  2745.
 canc data/all
- dealloc  dynamic grid (G006)          (AX023)   (AX024)   (AX002)   ZAX1_7
- -DELETE MIDVAR   M: 24 dset:   1 I:    1    2  J:    1    2  K:    1    2  L:    1    1
+ dealloc  dynamic grid (G###)          (AX###)   (AX###)   (AX###)   ZAX1_7
+ -DELETE MIDVAR   M: 24 dset:   1 I:      1      2  J:    1    2  K:    1    2  L:      1      1
  canceling dset ./bn_strides.cdf
  
 ! reference output
 use/order=txy bn_strides
 list midvar[i=1:5:4, j=2:5:3, k=3:5:2]
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G006)          (AX024)   (AX023)   (AX001)   ZAX1_7
- dealloc  dynamic grid (G006)          (AX024)   (AX023)   (AX001)   ZAX1_7
- allocate dynamic grid (G006)          (AX024)   (AX023)   (AX001)   ZAX1_7
- eval    EX#1     C:  4 dset:   1 I:    1    2  J:    1    2  K:    1    2  L:    1    1
- allocate dynamic grid (G006)          (AX024)   (AX023)   (AX001)   ZAX1_7
- strip regrid on X: MIDVAR --> (G006)           @XACT
- rdstride MIDVAR   C:  7 dset:   1 I:    1    5  J:    2    5  K:    3    5  L:    1    1
- nulrgd  MIDVAR   M: 23 dset:   1 I:    1    2  J:    1    2  K:    1    2  L:    1    1
- -DELETE MIDVAR   M: 24 dset:   1 I:    1    5  J:    2    5  K:    3    5  L:    1    1
- dealloc  dynamic grid (G006)          (AX024)   (AX023)   (AX001)   ZAX1_7
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G###)          (AX###)   (AX###)   (AX###)   ZAX1_7
+ dealloc  dynamic grid (G###)          (AX###)   (AX###)   (AX###)   ZAX1_7
+ allocate dynamic grid (G###)          (AX###)   (AX###)   (AX###)   ZAX1_7
+ eval    EX#1     C:  4 dset:   1 I:      1      2  J:    1    2  K:    1    2  L:      1      1
+ allocate dynamic grid (G###)          (AX###)   (AX###)   (AX###)   ZAX1_7
+ strip regrid on X: MIDVAR --> (G###)           @XACT
+ rdstride MIDVAR   C:  7 dset:   1 I:      1      5  J:    2    5  K:    3    5  L:      1      1
+ nulrgd  MIDVAR   M: 23 dset:   1 I:      1      2  J:    1    2  K:    1    2  L:      1      1
+ -DELETE MIDVAR   M: 24 dset:   1 I:      1      5  J:    2    5  K:    3    5  L:      1      1
+ dealloc  dynamic grid (G###)          (AX###)   (AX###)   (AX###)   ZAX1_7
              VARIABLE : VAR
                         regrid: 4 delta on X, 3 delta on Y, 2 delta on Z
              FILENAME : bn_strides.cdf
@@ -43693,26 +44783,26 @@ list midvar[i=1:5:4, j=2:5:3, k=3:5:2]
  2   / 1:  1152.  5152.
  5   / 2:  1155.  5155.
 canc data/all
- dealloc  dynamic grid (G006)          (AX024)   (AX023)   (AX001)   ZAX1_7
- -DELETE MIDVAR   M: 23 dset:   1 I:    1    2  J:    1    2  K:    1    2  L:    1    1
+ dealloc  dynamic grid (G###)          (AX###)   (AX###)   (AX###)   ZAX1_7
+ -DELETE MIDVAR   M: 23 dset:   1 I:      1      2  J:    1    2  K:    1    2  L:      1      1
  canceling dset ./bn_strides.cdf
  
 use/order=-t-x-y bn_strides
 list midvar[i=1:5:4, j=2:5:3, k=3:5:2]
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G006)          (AX023)   (AX024)   (AX002)   ZAX1_7
- dealloc  dynamic grid (G006)          (AX023)   (AX024)   (AX002)   ZAX1_7
- allocate dynamic grid (G006)          (AX023)   (AX024)   (AX002)   ZAX1_7
- eval    EX#1     C:  4 dset:   1 I:    1    2  J:    1    2  K:    1    2  L:    1    1
- allocate dynamic grid (G006)          (AX023)   (AX024)   (AX002)   ZAX1_7
- strip regrid on X: MIDVAR --> (G006)           @XACT
- strip reversing MIDVAR on Y axis:     2     5 dset:   1
- rdstride MIDVAR   C:  8 dset:   1 I:    2    6  J:    5    8  K:    3    5  L:    7    7
- doing reversing MIDVAR on Y axis:     2     5 dset:   1
- -DELETE MIDVAR   M: 23 dset:   1 I:    1    5  J:    2    5  K:    3    5  L:    1    1
- nulrgd  MIDVAR   M: 23 dset:   1 I:    1    2  J:    1    2  K:    1    2  L:    1    1
- -DELETE MIDVAR   M: 24 dset:   1 I:    1    5  J:    2    5  K:    3    5  L:    1    1
- dealloc  dynamic grid (G006)          (AX023)   (AX024)   (AX002)   ZAX1_7
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G###)          (AX###)   (AX###)   (AX###)   ZAX1_7
+ dealloc  dynamic grid (G###)          (AX###)   (AX###)   (AX###)   ZAX1_7
+ allocate dynamic grid (G###)          (AX###)   (AX###)   (AX###)   ZAX1_7
+ eval    EX#1     C:  4 dset:   1 I:      1      2  J:    1    2  K:    1    2  L:      1      1
+ allocate dynamic grid (G###)          (AX###)   (AX###)   (AX###)   ZAX1_7
+ strip regrid on X: MIDVAR --> (G###)           @XACT
+ strip reversing MIDVAR on Y axis:        2        5 dset:   1
+ rdstride MIDVAR   C:  8 dset:   1 I:      2      6  J:    5    8  K:    3    5  L:      7      7
+ doing reversing MIDVAR on Y axis:        2        5 dset:   1
+ -DELETE MIDVAR   M: 23 dset:   1 I:      1      5  J:    2    5  K:    3    5  L:      1      1
+ nulrgd  MIDVAR   M: 23 dset:   1 I:      1      2  J:    1    2  K:    1    2  L:      1      1
+ -DELETE MIDVAR   M: 24 dset:   1 I:      1      5  J:    2    5  K:    3    5  L:      1      1
+ dealloc  dynamic grid (G###)          (AX###)   (AX###)   (AX###)   ZAX1_7
              VARIABLE : VAR
                         regrid: 4 delta on X, 3 delta on Y, 2 delta on Z
              FILENAME : bn_strides.cdf
@@ -43727,13 +44817,14 @@ list midvar[i=1:5:4, j=2:5:3, k=3:5:2]
  2   / 1:  6758.  2758.
  5   / 2:  6755.  2755.
 canc data/all
- dealloc  dynamic grid (G006)          (AX023)   (AX024)   (AX002)   ZAX1_7
- -DELETE MIDVAR   M: 23 dset:   1 I:    1    2  J:    1    2  K:    1    2  L:    1    1
+ dealloc  dynamic grid (G###)          (AX###)   (AX###)   (AX###)   ZAX1_7
+ -DELETE MIDVAR   M: 23 dset:   1 I:      1      2  J:    1    2  K:    1    2  L:      1      1
  canceling dset ./bn_strides.cdf
  
 ! DEFINE AXIS can get the axis too long (bug 673)
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err553_axis_too_long.jnl
 ! From Ned Cokelet
 ! First definition of axis had last grid cell completely
@@ -43764,6 +44855,7 @@ LIST X[GX=x_ax], XBOXLO[GX=x_ax], XBOXHI[GX=x_ax]
 ! non-centered shade key
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err553_lev_c.jnl
  ! under linux only, this has a non-centered shade key
  
@@ -43793,6 +44885,7 @@ ppl list shakey
 ! At lon = 0, we used to have an E; remove this.
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err553_lon_ax_0_label.jnl
 ! Label longitude axes with the degree sign only
 ! at x=0 (previously had an E).
@@ -43806,6 +44899,7 @@ shade/x=-20:20/y=-40:40/L=1 sst
 ! Errors listing string and numeric data together
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err553_list_string_numeric.jnl
 ! err553_list_string_numeric.jnl
 ! 2/2004 ACM
@@ -43901,6 +44995,7 @@ list/i=3:4/l=1:2 b, c, v
 ! Bug in setting axis to depth when reading from nc file
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err553_set_axis_depth.jnl
  ! NOAA/PMEL TMAP
  ! FERRET v5.53
@@ -43920,6 +45015,7 @@ q
 ! Set symbols showing levels settings when poly command is called
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err553_symbol_lev.jnl
 ! err553_symbol_lev.jnl
 ! 2/2004 ACM
@@ -43977,6 +45073,7 @@ can sym lev*
 ! Fixes for modulo striding bugs
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err553_stride_modulo.jnl
 ! err553_stride_modulo_neg.jnl
 ! *acm* 3/31/2004
@@ -44079,6 +45176,7 @@ can mem; list/y=0 var[i=68]
 ! Fixes bug creating format for listing a very long line
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err553_list_width.jnl
 ! err553_list_width.jnl
 ! *acm* 4/1/2004
@@ -44525,6 +45623,7 @@ can mode ignore
 ! Test use of automatic levels in SHADE
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err560_shade_levels.jnl
 ! err560_shade_levels.jnl  *acm* 4/28/04
 ! Missing levels on SHADE auto-level
@@ -44539,6 +45638,7 @@ set view lower; shade/i=1:10/j=1:10 -1*i*j*0.0034
 ! Test use of reading irregular-time mc datasets
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err560_mc_irreg_t.jnl
 ! err560_mc_irreg_t.jnl
 ! 4/2004  ACM
@@ -44575,6 +45675,7 @@ list/x=180/y=0/t=2000 sst
 ! Crashed on SHADE of variable with NOLEAP axis, and subregion.
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err560_shade_noleap.jnl
 ! err560_shade_noleap.jnl
 ! 4/30/04 ACM
@@ -44592,6 +45693,7 @@ shade/t=4-jan-2000:10-nov-2000 a
 ! -111, was treated as missing rather than a valid index.
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err560_regridding_gaps.jnl
 ! err560_regrid
 !
@@ -44717,6 +45819,7 @@ sp rm xlongshift.nc
 ! bug in drawing the time axis.
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err560_leap_years.jnl
 ! err560_leap_years.jnl
 ! Fixes for bug 882, inconsistency in computing whether
@@ -44735,6 +45838,7 @@ plot v[gt=tax at asn]
 ! Century portion of years were not properly tested in numdm1.F
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err560_century
 ! err560_century.jnl.jnl  *acm* 4/28/04
 ! Century portion of years were not properly tested in numdm1.F
@@ -45006,6 +46110,7 @@ PLOT/OVER/NOKEY/X=180/Y=1/K=1 temp
 ! POLYGON (or SHADE) plots with a single level had no fill color
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err570_singlecolor.jnl
 ! err570_singlecolor.jnl
 ! 7/6/2004
@@ -45049,6 +46154,7 @@ poly/lev=2 {0,1,2},{1,2,1},a ! OR lev=1
 ! colorbar labels too close to the bar, when user sets bar location
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err570_shakeylab.jnl
  
 ! err570_shakeylab.jnl
@@ -45110,6 +46216,7 @@ ppl dfltfnt sr
 ! Null input gives wierd error message
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err570_null_symbol.jnl
 ! err570_null_symbol.jnl
 ! null input -- > wierd error message see bug 919
@@ -45127,6 +46234,7 @@ can mode ignore
 ! Replace text expression with its value: string variable was too short
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err570_parse_labelcommand.jnl
 ! err570_parse_labelcommand.jnl
 ! fix for bug 956.
@@ -45157,6 +46265,7 @@ label/nouser 3.6,`($ppl$ylen)+0.2`,0,0,0.08, `tsulab`
 ! result of COMPRESSK_BY function does not vary in X
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err570_compressk_by.jnl
 ! err570_compress_by.jnl
 ! fix for bug 925
@@ -45250,6 +46359,7 @@ list tlev[k=1]
 ! Command parsing on PPL side had string lengths too short
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err570_long_label.jnl
 ! err570_long_label.jnl
 ! Fix for bug 956
@@ -45300,6 +46410,7 @@ set mode/last verify
 ! Allow PPL POLYGON after a POLY/SET (previously was PPL FILLPOL)
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err570_ppl_poly.jnl
 ! err570_ppl_poly.jnl
  
@@ -45322,6 +46433,7 @@ ppl polygon
 ! Fix formatting of coordinates on LIST/FORMAT=tab or /FORMAT=comma
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err570_list_tab_coords.jnl
 ! err570_list_tab_coords.jnl
 ! acm 9/7/04
@@ -45365,6 +46477,7 @@ list/form=comma aa
 ! Fix bug in HASH_CX for large numbers of varibles
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err570_many_variables.jnl
 ! err570_many_variables.jnl
 ! 27-sep-2004  ACM
@@ -45628,6 +46741,7 @@ list str4a
 ! Fix bug in @CNNN within multi-line labels
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err570_cnnn_multiline.jnl
 ! Changing pen with @Cnnn did not work in
 ! multi-line labels
@@ -45642,6 +46756,7 @@ label 0.1, 0.3, 0, 0, 0.2, "greek<NL>@SGt at SR_y<NL>works"
 ! For a very fine grid, coordinates not listed with enough precision.
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err570_fine_grid_list.jnl
 ! err570_fine_grid_list.jnl
 ! ACM 10/2004
@@ -45746,6 +46861,7 @@ cancel list/precision
 ! Plot using /HLIM
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err570_hlimit_onepoint
 !err570_hlimit_onepoint.jnl
 ! 15-Oct-2004  ACM
@@ -45768,6 +46884,7 @@ set mode/last ignore_error
 ! caused a segfault.
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err570_index111.jnl
 ! err570_index111.jnl
 ! 3-nov-04 ACM
@@ -45814,6 +46931,7 @@ LIST/T=1-jan-1997:1-jan-1998 s2[GT=s1 at NRST]
 ! crashed on trying to format value for the output buffer.
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err570_sh_dat_nan.jnl
 ! err570_sh_dat_nan.jnl
 ! 4-Nov-2004 acm
@@ -45839,6 +46957,7 @@ show data/full
 ! Time reqest out of range on NOLEAP axes.
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err570_time_range.jnl
 ! err570_time_range.jnl  bug1080
 ! time request out of range with calendar axis and RETURN=
@@ -45863,6 +46982,7 @@ set var/units="`a[gx=var1_grid_,gy=var1_grid_,d=2,t="16-Jan-1861 12:00:00"],retu
 ! a non-standard calendar axis
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err570_poly_over_julian.jnl
 ! err570_poly_over_julian.jnl
 ! ACM 11/12/04
@@ -45885,6 +47005,7 @@ poly/ov/pal=green {400,900,900,400}, {25.5,25.5,26.5,25.5}
 ! string substitution returns the user-given error message
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err570_coaching hello
 ! err570_coaching.jnl
 ! ACM 11/12/04  Bug 1077
@@ -45929,6 +47050,7 @@ set mode/last ignore_errors
 ! name of the script
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err570_dollar_zero.jnl
 ! err570_dollar_zero.jnl
 ! (bug 485) Got a command syntax error;
@@ -45944,6 +47066,7 @@ SET MODE/LAST ignore_error
 ! Fix for bug 596; list/i=0:300:0 var crashed Ferret
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err570_illegal_stride.jnl
 ! err570_illegal_stride.jnl
 ! (bug 596) list/i=0:300:0 var crashed Ferret
@@ -45957,6 +47080,7 @@ SET MODE/LAST ignore_error
 ! Fix for bug 1085; /THICK without color specifier caused all lines to revert to black
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err570_thick_colors.jnl
 ! err570_thick_colors.jnl  bug1085
 ! /THICK without color specifier causes all lines to revert to black
@@ -45982,6 +47106,7 @@ PLOT/OVER/VS/LINE/THICK=1/I=1:314 i*cos(i/14), i*sin(i/14)
 ! starts with a digit.
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err570_digit_filename.jnl
 ! err570_digit_filename.jnl
 ! Bug 1102: under linux, var[d=filename] fails if filename
@@ -46047,13 +47172,14 @@ list a[i=1:4,d=10a.nc]
 ! Fix for bug 1098: DODS URL label was cut off
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err570_dods_url_label.jnl
 ! err570_dods_url_label.jnl
 !
 ! Bug 1098. Look for the label with the URL: it should include
 ! everything up to the last slash.
 ! acm 11/04
- 
+! acm* 3/17 check the URL with TEST_OPENDAP befor trying to open it.
  
 !! Change to another dataset, our server down...
 !!use  "http://www.ferret.noaa.gov/cgi-bin/nph-nc/data/bn_strides.cdf"
@@ -46083,11 +47209,14 @@ GO err570_dods_url_label.jnl
 !!plot/x=180/y=0/k=1 temp
 !!ppl list labels
  
+! If we cant open this, just bail on the test
+IF `test_opendap("http://ferret.pmel.noaa.gov/pmel/thredds/dodsC/data/PMEL/coads_climatology.nc") NE 0` THEN EXIT/SCRIPT
+ !-> IF 0 THEN EXIT/SCRIPT
  
-use "http://ferret.pmel.noaa.gov/thredds/dodsC/data/PMEL/coads_climatology.nc"
+use "http://ferret.pmel.noaa.gov/pmel/thredds/dodsC/data/PMEL/coads_climatology.nc"
 sh data
      currently SET data sets:
-    1> http://ferret.pmel.noaa.gov/thredds/dodsC/data/PMEL/coads_climatology.nc  (default)
+    1> http://ferret.pmel.noaa.gov/pmel/thredds/dodsC/data/PMEL/coads_climatology.nc  (default)
  name     title                             I         J         K         L
  SST      SEA SURFACE TEMPERATURE          1:180     1:90      ...       1:12
  AIRT     AIR TEMPERATURE                  1:180     1:90      ...       1:12
@@ -46112,13 +47241,14 @@ ppl list labels
  LINE PT:    0.000E+00 0.000E+00  NO LINE     RIGHT  JUSTIFY LABEL
  LAB 4  4.000E+00  6.330E+00 0.120    0  SYSTEM  @A
  LINE PT:    0.000E+00 0.000E+00  NO LINE     CENTER JUSTIFY LABEL
- LAB 5  8.000E+00  6.790E+00 0.064    0  SYSTEM  @ASOPeNDAP <NL>URL: http://ferret.pmel.noaa.gov/thredds/dodsC/data/PMEL/
+ LAB 5  8.000E+00  6.790E+00 0.058    0  SYSTEM  @ASOPeNDAP <NL>URL: http://ferret.pmel.noaa.gov/pmel/thredds/dodsC/data/PMEL/
  LINE PT:    0.000E+00 0.000E+00  NO LINE     RIGHT  JUSTIFY LABEL
  
  
 ! Fix for bug 906: auto-formatting of labels on color keys loses precision
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err570_keylabels.jnl
 ! err570_keylabels.jnl
 ! 11/2004
@@ -46134,6 +47264,7 @@ shade/lev=(370,382,0.5) a
 ! where polygon arguments have latitude or longitude units
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err570_poly_lonlat_axis.jnl
 ! err570_poly_lonlat_axis.jnl
 ! 12/14/04
@@ -46265,11 +47396,11 @@ list/l=1:6 t[gt=tcoads], tbox[gt=tcoads]
  Column  1: T is T (axis TCOADS)
  Column  2: TBOX is TBOX (axis TCOADS)
                          T   TBOX
-16-JAN-1946 12 / 1:  89865.  31.00
+16-JAN-1946 12 / 1:  89864.  31.00
 15-FEB-1946 00 / 2:  89894.  28.00
 16-MAR-1946 12 / 3:  89924.  31.00
 16-APR-1946 00 / 4:  89954.  30.00
-16-MAY-1946 12 / 5:  89985.  31.00
+16-MAY-1946 12 / 5:  89984.  31.00
 16-JUN-1946 00 / 6:  90015.  30.00
 can data/all
  
@@ -46284,7 +47415,7 @@ list/l=1:6 t[gt=tcoads], tbox[gt=tcoads]
  Column  1: T is T (axis TCOADS)
  Column  2: TBOX is TBOX (axis TCOADS)
                       T   TBOX
-16-JAN-1946 / 1:  89865.  30.44
+16-JAN-1946 / 1:  89864.  30.44
 15-FEB-1946 / 2:  89895.  30.44
 18-MAR-1946 / 3:  89925.  30.44
 17-APR-1946 / 4:  89956.  30.44
@@ -46691,6 +47822,7 @@ ppl fill
 ! Bug 1160 short axis with irreg bounds seen as regular.
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err580_irreg_bounds.jnl
 ! err580_irreg_bounds.jnl
 ! Define a short irregular time axis with some time_bounds,
@@ -46701,7 +47833,7 @@ GO err580_irreg_bounds.jnl
 def ax/t/edge time = {0,1,3}
 let a = t[gt=time]
 show grid/t a
-    GRID (G001)
+    GRID (G###)
  name       axis              # pts   start                end                 subset
  normal    X
  normal    Y
@@ -46737,6 +47869,7 @@ show grid/t a
 ! Bug 1179 Cartesian_axis and positive="down" resulted in depth axis not being recognized
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err580_cartesian_depth.jnl
  ! err580_cartesian_depth.jnl
 ! cartesian_axis attribute
@@ -46756,6 +47889,7 @@ sh grid temp
 ! Bug 1181 Titles were truncated at 80 characters
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err580_long_title.jnl
  
  ! err580_long_title.jnl
@@ -46769,6 +47903,7 @@ sp ncdump longtitle.nc >> all_ncdump.out
 ! Bug 1180 Allow "use filename.des"
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err580_use_des.jnl
 ! err580_use_des.jnl
 ! Allow "use filename.des"   (previously gave an "is this a CDF file?" error)
@@ -46785,6 +47920,7 @@ sh data
 ! Bug 1180 Allow "use filename.des"
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err580_use_des.jnl
 ! err580_use_des.jnl
 ! Allow "use filename.des"   (previously gave an "is this a CDF file?" error)
@@ -46800,6 +47936,7 @@ sh data
 ! fix for bug 1181: dataset title was limited to 80 characters.
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err580_long_dsettitle.jnl
 ! err580_long_dsettitle
 ! fix for bug 1181
@@ -46822,6 +47959,7 @@ sp ncdump longtitle.nc >> all_ncdump.out
 ! fix for bug 1200:crash due to the long veckey format spec.
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err580_long_veckey.jnl
 ! err580_long_veckey.jnl
 ! Bug 1200 The following caused a crash due to the long veckey format spec.
@@ -46837,6 +47975,7 @@ ppl veckey,0,0,,"(1PG10.3)"
 ! fix for bug 1201: mistranslation of time region.
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err580_cal360_region.jnl
 ! err580_cal360_region.jnl
 ! Wrong output region: the set region mistakenly tranlated
@@ -46858,6 +47997,7 @@ default region:
 ! fix for bug 1203: crash if time range left off.
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err580_def_tax_norange.jnl
 ! err580_def_t_norange.jnl
 ! bug 1203. without the T range, these statements cause a STOP.
@@ -46870,6 +48010,7 @@ DEFINE AXIS/T0="1-JAN-1861"/UNITS=months/T/CALENDAR=noleap myt
 ! fix for bug 1207: closest distance and closest index transformations.
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err580_cdb.jnl
 ! err580_cdb.jnl
 ! bug 1207
@@ -46913,6 +48054,7 @@ list var[i=5 at cia:10]
 ! fix for bug 1214: crash on repeating a SET VIEW when viewport defined with /AXES
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err580_def_view_axes.jnl
 ! err580_def_view_axes.jnl
 ! BUG 1214
@@ -46953,6 +48095,7 @@ sp rm -f viewaxes.plt*
 ! fix for bug 1205: symbol LEV_DEL wrong when single level specified
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err580_lev_del.jnl
 ! err580_lev_del.jnl
 ! demonstrates bug 1205; precision of LEV_DEL when single level specified.
@@ -46981,6 +48124,7 @@ LEV_DEL = "1.2"
 ! Fix for bug 1174: strfloat_c("nonsense") gave result of 0 rather than missing.
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err580_strfloat_errors.jnl
 ! err580_strfloat_errors.jnl
 ! Previously a nonsense input gave a result of 0.
@@ -47002,6 +48146,7 @@ list/prec=6 strfloat(b)
 ! Fixes for bugs 1249, 1250: uppercase not recognized for qualifier argument
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err580_arg_case.jnl
 ! err580_arg_case.jnl
 ! 5/2005
@@ -47021,6 +48166,7 @@ plot/step=CONN/i=1:10 sin(i)
 ! Fixes for bugs 1019: kludge for CDC time axes made time origin incorrect on outputs
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err580_cdc_timeaxis.jnl
 ! err580_cdc_timeaxis.jnl
 ! 6/3/05
@@ -47070,6 +48216,7 @@ sp rm -f my_cdc_timeaxis.nc
 ! Fix for bug 1272: show axis/t= with NOLEAP calendar
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err580_show_axis_t.jnl
 ! err580_show_axis_t
 ! bug 1272: wrong range shown when nonstd calendar
@@ -47116,6 +48263,7 @@ T0 = 15-JAN-1901
 ! Fix for bug 1279 which was only in the first iteration of v5.81 release
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err581_nlev.jnl
 ! err580_nlev.jnl
 ! bug 1279
@@ -47130,6 +48278,7 @@ fill/lev=30 sst[l=2]
 ! acm 8/29/2005
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err581_vs_poly_axis.jnl
 ! err581_vs_poly_axis.jnl
 ! Test fix of bug 1349: formatted axis labels on PLOT/VS and POLYGON plot
@@ -47330,7 +48479,7 @@ list element_index_str_n (axy[k=1:2,j=1:2], {"a10", "a2", "d4", "c5"})
  
 ! ferret version
 sh sym FERRET_VERSION
-FERRET_VERSION = "7.1"
+FERRET_VERSION = "7.2"
  
 ! history attribute
 let a = 12
@@ -47348,7 +48497,7 @@ LAB1 = "X : 0.5 to 314.5"
  
 ! show commands without an argument, lists version number at the top
 sho command
- Commands in Program FERRET  version7.1:
+ Commands in Program FERRET  version7.2:
  SET
  SET WINDOW/SIZE/NEW/LOCATION/ASPECT/CLEAR/TITLE
  SET REGION/I/J/K/L/M/N/X/Y/Z/T/E/F/DX/DY/DZ/DT/DE/DF/DI/DJ/DK/DL/DM/DN
@@ -47381,7 +48530,7 @@ sho command
  SHOW MOVIE/ALL
  SHOW VARIABLE/ALL/DATASET/USER/XML/OUTFILE/APPEND/CLOBBER/TREE/LAYERZ/CURVILIN
  SHOW COMMANDS/ALL/BRIEF
- SHOW MEMORY/ALL/TEMPORY/PERMANT/FREE
+ SHOW MEMORY/ALL/DIAGNOST/TEMPORY/PERMANT/FREE
  SHOW GRID/ALL/I/J/K/L/M/N/X/Y/Z/T/E/F/DYNAMIC/XML/OUTFILE/APPEND/CLOBBER
  SHOW VIEWPORT/ALL
  SHOW TRANFORM/ALL
@@ -47451,15 +48600,14 @@ sho command
  PPLUS/RESET
  FRAME/FORMAT/FILE/TRANSPAR
  REPEAT/I/J/K/L/M/N/X/Y/Z/T/E/F/ANIMATE/LOOP/RANGE/NAME
- STAT/BRIEF/I/J/K/L/M/N/X/Y/Z/T/E/F/DATASET
+ STAT/BRIEF/PRECISIO/I/J/K/L/M/N/X/Y/Z/T/E/F/DATASET
  SHADE/I/J/K/L/M/N/X/Y/Z/T/E/F/OVERLAY/SET_UP/FRAME/DATASET/TRANPOSE/TRIM
         /LINE/NOLABEL/LEVELS/KEY/NOKEY/PALETTE/XLIMITS/YLIMITS/TITLE/AXES
         /NOAXES/PATTERN/HGRATICU/VGRATICU/GRATICUL/MODULO/HLIMITS/VLIMITS
         /DEGMINSE/HALFSPAC
  SPAWN
- USER/OPT1/OPT2/COMMAND/I/J/K/L/X/Y/Z/T/DATASET/FILE/FORMAT
  WIRE/I/J/K/L/M/N/X/Y/Z/T/E/F/OVERLAY/SET_UP/FRAME/DATASET/VIEWPOIN/ZLIMITS
-       /TRANPOSE/NOLABEL/ZSCALE/TITLE
+       /TRANPOSE/NOLABEL/ZSCALE/COLOR/TITLE
  QUERY/ALL/FILE/IGNORE
  IF
  ELSE
@@ -47501,7 +48649,7 @@ sho sym win_title
 WIN_TITLE = "_"
  
 set win/title="($session_date):($session_time)"
- !-> set win/title=" 9-Feb-17:14:24"
+ !-> set win/title="DD-MON-YY HH:MM"
  
 ! If the date or time starts with a blank then we get an extra
 ! underscore in the window title. Evaluating the symbols into
@@ -47510,16 +48658,16 @@ set win/title="($session_date):($session_time)"
 ! If so substitute another string.
  
 DEFINE SYMBOL the_date = ($session_date"SESSION_DATE")
- !-> DEFINE SYMBOL the_date =  9-Feb-17
+ !-> DEFINE SYMBOL the_date = DD-MON-YY
 DEFINE SYMBOL the_time = ($session_time"SESSION_TIME")
- !-> DEFINE SYMBOL the_time = 14:24
+ !-> DEFINE SYMBOL the_time = HH:MM
 SET WIN/TITLE="($the_date):($the_time)"
- !-> SET WIN/TITLE="9-Feb-17:14:24"
+ !-> SET WIN/TITLE="DD-MON-YY HH:MM"
  
 can win/all
 set win/new
 sh sym win_title
-WIN_TITLE = "9-Feb-17:14:24"
+WIN_TITLE = "DD-MON-YY HH:MM"
 *** Running ferret script: bn_last_error.jnl
 ! bn_last_error.jnl
 ! acm Nov 2005
@@ -47795,7 +48943,7 @@ list  zl2,(zl2+zh2)/2,zh2
 K / 1:   0.50    1.5    2.5
 K / 2:   2.50    5.5    8.5
 K / 3:   8.50   20.5   32.5
-K / 4:  32.50  116.3  200.0
+K / 4:  32.50  116.2  200.0
 def axis/z/bounds zax2 = (zl2+zh2)/2, zl2, zh2
  
 list zboxlo[gz=zax2], z[gz=zax2], zboxhi[gz=zax2]
@@ -47807,7 +48955,7 @@ list zboxlo[gz=zax2], z[gz=zax2], zboxhi[gz=zax2]
 1.5   / 1:   0.50    1.5    2.5
 5.5   / 2:   2.50    5.5    8.5
 20.5  / 3:   8.50   20.5   32.5
-116.3 / 4:  32.50  116.3  200.0
+116.2 / 4:  32.50  116.2  200.0
  
 use gt4d011
  
@@ -47837,11 +48985,11 @@ K /  4:    60.    70.    80.
 K /  5:    80.    90.   100.
 K /  6:   100.   114.   128.
 K /  7:   128.   146.   165.
-K /  8:   165.   193.   220.
-K /  9:   220.   269.   317.
+K /  8:   165.   192.   220.
+K /  9:   220.   268.   317.
 K / 10:   317.   438.   559.
-K / 11:   559.   859.  1158.
-K / 12:  1158.  1679.  2199.
+K / 11:   559.   858.  1158.
+K / 12:  1158.  1678.  2199.
 K / 13:  2199.  2849.  3499.
 def axis/z/bounds zax2 = (zl2+zh2)/2, zl2, zh2
  
@@ -47863,15 +49011,15 @@ list zboxlo[gz=temp], z[gz=temp], zboxhi[gz=temp]
 75      /  8:    70.    75.    80.
 85      /  9:    80.    85.    90.
 95      / 10:    90.    95.   100.
-106.3   / 11:   100.   106.   113.
-120     / 12:   113.   120.   128.
-136.3   / 13:   128.   136.   145.
+106.2   / 11:   100.   106.   112.
+120     / 12:   112.   120.   128.
+136.2   / 13:   128.   136.   145.
 155     / 14:   145.   155.   165.
 177.5   / 15:   165.   178.   190.
 205     / 16:   190.   205.   220.
 240     / 17:   220.   240.   260.
-288.5   / 18:   260.   289.   317.
-362.5   / 19:   317.   363.   408.
+288.5   / 18:   260.   288.   317.
+362.5   / 19:   317.   362.   408.
 483.5   / 20:   408.   484.   559.
 680     / 21:   559.   680.   801.
 979.5   / 22:   801.   980.  1158.
@@ -47894,12 +49042,12 @@ list zboxlo[gz=zax2], z[gz=zax2], zboxhi[gz=zax2]
 70     /  4:    60.    70.    80.
 90     /  5:    80.    90.   100.
 113.8  /  6:   100.   114.   128.
-146.3  /  7:   128.   146.   165.
-192.5  /  8:   165.   193.   220.
-268.5  /  9:   220.   269.   317.
+146.2  /  7:   128.   146.   165.
+192.5  /  8:   165.   192.   220.
+268.5  /  9:   220.   268.   317.
 438    / 10:   317.   438.   559.
-858.5  / 11:   559.   859.  1158.
-1678.5 / 12:  1158.  1679.  2199.
+858.5  / 11:   559.   858.  1158.
+1678.5 / 12:  1158.  1678.  2199.
 2849   / 13:  2199.  2849.  3499.
 *** Running ferret script: bn_attributes.jnl
 ! bn_attributes
@@ -48266,6 +49414,7 @@ can mode ignore
  
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
  
 !-----
 ! attributes of string variables
@@ -48281,6 +49430,7 @@ sp ncdump a.nc >> all_ncdump.out
  
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
  
 !-----
 ! Demonstrate `var,return=` output for attributes
@@ -48325,6 +49475,7 @@ say `broiled.acf,return=size`
  
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
  
 !-----
 ! define variables to contain attribute value(s)
@@ -48359,6 +49510,7 @@ list s
  
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
  
 !-----
 ! Variables containing number of variables, attributes, dimensions,
@@ -48567,6 +49719,7 @@ let anames = `names[i=2]`.attnames
  
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
  
  
 !-----
@@ -48608,6 +49761,7 @@ say `(yax_lev94).nattrs[d=1]`
  
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
  
 !-----
 ! more on access to attribute names and values as variables
@@ -48627,12 +49781,10 @@ list/d=3 a
 list temp.units[d=3]
              VARIABLE : TEMP.UNITS[D=ocean_atlas_temp]
              FILENAME : ocean_atlas_temp.cdf
-             X        : 1
         "Deg C"
 list/d=3 temp.history
              VARIABLE : TEMP.HISTORY
              FILENAME : ocean_atlas_temp.cdf
-             X        : 1
         "From ocean_atlas_monthly"
  
 can data/all
@@ -48749,6 +49901,7 @@ list a[i=1]
  
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
  
 !-----
 ! keyword . to refer to global properties and attributes
@@ -48793,7 +49946,6 @@ sh data
 list/d=2 ..varnames
              VARIABLE : ..VARNAMES
              FILENAME : coads_climatology.cdf
-             X        : 1
         "SST"
  
 list/d=2 ..dimnames
@@ -48837,7 +49989,6 @@ list/d=1 ..nattrs
 list/d=1 ..attnames
              VARIABLE : ..ATTNAMES
              FILENAME : gt4d011.cdf
-             X        : 1
         "history"
  
 list/d=1 ..ndims
@@ -48886,6 +50037,7 @@ list/d=2 pp
  
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
  
 !-----
 ! Editing attributes: add new attributes to a variable.
@@ -48938,6 +50090,7 @@ sh att/all temp[d=1]
  
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
  
 !-----
 ! Edit existing attributes on variables
@@ -48971,12 +50124,10 @@ use coads_climatology
 list (coadsx).units
              VARIABLE : (COADSX).UNITS
              FILENAME : coads_climatology.cdf
-             X        : 1
         "degrees_east"
 list (coadsx).modulo
              VARIABLE : (COADSX).MODULO
              FILENAME : coads_climatology.cdf
-             X        : 1
         " "
 sho att/all (coadsx)
      attributes for dataset: ./coads_climatology.cdf
@@ -49106,6 +50257,7 @@ can view
 can mode ignore
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
  
 !-----
 ! Edit attributes: inherit all attrs from another variable
@@ -49171,7 +50323,7 @@ sh att/all temp3
  
 can var temp2
 let/units="degrees C"/title="my new TEMP"/bad=`temp,return=bad` temp2 = temp*2
- !-> DEFINE VARIABLE/units="degrees C"/title="my new TEMP"/bad= -9.999999790214768E+33 temp2 = temp*2
+ !-> DEFINE VARIABLE/units="degrees C"/title="my new TEMP"/bad=-9.999999790214768E+33 temp2 = temp*2
 sh att/all temp2
      attributes for user-defined variables
  temp2.long_name = my new TEMP 
@@ -49180,6 +50332,7 @@ sh att/all temp2
  
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
  
 !-----
 ! Edit attributes, changing type
@@ -49269,6 +50422,7 @@ list pq
  
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
  
 ! When we CANCEL MODE upcase_output, writing a netcdf file preserves
 ! case of variable and axis names. This file has lower case and some
@@ -49290,6 +50444,7 @@ set mode/last upcase_output
  
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
  
 !-----
  
@@ -49337,6 +50492,7 @@ sp ncdump -c a.nc >> all_ncdump.out
  
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
  
  
 !-----
@@ -49400,6 +50556,7 @@ sp ncdump -h a.nc >> all_ncdump.out
  
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
  
 !-----
 ! Read EZ ascii, delimited, and stream data files,
@@ -49422,15 +50579,15 @@ sh dat/att
   
  .                               history         CHAR        6    F       EZ.DAT
   
- a1                    FLOAT     long_name       CHAR        2    T       a1
-                                 missing_value   FLOAT       1    T       -1.E+34
+ a1                    DOUBLE    long_name       CHAR        2    T       a1
+                                 missing_value   DOUBLE      1    T       -1.E+34
                                  three           FLOAT       3    T       1 2 3
   
- a2                    FLOAT     long_name       CHAR        2    T       a2
-                                 missing_value   FLOAT       1    T       -1.E+34
+ a2                    DOUBLE    long_name       CHAR        2    T       a2
+                                 missing_value   DOUBLE      1    T       -1.E+34
   
- a3                    FLOAT     long_name       CHAR        2    T       a3
-                                 missing_value   FLOAT       1    T       -1.E+34
+ a3                    DOUBLE    long_name       CHAR        2    T       a3
+                                 missing_value   DOUBLE      1    T       -1.E+34
   
 save/file=a.nc/clobber a1,a2,a3
 sp echo "bn_attributes.jnl --- 14 attributes of data from ez data." >> all_ncdump.out
@@ -49469,6 +50626,7 @@ sh att/all num
  num.new = a string attribute 
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
  
 !-----
 ! manipulate attributes of user-defined variables
@@ -49521,6 +50679,7 @@ sp ncdump -h a.nc >> all_ncdump.out
  
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
  
 !-----
  
@@ -49586,6 +50745,7 @@ sp ncdump a.nc  >> all_ncdump.out
  
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
  
 !-----
 ! Set type of data on output, uses netcdf call to output
@@ -49653,6 +50813,7 @@ can data test0
  
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
  
 !-----
 ! More tests of user-defined variables. Bug 1427, now fixed, problem with varid of user vars
@@ -49728,6 +50889,7 @@ set var/outtype=garbage broiled
 can mode ignore
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
  
  
 !---!!!---
@@ -49775,6 +50937,7 @@ save/file=a.nc/clobber/L=1 t2
 sp ncdump -h a.nc >> all_ncdump.out
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
  
 ! User-defined axes and variables
  
@@ -49805,6 +50968,7 @@ sh att/all (x2ax)
  
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
  
 use levitus_climatology
 define att/out (`temp,return=xaxis`).new_att = "something"
@@ -49848,6 +51012,7 @@ save/file=a.nc/clobber/y=0:5 two
 sp ncdump -h a.nc >> all_ncdump.out
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
  
 ! defining more axes with attributes
  
@@ -49881,6 +51046,7 @@ sp ncdump -h string4d.nc >> all_ncdump.out
  
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 ! For SET ATT timeaxis.units or SET ATT timeaxis.time_origin
 ! include the correct time origin as part of the units attribute.
  
@@ -50510,10 +51676,13 @@ use this_is_not_a_file.nc
 !!use "http://iridl.ldeo.columbia.edu/SOURCES/.FSU/.FULL/.tauyyyyy/dods"
  
 ! This is a valid address
-use "http://ferret.pmel.noaa.gov/thredds/dodsC/data/PMEL/COADS/coads_air.cdf"
+use "http://ferret.pmel.noaa.gov/pmel/thredds/dodsC/data/PMEL/COADS/coads_air.cdf"
+ 
+ 
+! Intentional errors
  
 ! change the variable name to something nonexistent
-use "http://ferret.pmel.noaa.gov/thredds/dodsC/data/PMEL/COADS/coads_nothing.cdf"
+use "http://ferret.pmel.noaa.gov/pmel/thredds/dodsC/data/PMEL/COADS/coads_nothing.cdf"
  
 ! bad server
 use  "http://noserver/a/nofile.cdf"
@@ -50537,6 +51706,7 @@ set mode/last ignore
 ! Bug 1129 axis formatting when /HLIM sets axis length < 0.15 deg
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err581_hlim_axislab.jnl
 ! err581_hlim_axislab.jn
 ! bug 1129
@@ -50571,6 +51741,7 @@ ppl list xaxis
 ! Bug 1275 stray characters appear in data lines listing string data
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err581_list_stray_chars.jnl
 ! err581_list_stray_chars.jnl
 ! 8/2005 (acm) bug 1275  stray characters in data listing
@@ -50608,6 +51779,7 @@ list/i=1:5 id, country, type
 ! pattern matching for SHO FUNC failed to match all EF's
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err581_sho_func_pattern_match.jnl
 ! err581_sho_func_pattern_match.jnl
 ! bug 1186
@@ -50637,11 +51809,11 @@ ELEMENT_INDEX_STR_N(VAR,STRINGS)
     VAR: string data to mask (STRING)
     STRINGS: list of strings to match (STRING)
 IS_ELEMENT_OF(VAR,VALUES)
-    Returns 1 if first argument contains any of the values in argument 2, else 0
+    Returns 1 if first argument contains any of the values in 2nd arg, else 0
     VAR: data to test
     VALUES: values to search for
 IS_ELEMENT_OF_STR(VAR,VALUES)
-    Returns 1 if first argument contains any of the values in 2nd argument (case sensitive), else 0
+    Returns 1 if first argument contains any of the values in 2nd arg (case sensitive), else 0
     VAR: string (STRING)
     VALUES: strings to search (STRING)
 IS_ELEMENT_OF_STR_N(VAR,VALUES)
@@ -50652,6 +51824,7 @@ IS_ELEMENT_OF_STR_N(VAR,VALUES)
 ! FILL on data with subspan modulo axis, got wrong data
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err581_subspanx_fill_bug.jnl
 ! err581_subspanx_fill_bug.jnl
 ! bug 900: subspan longitude axis and hlimits gets wrong data
@@ -50677,6 +51850,7 @@ sp rm -f err581_subspanx_fill_bug.nc
 ! bug 1318 Spurious error message on USE file where file has axes with bounds.
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err581_use_bounds.jnl
 ! err581_use_bounds.jnl
 ! bug 1318 Spurious error message on USE file where file has axes with bounds.
@@ -50692,6 +51866,7 @@ use xyir
 ! Bug 1332 variable not scaled unless it is first variable in stepfile.
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err581_des_scale.jnl
 ! err581_des_scale.jnl  bug 1332. When using a descriptor file and
 ! a varriable has scale_factor and/or add_offset attributes, the
@@ -50711,6 +51886,7 @@ EXIT/SCRIPT   ! error in namelist record...
 ! Bug 1335 Zero-contour should be dark line.
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err581_contour_zero_lev.jnl
 ! err581_contour_zero_lev.jnl
 ! acm 9/7/2005
@@ -50723,6 +51899,7 @@ contour/lev=(-20,20,2) sst[L=1] - 20
 ! Bug 1339, code hangs with this combination of (-INF)(INF) levels and shakey
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err581_shakey_inf.jnl
 ! err581_shakey_inf.jnl
 ! acm 9/7/2005
@@ -50741,6 +51918,7 @@ ppl/reset  ! undo the SHAKEY setting.
 ! Bug 918, immediate mode parsing in IF blocks
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err581_if_conditional.jnl
 ! err581_if_conditional.jnl  bug 918.
 ! acm 10/2005
@@ -50951,6 +52129,7 @@ palette rainbow
 ! Ungraceful STOP if we asl for multi-var transformations on axis where there is no data
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err581_illegal_trans.jnl
 ! err581_illegal_trans.jnl
 ! Ungraceful STOP if we do @VAR on an axis where there is no data
@@ -50967,6 +52146,7 @@ can mode ignore_error
 ! missing flag gets scaled by scale and offset factors!
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err581_missing_scale_off.jnl
 ! err581_missing_scale_off.jnl
 ! ACM 11/8/05
@@ -51000,6 +52180,7 @@ list tt
 ! SHOW GRID and other output have wrong dates, non-std calendar axesv
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err581_cal_dates_output.jnl
 ! err581_cal_dates_output.jnl
 ! bug 1363:
@@ -51026,6 +52207,7 @@ sho grid t3
 ! STOP on shade command when modulo-regridding a time-limited nonstd calendar
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err581_noleap_mod.jnl
 ! err581_noleap_mod.jnl
 ! This is bug 1365: STOP on shade command
@@ -51045,6 +52227,7 @@ shade/y=0/k=1 a_clim
 ! CANCEL DATA errors
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err581_cancel_data.jnl
 ! err581_cancel_data.jnl
  
@@ -51097,6 +52280,7 @@ sp rm -f subdir/0000_a.nc
 ! CANCEL DATA errors
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err581_since_units.jnl
 ! err581_since_units.jnl
 ! bug 1394: units of months_since_event
@@ -51129,6 +52313,7 @@ list a
 ! CANCEL DATA errors
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err581_exp_spaces.jnl
 ! err581_exp_spaces.jnl
 ! bug 1395
@@ -51185,6 +52370,7 @@ can mode ignore
 ! bugs 439,1390: applying command context
 GO bn_reset.jnl
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err581_command_cx.jnl
 ! err590_command_cx.jnl
 ! bugs 439 and 1390: the command context should apply to immed. mode evaluation
@@ -51211,6 +52397,7 @@ can mode ignore
 ! bug 1401: define 1-point axis with bounds; gets bounds wrong
 GO bn_reset.jnl
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err581_define_1pt_bounds.jnl
 ! err581_define_1pt_bounds.jnl
 ! see bug 1401:
@@ -51254,6 +52441,7 @@ list xboxlo[gx=xax],xboxhi[gx=xax],x[gx=xax]
 ! Bug in strrindex when 1st argument is a list of strings
 GO bn_reset.jnl
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err581_strrindex.jnl
 ! err581_strrindex.jnl
 ! 5/2/2006
@@ -51273,6 +52461,7 @@ list strrindex(var,"s")
 ! POLYGON/LINE over a depth axis.
 GO bn_reset.jnl
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err581_poly_rev.jnl
 ! err581_poly_rev.jnl
 ! POLYGON/LINE mis-locates the line when there is a depth or
@@ -51335,6 +52524,7 @@ set mem /size=25.6
 ! Bug 1443
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err600_long_bounds_name
 ! err600_long_bounds_name.jnl
 ! Long name for bounds attribute was not read by Ferret
@@ -51367,6 +52557,7 @@ list  x[gx=var], xbox[gx=var], xboxlo[gx=var], xboxhi[gx=var]
 ! bug1434
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err600_check_bounds_regular.jnl
 ! err600_check_bounds_regular.jnl
 ! Previously TM_CHECK_BNDS had not been used to check bounds on regular axes.
@@ -51387,6 +52578,7 @@ use b
 ! Bug 1439
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err600_long_symbol_string.jnl
 ! err600_longsym_symbol_string.jnl
 ! Long values for symbols: previously strings were cut off at 255 characters.
@@ -51430,6 +52622,7 @@ CANCEL SYMBOL longsym*
 ! bug 1445
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err600_missing_flag.jnl
 ! noglobalhistory.nc has no global history attribute, and
 ! also the variable B has no missing or fill value flag
@@ -51453,6 +52646,7 @@ list b
 ! ( a parsing error, confusing the dot in the filename with dot in `var.att,return=size` )
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err600_returnsize.jnl
 ! err600_returnsize.jnl
 ! ACM 10-4-2006
@@ -51480,6 +52674,7 @@ say `(($the_x_axis)).units,return=size`
 ! thrown off and we got an error about an invalid ENDIF
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err600_if_comments_tab.jnl
 ! err600_if_comments_tab.jnl
 ! ACM 10-4-2006
@@ -51497,6 +52692,7 @@ ENDIF
 ! Bug 1454 Settings made by SET VAR/TITLE=/UNITS= were not saved in output file
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err600_set_var_title.jnl
 ! err600_set_var_title.jnl
 ! Bug 1454
@@ -51554,6 +52750,7 @@ use a.nc
 ! be labelled with the var name but it only has units label
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err600_var_label.jnl
 ! err600_var_label.jnl
 ! bug1442
@@ -51599,6 +52796,7 @@ list/i=70/l=1/j=30/k=1 temp
 ! Bug 1461 upcasing of axis name on creating bounds variable for output
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err600_upcase.jnl
  ! err600_upcase.jnl
  ! 10/23/2006
@@ -51623,6 +52821,7 @@ SET MODE/LAST ignore_error
 ! structure fail, and the list of variable names was incorrect.
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err600_let_d.jnl
 ! err600_let_d.jnl
 ! Making a LET/D= assignment caused the return of dimension
@@ -51650,6 +52849,7 @@ list ..varnames
 ! Bug 1459 order of multiple descriptor file opening causes netCDF error
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err600_nc_des_order.jnl
 ! err600_nc_des_order.jnl
 ! 11/07/2006 ACM
@@ -51711,6 +52911,7 @@ stat rose[j=12,d=1]
 ! in the attribute structure.
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err600_reset_redefine_axis.jnl
 ! err600_reset_redefine_axis.jnl
 ! Bug 1470; redefine or reset attributes of an axis
@@ -51844,6 +53045,7 @@ show axis ($zax)
 ! orig_file_axname keeps the input name.
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err600_ferret_axis_names.jnl
 ! err600_ferret_axis_names.jnl
 ! If Ferret needed to rename an axis on file initialization for uniqueness,
@@ -51901,7 +53103,7 @@ sho dat/att
  Variable    VarType(in dset)    AttributeName   AttType     Size OutFlag AttValue
 ------------------------------------------------------------------------------------------
   
- .                               history         CHAR        22   T       FERRET V7.1   9-Feb-17
+ .                               history         CHAR        22   T       FERRET V7.2  DD-MON-YY
                                  Conventions     CHAR        6    F       CF-1.6
   
 (PSXT91_108)           DOUBLE    units           CHAR        12   T       degrees_east
@@ -51950,7 +53152,7 @@ sho dat/att
  Variable    VarType(in dset)    AttributeName   AttType     Size OutFlag AttValue
 ------------------------------------------------------------------------------------------
   
- .                               history         CHAR        22   T       FERRET V7.1   9-Feb-17
+ .                               history         CHAR        22   T       FERRET V7.2  DD-MON-YY
                                  Conventions     CHAR        6    F       CF-1.6
   
 (PSXT91_108)           DOUBLE    units           CHAR        12   T       degrees_east
@@ -52001,6 +53203,7 @@ sho dat/att
 ! should output a comma or tab as placeholder for the missing value
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err600_tab_comma_missingdat.jnl
 ! err600_tab_comma_missingdat.jnl
 ! 11/21/2006 acm
@@ -52073,6 +53276,7 @@ list/form=tab a,b,a
 ! VECTOR/ASPECT plots are wrong (incorrect fix for bug 1348)
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err600_vec_aspect.jnl
 ! err600_vec_aspect.jnl
 ! VECTOR/ASPECT plots are wrong (incorrect fix for bug 1348)
@@ -52096,6 +53300,7 @@ vec/asp/over a,b
 ! when checking whether 2nd variable has same grid.
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err600_save_two.jnl
 ! err600_save_two.jnl
 ! 12/11/2006
@@ -52113,6 +53318,7 @@ save/clobber/file="out.nc" olr[d=1], swdn_toa[d=2]
 ! Bug 1459 order of multiple descriptor file opening causes netCDF error
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err600_nc_des_order.jnl
 ! err600_nc_des_order.jnl
 ! 11/07/2006 ACM
@@ -52212,17 +53418,17 @@ use coads_climatology
 set axis/stride=2/offset=1 `sst, return=xaxis`
  !-> set axis/stride=2/offset=1 COADSX
 show axis `sst,return=xaxis`
- !-> show axis (AX005)
+ !-> show axis (AX###)
  name       axis              # pts   start                end
- (AX005)   LONGITUDE           90mr   23E                  19E(379)
+ (AX###)   LONGITUDE           90mr   23E                  19E(379)
    Axis span (to cell edges) = 360 (modulo length = axis span)
 !can't stride it again
 set axis/stride=2/offset=1 `sst, return=xaxis`
- !-> set axis/stride=2/offset=1 (AX005)
+ !-> set axis/stride=2/offset=1 (AX###)
 show axis `sst,return=xaxis`
- !-> show axis (AX005)
+ !-> show axis (AX###)
  name       axis              # pts   start                end
- (AX005)   LONGITUDE           90mr   23E                  19E(379)
+ (AX###)   LONGITUDE           90mr   23E                  19E(379)
    Axis span (to cell edges) = 360 (modulo length = axis span)
 cancel data/all
  
@@ -52271,7 +53477,7 @@ list sst[i=11:15,j=50,k=1,l=50]
  
 ! --- after cancel striding
 cancel axis/stride `sst,return=xaxis`
- !-> cancel axis/stride (AX004)
+ !-> cancel axis/stride (AX###)
 list sst[i=21:30,j=50,k=1,l=50]
              VARIABLE : SEA SURFACE TEMPERATURE (Deg C)
              FILENAME : coads_climatology.cdf
@@ -52322,7 +53528,7 @@ show grid/dynamic
 Dynamic grids:
     no implicit grids
 Dynamic axes:
-    AXIS (AX001)                         use count:   1
+    AXIS (AX###)                         use count:   1
 cancel data/all
  
 !.............7. cancel stride on a non-strided axis
@@ -52340,24 +53546,24 @@ use coads_climatology
 set axis/stride=6/offset=5 `sst,return=xaxis`
  !-> set axis/stride=6/offset=5 COADSX
 show axis `sst,return=xaxis`
- !-> show axis (AX005)
+ !-> show axis (AX###)
  name       axis              # pts   start                end
- (AX005)   LONGITUDE           30mr   31E                  19E(379)
+ (AX###)   LONGITUDE           30mr   31E                  19E(379)
    Axis span (to cell edges) = 360 (modulo length = axis span)
 cancel axis/stride `sst,return=xaxis`
- !-> cancel axis/stride (AX005)
+ !-> cancel axis/stride (AX###)
  
 !--- 8.2 stride value is not an integer factor of the axis length
 ! warning: it may lose modulo property
 set axis/stride=7/offset=5 `sst,return=xaxis`
  !-> set axis/stride=7/offset=5 COADSX
 show axis `sst,return=xaxis`
- !-> show axis (AX001)
+ !-> show axis (AX###)
  name       axis              # pts   start                end
- (AX001)   LONGITUDE           25 r   31E                  7E(367)
+ (AX###)   LONGITUDE           25 r   31E                  7E(367)
    Axis span (to cell edges) = 350
 cancel axis/stride `sst,return=xaxis`
- !-> cancel axis/stride (AX001)
+ !-> cancel axis/stride (AX###)
 cancel data/all
  
 ! --- 8.3 testing strided modulo axis
@@ -52366,7 +53572,7 @@ set axis/stride=2/offset=1 `sst,return=xaxis`
  !-> set axis/stride=2/offset=1 COADSX
 shade/x=-180:180/y=-30:70/L=2 sst
 cancel axis/stride `sst,return=xaxis`
- !-> cancel axis/stride (AX005)
+ !-> cancel axis/stride (AX###)
 cancel data/all
  
 !.............9. two datasets share the same grid
@@ -52461,9 +53667,9 @@ show data/all
 set axis/stride=5 `sst,return=yaxis`
  !-> set axis/stride=5 COADSX
 show axis `sst,return=yaxis`
- !-> show axis (AX005)
+ !-> show axis (AX###)
  name       axis              # pts   start                end
- (AX005)   LONGITUDE           36mr   21E                  11E(371)
+ (AX###)   LONGITUDE           36mr   21E                  11E(371)
    Axis span (to cell edges) = 360 (modulo length = axis span)
  
 can data/all
@@ -52564,19 +53770,19 @@ set axis/stride=2 `sst, return=taxis`
  !-> set axis/stride=2 TIME
  
 show axis `sst,return=xaxis`
- !-> show axis (AX007)
+ !-> show axis (AX###)
  name       axis              # pts   start                end
- (AX007)   LONGITUDE           90mr   21E                  17E(377)
+ (AX###)   LONGITUDE           90mr   21E                  17E(377)
    Axis span (to cell edges) = 360 (modulo length = axis span)
 show axis `sst,return=yaxis`
- !-> show axis (AX004)
+ !-> show axis (AX###)
  name       axis              # pts   start                end
- (AX004)   LATITUDE            45 r   89S                  87N
+ (AX###)   LATITUDE            45 r   89S                  87N
    Axis span (to cell edges) = 180
 show axis `sst,return=taxis`
- !-> show axis (AX001)
+ !-> show axis (AX###)
  name       axis              # pts   start                end
- (AX001)   TIME                 2 r   16-JAN-0000 06:00    17-MAR-0000 02:58
+ (AX###)   TIME                 2 r   16-JAN-0000 06:00    17-MAR-0000 02:58
 T0 = 01-JAN-0000 00:00:00
    Axis span (to cell edges) = 2921.94
  
@@ -52680,8 +53886,8 @@ say `temp,return=tmod`
 def ax/t=1-aug-0000:1-aug-0001/np=3/edge/units=days tsub
 let a = t[gt=tsub]
 say `a,return=tmod`
- !-> MESSAGE/CONTINUE 365.2424926757813
-365.2424926757813
+ !-> MESSAGE/CONTINUE 365.2424926757812
+365.2424926757812
  
 ! Modulo because defined on longitude coordinates
 define axis/x=130e:80w:10 xsub
@@ -52716,6 +53922,7 @@ say `axy,return=xmod`
 ! bug 1468: SHOW AXIS/ALL/XML listed the wrong info for the calendar
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err601_sho_ax_xml_calendar.jnl
 ! err601_sho_ax_xml_calendar.jnl
 ! 11/8/2006 ACM
@@ -52770,6 +53977,7 @@ sh axis/xml timenoleap
 ! with unspecified_int4.
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err601_index_111.jnl
  
 ! err601_index_111.jnl
@@ -52796,6 +54004,7 @@ list x[gx=sst,x=-193:-203]
 ! Check for irregular axis actually being irregular failed; bug 1483
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err601_irregular_axis.jnl
 ! err601_irregular_axis.jnl
 ! V6.0 had a new scheme to check for irregular axes; for an axis
@@ -52868,6 +54077,7 @@ SHOW GRID/Z atmos
 ! see bug 1485, check on missing coordinates for 3-argument graphics
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err601_check_missing_3arg.jnl
 ! err601_check_missing_3arg.jnl
 ! see bug 1485: if missing coordinates in a curvilinear dataset, we should be
@@ -52951,6 +54161,7 @@ sp rm -f tripolar_missing_lon.nc
 !  when the last element is missing.
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err601_missing_string_element.jnl
 ! err601_missing_string_element.jnl
 !  Bug 1488. Seg fault when try to list a string variable
@@ -53095,6 +54306,7 @@ cancel mode ignore_error
 ! SHADE/LEV did not keep same levels after a SHADE/LINE
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err602_shade_line_lev.jnl
 ! err602_shade_line_lev.jnl
 ! Bug 904.
@@ -53134,6 +54346,7 @@ LEV_DEL = "0.05"
 ! Draw correct SHADE and FILL plots across the modulo branch cut.
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err602_curvi_modulo_cut
 ! err602_curvi_modulo_cut.jnl
 ! 5/07  bug 1302
@@ -53156,6 +54369,7 @@ fill/hlim=75:85/vlim=-10:0/mod u,geolon_c,geolat_c
 ! SET LIST/PREC worked for multi-var listings, LIST/PREC= var1,var2 did not
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err602_list_prec
 ! err602_list_prec.jnl
 ! fixes for bug 1388: SET LIST/PREC worked for multi-variable listings,
@@ -53245,8 +54459,6 @@ LIST/X=179:183/Y=40/L=3 sst
  177W   / 82:  36.24
  
 *** Running ferret script: bn_memory_symbol.jnl
-Unable to allocate 500000.0 Mwords of memory.
-Restoring previous memory of 0.2 Mwords.
 ! bn_memory_symbol.jnl
 ! Ferret v6.06 15-Aug-07
 ! Symbol FERRET_MEMORY shows current size of Ferret memory in MWords
@@ -53258,19 +54470,23 @@ set mem/siz=90
 sh sym ferret_memory
 FERRET_MEMORY = "90"
 show memory
- Current size of FERRET memory cache: 90 MegaWords  (1 word = 8 bytes)
+    SET MEMORY/SIZE: 90 megawords
+    Peak demand: 0 words
+    Current cache: 0 words
  
 set mem/size=0.05
 sh sym ferret_memory
-FERRET_MEMORY = "0.2"
+FERRET_MEMORY = "0.05"
  
 set mem/siz=500000  ! too large to allow
 sho sym ferret_memory
-FERRET_MEMORY = "0.2"
+FERRET_MEMORY = "500000"
  
 set mem/siz=25.6  ! return to the default setting
 show memory
- Current size of FERRET memory cache: 25.6 MegaWords  (1 word = 8 bytes)
+    SET MEMORY/SIZE: 25.6 megawords
+    Peak demand: 0 words
+    Current cache: 0 words
 *** Running ferret script: bn605_bug_fixes.jnl
 ! bn604_bug_fixes.jnl
 ! test various fixes that went into version 6.05
@@ -53279,6 +54495,7 @@ show memory
 ! Fix for Bug 1524: irregular axis detected as REGULAR
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err604_irreg_axis.jnl
 ! Bug 1524: irregular axis detected as REGULAR!
  
@@ -53310,6 +54527,7 @@ list t[gt=month_irreg], tbox[gt=month_irreg]
 ! SHOW FUNCTIONS caused a crash or a message
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err605_show_func.jnl
 ! err605_show_func.jnl
 ! Reported by Andrew W.
@@ -53367,6 +54585,8 @@ DNCASE(STR)
 STRCAT(STR1,STR2)
 SUBSTRING(STR,OFFSET,LENGTH)
 STRFLOAT(STR)
+DOT(VAR1,VAR2,IDIM)
+TRANSPOSE(VAR,DIM1,DIM2)
  
 Externally defined functions available to Ferret:
 AVE_SCAT2GRID_T(TPTS,VPTS,TAXIS)
@@ -53391,9 +54611,16 @@ CONVOLVEM(COM,WEIGHT)
 CONVOLVEN(COM,WEIGHT)
 CURV_RANGE(LONGITUDES,LATITUDES,xrange_lo,xrange_hi,yrange_lo,yrange_hi,modulo flag for X coordinates)
 CURV_TO_RECT(V,mapping)
+CURV_TO_RECT_FSU(V,mapping)
 CURV_TO_RECT_MAP(lon_in,lat_in,grid_out,radius)
 DATE1900(formatted date)
 DAYS1900TOYMDHMS(day1900)
+DOT_E(VAR1,VAR2)
+DOT_F(VAR1,VAR2)
+DOT_T(VAR1,VAR2)
+DOT_X(VAR1,VAR2)
+DOT_Y(VAR1,VAR2)
+DOT_Z(VAR1,VAR2)
 ECAT(A,B)
 ECAT_STR(A,B)
 ELEMENT_INDEX(VAR,VALUES)
@@ -53401,13 +54628,24 @@ ELEMENT_INDEX_STR(VAR,STRINGS)
 ELEMENT_INDEX_STR_N(VAR,STRINGS)
 EOF_SPACE(A,frac_timeser)
 EOF_STAT(A,frac_timeser)
+EOFSVD_SPACE(A)
+EOFSVD_STAT(A)
+EOFSVD_TFUNC(A)
 EOF_TFUNC(A,frac_timeser)
 EREVERSE(A)
+EXPND_BY_LEN(var,len,nx)
+EXPND_BY_LEN_STR(var,len,nx)
 EXPNDI_BY(dat,mask,outsize)
+EXPNDI_BY_M_COUNTS(Data,Row Sizes,Result X axis)
+EXPNDI_BY_M_COUNTS_STR(Data,Row Sizes,Result X axis)
 EXPNDI_BY_T(dat,mask,n_profiles,max_profile_len)
 EXPNDI_BY_Z(dat,mask,n_profiles,max_profile_len)
+EXPNDI_BY_Z_COUNTS(dat,counts,max_profile_len)
+EXPNDI_ID_BY_Z_COUNTS(counts,max profile len)
+EXPNDI_TO_ET(var data,time data,Rowsize (E direction),Result T)
 FCAT(A,B)
 FCAT_STR(A,B)
+FC_ISUBSET(index_list,lengths,nx,FullData)
 FFTA(A)
 FFT_IM(A)
 FFT_INVERSE(A,B)
@@ -53418,6 +54656,7 @@ FINDHI(A,XRANGE,YRANGE)
 FINDLO(A,XRANGE,YRANGE)
 FLOATSTR(A,FMT)
 FREVERSE(A)
+FT_TO_ORTHOGONAL(VAR,TIME2D,ALLTIME)
 IS_ELEMENT_OF(VAR,VALUES)
 IS_ELEMENT_OF_STR(VAR,VALUES)
 IS_ELEMENT_OF_STR_N(VAR,VALUES)
@@ -53430,27 +54669,37 @@ MINMAX(A)
 MINUTES24(formatted time)
 NCO(operator,arguments)
 NCO_ATTR(FileName,VariableName,AttributeName,AttType,Mode,AttributeValue)
+PIECEWISE3(V1,V2,V3,Control parameter,Tol1,Tol2,Tol3)
 PT_IN_POLY(A,XVERT,YVERT)
 RECT_TO_CURV(V,lon_bounds_out,lat_bounds_out,missing_allowed)
+SAMPLE_FAST_I(V,Indices)
+SAMPLE_FAST_I_STR(S,Indices)
+SAMPLEF_DATE(DAT_TO_SAMPLE,YR,MO,DAY,HR,MIN,SEC)
 SAMPLEIJ(DAT_TO_SAMPLE,XPTS,YPTS)
 SAMPLEI_MULTI(I_INDICES,DAT_TO_SAMPLE)
 SAMPLEJ_MULTI(J_INDICES,DAT_TO_SAMPLE)
 SAMPLEK_MULTI(K_INDICES,DAT_TO_SAMPLE)
 SAMPLEL_MULTI(L_INDICES,DAT_TO_SAMPLE)
-SAMPLEF_DATE(DAT_TO_SAMPLE,YR,MO,DAY,HR,MIN,SEC)
+SAMPLEM_MULTI(DAT_TO_SAMPLE,M_INDICES)
+SAMPLEN_MULTI(DAT_TO_SAMPLE,N_INDICES)
 SAMPLET_DATE(DAT_TO_SAMPLE,YR,MO,DAY,HR,MIN,SEC)
 SAMPLEXY(DAT_TO_SAMPLE,XPTS,YPTS)
 SAMPLEXY_CLOSEST(DAT_TO_SAMPLE,XPTS,YPTS)
 SAMPLEXY_CURV(DAT_TO_SAMPLE,DAT_LON,DAT_LAT,XPTS,YPTS)
 SAMPLEXY_CURV_AVG(DAT_TO_SAMPLE,DAT_LON,DAT_LAT,XPTS,YPTS)
 SAMPLEXY_CURV_NRST(DAT_TO_SAMPLE,DAT_LON,DAT_LAT,XPTS,YPTS)
+SAMPLEXY_NRST(DAT_TO_SAMPLE,XPTS,YPTS)
 SAMPLEXYT(DAT_TO_SAMPLE,XPTS,YPTS,TPTS)
+SAMPLEXYT_NRST(DAT_TO_SAMPLE,XPTS,YPTS,TPTS)
 SAMPLEXZ(DAT_TO_SAMPLE,XPTS,ZPTS)
 SAMPLEYZ(DAT_TO_SAMPLE,YPTS,ZPTS)
 SCAT2DDUPS(coord 1,coord 2,epsilon 1,epsilon 2)
 SCAT2GRID_BIN_XY(XPTS,YPTS,F,XAXPTS,YAXPTS)
 SCAT2GRID_BIN_XYT(XPTS,YPTS,TPTS,F,XAXPTS,YAXPTS,TAXPTS)
 SCAT2GRID_BIN_XYZ(XPTS,YPTS,ZPTS,F,XAXPTS,YAXPTS,ZAXPTS)
+SCAT2GRID_BIN_XYZT(XPTS,YPTS,ZPTS,TPTS,F,XAXPTS,YAXPTS,ZAXPTS,TAXPTS)
+SCAT2GRID_MINMAX_XYT(XPTS,YPTS,TPTS,F,XAXPTS,YAXPTS,TAXPTS)
+SCAT2GRID_STD_XYT(XPTS,YPTS,TPTS,F,XAXPTS,YAXPTS,TAXPTS)
 SCAT2GRIDGAUSS_XT(XPTS,TPTS,F,XAXPTS,TAXPTS,XSCALE,TSCALE,CUTOFF,0)
 SCAT2GRIDGAUSS_XT_V0(XPTS,TPTS,F,XAXPTS,TAXPTS,XSCALE,TSCALE,CUTOFF,0)
 SCAT2GRIDGAUSS_XY(XPTS,YPTS,F,XAXPTS,YAXPTS,XSCALE,YSCALE,CUTOFF,0)
@@ -53474,6 +54723,8 @@ SCAT2GRID_NBIN_XYT(XPTS,YPTS,TPTS,F,XAXPTS,YAXPTS,TAXPTS)
 SCAT2GRID_NOBS_XY(XPTS,YPTS,XAXPTS,YAXPTS)
 SCAT2GRID_NOBS_XYT(XPTS,YPTS,TPTS,XAXPTS,YAXPTS,TAXPTS)
 SCAT2GRID_T(TPTS,TAXIS)
+SEPARATE(A,Rowsize,FixLongitudes)
+SEPARATE_STR(A,Rowsize,FixLongitudes)
 SORTI(DAT)
 SORTI_STR(STR)
 SORTJ(DAT)
@@ -53486,6 +54737,9 @@ SORTM(DAT)
 SORTM_STR(STR)
 SORTN(DAT)
 SORTN_STR(STR)
+STR_MASK(STRING,MASK,--)
+STR_NOBLANKS(STR)
+STR_REPLACE(INSTRING,S1,S2)
 TAUTO_COR(A)
 TAX_DATESTRING(A,B,C)
 TAX_DAY(A,B)
@@ -53501,15 +54755,28 @@ TAX_YEARFRAC(A,B)
 TCAT(A,B)
 TCAT_STR(A,B)
 TEST_OPENDAP(url)
+TIME_REFORMAT(A)
+TRACKS2GRID_MASK_AVE_XYT(VAR,XPTS,YPTS,TPTS,ICRUISE,XAXPTS,YAXPTS,TAXPTS,MASK)
+TRACKS2GRID_STD_XYT(VARIABLE,XPTS,YPTS,TPTS,ICRUISE,XAXPTS,YAXPTS,TAXPTS)
+TRANSPOSE_EF(VAR)
+TRANSPOSE_TE(VAR)
+TRANSPOSE_TF(VAR)
+TRANSPOSE_XE(VAR)
+TRANSPOSE_XF(VAR)
 TRANSPOSE_XT(VAR)
 TRANSPOSE_XY(VAR)
 TRANSPOSE_XZ(VAR)
+TRANSPOSE_YE(VAR)
+TRANSPOSE_YF(VAR)
 TRANSPOSE_YT(VAR)
 TRANSPOSE_YZ(VAR)
+TRANSPOSE_ZE(VAR)
+TRANSPOSE_ZF(VAR)
 TRANSPOSE_ZT(VAR)
 TREVERSE(A)
 UNIQUE_STR2INT(A)
 WRITE_WEBROW(id,name,Cruise_Mask,filename)
+WRITE_WEBROW_GWT(id,name,Cruise_Mask,filename)
 XAUTO_COR(A)
 XCAT(A,B)
 XCAT_STR(A,B)
@@ -53524,34 +54791,6 @@ ZAXREPLACE_ZLEV(V,THICKNESS,ZAX)
 ZCAT(A,B)
 ZCAT_STR(A,B)
 ZREVERSE(A)
-EOFSVD_SPACE(A)
-EOFSVD_STAT(A)
-EOFSVD_TFUNC(A)
-EXPND_BY_LEN(var,len,nx)
-EXPND_BY_LEN_STR(var,len,nx)
-FC_ISUBSET(index_list,lengths,nx,FullData)
-EXPNDI_BY_Z_COUNTS(dat,counts,max_profile_len)
-EXPNDI_ID_BY_Z_COUNTS(counts,max profile len)
-EXPNDI_BY_M_COUNTS(dat,counts,max_row_len)
-STR_MASK(STRING,MASK,--)
-SAMPLEXYT_NRST(DAT_TO_SAMPLE,XPTS,YPTS,TPTS)
-SEPARATE(A,Rowsize,FixLongitudes)
-TIME_REFORMAT(A)
-FT_TO_ORTHOGONAL(VAR,TIME2D,ALLTIME)
-CURV_TO_RECT_FSU(V,mapping)
-PIECEWISE3(V1,V2,V3,Control parameter,Tol1,Tol2,Tol3)
-SAMPLE_FAST_I(V,Indices)
-SAMPLE_FAST_I_STR(S,Indices)
-SEPARATE_STR(A,Rowsize,FixLongitudes)
-WRITE_WEBROW_GWT(id,name,Cruise_Mask,filename)
-BXCAT(A,B)
-BXSEQUENCE(A)
-BXSEQUENCE_STR(A)
-BCOMPRESSI(DAT)
-SCAT2GRID_BIN_XYZT(XPTS,YPTS,ZPTS,TPTS,F,XAXPTS,YAXPTS,ZAXPTS,TAXPTS)
-STR_NOBLANKS(STR)
-STR_REPLACE(INSTRING,S1,S2)
-EXPNDI_TO_ET(var data,time data,Rowsize (E direction),Result T)
 ADD_9(A,B,C,D,E,F,G,H,I)
 APPENDE(ENS,VAR)
 AVET(A)
@@ -53588,6 +54827,7 @@ SUBTRACT(A,B)
 ! Fix for Bug 1539: SHOW VAR/XML
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err607_show_var_xml
 ! Bug 1539 SHOW VAR/XML didnt show all vars.
  
@@ -53673,6 +54913,7 @@ show var/xml
 ! err607_set_new_history_att
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err607_set_new_history_att
 ! err607_set_new_history_att.jnl
 ! Previously if we set a history attribute on a user-defined variable that
@@ -53701,6 +54942,7 @@ show att/all var
 ! Symbols YAXIS_MIN, YAXIS_MAX were 0 when values small
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err607_axis_minmax_syms
 ! Bug 1542
 ! Symbols YAXIS_MIN, YAXIS_MAX were 0 when values small
@@ -53734,6 +54976,7 @@ YAXIS_MAX = "2.005050505E-06"
 ! Error message for too many contour levels requested
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err607_lev_errmsg
 ! err607_lev_errmsg.F
 ! Make the error message more detailed, saying it is the choice of
@@ -53824,6 +55067,7 @@ set mode nlevels 40
 ! Error processing parentheses on abstract axis names.
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err608_bug1556
 ! err608_bug1556.jnl
 ! Error processing parentheses on abstract axis names.
@@ -53851,6 +55095,7 @@ SAVE/FILE=a.nc/CLOBBER sst[i=1:5:1,j=1:5:1,l=1:1:1]
 ! Precision of immediate-mode output of negative values
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err608_precision_neg_numbers
 ! err608_precision_neg_numbers.jnl
 ! ACM 1/2/2008
@@ -53878,8 +55123,8 @@ SET MODE IGNORE
 !!list test_opendap ("http://iridl.ldeo.NOT.columbia.edu/SOURCES/.LEVITUS/.MONTHLY/.temp/dods")
  
 !! Change to another server, this one not working 8/2012
-list test_opendap ("http://ferret.pmel.noaa.gov/thredds/dodsC/data/PMEL/WOA05nc/monthly/s0112an1.nc")
-             VARIABLE : TEST_OPENDAP ("http://ferret.pmel.noaa.gov/thredds/dodsC/data/PMEL/WOA05nc/monthly/s0112an1.nc")
+list test_opendap ("http://ferret.pmel.noaa.gov/pmel/thredds/dodsC/data/PMEL/WOA05nc/monthly/s0112an1.nc")
+             VARIABLE : TEST_OPENDAP ("http://ferret.pmel.noaa.gov/pmel/thredds/dodsC/data/PMEL/WOA05nc/monthly/s0112an1.nc")
              X        : 1
           0.0000
 list test_opendap ("http://ferret.pmel.NOT.noaa.gov/thredds/dodsC/data/PMEL/WOA05nc/monthly/s0112an1.nc")
@@ -53895,6 +55140,7 @@ CANCEL MODE IGNORE
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err61_write_bounds
 ! err61_write_bounds.jnl
 ! test fixes for bugzilla 1534: write correct bounds
@@ -53924,6 +55170,7 @@ sp ncdump a.nc >> all_ncdump.out
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err61_poly_shade_over_noaxes
 ! err61_poly_shade_over_noaxes.jnl
 ! See bug 1571
@@ -53974,6 +55221,7 @@ go polymark poly/lev=(-5,30,1)/fill/line=1/nolab/over v1 v2 v3 circle 2
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err61_context_scalar_strings
 ! err61_context_scalar_strings.jnl
 ! Bug 1558, first present in Ferret v6.02
@@ -53990,6 +55238,7 @@ say `"a" EQ "a"`
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err61_exit_script
 ! Bug 1566 Andrew Wittenberb
 !
@@ -54136,6 +55385,7 @@ exit/script
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err61_new_attr_on_axis
 ! err61_new_attr_on_axis.jnl
 ! For any var or axis, allow adding an attribute
@@ -54168,6 +55418,7 @@ sp ncdump -h a.nc >> all_ncdump.out
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO bn_varcontext_attributes
 ! Examples from bn_attributes, where instead of var.att[specifiers]
 ! we use var[specifiers].att  where appropriate.
@@ -54228,6 +55479,7 @@ list lnames
  
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
  
  
 !-----
@@ -54268,6 +55520,7 @@ say `($yaxnam)[d=1].nattrs`
  
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
  
 !-----
 ! more on access to attribute names and values as variables
@@ -54286,12 +55539,10 @@ list/d=3 a
 list temp[d=3].units
              VARIABLE : TEMP[D=ocean_atlas_temp].UNITS
              FILENAME : gt4d011.cdf
-             X        : 1
         "Deg C"
 list/d=3 temp.history
              VARIABLE : TEMP.HISTORY
              FILENAME : ocean_atlas_temp.cdf
-             X        : 1
         "From ocean_atlas_monthly"
  
 can data/all
@@ -54311,6 +55562,7 @@ list a[i=2]
  
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
  
 ! When the variable context is given in an attribute
 ! spec, we want to ignore the information except for the
@@ -54322,7 +55574,6 @@ list ($ferret_plot_var).long_name
  !-> list sst[x=30:39,y=-90:90].long_name
              VARIABLE : SST[X=30:39,Y=-90:90].LONG_NAME
              FILENAME : coads_climatology.cdf
-             X        : 1
         "SEA SURFACE TEMPERATURE"
  
 use coads_climatology
@@ -54331,7 +55582,6 @@ list ($ferret_plot_var).units
  !-> list sst[d=1,x=30:35,y=-90:90].units
              VARIABLE : SST[D=coads_climatology,X=30:35,Y=-90:90].UNITS
              FILENAME : coads_climatology.cdf
-             X        : 1
         "Deg C"
  
 use coads_climatology
@@ -54341,11 +55591,11 @@ list ($ferret_plot_var).history
  !-> list sst[d=1,x=30:35,y=-90:90].history
              VARIABLE : SST[D=coads_climatology,X=30:35,Y=-90:90].HISTORY
              FILENAME : levitus_climatology.cdf
-             X        : 1
         "From coads_climatology"
  
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
  
 use levitus_climatology
 use coads_climatology
@@ -54359,18 +55609,17 @@ list ($xaxnam)[d=1].modulo
  !-> list (XAXLEVITR1_160)[d=1].modulo
              VARIABLE : (XAXLEVITR1_160)[D=levitus_climatology].MODULO
              FILENAME : coads_climatology.cdf
-             X        : 1
         " "
 list ($yaxnam).point_spacing[d=1]
  !-> list (YAXLEVITR1_90).point_spacing[d=1]
              VARIABLE : (YAXLEVITR1_90).POINT_SPACING[D=levitus_climatology]
              FILENAME : levitus_climatology.cdf
-             X        : 1
         "even"
  
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err61_show_dat_var_xml
 ! err61_show_dat_var_xml.jnl
 ! See bug 1580. Intermediate variablels associated with a
@@ -54460,7 +55709,7 @@ SHOW DATA/VAR/XML 2
 <attribute name="ferret_datatype" type="char">
    <value><![CDATA[FLOAT]]></value>
 </attribute>
-<grid name="(G006)">
+<grid name="(G###)">
 <axes>
 <zaxis>ZAXIS_DES</zaxis>
 </axes>
@@ -54531,6 +55780,7 @@ SHOW DATA/VAR/XML 2
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err61_360_calendar
 ! err61_360_calendar.jnl
 !
@@ -54556,6 +55806,7 @@ define axis/t=30-feb-1909:07-mar-1909:2/units=days/t0=1-jan-1909/calendar=d360 t
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err611_exit_if.jnl
 ! err611_exit_if.jnl
 !
@@ -54582,6 +55833,7 @@ exit/script
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err611_save_irreg.jnl
 ! err611_save_irreg.jnl
 !
@@ -54793,6 +56045,7 @@ set mode/last ignore
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err611_axislab
 ! err611_axislab.jnl
 ! Fix bug 1582: Horizontal axis label disappeared
@@ -54807,6 +56060,7 @@ ppl plot
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err61_360_calendar
 ! err61_360_calendar.jnl
 !
@@ -54832,6 +56086,7 @@ define axis/t=30-feb-1909:07-mar-1909:2/units=days/t0=1-jan-1909/calendar=d360 t
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err611_exit_if.jnl
 ! err611_exit_if.jnl
 !
@@ -54858,6 +56113,7 @@ exit/script
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err611_save_irreg.jnl
 ! err611_save_irreg.jnl
 !
@@ -54882,6 +56138,7 @@ save/clob/file=b.nc b
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err611_wrong_fineaxis_range
 ! err611_wrong_fineaxis_range.jnl
 ! Bug 1594
@@ -54952,6 +56209,7 @@ say `the_plot_var,return=size`
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err611_digit_filename
 ! err611_digit_filename.jnl
 ! Under linux, FILE command fails if filename
@@ -55051,6 +56309,7 @@ SHOW DATA
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err611_parse_semicolon
 ! err611_parse_semicolon.jnl
 ! Bug 1608. The first time it was issued, the first command
@@ -55071,6 +56330,7 @@ c (d; say a ; b
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err611_ov_ax
 ! err611_ov_ax.jnl
 !
@@ -55091,6 +56351,7 @@ set v lr; ppl axlabp 0 0; plot/nolab {-1,1,6}
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err611_context_after_error
 ! err611_context_after_error.jnl
 ! ACM 11/12/08
@@ -55142,9 +56403,9 @@ LIST a_regrid[D=1,GT=b[D=2]@MOD]
                         regrid: on T at MOD
              SUBSET   : 12 points (TIME)
              CALENDAR : NOLEAP
-             LONGITUDE: 141.3W
+             LONGITUDE: 141.2W
              LATITUDE : 1S
-                        141.3W  
+                        141.2W  
                           1
  16-JAN 12      /  1:  0.05848
  15-FEB 00      /  2:  0.05188
@@ -55171,6 +56432,7 @@ SET MODE/LAST ignore_error
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err611_isize_gc_fcns
 ! err611_isize_gc_fcns.jnl
 ! ACM 11/13/2008
@@ -55214,6 +56476,7 @@ SAY `XSEQUENCE(a),RETURN=size`
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err611_return_precision
 ! err611_return_precision.jnl
 ! 17-Nov-08 ACM
@@ -55364,6 +56627,7 @@ a-950
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err611_set_var_ez
 ! err611_set_var_ez.jnl
 ! 6-Jan-2009
@@ -55391,8 +56655,8 @@ SHOW DAT/ATT
   
  .                               history         CHAR        7    F       dat.dat
   
- my_asc                FLOAT     long_name       CHAR        11   T       chlorophyll
-                                 missing_value   FLOAT       1    T       3
+ my_asc                DOUBLE    long_name       CHAR        11   T       chlorophyll
+                                 missing_value   DOUBLE      1    T       3
                                  units           CHAR        12   T       micrograms/L
   
 SAVE/FILE=a.nc/CLOBBER my_asc
@@ -55410,6 +56674,7 @@ SP ncdump -h a.nc >> all_ncdump.out
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err611_convert_missing_type
 ! err611_convert_missing_type.jnl
 ! Fix for bug 1620 message about converting data type of
@@ -55432,6 +56697,7 @@ SAVE/CLOBBER/FILE=lonlat.nc lat, lon
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err611_shade_fill_levs
 ! err611_shade_fill_levs.jnl
 ! 2/27/2009
@@ -55453,6 +56719,7 @@ LEV_DEL = "0.05"
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err611_set_uvar_outtyp
 ! err611_set_uvar_outtyp.jnl
 ! fix for bug 1646: set outtype for user variables.
@@ -55475,6 +56742,7 @@ SP ncdump a.nc >> all_ncdump.out
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err611_save_from_desc
 ! err611_save_from_desc.jnl
 !
@@ -55486,6 +56754,7 @@ save/clobber/file=a.nc/i=100 sst
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err611_irregular_axis
  ! err611_irregular_axis.jnl
  
@@ -55516,6 +56785,7 @@ sh grid cc
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err611_ef_string_result
 ! err611_ef_string_result.jnl
 ! testing the fix for bug 1621
@@ -55601,6 +56871,7 @@ list xt
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err61_contour_subspan_reps
 ! err61_contour_subspan_reps.jnl
 ! Bug 1659.
@@ -57310,6 +58581,7 @@ shade/lev=35 sst[L=1]
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err618_julday.jnl
 ! err618_julday.jnl
 ! Bug 1639
@@ -57359,6 +58631,7 @@ list/t=27-feb-1999:02-mar-1999 rjulianday
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err611_polygons.jnl
 ! err611_polygons.jnl
 ! bug 1661
@@ -57680,10 +58953,10 @@ SH GRID am
  normal    T
 *** Running ferret script: bn_clock_syms.jnl
 SH SYM delta_cpu, clock_secs, current_date, current_time
-DELTA_CPU = "0.007998"
-CLOCK_SECS = "0.003"
-CURRENT_DATE = " 9-Feb-17"
-CURRENT_TIME = "14:25:05"
+DELTA_CPU = "######"
+CLOCK_SECS = "######"
+CURRENT_DATE = "DD-MON-YY"
+CURRENT_TIME = "HH:MM:SS"
 ! test special symbols DELTA_CPU, CLOCK_SECS
 !
 ! NOTE THAT THE VALUES OF THE SYMBOLS WILL VARY FROM ONE
@@ -57692,8 +58965,8 @@ CURRENT_TIME = "14:25:05"
 use gt4d011
 shade/k=1 temp[L=@ave]
 sh sym DELTA_CPU, CLOCK_SECS
-DELTA_CPU = "0.046992"
-CLOCK_SECS = "0.056"
+DELTA_CPU = "######"
+CLOCK_SECS = "######"
  
 repeat/k=1:10 shade temp[L=@ave]
 !-> REPEAT: K=1
@@ -57707,66 +58980,67 @@ repeat/k=1:10 shade temp[L=@ave]
 !-> REPEAT: K=9
 !-> REPEAT: K=10
 let ten_plots = ($DELTA_CPU)
- !-> DEFINE VARIABLE ten_plots = 0.13698
+ !-> DEFINE VARIABLE ten_plots = 0.######
 sh sym DELTA_CPU, CLOCK_SECS
-DELTA_CPU = "0"
-CLOCK_SECS = "0.193"
+DELTA_CPU = "######"
+CLOCK_SECS = "######"
  
 let  sumclock = 0
 let  sumcpu = 0
 sh sym CLOCK_SECS
-CLOCK_SECS = "0.193"
+CLOCK_SECS = "######"
 repeat/k=1:10 (shade/pal=rnb2 temp[L=@ave]; let dt = ($DELTA_CPU);\
 let sumcpu =`sumcpu + dt`)
  !-> repeat/k=1:10 (shade/pal=rnb2 temp[L=@ave]; let dt = ($DELTA_CPU);let sumcpu =`sumcpu + dt`)
 !-> REPEAT: K=1
- !-> DEFINE VARIABLE dt = 0.013997
- !-> DEFINE VARIABLE sumcpu =0.013997
+ !-> DEFINE VARIABLE dt = 0.######
+ !-> DEFINE VARIABLE sumcpu = 0.######
 !-> REPEAT: K=2
- !-> DEFINE VARIABLE dt = 0.014998
- !-> DEFINE VARIABLE sumcpu =0.028995
+ !-> DEFINE VARIABLE dt = 0.######
+ !-> DEFINE VARIABLE sumcpu = 0.######
 !-> REPEAT: K=3
- !-> DEFINE VARIABLE dt = 0.015998
- !-> DEFINE VARIABLE sumcpu =0.044993
+ !-> DEFINE VARIABLE dt = 0.######
+ !-> DEFINE VARIABLE sumcpu = 0.######
 !-> REPEAT: K=4
- !-> DEFINE VARIABLE dt = 0.015997
- !-> DEFINE VARIABLE sumcpu =0.06099
+ !-> DEFINE VARIABLE dt = 0.######
+ !-> DEFINE VARIABLE sumcpu = 0.######
 !-> REPEAT: K=5
- !-> DEFINE VARIABLE dt = 0.016998
- !-> DEFINE VARIABLE sumcpu =0.077988
+ !-> DEFINE VARIABLE dt = 0.######
+ !-> DEFINE VARIABLE sumcpu = 0.######
 !-> REPEAT: K=6
- !-> DEFINE VARIABLE dt = 0.014998
- !-> DEFINE VARIABLE sumcpu =0.092986
+ !-> DEFINE VARIABLE dt = 0.######
+ !-> DEFINE VARIABLE sumcpu = 0.######
 !-> REPEAT: K=7
- !-> DEFINE VARIABLE dt = 0.014998
- !-> DEFINE VARIABLE sumcpu =0.107984
+ !-> DEFINE VARIABLE dt = 0.######
+ !-> DEFINE VARIABLE sumcpu = 0.######
 !-> REPEAT: K=8
- !-> DEFINE VARIABLE dt = 0.014997
- !-> DEFINE VARIABLE sumcpu =0.122981
+ !-> DEFINE VARIABLE dt = 0.######
+ !-> DEFINE VARIABLE sumcpu = 0.######
 !-> REPEAT: K=9
- !-> DEFINE VARIABLE dt = 0.015997
- !-> DEFINE VARIABLE sumcpu =0.138978
+ !-> DEFINE VARIABLE dt = 0.######
+ !-> DEFINE VARIABLE sumcpu = 0.######
 !-> REPEAT: K=10
- !-> DEFINE VARIABLE dt = 0.014998
- !-> DEFINE VARIABLE sumcpu =0.153976
+ !-> DEFINE VARIABLE dt = 0.######
+ !-> DEFINE VARIABLE sumcpu = 0.######
  
 say `sumcpu`
- !-> MESSAGE/CONTINUE 0.153976
-0.153976
+ !-> MESSAGE/CONTINUE 0.######
+0.######
 sh sym CLOCK_SECS
-CLOCK_SECS = "0.349"
+CLOCK_SECS = "######"
  
 SH SYM session_date, current_date, session_time, current_time
-SESSION_DATE = " 9-Feb-17"
-SESSION_TIME = "14:25"
-CURRENT_DATE = " 9-Feb-17"
-CURRENT_TIME = "14:25:06"
+SESSION_DATE = "DD-MON-YY"
+SESSION_TIME = "HH:MM"
+CURRENT_DATE = "DD-MON-YY"
+CURRENT_TIME = "HH:MM:SS"
 *** Running ferret script: bn63_bug_fixes.jnl
 ! bn63_bug_fixes.jnl
 ! Fixes that go into v6.3 release
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err62_string_write_nc
 ! err62_string_write_nc.jnl
 ! Bug 1664: string variable written as a float.
@@ -57845,6 +59119,7 @@ list cruise_id_xz
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err62_levset
 ! err62_levset.jnl
 ! fix for bug 1672, top color level chopped off in some circumstances
@@ -57856,6 +59131,7 @@ shade/x=350:390/y=1:10/lev=(376.6,379.0,0.8)(379.0,385.4,0.2) var
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err62_thick_tic_time_axis
 ! err62_thick_tic_time_axis.jnl
 ! Fixing bug 1668
@@ -57909,6 +59185,7 @@ set win/new
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err62_reset_after_inf
 ! err62_reset_after_inf.jnl
 ! Bug 1292
@@ -57928,6 +59205,7 @@ cancel mode meta
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err62_reversed_up
 ! err62_reversed_up.jnl
 !
@@ -57974,6 +59252,7 @@ list z[gz=temp], zboxlo[gz=temp], zboxhi[gz=temp]
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err62_samplexy
 ! err62_samplexy
 ! bug 1677
@@ -58008,6 +59287,7 @@ list sr
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err62_one_point_bounds
 ! err62_one_point_bounds.jnl
 ! Bug 1680
@@ -58040,6 +59320,7 @@ I / *:     5.000  4.890  5.110
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err62_cos_lat_uncentered
 !err62_cos_lat_uncentered.jnl
 ! See this thread, here is the esample, with his test.nc renamed to uncentered.nc
@@ -58188,6 +59469,7 @@ list cell18[x=@din,y=@din]/total_area
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err62_if_inside_repeat
 ! err62_if_inside_repeat.jnl
 ! Bug 1681. Parsing error when, inside the REPEAT, we have
@@ -58254,6 +59536,7 @@ done
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err62_title_curvi_plot
 ! err62_title_curvi_plot.jnl
 ! bug 1669; when the variable and its coordinate variables
@@ -58291,6 +59574,7 @@ LABTIT = "SEA SURFACE TEMPERATURE (Deg C)"
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go err62_save_missingcoordvar
 ! err62_save_missingcoordvar.jnl
 ! see bug 1686
@@ -58307,6 +59591,7 @@ save/clobber/file=a.nc sst
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err62_contourbug
 ! err62_contourbug.jnl
 ! Bug 1688
@@ -58329,6 +59614,7 @@ fill/hlimits=-100:400:50 0.0000001*(xb2+zb)^3,xb2,zb
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err62_append_irreg_to_reg
 ! err62_append_irreg_to_reg.jnl
 ! bug 1692
@@ -58361,6 +59647,7 @@ SET MODE/LAST IGNORE
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err62_axis_stride_off
 ! err62_axis_stride_off.jnl
 ! fixing bug 1689: offset shifted by 1 so /OFFSET=0 >> start index = 1
@@ -58395,7 +59682,7 @@ LIST var
  16-JAN-1969 / 20:  0.6618
  
 CAN AXIS/STRIDE `var,return=taxis`
- !-> CAN AXIS/STRIDE (AX010)
+ !-> CAN AXIS/STRIDE (AX###)
 SET AXIS/STRIDE=12/OFFSET=11 truemonth ! every December
 LIST var
              VARIABLE : COS(T[GT=TRUEMONTH]/100)
@@ -58424,7 +59711,7 @@ LIST var
 SET MODE IGNORE_ERRROR
 ! Previously didnt check for negative offset value
 CAN AXIS/STRIDE `var,return=taxis`
- !-> CAN AXIS/STRIDE (AX005)
+ !-> CAN AXIS/STRIDE (AX###)
 SET AXIS/STRIDE=12/OFFSET=-1 truemonth
  
 ! Previously didnt give err msg; just ignored non-positive stride value
@@ -58438,6 +59725,7 @@ SET MODE/LAST IGNORE
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err62_compound_string_conditional
 ! err62_compound_string_conditional
 ! Bug 1380
@@ -58650,6 +59938,7 @@ shade/line/key/lev=50h/title="/LEV=50h" cvar[K=1]
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err63_days1900toydmhms
 ! err63_days1900toydmhms.jnl
 !
@@ -58674,6 +59963,7 @@ list/k=2:3 tpts
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err63_log_vaxis
 ! err63_log_vaxis.jnl
 ! fix for bug 1708
@@ -58692,6 +59982,7 @@ plot/vlog z[gz=vert_axis_dn]
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err63_delim_E.jnl
 ! err63_delim_E.jnl
 ! bug 1700
@@ -58856,17 +60147,17 @@ list v1234
  9   / 5:  2998.  3998.  4998.
  ---- L:4 T:   08-JAN-1980 00:00
  ---- K:3 Z:   5
- 5   / 3:  2779.  3779.  4779.
- 7   / 4:  2879.  3879.  4879.
- 9   / 5:  2979.  3979.  4979.
+ 5   / 3:  2778.  3778.  4778.
+ 7   / 4:  2878.  3878.  4878.
+ 9   / 5:  2978.  3978.  4978.
  ---- K:4 Z:   7
- 5   / 3:  2789.  3789.  4789.
- 7   / 4:  2889.  3889.  4889.
- 9   / 5:  2989.  3989.  4989.
+ 5   / 3:  2788.  3788.  4788.
+ 7   / 4:  2888.  3888.  4888.
+ 9   / 5:  2988.  3988.  4988.
  ---- K:5 Z:   9
- 5   / 3:  2799.  3799.  4799.
- 7   / 4:  2899.  3899.  4899.
- 9   / 5:  2999.  3999.  4999.
+ 5   / 3:  2798.  3798.  4798.
+ 7   / 4:  2898.  3898.  4898.
+ 9   / 5:  2998.  3998.  4998.
  ---- L:5 T:   10-JAN-1980 00:00
  ---- K:3 Z:   5
  5   / 3:  2780.  3780.  4780.
@@ -58936,6 +60227,7 @@ stat v1234[g=even]-veven, v1234
  
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 ! regrid_transforms
 use gtsa056_1
 use gtsa056_2
@@ -58944,14 +60236,14 @@ set mode diag
 define axis/t=15-jan-1982:15-mar-1984:120/unit=hour tax5day
 define axis/x=120e:60w:10/unit=degrees xax10
 define grid/like=u/t=tax5day g5dayg5dayg5dayg5dayg5dayg5dayg5dayg5dayg5dayg5day
- getgrid EX#1     C:  7 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  7 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU1          PSXU      PSYU      PSZT      TIME1
 define grid/like=u/x=xax10/z=w/t=tax5day g5_10g00abcdefghijklmnopqrstuvwxyz1234567890
  dealloc  dynamic grid PS3DU1          PSXU      PSYU      PSZT      TIME1
- getgrid EX#1     C:  8 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  8 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU1          PSXU      PSYU      PSZT      TIME1
  dealloc  dynamic grid PS3DU1          PSXU      PSYU      PSZT      TIME1
- getgrid EX#1     C:  9 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  9 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DW11         PSXT      PSYT      PSZW      TIME1
  
 set reg/x=130w:125w/y=0:1.5/z=0:15/t=21-JAN-1982:24-jan-1982
@@ -58961,18 +60253,18 @@ use gtsa056_1    	!kob 4/99
  
 LIST temp[g=g5_10g00abcdefghijklmnopqrstuvwxyz1234567890 at ave]
  dealloc  dynamic grid PS3DW11         PSXT      PSYT      PSZW      TIME1
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I:   12   12  J:   45   49  K:    1    1  L:    2    3
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:     12     12  J:   45   49  K:    1    1  L:      2      3
  strip regrid on X: TEMP --> G5_10G00ABCDEFGH @AAV
  strip regrid on Z: TEMP --> XNTERMED         @AVE
  strip regrid on T: TEMP --> ZNTERMED         @AVE
- reading TEMP     M:  6 dset:   1 I:   95  106  J:   45   50  K:    1    2  L:    2    5
- regrid  TEMP     M:  2 dset:   1 I:   95  106  J:   45   50  K:    1    2  L:    2    3
- regrid  TEMP     M:  1 dset:   1 I:   95  106  J:   45   50  K:    1    1  L:    2    3
- -DELETE TEMP     M:  2 dset:   1 I:   95  106  J:   45   50  K:    1    2  L:    2    3  M: -999 -999  N: -999 -999
+ reading TEMP     M:  6 dset:   1 I:     95    106  J:   45   50  K:    1    2  L:      2      5
+ regrid  TEMP     M:  2 dset:   1 I:     95    106  J:   45   50  K:    1    2  L:      2      3
+ regrid  TEMP     M:  1 dset:   1 I:     95    106  J:   45   50  K:    1    1  L:      2      3
+ -DELETE TEMP     M:  2 dset:   1 I:     95    106  J:   45   50  K:    1    2  L:      2      3  M: -999 -999  N: -999 -999
  regrid XY
- regrid  TEMP     M:  2 dset:   1 I:   12   12  J:   45   49  K:    1    1  L:    2    3
- -DELETE TEMP     M:  1 dset:   1 I:   95  106  J:   45   50  K:    1    1  L:    2    3  M: -999 -999  N: -999 -999
+ regrid  TEMP     M:  2 dset:   1 I:     12     12  J:   45   49  K:    1    1  L:      2      3
+ -DELETE TEMP     M:  1 dset:   1 I:     95    106  J:   45   50  K:    1    1  L:      2      3  M: -999 -999  N: -999 -999
              VARIABLE : TEMPERATURE (deg. C)
                         regrid: G5_10G00ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890 on X at AAV, on Y at AAV*
              FILENAME : gtsa056_1.cdf
@@ -58985,21 +60277,21 @@ LIST temp[g=g5_10g00abcdefghijklmnopqrstuvwxyz1234567890 at ave]
  25-JAN-1982 00 / 3:  23.89  23.98  24.17  24.40  24.65
 LIST temp[g=g5_10g00abcdefghijklmnopqrstuvwxyz1234567890,gx=g5_10g00abcdefghijklmnopqrstuvwxyz1234567890 at ave]
  dealloc  dynamic grid G5_10G00ABCDEFGHXAX10     PSYU      PSZW      TAX5DAY
- -DELETE TEMP     M:  2 dset:   1 I:   12   12  J:   45   49  K:    1    1  L:    2    3
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I:   12   12  J:   45   49  K:    1    1  L:    2    3
+ -DELETE TEMP     M:  2 dset:   1 I:     12     12  J:   45   49  K:    1    1  L:      2      3
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:     12     12  J:   45   49  K:    1    1  L:      2      3
  strip regrid on X: TEMP --> G5_10G00ABCDEFGH @AVE
  strip regrid on Y: TEMP --> XNTERMED         @LIN
  strip regrid on Z: TEMP --> YNTERMED         @LIN
  strip regrid on T: TEMP --> ZNTERMED         @LIN
- found   TEMP     M:  6 dset:   1 I:   95  106  J:   45   50  K:    1    2  L:    2    5
- regrid  TEMP     M:  2 dset:   1 I:   95  106  J:   45   50  K:    1    2  L:    2    3
- regrid  TEMP     M:  1 dset:   1 I:   95  106  J:   45   50  K:    1    1  L:    2    3
- -DELETE TEMP     M:  2 dset:   1 I:   95  106  J:   45   50  K:    1    2  L:    2    3  M: -999 -999  N: -999 -999
- regrid  TEMP     M:  2 dset:   1 I:   95  106  J:   45   49  K:    1    1  L:    2    3
- -DELETE TEMP     M:  1 dset:   1 I:   95  106  J:   45   50  K:    1    1  L:    2    3  M: -999 -999  N: -999 -999
- regrid  TEMP     M:  1 dset:   1 I:   12   12  J:   45   49  K:    1    1  L:    2    3
- -DELETE TEMP     M:  2 dset:   1 I:   95  106  J:   45   49  K:    1    1  L:    2    3  M: -999 -999  N: -999 -999
+ found   TEMP     M:  6 dset:   1 I:     95    106  J:   45   50  K:    1    2  L:      2      5
+ regrid  TEMP     M:  2 dset:   1 I:     95    106  J:   45   50  K:    1    2  L:      2      3
+ regrid  TEMP     M:  1 dset:   1 I:     95    106  J:   45   50  K:    1    1  L:      2      3
+ -DELETE TEMP     M:  2 dset:   1 I:     95    106  J:   45   50  K:    1    2  L:      2      3  M: -999 -999  N: -999 -999
+ regrid  TEMP     M:  2 dset:   1 I:     95    106  J:   45   49  K:    1    1  L:      2      3
+ -DELETE TEMP     M:  1 dset:   1 I:     95    106  J:   45   50  K:    1    1  L:      2      3  M: -999 -999  N: -999 -999
+ regrid  TEMP     M:  1 dset:   1 I:     12     12  J:   45   49  K:    1    1  L:      2      3
+ -DELETE TEMP     M:  2 dset:   1 I:     95    106  J:   45   49  K:    1    1  L:      2      3  M: -999 -999  N: -999 -999
              VARIABLE : TEMPERATURE (deg. C)
                         regrid: G5_10G00ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890 on X at AVE, on Y at LIN*
              FILENAME : gtsa056_1.cdf
@@ -59013,18 +60305,18 @@ LIST temp[g=g5_10g00abcdefghijklmnopqrstuvwxyz1234567890,gx=g5_10g00abcdefghijkl
  
 LIST temp[g=g5_10g00abcdefghijklmnopqrstuvwxyz1234567890,gt=g5_10g00abcdefghijklmnopqrstuvwxyz1234567890 at asn]
  dealloc  dynamic grid G5_10G00ABCDEFGHXAX10     PSYU      PSZW      TAX5DAY
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I:   12   12  J:   45   49  K:    1    1  L:    2    3
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:     12     12  J:   45   49  K:    1    1  L:      2      3
  strip regrid on X: TEMP --> G5_10G00ABCDEFGH @LIN
  strip regrid on Z: TEMP --> XNTERMED         @LIN
  strip regrid on T: TEMP --> ZNTERMED         @ASN
- found   TEMP     M:  6 dset:   1 I:   95  106  J:   45   50  K:    1    2  L:    2    5
- regrid  TEMP     M:  2 dset:   1 I:  100  101  J:   45   50  K:    1    2  L:    2    3
- regrid  TEMP     M:  5 dset:   1 I:  100  101  J:   45   50  K:    1    1  L:    2    3
- -DELETE TEMP     M:  2 dset:   1 I:  100  101  J:   45   50  K:    1    2  L:    2    3  M: -999 -999  N: -999 -999
+ found   TEMP     M:  6 dset:   1 I:     95    106  J:   45   50  K:    1    2  L:      2      5
+ regrid  TEMP     M:  2 dset:   1 I:    100    101  J:   45   50  K:    1    2  L:      2      3
+ regrid  TEMP     M:  5 dset:   1 I:    100    101  J:   45   50  K:    1    1  L:      2      3
+ -DELETE TEMP     M:  2 dset:   1 I:    100    101  J:   45   50  K:    1    2  L:      2      3  M: -999 -999  N: -999 -999
  regrid XY
- regrid  TEMP     M:  2 dset:   1 I:   12   12  J:   45   49  K:    1    1  L:    2    3
- -DELETE TEMP     M:  5 dset:   1 I:  100  101  J:   45   50  K:    1    1  L:    2    3  M: -999 -999  N: -999 -999
+ regrid  TEMP     M:  2 dset:   1 I:     12     12  J:   45   49  K:    1    1  L:      2      3
+ -DELETE TEMP     M:  5 dset:   1 I:    100    101  J:   45   50  K:    1    1  L:      2      3  M: -999 -999  N: -999 -999
              VARIABLE : TEMPERATURE (deg. C)
                         regrid: G5_10G00ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890 on X at LIN, on Y at LIN*
              FILENAME : gtsa056_1.cdf
@@ -59041,210 +60333,210 @@ use gtsa056_2	!kob  4/99
 set region/x=180W/y=0/z=5/t=21-JAN-1982:13-JUN-1983
 load temp[i=50:51,j=45:56,k=1:2,l=1:172]  ! preload to save time
  dealloc  dynamic grid G5_10G00ABCDEFGHXAX10     PSYU      PSZW      TAX5DAY
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DT1          PSXT      PSYT      PSZT      TIME1
- eval    EX#1     C:  4 dset:   2 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- strip moduloing TEMP on T axis:     1   172 dset:   2
- reading TEMP     M:  5 dset:   2 I:   50   51  J:   45   50  K:    1    2  L:    1  168
- doing moduloing TEMP on T axis:     1   168 dset:   2
+ eval    EX#1     C:  4 dset:   2 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
+ strip moduloing TEMP on T axis:        1      172 dset:   2
+ reading TEMP     M:  5 dset:   2 I:     50     51  J:   45   50  K:    1    2  L:      1    168
+ doing moduloing TEMP on T axis:        1      168 dset:   2
 plot temp
  dealloc  dynamic grid PS3DT1          PSXT      PSYT      PSZT      TIME1
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DT1          PSXT      PSYT      PSZT      TIME1
- eval    EX#1     C:  4 dset:   2 I:   50   50  J:   45   45  K:    1    1  L:    3  170
- found   TEMP     M:  3 dset:   2 I:   50   51  J:   45   50  K:    1    2  L:    1  172
+ eval    EX#1     C:  4 dset:   2 I:     50     50  J:   45   45  K:    1    1  L:      3    170
+ found   TEMP     M:  3 dset:   2 I:     50     51  J:   45   50  K:    1    2  L:      1    172
 setting up plot
 PPL plot 1    complete
 plot/over temp[g=u]
  dealloc  dynamic grid PS3DT1          PSXT      PSYT      PSZT      TIME1
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU1          PSXU      PSYU      PSZT      TIME1
- eval    EX#1     C:  4 dset:   2 I:   50   50  J:   45   45  K:    1    1  L:    3  170
- strip moduloing TEMP on T axis:     3   170 dset:   2
+ eval    EX#1     C:  4 dset:   2 I:     50     50  J:   45   45  K:    1    1  L:      3    170
+ strip moduloing TEMP on T axis:        3      170 dset:   2
  strip regrid on X: TEMP --> PS3DU1           @LIN
- found   TEMP     M:  3 dset:   2 I:   50   51  J:   45   50  K:    1    2  L:    1  172
+ found   TEMP     M:  3 dset:   2 I:     50     51  J:   45   50  K:    1    2  L:      1    172
  regrid XY
- regrid  TEMP     M:  9 dset:   2 I:   50   50  J:   45   45  K:    1    1  L:    3  168
- doing moduloing TEMP on T axis:     3   168 dset:   2
+ regrid  TEMP     M:  9 dset:   2 I:     50     50  J:   45   45  K:    1    1  L:      3    168
+ doing moduloing TEMP on T axis:        3      168 dset:   2
  strip regrid on X: TEMP --> PS3DU1           @LIN
- found   TEMP     M:  3 dset:   2 I:   50   51  J:   45   50  K:    1    2  L:    1  172
+ found   TEMP     M:  3 dset:   2 I:     50     51  J:   45   50  K:    1    2  L:      1    172
  regrid XY
- regrid  TEMP     M:  4 dset:   2 I:   50   50  J:   45   45  K:    1    1  L:    1    2
- doing moduloing TEMP on T axis:     1     2 dset:   2
+ regrid  TEMP     M:  4 dset:   2 I:     50     50  J:   45   45  K:    1    1  L:      1      2
+ doing moduloing TEMP on T axis:        1        2 dset:   2
 setting up plot
 PPL plot 2    complete
 plot/over temp[g=g5dayg5dayg5dayg5dayg5dayg5dayg5dayg5dayg5dayg5day]
  dealloc  dynamic grid PS3DU1          PSXU      PSYU      PSZT      TIME1
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   2 I:   50   50  J:   45   45  K:    1    1  L:    2  104
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   2 I:     50     50  J:   45   45  K:    1    1  L:      2    104
  strip regrid on X: TEMP --> G5DAYG5DAYG5DAYG @LIN
  strip regrid on T: TEMP --> XNTERMED         @LIN
- found   TEMP     M:  3 dset:   2 I:   50   51  J:   45   50  K:    1    2  L:    1  172
- regrid  TEMP     M:  8 dset:   2 I:   50   51  J:   45   46  K:    1    1  L:    2  104
+ found   TEMP     M:  3 dset:   2 I:     50     51  J:   45   50  K:    1    2  L:      1    172
+ regrid  TEMP     M:  8 dset:   2 I:     50     51  J:   45   46  K:    1    1  L:      2    104
  regrid XY
- regrid  TEMP     M: 10 dset:   2 I:   50   50  J:   45   45  K:    1    1  L:    2  104
- -DELETE TEMP     M:  8 dset:   2 I:   50   51  J:   45   46  K:    1    1  L:    2  104  M: -999 -999  N: -999 -999
+ regrid  TEMP     M: 10 dset:   2 I:     50     50  J:   45   45  K:    1    1  L:      2    104
+ -DELETE TEMP     M:  8 dset:   2 I:     50     51  J:   45   46  K:    1    1  L:      2    104  M: -999 -999  N: -999 -999
 setting up plot
 PPL plot 3    complete
 plot/over temp[g=g5_10g00abcdefghijklmnopqrstuvwxyz1234567890]
  dealloc  dynamic grid G5DAYG5DAYG5DAYGPSXU      PSYU      PSZT      TAX5DAY
- -DELETE TEMP     M: 10 dset:   2 I:   50   50  J:   45   45  K:    1    1  L:    2  104
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   2 I:    7    7  J:   45   45  K:    1    1  L:    2  104
+ -DELETE TEMP     M: 10 dset:   2 I:     50     50  J:   45   45  K:    1    1  L:      2    104
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   2 I:      7      7  J:   45   45  K:    1    1  L:      2    104
  strip regrid on X: TEMP --> G5_10G00ABCDEFGH @LIN
  strip regrid on Z: TEMP --> XNTERMED         @LIN
  strip regrid on T: TEMP --> ZNTERMED         @LIN
- found   TEMP     M:  3 dset:   2 I:   50   51  J:   45   50  K:    1    2  L:    1  172
- regrid  TEMP     M: 10 dset:   2 I:   50   51  J:   45   46  K:    1    2  L:    2  104
- regrid  TEMP     M:  8 dset:   2 I:   50   51  J:   45   46  K:    1    1  L:    2  104
- -DELETE TEMP     M: 10 dset:   2 I:   50   51  J:   45   46  K:    1    2  L:    2  104  M: -999 -999  N: -999 -999
+ found   TEMP     M:  3 dset:   2 I:     50     51  J:   45   50  K:    1    2  L:      1    172
+ regrid  TEMP     M: 10 dset:   2 I:     50     51  J:   45   46  K:    1    2  L:      2    104
+ regrid  TEMP     M:  8 dset:   2 I:     50     51  J:   45   46  K:    1    1  L:      2    104
+ -DELETE TEMP     M: 10 dset:   2 I:     50     51  J:   45   46  K:    1    2  L:      2    104  M: -999 -999  N: -999 -999
  regrid XY
- regrid  TEMP     M: 10 dset:   2 I:    7    7  J:   45   45  K:    1    1  L:    2  104
- -DELETE TEMP     M:  8 dset:   2 I:   50   51  J:   45   46  K:    1    1  L:    2  104  M: -999 -999  N: -999 -999
+ regrid  TEMP     M: 10 dset:   2 I:      7      7  J:   45   45  K:    1    1  L:      2    104
+ -DELETE TEMP     M:  8 dset:   2 I:     50     51  J:   45   46  K:    1    1  L:      2    104  M: -999 -999  N: -999 -999
 setting up plot
 PPL plot 4    complete
 plot/over temp[g=u at ave]
  dealloc  dynamic grid G5_10G00ABCDEFGHXAX10     PSYU      PSZW      TAX5DAY
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU1          PSXU      PSYU      PSZT      TIME1
- eval    EX#1     C:  4 dset:   2 I:   50   50  J:   45   45  K:    1    1  L:    3  170
- strip moduloing TEMP on T axis:     3   170 dset:   2
+ eval    EX#1     C:  4 dset:   2 I:     50     50  J:   45   45  K:    1    1  L:      3    170
+ strip moduloing TEMP on T axis:        3      170 dset:   2
  strip regrid on X: TEMP --> PS3DU1           @AAV
- found   TEMP     M:  3 dset:   2 I:   50   51  J:   45   50  K:    1    2  L:    1  172
+ found   TEMP     M:  3 dset:   2 I:     50     51  J:   45   50  K:    1    2  L:      1    172
  regrid XY
- regrid  TEMP     M:  8 dset:   2 I:   50   50  J:   45   45  K:    1    1  L:    3  168
- doing moduloing TEMP on T axis:     3   168 dset:   2
+ regrid  TEMP     M:  8 dset:   2 I:     50     50  J:   45   45  K:    1    1  L:      3    168
+ doing moduloing TEMP on T axis:        3      168 dset:   2
  strip regrid on X: TEMP --> PS3DU1           @AAV
- found   TEMP     M:  3 dset:   2 I:   50   51  J:   45   50  K:    1    2  L:    1  172
+ found   TEMP     M:  3 dset:   2 I:     50     51  J:   45   50  K:    1    2  L:      1    172
  regrid XY
- regrid  TEMP     M: 12 dset:   2 I:   50   50  J:   45   45  K:    1    1  L:    1    2
- doing moduloing TEMP on T axis:     1     2 dset:   2
+ regrid  TEMP     M: 12 dset:   2 I:     50     50  J:   45   45  K:    1    1  L:      1      2
+ doing moduloing TEMP on T axis:        1        2 dset:   2
 setting up plot
 PPL plot 5    complete
 plot/over temp[g=g5dayg5dayg5dayg5dayg5dayg5dayg5dayg5dayg5dayg5day at ave]
  dealloc  dynamic grid PS3DU1          PSXU      PSYU      PSZT      TIME1
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   2 I:   50   50  J:   45   45  K:    1    1  L:    2  104
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   2 I:     50     50  J:   45   45  K:    1    1  L:      2    104
  strip regrid on X: TEMP --> G5DAYG5DAYG5DAYG @AAV
  strip regrid on T: TEMP --> XNTERMED         @AVE
- found   TEMP     M:  3 dset:   2 I:   50   51  J:   45   50  K:    1    2  L:    1  172
- regrid  TEMP     M: 13 dset:   2 I:   50   51  J:   45   46  K:    1    1  L:    2  104
+ found   TEMP     M:  3 dset:   2 I:     50     51  J:   45   50  K:    1    2  L:      1    172
+ regrid  TEMP     M: 13 dset:   2 I:     50     51  J:   45   46  K:    1    1  L:      2    104
  regrid XY
- regrid  TEMP     M: 14 dset:   2 I:   50   50  J:   45   45  K:    1    1  L:    2  104
- -DELETE TEMP     M: 13 dset:   2 I:   50   51  J:   45   46  K:    1    1  L:    2  104  M: -999 -999  N: -999 -999
+ regrid  TEMP     M: 14 dset:   2 I:     50     50  J:   45   45  K:    1    1  L:      2    104
+ -DELETE TEMP     M: 13 dset:   2 I:     50     51  J:   45   46  K:    1    1  L:      2    104  M: -999 -999  N: -999 -999
 setting up plot
 PPL plot 6    complete
 plot/over temp[g=g5_10g00abcdefghijklmnopqrstuvwxyz1234567890 at ave]
  dealloc  dynamic grid G5DAYG5DAYG5DAYGPSXU      PSYU      PSZT      TAX5DAY
- -DELETE TEMP     M: 14 dset:   2 I:   50   50  J:   45   45  K:    1    1  L:    2  104
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   2 I:    7    7  J:   45   45  K:    1    1  L:    2  104
+ -DELETE TEMP     M: 14 dset:   2 I:     50     50  J:   45   45  K:    1    1  L:      2    104
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   2 I:      7      7  J:   45   45  K:    1    1  L:      2    104
  strip regrid on X: TEMP --> G5_10G00ABCDEFGH @AAV
  strip regrid on Z: TEMP --> XNTERMED         @AVE
  strip regrid on T: TEMP --> ZNTERMED         @AVE
- strip moduloing TEMP on T axis:     2   171 dset:   2
- reading TEMP     M: 14 dset:   2 I:   45   56  J:   45   46  K:    1    2  L:    1  168
- doing moduloing TEMP on T axis:     1   168 dset:   2
- regrid  TEMP     M: 15 dset:   2 I:   45   56  J:   45   46  K:    1    2  L:    2  104
- regrid  TEMP     M: 16 dset:   2 I:   45   56  J:   45   46  K:    1    1  L:    2  104
- -DELETE TEMP     M: 15 dset:   2 I:   45   56  J:   45   46  K:    1    2  L:    2  104  M: -999 -999  N: -999 -999
+ strip moduloing TEMP on T axis:        2      171 dset:   2
+ reading TEMP     M: 14 dset:   2 I:     45     56  J:   45   46  K:    1    2  L:      1    168
+ doing moduloing TEMP on T axis:        1      168 dset:   2
+ regrid  TEMP     M: 15 dset:   2 I:     45     56  J:   45   46  K:    1    2  L:      2    104
+ regrid  TEMP     M: 16 dset:   2 I:     45     56  J:   45   46  K:    1    1  L:      2    104
+ -DELETE TEMP     M: 15 dset:   2 I:     45     56  J:   45   46  K:    1    2  L:      2    104  M: -999 -999  N: -999 -999
  regrid XY
- regrid  TEMP     M: 15 dset:   2 I:    7    7  J:   45   45  K:    1    1  L:    2  104
- -DELETE TEMP     M: 16 dset:   2 I:   45   56  J:   45   46  K:    1    1  L:    2  104  M: -999 -999  N: -999 -999
+ regrid  TEMP     M: 15 dset:   2 I:      7      7  J:   45   45  K:    1    1  L:      2    104
+ -DELETE TEMP     M: 16 dset:   2 I:     45     56  J:   45   46  K:    1    1  L:      2    104  M: -999 -999  N: -999 -999
 setting up plot
 PPL plot 7    complete
 plot/over temp[g=u at asn]
  dealloc  dynamic grid G5_10G00ABCDEFGHXAX10     PSYU      PSZW      TAX5DAY
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU1          PSXU      PSYU      PSZT      TIME1
- eval    EX#1     C:  4 dset:   2 I:   50   50  J:   45   45  K:    1    1  L:    3  170
- strip moduloing TEMP on T axis:     3   170 dset:   2
+ eval    EX#1     C:  4 dset:   2 I:     50     50  J:   45   45  K:    1    1  L:      3    170
+ strip moduloing TEMP on T axis:        3      170 dset:   2
  strip regrid on X: TEMP --> PS3DU1           @ASN
  strip regrid on Y: TEMP --> XNTERMED         @ASN
- found   TEMP     M: 13 dset:   2 I:   45   56  J:   45   46  K:    1    2  L:    2  171
- regrid  TEMP     M: 16 dset:   2 I:   50   50  J:   45   45  K:    1    1  L:    3  168
- regrid  TEMP     M: 17 dset:   2 I:   50   50  J:   45   45  K:    1    1  L:    3  168
- -DELETE TEMP     M: 16 dset:   2 I:   50   50  J:   45   45  K:    1    1  L:    3  168  M: -999 -999  N: -999 -999
- doing moduloing TEMP on T axis:     3   168 dset:   2
+ found   TEMP     M: 13 dset:   2 I:     45     56  J:   45   46  K:    1    2  L:      2    171
+ regrid  TEMP     M: 16 dset:   2 I:     50     50  J:   45   45  K:    1    1  L:      3    168
+ regrid  TEMP     M: 17 dset:   2 I:     50     50  J:   45   45  K:    1    1  L:      3    168
+ -DELETE TEMP     M: 16 dset:   2 I:     50     50  J:   45   45  K:    1    1  L:      3    168  M: -999 -999  N: -999 -999
+ doing moduloing TEMP on T axis:        3      168 dset:   2
  strip regrid on X: TEMP --> PS3DU1           @ASN
  strip regrid on Y: TEMP --> XNTERMED         @ASN
- found   TEMP     M: 14 dset:   2 I:   45   56  J:   45   46  K:    1    2  L:    1  168
- regrid  TEMP     M: 18 dset:   2 I:   50   50  J:   45   45  K:    1    1  L:    1    2
- regrid  TEMP     M: 19 dset:   2 I:   50   50  J:   45   45  K:    1    1  L:    1    2
- -DELETE TEMP     M: 18 dset:   2 I:   50   50  J:   45   45  K:    1    1  L:    1    2  M: -999 -999  N: -999 -999
- doing moduloing TEMP on T axis:     1     2 dset:   2
+ found   TEMP     M: 14 dset:   2 I:     45     56  J:   45   46  K:    1    2  L:      1    168
+ regrid  TEMP     M: 18 dset:   2 I:     50     50  J:   45   45  K:    1    1  L:      1      2
+ regrid  TEMP     M: 19 dset:   2 I:     50     50  J:   45   45  K:    1    1  L:      1      2
+ -DELETE TEMP     M: 18 dset:   2 I:     50     50  J:   45   45  K:    1    1  L:      1      2  M: -999 -999  N: -999 -999
+ doing moduloing TEMP on T axis:        1        2 dset:   2
 setting up plot
 PPL plot 8    complete
 plot/over temp[g=g5_10g00abcdefghijklmnopqrstuvwxyz1234567890 at asn]
  dealloc  dynamic grid PS3DU1          PSXU      PSYU      PSZT      TIME1
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   2 I:    7    7  J:   45   45  K:    1    1  L:    2  104
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   2 I:      7      7  J:   45   45  K:    1    1  L:      2    104
  strip regrid on X: TEMP --> G5_10G00ABCDEFGH @ASN
  strip regrid on Y: TEMP --> XNTERMED         @ASN
  strip regrid on Z: TEMP --> YNTERMED         @ASN
  strip regrid on T: TEMP --> ZNTERMED         @ASN
- reading TEMP     M: 18 dset:   2 I:    7    7  J:   45   45  K:    1    1  L:    2  104
- regrid  TEMP     M: 20 dset:   2 I:    7    7  J:   45   45  K:    1    1  L:    2  104
- regrid  TEMP     M: 21 dset:   2 I:    7    7  J:   45   45  K:    1    1  L:    2  104
- -DELETE TEMP     M: 20 dset:   2 I:    7    7  J:   45   45  K:    1    1  L:    2  104  M: -999 -999  N: -999 -999
- regrid  TEMP     M: 20 dset:   2 I:    7    7  J:   45   45  K:    1    1  L:    2  104
- -DELETE TEMP     M: 21 dset:   2 I:    7    7  J:   45   45  K:    1    1  L:    2  104  M: -999 -999  N: -999 -999
- regrid  TEMP     M: 21 dset:   2 I:    7    7  J:   45   45  K:    1    1  L:    2  104
- -DELETE TEMP     M: 20 dset:   2 I:    7    7  J:   45   45  K:    1    1  L:    2  104  M: -999 -999  N: -999 -999
+ reading TEMP     M: 18 dset:   2 I:      7      7  J:   45   45  K:    1    1  L:      2    104
+ regrid  TEMP     M: 20 dset:   2 I:      7      7  J:   45   45  K:    1    1  L:      2    104
+ regrid  TEMP     M: 21 dset:   2 I:      7      7  J:   45   45  K:    1    1  L:      2    104
+ -DELETE TEMP     M: 20 dset:   2 I:      7      7  J:   45   45  K:    1    1  L:      2    104  M: -999 -999  N: -999 -999
+ regrid  TEMP     M: 20 dset:   2 I:      7      7  J:   45   45  K:    1    1  L:      2    104
+ -DELETE TEMP     M: 21 dset:   2 I:      7      7  J:   45   45  K:    1    1  L:      2    104  M: -999 -999  N: -999 -999
+ regrid  TEMP     M: 21 dset:   2 I:      7      7  J:   45   45  K:    1    1  L:      2    104
+ -DELETE TEMP     M: 20 dset:   2 I:      7      7  J:   45   45  K:    1    1  L:      2    104  M: -999 -999  N: -999 -999
 setting up plot
 PPL plot 9    complete
 plot/over temp[g=u,gt=u at ave]
  dealloc  dynamic grid G5_10G00ABCDEFGHXAX10     PSYU      PSZW      TAX5DAY
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS3DU1          PSXU      PSYU      PSZT      TIME1
  dealloc  dynamic grid PS3DU1          PSXU      PSYU      PSZT      TIME1
  allocate dynamic grid PS3DU1          PSXU      PSYU      PSZT      TIME1
- eval    EX#1     C:  4 dset:   2 I:   50   50  J:   45   45  K:    1    1  L:    3  170
+ eval    EX#1     C:  4 dset:   2 I:     50     50  J:   45   45  K:    1    1  L:      3    170
  allocate dynamic grid PS3DU1          PSXU      PSYU      PSZT      TIME1
- found   TEMP     M:  7 dset:   2 I:   50   50  J:   45   45  K:    1    1  L:    3  170
+ found   TEMP     M:  7 dset:   2 I:     50     50  J:   45   45  K:    1    1  L:      3    170
  dealloc  dynamic grid PS3DU1          PSXU      PSYU      PSZT      TIME1
 setting up plot
 PPL plot 10   complete
 plot/over temp[g=g5dayg5dayg5dayg5dayg5dayg5dayg5dayg5dayg5dayg5day,gt=g5dayg5dayg5dayg5dayg5dayg5dayg5dayg5dayg5dayg5day at ave]
  dealloc  dynamic grid PS3DU1          PSXU      PSYU      PSZT      TIME1
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   2 I:   50   50  J:   45   45  K:    1    1  L:    2  104
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   2 I:     50     50  J:   45   45  K:    1    1  L:      2    104
  strip regrid on X: TEMP --> G5DAYG5DAYG5DAYG @LIN
  strip regrid on T: TEMP --> XNTERMED         @AVE
- found   TEMP     M: 13 dset:   2 I:   45   56  J:   45   46  K:    1    2  L:    2  171
- regrid  TEMP     M: 20 dset:   2 I:   50   51  J:   45   46  K:    1    1  L:    2  104
+ found   TEMP     M: 13 dset:   2 I:     45     56  J:   45   46  K:    1    2  L:      2    171
+ regrid  TEMP     M: 20 dset:   2 I:     50     51  J:   45   46  K:    1    1  L:      2    104
  regrid XY
- regrid  TEMP     M: 22 dset:   2 I:   50   50  J:   45   45  K:    1    1  L:    2  104
- -DELETE TEMP     M: 20 dset:   2 I:   50   51  J:   45   46  K:    1    1  L:    2  104  M: -999 -999  N: -999 -999
+ regrid  TEMP     M: 22 dset:   2 I:     50     50  J:   45   45  K:    1    1  L:      2    104
+ -DELETE TEMP     M: 20 dset:   2 I:     50     51  J:   45   46  K:    1    1  L:      2    104  M: -999 -999  N: -999 -999
 setting up plot
 PPL plot 11   complete
 plot/over temp[g=g5_10g00abcdefghijklmnopqrstuvwxyz1234567890,gt=g5_10g00abcdefghijklmnopqrstuvwxyz1234567890 at ave]
  dealloc  dynamic grid G5DAYG5DAYG5DAYGPSXU      PSYU      PSZT      TAX5DAY
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   2 I:    7    7  J:   45   45  K:    1    1  L:    2  104
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   2 I:      7      7  J:   45   45  K:    1    1  L:      2    104
  strip regrid on X: TEMP --> G5_10G00ABCDEFGH @LIN
  strip regrid on Z: TEMP --> XNTERMED         @LIN
  strip regrid on T: TEMP --> ZNTERMED         @AVE
- found   TEMP     M: 13 dset:   2 I:   45   56  J:   45   46  K:    1    2  L:    2  171
- regrid  TEMP     M: 20 dset:   2 I:   50   51  J:   45   46  K:    1    2  L:    2  104
- regrid  TEMP     M: 23 dset:   2 I:   50   51  J:   45   46  K:    1    1  L:    2  104
- -DELETE TEMP     M: 20 dset:   2 I:   50   51  J:   45   46  K:    1    2  L:    2  104  M: -999 -999  N: -999 -999
+ found   TEMP     M: 13 dset:   2 I:     45     56  J:   45   46  K:    1    2  L:      2    171
+ regrid  TEMP     M: 20 dset:   2 I:     50     51  J:   45   46  K:    1    2  L:      2    104
+ regrid  TEMP     M: 23 dset:   2 I:     50     51  J:   45   46  K:    1    1  L:      2    104
+ -DELETE TEMP     M: 20 dset:   2 I:     50     51  J:   45   46  K:    1    2  L:      2    104  M: -999 -999  N: -999 -999
  regrid XY
- regrid  TEMP     M: 20 dset:   2 I:    7    7  J:   45   45  K:    1    1  L:    2  104
- -DELETE TEMP     M: 23 dset:   2 I:   50   51  J:   45   46  K:    1    1  L:    2  104  M: -999 -999  N: -999 -999
+ regrid  TEMP     M: 20 dset:   2 I:      7      7  J:   45   45  K:    1    1  L:      2    104
+ -DELETE TEMP     M: 23 dset:   2 I:     50     51  J:   45   46  K:    1    1  L:      2    104  M: -999 -999  N: -999 -999
 setting up plot
 PPL plot 12   complete
 plot/over temp[g=g5dayg5dayg5dayg5dayg5dayg5dayg5dayg5dayg5dayg5day,gt=g5dayg5dayg5dayg5dayg5dayg5dayg5dayg5dayg5dayg5day at asn]  ! invalid interpretation of data
  dealloc  dynamic grid G5_10G00ABCDEFGHXAX10     PSYU      PSZW      TAX5DAY
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   2 I:   50   50  J:   45   45  K:    1    1  L:    2  104
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   2 I:     50     50  J:   45   45  K:    1    1  L:      2    104
  strip regrid on X: TEMP --> G5DAYG5DAYG5DAYG @LIN
  strip regrid on T: TEMP --> XNTERMED         @ASN
- found   TEMP     M: 13 dset:   2 I:   45   56  J:   45   46  K:    1    2  L:    2  171
- regrid  TEMP     M: 23 dset:   2 I:   50   51  J:   45   46  K:    1    1  L:    2  104
+ found   TEMP     M: 13 dset:   2 I:     45     56  J:   45   46  K:    1    2  L:      2    171
+ regrid  TEMP     M: 23 dset:   2 I:     50     51  J:   45   46  K:    1    1  L:      2    104
  regrid XY
- regrid  TEMP     M: 24 dset:   2 I:   50   50  J:   45   45  K:    1    1  L:    2  104
- -DELETE TEMP     M: 23 dset:   2 I:   50   51  J:   45   46  K:    1    1  L:    2  104  M: -999 -999  N: -999 -999
+ regrid  TEMP     M: 24 dset:   2 I:     50     50  J:   45   45  K:    1    1  L:      2    104
+ -DELETE TEMP     M: 23 dset:   2 I:     50     51  J:   45   46  K:    1    1  L:      2    104  M: -999 -999  N: -999 -999
 setting up plot
 PPL plot 13   complete
  
@@ -59253,6 +60545,7 @@ set mode/last diag
  
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 ! regrid_to_user
  
 use coads_climatology
@@ -59286,8 +60579,8 @@ list/x=160e/y=5s temp[d=2,k=1,g=a[d=1]]
           29.52
 show grid
  Default grid for DEFINE VARIABLE is ABSTRACT
- Last successful data access was on grid (G006)
-    GRID (G006)
+ Last successful data access was on grid (G###)
+    GRID (G###)
  name       axis              # pts   start                end                 subset
  COADSX    LONGITUDE          180mr   21E                  19E(379)            full
  COADSY    LATITUDE            90 r   89S                  89N                 full
@@ -59315,8 +60608,8 @@ list/x=160e/y=5s temp[d=2,k=1,gy=yax,gx=a[d=1]]
           29.52
 show grid
  Default grid for DEFINE VARIABLE is ABSTRACT
- Last successful data access was on grid (G006)
-    GRID (G006)
+ Last successful data access was on grid (G###)
+    GRID (G###)
  name       axis              # pts   start                end                 subset
  COADSX    LONGITUDE          180mr   21E                  19E(379)            full
  YAX       LATITUDE            81 r   20S                  20N                 full
@@ -59342,8 +60635,8 @@ list/x=160e/y=5s temp[d=2,k=1,gx=a[d=1],g=gg12345678901234567890]
           29.52
 show grid
  Default grid for DEFINE VARIABLE is ABSTRACT
- Last successful data access was on grid (G006)
-    GRID (G006)
+ Last successful data access was on grid (G###)
+    GRID (G###)
  name       axis              # pts   start                end                 subset
  COADSX    LONGITUDE          180mr   21E                  19E(379)            full
  YAX       LATITUDE            81 r   20S                  20N                 full
@@ -59395,14 +60688,14 @@ show grid gg123456789012345678902
     GRID GG123456789012345678902
  name       axis              # pts   start                end
  XAXLEVITR1_160 LONGITUDE     160mr   20.5E                179.5E
- (AX011)   LATITUDE           401 r   20S                  20N
+ (AX###)   LATITUDE           401 r   20S                  20N
  normal    Z
  TIME      TIME                 3mr   16-JAN 06:00         17-MAR 02:58
 show grid/dynamic
 Dynamic grids:
     no implicit grids
 Dynamic axes:
-    AXIS (AX011)                         use count:   1
+    AXIS (AX###)                         use count:   1
  
 ! demonstrate proper management of dynamic axes
 DEFINE GRID/LIKE=gg123456789012345678902 gg123456789012345678903
@@ -59410,7 +60703,7 @@ show grid/dynamic
 Dynamic grids:
     no implicit grids
 Dynamic axes:
-    AXIS (AX011)                         use count:   2
+    AXIS (AX###)                         use count:   2
 DEFINE GRID/like=temp[d=levitus_climatology] gg123456789012345678902
 show grid gg123456789012345678902
     GRID GG123456789012345678902
@@ -59423,17 +60716,17 @@ show grid/dynamic
 Dynamic grids:
     no implicit grids
 Dynamic axes:
-    AXIS (AX011)                         use count:   1
+    AXIS (AX###)                         use count:   1
  
 ! SET GRID using a user-defined variable
 let g = sst[x=0:30:.1,d=coads_climatology]
 set grid g
 show grid
- Default grid for DEFINE VARIABLE is (G006)
- Last successful data access was on grid (G006)
-    GRID (G006)
+ Default grid for DEFINE VARIABLE is (G###)
+ Last successful data access was on grid (G###)
+    GRID (G###)
  name       axis              # pts   start                end                 subset
- (AX013)   LONGITUDE          301 r   0E                   30E                 full
+ (AX###)   LONGITUDE          301 r   0E                   30E                 full
  COADSY    LATITUDE            90 r   89S                  89N                 full
  normal    Z
  TIME      TIME                 3mr   16-JAN 06:00         17-MAR 02:58        full
@@ -59441,20 +60734,20 @@ show grid
 ! The SET GRID (default) definition should be protected -- not altered
 load/d=coads_climatology sst[y=-10:10:.1,l=1,x=160e]
 show grid
- Default grid for DEFINE VARIABLE is (G006)
- Last successful data access was on grid (G005)
-    GRID (G005)
+ Default grid for DEFINE VARIABLE is (G###)
+ Last successful data access was on grid (G###)
+    GRID (G###)
  name       axis              # pts   start                end                 subset
  COADSX    LONGITUDE          180mr   21E                  19E(379)            1 pt
- (AX014)   LATITUDE           201 r   10S                  10N                 200 pts
+ (AX###)   LATITUDE           201 r   10S                  10N                 201 pts
  normal    Z
  TIME      TIME                 3mr   16-JAN 06:00         17-MAR 02:58        1 pt
 show grid/dynamic
 Dynamic grids:
-    GRID (G005)                          use count:   1
+    GRID (G###)                          use count:   1
  name       axis              # pts   start                end
  COADSX    LONGITUDE          180mr   21E                  19E(379)
- (AX014)   LATITUDE           201 r   10S                  10N
+ (AX###)   LATITUDE           201 r   10S                  10N
  normal    Z
  TIME      TIME                 3mr   16-JAN 06:00         17-MAR 02:58
  
@@ -59466,6 +60759,7 @@ set mode/last ignore
  
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
  
 ! dynamic grid commands
  
@@ -59477,7 +60771,7 @@ SHOW GRID mygrid_123456789012345678901234567890
     GRID MYGRID_123456789012345678901234567890
  name       axis              # pts   start                end
  COADSX    LONGITUDE          180mr   21E                  19E(379)
- (AX014)   LATITUDE            41 r   10S                  2S
+ (AX###)   LATITUDE            41 r   10S                  2S
  ZAXLEVITR1_1 DEPTH (m)         1 r-  0                    0
  normal    T
 *** Running ferret script: bn_xml_repl.jnl
@@ -59531,6 +60825,7 @@ sh dat/xml/var
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err64_very_small_latlon
 ! err64_very_small_latlon.jnl
 ! Based on a report and data file from Jean Newman.
@@ -59545,6 +60840,7 @@ shade/i=1:10/j=1:10 bathy
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err64_packed_data
 ! err64_packed_data.jnl
 ! Test writing packed data. Prior to v6.4 this example shows the
@@ -59637,6 +60933,7 @@ list/i=1:15 sst
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO bn_repl_9999999
 ! bn_repl_9999999.jnl
 ! Bug 1717
@@ -59651,6 +60948,7 @@ can view view9999999
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err64_shakey_missingdata
 ! err64_shakey_missingdata.jnl
 ! starting with v6.2 a polygon plot with all missing data.
@@ -59675,6 +60973,7 @@ go polytube polygon/over/key/lev=(0,6,1) xpts,ypts,zpts
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err64_return_precision
 !err64_return_precision.jnl
 ! most of these resulted in *** - format too small.
@@ -59707,6 +61006,7 @@ say `999.999,p=-2`
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err64_parse_equals
 ! err64_parse_equals
 ! Bug1469 (and duplicate 1690)
@@ -59727,6 +61027,7 @@ DEFINE SYMBOL my_sym  = `UPCASE("/lev=(0,30,2)")`
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err64_regrid_noleap
 ! err64_regrid_noleap.jnl
 !
@@ -59752,14 +61053,14 @@ list b  ! includes Feb 15 1150, not missing...
              SUBSET   : 11 points (TIME)
              CALENDAR : NOLEAP
  16-SEP-1149 00 /  1:  419278.
- 16-OCT-1149 12 /  2:  419309.
+ 16-OCT-1149 12 /  2:  419308.
  16-NOV-1149 00 /  3:  419339.
  16-DEC-1149 12 /  4:  419370.
- 16-JAN-1150 12 /  5:  419401.
+ 16-JAN-1150 12 /  5:  419400.
  15-FEB-1150 00 /  6:  419430.
  16-MAR-1150 12 /  7:  419460.
  16-APR-1150 00 /  8:  419490.
- 16-MAY-1150 12 /  9:  419521.
+ 16-MAY-1150 12 /  9:  419520.
  16-JUN-1150 00 / 10:  419551.
  16-JUL-1150 12 / 11:  419582.
  
@@ -59770,6 +61071,7 @@ list b[t=15-feb-1150]  ! Now ok??
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err64_polymark_over_calendar
 ! err64_polymark_over_calendar.jnl
 ! bug1722.  Polymark script failed with calendar mismatch
@@ -60198,6 +61500,7 @@ sp cat the_xml_file.xml
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err65_averages.jnl
  
 use gt4d011
@@ -60344,11 +61647,11 @@ save/file=nc4_deflate4_defaultchunk.nc/clobber/ncformat=4/deflate/shuffle sst
 sp stat nc4_nodeflate3.nc --printf="Bytes: %s\n"
 Bytes: 197508
 sp stat nc4_deflate4bigchunk.nc --printf="Bytes: %s\n"
-Bytes: 125212
+Bytes: 125620
 sp stat nc4_deflate4_xyt.nc --printf="Bytes: %s\n"
-Bytes: 124800
+Bytes: 125234
 sp stat nc4_deflate4_defaultchunk.nc --printf="Bytes: %s\n"
-Bytes: 118865
+Bytes: 119299
  
 ! Write variable as INT
 CAN DAT/all; can var/all; can mem/all
@@ -60365,9 +61668,9 @@ save/clobber/shuffle=1/file=nc4_inttemp_shuffle_set_list_deflate_chunk.nc temp
 sp stat nc4_inttemp_classic.nc --printf="Bytes: %s\n"
 Bytes: 60548
 sp stat nc4_inttemp_set_list_deflate_chunk.nc --printf="Bytes: %s\n"
-Bytes: 32392
+Bytes: 32888
 sp stat nc4_inttemp_shuffle_set_list_deflate_chunk.nc --printf="Bytes: %s\n"
-Bytes: 32569
+Bytes: 33103
  
 cancel list/all
 set list/ncformat=classic
@@ -60432,12 +61735,12 @@ define axis/t=1-jan-2010:30-mar-2010:1/units=days tin
 define axis/t=1-jan-2010:30-mar-2010:10/units=days tout
 let tt = t[gt=tout,L=1:10]
 sh grid tt
-    GRID (G001)
+    GRID (G###)
  name       axis              # pts   start                end                 subset
  normal    X
  normal    Y
  normal    Z
- TOUT      TIME                10 r   01-JAN-2010 00:00    01-APR-2010 00:00   9 pts
+ TOUT      TIME                10 r   01-JAN-2010 00:00    01-APR-2010 00:00   10 pts
  
  
 define axis/x=0:10:0.05 x10
@@ -60637,12 +61940,12 @@ list/x=2:3 sgrid
  
 let tpts = 39798 + 87*RANDU(I)
 show grid tt
-    GRID (G004)
+    GRID (G###)
  name       axis              # pts   start                end                 subset
  X10       X                  201 r   0                    10                  full
  Y10       Y                  201 r   0                    10                  full
  normal    Z
- TOUT      TIME                10 r   01-JAN-2010 00:00    01-APR-2010 00:00   9 pts
+ TOUT      TIME                10 r   01-JAN-2010 00:00    01-APR-2010 00:00   10 pts
  
 let sgrid = scat2grid_bin_xyt (xpts, ypts, tpts, sample_function, x[gx=xax5], y[gy=yax5], tt)
 SAVE/FILE=a.nc/clobber sgrid
@@ -60656,8 +61959,8 @@ use a.nc
 stat sgrid
  
              SCAT2GRID_BIN_XYT (XPTS, YPTS, TPTS, SAMPLE_FUNCTION, X[GX=XAX5], Y[GY=YAX5], TT)
-             X: 0.8 to 10.3
-             Y: 0.8 to 10.3
+             X: 0.8 to 10.2
+             Y: 0.8 to 10.2
              Z:  N/A
              TIME: 27-DEC-2009 00:00 to 06-APR-2010 00:00
              E:  N/A
@@ -60673,8 +61976,8 @@ stat sgrid
 stat ngrid
  
              SCAT2GRID_NBIN_XYT (XPTS, YPTS, TPTS, SAMPLE_FUNCTION, X[GX=XAX5], Y[GY=YAX5], TT)
-             X: 0.8 to 10.3
-             Y: 0.8 to 10.3
+             X: 0.8 to 10.2
+             Y: 0.8 to 10.2
              Z:  N/A
              TIME: 27-DEC-2009 00:00 to 06-APR-2010 00:00
              E:  N/A
@@ -60788,6 +62091,7 @@ AX_VERT = "Y"
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err65_dots_in_dashes.jnl
 ! err65_dots_in_dashes.jnl
 ! Test fix to bug 1396: dots where there should
@@ -60808,6 +62112,7 @@ cancel mode meta
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err66_all_missing_lev_v.jnl
 ! err66_all_missing_lev_v.jnl
 ! Ferret hangs with /LEV=V and all missing data
@@ -61014,6 +62319,7 @@ show grid
 ! --- clean up
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 cancel grid mygrid
  
 ! --- read a NetCDF file with the irregular axes and data
@@ -61518,9 +62824,9 @@ list contents
              VARIABLE : { SPAWN:"cat redirect_journal.txt" }
              SUBSET   : 45 points (X)
  1    /  1:" ! NOAA/PMEL TMAP"                                                          
- 2    /  2:" ! FERRET v7.1 (beta/debug)"                                                
- 3    /  3:" ! Linux 2.6.32-642.13.1.el6.x86_64 64-bit - 02/09/17"                      
- 4    /  4:" !  9-Feb-17 14:25     "                                                    
+ 2    /  2:" ! FERRET v7.2 (beta/debug)"                                                
+ 3    /  3:" ! Linux 3.10.0-514.26.2.el7.x86_64 64-bit - MM-DD-YY"                      
+ 4    /  4:" ! DD-MON-YY HH:MM     "                                                    
  5    /  5:""                                                                           
  6    /  6:"! "                                                                         
  7    /  7:"!! --- 22. produce some output to stdout and stderr"                        
@@ -61608,7 +62914,7 @@ regridding transforms e.g.SST[GX=x5deg at AVE]
    @MAX        maximum                      @NRST       nearst coord
    @SUM        area-wgtd sum                @BIN        unwgtd avg
    @NGD        #gd pts, area wgtd           @NBIN       #good in bin
-   @MOD        modulo ave
+   @MOD        modulo ave                   @IIN        #indef integral
  
 auxiliary varible regridding transforms e.g.TEMP[GZ(depth)=zax at AVE]
    code        description                  code        description
@@ -61974,6 +63280,7 @@ LAB4 = "CALENDAR: NOLEAP"
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err664_xml_keep_case
 ! err664_xml_keep_case.jnl
 !
@@ -62169,6 +63476,7 @@ REPEAT/RANGE=1:`nd`/name=m (DEFINE SYMBOL m = `m`; SH AXIS/XML `axis_names[i=($m
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err664_xml_one_point_axis
 ! err664_xml_one_point_axis.jnl
 ! See LAS ticket 969.
@@ -62240,6 +63548,7 @@ SH VAR/XML
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err65_read_epic_cdf
 ! Ned Cokelet reports that the time coordinate is read incorrectly
 ! from this file.  Should translate to  04-MAY-2007 05:02
@@ -62278,6 +63587,7 @@ list ..dimnames
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err664_tax_fcns
 ! err664_tax_fcns.jnl
 ! Fixes for tickets 1766 and 1765
@@ -62475,6 +63785,7 @@ LIST/X=165W:135W/Y=-50/L=1 STRLEN(var)
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err665_sum_4d_labels
 ! A multi-dimensioned sum is now done as a 4D transformation.
 ! the labels on a LISTing of the result contained ???
@@ -62491,6 +63802,7 @@ list sst[X=125E,Y=75S:75N at sum,l=1:12 at sum]
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err665_din
 ! err665_din
 ! Fixing incorrect latitude corrections for single-point y axis,
@@ -62560,6 +63872,7 @@ list p[x=279:380 at din,z=0:10 at din]
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err665_centered_lev
 ! err665_centered_lev
 ! Bug 1803; computation of new levels isnt requested for
@@ -62600,6 +63913,7 @@ LEV_DEL = "5"
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err665_hours_since_T
 ! err665_hours_since_T.jnl
 ! Ticket 1806: allow time-axis units string to
@@ -62618,6 +63932,7 @@ T0 = 15-JAN-1901 12:00:00
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err667_att_too_long
 ! err667_att_too_long.jnl
 ! 3/25/2011 ACM
@@ -62668,6 +63983,7 @@ save/file=aa.nc/clobber sfco2
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err667_mode_desperate
 ! err667_mode_desperate
 ! 3/25/2011 ACM
@@ -62679,22 +63995,22 @@ set mode ignore
  
 ! setting too large
 set mode desperate `9999999999`
- !-> set mode desperate   9999999999.000000
+ !-> set mode desperate 9999999999.
 show mode desperate
       MODE            STATE        ARGUMENT
-      DESPERATE     CANCELLED      2560000
+      DESPERATE     CANCELED       2560000
  
 ! another setting too large (previously value
 ! was set to the first 10 digits of this)
 set mode desperate 1234567890123456789
 show mode desperate
       MODE            STATE        ARGUMENT
-      DESPERATE     CANCELLED      2560000
+      DESPERATE     CANCELED       2560000
  
 ! Previously couldnt handle a floating point
 ! input. Now we can.
 set mode desperate `96 * 1024 * 1024`
- !-> set mode desperate   100663296.0000000
+ !-> set mode desperate 100663296.
 show mode desperate
       MODE            STATE        ARGUMENT
       DESPERATE        SET           100663296
@@ -62704,6 +64020,7 @@ cancel mode desperate
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err667_dup_axnames
 ! err667_dup_axnames.jnl
 ! See bug 1750
@@ -62734,6 +64051,7 @@ save/clob/file="justg.nc" g[d=1]
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err667_string_if
 ! err667_string_if.jnl
 ! Previously both of these LIST commands caused a crash.
@@ -62759,6 +64077,7 @@ list IF strings EQ "a" THEN "" ELSE strings
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err667_show_var_twice
  ! err667_show_var_twice.jnl
  ! ticket 1825
@@ -62780,11 +64099,13 @@ sh var airt2[d=1]
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err667_5d_netcdf
 exit/script  ! this test is not valid for 6D Ferret.
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err67_save_append_open
 ! err67_save_append_open.jnl
 ! ticket 1832
@@ -62837,6 +64158,7 @@ USE test0
 ! Now we get the NOTE
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 SET MODE diag
 USE test0
 CANCEL MODE diag
@@ -62847,6 +64169,7 @@ CANCEL MODE diag
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err67_tax_modtime
 ! err67_tax_modtime.jnl
 ! 5/17/2011
@@ -62917,6 +64240,7 @@ list tax_units(tvar)
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err67_save_append_open
 ! err67_save_append_open.jnl
 ! ticket 1832
@@ -62957,6 +64281,7 @@ sh dat
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err67_regridding_dyn
 ! err67_regridding_dyn.jnl
 !  6/2011
@@ -63064,6 +64389,7 @@ list/x=330/y=40:90 filled[d=3,gxy=filled[d=2]]
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err67_reverse_bounds
 ! err67_reverse_bounds.jnl
 !
@@ -63106,6 +64432,7 @@ list lev_var, zboxlo[gz=lev_var], zboxhi[gz=lev_var]
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err67_nrst_trans
 ! err67_nrst_trans.jnl
 !
@@ -63136,6 +64463,7 @@ list var
 !
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err672_stray_line
 ! err672_stray_line.jnl
 ! bug 1545, present in older versions of Ferret too.
@@ -63156,6 +64484,7 @@ plot/over/vs/nolab/line/sym {148.83, 148.17}, {-29.96, -29.68}
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err672_tax_functions_prec
 ! See ticket 1642: arg 1 of TAX_* functions
 ! is a single-precision variale representing double-precision coords.
@@ -63453,6 +64782,7 @@ can mode ignore
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err672_subscr_precision
 ! err672_subscr_precision.jnl
 ! See ticket 1888.
@@ -63480,6 +64810,7 @@ list/t="02-JUN-2010:13:34:40":"02-JUN-2010:13:34:50" tt
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err672_vert_axislabel
 ! err672_vert_axislabel.jnl
 ! bug 1896
@@ -63510,6 +64841,7 @@ SET MODE/LAST shrink_ylab
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err672_axis_label_prec
 ! See ticket 1907
 ! Axis label format didnt give enough precision for accurate labels
@@ -63543,6 +64875,7 @@ plot v
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err672_long_show_axis
 ! See ticket 1905 - axes with very large number of points overflowed
 ! the format in SHOW AXIS commands
@@ -63558,6 +64891,7 @@ can axis huge
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err672_axis_order
 ! err672_axis_order
 ! See comment 5 under ticket 1774.
@@ -63626,6 +64960,7 @@ list/k=3/i=1 ucov[d=2]
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err672_runoff_page
 ! err672_runoff_page
 ! acm 5/3/2012
@@ -63646,6 +64981,7 @@ SET MODE/LAST shrink_ylab
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err672_samplexy_modulo
 ! err672_samplexy_modulo.jnl
 ! See ticket 1950: samplexy doesnt correctly do modulo operations.
@@ -63704,6 +65040,7 @@ list samplexyt(sst,{160,180,-20},{0,0,0},{`t1`,`t1`,`t1`})
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err672_varnames
 ! err672_varnames.jnl
 ! ticket 1938
@@ -63734,6 +65071,7 @@ CAN MODE IGNORE
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err672_dset_cx
 ! err672_dset_cx.jnl
 ! Ticket 1951: The dataset specified in list x[gx=a[d=1,i=1:3]] is not applied.
@@ -63741,9 +65079,9 @@ GO err672_dset_cx
  
 let a = x[gx=0:2:1]; save/clob/file=a1.nc a
 sho grid/x a
-    GRID (G008)
+    GRID (G###)
  name       axis              # pts   start                end                 subset
- (AX007)   X                    3 r   0                    2                   2 pts
+ (AX###)   X                    3 r   0                    2                   3 pts
  normal    Y
  normal    Z
  normal    T
@@ -63755,9 +65093,9 @@ sho grid/x a
  
 let a = x[gx=1:3:1]; save/clob/file=a2.nc a
 sho grid/x a
-    GRID (G008)
+    GRID (G###)
  name       axis              # pts   start                end                 subset
- (AX002)   X                    3 r   1                    3                   2 pts
+ (AX###)   X                    3 r   1                    3                   3 pts
  normal    Y
  normal    Z
  normal    T
@@ -63980,130 +65318,130 @@ can mode ver
              BAD FLAG : -1.E+34       
              SUBSET   : 5 points (X)
              X        : 0.5 to 5.5
-randu2_randn2       0.075
-randu2_randn2       0.271
-randu2_randn2       0.813
-randu2_randn2       0.041
-randu2_randn2       0.802
+randu2_randn2      ......
+randu2_randn2      ......
+randu2_randn2      ......
+randu2_randn2      ......
+randu2_randn2      ......
              VARIABLE : RANDU2(XBIG,-1)
              BAD FLAG : -1.E+34       
              SUBSET   : 5 points (X)
              X        : 0.5 to 5.5
-randu2_randn2       0.943
-randu2_randn2       0.955
-randu2_randn2       0.825
-randu2_randn2       0.751
-randu2_randn2       0.908
+randu2_randn2      ......
+randu2_randn2      ......
+randu2_randn2      ......
+randu2_randn2      ......
+randu2_randn2      ......
              VARIABLE : RANDU2(XX,0)
              BAD FLAG : -1.E+34       
              SUBSET   : 6 points (X)
              X        : 0.5 to 6.5
-randu2_randn2       0.864
-randu2_randn2       0.130
-randu2_randn2       0.343
-randu2_randn2       0.163
-randu2_randn2       0.203
-randu2_randn2       0.478
+randu2_randn2      ......
+randu2_randn2      ......
+randu2_randn2      ......
+randu2_randn2      ......
+randu2_randn2      ......
+randu2_randn2      ......
              VARIABLE : RANDU2(XX,0)
              BAD FLAG : -1.E+34       
              SUBSET   : 6 points (X)
              X        : 0.5 to 6.5
-randu2_randn2       0.537
-randu2_randn2       0.708
-randu2_randn2       0.607
-randu2_randn2       0.008
-randu2_randn2       0.024
-randu2_randn2       0.432
+randu2_randn2      ......
+randu2_randn2      ......
+randu2_randn2      ......
+randu2_randn2      ......
+randu2_randn2      ......
+randu2_randn2      ......
              VARIABLE : RANDU2(XX,12436)
              BAD FLAG : -1.E+34       
              SUBSET   : 6 points (X)
              X        : 0.5 to 6.5
-randu2_randn2       0.302
-randu2_randn2       0.380
-randu2_randn2       0.926
-randu2_randn2       0.672
-randu2_randn2       0.238
-randu2_randn2       0.638
+randu2_randn2      ......
+randu2_randn2      ......
+randu2_randn2      ......
+randu2_randn2      ......
+randu2_randn2      ......
+randu2_randn2      ......
              VARIABLE : RANDU2(XX,12436)
              BAD FLAG : -1.E+34       
              SUBSET   : 6 points (X)
              X        : 0.5 to 6.5
-randu2_randn2       0.302
-randu2_randn2       0.380
-randu2_randn2       0.926
-randu2_randn2       0.672
-randu2_randn2       0.238
-randu2_randn2       0.638
+randu2_randn2      ......
+randu2_randn2      ......
+randu2_randn2      ......
+randu2_randn2      ......
+randu2_randn2      ......
+randu2_randn2      ......
              VARIABLE : RANDN2(XBIG,-1)
              BAD FLAG : -1.E+34       
              SUBSET   : 5 points (X)
              X        : 0.5 to 5.5
-randu2_randn2       0.247
-randu2_randn2      -1.084
-randu2_randn2       2.660
-randu2_randn2      -0.439
-randu2_randn2       0.243
+randu2_randn2      ......
+randu2_randn2      ......
+randu2_randn2      ......
+randu2_randn2      ......
+randu2_randn2      ......
              VARIABLE : RANDN2(XBIG,-1)
              BAD FLAG : -1.E+34       
              SUBSET   : 5 points (X)
              X        : 0.5 to 5.5
-randu2_randn2       0.514
-randu2_randn2       1.296
-randu2_randn2      -1.412
-randu2_randn2      -1.346
-randu2_randn2      -0.198
+randu2_randn2      ......
+randu2_randn2      ......
+randu2_randn2      ......
+randu2_randn2      ......
+randu2_randn2      ......
              VARIABLE : RANDN2(XX,0)
              BAD FLAG : -1.E+34       
              SUBSET   : 6 points (X)
              X        : 0.5 to 6.5
-randu2_randn2       0.058
-randu2_randn2       1.297
-randu2_randn2      -1.515
-randu2_randn2       1.137
-randu2_randn2      -0.174
-randu2_randn2      -0.761
+randu2_randn2      ......
+randu2_randn2      ......
+randu2_randn2      ......
+randu2_randn2      ......
+randu2_randn2      ......
+randu2_randn2      ......
              VARIABLE : RANDN2(XX,0)
              BAD FLAG : -1.E+34       
              SUBSET   : 6 points (X)
              X        : 0.5 to 6.5
-randu2_randn2      -0.056
-randu2_randn2       0.179
-randu2_randn2       0.896
-randu2_randn2       0.312
-randu2_randn2      -0.754
-randu2_randn2      -2.397
+randu2_randn2      ......
+randu2_randn2      ......
+randu2_randn2      ......
+randu2_randn2      ......
+randu2_randn2      ......
+randu2_randn2      ......
              VARIABLE : RANDN2(XX,12436)
              BAD FLAG : -1.E+34       
              SUBSET   : 6 points (X)
              X        : 0.5 to 6.5
-randu2_randn2      -0.906
-randu2_randn2      -1.503
-randu2_randn2       0.217
-randu2_randn2       0.537
-randu2_randn2       0.674
-randu2_randn2      -1.279
+randu2_randn2      ......
+randu2_randn2      ......
+randu2_randn2      ......
+randu2_randn2      ......
+randu2_randn2      ......
+randu2_randn2      ......
              VARIABLE : RANDN2(XX,12436)
              BAD FLAG : -1.E+34       
              SUBSET   : 6 points (X)
              X        : 0.5 to 6.5
-randu2_randn2      -0.906
-randu2_randn2      -1.503
-randu2_randn2       0.217
-randu2_randn2       0.537
-randu2_randn2       0.674
-randu2_randn2      -1.279
+randu2_randn2      ......
+randu2_randn2      ......
+randu2_randn2      ......
+randu2_randn2      ......
+randu2_randn2      ......
+randu2_randn2      ......
              Z: 1 to 140
  Column  1: VAR2 is COS(Z[GZ=ZAX]/30) + RANDU2(1+K[GZ=ZAX],-1)
  Column  2: VAR2[Z=@MED:3] is COS(Z[GZ=ZAX]/30) + RANDU2(1+K[GZ=ZAX],-1) (median smoothed by 3 pts on Z)
  Column  3: VAR2[Z=@MED:9] is COS(Z[GZ=ZAX]/30) + RANDU2(1+K[GZ=ZAX],-1) (median smoothed by 9 pts on Z)
-randu2_randn2       1.218       1.218       0.532
-randu2_randn2       1.060       1.060       0.532
-randu2_randn2       0.532       0.532       0.208
-randu2_randn2       0.208       0.208       0.437
-randu2_randn2      -0.098      -0.052       0.437
-randu2_randn2      -0.052      -0.098       0.437
-randu2_randn2      -0.644      -0.052       0.437
-randu2_randn2       0.437       0.437       0.437
+randu2_randn2      ......
+randu2_randn2      ......
+randu2_randn2      ......
+randu2_randn2      ......
+randu2_randn2      ......
+randu2_randn2      ......
+randu2_randn2      ......
+randu2_randn2      ......
 *** Running ferret script: bn_axis_cf.jnl
 ! Ticket 1792: Write axes with CF-compliant units
 ! and with standard name attributes for geophysical attrs.
@@ -65966,17 +67304,17 @@ list v1234
  9   / 5:  2998.  3998.  4998.
  ---- N:4 F:   1980
  ---- M:3 E:   5
- 5   / 3:  2779.  3779.  4779.
- 7   / 4:  2879.  3879.  4879.
- 9   / 5:  2979.  3979.  4979.
+ 5   / 3:  2778.  3778.  4778.
+ 7   / 4:  2878.  3878.  4878.
+ 9   / 5:  2978.  3978.  4978.
  ---- M:4 E:   7
- 5   / 3:  2789.  3789.  4789.
- 7   / 4:  2889.  3889.  4889.
- 9   / 5:  2989.  3989.  4989.
+ 5   / 3:  2788.  3788.  4788.
+ 7   / 4:  2888.  3888.  4888.
+ 9   / 5:  2988.  3988.  4988.
  ---- M:5 E:   9
- 5   / 3:  2799.  3799.  4799.
- 7   / 4:  2899.  3899.  4899.
- 9   / 5:  2999.  3999.  4999.
+ 5   / 3:  2798.  3798.  4798.
+ 7   / 4:  2898.  3898.  4898.
+ 9   / 5:  2998.  3998.  4998.
  ---- N:5 F:   1980
  ---- M:3 E:   5
  5   / 3:  2780.  3780.  4780.
@@ -68048,7 +69386,7 @@ set mode calendar:years
 define axis/f=23-jan-1982:30-jan-1982:20/unit=hour fax20
 define axis/x=120e:60w:10/unit=degrees xax10
 define grid/like=temp/f=fax20 g5day
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GGR1            PSXT      PSYT5_89  PSZT1_2   TIME2     EAXIS     FAXIS
  
 set reg/x=130w:125w/y=0:1.5/e=1:2/f=23-JAN-1982:24-jan-1982/t=21-JAN-1982/z=5
@@ -68057,14 +69395,14 @@ use gtsa056_1_ef    	!kob 4/99
  
 stat temp[g=g5day] - temp[g=g5day at ave]
  dealloc  dynamic grid GGR1            PSXT      PSYT5_89  PSZT1_2   TIME2     EAXIS     FAXIS
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I:  101  105  J:   41   46  K:    1    1  L:    3    3  M:    1    2  N:    1    2
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:    101    105  J:   41   46  K:    1    1  L:      3      3  M:    1    2  N:    1    2
  strip regrid on F: TEMP --> G5DAY            @LIN
- reading TEMP     M:  1 dset:   1 I:  101  105  J:   41   46  K:    1    1  L:    3    3  M:    1    2  N:    1    2
- regrid  TEMP     M:  2 dset:   1 I:  101  105  J:   41   46  K:    1    1  L:    3    3  M:    1    2  N:    1    2
+ reading TEMP     M:  1 dset:   1 I:    101    105  J:   41   46  K:    1    1  L:      3      3  M:    1    2  N:    1    2
+ regrid  TEMP     M:  2 dset:   1 I:    101    105  J:   41   46  K:    1    1  L:      3      3  M:    1    2  N:    1    2
  strip regrid on F: TEMP --> G5DAY            @AVE
- found   TEMP     M:  1 dset:   1 I:  101  105  J:   41   46  K:    1    1  L:    3    3  M:    1    2  N:    1    2
- regrid  TEMP     M:  3 dset:   1 I:  101  105  J:   41   46  K:    1    1  L:    3    3  M:    1    2  N:    1    2
+ found   TEMP     M:  1 dset:   1 I:    101    105  J:   41   46  K:    1    1  L:      3      3  M:    1    2  N:    1    2
+ regrid  TEMP     M:  3 dset:   1 I:    101    105  J:   41   46  K:    1    1  L:      3      3  M:    1    2  N:    1    2
  
              TEMP[G=G5DAY] - TEMP[G=G5DAY at AVE]
              LONGITUDE: 130W to 125W
@@ -68084,15 +69422,15 @@ stat temp[g=g5day] - temp[g=g5day at ave]
  
 ! basic regrid tests
 LIST temp[g=g5day at ave]
- -DELETE EX#1     M:  4 dset:   1 I:  101  105  J:   41   46  K:    1    1  L:    3    3  M:    1    2  N:    1    2
+ -DELETE EX#1     M:  4 dset:   1 I:    101    105  J:   41   46  K:    1    1  L:      3      3  M:    1    2  N:    1    2
  dealloc  dynamic grid G5DAY           PSXT      PSYT5_89  PSZT1_2   TIME2     EAXIS     FAX20
- -DELETE TEMP     M:  2 dset:   1 I:  101  105  J:   41   46  K:    1    1  L:    3    3  M:    1    2  N:    1    2
- -DELETE TEMP     M:  3 dset:   1 I:  101  105  J:   41   46  K:    1    1  L:    3    3  M:    1    2  N:    1    2
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I:  101  105  J:   41   46  K:    1    1  L:    3    3  M:    1    2  N:    1    2
+ -DELETE TEMP     M:  2 dset:   1 I:    101    105  J:   41   46  K:    1    1  L:      3      3  M:    1    2  N:    1    2
+ -DELETE TEMP     M:  3 dset:   1 I:    101    105  J:   41   46  K:    1    1  L:      3      3  M:    1    2  N:    1    2
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:    101    105  J:   41   46  K:    1    1  L:      3      3  M:    1    2  N:    1    2
  strip regrid on F: TEMP --> G5DAY            @AVE
- found   TEMP     M:  1 dset:   1 I:  101  105  J:   41   46  K:    1    1  L:    3    3  M:    1    2  N:    1    2
- regrid  TEMP     M:  3 dset:   1 I:  101  105  J:   41   46  K:    1    1  L:    3    3  M:    1    2  N:    1    2
+ found   TEMP     M:  1 dset:   1 I:    101    105  J:   41   46  K:    1    1  L:      3      3  M:    1    2  N:    1    2
+ regrid  TEMP     M:  3 dset:   1 I:    101    105  J:   41   46  K:    1    1  L:      3      3  M:    1    2  N:    1    2
              VARIABLE : TEMPERATURE (deg. C)
                         regrid: G5DAY on F at AVE
              FILENAME : gtsa056_1_ef.nc
@@ -68133,12 +69471,12 @@ LIST temp[g=g5day at ave]
  0.17S / 41:  43.35  43.26  43.17  43.14  43.27
 LIST temp[g=g5day]	
  dealloc  dynamic grid G5DAY           PSXT      PSYT5_89  PSZT1_2   TIME2     EAXIS     FAX20
- -DELETE TEMP     M:  3 dset:   1 I:  101  105  J:   41   46  K:    1    1  L:    3    3  M:    1    2  N:    1    2
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- eval    EX#1     C:  4 dset:   1 I:  101  105  J:   41   46  K:    1    1  L:    3    3  M:    1    2  N:    1    2
+ -DELETE TEMP     M:  3 dset:   1 I:    101    105  J:   41   46  K:    1    1  L:      3      3  M:    1    2  N:    1    2
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:    101    105  J:   41   46  K:    1    1  L:      3      3  M:    1    2  N:    1    2
  strip regrid on F: TEMP --> G5DAY            @LIN
- found   TEMP     M:  1 dset:   1 I:  101  105  J:   41   46  K:    1    1  L:    3    3  M:    1    2  N:    1    2
- regrid  TEMP     M:  3 dset:   1 I:  101  105  J:   41   46  K:    1    1  L:    3    3  M:    1    2  N:    1    2
+ found   TEMP     M:  1 dset:   1 I:    101    105  J:   41   46  K:    1    1  L:      3      3  M:    1    2  N:    1    2
+ regrid  TEMP     M:  3 dset:   1 I:    101    105  J:   41   46  K:    1    1  L:      3      3  M:    1    2  N:    1    2
              VARIABLE : TEMPERATURE (deg. C)
                         regrid: G5DAY
              FILENAME : gtsa056_1_ef.nc
@@ -68198,15 +69536,15 @@ use gtsa056_1_ef 		!kob 4/99
 set region/x=180E/y=0/f=23-JAN-1982/t=21-JAN-1982/z=5
 plot temp
  dealloc  dynamic grid G5DAY           PSXT      PSYT5_89  PSZT1_2   TIME2     EAXIS     FAX20
- -DELETE TEMP     M:  3 dset:   1 I:  101  105  J:   41   46  K:    1    1  L:    3    3  M:    1    2  N:    1    2
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ -DELETE TEMP     M:  3 dset:   1 I:    101    105  J:   41   46  K:    1    1  L:      3      3  M:    1    2  N:    1    2
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GGR1            PSXT      PSYT5_89  PSZT1_2   TIME2     EAXIS     FAXIS
  strip --> EX#1[F=1982 at ITP,D=1]
  strip --> EX#1[T=1982 at ITP,D=1]
  strip --> EX#1[Y=0 at ITP,D=1]
  strip --> EX#1[X=180E at ITP,D=1]
- eval    EX#1     C:  8 dset:   1 I:   50   51  J:   41   42  K:    1    1  L:    2    3  M:    1    2  N:    1    2
- reading TEMP     M:  3 dset:   1 I:   50   51  J:   41   42  K:    1    1  L:    2    3  M:    1    2  N:    1    2
+ eval    EX#1     C:  8 dset:   1 I:     50     51  J:   41   42  K:    1    1  L:      2      3  M:    1    2  N:    1    2
+ reading TEMP     M:  3 dset:   1 I:     50     51  J:   41   42  K:    1    1  L:      2      3  M:    1    2  N:    1    2
  doing --> TEMP[X=180E at ITP,D=1]
  doing --> TEMP[Y=0 at ITP,D=1]
  doing --> TEMP[T=1982 at ITP,D=1]
@@ -68215,14 +69553,14 @@ setting up plot
 PPL plot 1    complete
 plot/over temp[g=g5day]
  dealloc  dynamic grid GGR1            PSXT      PSYT5_89  PSZT1_2   TIME2     EAXIS     FAXIS
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip --> EX#1[T=1982 at ITP,D=1]
  strip --> EX#1[Y=0 at ITP,D=1]
  strip --> EX#1[X=180E at ITP,D=1]
- eval    EX#1     C:  7 dset:   1 I:   50   51  J:   41   42  K:    1    1  L:    2    3  M:    1    2  N:    1    1
+ eval    EX#1     C:  7 dset:   1 I:     50     51  J:   41   42  K:    1    1  L:      2      3  M:    1    2  N:    1    1
  strip regrid on F: TEMP --> G5DAY            @LIN
- found   TEMP     M:  3 dset:   1 I:   50   51  J:   41   42  K:    1    1  L:    2    3  M:    1    2  N:    1    2
- regrid  TEMP     M:  7 dset:   1 I:   50   51  J:   41   42  K:    1    1  L:    2    3  M:    1    2  N:    1    1
+ found   TEMP     M:  3 dset:   1 I:     50     51  J:   41   42  K:    1    1  L:      2      3  M:    1    2  N:    1    2
+ regrid  TEMP     M:  7 dset:   1 I:     50     51  J:   41   42  K:    1    1  L:      2      3  M:    1    2  N:    1    1
  doing --> TEMP[X=180E at ITP,D=1]
  doing --> TEMP[Y=0 at ITP,D=1]
  doing --> TEMP[T=1982 at ITP,D=1]
@@ -68230,18 +69568,18 @@ setting up plot
 PPL plot 2    complete
 plot/over temp[g=g5day at ave]
  dealloc  dynamic grid G5DAY           PSXT      PSYT5_89  PSZT1_2   TIME2     EAXIS     FAX20
- -DELETE TEMP     M:  7 dset:   1 I:   50   51  J:   41   42  K:    1    1  L:    2    3  M:    1    2  N:    1    1
- -DELETE TEMP     M:  8 dset:   1 I: -999 -999  J:   41   42  K:    1    1  L:    2    3  M:    1    2  N:    1    1
- -DELETE TEMP     M:  9 dset:   1 I: -999 -999  J: -999 -999  K:    1    1  L:    2    3  M:    1    2  N:    1    1
- -DELETE TEMP     M: 10 dset:   1 I: -999 -999  J: -999 -999  K:    1    1  L: -999 -999  M:    1    2  N:    1    1
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ -DELETE TEMP     M:  7 dset:   1 I:     50     51  J:   41   42  K:    1    1  L:      2      3  M:    1    2  N:    1    1
+ -DELETE TEMP     M:  8 dset:   1 I:   -999   -999  J:   41   42  K:    1    1  L:      2      3  M:    1    2  N:    1    1
+ -DELETE TEMP     M:  9 dset:   1 I:   -999   -999  J: -999 -999  K:    1    1  L:      2      3  M:    1    2  N:    1    1
+ -DELETE TEMP     M: 10 dset:   1 I:   -999   -999  J: -999 -999  K:    1    1  L:   -999   -999  M:    1    2  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip --> EX#1[T=1982 at ITP,D=1]
  strip --> EX#1[Y=0 at ITP,D=1]
  strip --> EX#1[X=180E at ITP,D=1]
- eval    EX#1     C:  7 dset:   1 I:   50   51  J:   41   42  K:    1    1  L:    2    3  M:    1    2  N:    1    1
+ eval    EX#1     C:  7 dset:   1 I:     50     51  J:   41   42  K:    1    1  L:      2      3  M:    1    2  N:    1    1
  strip regrid on F: TEMP --> G5DAY            @AVE
- found   TEMP     M:  3 dset:   1 I:   50   51  J:   41   42  K:    1    1  L:    2    3  M:    1    2  N:    1    2
- regrid  TEMP     M: 10 dset:   1 I:   50   51  J:   41   42  K:    1    1  L:    2    3  M:    1    2  N:    1    1
+ found   TEMP     M:  3 dset:   1 I:     50     51  J:   41   42  K:    1    1  L:      2      3  M:    1    2  N:    1    2
+ regrid  TEMP     M: 10 dset:   1 I:     50     51  J:   41   42  K:    1    1  L:      2      3  M:    1    2  N:    1    1
  doing --> TEMP[X=180E at ITP,D=1]
  doing --> TEMP[Y=0 at ITP,D=1]
  doing --> TEMP[T=1982 at ITP,D=1]
@@ -68249,18 +69587,18 @@ setting up plot
 PPL plot 3    complete
 plot/over temp[g=g5day at asn]
  dealloc  dynamic grid G5DAY           PSXT      PSYT5_89  PSZT1_2   TIME2     EAXIS     FAX20
- -DELETE TEMP     M:  7 dset:   1 I: -999 -999  J: -999 -999  K:    1    1  L: -999 -999  M:    1    2  N:    1    1
- -DELETE TEMP     M:  8 dset:   1 I: -999 -999  J: -999 -999  K:    1    1  L:    2    3  M:    1    2  N:    1    1
- -DELETE TEMP     M:  9 dset:   1 I: -999 -999  J:   41   42  K:    1    1  L:    2    3  M:    1    2  N:    1    1
- -DELETE TEMP     M: 10 dset:   1 I:   50   51  J:   41   42  K:    1    1  L:    2    3  M:    1    2  N:    1    1
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ -DELETE TEMP     M:  7 dset:   1 I:   -999   -999  J: -999 -999  K:    1    1  L:   -999   -999  M:    1    2  N:    1    1
+ -DELETE TEMP     M:  8 dset:   1 I:   -999   -999  J: -999 -999  K:    1    1  L:      2      3  M:    1    2  N:    1    1
+ -DELETE TEMP     M:  9 dset:   1 I:   -999   -999  J:   41   42  K:    1    1  L:      2      3  M:    1    2  N:    1    1
+ -DELETE TEMP     M: 10 dset:   1 I:     50     51  J:   41   42  K:    1    1  L:      2      3  M:    1    2  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip --> EX#1[T=1982 at ITP,D=1]
  strip --> EX#1[Y=0 at ITP,D=1]
  strip --> EX#1[X=180E at ITP,D=1]
- eval    EX#1     C:  7 dset:   1 I:   50   51  J:   41   42  K:    1    1  L:    2    3  M:    1    2  N:    1    1
+ eval    EX#1     C:  7 dset:   1 I:     50     51  J:   41   42  K:    1    1  L:      2      3  M:    1    2  N:    1    1
  strip regrid on F: TEMP --> G5DAY            @ASN
- found   TEMP     M:  3 dset:   1 I:   50   51  J:   41   42  K:    1    1  L:    2    3  M:    1    2  N:    1    2
- regrid  TEMP     M: 10 dset:   1 I:   50   51  J:   41   42  K:    1    1  L:    2    3  M:    1    2  N:    1    1
+ found   TEMP     M:  3 dset:   1 I:     50     51  J:   41   42  K:    1    1  L:      2      3  M:    1    2  N:    1    2
+ regrid  TEMP     M: 10 dset:   1 I:     50     51  J:   41   42  K:    1    1  L:      2      3  M:    1    2  N:    1    1
  doing --> TEMP[X=180E at ITP,D=1]
  doing --> TEMP[Y=0 at ITP,D=1]
  doing --> TEMP[T=1982 at ITP,D=1]
@@ -68271,17 +69609,17 @@ PPL plot 4    complete
 set region/x=180/y=20s:20n/e=2/t=21-JAN-1982/z=5
 plot temp
  dealloc  dynamic grid G5DAY           PSXT      PSYT5_89  PSZT1_2   TIME2     EAXIS     FAX20
- -DELETE TEMP     M:  7 dset:   1 I: -999 -999  J: -999 -999  K:    1    1  L: -999 -999  M:    1    2  N:    1    1
- -DELETE TEMP     M:  8 dset:   1 I: -999 -999  J: -999 -999  K:    1    1  L:    2    3  M:    1    2  N:    1    1
- -DELETE TEMP     M:  9 dset:   1 I: -999 -999  J:   41   42  K:    1    1  L:    2    3  M:    1    2  N:    1    1
- -DELETE TEMP     M: 10 dset:   1 I:   50   51  J:   41   42  K:    1    1  L:    2    3  M:    1    2  N:    1    1
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ -DELETE TEMP     M:  7 dset:   1 I:   -999   -999  J: -999 -999  K:    1    1  L:   -999   -999  M:    1    2  N:    1    1
+ -DELETE TEMP     M:  8 dset:   1 I:   -999   -999  J: -999 -999  K:    1    1  L:      2      3  M:    1    2  N:    1    1
+ -DELETE TEMP     M:  9 dset:   1 I:   -999   -999  J:   41   42  K:    1    1  L:      2      3  M:    1    2  N:    1    1
+ -DELETE TEMP     M: 10 dset:   1 I:     50     51  J:   41   42  K:    1    1  L:      2      3  M:    1    2  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GGR1            PSXT      PSYT5_89  PSZT1_2   TIME2     EAXIS     FAXIS
  strip --> EX#1[F=1982 at ITP,D=1]
  strip --> EX#1[T=1982 at ITP,D=1]
  strip --> EX#1[X=180E at ITP,D=1]
- eval    EX#1     C:  7 dset:   1 I:   50   51  J:    1   84  K:    1    1  L:    2    3  M:    2    2  N:    1    2
- reading TEMP     M: 10 dset:   1 I:   50   51  J:    1   84  K:    1    1  L:    2    3  M:    2    2  N:    1    2
+ eval    EX#1     C:  7 dset:   1 I:     50     51  J:    1   84  K:    1    1  L:      2      3  M:    2    2  N:    1    2
+ reading TEMP     M: 10 dset:   1 I:     50     51  J:    1   84  K:    1    1  L:      2      3  M:    2    2  N:    1    2
  doing --> TEMP[X=180E at ITP,D=1]
  doing --> TEMP[T=1982 at ITP,D=1]
  doing --> TEMP[F=1982 at ITP,D=1]
@@ -68289,45 +69627,45 @@ setting up plot
 PPL plot 5    complete
 plot/over temp[g=g5day]
  dealloc  dynamic grid GGR1            PSXT      PSYT5_89  PSZT1_2   TIME2     EAXIS     FAXIS
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip --> EX#1[T=1982 at ITP,D=1]
  strip --> EX#1[X=180E at ITP,D=1]
- eval    EX#1     C:  6 dset:   1 I:   50   51  J:    1   84  K:    1    1  L:    2    3  M:    2    2  N:    1    1
+ eval    EX#1     C:  6 dset:   1 I:     50     51  J:    1   84  K:    1    1  L:      2      3  M:    2    2  N:    1    1
  strip regrid on F: TEMP --> G5DAY            @LIN
- found   TEMP     M: 10 dset:   1 I:   50   51  J:    1   84  K:    1    1  L:    2    3  M:    2    2  N:    1    2
- regrid  TEMP     M: 11 dset:   1 I:   50   51  J:    1   84  K:    1    1  L:    2    3  M:    2    2  N:    1    1
+ found   TEMP     M: 10 dset:   1 I:     50     51  J:    1   84  K:    1    1  L:      2      3  M:    2    2  N:    1    2
+ regrid  TEMP     M: 11 dset:   1 I:     50     51  J:    1   84  K:    1    1  L:      2      3  M:    2    2  N:    1    1
  doing --> TEMP[X=180E at ITP,D=1]
  doing --> TEMP[T=1982 at ITP,D=1]
 setting up plot
 PPL plot 6    complete
 plot/over temp[g=g5day at ave]
  dealloc  dynamic grid G5DAY           PSXT      PSYT5_89  PSZT1_2   TIME2     EAXIS     FAX20
- -DELETE TEMP     M: 11 dset:   1 I:   50   51  J:    1   84  K:    1    1  L:    2    3  M:    2    2  N:    1    1
- -DELETE TEMP     M: 12 dset:   1 I: -999 -999  J:    1   84  K:    1    1  L:    2    3  M:    2    2  N:    1    1
- -DELETE TEMP     M: 13 dset:   1 I: -999 -999  J:    1   84  K:    1    1  L: -999 -999  M:    2    2  N:    1    1
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ -DELETE TEMP     M: 11 dset:   1 I:     50     51  J:    1   84  K:    1    1  L:      2      3  M:    2    2  N:    1    1
+ -DELETE TEMP     M: 12 dset:   1 I:   -999   -999  J:    1   84  K:    1    1  L:      2      3  M:    2    2  N:    1    1
+ -DELETE TEMP     M: 13 dset:   1 I:   -999   -999  J:    1   84  K:    1    1  L:   -999   -999  M:    2    2  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip --> EX#1[T=1982 at ITP,D=1]
  strip --> EX#1[X=180E at ITP,D=1]
- eval    EX#1     C:  6 dset:   1 I:   50   51  J:    1   84  K:    1    1  L:    2    3  M:    2    2  N:    1    1
+ eval    EX#1     C:  6 dset:   1 I:     50     51  J:    1   84  K:    1    1  L:      2      3  M:    2    2  N:    1    1
  strip regrid on F: TEMP --> G5DAY            @AVE
- found   TEMP     M: 10 dset:   1 I:   50   51  J:    1   84  K:    1    1  L:    2    3  M:    2    2  N:    1    2
- regrid  TEMP     M: 13 dset:   1 I:   50   51  J:    1   84  K:    1    1  L:    2    3  M:    2    2  N:    1    1
+ found   TEMP     M: 10 dset:   1 I:     50     51  J:    1   84  K:    1    1  L:      2      3  M:    2    2  N:    1    2
+ regrid  TEMP     M: 13 dset:   1 I:     50     51  J:    1   84  K:    1    1  L:      2      3  M:    2    2  N:    1    1
  doing --> TEMP[X=180E at ITP,D=1]
  doing --> TEMP[T=1982 at ITP,D=1]
 setting up plot
 PPL plot 7    complete
 plot/over temp[g=g5day at asn]
  dealloc  dynamic grid G5DAY           PSXT      PSYT5_89  PSZT1_2   TIME2     EAXIS     FAX20
- -DELETE TEMP     M: 11 dset:   1 I: -999 -999  J:    1   84  K:    1    1  L: -999 -999  M:    2    2  N:    1    1
- -DELETE TEMP     M: 12 dset:   1 I: -999 -999  J:    1   84  K:    1    1  L:    2    3  M:    2    2  N:    1    1
- -DELETE TEMP     M: 13 dset:   1 I:   50   51  J:    1   84  K:    1    1  L:    2    3  M:    2    2  N:    1    1
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ -DELETE TEMP     M: 11 dset:   1 I:   -999   -999  J:    1   84  K:    1    1  L:   -999   -999  M:    2    2  N:    1    1
+ -DELETE TEMP     M: 12 dset:   1 I:   -999   -999  J:    1   84  K:    1    1  L:      2      3  M:    2    2  N:    1    1
+ -DELETE TEMP     M: 13 dset:   1 I:     50     51  J:    1   84  K:    1    1  L:      2      3  M:    2    2  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  strip --> EX#1[T=1982 at ITP,D=1]
  strip --> EX#1[X=180E at ITP,D=1]
- eval    EX#1     C:  6 dset:   1 I:   50   51  J:    1   84  K:    1    1  L:    2    3  M:    2    2  N:    1    1
+ eval    EX#1     C:  6 dset:   1 I:     50     51  J:    1   84  K:    1    1  L:      2      3  M:    2    2  N:    1    1
  strip regrid on F: TEMP --> G5DAY            @ASN
- found   TEMP     M: 10 dset:   1 I:   50   51  J:    1   84  K:    1    1  L:    2    3  M:    2    2  N:    1    2
- regrid  TEMP     M: 13 dset:   1 I:   50   51  J:    1   84  K:    1    1  L:    2    3  M:    2    2  N:    1    1
+ found   TEMP     M: 10 dset:   1 I:     50     51  J:    1   84  K:    1    1  L:      2      3  M:    2    2  N:    1    2
+ regrid  TEMP     M: 13 dset:   1 I:     50     51  J:    1   84  K:    1    1  L:      2      3  M:    2    2  N:    1    1
  doing --> TEMP[X=180E at ITP,D=1]
  doing --> TEMP[T=1982 at ITP,D=1]
 setting up plot
@@ -68353,36 +69691,36 @@ let a2 = _e[ge=e2pt]+_f[gf=f2pt]
  
 list a1[ge=eoffset at ave, gf=fax4day at ave]
  dealloc  dynamic grid G5DAY           PSXT      PSYT5_89  PSZT1_2   TIME2     EAXIS     FAX20
- -DELETE TEMP     M: 11 dset:   1 I: -999 -999  J:    1   84  K:    1    1  L: -999 -999  M:    2    2  N:    1    1
- -DELETE TEMP     M: 12 dset:   1 I: -999 -999  J:    1   84  K:    1    1  L:    2    3  M:    2    2  N:    1    1
- -DELETE TEMP     M: 13 dset:   1 I:   50   51  J:    1   84  K:    1    1  L:    2    3  M:    2    2  N:    1    1
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid A1       C:  7 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G002)          NORMAL    NORMAL    NORMAL    NORMAL    NORMAL    F1PT
- dealloc  dynamic grid (G002)          NORMAL    NORMAL    NORMAL    NORMAL    NORMAL    F1PT
- allocate dynamic grid (G002)          NORMAL    NORMAL    NORMAL    NORMAL    E1PT      NORMAL
- dealloc  dynamic grid (G002)          NORMAL    NORMAL    NORMAL    NORMAL    E1PT      NORMAL
- allocate dynamic grid (G002)          NORMAL    NORMAL    NORMAL    NORMAL    E1PT      F1PT
- allocate dynamic grid (G003)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
- dealloc  dynamic grid (G003)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
- allocate dynamic grid (G003)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
- eval    EX#1     C:  4 dset:   1 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    2  N:    1   16
- allocate dynamic grid (G003)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
- strip regrid on E: A1 --> (G003)           @AVE
+ -DELETE TEMP     M: 11 dset:   1 I:   -999   -999  J:    1   84  K:    1    1  L:   -999   -999  M:    2    2  N:    1    1
+ -DELETE TEMP     M: 12 dset:   1 I:   -999   -999  J:    1   84  K:    1    1  L:      2      3  M:    2    2  N:    1    1
+ -DELETE TEMP     M: 13 dset:   1 I:     50     51  J:    1   84  K:    1    1  L:      2      3  M:    2    2  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid A1       C:  7 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G###)          NORMAL    NORMAL    NORMAL    NORMAL    NORMAL    F1PT
+ dealloc  dynamic grid (G###)          NORMAL    NORMAL    NORMAL    NORMAL    NORMAL    F1PT
+ allocate dynamic grid (G###)          NORMAL    NORMAL    NORMAL    NORMAL    E1PT      NORMAL
+ dealloc  dynamic grid (G###)          NORMAL    NORMAL    NORMAL    NORMAL    E1PT      NORMAL
+ allocate dynamic grid (G###)          NORMAL    NORMAL    NORMAL    NORMAL    E1PT      F1PT
+ allocate dynamic grid (G###)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
+ dealloc  dynamic grid (G###)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
+ allocate dynamic grid (G###)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
+ eval    EX#1     C:  4 dset:   1 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    2  N:    1   16
+ allocate dynamic grid (G###)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
+ strip regrid on E: A1 --> (G###)           @AVE
  strip regrid on F: A1 --> ENTERMED         @AVE
- eval    A1       C:  8 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    1  N:    1    1
- allocate dynamic grid (G004)          NORMAL    NORMAL    NORMAL    NORMAL    E1PT      NORMAL
- pseudo  _E       M: 13 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    1  N: -999 -999
- allocate dynamic grid (G005)          NORMAL    NORMAL    NORMAL    NORMAL    NORMAL    F1PT
- pseudo  _F       M: 12 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M: -999 -999  N:    1    1
- -DELETE _F       M: 12 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M: -999 -999  N:    1    1
- dealloc  dynamic grid (G005)          NORMAL    NORMAL    NORMAL    NORMAL    NORMAL    F1PT
- -DELETE _E       M: 13 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    1  N: -999 -999
- dealloc  dynamic grid (G004)          NORMAL    NORMAL    NORMAL    NORMAL    E1PT      NORMAL
- regrid  A1       M: 13 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    1  N:    1   16
- regrid  A1       M: 12 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    2  N:    1   16
- -DELETE A1       M: 13 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    1  N:    1   16
- dealloc  dynamic grid (G003)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
+ eval    A1       C:  8 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    1  N:    1    1
+ allocate dynamic grid (G###)          NORMAL    NORMAL    NORMAL    NORMAL    E1PT      NORMAL
+ pseudo  _E       M: 13 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    1  N: -999 -999
+ allocate dynamic grid (G###)          NORMAL    NORMAL    NORMAL    NORMAL    NORMAL    F1PT
+ pseudo  _F       M: 12 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M: -999 -999  N:    1    1
+ -DELETE _F       M: 12 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M: -999 -999  N:    1    1
+ dealloc  dynamic grid (G###)          NORMAL    NORMAL    NORMAL    NORMAL    NORMAL    F1PT
+ -DELETE _E       M: 13 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    1  N: -999 -999
+ dealloc  dynamic grid (G###)          NORMAL    NORMAL    NORMAL    NORMAL    E1PT      NORMAL
+ regrid  A1       M: 13 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    1  N:    1   16
+ regrid  A1       M: 12 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    2  N:    1   16
+ -DELETE A1       M: 13 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    1  N:    1   16
+ dealloc  dynamic grid (G###)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
              VARIABLE : _E[GE=E1PT]+_F[GF=F1PT]
                         regrid: 1 delta on E at AVE, 96 hour on F at AVE
              SUBSET   : 2 by 16 points (E-FORECAST)
@@ -68405,21 +69743,21 @@ list a1[ge=eoffset at ave, gf=fax4day at ave]
  12-MAR-1982 00 / 15:    ....    ....
  16-MAR-1982 00 / 16:    ....    ....
 list a1[ge=eoffset at sum, gf=fax4day at sum]
- dealloc  dynamic grid (G003)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
- -DELETE A1       M: 12 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    2  N:    1   16
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G003)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
- dealloc  dynamic grid (G003)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
- allocate dynamic grid (G003)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
- eval    EX#1     C:  4 dset:   1 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    2  N:    1   16
- allocate dynamic grid (G003)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
- strip regrid on E: A1 --> (G003)           @SUM
+ dealloc  dynamic grid (G###)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
+ -DELETE A1       M: 12 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    2  N:    1   16
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G###)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
+ dealloc  dynamic grid (G###)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
+ allocate dynamic grid (G###)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
+ eval    EX#1     C:  4 dset:   1 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    2  N:    1   16
+ allocate dynamic grid (G###)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
+ strip regrid on E: A1 --> (G###)           @SUM
  strip regrid on F: A1 --> ENTERMED         @SUM
- found   A1       M: 11 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    1  N:    1    1
- regrid  A1       M: 12 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    1  N:    1   16
- regrid  A1       M: 13 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    2  N:    1   16
- -DELETE A1       M: 12 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    1  N:    1   16
- dealloc  dynamic grid (G003)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
+ found   A1       M: 11 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    1  N:    1    1
+ regrid  A1       M: 12 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    1  N:    1   16
+ regrid  A1       M: 13 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    2  N:    1   16
+ -DELETE A1       M: 12 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    1  N:    1   16
+ dealloc  dynamic grid (G###)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
              VARIABLE : _E[GE=E1PT]+_F[GF=F1PT]
                         regrid: 1 delta on E at SUM, 96 hour on F at SUM
              SUBSET   : 2 by 16 points (E-FORECAST)
@@ -68442,21 +69780,21 @@ list a1[ge=eoffset at sum, gf=fax4day at sum]
  12-MAR-1982 00 / 15:   ....   ....
  16-MAR-1982 00 / 16:   ....   ....
 list a1[ge=eoffset at var, gf=fax4day at var]
- dealloc  dynamic grid (G003)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
- -DELETE A1       M: 13 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    2  N:    1   16
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G003)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
- dealloc  dynamic grid (G003)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
- allocate dynamic grid (G003)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
- eval    EX#1     C:  4 dset:   1 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    2  N:    1   16
- allocate dynamic grid (G003)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
- strip regrid on E: A1 --> (G003)           @VAR
+ dealloc  dynamic grid (G###)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
+ -DELETE A1       M: 13 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    2  N:    1   16
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G###)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
+ dealloc  dynamic grid (G###)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
+ allocate dynamic grid (G###)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
+ eval    EX#1     C:  4 dset:   1 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    2  N:    1   16
+ allocate dynamic grid (G###)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
+ strip regrid on E: A1 --> (G###)           @VAR
  strip regrid on F: A1 --> ENTERMED         @VAR
- found   A1       M: 11 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    1  N:    1    1
- regrid  A1       M: 13 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    1  N:    1   16
- regrid  A1       M: 12 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    2  N:    1   16
- -DELETE A1       M: 13 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    1  N:    1   16
- dealloc  dynamic grid (G003)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
+ found   A1       M: 11 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    1  N:    1    1
+ regrid  A1       M: 13 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    1  N:    1   16
+ regrid  A1       M: 12 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    2  N:    1   16
+ -DELETE A1       M: 13 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    1  N:    1   16
+ dealloc  dynamic grid (G###)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
              VARIABLE : Variance of _E[GE=E1PT]+_F[GF=F1PT]
                         regrid: 1 delta on E at VAR, 96 hour on F at VAR
              SUBSET   : 2 by 16 points (E-FORECAST)
@@ -68480,35 +69818,35 @@ list a1[ge=eoffset at var, gf=fax4day at var]
  16-MAR-1982 00 / 16:........
  
 list a2[ge=eoffset at ave, gf=fax4day at ave]
- dealloc  dynamic grid (G003)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
- -DELETE A1       M: 12 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    2  N:    1   16
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid A2       C:  7 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G003)          NORMAL    NORMAL    NORMAL    NORMAL    NORMAL    F2PT
- dealloc  dynamic grid (G003)          NORMAL    NORMAL    NORMAL    NORMAL    NORMAL    F2PT
- allocate dynamic grid (G003)          NORMAL    NORMAL    NORMAL    NORMAL    E2PT      NORMAL
- dealloc  dynamic grid (G003)          NORMAL    NORMAL    NORMAL    NORMAL    E2PT      NORMAL
- allocate dynamic grid (G003)          NORMAL    NORMAL    NORMAL    NORMAL    E2PT      F2PT
- allocate dynamic grid (G004)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
- dealloc  dynamic grid (G004)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
- allocate dynamic grid (G004)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
- eval    EX#1     C:  4 dset:   1 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    2  N:    1   16
- allocate dynamic grid (G004)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
- strip regrid on E: A2 --> (G004)           @AVE
+ dealloc  dynamic grid (G###)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
+ -DELETE A1       M: 12 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    2  N:    1   16
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid A2       C:  7 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G###)          NORMAL    NORMAL    NORMAL    NORMAL    NORMAL    F2PT
+ dealloc  dynamic grid (G###)          NORMAL    NORMAL    NORMAL    NORMAL    NORMAL    F2PT
+ allocate dynamic grid (G###)          NORMAL    NORMAL    NORMAL    NORMAL    E2PT      NORMAL
+ dealloc  dynamic grid (G###)          NORMAL    NORMAL    NORMAL    NORMAL    E2PT      NORMAL
+ allocate dynamic grid (G###)          NORMAL    NORMAL    NORMAL    NORMAL    E2PT      F2PT
+ allocate dynamic grid (G###)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
+ dealloc  dynamic grid (G###)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
+ allocate dynamic grid (G###)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
+ eval    EX#1     C:  4 dset:   1 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    2  N:    1   16
+ allocate dynamic grid (G###)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
+ strip regrid on E: A2 --> (G###)           @AVE
  strip regrid on F: A2 --> ENTERMED         @AVE
- eval    A2       C:  8 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    2  N:    1   48
- allocate dynamic grid (G005)          NORMAL    NORMAL    NORMAL    NORMAL    E2PT      NORMAL
- pseudo  _E       M: 12 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    2  N: -999 -999
- allocate dynamic grid (G006)          NORMAL    NORMAL    NORMAL    NORMAL    NORMAL    F2PT
- pseudo  _F       M: 13 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M: -999 -999  N:    1   48
- -DELETE _F       M: 13 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M: -999 -999  N:    1   48
- dealloc  dynamic grid (G006)          NORMAL    NORMAL    NORMAL    NORMAL    NORMAL    F2PT
- -DELETE _E       M: 12 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    2  N: -999 -999
- dealloc  dynamic grid (G005)          NORMAL    NORMAL    NORMAL    NORMAL    E2PT      NORMAL
- regrid  A2       M: 12 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    2  N:    1   16
- regrid  A2       M: 13 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    2  N:    1   16
- -DELETE A2       M: 12 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    2  N:    1   16
- dealloc  dynamic grid (G004)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
+ eval    A2       C:  8 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    2  N:    1   48
+ allocate dynamic grid (G###)          NORMAL    NORMAL    NORMAL    NORMAL    E2PT      NORMAL
+ pseudo  _E       M: 12 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    2  N: -999 -999
+ allocate dynamic grid (G###)          NORMAL    NORMAL    NORMAL    NORMAL    NORMAL    F2PT
+ pseudo  _F       M: 13 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M: -999 -999  N:    1   48
+ -DELETE _F       M: 13 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M: -999 -999  N:    1   48
+ dealloc  dynamic grid (G###)          NORMAL    NORMAL    NORMAL    NORMAL    NORMAL    F2PT
+ -DELETE _E       M: 12 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    2  N: -999 -999
+ dealloc  dynamic grid (G###)          NORMAL    NORMAL    NORMAL    NORMAL    E2PT      NORMAL
+ regrid  A2       M: 12 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    2  N:    1   16
+ regrid  A2       M: 13 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    2  N:    1   16
+ -DELETE A2       M: 12 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    2  N:    1   16
+ dealloc  dynamic grid (G###)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
              VARIABLE : _E[GE=E2PT]+_F[GF=F2PT]
                         regrid: 1 delta on E at AVE, 96 hour on F at AVE
              SUBSET   : 2 by 16 points (E-FORECAST)
@@ -68531,21 +69869,21 @@ list a2[ge=eoffset at ave, gf=fax4day at ave]
  12-MAR-1982 00 / 15:     ....     ....
  16-MAR-1982 00 / 16:     ....     ....
 list a2[ge=eoffset at sum, gf=fax4day at sum]
- dealloc  dynamic grid (G004)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
- -DELETE A2       M: 13 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    2  N:    1   16
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G004)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
- dealloc  dynamic grid (G004)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
- allocate dynamic grid (G004)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
- eval    EX#1     C:  4 dset:   1 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    2  N:    1   16
- allocate dynamic grid (G004)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
- strip regrid on E: A2 --> (G004)           @SUM
+ dealloc  dynamic grid (G###)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
+ -DELETE A2       M: 13 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    2  N:    1   16
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G###)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
+ dealloc  dynamic grid (G###)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
+ allocate dynamic grid (G###)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
+ eval    EX#1     C:  4 dset:   1 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    2  N:    1   16
+ allocate dynamic grid (G###)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
+ strip regrid on E: A2 --> (G###)           @SUM
  strip regrid on F: A2 --> ENTERMED         @SUM
- found   A2       M: 14 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    2  N:    1   48
- regrid  A2       M: 13 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    2  N:    1   16
- regrid  A2       M: 12 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    2  N:    1   16
- -DELETE A2       M: 13 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    2  N:    1   16
- dealloc  dynamic grid (G004)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
+ found   A2       M: 14 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    2  N:    1   48
+ regrid  A2       M: 13 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    2  N:    1   16
+ regrid  A2       M: 12 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    2  N:    1   16
+ -DELETE A2       M: 13 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    2  N:    1   16
+ dealloc  dynamic grid (G###)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
              VARIABLE : _E[GE=E2PT]+_F[GF=F2PT]
                         regrid: 1 delta on E at SUM, 96 hour on F at SUM
              SUBSET   : 2 by 16 points (E-FORECAST)
@@ -68568,21 +69906,21 @@ list a2[ge=eoffset at sum, gf=fax4day at sum]
  12-MAR-1982 00 / 15:       ....       ....
  16-MAR-1982 00 / 16:       ....       ....
 list a2[ge=eoffset at var, gf=fax4day at var]
- dealloc  dynamic grid (G004)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
- -DELETE A2       M: 12 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    2  N:    1   16
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G004)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
- dealloc  dynamic grid (G004)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
- allocate dynamic grid (G004)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
- eval    EX#1     C:  4 dset:   1 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    2  N:    1   16
- allocate dynamic grid (G004)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
- strip regrid on E: A2 --> (G004)           @VAR
+ dealloc  dynamic grid (G###)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
+ -DELETE A2       M: 12 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    2  N:    1   16
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G###)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
+ dealloc  dynamic grid (G###)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
+ allocate dynamic grid (G###)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
+ eval    EX#1     C:  4 dset:   1 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    2  N:    1   16
+ allocate dynamic grid (G###)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
+ strip regrid on E: A2 --> (G###)           @VAR
  strip regrid on F: A2 --> ENTERMED         @VAR
- found   A2       M: 14 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    2  N:    1   48
- regrid  A2       M: 12 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    2  N:    1   16
- regrid  A2       M: 13 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    2  N:    1   16
- -DELETE A2       M: 12 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    2  N:    1   16
- dealloc  dynamic grid (G004)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
+ found   A2       M: 14 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    2  N:    1   48
+ regrid  A2       M: 12 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    2  N:    1   16
+ regrid  A2       M: 13 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    2  N:    1   16
+ -DELETE A2       M: 12 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    2  N:    1   16
+ dealloc  dynamic grid (G###)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
              VARIABLE : Variance of _E[GE=E2PT]+_F[GF=F2PT]
                         regrid: 1 delta on E at VAR, 96 hour on F at VAR
              SUBSET   : 2 by 16 points (E-FORECAST)
@@ -68608,122 +69946,122 @@ list a2[ge=eoffset at var, gf=fax4day at var]
 ! 1/00 additions to check details of @MIN, at MAX bevavior
  
 let a1 = _e[ge=e1pt]
- dealloc  dynamic grid (G004)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
- -DELETE A2       M: 13 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    2  N:    1   16
- -DELETE A2       M: 14 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    2  N:    1   48
- dealloc  dynamic grid (G003)          NORMAL    NORMAL    NORMAL    NORMAL    E2PT      F2PT
- -DELETE A1       M: 11 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    1  N:    1    1
- dealloc  dynamic grid (G002)          NORMAL    NORMAL    NORMAL    NORMAL    E1PT      F1PT
+ dealloc  dynamic grid (G###)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   FAX4DAY
+ -DELETE A2       M: 13 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    2  N:    1   16
+ -DELETE A2       M: 14 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    2  N:    1   48
+ dealloc  dynamic grid (G###)          NORMAL    NORMAL    NORMAL    NORMAL    E2PT      F2PT
+ -DELETE A1       M: 11 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    1  N:    1    1
+ dealloc  dynamic grid (G###)          NORMAL    NORMAL    NORMAL    NORMAL    E1PT      F1PT
 let a2 = _e[ge=e2pt]
 let a4 = _e[ge=e4pt]
  
 list a1[ge=eoffset at max]
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid A1       C:  7 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G002)          NORMAL    NORMAL    NORMAL    NORMAL    E1PT      NORMAL
- dealloc  dynamic grid (G002)          NORMAL    NORMAL    NORMAL    NORMAL    E1PT      NORMAL
- allocate dynamic grid (G002)          NORMAL    NORMAL    NORMAL    NORMAL    E1PT      NORMAL
- allocate dynamic grid (G003)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
- dealloc  dynamic grid (G003)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
- allocate dynamic grid (G003)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
- eval    EX#1     C:  4 dset:   1 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    2  N: -999 -999
- allocate dynamic grid (G003)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
- strip regrid on E: A1 --> (G003)           @MAX
- eval    A1       C:  7 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    1  N: -999 -999
- allocate dynamic grid (G002)          NORMAL    NORMAL    NORMAL    NORMAL    E1PT      NORMAL
- pseudo  _E       M: 11 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    1  N: -999 -999
- dealloc  dynamic grid (G002)          NORMAL    NORMAL    NORMAL    NORMAL    E1PT      NORMAL
- regrid  A1       M: 13 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    2  N: -999 -999
- dealloc  dynamic grid (G003)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid A1       C:  7 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G###)          NORMAL    NORMAL    NORMAL    NORMAL    E1PT      NORMAL
+ dealloc  dynamic grid (G###)          NORMAL    NORMAL    NORMAL    NORMAL    E1PT      NORMAL
+ allocate dynamic grid (G###)          NORMAL    NORMAL    NORMAL    NORMAL    E1PT      NORMAL
+ allocate dynamic grid (G###)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
+ dealloc  dynamic grid (G###)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
+ allocate dynamic grid (G###)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
+ eval    EX#1     C:  4 dset:   1 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    2  N: -999 -999
+ allocate dynamic grid (G###)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
+ strip regrid on E: A1 --> (G###)           @MAX
+ eval    A1       C:  7 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    1  N: -999 -999
+ allocate dynamic grid (G###)          NORMAL    NORMAL    NORMAL    NORMAL    E1PT      NORMAL
+ pseudo  _E       M: 11 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    1  N: -999 -999
+ dealloc  dynamic grid (G###)          NORMAL    NORMAL    NORMAL    NORMAL    E1PT      NORMAL
+ regrid  A1       M: 13 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    2  N: -999 -999
+ dealloc  dynamic grid (G###)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
              VARIABLE : _E[GE=E1PT]
                         regrid: 1 delta on E at MAX
              SUBSET   : 2 points (E)
  1.1 / 1:   ....
  2.1 / 2:  2.500
 list a2[ge=eoffset at max]
- -DELETE _E       M: 11 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    1  N: -999 -999
- dealloc  dynamic grid (G003)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
- -DELETE A1       M: 13 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    2  N: -999 -999
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid A2       C:  7 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G003)          NORMAL    NORMAL    NORMAL    NORMAL    E2PT      NORMAL
- dealloc  dynamic grid (G003)          NORMAL    NORMAL    NORMAL    NORMAL    E2PT      NORMAL
- allocate dynamic grid (G003)          NORMAL    NORMAL    NORMAL    NORMAL    E2PT      NORMAL
- allocate dynamic grid (G004)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
- dealloc  dynamic grid (G004)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
- allocate dynamic grid (G004)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
- eval    EX#1     C:  4 dset:   1 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    2  N: -999 -999
- allocate dynamic grid (G004)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
- strip regrid on E: A2 --> (G004)           @MAX
- eval    A2       C:  7 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    2  N: -999 -999
- allocate dynamic grid (G003)          NORMAL    NORMAL    NORMAL    NORMAL    E2PT      NORMAL
- pseudo  _E       M: 13 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    2  N: -999 -999
- dealloc  dynamic grid (G003)          NORMAL    NORMAL    NORMAL    NORMAL    E2PT      NORMAL
- regrid  A2       M: 12 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    2  N: -999 -999
- dealloc  dynamic grid (G004)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
+ -DELETE _E       M: 11 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    1  N: -999 -999
+ dealloc  dynamic grid (G###)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
+ -DELETE A1       M: 13 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    2  N: -999 -999
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid A2       C:  7 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G###)          NORMAL    NORMAL    NORMAL    NORMAL    E2PT      NORMAL
+ dealloc  dynamic grid (G###)          NORMAL    NORMAL    NORMAL    NORMAL    E2PT      NORMAL
+ allocate dynamic grid (G###)          NORMAL    NORMAL    NORMAL    NORMAL    E2PT      NORMAL
+ allocate dynamic grid (G###)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
+ dealloc  dynamic grid (G###)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
+ allocate dynamic grid (G###)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
+ eval    EX#1     C:  4 dset:   1 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    2  N: -999 -999
+ allocate dynamic grid (G###)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
+ strip regrid on E: A2 --> (G###)           @MAX
+ eval    A2       C:  7 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    2  N: -999 -999
+ allocate dynamic grid (G###)          NORMAL    NORMAL    NORMAL    NORMAL    E2PT      NORMAL
+ pseudo  _E       M: 13 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    2  N: -999 -999
+ dealloc  dynamic grid (G###)          NORMAL    NORMAL    NORMAL    NORMAL    E2PT      NORMAL
+ regrid  A2       M: 12 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    2  N: -999 -999
+ dealloc  dynamic grid (G###)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
              VARIABLE : _E[GE=E2PT]
                         regrid: 1 delta on E at MAX
              SUBSET   : 2 points (E)
  1.1 / 1:  1.500
  2.1 / 2:  2.500
 list a4[ge=eoffset at max]
- -DELETE _E       M: 13 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    2  N: -999 -999
- dealloc  dynamic grid (G004)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
- -DELETE A2       M: 12 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    2  N: -999 -999
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid A4       C:  7 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G004)          NORMAL    NORMAL    NORMAL    NORMAL    E4PT      NORMAL
- dealloc  dynamic grid (G004)          NORMAL    NORMAL    NORMAL    NORMAL    E4PT      NORMAL
- allocate dynamic grid (G004)          NORMAL    NORMAL    NORMAL    NORMAL    E4PT      NORMAL
- allocate dynamic grid (G005)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
- dealloc  dynamic grid (G005)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
- allocate dynamic grid (G005)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
- eval    EX#1     C:  4 dset:   1 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    2  N: -999 -999
- allocate dynamic grid (G005)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
- strip regrid on E: A4 --> (G005)           @MAX
- eval    A4       C:  7 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    3  N: -999 -999
- allocate dynamic grid (G004)          NORMAL    NORMAL    NORMAL    NORMAL    E4PT      NORMAL
- pseudo  _E       M: 12 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    3  N: -999 -999
- dealloc  dynamic grid (G004)          NORMAL    NORMAL    NORMAL    NORMAL    E4PT      NORMAL
- regrid  A4       M: 15 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    2  N: -999 -999
- dealloc  dynamic grid (G005)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
+ -DELETE _E       M: 13 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    2  N: -999 -999
+ dealloc  dynamic grid (G###)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
+ -DELETE A2       M: 12 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    2  N: -999 -999
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid A4       C:  7 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G###)          NORMAL    NORMAL    NORMAL    NORMAL    E4PT      NORMAL
+ dealloc  dynamic grid (G###)          NORMAL    NORMAL    NORMAL    NORMAL    E4PT      NORMAL
+ allocate dynamic grid (G###)          NORMAL    NORMAL    NORMAL    NORMAL    E4PT      NORMAL
+ allocate dynamic grid (G###)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
+ dealloc  dynamic grid (G###)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
+ allocate dynamic grid (G###)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
+ eval    EX#1     C:  4 dset:   1 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    2  N: -999 -999
+ allocate dynamic grid (G###)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
+ strip regrid on E: A4 --> (G###)           @MAX
+ eval    A4       C:  7 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    3  N: -999 -999
+ allocate dynamic grid (G###)          NORMAL    NORMAL    NORMAL    NORMAL    E4PT      NORMAL
+ pseudo  _E       M: 12 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    3  N: -999 -999
+ dealloc  dynamic grid (G###)          NORMAL    NORMAL    NORMAL    NORMAL    E4PT      NORMAL
+ regrid  A4       M: 15 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    2  N: -999 -999
+ dealloc  dynamic grid (G###)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
              VARIABLE : _E[GE=E4PT]
                         regrid: 1 delta on E at MAX
              SUBSET   : 2 points (E)
  1.1 / 1:  1.500
  2.1 / 2:  2.500
 list a4[ge=eoffset at min]
- -DELETE _E       M: 12 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    3  N: -999 -999
- dealloc  dynamic grid (G005)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
- -DELETE A4       M: 15 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    2  N: -999 -999
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G005)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
- dealloc  dynamic grid (G005)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
- allocate dynamic grid (G005)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
- eval    EX#1     C:  4 dset:   1 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    2  N: -999 -999
- allocate dynamic grid (G005)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
- strip regrid on E: A4 --> (G005)           @MIN
- found   A4       M: 13 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    3  N: -999 -999
- regrid  A4       M: 15 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    2  N: -999 -999
- dealloc  dynamic grid (G005)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
+ -DELETE _E       M: 12 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    3  N: -999 -999
+ dealloc  dynamic grid (G###)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
+ -DELETE A4       M: 15 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    2  N: -999 -999
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G###)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
+ dealloc  dynamic grid (G###)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
+ allocate dynamic grid (G###)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
+ eval    EX#1     C:  4 dset:   1 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    2  N: -999 -999
+ allocate dynamic grid (G###)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
+ strip regrid on E: A4 --> (G###)           @MIN
+ found   A4       M: 13 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    3  N: -999 -999
+ regrid  A4       M: 15 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    2  N: -999 -999
+ dealloc  dynamic grid (G###)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
              VARIABLE : _E[GE=E4PT]
                         regrid: 1 delta on E at MIN
              SUBSET   : 2 points (E)
  1.1 / 1:  1.500
  2.1 / 2:  2.000
 list a4[ge=eoffset at sum] ! 5+5.5+6+6.5=23
- dealloc  dynamic grid (G005)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
- -DELETE A4       M: 15 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    2  N: -999 -999
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G005)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
- dealloc  dynamic grid (G005)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
- allocate dynamic grid (G005)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
- eval    EX#1     C:  4 dset:   1 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    2  N: -999 -999
- allocate dynamic grid (G005)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
- strip regrid on E: A4 --> (G005)           @SUM
- found   A4       M: 13 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    3  N: -999 -999
- regrid  A4       M: 15 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    2  N: -999 -999
- dealloc  dynamic grid (G005)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
+ dealloc  dynamic grid (G###)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
+ -DELETE A4       M: 15 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    2  N: -999 -999
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G###)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
+ dealloc  dynamic grid (G###)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
+ allocate dynamic grid (G###)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
+ eval    EX#1     C:  4 dset:   1 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    2  N: -999 -999
+ allocate dynamic grid (G###)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
+ strip regrid on E: A4 --> (G###)           @SUM
+ found   A4       M: 13 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    3  N: -999 -999
+ regrid  A4       M: 15 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    2  N: -999 -999
+ dealloc  dynamic grid (G###)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
              VARIABLE : _E[GE=E4PT]
                         regrid: 1 delta on E at SUM
              SUBSET   : 2 points (E)
@@ -68735,19 +70073,19 @@ define axis/f=1-jan-1990:5-jan-1990:1/units=days eday
 define axis/f=1-jan-1990:5-jan-1990:24/units=hours ehour
 let afcst = _f[gf=eday]
 list afcst
- dealloc  dynamic grid (G005)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
- -DELETE A4       M: 15 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M:    1    2  N: -999 -999
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid AFCST    C:  7 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G005)          NORMAL    NORMAL    NORMAL    NORMAL    NORMAL    EDAY
- dealloc  dynamic grid (G005)          NORMAL    NORMAL    NORMAL    NORMAL    NORMAL    EDAY
- allocate dynamic grid (G005)          NORMAL    NORMAL    NORMAL    NORMAL    NORMAL    EDAY
- allocate dynamic grid (G005)          NORMAL    NORMAL    NORMAL    NORMAL    NORMAL    EDAY
- eval    EX#1     C:  4 dset:   1 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M: -999 -999  N:    1    5
- eval    AFCST    C:  6 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M: -999 -999  N:    1    5
- allocate dynamic grid (G005)          NORMAL    NORMAL    NORMAL    NORMAL    NORMAL    EDAY
- pseudo  _F       M: 15 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M: -999 -999  N:    1    5
- dealloc  dynamic grid (G005)          NORMAL    NORMAL    NORMAL    NORMAL    NORMAL    EDAY
+ dealloc  dynamic grid (G###)          NORMAL    NORMAL    NORMAL    NORMAL    EOFFSET   NORMAL
+ -DELETE A4       M: 15 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M:    1    2  N: -999 -999
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid AFCST    C:  7 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G###)          NORMAL    NORMAL    NORMAL    NORMAL    NORMAL    EDAY
+ dealloc  dynamic grid (G###)          NORMAL    NORMAL    NORMAL    NORMAL    NORMAL    EDAY
+ allocate dynamic grid (G###)          NORMAL    NORMAL    NORMAL    NORMAL    NORMAL    EDAY
+ allocate dynamic grid (G###)          NORMAL    NORMAL    NORMAL    NORMAL    NORMAL    EDAY
+ eval    EX#1     C:  4 dset:   1 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M: -999 -999  N:    1    5
+ eval    AFCST    C:  6 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M: -999 -999  N:    1    5
+ allocate dynamic grid (G###)          NORMAL    NORMAL    NORMAL    NORMAL    NORMAL    EDAY
+ pseudo  _F       M: 15 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M: -999 -999  N:    1    5
+ dealloc  dynamic grid (G###)          NORMAL    NORMAL    NORMAL    NORMAL    NORMAL    EDAY
              VARIABLE : _F[GF=EDAY]
              SUBSET   : 5 points (FORECAST)
  01-JAN-1990 00 / 1:  32493.
@@ -68757,8 +70095,8 @@ list afcst
  05-JAN-1990 00 / 5:  32497.
 show grid
  Default grid for DEFINE VARIABLE is ABSTRACT
- Last successful data access was on grid (G005)
-    GRID (G005)
+ Last successful data access was on grid (G###)
+    GRID (G###)
  name       axis              # pts   start                end                 subset
  normal    X
  normal    Y
@@ -68767,18 +70105,18 @@ show grid
  normal    E
  EDAY      FORECAST             5 r   01-JAN-1990 00:00    05-JAN-1990 00:00   full
 list afcst[gf=ehour at max]
- -DELETE _F       M: 15 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M: -999 -999  N:    1    5
- dealloc  dynamic grid (G005)          NORMAL    NORMAL    NORMAL    NORMAL    NORMAL    EDAY
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G006)          NORMAL    NORMAL    NORMAL    NORMAL    NORMAL    EHOUR
- dealloc  dynamic grid (G006)          NORMAL    NORMAL    NORMAL    NORMAL    NORMAL    EHOUR
- allocate dynamic grid (G006)          NORMAL    NORMAL    NORMAL    NORMAL    NORMAL    EHOUR
- eval    EX#1     C:  4 dset:   1 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M: -999 -999  N:    1    5
- allocate dynamic grid (G006)          NORMAL    NORMAL    NORMAL    NORMAL    NORMAL    EHOUR
- strip regrid on F: AFCST --> (G006)           @MAX
- found   AFCST    M: 12 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M: -999 -999  N:    1    5
- regrid  AFCST    M: 15 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999  M: -999 -999  N:    1    5
- dealloc  dynamic grid (G006)          NORMAL    NORMAL    NORMAL    NORMAL    NORMAL    EHOUR
+ -DELETE _F       M: 15 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M: -999 -999  N:    1    5
+ dealloc  dynamic grid (G###)          NORMAL    NORMAL    NORMAL    NORMAL    NORMAL    EDAY
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G###)          NORMAL    NORMAL    NORMAL    NORMAL    NORMAL    EHOUR
+ dealloc  dynamic grid (G###)          NORMAL    NORMAL    NORMAL    NORMAL    NORMAL    EHOUR
+ allocate dynamic grid (G###)          NORMAL    NORMAL    NORMAL    NORMAL    NORMAL    EHOUR
+ eval    EX#1     C:  4 dset:   1 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M: -999 -999  N:    1    5
+ allocate dynamic grid (G###)          NORMAL    NORMAL    NORMAL    NORMAL    NORMAL    EHOUR
+ strip regrid on F: AFCST --> (G###)           @MAX
+ found   AFCST    M: 12 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M: -999 -999  N:    1    5
+ regrid  AFCST    M: 15 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999  M: -999 -999  N:    1    5
+ dealloc  dynamic grid (G###)          NORMAL    NORMAL    NORMAL    NORMAL    NORMAL    EHOUR
              VARIABLE : _F[GF=EDAY]
                         regrid: 24 hour on F at MAX
              SUBSET   : 5 points (FORECAST)
@@ -68789,8 +70127,8 @@ list afcst[gf=ehour at max]
  05-JAN-1990 00 / 5:  32497.
 show grid
  Default grid for DEFINE VARIABLE is ABSTRACT
- Last successful data access was on grid (G006)
-    GRID (G006)
+ Last successful data access was on grid (G###)
+    GRID (G###)
  name       axis              # pts   start                end                 subset
  normal    X
  normal    Y
@@ -68825,25 +70163,26 @@ show data fourfiles
  
  
 list/i=3 sst[T=@ave]
- getgrid EX#1     C:  5 dset:   5 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G006)          COADSX116_COADSY52_6NORMAL    TIME      ENSEMBLE  NORMAL
+ getgrid EX#1     C:  5 dset:   5 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G###)          COADSX116_COADSY52_6NORMAL    TIME      ENSEMBLE  NORMAL
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   5 I:    3    3  J:    1    9  K: -999 -999  L:    1   12  M:    1    4  N: -999 -999
+ eval    EX#1     C:  5 dset:   5 I:      3      3  J:    1    9  K: -999 -999  L:      1     12  M:    1    4  N: -999 -999
  strip --> SST[T=01-JAN00:45:31-DEC06:34 at AVE,D=5]
- strip aggregate gathering SST on E axis:     1     4 dset:   5
- reading SST      M:  1 dset:   1 I:    3    3  J:    1    9  K: -999 -999  L:    1   12
- doing aggregate gathering SST on E axis:     1     1 dset:   1
- -DELETE SST      M:  1 dset:   1 I:    3    3  J:    1    9  K: -999 -999  L:    1   12
- reading SST      M:  1 dset:   3 I:    3    3  J:    1    9  K: -999 -999  L:    1   12
- doing aggregate gathering SST on E axis:     2     2 dset:   3
- -DELETE SST      M:  1 dset:   3 I:    3    3  J:    1    9  K: -999 -999  L:    1   12
- reading SST      M:  1 dset:   2 I:    3    3  J:    1    9  K: -999 -999  L:    1   12
- doing aggregate gathering SST on E axis:     3     3 dset:   2
- -DELETE SST      M:  1 dset:   2 I:    3    3  J:    1    9  K: -999 -999  L:    1   12
- reading SST      M:  1 dset:   4 I:    3    3  J:    1    9  K: -999 -999  L:    1   12
- doing aggregate gathering SST on E axis:     4     4 dset:   4
- -DELETE SST      M:  1 dset:   4 I:    3    3  J:    1    9  K: -999 -999  L:    1   12
+ strip aggregate gathering SST on E axis:        1        4 dset:   5
+ reading SST      M:  1 dset:   1 I:      3      3  J:    1    9  K: -999 -999  L:      1     12
+ doing aggregate gathering SST on E axis:        1        1 dset:   1
+ -DELETE SST      M:  1 dset:   1 I:      3      3  J:    1    9  K: -999 -999  L:      1     12
+ reading SST      M:  1 dset:   3 I:      3      3  J:    1    9  K: -999 -999  L:      1     12
+ doing aggregate gathering SST on E axis:        2        2 dset:   3
+ -DELETE SST      M:  1 dset:   3 I:      3      3  J:    1    9  K: -999 -999  L:      1     12
+ reading SST      M:  1 dset:   2 I:      3      3  J:    1    9  K: -999 -999  L:      1     12
+ doing aggregate gathering SST on E axis:        3        3 dset:   2
+ -DELETE SST      M:  1 dset:   2 I:      3      3  J:    1    9  K: -999 -999  L:      1     12
+ reading SST      M:  1 dset:   4 I:      3      3  J:    1    9  K: -999 -999  L:      1     12
+ doing aggregate gathering SST on E axis:        4        4 dset:   4
+ -DELETE SST      M:  1 dset:   4 I:      3      3  J:    1    9  K: -999 -999  L:      1     12
  doing --> SST[T=01-JAN00:45:31-DEC06:34 at AVE,D=5]
+ final --> SST[T=01-JAN00:45:31-DEC06:34 at AVE,D=5]
              VARIABLE : SST_IN (Deg C)
              DATA SET : Ensemble series of 4 datasets patterned on ens1
              FILENAME : fourfiles
@@ -68858,23 +70197,27 @@ list/i=3 sst[T=@ave]
  4   / 4:  114.1  113.8  111.6  109.8  106.9  102.2   ....   ....   ....
  
 show memory/all  ! show memory-resident variables before canceling dataset
- Current size of FERRET memory cache: 25.6 MegaWords  (1 word = 8 bytes)
+    SET MEMORY/SIZE: 25.6 megawords
+    Peak demand: 540 words
+    Current cache: 504 words
 all data in memory:
- SST[D=fourfiles]                  YE    mr:1  blk1:1  nblk:1
-    3  /106W           1  /12N          ...  / ...         ...  /01-JAN 00:45   1  /0.5          ...  / ...
-    3  /104W           9  /30N          ...  / ...         ...  /31-DEC 06:34   4  /4.5          ...  / ...
+ SST[D=fourfiles]                  YE    mr:1 size:72
+         3/106W                1/12N              ... / ...             ... /01-JAN 00:45        1/0.5              ... / ...
+         3/104W                9/30N              ... / ...             ... /31-DEC 06:34        4/4.5              ... / ...
                                                               AVE
- SST[D=fourfiles]                  YTE   mr:2  blk1:2  nblk:1
-    3  /106W           1  /12N          ...  / ...           1  /01-JAN 00:45   1  /0.5          ...  / ...
-    3  /104W           9  /30N          ...  / ...          12  /31-DEC 06:34   4  /4.5          ...  / ...
+ SST[D=fourfiles]                  YTE   mr:2 size:432
+         3/106W                1/12N              ... / ...                1/01-JAN 00:45        1/0.5              ... / ...
+         3/104W                9/30N              ... / ...               12/31-DEC 06:34        4/4.5              ... / ...
  
 cancel data fourfiles
- dealloc  dynamic grid (G006)          COADSX116_COADSY52_6NORMAL    TIME      ENSEMBLE  NORMAL
+ dealloc  dynamic grid (G###)          COADSX116_COADSY52_6NORMAL    TIME      ENSEMBLE  NORMAL
  canceling dset fourfiles
- -DELETE SST      M:  1 dset:   5 I:    3    3  J:    1    9  K: -999 -999  L: -999 -999  M:    1    4  N: -999 -999
- -DELETE SST      M:  2 dset:   5 I:    3    3  J:    1    9  K: -999 -999  L:    1   12  M:    1    4  N: -999 -999
+ -DELETE SST      M:  1 dset:   5 I:      3      3  J:    1    9  K: -999 -999  L:   -999   -999  M:    1    4  N: -999 -999
+ -DELETE SST      M:  2 dset:   5 I:      3      3  J:    1    9  K: -999 -999  L:      1     12  M:    1    4  N: -999 -999
 show memory/all  ! show memory-resident variables after  canceling dataset
- Current size of FERRET memory cache: 25.6 MegaWords  (1 word = 8 bytes)
+    SET MEMORY/SIZE: 25.6 megawords
+    Peak demand: 540 words
+    Current cache: 0 words
 all data in memory:
  
 ! 12/15 now do again adding COADS to de-align toe dset #s from the sequence #s
@@ -68914,11 +70257,11 @@ let/d=ens3 airt = sst + 1
 let/d=ens4 airt = sst + 1
  
 ENSEMBLE fourfiles = ens1, ens3, ens2, ens4
- getgrid AIRT     C:  5 dset:   4 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid AIRT     C:  5 dset:   4 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GOH1            COADSX116_COADSY52_6NORMAL    TIME1
- getgrid AIRT     C:  5 dset:   3 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid AIRT     C:  5 dset:   3 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GOH1            COADSX116_COADSY52_6NORMAL    TIME1
- getgrid AIRT     C:  5 dset:   5 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid AIRT     C:  5 dset:   5 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GOH1            COADSX116_COADSY52_6NORMAL    TIME1
 show data fourfiles
      currently SET data sets:
@@ -68929,34 +70272,35 @@ show data fourfiles
  
  
 list/i=3 airt[T=@ave]
- getgrid EX#1     C:  5 dset:   6 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G003)          COADSX116_COADSY52_6NORMAL    TIME1     ENSEMBLE  NORMAL
+ getgrid EX#1     C:  5 dset:   6 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G###)          COADSX116_COADSY52_6NORMAL    TIME1     ENSEMBLE  NORMAL
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   6 I:    3    3  J:    1    9  K: -999 -999  L:    1   12  M:    1    4  N: -999 -999
+ eval    EX#1     C:  5 dset:   6 I:      3      3  J:    1    9  K: -999 -999  L:      1     12  M:    1    4  N: -999 -999
  strip --> AIRT[T=01-JAN00:45:31-DEC06:34 at AVE,D=6]
- strip aggregate gathering AIRT on E axis:     1     4 dset:   6
- reading AIRT     M:  2 dset:   2 I:    3    3  J:    1    9  K: -999 -999  L:    1   12
- doing aggregate gathering AIRT on E axis:     1     1 dset:   2
- -DELETE AIRT     M:  2 dset:   2 I:    3    3  J:    1    9  K: -999 -999  L:    1   12
- eval    AIRT     C:  9 dset:   4 I:    3    3  J:    1    9  K: -999 -999  L:    1   12
- reading SST      M:  2 dset:   4 I:    3    3  J:    1    9  K: -999 -999  L:    1   12
- constan cnst     M:  3 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- -DELETE cnst     M:  3 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- doing aggregate gathering AIRT on E axis:     2     2 dset:   4
- -DELETE AIRT     M:  4 dset:   4 I:    3    3  J:    1    9  K: -999 -999  L:    1   12
- eval    AIRT     C:  9 dset:   3 I:    3    3  J:    1    9  K: -999 -999  L:    1   12
- reading SST      M:  4 dset:   3 I:    3    3  J:    1    9  K: -999 -999  L:    1   12
- constan cnst     M:  3 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- -DELETE cnst     M:  3 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- doing aggregate gathering AIRT on E axis:     3     3 dset:   3
- -DELETE AIRT     M:  5 dset:   3 I:    3    3  J:    1    9  K: -999 -999  L:    1   12
- eval    AIRT     C:  9 dset:   5 I:    3    3  J:    1    9  K: -999 -999  L:    1   12
- reading SST      M:  5 dset:   5 I:    3    3  J:    1    9  K: -999 -999  L:    1   12
- constan cnst     M:  3 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- -DELETE cnst     M:  3 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- doing aggregate gathering AIRT on E axis:     4     4 dset:   5
- -DELETE AIRT     M:  6 dset:   5 I:    3    3  J:    1    9  K: -999 -999  L:    1   12
+ strip aggregate gathering AIRT on E axis:        1        4 dset:   6
+ reading AIRT     M:  2 dset:   2 I:      3      3  J:    1    9  K: -999 -999  L:      1     12
+ doing aggregate gathering AIRT on E axis:        1        1 dset:   2
+ -DELETE AIRT     M:  2 dset:   2 I:      3      3  J:    1    9  K: -999 -999  L:      1     12
+ eval    AIRT     C:  9 dset:   4 I:      3      3  J:    1    9  K: -999 -999  L:      1     12
+ reading SST      M:  2 dset:   4 I:      3      3  J:    1    9  K: -999 -999  L:      1     12
+ constan cnst     M:  3 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
+ -DELETE cnst     M:  3 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
+ doing aggregate gathering AIRT on E axis:        2        2 dset:   4
+ -DELETE AIRT     M:  4 dset:   4 I:      3      3  J:    1    9  K: -999 -999  L:      1     12
+ eval    AIRT     C:  9 dset:   3 I:      3      3  J:    1    9  K: -999 -999  L:      1     12
+ reading SST      M:  4 dset:   3 I:      3      3  J:    1    9  K: -999 -999  L:      1     12
+ constan cnst     M:  3 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
+ -DELETE cnst     M:  3 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
+ doing aggregate gathering AIRT on E axis:        3        3 dset:   3
+ -DELETE AIRT     M:  5 dset:   3 I:      3      3  J:    1    9  K: -999 -999  L:      1     12
+ eval    AIRT     C:  9 dset:   5 I:      3      3  J:    1    9  K: -999 -999  L:      1     12
+ reading SST      M:  5 dset:   5 I:      3      3  J:    1    9  K: -999 -999  L:      1     12
+ constan cnst     M:  3 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
+ -DELETE cnst     M:  3 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
+ doing aggregate gathering AIRT on E axis:        4        4 dset:   5
+ -DELETE AIRT     M:  6 dset:   5 I:      3      3  J:    1    9  K: -999 -999  L:      1     12
  doing --> AIRT[T=01-JAN00:45:31-DEC06:34 at AVE,D=6]
+ final --> AIRT[T=01-JAN00:45:31-DEC06:34 at AVE,D=6]
              VARIABLE : AIR TEMPERATURE (DEG C)
              DATA SET : Ensemble series of 4 datasets patterned on ens1
              FILENAME : fourfiles
@@ -68972,9 +70316,9 @@ list/i=3 airt[T=@ave]
  
 ! create an ensemble where one member is missing
 ENSEMBLE fourfiles_gap = ens1, -, ens3, ens4
- getgrid AIRT     C:  5 dset:   4 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid AIRT     C:  5 dset:   4 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GOH1            COADSX116_COADSY52_6NORMAL    TIME1
- getgrid AIRT     C:  5 dset:   5 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid AIRT     C:  5 dset:   5 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GOH1            COADSX116_COADSY52_6NORMAL    TIME1
 show data/files fourfiles_gap
      currently SET data sets:
@@ -68989,31 +70333,32 @@ show data/files fourfiles_gap
       7.3: ./ens3.nc
       7.4: ./ens4.nc
 list/i=3 airt[T=@ave]
- getgrid EX#1     C:  5 dset:   7 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G003)          COADSX116_COADSY52_6NORMAL    TIME1     ENSEMBLE  NORMAL
+ getgrid EX#1     C:  5 dset:   7 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G###)          COADSX116_COADSY52_6NORMAL    TIME1     ENSEMBLE  NORMAL
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   7 I:    3    3  J:    1    9  K: -999 -999  L:    1   12  M:    1    4  N: -999 -999
+ eval    EX#1     C:  5 dset:   7 I:      3      3  J:    1    9  K: -999 -999  L:      1     12  M:    1    4  N: -999 -999
  strip --> AIRT[T=01-JAN00:45:31-DEC06:34 at AVE,D=7]
- strip aggregate gathering AIRT on E axis:     1     4 dset:   7
- reading AIRT     M:  3 dset:   2 I:    3    3  J:    1    9  K: -999 -999  L:    1   12
- doing aggregate gathering AIRT on E axis:     1     1 dset:   2
- -DELETE AIRT     M:  3 dset:   2 I:    3    3  J:    1    9  K: -999 -999  L:    1   12
- dummy AIRT     M:  3 dset:5001 I:    3    3  J:    1    9  K: -999 -999  L:    1   12
- doing aggregate gathering AIRT on E axis:     2     2 dset:5001
- -DELETE AIRT     M:  3 dset:5001 I:    3    3  J:    1    9  K: -999 -999  L:    1   12
- eval    AIRT     C:  9 dset:   4 I:    3    3  J:    1    9  K: -999 -999  L:    1   12
- found   SST      M:  2 dset:   4 I:    3    3  J:    1    9  K: -999 -999  L:    1   12
- constan cnst     M:  3 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- -DELETE cnst     M:  3 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- doing aggregate gathering AIRT on E axis:     3     3 dset:   4
- -DELETE AIRT     M:  8 dset:   4 I:    3    3  J:    1    9  K: -999 -999  L:    1   12
- eval    AIRT     C:  9 dset:   5 I:    3    3  J:    1    9  K: -999 -999  L:    1   12
- found   SST      M:  5 dset:   5 I:    3    3  J:    1    9  K: -999 -999  L:    1   12
- constan cnst     M:  8 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- -DELETE cnst     M:  8 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- doing aggregate gathering AIRT on E axis:     4     4 dset:   5
- -DELETE AIRT     M:  3 dset:   5 I:    3    3  J:    1    9  K: -999 -999  L:    1   12
+ strip aggregate gathering AIRT on E axis:        1        4 dset:   7
+ reading AIRT     M:  3 dset:   2 I:      3      3  J:    1    9  K: -999 -999  L:      1     12
+ doing aggregate gathering AIRT on E axis:        1        1 dset:   2
+ -DELETE AIRT     M:  3 dset:   2 I:      3      3  J:    1    9  K: -999 -999  L:      1     12
+ dummy AIRT     M:  3 dset:5001 I:      3      3  J:    1    9  K: -999 -999  L:      1     12
+ doing aggregate gathering AIRT on E axis:        2        2 dset:5001
+ -DELETE AIRT     M:  3 dset:5001 I:      3      3  J:    1    9  K: -999 -999  L:      1     12
+ eval    AIRT     C:  9 dset:   4 I:      3      3  J:    1    9  K: -999 -999  L:      1     12
+ found   SST      M:  2 dset:   4 I:      3      3  J:    1    9  K: -999 -999  L:      1     12
+ constan cnst     M:  3 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
+ -DELETE cnst     M:  3 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
+ doing aggregate gathering AIRT on E axis:        3        3 dset:   4
+ -DELETE AIRT     M:  8 dset:   4 I:      3      3  J:    1    9  K: -999 -999  L:      1     12
+ eval    AIRT     C:  9 dset:   5 I:      3      3  J:    1    9  K: -999 -999  L:      1     12
+ found   SST      M:  5 dset:   5 I:      3      3  J:    1    9  K: -999 -999  L:      1     12
+ constan cnst     M:  8 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
+ -DELETE cnst     M:  8 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
+ doing aggregate gathering AIRT on E axis:        4        4 dset:   5
+ -DELETE AIRT     M:  3 dset:   5 I:      3      3  J:    1    9  K: -999 -999  L:      1     12
  doing --> AIRT[T=01-JAN00:45:31-DEC06:34 at AVE,D=7]
+ final --> AIRT[T=01-JAN00:45:31-DEC06:34 at AVE,D=7]
              VARIABLE : AIR TEMPERATURE (DEG C)
              DATA SET : Ensemble series of 4 datasets patterned on ens1
              FILENAME : fourfiles_gap
@@ -69192,7 +70537,7 @@ show command show
  SHOW MOVIE/ALL
  SHOW VARIABLE/ALL/DATASET/USER/XML/OUTFILE/APPEND/CLOBBER/TREE/LAYERZ/CURVILIN
  SHOW COMMANDS/ALL/BRIEF
- SHOW MEMORY/ALL/TEMPORY/PERMANT/FREE
+ SHOW MEMORY/ALL/DIAGNOST/TEMPORY/PERMANT/FREE
  SHOW GRID/ALL/I/J/K/L/M/N/X/Y/Z/T/E/F/DYNAMIC/XML/OUTFILE/APPEND/CLOBBER
  SHOW VIEWPORT/ALL
  SHOW TRANFORM/ALL
@@ -69406,13 +70751,14 @@ set mode diag
 set mode 6d_lab
 list/L=1:8 taux[x=@ave,y=@ave]
  dealloc  dynamic grid PS3DT2          PSXT      PSYT      PSZT      TIME1
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS2DU2          PSXU      PSYU      NORMAL    TIME1
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:    1  160  J:    1  100  K: -999 -999  L:    1    8
+ eval    EX#1     C:  5 dset:   1 I:      1    160  J:    1  100  K: -999 -999  L:      1      8
  strip --> TAUX[Y=28.8S:51.4N at AV4,D=1]
- reading TAUX     M:  2 dset:   1 I:   91  108  J:   35   55  K: -999 -999  L:    1    8
+ reading TAUX     M:  2 dset:   1 I:     91    108  J:   35   55  K: -999 -999  L:      1      8
  doing --> TAUX[Y=3.5S:3.5N at AV4,D=1]
+ final --> TAUX[Y=3.5S:3.5N at AV4,D=1]
              VARIABLE : ZONAL WIND STRESS (dynes/cm**2)
              FILENAME : gt4d011.cdf
              SUBSET   : 8 points (TIME)
@@ -69429,12 +70775,12 @@ list/L=1:8 taux[x=@ave,y=@ave]
 cancel mode 6d_lab
 list/L=1:8 taux[x=@sum,y=@sum]
  dealloc  dynamic grid PS2DU2          PSXU      PSYU      NORMAL    TIME1
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid PS2DU2          PSXU      PSYU      NORMAL    TIME1
  strip limits reconciliation : EX#1
- eval    EX#1     C:  5 dset:   1 I:    1  160  J:    1  100  K: -999 -999  L:    1    8
+ eval    EX#1     C:  5 dset:   1 I:      1    160  J:    1  100  K: -999 -999  L:      1      8
  strip --> TAUX[Y=28.8S:51.4N at SM4,D=1]
- found   TAUX     M:  2 dset:   1 I:   91  108  J:   35   55  K: -999 -999  L:    1    8
+ found   TAUX     M:  2 dset:   1 I:     91    108  J:   35   55  K: -999 -999  L:      1      8
  doing --> TAUX[Y=3.5S:3.5N at SM4,D=1]
              VARIABLE : ZONAL WIND STRESS (dynes/cm**2)
              FILENAME : gt4d011.cdf
@@ -69460,6 +70806,7 @@ set mode 6d_lab
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err681_dims_direction
 ! err681_dims_direction.jnl
 ! ticket 1955: Code still existed that determined axis direction
@@ -69507,6 +70854,7 @@ sho grid lon_c
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err682_shrink_axlab
 ! err682_shrink_axlab.jnl
 ! See ticket 1958. Scripts may want the axis labels to
@@ -69534,6 +70882,7 @@ set mode/last shrink_ylab
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err682_xact_high_prec
 ! err682_xact_high_prec.jnl
 ! based on an example from the Users List,
@@ -69541,6 +70890,8 @@ GO err682_xact_high_prec
  
 ! shows that the @XACT regridding in double-precision Ferret is broken.
  
+! 3/17 *sh* - broke after change to RESHAPE in GCF_IMPOSE_AXES
+!           - fixed it by cleaning up the definition of var_regrid
  
 Let time = {\
  22585.3295833333,\
@@ -69557,11 +70908,14 @@ Let time = {\
 Define Axis /T /From /T0=1-JAN-1950 /Units=days my_axis = time
  
 Let fake_var = T[GT=my_axis]
-Let var = RANDU( fake_var )
-Let var_regrid = RESHAPE( var, fake_var )
+! this was the definition prior to 3/17
+!Let var = RANDU( fake_var )
+!Let var_regrid = RESHAPE( var, fake_var )
+Let var_regrid = RANDU( fake_var )   ! new definition
+ 
  
 List /T="2-nov-2011 07:54":"2-nov-2011 08:04" var_regrid
-             VARIABLE : RESHAPE( VAR, FAKE_VAR )
+             VARIABLE : RANDU( FAKE_VAR )
              SUBSET   : 10 points (TIME)
  02-NOV-2011 07:54:36 /  1:  0.6251
  02-NOV-2011 07:55:36 /  2:  0.2209
@@ -69619,6 +70973,7 @@ List /T="2-nov-2011 07:54:30":"2-nov-2011 07:54:50" var_sec
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err682_if_yes_exit
 ! err682_if_yes_exit.jnl
 ! Ticket 1965
@@ -69635,6 +70990,7 @@ if `test` then exit
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err682_use_no_quotes
 ! err682_use_no_quotes.jnl
 ! See ticket 1974 - on 64-bit machines, this statement causes a crash.
@@ -69648,6 +71004,7 @@ CANCEL MODE ignore
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err682_axis_no_clue
 ! err682_axis_no_clue.jnl
 ! See ticket 1975. The axis sax is intended to be
@@ -69665,6 +71022,7 @@ sh dat
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err682_grid_merge
 ! err682_grid_merge.jnl
 ! Bug 1972. When merging contexts, the calendar time-axis
@@ -69711,6 +71069,7 @@ list b[T=1-JAN-1960:1-JAN-1961]
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err682_scale_no_offset
 ! err682_scale_no_offset.jnl
 ! See ticket 1980 and the report on the Ferret list at
@@ -69746,6 +71105,7 @@ say `sst_rms[x=@nbd,y=@nbd]`  SHOULD BE 30
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err682_append_packed
 ! err682_append_packed.jnl
 ! See ticket 2004. Write packed variable with scale attributes
@@ -69818,7 +71178,7 @@ use mytype.nc; sh dat/att mytype.nc; can data mytype
  Variable    VarType(in dset)    AttributeName   AttType     Size OutFlag AttValue
 ------------------------------------------------------------------------------------------
   
- .                               history         CHAR        22   T       FERRET V7.1   9-Feb-17
+ .                               history         CHAR        22   T       FERRET V7.2  DD-MON-YY
                                  Conventions     CHAR        6    F       CF-1.6
   
 (COADSX140_140)        DOUBLE    units           CHAR        12   T       degrees_east
@@ -69876,7 +71236,7 @@ use mytype.nc; sh dat/att mytype.nc; can data mytype
  Variable    VarType(in dset)    AttributeName   AttType     Size OutFlag AttValue
 ------------------------------------------------------------------------------------------
   
- .                               history         CHAR        22   T       FERRET V7.1   9-Feb-17
+ .                               history         CHAR        22   T       FERRET V7.2  DD-MON-YY
                                  Conventions     CHAR        6    F       CF-1.6
   
 (COADSX140_140)        DOUBLE    units           CHAR        12   T       degrees_east
@@ -69924,7 +71284,7 @@ use mytype.nc; sh dat/att mytype.nc; can data mytype
  Variable    VarType(in dset)    AttributeName   AttType     Size OutFlag AttValue
 ------------------------------------------------------------------------------------------
   
- .                               history         CHAR        22   T       FERRET V7.1   9-Feb-17
+ .                               history         CHAR        22   T       FERRET V7.2  DD-MON-YY
                                  Conventions     CHAR        6    F       CF-1.6
   
 (COADSX140_140)        DOUBLE    units           CHAR        12   T       degrees_east
@@ -69972,7 +71332,7 @@ use mytype.nc; sh dat/att mytype.nc; can data mytype
  Variable    VarType(in dset)    AttributeName   AttType     Size OutFlag AttValue
 ------------------------------------------------------------------------------------------
   
- .                               history         CHAR        22   T       FERRET V7.1   9-Feb-17
+ .                               history         CHAR        22   T       FERRET V7.2  DD-MON-YY
                                  Conventions     CHAR        6    F       CF-1.6
   
 (COADSX140_140)        DOUBLE    units           CHAR        12   T       degrees_east
@@ -70012,7 +71372,7 @@ use mytype.nc; sh dat/att mytype.nc; can data mytype
  Variable    VarType(in dset)    AttributeName   AttType     Size OutFlag AttValue
 ------------------------------------------------------------------------------------------
   
- .                               history         CHAR        22   T       FERRET V7.1   9-Feb-17
+ .                               history         CHAR        22   T       FERRET V7.2  DD-MON-YY
                                  Conventions     CHAR        6    F       CF-1.6
   
 (COADSX140_140)        DOUBLE    units           CHAR        12   T       degrees_east
@@ -70053,7 +71413,7 @@ use mytype.nc; sh dat/att mytype.nc; can data mytype
  Variable    VarType(in dset)    AttributeName   AttType     Size OutFlag AttValue
 ------------------------------------------------------------------------------------------
   
- .                               history         CHAR        22   T       FERRET V7.1   9-Feb-17
+ .                               history         CHAR        22   T       FERRET V7.2  DD-MON-YY
                                  Conventions     CHAR        6    F       CF-1.6
   
 (COADSX140_140)        DOUBLE    units           CHAR        12   T       degrees_east
@@ -70123,7 +71483,7 @@ use mytype.nc; sh dat/att mytype.nc; can data mytype
  Variable    VarType(in dset)    AttributeName   AttType     Size OutFlag AttValue
 ------------------------------------------------------------------------------------------
   
- .                               history         CHAR        22   T       FERRET V7.1   9-Feb-17
+ .                               history         CHAR        22   T       FERRET V7.2  DD-MON-YY
                                  Conventions     CHAR        6    F       CF-1.6
   
 (COADSX140_140)        DOUBLE    units           CHAR        12   T       degrees_east
@@ -70176,7 +71536,7 @@ use mytype.nc; sh dat/att mytype.nc; can data mytype
  Variable    VarType(in dset)    AttributeName   AttType     Size OutFlag AttValue
 ------------------------------------------------------------------------------------------
   
- .                               history         CHAR        22   T       FERRET V7.1   9-Feb-17
+ .                               history         CHAR        22   T       FERRET V7.2  DD-MON-YY
                                  Conventions     CHAR        6    F       CF-1.6
   
 (COADSX140_140)        DOUBLE    units           CHAR        12   T       degrees_east
@@ -70240,7 +71600,7 @@ use mytype.nc; sh dat/att mytype.nc; can data mytype
  Variable    VarType(in dset)    AttributeName   AttType     Size OutFlag AttValue
 ------------------------------------------------------------------------------------------
   
- .                               history         CHAR        22   T       FERRET V7.1   9-Feb-17
+ .                               history         CHAR        22   T       FERRET V7.2  DD-MON-YY
                                  Conventions     CHAR        6    F       CF-1.6
   
 (COADSX140_140)        DOUBLE    units           CHAR        12   T       degrees_east
@@ -70284,7 +71644,7 @@ use mytype.nc; sh dat/att mytype.nc; can data mytype
  Variable    VarType(in dset)    AttributeName   AttType     Size OutFlag AttValue
 ------------------------------------------------------------------------------------------
   
- .                               history         CHAR        22   T       FERRET V7.1   9-Feb-17
+ .                               history         CHAR        22   T       FERRET V7.2  DD-MON-YY
                                  Conventions     CHAR        6    F       CF-1.6
   
 (COADSX140_140)        DOUBLE    units           CHAR        12   T       degrees_east
@@ -70328,7 +71688,7 @@ use mytype.nc; sh dat/att mytype.nc; can data mytype
  Variable    VarType(in dset)    AttributeName   AttType     Size OutFlag AttValue
 ------------------------------------------------------------------------------------------
   
- .                               history         CHAR        22   T       FERRET V7.1   9-Feb-17
+ .                               history         CHAR        22   T       FERRET V7.2  DD-MON-YY
                                  Conventions     CHAR        6    F       CF-1.6
   
 (COADSX140_140)        DOUBLE    units           CHAR        12   T       degrees_east
@@ -70372,7 +71732,7 @@ use mytype.nc; sh dat/att mytype.nc; can data mytype
  Variable    VarType(in dset)    AttributeName   AttType     Size OutFlag AttValue
 ------------------------------------------------------------------------------------------
   
- .                               history         CHAR        22   T       FERRET V7.1   9-Feb-17
+ .                               history         CHAR        22   T       FERRET V7.2  DD-MON-YY
                                  Conventions     CHAR        6    F       CF-1.6
   
 (COADSX140_140)        DOUBLE    units           CHAR        12   T       degrees_east
@@ -70413,7 +71773,7 @@ use mytype.nc; sh dat/att mytype.nc; can data mytype
  Variable    VarType(in dset)    AttributeName   AttType     Size OutFlag AttValue
 ------------------------------------------------------------------------------------------
   
- .                               history         CHAR        22   T       FERRET V7.1   9-Feb-17
+ .                               history         CHAR        22   T       FERRET V7.2  DD-MON-YY
                                  Conventions     CHAR        6    F       CF-1.6
   
 (COADSX140_140)        DOUBLE    units           CHAR        12   T       degrees_east
@@ -70644,7 +72004,7 @@ use mytype.nc; sh dat/att mytype.nc; can data mytype
  Variable    VarType(in dset)    AttributeName   AttType     Size OutFlag AttValue
 ------------------------------------------------------------------------------------------
   
- .                               history         CHAR        22   T       FERRET V7.1   9-Feb-17
+ .                               history         CHAR        22   T       FERRET V7.2  DD-MON-YY
                                  Conventions     CHAR        6    F       CF-1.6
   
 (COADSX140_140)        FLOAT     units           CHAR        12   T       degrees_east
@@ -70685,7 +72045,7 @@ use mytype.nc; sh dat/att mytype.nc; can data mytype
  Variable    VarType(in dset)    AttributeName   AttType     Size OutFlag AttValue
 ------------------------------------------------------------------------------------------
   
- .                               history         CHAR        22   T       FERRET V7.1   9-Feb-17
+ .                               history         CHAR        22   T       FERRET V7.2  DD-MON-YY
                                  Conventions     CHAR        6    F       CF-1.6
   
 (COADSX140_140)        FLOAT     units           CHAR        12   T       degrees_east
@@ -70736,7 +72096,7 @@ use mytype.nc; sh dat/att mytype.nc; can data mytype
  Variable    VarType(in dset)    AttributeName   AttType     Size OutFlag AttValue
 ------------------------------------------------------------------------------------------
   
- .                               history         CHAR        22   T       FERRET V7.1   9-Feb-17
+ .                               history         CHAR        22   T       FERRET V7.2  DD-MON-YY
                                  Conventions     CHAR        6    F       CF-1.6
   
 (COADSX140_140)        DOUBLE    units           CHAR        12   T       degrees_east
@@ -70784,7 +72144,7 @@ use mytype.nc; sh dat/att mytype.nc; can data mytype
  Variable    VarType(in dset)    AttributeName   AttType     Size OutFlag AttValue
 ------------------------------------------------------------------------------------------
   
- .                               history         CHAR        22   T       FERRET V7.1   9-Feb-17
+ .                               history         CHAR        22   T       FERRET V7.2  DD-MON-YY
                                  Conventions     CHAR        6    F       CF-1.6
   
 (MYHOURS1)             DOUBLE    units           CHAR        31   T       hours since 1901-01-15 00:00:00
@@ -70810,7 +72170,7 @@ use mytype.nc; sh dat/att mytype.nc; can data mytype
  Variable    VarType(in dset)    AttributeName   AttType     Size OutFlag AttValue
 ------------------------------------------------------------------------------------------
   
- .                               history         CHAR        22   T       FERRET V7.1   9-Feb-17
+ .                               history         CHAR        22   T       FERRET V7.2  DD-MON-YY
                                  Conventions     CHAR        6    F       CF-1.6
   
 (MYHOURS1)             INT       units           CHAR        31   T       hours since 1901-01-15 00:00:00
@@ -70836,7 +72196,7 @@ use mytype.nc; sh dat/att mytype.nc; can data mytype
  Variable    VarType(in dset)    AttributeName   AttType     Size OutFlag AttValue
 ------------------------------------------------------------------------------------------
   
- .                               history         CHAR        22   T       FERRET V7.1   9-Feb-17
+ .                               history         CHAR        22   T       FERRET V7.2  DD-MON-YY
                                  Conventions     CHAR        6    F       CF-1.6
   
 (MYHOURS1)             DOUBLE    units           CHAR        31   T       hours since 1901-01-15 00:00:00
@@ -70916,6 +72276,7 @@ can view
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err684_label_quotes
 ! err684_label_quotes.jnl
 ! See ticket 1298.
@@ -70943,6 +72304,7 @@ label 4.5 .5 0 0 .3 "'hello'"
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err684_context_shape
 ! when limits are omitted with a compressing transformation the grave
 ! accent R=SHAPE erroneously includes the corresponding axis in the shape
@@ -70973,6 +72335,7 @@ XY
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err684_tax_fcns
 !err684_tax_fcns.jnl
 ! See ticket 2043, bug in workaround for single-precision arguments
@@ -71061,6 +72424,7 @@ GO err684_tax_fcns
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err684_save_subset
 ! err684_bug_save_subset
 ! see ticke 2064, precision in internal comparison of coordinate data
@@ -71073,6 +72437,7 @@ save/clobber/file=aa.nc/i=5:15 sh
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err684_save_subset
 ! err684_bug_save_subset
 ! see ticke 2064, precision in internal comparison of coordinate data
@@ -71085,6 +72450,7 @@ save/clobber/file=aa.nc/i=5:15 sh
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err684_line_plot_zero
 ! err684_line_plot_zero.jnl
 ! plot all-zero variable gave blank plot.
@@ -71098,6 +72464,7 @@ YAXIS_MAX = "1.00000000"
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err684_delimited_precision
 ! err684_delimited_precision.jnl
 ! 5/2013 Fixing bug 2066
@@ -71145,6 +72512,7 @@ list/prec=10 day, lon, lat, tim
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err6842_context_shape
 ! err6842_context_shape.jnl
 ! 5/2013 acm
@@ -71197,6 +72565,7 @@ XYT
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err684_evnt_z
 ! err684_evnt_z.jnl
 ! see ticket 2054
@@ -71237,6 +72606,7 @@ list my_var, my_event
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err684_save_expression
 ! err684_save_expression.jnl
 ! Bug 2076. If we write out an expression that has not been defined
@@ -71266,13 +72636,13 @@ variables:
 		A:history = "From coads_climatology" ;
 
 // global attributes:
-		:history = "FERRET V7.1   9-Feb-17" ;
+		:history = "FERRET V7.2  DD-MON-YY" ;
 		:Conventions = "CF-1.6" ;
 data:
 
  TIME = 366, 1096.485, 1826.97 ;
 
- A = -0.0994369294620974, -0.0415768591396031, 0.141480238198142 ;
+ A = -0.0994369294620867, -0.0415768591395924, 0.141480238198152 ;
 }
  
 save/clob/file=aa.nc sst[x=@ave,y=@ave]-sst[x=@ave,y=@ave,t=@ave]
@@ -71295,13 +72665,13 @@ variables:
 		E410:history = "From coads_climatology" ;
 
 // global attributes:
-		:history = "FERRET V7.1   9-Feb-17" ;
+		:history = "FERRET V7.2  DD-MON-YY" ;
 		:Conventions = "CF-1.6" ;
 data:
 
  TIME = 366, 1096.485, 1826.97 ;
 
- E410 = -0.0994369294620974, -0.0415768591396031, 0.141480238198142 ;
+ E410 = -0.0994369294620867, -0.0415768591395924, 0.141480238198152 ;
 }
  
 ! Double check the missing-value matches what is written.
@@ -71346,7 +72716,7 @@ variables:
 		E410:history = "From coads_climatology" ;
 
 // global attributes:
-		:history = "FERRET V7.1   9-Feb-17" ;
+		:history = "FERRET V7.2  DD-MON-YY" ;
 		:Conventions = "CF-1.6" ;
 data:
 
@@ -71381,6 +72751,7 @@ set mode/last ignore
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err684_degC_axlab
 ! err684_degC_axlab.jnl
 ! ACM 6/2013
@@ -71400,6 +72771,7 @@ set mode/last logo
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err684_null_stringwrite
 ! err684_null_stringwrite.jnl
 ! 18-Jun-2013 ACM
@@ -71422,11 +72794,12 @@ set mode/last ignore
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err684_FillValue_xml
 ! err684_FillValue_xml.jnl
 ! ACM 6/2013
 !
-! See the dataset at http://ferret.pmel.noaa.gov/thredds/dodsC/woa09_1deg_monthly
+! See the dataset at http://ferret.pmel.noaa.gov/pmel/thredds/dodsC/woa09_1deg_monthly
 ! where the "number of" variables have  _FillValues attributes = -2147483647
 ! This value was being written to the xml headers as a float, without enough precision.
 ! See las ticket #761, fixes in show_data_set_vars_xml.F
@@ -71447,7 +72820,7 @@ sh dat/var/xml
    <value><![CDATA[Number of O2 Utilization Observations]]></value>
 </attribute>
 <attribute name="_FillValue" type="float">
-   <value> -2147483647.</value>
+   <value>-2147483647.</value>
 </attribute>
 <attribute name="ferret_datatype" type="char">
    <value><![CDATA[FLOAT]]></value>
@@ -71509,6 +72882,7 @@ sh dat/var/xml
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err684_axticlab
 ! err684_axticlab
 ! 7/10/2013 *acm
@@ -71532,6 +72906,7 @@ cancel mode meta
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err684_dotstart
 ! err684_dotstart.jnl
 ! 12-Jul-2013 ACM
@@ -71551,13 +72926,12 @@ list ..history
  
 ! Just a dot is interpretd as a number.
 list .
-             VARIABLE : constant
-          0.0000
  
 set mode/last ignore
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err684_vfine_to_coarse
  ! err684_vfine_to_coarse
  ! see ticket 2070.
@@ -71687,6 +73061,7 @@ list v eq v_coarse[gf=v at ave]
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err684_repeated_coordindates
 ! err685_repeated_coordindates.jnl
 !  The NOTE about repeated axis coordaintes reported the wrong index location.
@@ -71696,6 +73071,7 @@ use latestOb.nc
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err684_packed_output
 ! err684_packed_output.jnl
 ! See ticket 2089
@@ -71708,12 +73084,12 @@ list/i=1:3 sst
              FILENAME : err684_packed_output.nc
              SUBSET   : 3 by 4 points (LONGITUDE-LATITUDE)
              TIME     : 01-OCT-2012 00:00
-              80.13E 80.38E 80.63E 
+              80.12E 80.38E 80.62E 
                 1      2      3
  15.88N / 4:   ....   ....  29.03
- 15.63N / 3:   ....  29.18  29.09
+ 15.62N / 3:   ....  29.18  29.09
  15.38N / 2:  29.36  29.21  29.10
- 15.13N / 1:  29.40  29.27  29.13
+ 15.12N / 1:  29.40  29.27  29.13
  
 ! data is SHORT, is not scaled
  
@@ -71726,16 +73102,17 @@ list/i=1:3 sst
              FILENAME : sst_new.nc
              SUBSET   : 3 by 4 points (LONGITUDE-LATITUDE)
              TIME     : 01-OCT-2012 00:00
-              80.13E 80.38E 80.63E 
+              80.12E 80.38E 80.62E 
                 1      2      3
  15.88N / 4:   ....   ....  29.03
- 15.63N / 3:   ....  29.18  29.09
+ 15.62N / 3:   ....  29.18  29.09
  15.38N / 2:  29.36  29.21  29.10
- 15.13N / 1:  29.40  29.27  29.13
+ 15.12N / 1:  29.40  29.27  29.13
  
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err684_string_dim_name
 ! err685_string_dim_name.jnl
 ! Ticket 2091. If the string variable shares its dimension name,
@@ -71759,6 +73136,7 @@ list ..varnames
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err684_define_grid
 ! err684_define_grid.jnl
 ! 25-Oct-2013 ACM
@@ -71914,10 +73292,10 @@ variables:
 		DDAT_ORIG:long_name = "DDAT[GZ=ZAXIS_ORIG at ASN]" ;
 
 // global attributes:
-		:history = "Thu Feb  9 14:25:16 2017: ncks -h -A -h z1.nc append_to_this.nc\n",
-			"FERRET V7.1   9-Feb-17" ;
+		:history = "WKD MON DD HH:MM:SS YYYY: ncks -h -A -h z1.nc append_to_this.nc\n",
+			"FERRET V7.2  DD-MON-YY" ;
 		:Conventions = "CF-1.6" ;
-		:NCO = "4.4.6" ;
+		:NCO = "4.4.4" ;
 }
 *** Running ferret script: bn_nobounds.jnl
 ! bn_nobounds.jnl
@@ -71946,7 +73324,7 @@ variables:
 		AVAR:long_name = "X[GX=XIRREG]" ;
 
 // global attributes:
-		:history = "FERRET V7.1   9-Feb-17" ;
+		:history = "FERRET V7.2  DD-MON-YY" ;
 		:Conventions = "CF-1.6" ;
 data:
 
@@ -71977,7 +73355,7 @@ variables:
 		AVAR:long_name = "X[GX=XIRREG]" ;
 
 // global attributes:
-		:history = "FERRET V7.1   9-Feb-17" ;
+		:history = "FERRET V7.2  DD-MON-YY" ;
 		:Conventions = "CF-1.6" ;
 data:
 
@@ -72040,7 +73418,7 @@ variables:
 		A:history = "From coads" ;
 
 // global attributes:
-		:history = "FERRET V7.1   9-Feb-17" ;
+		:history = "FERRET V7.2  DD-MON-YY" ;
 		:Conventions = "CF-1.6" ;
 }
  
@@ -72068,7 +73446,7 @@ variables:
 		A:history = "From coads" ;
 
 // global attributes:
-		:history = "FERRET V7.1   9-Feb-17" ;
+		:history = "FERRET V7.2  DD-MON-YY" ;
 		:Conventions = "CF-1.6" ;
 }
  
@@ -72858,6 +74236,7 @@ go bn_vtree_regrid
 ! exercise 12/14 enhancements to display regrid target on a separate line
 ! updated 1/26/15 to exercise multiple regrid target outputs
 ! updated 2/23/15 to report target of regrid even when aux regridding occurs
+! 5/2017 note that the fix for #2533 causes some duplicate  UNKNOWN GRID lines
  
 ! case 1: target grid known,   regridded variable known
 let myvar = 1           ! var to be regridded is known
@@ -73202,6 +74581,7 @@ go bn_vtree.sub myvar[gx=temp,gy=temp,g=mybad[d=1]]  ! dup known targets
    in default dataset levitus_climatology
    MYVAR = X[GX=X1] + Y[GY=Y1]
      regrid to TEMP
+     regrid to TEMP
      regrid to MYBAD[D=1] ??		<== UNKNOWN GRID ******
 /TREE=USER
    in default dataset levitus_climatology
@@ -73218,13 +74598,16 @@ go bn_vtree.sub myvar[g=temp,gx=mybad,gy=mybad]      ! dup unknown suppressed
    MYVAR = X[GX=X1] + Y[GY=Y1]
      regrid to TEMP
      regrid to MYBAD ??		<== UNKNOWN GRID ******
+     regrid to MYBAD ??		<== UNKNOWN GRID ******
 /TREE=USER
    in default dataset levitus_climatology
    MYVAR = X[GX=X1] + Y[GY=Y1]
      regrid to MYBAD ??		<== UNKNOWN GRID ******
+     regrid to MYBAD ??		<== UNKNOWN GRID ******
 /TREE=FILE
    regrid to TEMP[d=levitus_climatology]
    *unknown grid: MYBAD
+   *unknown grid: MYBAD
 the problem is UNKNOWN GRID: MYBAD
 ************************
 go bn_vtree.sub myvar[g=temp,gx=mybad[d=2],gy=mybad] ! dup unknown missed
@@ -73379,6 +74762,7 @@ vtree=all tempz4
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err685_ribbon_by_val
 ! err685_ribbon_by_val.jnl
 ! 11/21/2013
@@ -73394,6 +74778,7 @@ plot/vs/line/thick/ribbon/MISS=black/PAL=ocean_temp xpts, ypts, fpts
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err685_ppl_palette
 ! err685_ppl_palette.jnl
 ! Further fix for ticket 2049. If the palette or pattern file
@@ -73423,6 +74808,7 @@ pattern solid
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err685_show_grid_e
 ! err685_show_grid_e.jnl
 ! See ticket 2122
@@ -73489,6 +74875,7 @@ sh grid /f gensy
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err685_lowercaseAxis
 ! err685_lowercaseAxis.jnl
 ! Ticket  2126
@@ -73554,6 +74941,7 @@ list/L=1:5 aa
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err685_redefine_uvar_att
 ! err685_redefine_uvar_att.jnl
 ! ticket 2127 Redefine an attribute for a
@@ -73566,6 +74954,7 @@ define att/type=STRING  a.ival = 99
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err685_use_no_extension
 ! Ticket 2128: if no extension, we should try .cdf, .nc, .des
 !  but .des was not being tried.
@@ -73602,6 +74991,7 @@ set mode/last ignore
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err685_samplexy
 ! err685_samplexy.jnl
 ! Fix for ticket 2137. out-of-bounds error
@@ -73624,6 +75014,7 @@ list  samplexy(sst[x=290:310,y=0:20], lon, lat)
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err685_shade_set
 ! err685_shade_set.jnl
 !
@@ -73671,6 +75062,7 @@ set mode/last logo
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err686_individual_levels
 ! err686_individual_levels.jnl
 ! Ticket 2142
@@ -73761,7 +75153,7 @@ variables:
 		LABELS:history = "From http://dunkel.pmel.noaa.gov:8930/thredds/dodsC/data/atmos3.ncml" ;
 
 // global attributes:
-		:history = "FERRET V7.1   9-Feb-17" ;
+		:history = "FERRET V7.2  DD-MON-YY" ;
 		:Conventions = "CF-1.6" ;
 }
  
@@ -73784,7 +75176,7 @@ variables:
 		STRVAR:long_name = "mystrings" ;
 
 // global attributes:
-		:history = "FERRET V7.1   9-Feb-17" ;
+		:history = "FERRET V7.2  DD-MON-YY" ;
 		:Conventions = "CF-1.6" ;
 }
  
@@ -73812,6 +75204,7 @@ fill/lev=(20,30,10)/L=1 sst
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err686_long_list_varnames
 ! err686_long_list_varnames.jnl
 !
@@ -73899,6 +75292,7 @@ list etopo2_depth
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err686_faxis_label
 ! err686_faxis_label.jnl
 ! 3/11/2014 ACM
@@ -73932,6 +75326,7 @@ LAB2 = "FORECAST : 03-JAN-2000 00:00 JULIAN"
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err686_dup_axnames
 ! err686_dup_axnames
 ! Ticket 1750
@@ -74000,7 +75395,7 @@ variables:
 		B:history = "From b" ;
 
 // global attributes:
-		:history = "FERRET V7.1   9-Feb-17" ;
+		:history = "FERRET V7.2  DD-MON-YY" ;
 		:Conventions = "CF-1.6" ;
 }
  
@@ -74030,7 +75425,7 @@ variables:
 		A:history = "From a" ;
 
 // global attributes:
-		:history = "FERRET V7.1   9-Feb-17" ;
+		:history = "FERRET V7.2  DD-MON-YY" ;
 		:Conventions = "CF-1.6" ;
 }
  
@@ -74051,7 +75446,7 @@ variables:
 		B:history = "From b" ;
 
 // global attributes:
-		:history = "FERRET V7.1   9-Feb-17" ;
+		:history = "FERRET V7.2  DD-MON-YY" ;
 		:Conventions = "CF-1.6" ;
 }
  
@@ -74072,7 +75467,7 @@ variables:
 		B:history = "From b" ;
 
 // global attributes:
-		:history = "FERRET V7.1   9-Feb-17" ;
+		:history = "FERRET V7.2  DD-MON-YY" ;
 		:Conventions = "CF-1.6" ;
 }
  
@@ -74094,7 +75489,7 @@ variables:
 		B:history = "From b" ;
 
 // global attributes:
-		:history = "FERRET V7.1   9-Feb-17" ;
+		:history = "FERRET V7.2  DD-MON-YY" ;
 		:Conventions = "CF-1.6" ;
 }
  
@@ -74107,6 +75502,7 @@ set mode/last ignore
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err686_cancel_invalid_var
 ! err686_cancel_invalid_var
 ! ticket 2159
@@ -74130,6 +75526,7 @@ shade/x=161.1:161.3/y=0.2:0.4/L=1 sst
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err686_redef_ascii_att
 ! err686_redef_ascii_att.jnl
 ! Bug 2161
@@ -74168,6 +75565,7 @@ sh att v1
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err686_sho_nonexist_att
 ! err686_sho_nonexist_att.jnl
 ! See ticket 2133
@@ -74183,6 +75581,7 @@ set mode/last ignore
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err686_set_var_name
 ! err686_set_var_name.jnl
 ! ticket 2152
@@ -74503,7 +75902,7 @@ sh dat/att
  Variable    VarType(in dset)    AttributeName   AttType     Size OutFlag AttValue
 ------------------------------------------------------------------------------------------
   
- .                               history         CHAR        22   T       FERRET V7.1   9-Feb-17
+ .                               history         CHAR        22   T       FERRET V7.2  DD-MON-YY
                                  Conventions     CHAR        6    F       CF-1.6
   
 (x_in_meters)          DOUBLE    units           CHAR        6    T       meters
@@ -74520,7 +75919,7 @@ sh dat/att
  Variable    VarType(in dset)    AttributeName   AttType     Size OutFlag AttValue
 ------------------------------------------------------------------------------------------
   
- .                               history         CHAR        22   T       FERRET V7.1   9-Feb-17
+ .                               history         CHAR        22   T       FERRET V7.2  DD-MON-YY
                                  Conventions     CHAR        6    F       CF-1.6
   
 (x_in_meters)          DOUBLE    units           CHAR        6    T       meters
@@ -74537,7 +75936,7 @@ sh dat/att
  Variable    VarType(in dset)    AttributeName   AttType     Size OutFlag AttValue
 ------------------------------------------------------------------------------------------
   
- .                               history         CHAR        22   T       FERRET V7.1   9-Feb-17
+ .                               history         CHAR        22   T       FERRET V7.2  DD-MON-YY
                                  Conventions     CHAR        6    F       CF-1.6
   
 (x_in_meters)          DOUBLE    units           CHAR        6    T       meters
@@ -74568,50 +75967,52 @@ set mode/last ignore
 ! Tests of the F-TDS LET/REMOTE
 ! 6/2016 installed NVODS on new-bock server
 ! 9/2016 load smaller subsets of the data
+! 4/2017 Update thredds server urls. To find the right URL, go to the dataset
+!        in the NVODS server, and hit the "Export to Desktop Application"
+!        button. The .jnl address is the correct F-TDS URL.
  
 ! See if the F-TDS is working and bail if not.
- 
 let status = TEST_OPENDAP("http://ferret.pmel.noaa.gov/nvods/thredds/dodsC/las/COADS-climatology/data_coads_climatology.jnl")
 load status
 if `status NE 0` then EXIT/SCRIPT
  !-> if 0 then EXIT/SCRIPT
  
-use "http://ferret.pmel.noaa.gov/nvods/thredds/dodsC/las/woa05_monthly/data_ferret.pmel.noaa.gov_thredds_dodsC_data_PMEL_WOA05nc_monthly_t0112mn1.nc.jnl"
-let/D=1/remote myvar = t0112mn1[k=1:5 at sum]
-let/D=1/remote ave_z = t0112mn1[z=0:20 at ave]
+use "http://ferret.pmel.noaa.gov/nvods/thredds/dodsC/las/woa05_annual/data_ferret.pmel.noaa.gov_pmel_thredds_dodsC_data_PMEL_WOA05nc_annual_t00an1.nc.jnl"
+let/D=1/remote myvar = t00an1[k=1:5 at sum]
+let/D=1/remote ave_z = t00an1[z=0:20 at ave]
 sh var
  Created by DEFINE VARIABLE:
-     AVE_Z[D=data_ferret.pmel.noaa.gov_thredds_dodsC_data_PMEL_WOA05nc_monthly_t0112mn1.nc.jnl] (/REMOTE) = T0112MN1[Z=0:20 at AVE]
-     MYVAR[D=data_ferret.pmel.noaa.gov_thredds_dodsC_data_PMEL_WOA05nc_monthly_t0112mn1.nc.jnl] (/REMOTE) = T0112MN1[K=1:5 at SUM]
+     AVE_Z[D=data_ferret.pmel.noaa.gov_pmel_thredds_dodsC_data_PMEL_WOA05nc_annual_t00an1.nc.jnl] (/REMOTE) = T00AN1[Z=0:20 at AVE]
+     MYVAR[D=data_ferret.pmel.noaa.gov_pmel_thredds_dodsC_data_PMEL_WOA05nc_annual_t00an1.nc.jnl] (/REMOTE) = T00AN1[K=1:5 at SUM]
  >>> Definitions that replace any file variable of same name:
      STATUS = TEST_OPENDAP("http://ferret.pmel.noaa.gov/nvods/thredds/dodsC/las/COADS-climatology/data_coads_climatology.jnl")
 set view ul; shade/l=7/x=180:200/y=20:30 myvar
 set view ur; shade/l=3/x=180:200/y=20:30 ave_z
  
 list/l=7/x=300:310/y=15 myvar, ave_z
-             DATA SET: http://ferret.pmel.noaa.gov/nvods/thredds/dodsC/las/woa05_monthly/data_ferret.pmel.noaa.gov_thredds_dodsC_data_PMEL_WOA05nc_monthly_t0112mn1.nc.jnl
+             DATA SET: http://ferret.pmel.noaa.gov/nvods/thredds/dodsC/las/woa05_annual/data_ferret.pmel.noaa.gov_pmel_thredds_dodsC_data_PMEL_WOA05nc_annual_t00an1.nc.jnl
              LONGITUDE: 60W to 50W
              LATITUDE: 14.5N
-             TIME: 14-JUL 12:00
- Column  1: MYVAR is T0112MN1[K=1:5 at SUM]
- Column  2: AVE_Z is T0112MN1[Z=0:20 at AVE]
+             TIME: 02-JUL-0003 05:27
+ Column  1: MYVAR is T00AN1[K=1:5 at SUM]
+ Column  2: AVE_Z is T00AN1[Z=0:20 at AVE]
              MYVAR   AVE_Z
-59.5W / 301:  139.9  28.10
-58.5W / 302:  139.5  27.95
-57.5W / 303:  140.5  28.18
-56.5W / 304:  140.0  28.05
-55.5W / 305:  137.6  27.66
-54.5W / 306:  136.1  27.44
-53.5W / 307:  134.2  27.04
-52.5W / 308:  137.2  27.50
-51.5W / 309:   27.3  27.30
-50.5W / 310:  135.4  27.25
- 
-let/D=1/remote ave_t = t0112mn1[L=1:12 at ave]
+59.5W / 301:  136.8  27.45
+58.5W / 302:  136.7  27.42
+57.5W / 303:  136.4  27.37
+56.5W / 304:  136.1  27.30
+55.5W / 305:  135.6  27.21
+54.5W / 306:  135.1  27.11
+53.5W / 307:  134.6  27.01
+52.5W / 308:  134.1  26.89
+51.5W / 309:  133.6  26.77
+50.5W / 310:  133.0  26.65
+ 
+let/D=1/remote ave_t = t00an1[L=1:12 at ave]
 set view ll; shade/z=0/x=180:200/y=20:30 ave_t
  
-let/D=1/remote/units="`t0112mn1,ret=units`"/title="Summer average Temperature" ave_summer = t0112mn1[t=15-jun:15-sep at ave]
- !-> DEFINE VARIABLE/D=1/remote/units="deg C"/title="Summer average Temperature" ave_summer = t0112mn1[t=15-jun:15-sep at ave]
+let/D=1/remote/units="`t00an1,ret=units`"/title="Summer average Temperature" ave_summer = t00an1[t=15-jun:15-sep at ave]
+ !-> DEFINE VARIABLE/D=1/remote/units="deg C"/title="Summer average Temperature" ave_summer = t00an1[t=15-jun:15-sep at ave]
 set view lr; shade/z=0/x=180:200/y=20:30 ave_summer
  
 can view
@@ -74619,15 +76020,15 @@ can data/all; can var/all
  
 ! open another dataset, define more remote variables
  
-use "http://ferret.pmel.noaa.gov/nvods/thredds/dodsC/las/woa05_monthly/data_ferret.pmel.noaa.gov_thredds_dodsC_data_PMEL_WOA05nc_monthly_t0112mn1.nc.jnl"
+use "http://ferret.pmel.noaa.gov/nvods/thredds/dodsC/las/woa05_annual/data_ferret.pmel.noaa.gov_pmel_thredds_dodsC_data_PMEL_WOA05nc_annual_t00an1.nc.jnl"
 use "http://ferret.pmel.noaa.gov/nvods/thredds/dodsC/las/COADS-climatology/data_coads_climatology.jnl"
 let/D=2/remote sstsum = sst[L=1:5 at sum]
 let/D=2/remote airtsum = airt[L=1:5 at sum]
 sh dat
      currently SET data sets:
-    1> http://ferret.pmel.noaa.gov/nvods/thredds/dodsC/las/woa05_monthly/data_ferret.pmel.noaa.gov_thredds_dodsC_data_PMEL_WOA05nc_monthly_t0112mn1.nc.jnl
+    1> http://ferret.pmel.noaa.gov/nvods/thredds/dodsC/las/woa05_annual/data_ferret.pmel.noaa.gov_pmel_thredds_dodsC_data_PMEL_WOA05nc_annual_t00an1.nc.jnl
  name     title                             I         J         K         L
- T0112MN1 Temperature                      1:360     1:180     1:24      1:12
+ T00AN1   Temperature                      1:360     1:180     1:33      1:1
  
     2> http://ferret.pmel.noaa.gov/nvods/thredds/dodsC/las/COADS-climatology/data_coads_climatology.jnl  (default)
  name     title                             I         J         K         L
@@ -74704,10 +76105,10 @@ list/y=-5/x=130w:110w combo
  
 can dat/all; can var/all
  
-use "http://ferret.pmel.noaa.gov/nvods/thredds/dodsC/las/woa05_monthly/data_ferret.pmel.noaa.gov_thredds_dodsC_data_PMEL_WOA05nc_monthly_t0112mn1.nc.jnl"
+use "http://ferret.pmel.noaa.gov/nvods/thredds/dodsC/las/woa05_annual/data_ferret.pmel.noaa.gov_pmel_thredds_dodsC_data_PMEL_WOA05nc_annual_t00an1.nc.jnl"
  
 ! This is ok let/remote/D=
-let/D=1/remote myvar = t0112mn1[z=1:100 at ave]
+let/D=1/remote myvar = t00an1[z=1:100 at ave]
  
 ! Intentional errors:
  
@@ -74715,17 +76116,17 @@ let/D=1/remote myvar = t0112mn1[z=1:100 at ave]
 ! the remote server so the same datsets are not open there.
  
 set mode ignore
-let/D=1/remote rvar = t0112mn1[d=1,z=1:100 at ave]
+let/D=1/remote rvar = t00an1[d=1,z=1:100 at ave]
  
  
 ! But, require LET/D= with /REMOTE
-let/remote rvar = t0112mn1[d=1,z=1:100 at ave]
+let/remote rvar = t00an1[d=1,z=1:100 at ave]
  
 ! If expressions involve local variables not defined in the remote dset,
 ! then the variable can be computed but not as a remote-var.
  
 let a = 12
-let/D=1/remote avar = a*t0112mn1[L=@ave]
+let/D=1/remote avar = a*t00an1[L=@ave]
 list/x=300/y=15 avar
  
 SET MODE/LAST ignore
@@ -74734,31 +76135,31 @@ SET MODE/LAST ignore
 let/D=1/remote a = 12
 sho dat
      currently SET data sets:
-    1> http://ferret.pmel.noaa.gov/nvods/thredds/dodsC/las/woa05_monthly/data_ferret.pmel.noaa.gov_thredds_dodsC_data_PMEL_WOA05nc_monthly_t0112mn1.nc.jnl  (default)
+    1> http://ferret.pmel.noaa.gov/nvods/thredds/dodsC/las/woa05_annual/data_ferret.pmel.noaa.gov_pmel_thredds_dodsC_data_PMEL_WOA05nc_annual_t00an1.nc.jnl  (default)
  name     title                             I         J         K         L
- T0112MN1 Temperature                      1:360     1:180     1:24      1:12
+ T00AN1   Temperature                      1:360     1:180     1:33      1:1
  ------------------------------
- A[D=data_ferret.pmel.noaa.gov_thredds_dodsC_data_PMEL_WOA05nc_monthly_t0112mn1.nc.jnl] (/REMOTE) = 12
- AVAR[D=data_ferret.pmel.noaa.gov_thredds_dodsC_data_PMEL_WOA05nc_monthly_t0112mn1.nc.jnl] (/REMOTE) = A*T0112MN1[L=@AVE]
- MYVAR[D=data_ferret.pmel.noaa.gov_thredds_dodsC_data_PMEL_WOA05nc_monthly_t0112mn1.nc.jnl] (/REMOTE) = T0112MN1[Z=1:100 at AVE]
+ A[D=data_ferret.pmel.noaa.gov_pmel_thredds_dodsC_data_PMEL_WOA05nc_annual_t00an1.nc.jnl] (/REMOTE) = 12
+ AVAR[D=data_ferret.pmel.noaa.gov_pmel_thredds_dodsC_data_PMEL_WOA05nc_annual_t00an1.nc.jnl] (/REMOTE) = A*T00AN1[L=@AVE]
+ MYVAR[D=data_ferret.pmel.noaa.gov_pmel_thredds_dodsC_data_PMEL_WOA05nc_annual_t00an1.nc.jnl] (/REMOTE) = T00AN1[Z=1:100 at AVE]
  
 list/x=300/y=15/z=0:100 avar
-             VARIABLE : A*T0112MN1[L=@AVE]
-             FILENAME : data_ferret.pmel.noaa.gov_thredds_dodsC_data_PMEL_WOA05nc_monthly_t0112mn1.nc.jnl
-             FILEPATH : http://ferret.pmel.noaa.gov/nvods/thredds/dodsC/las/woa05_monthly/
+             VARIABLE : A*T00AN1[L=@AVE]
+             FILENAME : data_ferret.pmel.noaa.gov_pmel_thredds_dodsC_data_PMEL_WOA05nc_annual_t00an1.nc.jnl
+             FILEPATH : http://ferret.pmel.noaa.gov/nvods/thredds/dodsC/las/woa05_annual/
              SUBSET   : 7 points (DEPTH (m))
              LONGITUDE: 60.5W
              LATITUDE : 14.5N
-             TIME     : 01-JAN 12:00 to 30-DEC 06:00
+             TIME     : 01-JUL 00:00 to 02-JUL 00:00
                60.5W 
               300
- 0      / 1:  331.0
- 10     / 2:  330.6
- 20     / 3:  330.4
- 30     / 4:  329.6
- 50     / 5:  324.5
- 75     / 6:  313.6
- 100    / 7:  299.4
+ 0      / 1:  330.0
+ 10     / 2:  329.7
+ 20     / 3:  329.3
+ 30     / 4:  328.7
+ 50     / 5:  324.3
+ 75     / 6:  312.7
+ 100    / 7:  297.4
  
 can dat/all; can var/all
  
@@ -74769,6 +76170,7 @@ can dat/all; can var/all
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err69_arg_type_error
 ! err69_arg_type_error
 ! See ticket 2169
@@ -74831,6 +76233,7 @@ set mode /last ignore
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err69_bad_bounds
 ! err69_bad_bounds.jnl
 ! See ticket 2170
@@ -74903,6 +76306,7 @@ set mode/last ignore
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err69_const_array
 ! err69_const_array.jnl
 ! 5/8/2014  ACM
@@ -74938,6 +76342,7 @@ set mode/last ignore
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err69_multi_label_ascii
 ! err69_multi_label_ascii.jnl
 ! 5/2014  ACM
@@ -74971,6 +76376,7 @@ label .55 .2 0 0 .16 "@ASEscape_color_not_font<NL>@P2 at SRred_1<NL>@P3 at SRgreen_2
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err69_ens_badvalue
 ! err69_ens_badvalue.jnl
 !
@@ -74992,7 +76398,7 @@ ensemble ens = 1,2,3
 ! MAIZE_YIELD[M=@NGD] should have values of 0, 2, and 3.
 list/y=29.25  MAIZE_YIELD[d=1], MAIZE_YIELD[d=2], MAIZE_YIELD[d=3],  MAIZE_YIELD[m=@ngd]
              LONGITUDE: 8W(-8) to 6W(-6)
-             LATITUDE: 29.3N
+             LATITUDE: 29.2N
              E (realization): 0.5 to 3.5 (number of valid)
  Column  1: MAIZE_YIELD[D=maize_1] is  Maize harvest (kgC.m-2.yr-1)
  Column  2: MAIZE_YIELD[D=maize_2] is  Maize harvest (kgC.m-2.yr-1)
@@ -75006,6 +76412,7 @@ list/y=29.25  MAIZE_YIELD[d=1], MAIZE_YIELD[d=2], MAIZE_YIELD[d=3],  MAIZE_YIELD
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err69_ribbon_by_levels
 ! err69_ribbon_by_levels.jnl
 ! ACM 5/19/2014
@@ -75031,6 +76438,7 @@ RIBBON/vs/line/thick/lev=(1,20,1)/fast/pal=ten_by_levels xpts,ypts,var
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err69_ribbon_histogram
 ! err69_ribbon_histogram.jnl
 ! ACM 5/24/2014
@@ -75058,6 +76466,7 @@ ribbon/vs/line/thick/lev=10h xpts,ypts,var
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err69_repl_scinot
 ! err69_repl_scinot.jnl
 ! ticket 2175
@@ -75085,6 +76494,7 @@ say (`a`)
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err691_bnds_case
 ! err691_bnds_case
 ! 6/30/14
@@ -75099,6 +76509,7 @@ set mode/last upcase_output
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err69_plot_vs_labs
 ! err69_plot_vs_labs.jnl
 ! ticket 2187: the axis labels on the dependent axis
@@ -75136,6 +76547,7 @@ LABY = "A[X=150W:90W at AVE]"
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err69_levels_v
 ! err69_levels_v.jnl
 ! Ferret ticket 2186, and LAS ticket 1598
@@ -75161,6 +76573,7 @@ LEV_OPNLEVS = "(290,330,10)(332,402,2)(400,450,10)(inf)"
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err69_letd_dsetnum
 ! err69_letd_dsetnum.jnl
 !  Ticket 2189. Previously the grave-accent expression didn't get
@@ -75180,6 +76593,7 @@ sh dat
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err69_long_string_to_xml
 ! err69_long_string_to_xml.jnl
 ! ticket 2190  8-8-2014
@@ -75198,6 +76612,7 @@ sp cat out.xml
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err69_fill_trans
 ! err69_fill_trans.jnl
 ! ticket 2196. Visible only if bounds-checking is turned on.
@@ -75246,6 +76661,7 @@ list myvar[x=6 at fav:18]
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err69_load_big_grid
 ! err69_load_big_grid
 ! ticket 1758
@@ -75263,29 +76679,40 @@ def axis/z=1:20:1 zaxis
 define axis/t=1-jan-2000:1-jan-2005:1/units=days  longtime
 let bigvar = x[gx=xaxis]+y[gy=yaxis] + z[gz=zaxis] + t[gt=longtime]
 sh grid bigvar
-    GRID (G003)
+    GRID (G###)
  name       axis              # pts   start                end                 subset
  XAXIS     X                  360 r   1                    360                 full
  YAXIS     Y                  180 r   1                    180                 full
  ZAXIS     Z                   20 r   1                    20                  full
  LONGTIME  TIME              1828 r   01-JAN-2000 00:00    01-JAN-2005 00:00   full
 load bigvar
+    To fulfill this request would exceed the current SET MEMORY/SIZE= limit of 25.6 megawords
+    At the moment that the memory limit was reached
+    memory was committed as follows:
+        - to objects used in computation: : 1297828 (5.1%)
+    The size of the requested object was: : 2369088000 (9254%)
  
 ! also was an incorrect size.
 define axis/t=1-jan-2000:1-jan-2010:1/units=days  longtime
 sh grid bigvar
-    GRID (G003)
+    GRID (G###)
  name       axis              # pts   start                end                 subset
  XAXIS     X                  360 r   1                    360                 full
  YAXIS     Y                  180 r   1                    180                 full
  ZAXIS     Z                   20 r   1                    20                  full
  LONGTIME  TIME              3654 r   01-JAN-2000 00:00    01-JAN-2010 00:00   full
 load bigvar
+    To fulfill this request would exceed the current SET MEMORY/SIZE= limit of 25.6 megawords
+    At the moment that the memory limit was reached
+    memory was committed as follows:
+        - to objects used in computation: : 1299654 (5.1%)
+    The size of the requested object was: : 4735584000 (18498%)
  
 cancel mode ignore
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err69_write_attribute
 ! err69_write_attribute.jnl
 ! Bug 1863
@@ -75424,6 +76851,7 @@ sp rm aa.nc bb.nc
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err69_isready_status_errmsgs
 ! err69_isready_status_errmsgs
 ! ticket 2197
@@ -75447,6 +76875,7 @@ set mode/last ignore
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err69_isready_status_errmsgs
 ! err69_isready_status_errmsgs
 ! ticket 2197
@@ -75470,6 +76899,7 @@ set mode/last ignore
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err69_countervar_context
 ! err69_countervar_context.jnl
 ! ACM 10/3/2014
@@ -75494,6 +76924,7 @@ can region
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err69_label_backspace
 ! err69_label_backspace
 ! Ticket 2203:  \\ before a character backspaces before
@@ -75505,6 +76936,7 @@ label .5 .5 0 0 1 "El Nin\\^@MA45 at SRo\!"
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err69_isready_and_regridding
 ! err69_isready_and_regridding.jnl
 ! Ticket 2204: A `var,return=isready` sends Ferret into a hanged
@@ -75550,6 +76982,7 @@ ENDIF
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err69_vtree_and_uvar_regrid
 ! err69_vtree_and_uvar_regrid.jnl
 ! Ticket 2206: This lead to a crash.
@@ -75575,6 +77008,7 @@ c is ready and AVAILABLE
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err69_vtree_cancel_axis
 ! err69_vtree_cancel_axis
 ! Ticket 2201: After a return=isready,
@@ -75602,6 +77036,7 @@ cancel axis xax2
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err69_isready_bugs
 ! err69_isready_bugs.jnl
 ! Tickets 2201 and 2215
@@ -75653,6 +77088,7 @@ m
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err691_substring_arg
 ! err693_substring_arg
 ! ACM 12/10/2014
@@ -75741,7 +77177,7 @@ variables:
 		:geospatial_lat_max = 29.07 ;
 		:time_coverage_start = "2006-06-10T23:48:00Z" ;
 		:time_converage_end = "2006-06-11T00:12:00Z" ;
-		:history = "FERRET V7.1   9-Feb-17" ;
+		:history = "FERRET V7.2  DD-MON-YY" ;
 }
  
 set mode/last upcase
@@ -75834,7 +77270,7 @@ variables:
 		lon360:history = "added to test_save_dsg.nc" ;
 
 // global attributes:
-		:history = "CruiseDsgNcFile 1.0FERRET V7.1   9-Feb-17" ;
+		:history = "CruiseDsgNcFile 1.0FERRET V7.2  DD-MON-YY" ;
 		:featureType = "Trajectory" ;
 		:Conventions = "Some other conventionsCF-1.6" ;
 		:geospatial_lon_min = -92.77 ;
@@ -75861,7 +77297,7 @@ can dat/all; use anew_global.nc
 sh att .
      attributes for dataset: ./anew_global.nc
  ..history = Subset of etopo20,
- FERRET V7.1   9-Feb-17 
+ FERRET V7.2  DD-MON-YY 
  ..Conventions = Existing conventions note, , CF-1.6 
  
  
@@ -75891,7 +77327,7 @@ can dat/all; use conventions_history
 ! The new attibutes
 sh att .
      attributes for dataset: ./conventions_history.nc
- ..history = The history of the fileFERRET V7.1   9-Feb-17 
+ ..history = The history of the fileFERRET V7.2  DD-MON-YY 
  ..Conventions = Conventions for variables named V2CF-1.6 
 *** Running ferret script: bn_center_key_labels.jnl
 ! bn_center_key_labels
@@ -76859,6 +78295,7 @@ set mode/last ignore
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err693_upcase_quoted_name
 ! err693_upcase_quoted_name.jnl
 ! ticket 2050. Names are saved in uppercase
@@ -76883,6 +78320,7 @@ set mode/last upcase
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err693_isready_hang
 ! err693_isready_hang.jnl
 ! ACM 12/10/2014
@@ -76910,6 +78348,7 @@ IF `a,r=isready` THEN; let/title="`a,r=title`" a5 = a; ENDIF
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err693_isready_dyn_grid_crash   ! 12/23/2014
 let/unit="m" b = x[gx=1:5:1]
 say "`b,r=unit`"     ! this causes dynamic grid of b to be created
@@ -76925,6 +78364,7 @@ VTREE b2
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err693_attr_in_gcfcn
 ! err693_attr_in_gcfcn.jnl
 ! ACM 12/10/2014
@@ -76964,6 +78404,7 @@ list is_element_of_str (a, {"Kelvin", "Celsius", "DEG C"})
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err693_inconsistent_quote
 ! inconsistent interpretation of surrounding double quotes
 ! the original source of the problem is in PARSE_COMMAND
@@ -76985,6 +78426,7 @@ LIST "foobar"           ! error: lists the value instead
 ! IF-THEN flow tests
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err693_if_then_flow_2214
 ! bug 2214
 ! If we put the "say hi" in parentheses, this seems to work.
@@ -77016,6 +78458,7 @@ CORRECT
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err693_if_then_flow_2211
 ! bug #2211
  
@@ -77026,6 +78469,7 @@ ELSE
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err693_if_then_flow_1860
 ! from bug 1860
 ! continue line found within grave accents
@@ -77041,6 +78485,7 @@ CORRECT IF THIS DISPLAYS
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err693_if_then_flow_1446
 ! testing ticket 1446
  
@@ -77055,6 +78500,7 @@ ENDIF
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err693_if_then_flow_1681
 ! testing ticker 1681
  
@@ -77083,6 +78529,7 @@ endif
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err693_if_then_flow_1706
 ! testing ticket 1706
 !
@@ -77099,6 +78546,7 @@ ENDIF
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err693_if_then_flow_1368   ! Jan 28, 2010, Ferret version 5.812
 ! testing ticket 1368 - first found in Ferret v5.812 (Jan 28, 2010)
  
@@ -77131,6 +78579,7 @@ ENDIF
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err693_ribbon_start_missing
 ! err693_ribbon_start_missing
 ! 1/6/2015 ACM
@@ -77181,6 +78630,7 @@ let vvar = {,1.e7,,271,319}
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err691_pt_in_poly
 ! err691_pt_in_poly
 ! ticket 1961: modulo longitude for pt_in_poly
@@ -77229,6 +78679,7 @@ list minmax(pts)
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err693_undetected_regrid_dset
 ! err693_undetected_regrid_dset.jnl    - Jan 2015
  
@@ -77248,11 +78699,12 @@ set mode/last ignore
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err693_line_over_axis
 ! Ticket 2232: line plots overlaid the plot axes
 show mode meta
       MODE            STATE        ARGUMENT
-      METAFILE      CANCELLED      .gif
+      METAFILE      CANCELED       .gif
 ! line plot with /VS draw on top of the axes
 let xval = {0.0, 0.2, 1.0, 0.8, 0}
 let yval = {0.0, 1.1, 1.1, 0.0, 0}
@@ -77266,6 +78718,7 @@ plot/ribbon/vs/line/thick=3/over/nolab/pal=green_light xval, yval, yval
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err693_save_packed
 ! err693_save_packed.jnl
 ! ticket 2240: bug writing multiple vars with one SAVE when scaled
@@ -77277,6 +78730,7 @@ save/clobber/file=a.nc QA_OF_SEAICE_CONC_CDR, GODDARD_MERGED_SEAICE_CONC
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err693_subspan_trans
 ! err693_subspan_trans
 ! bug 2241  3/9/2015
@@ -77291,31 +78745,31 @@ let b = a[x=@min]
  
 set mode diag
 say `a[x=@min]`
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GSI1            COADSX51_1NORMAL    NORMAL    NORMAL
- eval    EX#1     C:  4 dset:   2 I:    0   83  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  4 dset:   2 I:      0     83  J: -999 -999  K: -999 -999  L:   -999   -999
  strip --> A[X=25E:25E(385)@MIN,D=2]
- strip modulo-void-filling A on X axis:     0    83 dset:   2
- strip moduloing A on X axis:     0    82 dset:   2
- reading A        M:  5 dset:   2 I:    1   82  J: -999 -999  K: -999 -999  L: -999 -999
- doing moduloing A on X axis:     1    82 dset:   2
- doing modulo-void-filling A on X axis:     0    82 dset:   2
+ strip modulo-void-filling A on X axis:        0       83 dset:   2
+ strip moduloing A on X axis:        0       82 dset:   2
+ reading A        M:  5 dset:   2 I:      1     82  J: -999 -999  K: -999 -999  L:   -999   -999
+ doing moduloing A on X axis:        1       82 dset:   2
+ doing modulo-void-filling A on X axis:        0       82 dset:   2
  doing --> A[X=25E:25E(385)@MIN,D=2]
- -DELETE A        M:  4 dset:   2 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
+ -DELETE A        M:  2 dset:   2 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
  !-> MESSAGE/CONTINUE 25.27740573883057
 25.27740573883057
  
 ! This previously resulted in an error.
 say `b`
  dealloc  dynamic grid GSI1            COADSX51_1NORMAL    NORMAL    NORMAL
- getgrid EX#1     C:  5 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid B        C:  7 dset:   2 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid B        C:  7 dset:   2 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GSI1            COADSX51_1NORMAL    NORMAL    NORMAL
  allocate dynamic grid GSI1            COADSX51_1NORMAL    NORMAL    NORMAL
- eval    EX#1     C:  4 dset:   2 I:    0   83  J: -999 -999  K: -999 -999  L: -999 -999
- eval    B        C:  6 dset:   2 I:    0   83  J: -999 -999  K: -999 -999  L: -999 -999
- found   A        M:  7 dset:   2 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- -DELETE B        M: 11 dset:   2 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
+ eval    EX#1     C:  4 dset:   2 I:      0     83  J: -999 -999  K: -999 -999  L:   -999   -999
+ eval    B        C:  6 dset:   2 I:      0     83  J: -999 -999  K: -999 -999  L:   -999   -999
+ found   A        M:  7 dset:   2 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
+ -DELETE B        M: 11 dset:   2 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
  !-> MESSAGE/CONTINUE 25.27740573883057
 25.27740573883057
  
@@ -77351,6 +78805,7 @@ bad
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err693_repeat_err
 !   err693_repeat_err.jnl
 ! test fix for ticket 2244: Error handling in REPEAT
@@ -77382,6 +78837,7 @@ set mode/last ignore
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err693_edit_useratt
 ! err693_edit_useratt.jnl
 ! ticket 2249: set attribute properties for user-defined variable
@@ -77441,6 +78897,7 @@ list/x=135.402W:135.321W/y=58.609 elev
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err693_redef_rec_axis
 ! err693_redef_rec_axis.jnl
 ! ticket 2271. Redefining the record axis meant
@@ -77475,6 +78932,7 @@ show data/full
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err693_frame_types
 ! bn_frame_types.jnl
 ! Ticket 2275
@@ -77499,6 +78957,7 @@ set mode/last ignore
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err693_shape
 ! err693_shape.jnl
 ! bug 2273 shape of variable with various subexpressions
@@ -77523,6 +78982,7 @@ say `sst,r=isize`  `a,r=isize` `a_anom,r=isize`
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err693_ef_axis_precision
  ! NOAA/PMEL TMAP
  ! FERRET v6.94
@@ -77554,6 +79014,7 @@ q
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err693_string_results
 ! err693_string_results.jnl
 ! Ticket 2234, the LIST B returned the numeric pointer to the string.
@@ -77575,6 +79036,7 @@ list d
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err693_lev_nv_over
 ! err693_lev_nv_over.jnl
 ! The polygon command with /LEV=20V caused a crash; levels settings incorrect.
@@ -77595,6 +79057,7 @@ GO polymark polygon/over/lev=20v/key/title="SST"  xpts,ypts,sst,square, 0.5
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err693_fcn_of_attvar
 ! err693_fcn_of_attvar.jnl
 ! Ticket 2291 Function of attribute-expression
@@ -77646,6 +79109,7 @@ list ysequence(dncase(sst.dimnames))
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err693_isize_and_gcfcn
 ! err693_isize_and_gcfcn.jnl
 ! ticket 2213
@@ -77657,7 +79121,7 @@ can mode verify
 8
     GRID XABSTRACT
  name       axis              # pts   start                end                 subset
- ABSTRACT  X             99999999 r   1                    1.E+08              7 pts
+ ABSTRACT  X             99999999 r   1                    1.E+08              8 pts
  normal    Y
  normal    Z
  normal    T
@@ -77703,6 +79167,7 @@ can mode verify
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err693_ribbon_scale
 ! err693_ribbon_scale.jnl
 ! ticket 2295: the vertical scale is mis-computed
@@ -77715,11 +79180,12 @@ plot/ribbon/key var,color
 ! should be -82 to -80
 sh sym yaxis*
 YAXIS_REVERSED = "0"
-YAXIS_MIN = "-82.0000000"
-YAXIS_MAX = "-80.0000000"
+YAXIS_MIN = "-72.9000000"
+YAXIS_MAX = "-89.1000000"
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err693_parse_curly
 ! err693_parse_curly.jnl
 ! the sub-routine defines a string variable containing commands for overlays in
@@ -77833,6 +79299,7 @@ define symbol overcommands = `p1s_ov`
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err693_list_missing
 ! err693_list_missing.jnl
  
@@ -77854,6 +79321,7 @@ list a,b
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err693_shf_subscr
 ! err693_shf_subscr.jnl
 ! ticket 2231  Subscripts used to compute @SHF-1 at the low end of the axis
@@ -77896,6 +79364,7 @@ list/k=3:4 zdiff_t
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err693_shift_w_region
 ! err693_shift_w_region
 ! Ticket 2300.  In fact with bounds checking on, the list a[i=@shf] would have
@@ -77929,6 +79398,7 @@ list a[i=@shf]
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err693_scalar_grids
 ! err693_scalar_grids.jnl
 ! See ticket 1602
@@ -78650,16 +80120,19 @@ say ($a)
 foobar
  
 ! ======
+! Note this result changes 6/30/2017, due to change in merge_grid for ticket
+! 2313, in grid-merging the grid of a constant is now a normal grid. Previously
+! it was the abstract grid.
 DEFINE SYMBOL a    "(`foobar,return=xaxis`)"
- !-> DEFINE SYMBOL a    "(ABSTRACT)"
+ !-> DEFINE SYMBOL a    "(NORMAL)"
 say ($a)
- !-> MESSAGE/CONTINUE (ABSTRACT)
-(ABSTRACT)
+ !-> MESSAGE/CONTINUE (NORMAL)
+(NORMAL)
 DEFINE SYMBOL a _DQ_(`foobar,return=xaxis`)_DQ_
- !-> DEFINE SYMBOL a _DQ_(ABSTRACT)_DQ_
+ !-> DEFINE SYMBOL a _DQ_(NORMAL)_DQ_
 say ($a)
- !-> MESSAGE/CONTINUE (ABSTRACT)
-(ABSTRACT)
+ !-> MESSAGE/CONTINUE (NORMAL)
+(NORMAL)
  
 ! ======
 GO bn_DQ.sub _DQ_+-/_SQ_\!foo"bar;_SQ_"_DQ_    "_DQ_+-/_SQ_\!foobar;_SQ_"
@@ -78921,6 +80394,7 @@ plot/vlim=-2:2/hlim=_DQ_1-jan-1980_DQ_:_DQ_15-feb-1980:12:00_DQ_ \
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err694_shf_missing
 ! err694_shf_missing.jnl
 ! Test the fix for ticket 2314
@@ -78978,6 +80452,7 @@ list/x=10:30/y=-60/l=1  sst[i=@shf:3]
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err694_longname_showdat
 ! err694_longname_showdat.jnl
 ! ticket 2317
@@ -79026,6 +80501,7 @@ sp rm WestCoastCarbon_9d9c_f562_77b5_5.nc
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err693_std4d
 ! err693_std4d
 ! Check fix to ticket 2319: std transform in multi-dimensions
@@ -79351,7 +80827,7 @@ use "run4.nc"
 define data/hide/F/agg fourfiles = 1,2,3,4
  
 sh grid sst
-    GRID (G007)
+    GRID (G###)
  name       axis              # pts   start                end                 subset
  LON       LONGITUDE           10mr   109W                 91W                 full
  LAT       LATITUDE             9 r   13N                  29N                 full
@@ -79667,7 +81143,7 @@ ppl list labels
           XPOS       YPOS     HGT   ROT   UNITS
  LAB 1  0.000E+00  6.600E+00 0.120    0  SYSTEM  @ASX : 0.5 to 2.5
  LINE PT:    0.000E+00 0.000E+00  NO LINE     LEFT   JUSTIFY LABEL
- LAB 2 -1.313E+00 -1.000E+00 0.500  -90  USER    X
+ LAB 2 -1.312E+00 -1.000E+00 0.500  -90  USER    X
  LINE PT:    0.000E+00 0.000E+00  NO LINE     CENTER JUSTIFY LABEL
  LAB 3  0.000E+00 -8.333E-01 0.500    0  USER    X
  LINE PT:    0.000E+00 0.000E+00  NO LINE     CENTER JUSTIFY LABEL
@@ -79906,7 +81382,7 @@ SHOW GRID
  name       axis              # pts   start                end                 subset
  XAXLEVITR101_102 LONGITUDE     2mr   120.5E               121.5E              full
  YAXLEVITR41_42 LATITUDE        2 r   49.5S                48.5S               full
- ZAXLEVITR DEPTH (m)           20 i-  0                    5000                10 pts
+ ZAXLEVITR DEPTH (m)           20 i-  0                    5000                11 pts
  normal    T
  
 ! use aux var regridding.  Target coordinate points match the source points
@@ -79918,32 +81394,32 @@ SET MODE diagnostic
 LET tempz = temp[gz(depth)=zpts]
 LIST/PREC=7 tempz
  dealloc  dynamic grid GAO1            XAXLEVITR1YAXLEVITR4ZAXLEVITR NORMAL
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid TEMPZ    C:  7 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid DEPTH    C:  9 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid TEMPZ    C:  7 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid DEPTH    C:  9 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
  allocate dynamic grid GAO1            XAXLEVITR1YAXLEVITR4ZAXLEVITR NORMAL
- getgrid ZPTS     C:  9 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G003)          NORMAL    NORMAL    (AX005)   NORMAL
- dealloc  dynamic grid (G003)          NORMAL    NORMAL    (AX005)   NORMAL
- allocate dynamic grid (G003)          NORMAL    NORMAL    (AX005)   NORMAL
- allocate dynamic grid (G002)          XAXLEVITR1YAXLEVITR4(AX005)   NORMAL
- dealloc  dynamic grid (G002)          XAXLEVITR1YAXLEVITR4(AX005)   NORMAL
- allocate dynamic grid (G002)          XAXLEVITR1YAXLEVITR4(AX005)   NORMAL
- allocate dynamic grid (G002)          XAXLEVITR1YAXLEVITR4(AX005)   NORMAL
- eval    EX#1     C:  4 dset:   1 I:    1    2  J:    1    2  K:    1    5  L: -999 -999
- eval    TEMPZ    C:  6 dset:   1 I:    1    2  J:    1    2  K:    1    5  L: -999 -999
- allocate dynamic grid (G002)          XAXLEVITR1YAXLEVITR4(AX005)   NORMAL
- strip regrid on Z: TEMP --> (G002)           @LIN
- eval    DEPTH    C:  9 dset:   1 I:    1    2  J:    1    2  K:    1   20  L: -999 -999
- pseudo  Z        M:  1 dset:   1 I: -999 -999  J: -999 -999  K:    1   20  L: -999 -999
- constan cnst     M:  3 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- found   TEMP     M:  2 dset:   1 I:    1    2  J:    1    2  K:    1   11  L: -999 -999
- -DELETE cnst     M:  3 dset:   0 I: -999 -999  J: -999 -999  K: -999 -999  L: -999 -999
- -DELETE tpry     M:  4 dset:   0 I:    1    2  J:    1    2  K:    1    1  L: -999 -999  M: -999 -999  N: -999 -999
- -DELETE Z        M:  1 dset:   1 I: -999 -999  J: -999 -999  K:    1   20  L: -999 -999
- reading TEMP     M:  1 dset:   1 I:    1    2  J:    1    2  K:    7   12  L: -999 -999
- auxgrd  TEMP     M:  4 dset:   1 I:    1    2  J:    1    2  K:    1    5  L: -999 -999
- dealloc  dynamic grid (G002)          XAXLEVITR1YAXLEVITR4(AX005)   NORMAL
+ getgrid ZPTS     C:  9 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G###)          NORMAL    NORMAL    (AX###)   NORMAL
+ dealloc  dynamic grid (G###)          NORMAL    NORMAL    (AX###)   NORMAL
+ allocate dynamic grid (G###)          NORMAL    NORMAL    (AX###)   NORMAL
+ allocate dynamic grid (G###)          XAXLEVITR1YAXLEVITR4(AX###)   NORMAL
+ dealloc  dynamic grid (G###)          XAXLEVITR1YAXLEVITR4(AX###)   NORMAL
+ allocate dynamic grid (G###)          XAXLEVITR1YAXLEVITR4(AX###)   NORMAL
+ allocate dynamic grid (G###)          XAXLEVITR1YAXLEVITR4(AX###)   NORMAL
+ eval    EX#1     C:  4 dset:   1 I:      1      2  J:    1    2  K:    1    5  L:   -999   -999
+ eval    TEMPZ    C:  6 dset:   1 I:      1      2  J:    1    2  K:    1    5  L:   -999   -999
+ allocate dynamic grid (G###)          XAXLEVITR1YAXLEVITR4(AX###)   NORMAL
+ strip regrid on Z: TEMP --> (G###)           @LIN
+ eval    DEPTH    C:  9 dset:   1 I:      1      2  J:    1    2  K:    1   20  L:   -999   -999
+ pseudo  Z        M:  1 dset:   1 I:   -999   -999  J: -999 -999  K:    1   20  L:   -999   -999
+ constan cnst     M:  3 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
+ found   TEMP     M:  2 dset:   1 I:      1      2  J:    1    2  K:    1   11  L:   -999   -999
+ -DELETE cnst     M:  3 dset:   0 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
+ -DELETE tpry     M:  4 dset:   0 I:      1      2  J:    1    2  K:    1    1  L:   -999   -999  M: -999 -999  N: -999 -999
+ -DELETE Z        M:  1 dset:   1 I:   -999   -999  J: -999 -999  K:    1   20  L:   -999   -999
+ reading TEMP     M:  1 dset:   1 I:      1      2  J:    1    2  K:    7   12  L:   -999   -999
+ auxgrd  TEMP     M:  4 dset:   1 I:      1      2  J:    1    2  K:    1    5  L:   -999   -999
+ dealloc  dynamic grid (G###)          XAXLEVITR1YAXLEVITR4(AX###)   NORMAL
              VARIABLE : TEMP[GZ(DEPTH)=ZPTS]
              FILENAME : levitus_3d_subset.nc
              SUBSET   : 2 by 2 by 5 points (LONGITUDE-LATITUDE-Z)
@@ -79965,14 +81441,14 @@ LIST/PREC=7 tempz
  48.5S / 2:  5.835500  6.045001
  49.5S / 1:  4.879000  5.102500
 SHOW GRID tempz
- dealloc  dynamic grid (G002)          XAXLEVITR1YAXLEVITR4(AX005)   NORMAL
- getgrid EX#1     C:  7 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G002)          XAXLEVITR1YAXLEVITR4(AX005)   NORMAL
-    GRID (G002)
+ dealloc  dynamic grid (G###)          XAXLEVITR1YAXLEVITR4(AX###)   NORMAL
+ getgrid EX#1     C:  7 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G###)          XAXLEVITR1YAXLEVITR4(AX###)   NORMAL
+    GRID (G###)
  name       axis              # pts   start                end                 subset
  XAXLEVITR101_102 LONGITUDE     2mr   120.5E               121.5E              full
  YAXLEVITR41_42 LATITUDE        2 r   49.5S                48.5S               full
- (AX005)   Z                    5 r   100                  500                 full
+ (AX###)   Z                    5 r   100                  500                 full
  normal    T
 !LET tempz = temp[gz=zpts,layerz]  ! same regrid using semi-automated notation
 !LIST/PREC=7 tempz
@@ -80016,7 +81492,7 @@ LIST tempzax
  48.5S / 2:  5.835  6.045
  49.5S / 1:  4.879  5.102
 SHOW GRID tempzax
-    GRID (G004)
+    GRID (G###)
  name       axis              # pts   start                end                 subset
  XAXLEVITR101_102 LONGITUDE     2mr   120.5E               121.5E              full
  YAXLEVITR41_42 LATITUDE        2 r   49.5S                48.5S               full
@@ -80050,11 +81526,11 @@ LIST/PREC=7 tempz_alt
  48.5S / 2:  7.726000  7.917999
  49.5S / 1:  6.843000  7.021999
 SHOW GRID tempz_alt
-    GRID (G005)
+    GRID (G###)
  name       axis              # pts   start                end                 subset
  XAXLEVITR101_102 LONGITUDE     2mr   120.5E               121.5E              full
  YAXLEVITR41_42 LATITUDE        2 r   49.5S                48.5S               full
- (AX007)   Z                    5 r   2                    10                  4 pts
+ (AX###)   Z                    5 r   2                    10                  5 pts
  normal    T
  
 !! do same regrid using the shorhand semi-automated notation
@@ -80075,11 +81551,11 @@ LIST/PREC=7 tempz_1pt
  48.5S / 2:  7.725600  7.917999
  49.5S / 1:  6.836600  7.016000
 SHOW GRID/z tempz_1pt
-    GRID (G006)
+    GRID (G###)
  name       axis              # pts   start                end                 subset
  XAXLEVITR101_102 LONGITUDE     2mr   120.5E               121.5E              full
  YAXLEVITR41_42 LATITUDE        2 r   49.5S                48.5S               full
- (AX008)   Z                    1 r   6                    6                   1 pt
+ (AX###)   Z                    1 r   6                    6                   1 pt
  normal    T
  
        K     Z                   ZBOX      ZBOXLO
@@ -80138,7 +81614,7 @@ LIST/PREC=7 rvtempzax - tempz
  48.5S / 2:  0.0000000  0.0000000
  49.5S / 1:  0.0000000  0.0000000
 SHOW GRID rvtempzax
-    GRID (G004)
+    GRID (G###)
  name       axis              # pts   start                end                 subset
  XAXLEVITR101_102 LONGITUDE     2mr   120.5E               121.5E              full
  YAXLEVITR41_42 LATITUDE        2 r   49.5S                48.5S               full
@@ -81331,7 +82807,7 @@ LIST/PREC=7 rvtempzaxave - tempz
  48.5S / 2:  0.00000000  0.00000000
  49.5S / 1:  0.00000000  0.00000000
 SHOW GRID/z rvtempzaxave
-    GRID (G004)
+    GRID (G###)
  name       axis              # pts   start                end                 subset
  XAXLEVITR101_102 LONGITUDE     2mr   120.5E               121.5E              full
  YAXLEVITR41_42 LATITUDE        2 r   49.5S                48.5S               full
@@ -81398,7 +82874,7 @@ list temp[gz(density)=5:65:2.5]
  15   /  5:   2.50   2.50   ....   2.50   ....
  17.5 /  6:   3.25   3.25   ....   3.25   ....
  20   /  7:   4.00   ....   ....   4.00   ....
- 22.5 /  8:   5.25   ....   7.13   5.25   ....
+ 22.5 /  8:   5.25   ....   7.12   5.25   ....
  25   /  9:   6.50   ....   7.75   6.50   ....
  27.5 / 10:   7.75   ....   8.38   7.75   ....
  30   / 11:   9.00   ....   9.00   ....   9.00
@@ -81469,7 +82945,7 @@ list btemp[gz(bdensity)=5:65:2.5]
  15   /  5:   2.50   2.50   ....   2.50   ....
  17.5 /  6:   3.25   3.25   ....   3.25   ....
  20   /  7:   4.00   ....   ....   4.00   ....
- 22.5 /  8:   5.25   ....   7.13   5.25   ....
+ 22.5 /  8:   5.25   ....   7.12   5.25   ....
  25   /  9:   6.50   ....   7.75   6.50   ....
  27.5 / 10:   7.75   ....   8.38   7.75   ....
  30   / 11:   9.00   ....   9.00   ....   9.00
@@ -81634,7 +83110,7 @@ list/order=($pax1)($aax)($REG1) temp[($gax)(density)=5:80:5]  ! passive ax 1
  40   /  8:  16.00  22.00  16.00   ....  16.00
  45   /  9:  20.50  23.50  20.50   ....  20.50
  50   / 10:  25.00  25.00  25.00   ....  25.00
- 55   / 11:  30.50  30.50  30.50  44.13  30.50
+ 55   / 11:  30.50  30.50  30.50  44.12  30.50
  60   / 12:  36.00  36.00  36.00  45.75  36.00
  65   / 13:  42.50  42.50  42.50  47.38  42.50
  70   / 14:  49.00  49.00  49.00  49.00  49.00
@@ -81661,7 +83137,7 @@ list/order=($pax2)($aax)($REG2) temp[($gax)(density)=5:80:5]  ! passive ax 2
  40   /  8:  16.00  22.00  16.00   ....  16.00
  45   /  9:  20.50  23.50  20.50   ....  20.50
  50   / 10:  25.00  25.00  25.00   ....  25.00
- 55   / 11:  30.50  30.50  30.50  44.13  30.50
+ 55   / 11:  30.50  30.50  30.50  44.12  30.50
  60   / 12:  36.00  36.00  36.00  45.75  36.00
  65   / 13:  42.50  42.50  42.50  47.38  42.50
  70   / 14:  49.00  49.00  49.00  49.00  49.00
@@ -81688,7 +83164,7 @@ list/order=($pax1)($aax)($REG1) btemp[($gax)(bdensity)=5:80:5]  ! backwards pasv
  40   /  8:  16.00  22.00  16.00   ....  16.00
  45   /  9:  20.50  23.50  20.50   ....  20.50
  50   / 10:  25.00  25.00  25.00   ....  25.00
- 55   / 11:  30.50  30.50  30.50  44.13  30.50
+ 55   / 11:  30.50  30.50  30.50  44.12  30.50
  60   / 12:  36.00  36.00  36.00  45.75  36.00
  65   / 13:  42.50  42.50  42.50  47.38  42.50
  70   / 14:  49.00  49.00  49.00  49.00  49.00
@@ -81715,7 +83191,7 @@ list/order=($pax2)($aax)($REG2) btemp[($gax)(bdensity)=5:80:5]  ! backwards pasv
  40   /  8:  16.00  22.00  16.00   ....  16.00
  45   /  9:  20.50  23.50  20.50   ....  20.50
  50   / 10:  25.00  25.00  25.00   ....  25.00
- 55   / 11:  30.50  30.50  30.50  44.13  30.50
+ 55   / 11:  30.50  30.50  30.50  44.12  30.50
  60   / 12:  36.00  36.00  36.00  45.75  36.00
  65   / 13:  42.50  42.50  42.50  47.38  42.50
  70   / 14:  49.00  49.00  49.00  49.00  49.00
@@ -81949,7 +83425,7 @@ list/order=($pax1)($aax)($REG1) temp[($gax)(density)=5:80:5]  ! passive ax 1
  40   /  8:  16.00  22.00  16.00   ....  16.00
  45   /  9:  20.50  23.50  20.50   ....  20.50
  50   / 10:  25.00  25.00  25.00   ....  25.00
- 55   / 11:  30.50  30.50  30.50  44.13  30.50
+ 55   / 11:  30.50  30.50  30.50  44.12  30.50
  60   / 12:  36.00  36.00  36.00  45.75  36.00
  65   / 13:  42.50  42.50  42.50  47.38  42.50
  70   / 14:  49.00  49.00  49.00  49.00  49.00
@@ -81976,7 +83452,7 @@ list/order=($pax2)($aax)($REG2) temp[($gax)(density)=5:80:5]  ! passive ax 2
  40   /  8:  16.00  22.00  16.00   ....  16.00
  45   /  9:  20.50  23.50  20.50   ....  20.50
  50   / 10:  25.00  25.00  25.00   ....  25.00
- 55   / 11:  30.50  30.50  30.50  44.13  30.50
+ 55   / 11:  30.50  30.50  30.50  44.12  30.50
  60   / 12:  36.00  36.00  36.00  45.75  36.00
  65   / 13:  42.50  42.50  42.50  47.38  42.50
  70   / 14:  49.00  49.00  49.00  49.00  49.00
@@ -82003,7 +83479,7 @@ list/order=($pax1)($aax)($REG1) btemp[($gax)(bdensity)=5:80:5]  ! backwards pasv
  40   /  8:  16.00  22.00  16.00   ....  16.00
  45   /  9:  20.50  23.50  20.50   ....  20.50
  50   / 10:  25.00  25.00  25.00   ....  25.00
- 55   / 11:  30.50  30.50  30.50  44.13  30.50
+ 55   / 11:  30.50  30.50  30.50  44.12  30.50
  60   / 12:  36.00  36.00  36.00  45.75  36.00
  65   / 13:  42.50  42.50  42.50  47.38  42.50
  70   / 14:  49.00  49.00  49.00  49.00  49.00
@@ -82030,7 +83506,7 @@ list/order=($pax2)($aax)($REG2) btemp[($gax)(bdensity)=5:80:5]  ! backwards pasv
  40   /  8:  16.00  22.00  16.00   ....  16.00
  45   /  9:  20.50  23.50  20.50   ....  20.50
  50   / 10:  25.00  25.00  25.00   ....  25.00
- 55   / 11:  30.50  30.50  30.50  44.13  30.50
+ 55   / 11:  30.50  30.50  30.50  44.12  30.50
  60   / 12:  36.00  36.00  36.00  45.75  36.00
  65   / 13:  42.50  42.50  42.50  47.38  42.50
  70   / 14:  49.00  49.00  49.00  49.00  49.00
@@ -82250,7 +83726,7 @@ CANC MODE VERIFY
  40   /  8:  16.00  22.00  16.00   ....  16.00
  45   /  9:  20.50  23.50  20.50   ....  20.50
  50   / 10:  25.00  25.00  25.00   ....  25.00
- 55   / 11:  30.50  30.50  30.50  44.13  30.50
+ 55   / 11:  30.50  30.50  30.50  44.12  30.50
  60   / 12:  36.00  36.00  36.00  45.75  36.00
  65   / 13:  42.50  42.50  42.50  47.38  42.50
  70   / 14:  49.00  49.00  49.00  49.00  49.00
@@ -82275,7 +83751,7 @@ CANC MODE VERIFY
  40   /  8:  16.00  22.00  16.00   ....  16.00
  45   /  9:  20.50  23.50  20.50   ....  20.50
  50   / 10:  25.00  25.00  25.00   ....  25.00
- 55   / 11:  30.50  30.50  30.50  44.13  30.50
+ 55   / 11:  30.50  30.50  30.50  44.12  30.50
  60   / 12:  36.00  36.00  36.00  45.75  36.00
  65   / 13:  42.50  42.50  42.50  47.38  42.50
  70   / 14:  49.00  49.00  49.00  49.00  49.00
@@ -82300,7 +83776,7 @@ CANC MODE VERIFY
  40   /  8:  16.00  22.00  16.00   ....  16.00
  45   /  9:  20.50  23.50  20.50   ....  20.50
  50   / 10:  25.00  25.00  25.00   ....  25.00
- 55   / 11:  30.50  30.50  30.50  44.13  30.50
+ 55   / 11:  30.50  30.50  30.50  44.12  30.50
  60   / 12:  36.00  36.00  36.00  45.75  36.00
  65   / 13:  42.50  42.50  42.50  47.38  42.50
  70   / 14:  49.00  49.00  49.00  49.00  49.00
@@ -82325,7 +83801,7 @@ CANC MODE VERIFY
  40   /  8:  16.00  22.00  16.00   ....  16.00
  45   /  9:  20.50  23.50  20.50   ....  20.50
  50   / 10:  25.00  25.00  25.00   ....  25.00
- 55   / 11:  30.50  30.50  30.50  44.13  30.50
+ 55   / 11:  30.50  30.50  30.50  44.12  30.50
  60   / 12:  36.00  36.00  36.00  45.75  36.00
  65   / 13:  42.50  42.50  42.50  47.38  42.50
  70   / 14:  49.00  49.00  49.00  49.00  49.00
@@ -82519,7 +83995,7 @@ CANC MODE VERIFY
  40   /  8:  16.00  22.00  16.00   ....  16.00
  45   /  9:  20.50  23.50  20.50   ....  20.50
  50   / 10:  25.00  25.00  25.00   ....  25.00
- 55   / 11:  30.50  30.50  30.50  44.13  30.50
+ 55   / 11:  30.50  30.50  30.50  44.12  30.50
  60   / 12:  36.00  36.00  36.00  45.75  36.00
  65   / 13:  42.50  42.50  42.50  47.38  42.50
  70   / 14:  49.00  49.00  49.00  49.00  49.00
@@ -82544,7 +84020,7 @@ CANC MODE VERIFY
  40   /  8:  16.00  22.00  16.00   ....  16.00
  45   /  9:  20.50  23.50  20.50   ....  20.50
  50   / 10:  25.00  25.00  25.00   ....  25.00
- 55   / 11:  30.50  30.50  30.50  44.13  30.50
+ 55   / 11:  30.50  30.50  30.50  44.12  30.50
  60   / 12:  36.00  36.00  36.00  45.75  36.00
  65   / 13:  42.50  42.50  42.50  47.38  42.50
  70   / 14:  49.00  49.00  49.00  49.00  49.00
@@ -82569,7 +84045,7 @@ CANC MODE VERIFY
  40   /  8:  16.00  22.00  16.00   ....  16.00
  45   /  9:  20.50  23.50  20.50   ....  20.50
  50   / 10:  25.00  25.00  25.00   ....  25.00
- 55   / 11:  30.50  30.50  30.50  44.13  30.50
+ 55   / 11:  30.50  30.50  30.50  44.12  30.50
  60   / 12:  36.00  36.00  36.00  45.75  36.00
  65   / 13:  42.50  42.50  42.50  47.38  42.50
  70   / 14:  49.00  49.00  49.00  49.00  49.00
@@ -82594,7 +84070,7 @@ CANC MODE VERIFY
  40   /  8:  16.00  22.00  16.00   ....  16.00
  45   /  9:  20.50  23.50  20.50   ....  20.50
  50   / 10:  25.00  25.00  25.00   ....  25.00
- 55   / 11:  30.50  30.50  30.50  44.13  30.50
+ 55   / 11:  30.50  30.50  30.50  44.12  30.50
  60   / 12:  36.00  36.00  36.00  45.75  36.00
  65   / 13:  42.50  42.50  42.50  47.38  42.50
  70   / 14:  49.00  49.00  49.00  49.00  49.00
@@ -82788,7 +84264,7 @@ CANC MODE VERIFY
  40   /  8:  16.00  22.00  16.00   ....  16.00
  45   /  9:  20.50  23.50  20.50   ....  20.50
  50   / 10:  25.00  25.00  25.00   ....  25.00
- 55   / 11:  30.50  30.50  30.50  44.13  30.50
+ 55   / 11:  30.50  30.50  30.50  44.12  30.50
  60   / 12:  36.00  36.00  36.00  45.75  36.00
  65   / 13:  42.50  42.50  42.50  47.38  42.50
  70   / 14:  49.00  49.00  49.00  49.00  49.00
@@ -82813,7 +84289,7 @@ CANC MODE VERIFY
  40   /  8:  16.00  22.00  16.00   ....  16.00
  45   /  9:  20.50  23.50  20.50   ....  20.50
  50   / 10:  25.00  25.00  25.00   ....  25.00
- 55   / 11:  30.50  30.50  30.50  44.13  30.50
+ 55   / 11:  30.50  30.50  30.50  44.12  30.50
  60   / 12:  36.00  36.00  36.00  45.75  36.00
  65   / 13:  42.50  42.50  42.50  47.38  42.50
  70   / 14:  49.00  49.00  49.00  49.00  49.00
@@ -82838,7 +84314,7 @@ CANC MODE VERIFY
  40   /  8:  16.00  22.00  16.00   ....  16.00
  45   /  9:  20.50  23.50  20.50   ....  20.50
  50   / 10:  25.00  25.00  25.00   ....  25.00
- 55   / 11:  30.50  30.50  30.50  44.13  30.50
+ 55   / 11:  30.50  30.50  30.50  44.12  30.50
  60   / 12:  36.00  36.00  36.00  45.75  36.00
  65   / 13:  42.50  42.50  42.50  47.38  42.50
  70   / 14:  49.00  49.00  49.00  49.00  49.00
@@ -82863,7 +84339,7 @@ CANC MODE VERIFY
  40   /  8:  16.00  22.00  16.00   ....  16.00
  45   /  9:  20.50  23.50  20.50   ....  20.50
  50   / 10:  25.00  25.00  25.00   ....  25.00
- 55   / 11:  30.50  30.50  30.50  44.13  30.50
+ 55   / 11:  30.50  30.50  30.50  44.12  30.50
  60   / 12:  36.00  36.00  36.00  45.75  36.00
  65   / 13:  42.50  42.50  42.50  47.38  42.50
  70   / 14:  49.00  49.00  49.00  49.00  49.00
@@ -83057,7 +84533,7 @@ CANC MODE VERIFY
  40   /  8:  16.00  22.00  16.00   ....  16.00
  45   /  9:  20.50  23.50  20.50   ....  20.50
  50   / 10:  25.00  25.00  25.00   ....  25.00
- 55   / 11:  30.50  30.50  30.50  44.13  30.50
+ 55   / 11:  30.50  30.50  30.50  44.12  30.50
  60   / 12:  36.00  36.00  36.00  45.75  36.00
  65   / 13:  42.50  42.50  42.50  47.38  42.50
  70   / 14:  49.00  49.00  49.00  49.00  49.00
@@ -83082,7 +84558,7 @@ CANC MODE VERIFY
  40   /  8:  16.00  22.00  16.00   ....  16.00
  45   /  9:  20.50  23.50  20.50   ....  20.50
  50   / 10:  25.00  25.00  25.00   ....  25.00
- 55   / 11:  30.50  30.50  30.50  44.13  30.50
+ 55   / 11:  30.50  30.50  30.50  44.12  30.50
  60   / 12:  36.00  36.00  36.00  45.75  36.00
  65   / 13:  42.50  42.50  42.50  47.38  42.50
  70   / 14:  49.00  49.00  49.00  49.00  49.00
@@ -83107,7 +84583,7 @@ CANC MODE VERIFY
  40   /  8:  16.00  22.00  16.00   ....  16.00
  45   /  9:  20.50  23.50  20.50   ....  20.50
  50   / 10:  25.00  25.00  25.00   ....  25.00
- 55   / 11:  30.50  30.50  30.50  44.13  30.50
+ 55   / 11:  30.50  30.50  30.50  44.12  30.50
  60   / 12:  36.00  36.00  36.00  45.75  36.00
  65   / 13:  42.50  42.50  42.50  47.38  42.50
  70   / 14:  49.00  49.00  49.00  49.00  49.00
@@ -83132,7 +84608,7 @@ CANC MODE VERIFY
  40   /  8:  16.00  22.00  16.00   ....  16.00
  45   /  9:  20.50  23.50  20.50   ....  20.50
  50   / 10:  25.00  25.00  25.00   ....  25.00
- 55   / 11:  30.50  30.50  30.50  44.13  30.50
+ 55   / 11:  30.50  30.50  30.50  44.12  30.50
  60   / 12:  36.00  36.00  36.00  45.75  36.00
  65   / 13:  42.50  42.50  42.50  47.38  42.50
  70   / 14:  49.00  49.00  49.00  49.00  49.00
@@ -83326,7 +84802,7 @@ CANC MODE VERIFY
  40   /  8:  16.00  22.00  16.00   ....  16.00
  45   /  9:  20.50  23.50  20.50   ....  20.50
  50   / 10:  25.00  25.00  25.00   ....  25.00
- 55   / 11:  30.50  30.50  30.50  44.13  30.50
+ 55   / 11:  30.50  30.50  30.50  44.12  30.50
  60   / 12:  36.00  36.00  36.00  45.75  36.00
  65   / 13:  42.50  42.50  42.50  47.38  42.50
  70   / 14:  49.00  49.00  49.00  49.00  49.00
@@ -83351,7 +84827,7 @@ CANC MODE VERIFY
  40   /  8:  16.00  22.00  16.00   ....  16.00
  45   /  9:  20.50  23.50  20.50   ....  20.50
  50   / 10:  25.00  25.00  25.00   ....  25.00
- 55   / 11:  30.50  30.50  30.50  44.13  30.50
+ 55   / 11:  30.50  30.50  30.50  44.12  30.50
  60   / 12:  36.00  36.00  36.00  45.75  36.00
  65   / 13:  42.50  42.50  42.50  47.38  42.50
  70   / 14:  49.00  49.00  49.00  49.00  49.00
@@ -83376,7 +84852,7 @@ CANC MODE VERIFY
  40   /  8:  16.00  22.00  16.00   ....  16.00
  45   /  9:  20.50  23.50  20.50   ....  20.50
  50   / 10:  25.00  25.00  25.00   ....  25.00
- 55   / 11:  30.50  30.50  30.50  44.13  30.50
+ 55   / 11:  30.50  30.50  30.50  44.12  30.50
  60   / 12:  36.00  36.00  36.00  45.75  36.00
  65   / 13:  42.50  42.50  42.50  47.38  42.50
  70   / 14:  49.00  49.00  49.00  49.00  49.00
@@ -83401,7 +84877,7 @@ CANC MODE VERIFY
  40   /  8:  16.00  22.00  16.00   ....  16.00
  45   /  9:  20.50  23.50  20.50   ....  20.50
  50   / 10:  25.00  25.00  25.00   ....  25.00
- 55   / 11:  30.50  30.50  30.50  44.13  30.50
+ 55   / 11:  30.50  30.50  30.50  44.12  30.50
  60   / 12:  36.00  36.00  36.00  45.75  36.00
  65   / 13:  42.50  42.50  42.50  47.38  42.50
  70   / 14:  49.00  49.00  49.00  49.00  49.00
@@ -83819,6 +85295,7 @@ LIST/X=165W/L=1 var1[j=1:40:2], var2[j=1:40:2]
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err695_bounds_match_axis
 ! err695_bounds_match_axis.jnl
 ! ticket 2321.
@@ -83847,6 +85324,7 @@ sh grid/l=1:4444 temp
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err695_show_dat_nodata
 ! err695_show_dat_nodata.jnl
 ! ticket 2322
@@ -83879,16 +85357,17 @@ SET MODE/LAST ignore
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err695_grave_prec
 ! err695_grave_prec
 ! Bug 2323. Large numbers had incorrect results on grave-accent
 ! evaluations, returning only 8 digits of precision
  
 list/nohead/p=16 1234567890123456, `1234567890123456`
- !-> list/nohead/p=16 1234567890123456,   1234567890123456.
+ !-> list/nohead/p=16 1234567890123456, 1234567890123456.
 I / *:     1234567890123456.  1234567890123456.
 list/nohead/p=16 -1234567890123.456, `-1234567890123.456`
- !-> list/nohead/p=16 -1234567890123.456,  -1234567890123.456
+ !-> list/nohead/p=16 -1234567890123.456, -1234567890123.456
 I / *:    -1234567890123.456 -1234567890123.456
  
 ! this was ok
@@ -83898,10 +85377,10 @@ I / *:     1.234567890123456  1.123456789012346
  
 ! check output when asking for lower precision
 list/nohead/p=9 1234567890123456, `1234567890123456`
- !-> list/nohead/p=9 1234567890123456,   1234567890123456.
+ !-> list/nohead/p=9 1234567890123456, 1234567890123456.
 I / *:     1.23456789E+15  1.23456789E+15
 list/nohead/p=6 1234567890123456, `1234567890123456`
- !-> list/nohead/p=6 1234567890123456,   1234567890123456.
+ !-> list/nohead/p=6 1234567890123456, 1234567890123456.
 I / *:     1.23457E+15  1.23457E+15
  
 let var = 1.23456e+34
@@ -83968,9 +85447,8 @@ LIST dest, var[G$1=dcoarse at ave], var[G$1=dcoarse at BIN], var[G$1=dcoarse at NBIN]
  
 LIST dest, var[G$1=dcoarse]
  !-> LIST dest, var[GX=dcoarse]
-             X: 0.5 to 5.5
- Column  1: DEST is _X[GX=DCOARSE]
- Column  2: VAR[G=1 delta on X] is RESHAPE(SBIN, _X[GX=IRR]) (regrid: 1 delta on X)
+ Column  1: DEST[X=0.5:5.5] is _X[GX=DCOARSE]
+ Column  2: VAR[G=1 delta on X,X=1.5:5.5] is RESHAPE(SBIN, _X[GX=IRR]) (regrid: 1 delta on X)
           DEST    VAR
 1   / 1:  1.000   ....
 2   / 2:  2.000   ....
@@ -84031,9 +85509,8 @@ LIST dest, var[G$1=dcoarse at ave], var[G$1=dcoarse at BIN], var[G$1=dcoarse at NBIN]
  
 LIST dest, var[G$1=dcoarse]
  !-> LIST dest, var[GY=dcoarse]
-             Y: 0.5 to 5.5
- Column  1: DEST is _Y[GY=DCOARSE]
- Column  2: VAR[G=1 delta on Y] is RESHAPE(SBIN, _Y[GY=IRR]) (regrid: 1 delta on Y)
+ Column  1: DEST[Y=0.5:5.5] is _Y[GY=DCOARSE]
+ Column  2: VAR[G=1 delta on Y,Y=1.5:5.5] is RESHAPE(SBIN, _Y[GY=IRR]) (regrid: 1 delta on Y)
           DEST    VAR
 1   / 1:  1.000   ....
 2   / 2:  2.000   ....
@@ -84094,9 +85571,8 @@ LIST dest, var[G$1=dcoarse at ave], var[G$1=dcoarse at BIN], var[G$1=dcoarse at NBIN]
  
 LIST dest, var[G$1=dcoarse]
  !-> LIST dest, var[GZ=dcoarse]
-             Z: 0.5 to 5.5
- Column  1: DEST is _Z[GZ=DCOARSE]
- Column  2: VAR[G=1 delta on Z] is RESHAPE(SBIN, _Z[GZ=IRR]) (regrid: 1 delta on Z)
+ Column  1: DEST[Z=0.5:5.5] is _Z[GZ=DCOARSE]
+ Column  2: VAR[G=1 delta on Z,Z=1.5:5.5] is RESHAPE(SBIN, _Z[GZ=IRR]) (regrid: 1 delta on Z)
           DEST    VAR
 1   / 1:  1.000   ....
 2   / 2:  2.000   ....
@@ -84157,9 +85633,8 @@ LIST dest, var[G$1=dcoarse at ave], var[G$1=dcoarse at BIN], var[G$1=dcoarse at NBIN]
  
 LIST dest, var[G$1=dcoarse]
  !-> LIST dest, var[GT=dcoarse]
-             T: 0.5 to 5.5
- Column  1: DEST is _T[GT=DCOARSE]
- Column  2: VAR[G=1 delta on T] is RESHAPE(SBIN, _T[GT=IRR]) (regrid: 1 delta on T)
+ Column  1: DEST[T=0.5:5.5] is _T[GT=DCOARSE]
+ Column  2: VAR[G=1 delta on T,T=1.5:5.5] is RESHAPE(SBIN, _T[GT=IRR]) (regrid: 1 delta on T)
           DEST    VAR
 1   / 1:  1.000   ....
 2   / 2:  2.000   ....
@@ -84220,9 +85695,8 @@ LIST dest, var[G$1=dcoarse at ave], var[G$1=dcoarse at BIN], var[G$1=dcoarse at NBIN]
  
 LIST dest, var[G$1=dcoarse]
  !-> LIST dest, var[GE=dcoarse]
-             E: 0.5 to 5.5
- Column  1: DEST is _E[GE=DCOARSE]
- Column  2: VAR[G=1 delta on E] is RESHAPE(SBIN, _E[GE=IRR]) (regrid: 1 delta on E)
+ Column  1: DEST[E=0.5:5.5] is _E[GE=DCOARSE]
+ Column  2: VAR[G=1 delta on E,E=1.5:5.5] is RESHAPE(SBIN, _E[GE=IRR]) (regrid: 1 delta on E)
           DEST    VAR
 1   / 1:  1.000   ....
 2   / 2:  2.000   ....
@@ -84283,9 +85757,8 @@ LIST dest, var[G$1=dcoarse at ave], var[G$1=dcoarse at BIN], var[G$1=dcoarse at NBIN]
  
 LIST dest, var[G$1=dcoarse]
  !-> LIST dest, var[GF=dcoarse]
-             F: 0.5 to 5.5
- Column  1: DEST is _F[GF=DCOARSE]
- Column  2: VAR[G=1 delta on F] is RESHAPE(SBIN, _F[GF=IRR]) (regrid: 1 delta on F)
+ Column  1: DEST[F=0.5:5.5] is _F[GF=DCOARSE]
+ Column  2: VAR[G=1 delta on F,F=1.5:5.5] is RESHAPE(SBIN, _F[GF=IRR]) (regrid: 1 delta on F)
           DEST    VAR
 1   / 1:  1.000   ....
 2   / 2:  2.000   ....
@@ -84299,6 +85772,7 @@ LIST dest, var[G$1=dcoarse]
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err696_only_inf_lev
 ! Bug 2326: levels with only a value and (inf) or (-inf)
 ! should show values less-equal or greater-equal to that level.
@@ -84326,6 +85800,7 @@ set view ur; shade/key=horiz/lev=(-inf)(22)(inf) sst
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err696_plot_ax_ppl
 ! err696_plot_ax_ppl.jnl
 ! ticket 2327
@@ -84409,6 +85884,7 @@ plot/i=1:199 i*cos(i/10)
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err696_ft_calendars
 ! err696_ft_calendars.jnl
 ! see ticket 2332: check for matching calendars when
@@ -84435,6 +85911,7 @@ can data/all
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err696_centerlab_restore
 ! err696_centerlab_restore
 ! Ticket 2331.
@@ -84495,6 +85972,7 @@ polygon/trans/i=1:20/nolab/key=horiz  xpts+xsqr, ypts+ysqr, x*x/10
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err696_time_overlay
 ! err696_time_overlay
 ! bug 2334, first plot/over takes too long and the line is incorrect.
@@ -84502,23 +85980,24 @@ GO err696_time_overlay
 def ax/t="1-jan-0001":"1-jan-0009":1/unit="year"/t0="1-jan-0001"/cal=noleap tax_nlp
 def ax/t="1-jan-0001":"1-jan-0009":1/unit="year"/t0="1-jan-0001"/cal=julian tax_jul
 sp date
-Thu Feb  9 14:25:29 PST 2017
+WKD MON DD HH:MM:SS ZZZ YYYY
 set view upper
 plot t[gt=tax_nlp]
 plot/ov/vs/line/dash {1,1}, 1e6*{-1,1}
 sp date
-Thu Feb  9 14:25:29 PST 2017
+WKD MON DD HH:MM:SS ZZZ YYYY
  
 sp date
-Thu Feb  9 14:25:29 PST 2017
+WKD MON DD HH:MM:SS ZZZ YYYY
 set view lower
 plot t[gt=tax_jul]
 plot/ov/vs/line/dash {2,2}, 1e6*{-1,1}
 sp date
-Thu Feb  9 14:25:29 PST 2017
+WKD MON DD HH:MM:SS ZZZ YYYY
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err696_save_noupcase
 ! err696_save_noupcase
 ! Ticket 2336: When UPCASE canceled an extra upcase axis
@@ -84572,7 +86051,7 @@ variables:
 		var:long_name = "0*TT + X[GX=XAX]" ;
 
 // global attributes:
-		:history = "FERRET V7.1   9-Feb-17" ;
+		:history = "FERRET V7.2  DD-MON-YY" ;
 		:Conventions = "CF-1.6" ;
 }
  
@@ -84580,6 +86059,7 @@ set mode/last upcase
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err696_argument_blanks
 ! err696_argument_blanks.jnl
 ! Ticket 2343: quoted argument with a blank at the end.
@@ -84616,6 +86096,7 @@ Hi Hi there my friend
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err696_annotate_numeric
 ! err696_annotate_numeric
 ! 1/7/2016
@@ -84648,6 +86129,7 @@ annotate/nouser/xpos=1/ypos=0.5 1,2,3,4,5
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err696_e_component_mem_crptn
 ! canceling of an E aggregation dataset is leaving
 ! corrupted variables in memory as seen by the variable names "%%"
@@ -84678,28 +86160,37 @@ list/i=3 sst[T=@ave]
  4   / 4:  114.1  113.8  111.6  109.8  106.9  102.2   ....   ....   ....
  
 show mem/all
- Current size of FERRET memory cache: 25.6 MegaWords  (1 word = 8 bytes)
+    SET MEMORY/SIZE: 25.6 megawords
+    Peak demand: 540 words
+    Current cache: 504 words
 all data in memory:
- SST[D=fourfiles]                  YE    mr:15  blk1:1  nblk:1
-    3  /106W           1  /12N          ...  / ...         ...  /01-JAN 00:45   1  /0.5          ...  / ...
-    3  /104W           9  /30N          ...  / ...         ...  /31-DEC 06:34   4  /4.5          ...  / ...
+ SST[D=fourfiles]                  YE    mr:15 size:72
+         3/106W                1/12N              ... / ...             ... /01-JAN 00:45        1/0.5              ... / ...
+         3/104W                9/30N              ... / ...             ... /31-DEC 06:34        4/4.5              ... / ...
                                                               AVE
- SST[D=fourfiles]                  YTE   mr:12  blk1:2  nblk:1
-    3  /106W           1  /12N          ...  / ...           1  /01-JAN 00:45   1  /0.5          ...  / ...
-    3  /104W           9  /30N          ...  / ...          12  /31-DEC 06:34   4  /4.5          ...  / ...
+ SST[D=fourfiles]                  YTE   mr:12 size:432
+         3/106W                1/12N              ... / ...                1/01-JAN 00:45        1/0.5              ... / ...
+         3/104W                9/30N              ... / ...               12/31-DEC 06:34        4/4.5              ... / ...
  
 cancel data fourfiles
 show mem/all
- Current size of FERRET memory cache: 25.6 MegaWords  (1 word = 8 bytes)
+    SET MEMORY/SIZE: 25.6 megawords
+    Peak demand: 540 words
+    Current cache: 0 words
 all data in memory:
  
 exit
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err696_mem_err_report
 ! err696_mem_err_report.jnl
 ! 1/21/2016 *acm*
+! V702: *sh* 2/17 - This script depends upon the specific formatting
+! of the error string, when memory is exceeded
+! Tweaked it to match the new formatting
+ 
 ! Ticket 2354: The error message shows the wrong number for memory needed.
 !
 ! Try to load some data larger than the default amount of memory
@@ -84716,7 +86207,7 @@ define axis/t=1-jan-2000:1-jan-2005:1/units=days  longtime
  
 let bigvar = x[gx=xaxis]+y[gy=yaxis] + z[gz=zaxis] + t[gt=longtime]
 sh grid bigvar
-    GRID (G004)
+    GRID (G###)
  name       axis              # pts   start                end                 subset
  XAXIS     X                  360 r   1                    360                 full
  YAXIS     Y                  180 r   1                    180                 full
@@ -84726,25 +86217,24 @@ sh grid bigvar
  
 set mode ignore
 load/l=1:5 bigvar
+    To fulfill this request would exceed the current SET MEMORY/SIZE= limit of 2 megawords
+    At the moment that the memory limit was reached
+    memory was committed as follows:
+        - to objects used in computation: : 1296005 (65%)
+    The size of the requested object was: : 6480000 (324%)
  
 ! Previously the number Mwords shown was too low
 show sym fer_last_error
-FER_LAST_ERROR = "**ERROR: request exceeds memory setting: 13 Mwords were requested. "
+FER_LAST_ERROR = "**ERROR: request exceeds memory setting"
 cancel mode ignore
  
-! Get the number Ferret says it needs
-let ms1 = `strrindex("($fer_last_error)", ":")`
- !-> DEFINE VARIABLE ms1 = 40
-let ms2 = `strindex("($fer_last_error)", "Mword")`
- !-> DEFINE VARIABLE ms2 = 45
-let siz = substring("($fer_last_error)", `ms1+1`, `ms2-ms1-1`)
- !-> DEFINE VARIABLE siz = substring("**ERROR: request exceeds memory setting: 13 Mwords were requested. ", 41, 4)
+! V702:  we no longer have to parse the error string.
+! Instead look at PEAK_MEMORY
  
-! Increase memory accordingly
- 
-set mem/siz=`siz`
- !-> set mem/siz= 13
+SET MEMORY/SIZE=15
 load/l=1:5 bigvar
+SHOW SYMBOL ($PEAK_MEMORY)
+ !-> SHOW SYMBOL 7776005
  
 ! restore default
 set mem/siz=`memsize`
@@ -84753,6 +86243,7 @@ set mem/siz=`memsize`
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err696_multiple_slashes
 ! err696_multiple_slashes.jnl
 ! 1/25/2016 *acm*
@@ -84797,9 +86288,9 @@ fill/($regqual)($plotqual) sst
  !-> CONTOUR/FILL//x=300:360///y=-20:20/L=3/pal=grayscale/line//key=cont sst
  
 ! command lines with urls unchanged
-IF `test_opendap("http://ferret.pmel.noaa.gov/thredds/dodsC/data/PMEL/COADS/coads_sst.cdf") EQ 0` THEN
+IF `test_opendap("http://ferret.pmel.noaa.gov/pmel/thredds/dodsC/data/PMEL/COADS/coads_sst.cdf") EQ 0` THEN
  !-> IF 1 THEN
-   set data///format=cdf http://ferret.pmel.noaa.gov/thredds/dodsC/data/PMEL/COADS/coads_sst.cdf
+   set data///format=cdf http://ferret.pmel.noaa.gov/pmel/thredds/dodsC/data/PMEL/COADS/coads_sst.cdf
    let//d=coads_sst myvar = 1
    sh dat
      currently SET data sets:
@@ -84807,7 +86298,7 @@ IF `test_opendap("http://ferret.pmel.noaa.gov/thredds/dodsC/data/PMEL/COADS/coad
  name     title                             I         J         K         L
  SST      SEA SURFACE TEMPERATURE          1:180     1:90      ...       1:3
  
-    2> http://ferret.pmel.noaa.gov/thredds/dodsC/data/PMEL/COADS/coads_sst.cdf  (default)
+    2> http://ferret.pmel.noaa.gov/pmel/thredds/dodsC/data/PMEL/COADS/coads_sst.cdf  (default)
  name     title                             I         J         K         L
  SST      Sea Surface Temperature          1:180     1:90      ...       1:1680
  ------------------------------
@@ -84891,6 +86382,7 @@ repeat/l=1:2 (set reg/x=1:4//)
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err696_2d_time_overlay
 ! err696_2d_time_overlay.jnl
 ! ticket 2360: 2-D time overlay plots have never worked.
@@ -84940,6 +86432,7 @@ shade/ov/pal=grayscale/lev f2
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err696_singlevec_over
 ! err696_singlevec_over.jnl
 ! Ticket 2365: overlay a single vector. If
@@ -84983,6 +86476,7 @@ PPL_VECLEN = "  27.2"
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err696_return_type
 ! err696_return_type
 ! See ticket #2367
@@ -85036,6 +86530,7 @@ list allcat
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err696_hovmuller_mod_fill
 ! err696_hovmuller_mod_fill.jnl
 ! 3/7/2016 ACM
@@ -85051,6 +86546,7 @@ fill/lin/t=1-jan-0000:31-dec-0001/hlim=1-jan-0000:1-jan-0001/x=180/lev=8 sst
  
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go err696_repeat_escapes.jnl
 ! err696_repeat_escapes.jnl
 ! Ticket 2376 - parsing error with escaped grave-accent syntax
@@ -85098,6 +86594,7 @@ repeat/k=1:3 (rep/i=1:2 (sp echo \``a`\`))
  
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go err696_red_keylab.jnl
 ! err696_red_keylab.jnl
 ! Ticket 2375: outline and labels of color key were
@@ -85112,6 +86609,7 @@ fill/over/nolab/key/lev=v,2min temp
  
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go err696_poly_over_label
 ! err696_poly_over_label
 ! Tiket 2396: incorrect label in the lower
@@ -85179,6 +86677,7 @@ ppl list labels  ! shows cvar for lab2
  
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go err696_def_ax_f
 ! err696_def_ax_f.jnl
 ! See ticket 2380
@@ -85226,6 +86725,7 @@ list _t[gt=aax]
  
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go err696_mode_cal_f
 ! err696_mode_cal_f.jnl
 ! ticket 2399 MODE CALENDAR and F calendar axes
@@ -85289,6 +86789,7 @@ LAB1 = "F (DAY) : 1.5"
  
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go err696_def_ax_edges
 ! err696_def_ax_edges
 ! See ticket 2400
@@ -85406,6 +86907,7 @@ def ax/edge/x xax = edges[i=1:4]; sh axis xax; list x[gx=xax]
  
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go err696_write_no_dim
 ! err696_write_no_dim.jnl
 ! ticket 2241: save a subset of a variable whose grid
@@ -85451,7 +86953,7 @@ variables:
 		TEMP:history = "From /home/data/socat/socatV3/11SS/11SS20140225.nc" ;
 
 // global attributes:
-		:history = "FERRET V7.1   9-Feb-17" ;
+		:history = "FERRET V7.2  DD-MON-YY" ;
 		:Conventions = "CF-1.6" ;
 data:
 
@@ -85461,6 +86963,7 @@ data:
  
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go err696_mod_sub_fln
 ! err696_mod_sub_fln.jnl
 ! Ticket 2366, @FLN on a modulo subspan axis
@@ -85529,6 +87032,7 @@ list/x=-180:720 b, b[x=@fln]
  
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go err696_subspan_transforms
 ! err696_subspan_transforms.jnl
 ! See ticket 2364.  Results previously
@@ -86328,6 +87832,7 @@ can var a; can ax xaxis; use a.nc
  
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go err696_subspan_mod_in_expr
 ! err696_subspan_mod_in_expr.jnl
 ! ticket 1845: a subspan modulo due to context info buried
@@ -86359,6 +87864,7 @@ XAXIS_MAX = "145.345261"
  
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go err696_shade_subspan_clim
 ! err696_shade_subspan_clim
 ! See ticket 2404
@@ -86402,10 +87908,12 @@ XAXIS_MAX = "243.000000"
  
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 ! go err696_subspan_mod_strides  ! do this test in bn_gif
  
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go err696_def_att
 ! err696_def_att.jnl
 ! tickets 2415, 2416
@@ -86461,6 +87969,7 @@ sp ncdump a.nc | grep -i sst
  
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go err696_return_prec
 ! err696_return_prec.jnl
 ! ACM 5/16 See ticket 2389.
@@ -86523,7 +88032,7 @@ say `1.55555551e8,p=14`
  !-> MESSAGE/CONTINUE 155555551
 155555551
 say `1.555555001e8,p=14`
- !-> MESSAGE/CONTINUE   155555500.1
+ !-> MESSAGE/CONTINUE 155555500.1
 155555500.1
  
  
@@ -86531,6 +88040,7 @@ say `1.555555001e8,p=14`
  
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go err686_show_xml_letd
 ! ! bn_show_xml_letd
 ! Testing SHOW DATA/VAR/XML with a let/D variable
@@ -87606,9 +89116,9 @@ canc data/all
 ! show grid/T below was eliminated by the "clean_draconian" script)
 ! 1/17/2017 changes due to backing off auto-detection of truemonth axes, tkt 2497
  
-IF `test_opendap("http://ferret.pmel.noaa.gov/thredds/dodsC/data/ferret/test_coads_monthly_air_2012.nc") EQ 0` THEN
+IF `test_opendap("http://ferret.pmel.noaa.gov/pmel/thredds/dodsC/data/ferret/test_coads_monthly_air_2012.nc") EQ 0` THEN
  !-> IF 1 THEN
-   tseries COADS = http://ferret.pmel.noaa.gov/thredds/dodsC/data/ferret/test_coads_monthly_air_2012.nc, http://ferret.pmel.noaa.gov/thredds/dodsC/data/ferret/test_coads_monthly_air_2013.nc, http://ferret.pmel.noaa.gov/thredds/dodsC/data/ferret/test_coads_monthly_air_2014.nc
+   tseries COADS = http://ferret.pmel.noaa.gov/pmel/thredds/dodsC/data/ferret/test_coads_monthly_air_2012.nc, http://ferret.pmel.noaa.gov/pmel/thredds/dodsC/data/ferret/test_coads_monthly_air_2013.nc, http://ferret.pmel.noaa.gov/pmel/thredds/dodsC/data/ferret/test_coads_monthly_air_2014.nc
 show data COADS
      currently SET data sets:
     1> COADS  (default)
@@ -87708,10 +89218,10 @@ save/clobber/file="tmp/test3.nc" i[i=1:3] + 3
 ! generate absolute path
 let dir = SPAWN("pwd")
 define sym use_abs_path = `DIR+"/tmp/test1.nc"`
- !-> define sym use_abs_path = /home/flat/ksmith/ferret_dev/bench/tmp/test1.nc
+ !-> define sym use_abs_path = ....../bench/tmp/test1.nc
 say ($use_abs_path)
- !-> MESSAGE/CONTINUE /home/flat/ksmith/ferret_dev/bench/tmp/test1.nc
-/home/flat/ksmith/ferret_dev/bench/tmp/test1.nc
+ !-> MESSAGE/CONTINUE ....../bench/tmp/test1.nc
+....../bench/tmp/test1.nc
  
 use tmp/test1.nc
 show data/brief
@@ -87738,17 +89248,17 @@ show data/brief
 canc data/all
  
 use "($use_abs_path)"
- !-> SET DAT/FORM=CDF "/home/flat/ksmith/ferret_dev/bench/tmp/test1.nc"
+ !-> SET DAT/FORM=CDF "....../bench/tmp/test1.nc"
 show data/brief
      currently SET data sets:
-    1> /home/flat/ksmith/ferret_dev/bench/tmp/test1.nc  (default)
+    1> ....../bench/tmp/test1.nc  (default)
 canc data/all
  
 use ($use_abs_path)
- !-> SET DAT/FORM=CDF /home/flat/ksmith/ferret_dev/bench/tmp/test1.nc
+ !-> SET DAT/FORM=CDF ....../bench/tmp/test1.nc
 show data/brief
      currently SET data sets:
-    1> /home/flat/ksmith/ferret_dev/bench/tmp/test1.nc  (default)
+    1> ....../bench/tmp/test1.nc  (default)
 canc data/all
  
 use tmp/test1.nc,tmp/test2.nc,tmp/test3.nc
@@ -87767,24 +89277,24 @@ show data/brief
     3> tmp/test3.nc  (default)
 canc data/all
  
-IF `test_opendap("http://ferret.pmel.noaa.gov/thredds/dodsC/data/PMEL/COADS/coads_sst.cdf") EQ 0` THEN
+IF `test_opendap("http://ferret.pmel.noaa.gov/pmel/thredds/dodsC/data/PMEL/COADS/coads_sst.cdf") EQ 0` THEN
  !-> IF 1 THEN
-  use "http://ferret.pmel.noaa.gov/thredds/dodsC/data/PMEL/COADS/coads_sst.cdf"
+  use "http://ferret.pmel.noaa.gov/pmel/thredds/dodsC/data/PMEL/COADS/coads_sst.cdf"
   show data/brief
      currently SET data sets:
-    1> http://ferret.pmel.noaa.gov/thredds/dodsC/data/PMEL/COADS/coads_sst.cdf  (default)
+    1> http://ferret.pmel.noaa.gov/pmel/thredds/dodsC/data/PMEL/COADS/coads_sst.cdf  (default)
   canc data/all
-  use http://ferret.pmel.noaa.gov/thredds/dodsC/data/PMEL/COADS/coads_sst.cdf
+  use http://ferret.pmel.noaa.gov/pmel/thredds/dodsC/data/PMEL/COADS/coads_sst.cdf
   show data/brief
      currently SET data sets:
-    1> http://ferret.pmel.noaa.gov/thredds/dodsC/data/PMEL/COADS/coads_sst.cdf  (default)
+    1> http://ferret.pmel.noaa.gov/pmel/thredds/dodsC/data/PMEL/COADS/coads_sst.cdf  (default)
   canc data/all
-  use tmp/test1.nc, "tmp/test2.nc", http://ferret.pmel.noaa.gov/thredds/dodsC/data/PMEL/COADS/coads_sst.cdf
+  use tmp/test1.nc, "tmp/test2.nc", http://ferret.pmel.noaa.gov/pmel/thredds/dodsC/data/PMEL/COADS/coads_sst.cdf
   show data/brief
      currently SET data sets:
     1> tmp/test1.nc
     2> tmp/test2.nc
-    3> http://ferret.pmel.noaa.gov/thredds/dodsC/data/PMEL/COADS/coads_sst.cdf  (default)
+    3> http://ferret.pmel.noaa.gov/pmel/thredds/dodsC/data/PMEL/COADS/coads_sst.cdf  (default)
   canc data/all
 ELSE
 ENDIF
@@ -87814,10 +89324,10 @@ spawn echo 'say $1"1-n/a"  $2"2-n/a"  $3"3-n/a"  $4"4-n/a" $5"5-n/a" $6"6-n/a" $
 ! generate absolute path
 let dir = SPAWN("pwd")
 define sym abs_path = `DIR+"/tmp/testMe.jnl"`
- !-> define sym abs_path = /home/flat/ksmith/ferret_dev/bench/tmp/testMe.jnl
+ !-> define sym abs_path = ....../bench/tmp/testMe.jnl
 say ($abs_path)
- !-> MESSAGE/CONTINUE /home/flat/ksmith/ferret_dev/bench/tmp/testMe.jnl
-/home/flat/ksmith/ferret_dev/bench/tmp/testMe.jnl
+ !-> MESSAGE/CONTINUE ....../bench/tmp/testMe.jnl
+....../bench/tmp/testMe.jnl
  
 go tmp/testMe.jnl
 say $1"1-n/a"  $2"2-n/a"  $3"3-n/a"  $4"4-n/a" $5"5-n/a" $6"6-n/a" $7"7-n/a" $8"8-n/a"
@@ -87830,13 +89340,13 @@ say $1"1-n/a"  $2"2-n/a"  $3"3-n/a"  $4"4-n/a" $5"5-n/a" $6"6-n/a" $7"7-n/a" $8"
 1-n/a  2-n/a  3-n/a  4-n/a 5-n/a 6-n/a 7-n/a 8-n/a
  
 go ($abs_path)
- !-> go /home/flat/ksmith/ferret_dev/bench/tmp/testMe.jnl
+ !-> go ....../bench/tmp/testMe.jnl
 say $1"1-n/a"  $2"2-n/a"  $3"3-n/a"  $4"4-n/a" $5"5-n/a" $6"6-n/a" $7"7-n/a" $8"8-n/a"
  !-> MESSAGE/CONTINUE 1-n/a  2-n/a  3-n/a  4-n/a 5-n/a 6-n/a 7-n/a 8-n/a
 1-n/a  2-n/a  3-n/a  4-n/a 5-n/a 6-n/a 7-n/a 8-n/a
  
 go "($abs_path)"
- !-> go "/home/flat/ksmith/ferret_dev/bench/tmp/testMe.jnl"
+ !-> go "....../bench/tmp/testMe.jnl"
 say $1"1-n/a"  $2"2-n/a"  $3"3-n/a"  $4"4-n/a" $5"5-n/a" $6"6-n/a" $7"7-n/a" $8"8-n/a"
  !-> MESSAGE/CONTINUE 1-n/a  2-n/a  3-n/a  4-n/a 5-n/a 6-n/a 7-n/a 8-n/a
 1-n/a  2-n/a  3-n/a  4-n/a 5-n/a 6-n/a 7-n/a 8-n/a
@@ -87852,13 +89362,13 @@ say $1"1-n/a"  $2"2-n/a"  $3"3-n/a"  $4"4-n/a" $5"5-n/a" $6"6-n/a" $7"7-n/a" $8"
 5  hello  bye  /quoted_path /unquoted_path 6-n/a 7-n/a 8-n/a
  
 go ($abs_path) 5 hello "bye" "/quoted_path" /unquoted_path
- !-> go /home/flat/ksmith/ferret_dev/bench/tmp/testMe.jnl 5 hello "bye" "/quoted_path" /unquoted_path
+ !-> go ....../bench/tmp/testMe.jnl 5 hello "bye" "/quoted_path" /unquoted_path
 say $1"1-n/a"  $2"2-n/a"  $3"3-n/a"  $4"4-n/a" $5"5-n/a" $6"6-n/a" $7"7-n/a" $8"8-n/a"
  !-> MESSAGE/CONTINUE 5  hello  bye  /quoted_path /unquoted_path 6-n/a 7-n/a 8-n/a
 5  hello  bye  /quoted_path /unquoted_path 6-n/a 7-n/a 8-n/a
  
 go "($abs_path)" 5 hello "bye" "/quoted_path" /unquoted_path
- !-> go "/home/flat/ksmith/ferret_dev/bench/tmp/testMe.jnl" 5 hello "bye" "/quoted_path" /unquoted_path
+ !-> go "....../bench/tmp/testMe.jnl" 5 hello "bye" "/quoted_path" /unquoted_path
 say $1"1-n/a"  $2"2-n/a"  $3"3-n/a"  $4"4-n/a" $5"5-n/a" $6"6-n/a" $7"7-n/a" $8"8-n/a"
  !-> MESSAGE/CONTINUE 5  hello  bye  /quoted_path /unquoted_path 6-n/a 7-n/a 8-n/a
 5  hello  bye  /quoted_path /unquoted_path 6-n/a 7-n/a 8-n/a
@@ -88052,7 +89562,7 @@ use coads_climatology
 show grid sst[x=240:320,y=0,t=@ave]
     GRID GSQ1
  name       axis              # pts   start                end                 subset
- COADSX    LONGITUDE          180mr   21E                  19E(379)            39 pts
+ COADSX    LONGITUDE          180mr   21E                  19E(379)            40 pts
  COADSY    LATITUDE            90 r   89S                  89N                 1 pt
  normal    Z
  TIME      TIME                 3mr   16-JAN 06:00         17-MAR 02:58        compressed
@@ -88061,10 +89571,10 @@ show grid sst[x=240:320,y=0,t=@ave]
 show grid sst[x=0:540,L=1:15]
     GRID GSQ1
  name       axis              # pts   start                end                 subset
- COADSX    LONGITUDE          180mr   21E                  19E(379)            269 pts
+ COADSX    LONGITUDE          180mr   21E                  19E(379)            270 pts
  COADSY    LATITUDE            90 r   89S                  89N                 full
  normal    Z
- TIME      TIME                 3mr   16-JAN 06:00         17-MAR 02:58        14 pts
+ TIME      TIME                 3mr   16-JAN 06:00         17-MAR 02:58        15 pts
  
 ! Constant: full abstract grid
 show grid 1
@@ -88089,7 +89599,7 @@ let var = {1,2,4,8}  ! Note that show grid {1,2,4,8} fails: bug
 show grid var
     GRID XABSTRACT
  name       axis              # pts   start                end                 subset
- ABSTRACT  X             99999999 r   1                    1.E+08              3 pts
+ ABSTRACT  X             99999999 r   1                    1.E+08              4 pts
  normal    Y
  normal    Z
  normal    T
@@ -88150,19 +89660,19 @@ show grid var
 ! dynamic grid
 let var = sst[y=-10:10:.1,l=1,x=160e]
 show grid var
-    GRID (G002)
+    GRID (G###)
  name       axis              # pts   start                end                 subset
  COADSX    LONGITUDE          180mr   21E                  19E(379)            1 pt
- (AX005)   LATITUDE           201 r   10S                  10N                 200 pts
+ (AX###)   LATITUDE           201 r   10S                  10N                 201 pts
  normal    Z
  TIME      TIME                 3mr   16-JAN 06:00         17-MAR 02:58        1 pt
  
 ! striding
 show grid sst[i=1:180:3,j=1:90:2]
-    GRID (G003)
+    GRID (G###)
  name       axis              # pts   start                end                 subset
- (AX006)   LONGITUDE           60 r   21E                  15E(375)            59 pts
- (AX007)   LATITUDE            45 r   89S                  87N                 44 pts
+ (AX###)   LONGITUDE           60 r   21E                  15E(375)            60 pts
+ (AX###)   LATITUDE            45 r   89S                  87N                 45 pts
  normal    Z
  TIME      TIME                 3mr   16-JAN 06:00         17-MAR 02:58        full
  
@@ -88172,21 +89682,21 @@ use coads_vwnd
 define axis/t=1-jan-1980:31-dec-1982:1/units=days dax
 let vwnd_days = vwnd[gt=dax,t=1-jun-1982:15-jul-1982]
 sh grid vwnd_days
-    GRID (G003)
+    GRID (G###)
  name       axis              # pts   start                end                 subset
  COADSX    LONGITUDE          180mr   21E                  19E(379)            full
  COADSY    LATITUDE            90 r   89S                  89N                 full
  normal    Z
- DAX       TIME              1096 r   01-JAN-1980 00:00    31-DEC-1982 00:00   44 pts
+ DAX       TIME              1096 r   01-JAN-1980 00:00    31-DEC-1982 00:00   45 pts
  
 let vwnd_clim = vwnd[gt=month_irreg at mod]
 sh grid vwnd_clim[L=4:9]
-    GRID (G005)
+    GRID (G###)
  name       axis              # pts   start                end                 subset
  COADSX    LONGITUDE          180mr   21E                  19E(379)            full
  COADSY    LATITUDE            90 r   89S                  89N                 full
  normal    Z
- MONTH_IRREG TIME              12mi   16-JAN 12:00         15-DEC 17:49        5 pts
+ MONTH_IRREG TIME              12mi   16-JAN 12:00         15-DEC 17:49        6 pts
  
 can dat/all
 use coads_climatology
@@ -88207,7 +89717,7 @@ show grid var
     GRID GSQ1
  name       axis              # pts   start                end                 subset
  COADSX    LONGITUDE          180mr   21E                  19E(379)            full
- COADSY    LATITUDE            90 r   89S                  89N                 29 pts
+ COADSY    LATITUDE            90 r   89S                  89N                 30 pts
  normal    Z
  TIME      TIME                 3mr   16-JAN 06:00         17-MAR 02:58        full
  
@@ -88227,7 +89737,7 @@ show grid var
  name       axis              # pts   start                end                 subset
  XAXLEVITR101_102 LONGITUDE     2mr   120.5E               121.5E              full
  YAXLEVITR41_42 LATITUDE        2 r   49.5S                48.5S               full
- ZAXLEVITR DEPTH (m)           20 i-  0                    5000                6 pts
+ ZAXLEVITR DEPTH (m)           20 i-  0                    5000                7 pts
  normal    T
  
  
@@ -88237,7 +89747,7 @@ use levitus_3d_subset
 let depth =  Z[G=TEMP]+ 0*TEMP[K=1]
 let depth_rev = zreverse(depth)
 show grid depth_rev
-    GRID (G004)
+    GRID (G###)
  name       axis              # pts   start                end                 subset
  XAXLEVITR101_102 LONGITUDE     2mr   120.5E               121.5E              full
  YAXLEVITR41_42 LATITUDE        2 r   49.5S                48.5S               full
@@ -88249,28 +89759,28 @@ let tpts = t[gt=dayt]
 LET sample_function = sin(0.5*tpts - 6.)/2. - cos(0.3*tpts)
  
 show grid ffta(sample_function)
-    GRID (G003)
+    GRID (G###)
  name       axis              # pts   start                end                 subset
  normal    X
  normal    Y
  normal    Z
- (AX002)   T (CYC/HOURS)      182 r   0.00011447           0.020833            (axis from grid-changing func)
+ (AX###)   T (CYC/HOURS)      182 r   0.00011447           0.020833            (axis from grid-changing func)
  
 show grid ffta(sample_function[t=15-jan-1990:15-jun-1990])
-    GRID (G003)
+    GRID (G###)
  name       axis              # pts   start                end                 subset
  normal    X
  normal    Y
  normal    Z
- (AX001)   T (CYC/HOURS)       76 r   0.00027412           0.020833            (axis from grid-changing func)
+ (AX###)   T (CYC/HOURS)       76 r   0.00027412           0.020833            (axis from grid-changing func)
  
 show grid ffta(sample_function + temp[d=levitus_3d_subset,z=0:40])
-    GRID (G005)
+    GRID (G###)
  name       axis              # pts   start                end                 subset
  XAXLEVITR101_102 LONGITUDE     2mr   120.5E               121.5E              full
  YAXLEVITR41_42 LATITUDE        2 r   49.5S                48.5S               full
- ZAXLEVITR DEPTH (m)           20 i-  0                    5000                3 pts
- (AX002)   T (CYC/HOURS)      182 r   0.00011447           0.020833            (axis from grid-changing func)
+ ZAXLEVITR DEPTH (m)           20 i-  0                    5000                4 pts
+ (AX###)   T (CYC/HOURS)      182 r   0.00011447           0.020833            (axis from grid-changing func)
  
 can dat/all
  
@@ -88283,18 +89793,18 @@ LET/D=levitus_3d_subset depth = z[g=temp]+ 0*temp[k=1]
 let  TEMPZ = TEMP[GZ(DEPTH)=ZPTS]
  
 sh grid tempz
-    GRID (G002)
+    GRID (G###)
  name       axis              # pts   start                end                 subset
  XAXLEVITR101_102 LONGITUDE     2mr   120.5E               121.5E              full
  YAXLEVITR41_42 LATITUDE        2 r   49.5S                48.5S               full
- (AX002)   Z                    5 r   100                  500                 full
+ (AX###)   Z                    5 r   100                  500                 full
  normal    T
 sh grid tempz[z=100:400]
-    GRID (G002)
+    GRID (G###)
  name       axis              # pts   start                end                 subset
  XAXLEVITR101_102 LONGITUDE     2mr   120.5E               121.5E              full
  YAXLEVITR41_42 LATITUDE        2 r   49.5S                48.5S               full
- (AX002)   Z                    5 r   100                  500                 3 pts
+ (AX###)   Z                    5 r   100                  500                 4 pts
  normal    T
  
 ! and with a grid-changing function thrown in
@@ -88309,7 +89819,7 @@ LET rvtemp  = rvtemp0[gz=temp at asn]
 LET rvdepth0 = ZREVERSE(depth)
 LET rvtempzax = rvtemp[gz(rvdepth)=zax,z=100:500]
 show grid rvtempzax
-    GRID (G002)
+    GRID (G###)
  name       axis              # pts   start                end                 subset
  XAXLEVITR101_102 LONGITUDE     2mr   120.5E               121.5E              full
  YAXLEVITR41_42 LATITUDE        2 r   49.5S                48.5S               full
@@ -88320,7 +89830,7 @@ show grid rvtempzax
  
 LET rvtempzax = rvtemp[gz(rvdepth)=zax]
 show grid rvtempzax[z=100:300]
-    GRID (G002)
+    GRID (G###)
  name       axis              # pts   start                end                 subset
  XAXLEVITR101_102 LONGITUDE     2mr   120.5E               121.5E              full
  YAXLEVITR41_42 LATITUDE        2 r   49.5S                48.5S               full
@@ -88474,22 +89984,22 @@ show data/attr my_fmrc
                                  _cal_t_ax       CHAR        8    T       TF_CAL_T
                                  _lag_f_ax       CHAR        8    T       TF_LAG_F
   
- FCST                  FLOAT     long_name       CHAR        18   T       FIELD + FCST_ERROR
-                                 missing_value   FLOAT       1    T       -1.E+34
+ FCST                  DOUBLE    long_name       CHAR        18   T       FIELD + FCST_ERROR
+                                 missing_value   DOUBLE      1    T       -1.E+34
                                  coordinates     CHAR        20   T       RUN TF_TIMES YAX XAX
                                  _ftime2d        CHAR        8    T       TF_TIMES
                                  _cal_t_ax       CHAR        8    T       TF_CAL_T
                                  _lag_f_ax       CHAR        8    T       TF_LAG_F
   
- TF_TIMES              FLOAT     long_name       CHAR        25   T       Forecast time step matrix
+ TF_TIMES              DOUBLE    long_name       CHAR        25   T       Forecast time step matrix
                                  units           CHAR        31   T       days since 01-JAN-1900 00:00:00
-                                 missing_value   FLOAT       1    T       -1.E+34
+                                 missing_value   DOUBLE      1    T       -1.E+34
                                  _CoordinateAxisType
                                                  CHAR        4    T       Time
                                  calendar        CHAR        9    T       GREGORIAN
   
- FCST_2                FLOAT     long_name       CHAR        16   T       another variable
-                                 missing_value   FLOAT       1    T       -1.E+34
+ FCST_2                DOUBLE    long_name       CHAR        16   T       another variable
+                                 missing_value   DOUBLE      1    T       -1.E+34
                                  coordinates     CHAR        25   T       TF_CAL_F TF_TIMES YAX XAX
                                  _ftime2d        CHAR        8    T       TF_TIMES
                                  _cal_t_ax       CHAR        8    T       TF_CAL_T
@@ -88737,17 +90247,17 @@ LIST tf_times
       ... listing every   2th point
                       15.2    76     136.8   197.5   258.3   319.1   379.9   440.7   501.5   562.2   623     683.8  
                        1       3       5       7       9      11      13      15      17      19      21      23
- 01-JAN-1950 /  1:  18278.  18337.  18398.  18459.  18520.  18581.  18643.  18702.  18763.  18824.  18885.  18946.
- 01-APR-1950 /  2:  18367.  18428.  18490.  18551.  18612.  18672.  18732.  18793.  18855.  18916.  18977.  19038.
- 01-JUL-1950 /  3:  18459.  18520.  18581.  18643.  18702.  18763.  18824.  18885.  18946.  19008.  19068.  19129.
- 01-OCT-1950 /  4:  18551.  18612.  18672.  18732.  18793.  18855.  18916.  18977.  19038.  19098.  19159.  19221.
- 01-JAN-1951 /  5:  18643.  18702.  18763.  18824.  18885.  18946.  19008.  19068.  19129.  19190.  19251.  19312.
- 01-APR-1951 /  6:  18732.  18793.  18855.  18916.  18977.  19038.  19098.  19159.  19221.  19282.  19343.  19403.
- 01-JUL-1951 /  7:  18824.  18885.  18946.  19008.  19068.  19129.  19190.  19251.  19312.  19374.  19433.  19494.
- 01-OCT-1951 /  8:  18916.  18977.  19038.  19098.  19159.  19221.  19282.  19343.  19403.  19463.  19524.  19586.
- 01-JAN-1952 /  9:  19008.  19068.  19129.  19190.  19251.  19312.  19374.  19433.  19494.  19555.  19616.  19677.
- 01-APR-1952 / 10:  19098.  19159.  19221.  19282.  19343.  19403.  19463.  19524.  19586.  19647.  19708.  19768.
- 01-JUL-1952 / 11:  19190.  19251.  19312.  19374.  19433.  19494.  19555.  19616.  19677.  19739.  19798.  19859.
+ 01-JAN-1950 /  1:  18278.  18336.  18398.  18458.  18520.  18581.  18642.  18702.  18762.  18824.  18885.  18946.
+ 01-APR-1950 /  2:  18367.  18428.  18490.  18550.  18612.  18672.  18732.  18793.  18854.  18916.  18976.  19038.
+ 01-JUL-1950 /  3:  18458.  18520.  18581.  18642.  18702.  18762.  18824.  18885.  18946.  19008.  19068.  19128.
+ 01-OCT-1950 /  4:  18550.  18612.  18672.  18732.  18793.  18854.  18916.  18976.  19038.  19098.  19159.  19220.
+ 01-JAN-1951 /  5:  18642.  18702.  18762.  18824.  18885.  18946.  19008.  19068.  19128.  19190.  19251.  19312.
+ 01-APR-1951 /  6:  18732.  18793.  18854.  18916.  18976.  19038.  19098.  19159.  19220.  19282.  19342.  19403.
+ 01-JUL-1951 /  7:  18824.  18885.  18946.  19008.  19068.  19128.  19190.  19251.  19312.  19374.  19432.  19494.
+ 01-OCT-1951 /  8:  18916.  18976.  19038.  19098.  19159.  19220.  19282.  19342.  19403.  19463.  19524.  19586.
+ 01-JAN-1952 /  9:  19008.  19068.  19128.  19190.  19251.  19312.  19374.  19432.  19494.  19554.  19616.  19677.
+ 01-APR-1952 / 10:  19098.  19159.  19220.  19282.  19342.  19403.  19463.  19524.  19586.  19646.  19708.  19768.
+ 01-JUL-1952 / 11:  19190.  19251.  19312.  19374.  19432.  19494.  19554.  19616.  19677.  19738.  19798.  19858.
  
 GO bn_aggregate_f.sub
 ! bn_aggregate_f.sub
@@ -89670,6 +91180,7 @@ set mode/last ignore
 ! 2/2016 *sh*
 ! 3/2016 - modified to test single point axis aggregations on Z axis
 ! 1/2017 *acm* changes in output due to backing off auto-detection of truemonth axes, tkt 2497
+! *acm*7/2017 0=success for SPAWN_STATUS
  
 ! to avoid re-creating the test files include argument "0" as in
 !  yes?  GO bn_aggregate_tef 0
@@ -90103,17 +91614,17 @@ SHOW DATA/ATT te_f11   ! notice the promotion of fcst.im_everywhere
   
  .                               aggregate name  CHAR        6    F       te_f11
   
- FCST                  FLOAT     long_name       CHAR        13   T       some variable
-                                 missing_value   FLOAT       1    T       -1.E+34
+ FCST                  DOUBLE    long_name       CHAR        13   T       some variable
+                                 missing_value   DOUBLE      1    T       -1.E+34
                                  im_everywhere   CHAR        13   F       so promote me
                                  long_name_mod   CHAR        7    F       L=31:42
   
- FCST_2                FLOAT     long_name       CHAR        16   T       another variable
-                                 missing_value   FLOAT       1    T       -1.E+34
+ FCST_2                DOUBLE    long_name       CHAR        16   T       another variable
+                                 missing_value   DOUBLE      1    T       -1.E+34
                                  long_name_mod   CHAR        7    F       L=31:42
   
- REALIZATION           FLOAT     long_name       CHAR        1    T       1
-                                 missing_value   FLOAT       1    T       -1.E+34
+ REALIZATION           DOUBLE    long_name       CHAR        1    T       1
+                                 missing_value   DOUBLE      1    T       -1.E+34
   
  
 ! define tef aggregation
@@ -90236,7 +91747,7 @@ SHOW DATA/ATT t_f04_e3_1v ! note atts im_everwhere vs im_not_everwhere
  Variable    VarType(in dset)    AttributeName   AttType     Size OutFlag AttValue
 ------------------------------------------------------------------------------------------
   
- .                               history         CHAR        22   T       FERRET V7.1   9-Feb-17
+ .                               history         CHAR        22   T       FERRET V7.2  DD-MON-YY
                                  Conventions     CHAR        6    F       CF-1.6
   
 (XAX)                  DOUBLE    units           CHAR        12   T       degrees_east
@@ -90291,13 +91802,13 @@ SHOW DATA/ATT te_f04_1v  ! note atts im_everwhere vs im_not_everwhere
   
  .                               aggregate name  CHAR        9    F       te_f04_1v
   
- FCST                  FLOAT     long_name       CHAR        13   T       some variable
-                                 missing_value   FLOAT       1    T       -1.E+34
+ FCST                  DOUBLE    long_name       CHAR        13   T       some variable
+                                 missing_value   DOUBLE      1    T       -1.E+34
                                  im_everywhere   CHAR        13   F       so promote me
                                  long_name_mod   CHAR        7    F       L=10:21
   
- REALIZATION           FLOAT     long_name       CHAR        1    T       1
-                                 missing_value   FLOAT       1    T       -1.E+34
+ REALIZATION           DOUBLE    long_name       CHAR        1    T       1
+                                 missing_value   DOUBLE      1    T       -1.E+34
   
  
 ! define fcst_2 as a LET/D variable and then do same calc
@@ -90395,7 +91906,7 @@ list/x=150E/y=15n/L=10 fcst_2
  01-JAN-1950 /  1:    227.    240.    252.    265.    277.
  01-APR-1950 /  2:    227.    240.    252.    265.    277.
  01-JUL-1950 /  3:    227.    240.    252.    265.    277.
- 01-OCT-1950 /  4:    227.    240.  19989.    265.    277.
+ 01-OCT-1950 /  4:    227.    240.  19988.    265.    277.
  01-JAN-1951 /  5:    227.    240.    252.    265.    277.
  01-APR-1951 /  6:    227.    240.    252.    265.    277.
  01-JUL-1951 /  7:    227.    240.    252.    265.    277.
@@ -90518,23 +92029,23 @@ SHOW DATA/ATTRIB tfe   ! also notice the promotion of fcst.im_everywhere
   
  .                               aggregate name  CHAR        3    F       tfe
   
- FCST                  FLOAT     long_name       CHAR        13   T       some variable
-                                 missing_value   FLOAT       1    T       -1.E+34
+ FCST                  DOUBLE    long_name       CHAR        13   T       some variable
+                                 missing_value   DOUBLE      1    T       -1.E+34
                                  coordinates     CHAR        25   T       RUN TF_TIMES ZAX1 YAX XAX
                                  _ftime2d        CHAR        8    T       TF_TIMES
                                  _cal_t_ax       CHAR        8    T       TF_CAL_T
                                  _lag_f_ax       CHAR        8    T       TF_LAG_F
                                  im_everywhere   CHAR        13   F       so promote me
   
- TF_TIMES              FLOAT     long_name       CHAR        25   T       Forecast time step matrix
+ TF_TIMES              DOUBLE    long_name       CHAR        25   T       Forecast time step matrix
                                  units           CHAR        31   T       days since 01-JAN-1900 00:00:00
-                                 missing_value   FLOAT       1    T       -1.E+34
+                                 missing_value   DOUBLE      1    T       -1.E+34
                                  _CoordinateAxisType
                                                  CHAR        4    T       Time
                                  calendar        CHAR        9    T       GREGORIAN
   
- FCST_2                FLOAT     long_name       CHAR        16   T       another variable
-                                 missing_value   FLOAT       1    T       -1.E+34
+ FCST_2                DOUBLE    long_name       CHAR        16   T       another variable
+                                 missing_value   DOUBLE      1    T       -1.E+34
                                  coordinates     CHAR        31   T       TF_CAL_F1 TF_TIMES ZAX1 YAX XAX
                                  _ftime2d        CHAR        8    T       TF_TIMES
                                  _cal_t_ax       CHAR        8    T       TF_CAL_T
@@ -90720,7 +92231,7 @@ save/clobber/file=a.nc/outtype=float elev[d=1]
 use a.nc
 sh att .
      attributes for dataset: ./a.nc
- ..history = FERRET V7.1   9-Feb-17 
+ ..history = FERRET V7.2  DD-MON-YY 
  ..Conventions = CF-1.6 
  ..dt_internal = 15
 sh att elev
@@ -90741,7 +92252,7 @@ save/clobber/file=a.nc/outtype=float elev[d=1]
 use a.nc
 sh att .
      attributes for dataset: ./a.nc
- ..history = FERRET V7.1   9-Feb-17 
+ ..history = FERRET V7.2  DD-MON-YY 
  ..Conventions = CF-1.6 
 sh att elev
      attributes for dataset: ./a.nc
@@ -90761,11 +92272,11 @@ use levitus_climatology
 load/DAT=coads_climatology sst[y=-10:10:.1,l=1,x=160e]
 show grid
  Default grid for DEFINE VARIABLE is ABSTRACT
- Last successful data access was on grid (G009)
-    GRID (G009)
+ Last successful data access was on grid (G###)
+    GRID (G###)
  name       axis              # pts   start                end                 subset
  COADSX    LONGITUDE          180mr   21E                  19E(379)            1 pt
- (AX018)   LATITUDE           201 r   10S                  10N                 200 pts
+ (AX###)   LATITUDE           201 r   10S                  10N                 201 pts
  normal    Z
  TIME      TIME                 3mr   16-JAN 06:00         17-MAR 02:58        1 pt
  
@@ -90786,7 +92297,6 @@ list/DAT=3 a
 list/DAT=3 temp.history
              VARIABLE : TEMP.HISTORY
              FILENAME : levitus_climatology.cdf
-             X        : 1
         "From levitus_climatology"
  
 ! PLOT, SHADE, FILL, CONTOUR, VECTOR, STAT
@@ -90863,9 +92373,9 @@ flow/DAT=2/den=3/L=3 taux,tauy
 ! bn_speedtest.jnl
 ! issue large numbers of commands, timing with clock time
 can mode verify
-10K LET commands LET a = 0 takes  0.969  seconds
-Second 10K LET commands LET a = 0 takes  2.181  seconds
-5K LOAD with transform takes  3.459  seconds
+10K LET commands LET a = 0 takes [0-3] seconds
+Second 10K LET commands LET a = 0 takes [0-5] seconds
+5K LOAD with transform takes [0-9] seconds
 *** Running ferret script: bn_show_noupcase.jnl
 ! bn_show_noupcase.jnl
 ! 1/2016 ticket 1796
@@ -90887,9 +92397,9 @@ show var
  >>> Definitions that replace any file variable of same name:
      MyUpperLowerCaseVar = X[X=1:10] + T[GT=TDAY]
 show grid MyUpperLowerCaseVar
-    GRID (G001)
+    GRID (G###)
  name       axis              # pts   start                end                 subset
- ABSTRACT  X             99999999 r   1                    1.E+08              9 pts
+ ABSTRACT  X             99999999 r   1                    1.E+08              10 pts
  normal    Y
  normal    Z
  tday      TIME                31 r   01-JAN-1999 00:00    31-JAN-1999 00:00   full
@@ -90958,6 +92468,7 @@ show data
  
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
  
  
 ! xml output
@@ -91997,7 +93508,7 @@ show dat/att 1
   
  ------------------------------
  myvar[D=coads_climatology]      long_name       CHAR        11   T       coads myvar
-                                 missing_value   FLOAT       1    T       -1.E+34
+                                 missing_value   DOUBLE      1    T       -1.E+34
   
  
 show att myvar
@@ -92059,7 +93570,7 @@ show dat/att 2
   
  ------------------------------
  myvar[D=levitus_climatology]    long_name       CHAR        13   T       Levitus myvar
-                                 missing_value   FLOAT       1    T       -1.E+34
+                                 missing_value   DOUBLE      1    T       -1.E+34
   
 show att myvar
      attributes for user-defined variables
@@ -92557,7 +94068,7 @@ sho command sho
  SHOW MOVIE/ALL
  SHOW VARIABLE/ALL/DATASET/USER/XML/OUTFILE/APPEND/CLOBBER/TREE/LAYERZ/CURVILIN
  SHOW COMMANDS/ALL/BRIEF
- SHOW MEMORY/ALL/TEMPORY/PERMANT/FREE
+ SHOW MEMORY/ALL/DIAGNOST/TEMPORY/PERMANT/FREE
  SHOW GRID/ALL/I/J/K/L/M/N/X/Y/Z/T/E/F/DYNAMIC/XML/OUTFILE/APPEND/CLOBBER
  SHOW VIEWPORT/ALL
  SHOW TRANFORM/ALL
@@ -92590,7 +94101,7 @@ sho command sho v  ! SHOW VARIABLE
 sho command sho c  ! SHOW COMMANDS
  SHOW COMMANDS/ALL/BRIEF
 sho command sho me ! SHOW MEMORY
- SHOW MEMORY/ALL/TEMPORY/PERMANT/FREE
+ SHOW MEMORY/ALL/DIAGNOST/TEMPORY/PERMANT/FREE
 sho command sho g  ! SHOW GRID
  SHOW GRID/ALL/I/J/K/L/M/N/X/Y/Z/T/E/F/DYNAMIC/XML/OUTFILE/APPEND/CLOBBER
 sho command sho vi ! SHOW VIEWPORT
@@ -92865,14 +94376,16 @@ sho command/brief sp
 sho command/brief st
  STAT
 sho command/brief u
- USER
+ Not a recognized command: u
+ 
+ Use SHOW ALIAS to see alternative command names
 sho command/brief v
  VECTOR
  
  
 ! All the commands, no subcommands, no qualifiers
 SHOW COMMAND/BRIEF
- Commands in Program FERRET  version7.1:
+ Commands in Program FERRET  version7.2:
  SET
  SHOW
  CANCEL
@@ -92892,7 +94405,6 @@ SHOW COMMAND/BRIEF
  STAT
  SHADE
  SPAWN
- USER
  WIRE
  QUERY
  IF
@@ -93026,6 +94538,7 @@ PLOT/SKIP=($deci)/ALONG=t ens_sin_block[i=1,j=2,k=3]
 ! Time labels on plots always just get the precision from MODE CALENDAR
 ! Instead, use the same logic as is used for text labels, automatically adjust.
 ! (later make this the default setting??)
+! acm* 3/17 check the URL with TEST_OPENDAP befor trying to open it.
  
 set mode calendar:auto
 show mode calendar
@@ -93132,12 +94645,16 @@ shade/title="hours "/l=3/k=1/x=60:70/y=-40:-30 ttim; sh sym  lab($labnum_t)
 LAB2 = "TIME : 01-JAN-2001 12:00"
  
 ! Reynolds SST weekly, even 7-day spacing
-use http://ferret.pmel.noaa.gov/thredds/dodsC/data/PMEL/reynolds_sst_wk.nc
+ 
+IF `test_opendap("http://ferret.pmel.noaa.gov/pmel/thredds/dodsC/data/PMEL/reynolds_sst_wk.nc") NE 0` THEN EXIT/SCRIPT
+ !-> IF 0 THEN EXIT/SCRIPT
+ 
+use http://ferret.pmel.noaa.gov/pmel/thredds/dodsC/data/PMEL/reynolds_sst_wk.nc
 list/x=180/y=0/l=20:25 fsst
              VARIABLE : Filtered Weekly SST Means (deg C)
              DATA SET : Reynolds Optimum Interpolation Weekly SST Analysis
              FILENAME : reynolds_sst_wk.nc
-             FILEPATH : http://ferret.pmel.noaa.gov/thredds/dodsC/data/PMEL/
+             FILEPATH : http://ferret.pmel.noaa.gov/pmel/thredds/dodsC/data/PMEL/
              SUBSET   : 6 points (TIME)
              LONGITUDE: 179.5E
              LATITUDE : 0.5S
@@ -93274,6 +94791,7 @@ list/nohead ..coordnames
 ! Bug 2445 missing or repeated coords when axis marked as regular
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go err700_reg_axis_check
 ! err700_reg_axis_check.jnl
 ! Ticket 2445: regular axis, test for valid line_delta
@@ -93334,6 +94852,7 @@ list yax
 ! Bug 2446 include script name on warning about unclosed IF block
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go err700_unclosed_if
 ! err71_unclosed_if.jnl
 ! Ticket 2446
@@ -93353,6 +94872,7 @@ let b = 1
 ! Bug 2446 inheriting attributes
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go err700_inherit_all
 ! err700_inherit_all.jnl
 ! Ticket 2447: If all attributes are inherited, missing-value flags
@@ -93404,6 +94924,7 @@ list b
 ! Bug 2458  Subspan modulo grids and SAMPLEXY
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go err700_samplexy_subspan_modulo
 ! err700_samplexy_subspan_modulo.jnl
 ! 7/29/2016 ACM
@@ -93603,6 +95124,7 @@ list samplexyt(sst, -80, 22, `t[gt=sst,l=1]`)
 ! Bug 2463  SHADE/LEVELS and single-color data
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go err700_levels_one_level
 ! err700_levels_one_level.jnl
 ! Ticket 2436. If the data has just one value, then shade it with
@@ -93626,6 +95148,7 @@ can view
 ! Bug xxxx  Only examine key labels that are actually going to be printed
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go err700_key
 use coads_climatology
 set window/aspect=0.7 1
@@ -93637,6 +95160,7 @@ frame /file=err700_key.gif
 ! Bug 2468 Symbol AX_HORIZ corrupted by an overlay
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go err700_ax_horiz
 ! err700_ax_horiz.jnl
 ! 8/30/2016 *acm* Ticket 2468
@@ -93672,6 +95196,7 @@ AX_VERT = "Y"
 ! Bug 2470 Symbol LEV_DEL incorrect on a LEV=(lo,hi,delta)
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go err700_lev_del_symb
 ! err700_lev_del_symb.jnl
 ! 9/9/2016
@@ -93745,6 +95270,7 @@ LEV_DEL = "irregular"
 ! Bug 2466 Graticule lines too dense on time plots
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go err700_timegrat
 !err700_timegrat.jnl
 ! 22-sep-2016 *acm*
@@ -93778,6 +95304,7 @@ set view right; plot/trans/grat=(color=light_blue)/z=20/t=16-SEP-2016:19-sep-201
 ! Bug 2465 parsing errors on commands with expressions involving attrbutes
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go err700_attribute_parsing
 ! err700_attribute_parsing.jnl
 ! See ticket 2465. Parsing errors for commands with attribute references
@@ -93817,23 +95344,14 @@ list/nohead strindex(..title, "file")
  
  
 ! Bug 2477 plot axes are not fully drawn, some /VS plots
-go bn_reset
-cancel mode verify
-go err700_vs_plot_axes
-! err700_vs_plot_axes.jnl
-! See ticket 2477, in some cases the plot axes are not fully drawn
-! 11/2016 ACM
- 
- 
-USE err700_vs_data.nc
- 
-! only with PLOT/VS plots, only with SYMBOLS not PLOT/VS/LINE
-PLOT/VS/THICK/COLOR=red/SIZ=0.2 lon,lat
-FRAME/FILE=bn_axis_vs.gif
+! move this to bn_gif.jnl
+! go bn_reset
+! go err700_vs_plot_axes
  
 ! Bug 2483. Fixing axis-ends symbols XAXIS_MIN,XAXIS_MAX, YAXIS_MIN,YAXIS_MAX
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go err700_axis_dates
 ! err700_axis_dates.jnl
 ! See ticket 2483. 11/10/2016 ACM
@@ -93917,6 +95435,7 @@ I / *:    "23-OCT-2015 01:00" "23-OCT-2015 13:00"
 ! Bug 2489. Attribute climatology_time_range not defined on an expression
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go err700_clim_attr_expression
 ! err700_clim_attr_expression.jnl
 ! Ticket 2489
@@ -93950,6 +95469,7 @@ show att `vname[i=1]`
 ! on /HLOG or /VLOG plots
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go err700_ribbon_vlog
 ! err700_ribbon_vlog.jnl
 ! 1/3/2017 *acm*
@@ -93974,6 +95494,7 @@ frame/file=bn_ribbon_vlog.gif
 ! Bug 2492: single-variable listings with /form=comma or /form=tab
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go err700_list_comma
 ! err700_list_comma.jnl
 ! 1/4/2017 Fixes for ticket 2492: for single-variable listings, /FORM=comma and /FORM=tab
@@ -94092,6 +95613,7 @@ list/norow/nohead/L=1:3/K=1/i=95/j=40/form=tab taux
 ! Bug 2493: T aggregation when there are E or F axes
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go err700_aggT_5d
 ! err700_aggT_5d.jnl
 ! 1/6/2017 ACM  Ticket 2493
@@ -94175,6 +95697,7 @@ list/i=3/j=2 thetao
 ! Bug 2495: shift on overlay of time series plot on 2d time plot
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go err700_time_overlay
 ! err700_time_overlay.jnl
 ! bug 2495
@@ -94201,6 +95724,7 @@ plot/trans/over/color=blue cos(tt/3000) + 0.5
 ! Bug 2494:  drawing a single-cell shade plot
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go err700_shade_singlecell
 ! err700_shade_singlecell.jnl
 ! Ticket 2494, drawing a single-cell shade plot
@@ -94242,6 +95766,7 @@ shade/pal=rnb2 iijj[x=74.5w,y=39.9:40.8]
 !           where coordinates are very near grid-cell edges.
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go err700_coords
 ! err700_coords.jnl
 ! 1/17/2017
@@ -94285,18 +95810,18 @@ set mode diag
 save/clob/file=a.nc c
  dealloc  dynamic grid GAY2            XAX1_21   NORMAL    NORMAL    NORMAL
  dealloc  dynamic grid GAY1            XAX1_20   NORMAL    NORMAL    NORMAL
- getgrid EX#1     C:  5 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- getgrid C        C:  7 dset:   1 I:    1    1  J:    1    1  K:    1    1  L:    1    1  M:    1    1  N:    1    1
- allocate dynamic grid (G001)          C2D_AX_X  NORMAL    NORMAL    NORMAL
- dealloc  dynamic grid (G001)          C2D_AX_X  NORMAL    NORMAL    NORMAL
- allocate dynamic grid (G001)          C2D_AX_X  NORMAL    NORMAL    NORMAL
- allocate dynamic grid (G001)          C2D_AX_X  NORMAL    NORMAL    NORMAL
- eval    EX#1     C:  4 dset:   1 I:   11   31  J: -999 -999  K: -999 -999  L: -999 -999
- eval    C        C:  6 dset:   0 I:   11   31  J: -999 -999  K: -999 -999  L: -999 -999
- allocate dynamic grid (G001)          C2D_AX_X  NORMAL    NORMAL    NORMAL
- pseudo  X        M:  7 dset:   0 I:   11   31  J: -999 -999  K: -999 -999  L: -999 -999
- dealloc  dynamic grid (G001)          C2D_AX_X  NORMAL    NORMAL    NORMAL
- -DELETE C        M:  5 dset:   0 I:   11   30  J: -999 -999  K: -999 -999  L: -999 -999
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid C        C:  7 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ allocate dynamic grid (G###)          C2D_AX_X  NORMAL    NORMAL    NORMAL
+ dealloc  dynamic grid (G###)          C2D_AX_X  NORMAL    NORMAL    NORMAL
+ allocate dynamic grid (G###)          C2D_AX_X  NORMAL    NORMAL    NORMAL
+ allocate dynamic grid (G###)          C2D_AX_X  NORMAL    NORMAL    NORMAL
+ eval    EX#1     C:  4 dset:   1 I:     11     31  J: -999 -999  K: -999 -999  L:   -999   -999
+ eval    C        C:  6 dset:   0 I:     11     31  J: -999 -999  K: -999 -999  L:   -999   -999
+ allocate dynamic grid (G###)          C2D_AX_X  NORMAL    NORMAL    NORMAL
+ pseudo  X        M:  7 dset:   0 I:     11     31  J: -999 -999  K: -999 -999  L:   -999   -999
+ dealloc  dynamic grid (G###)          C2D_AX_X  NORMAL    NORMAL    NORMAL
+ -DELETE C        M:  5 dset:   0 I:     11     30  J: -999 -999  K: -999 -999  L:   -999   -999
  
 set mode /last diag
  
@@ -94304,6 +95829,7 @@ set mode /last diag
 ! Bug 2499: Define a single-point axis with bounds
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go err700_define_1pt_axis
 ! err700_define_1pt_axis.jnl
 ! Ticket 2499: regular axis, test for valid line_delta
@@ -94345,6 +95871,7 @@ T0 = %%
 ! Bug 2498: time unit error in F-aggregation of some OPENDAP datasets
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go err700_aggregate_from_fmrc
 ! err700_aggregate_from_fmrc.jnl
 ! 1/2017 *acm*
@@ -94365,7 +95892,7 @@ use http://oos.soest.hawaii.edu/thredds/dodsC/hioos/roms_forec/hiig/runs/ROMS_Ha
 DEFINE DATA/AGGREGATE/F testdata = 1,2,3
 ! F axis should be  31-DEC-2016 to 02-JAN-2017
 SHOW GRID zeta
-    GRID (G013)
+    GRID (G###)
  name       axis              # pts   start                end                 subset
  LON       LONGITUDE          295mr   163.83W(-163.83)     152.52W(-152.52)    full
  LAT       LATITUDE           195 r   17.018N              23.982N             full
@@ -94378,6 +95905,7 @@ SHOW GRID zeta
 ! Bug 2504: modulo axes and coordinates
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go err700_modulo
 ! err700_modulo.jnl
 ! See ticket 2504. Axis defintions where bounds are not given, and Ferret
@@ -94513,6 +96041,7 @@ T0 = 1-JAN-0000
 ! Bug 1480: saving modulo axis with too big a region
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go err700_save_mod_att
 ! err700_save_mod_att.jnl
 ! ticket 1480: do not write a modulo axis when saving a modulo
@@ -94546,11 +96075,12 @@ variables:
 		VAR:long_name = "X[GX=XLON]" ;
 
 // global attributes:
-		:history = "FERRET V7.1   9-Feb-17" ;
+		:history = "FERRET V7.2  DD-MON-YY" ;
 		:Conventions = "CF-1.6" ;
 }
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
  
 ! Now set a region and write data. The axis length would be 362.5
 use a1
@@ -94604,12 +96134,13 @@ variables:
 		VAR:history = "From a1" ;
 
 // global attributes:
-		:history = "FERRET V7.1   9-Feb-17" ;
+		:history = "FERRET V7.2  DD-MON-YY" ;
 		:Conventions = "CF-1.6" ;
 }
  
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 use a
 sh axis `var,return=xaxis`
  !-> sh axis XLONN7_136
@@ -94619,6 +96150,7 @@ sh axis `var,return=xaxis`
  
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
  
 ! Now set a bigger region and write data. The axis length is 372.5
 use a1
@@ -94649,12 +96181,13 @@ variables:
 		VAR:history = "From a1" ;
 
 // global attributes:
-		:history = "FERRET V7.1   9-Feb-17" ;
+		:history = "FERRET V7.2  DD-MON-YY" ;
 		:Conventions = "CF-1.6" ;
 }
  
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 use a
 sh axis `var,return=xaxis`
  !-> sh axis XLONN7_141
@@ -94678,6 +96211,7 @@ save/clobber/file=a.nc/y=0/l=1 sst
  
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 use a
 sh att (`sst,return=xaxis`)
  !-> sh att (COADSXN9_170)
@@ -94701,6 +96235,7 @@ show axis `sst,return=xaxis`
 ! Bug 2502: FMRC regridding sensitive to insignificant floating-point differences in time
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go err700_fmrcdiag
 ! err700_fmrcdiag.jnl
 ! these particular datasets (quarterly forecasts of two years of monthly data)
@@ -94717,7 +96252,7 @@ DEFINE DATA/AGGREGATE/F testdata = 1,2,3,4
 ! using the values of quirks has a sinusoidal error that get worse with greater lead time
 !
 SHOW GRID actual
-    GRID (G019)
+    GRID (G###)
  name       axis              # pts   start                end                 subset
  XAX1      LONGITUDE            7mr   140W                 110W                full
  YAX       LATITUDE             4 r   45N                  60N                 full
@@ -94748,7 +96283,7 @@ FRAME /FILE=forecast_actual.gif
 !
 LET /TITLE="actual (diag view)" diagview = actual[gt(tf_times)=tf_cal_t]
 SHOW GRID diagview
-    GRID (G019)
+    GRID (G###)
  name       axis              # pts   start                end                 subset
  XAX1      LONGITUDE            7mr   140W                 110W                full
  YAX       LATITUDE             4 r   45N                  60N                 full
@@ -94778,7 +96313,7 @@ FRAME /FILE=forecast_diagview.gif
 !
 LET /TITLE="actual (lead view)" leadview = actual[gt(tf_times)=tf_cal_t,gf(tf_times)=tf_lag_f]
 SHOW GRID leadview
-    GRID (G008)
+    GRID (G###)
  name       axis              # pts   start                end                 subset
  XAX1      LONGITUDE            7mr   140W                 110W                full
  YAX       LATITUDE             4 r   45N                  60N                 full
@@ -94812,6 +96347,7 @@ FRAME /FILE=forecast_leadview.gif
 ! Bug 2331: Labeling the labels in line-plot legends.
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 Go err700_legend_labels
 ! err700_legend_labels.jnl
 ! See ticket 2231:
@@ -94921,6 +96457,54 @@ PLOT/OVER/KEY=TITLE my_var2[Y=@loc:-1]
  
 PLOT/OVER/KEY=TITLE 10+cos(T[gt=tdays]/200)
  
+ 
+! Bug 2507: time aggregations with same time axis in different grids per file
+go bn_reset
+cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+Go err700_aggt_dup_grids
+! err700_aggt_dup_grids
+! 2/15/2017 ACM
+! Bug 2507: new time axis is identical in two tseries aggregation.
+!  It exists in more than one grid. Previously the new time axis
+!  was swapped into only one of the grids for the second aggregation.
+ 
+! Define some datsets, with two variables with different grids each
+! using a common time axis.
+ 
+use  tmp/tagg_irreg_1.nc
+define axis/x=1:1:1 xax1
+let newvar = x[gx=xax1] + myvar
+save/clobber/file=a1.nc myvar, newvar
+can dat/all
+use  tmp/tagg_irreg_2.nc
+save/clobber/file=a2.nc myvar, newvar
+ 
+can dat/all; can var/all
+ 
+! Define two aggregations; the second should share the time axis
+! that was set up in the first.
+sp ln -sf a1.nc b1.nc
+sp ln -sf a2.nc b2.nc
+ 
+tseries a2var = a1.nc, a2.nc
+tseries b2var = b1.nc, b2.nc
+ 
+! previously the time axis of the second variable in b2var was
+! listed as length 10
+sh dat
+     currently SET data sets:
+    1> a2var
+ name     title                             I         J         K         L
+ MYVAR    SIN(T[GT=TDAY_IR]/10) + L[GT=TD  ...       ...       ...       1:20
+ NEWVAR   X[GX=XAX1] + MYVAR               1:1       ...       ...       1:20
+ 
+    2> b2var  (default)
+ name     title                             I         J         K         L
+ MYVAR    SIN(T[GT=TDAY_IR]/10) + L[GT=TD  ...       ...       ...       1:20
+ NEWVAR   X[GX=XAX1] + MYVAR               1:1       ...       ...       1:20
+ 
+ 
 *** Running ferret script: bn_delim_datetime.jnl
 ! bn_delim_datetime.jnl
 ! ACM 7/2016
@@ -95173,10 +96757,10 @@ sh dat/att
  .                               aggregate name  CHAR        2    F       uu
   
  SST                   FLOAT     long_name       CHAR        3    T       sst
-                                 missing_value   FLOAT       1    T       -1.E+34
+                                 missing_value   DOUBLE      1    T       -1.E+34
   
  TEMP                  FLOAT     long_name       CHAR        14   T       temp in uagg_5
-                                 missing_value   FLOAT       1    T       -1.E+34
+                                 missing_value   DOUBLE      1    T       -1.E+34
   
 can dat/all
  
@@ -95502,16 +97086,16 @@ SHOW DATA/ATT tue_f03   ! notice the promotion of fcst.im_everywhere
  .                               aggregate name  CHAR        7    F       tue_f03
   
  FCST                  FLOAT     long_name       CHAR        13   T       some variable
-                                 missing_value   FLOAT       1    T       -1.E+34
+                                 missing_value   DOUBLE      1    T       -1.E+34
   
  FCST_2                FLOAT     long_name       CHAR        16   T       another variable
-                                 missing_value   FLOAT       1    T       -1.E+34
+                                 missing_value   DOUBLE      1    T       -1.E+34
   
  REALIZATION           FLOAT     long_name       CHAR        1    T       1
-                                 missing_value   FLOAT       1    T       -1.E+34
+                                 missing_value   DOUBLE      1    T       -1.E+34
   
  FCST_3                FLOAT     long_name       CHAR        16   T       another variable
-                                 missing_value   FLOAT       1    T       -1.E+34
+                                 missing_value   DOUBLE      1    T       -1.E+34
   
  
 ! define tuef aggregation
@@ -95591,17 +97175,17 @@ SHOW DATA/brief/files
 16-JUL-1952 12:00 -> 16-JUN-1953 00:00    tmp/f03_e2_tu3.nc
  
    13> t_f_u01_e1     Union aggregation
-          time-dependent data files:
-31-DEC-1899 23:59 -> 31-DEC-1899 23:59    t_f_u01_e1
- 
+          Member datasets:
+      13.1: t_f01_e1
+      13.2: t_f01_e1_3
    14> t_f_u01_e2     Union aggregation
-          time-dependent data files:
-31-DEC-1899 23:59 -> 31-DEC-1899 23:59    t_f_u01_e2
- 
+          Member datasets:
+      14.1: t_f01_e2
+      14.2: t_f01_e2_3
    16> t_f_u02_e2     Union aggregation
-          time-dependent data files:
-31-DEC-1899 23:59 -> 31-DEC-1899 23:59    t_f_u02_e2
- 
+          Member datasets:
+      16.1: t_f02_e2
+      16.2: t_f02_e2_3
    22> tuef  (default)  Forecast aggregation
           Member datasets:
       22.1: tue_f01
@@ -95651,7 +97235,7 @@ show data tuef
        (L=1:12)
  
 sh grid fcst
-    GRID (G025)  Forecast Aggregation Grid
+    GRID (G###)  Forecast Aggregation Grid
  name       axis              # pts   start                end                 subset
  XAX       LONGITUDE           21mr   140E                 160E                full
  YAX       LATITUDE            11 r   10N                  20N                 full
@@ -95660,7 +97244,7 @@ sh grid fcst
  ENSEMBLE  E (realization)      2 r   1                    2                   full
  TF_CAL_F  FORECAST             3 i   01-JAN-1950 00:00    01-JUL-1950 00:00   full
 sh grid fcst_3
-    GRID (G025)  Forecast Aggregation Grid
+    GRID (G###)  Forecast Aggregation Grid
  name       axis              # pts   start                end                 subset
  XAX       LONGITUDE           21mr   140E                 160E                full
  YAX       LATITUDE            11 r   10N                  20N                 full
@@ -95728,8 +97312,8 @@ sh dat/att
   
  .                               history         CHAR        7    F       abc.dat
   
- abc                   FLOAT     long_name       CHAR        3    T       abc
-                                 missing_value   FLOAT       1    T       -1.E+34
+ abc                   DOUBLE    long_name       CHAR        3    T       abc
+                                 missing_value   DOUBLE      1    T       -1.E+34
   
 save/clobber/file=a.nc abc
 sp ncdump -h a.nc
@@ -95737,17 +97321,17 @@ netcdf a {
 dimensions:
 	AX002 = 5 ;
 variables:
-	double AX002(AX002) ;
+	double AX002(AX###) ;
 		AX002:point_spacing = "even" ;
 		AX002:axis = "X" ;
-	float abc(AX002) ;
-		abc:missing_value = -1.e+34f ;
-		abc:_FillValue = -1.e+34f ;
+	double abc(AX###) ;
+		abc:missing_value = -1.e+34 ;
+		abc:_FillValue = -1.e+34 ;
 		abc:long_name = "abc" ;
 		abc:history = "From abc.dat" ;
 
 // global attributes:
-		:history = "FERRET V7.1   9-Feb-17" ;
+		:history = "FERRET V7.2  DD-MON-YY" ;
 		:Conventions = "CF-1.6" ;
 }
  
@@ -95778,8 +97362,8 @@ sh dat/att
   
  .                               history         CHAR        7    F       abc.dat
   
- abc                   FLOAT     long_name       CHAR        3    T       abc
-                                 missing_value   FLOAT       1    T       -1.E+34
+ abc                   DOUBLE    long_name       CHAR        3    T       abc
+                                 missing_value   DOUBLE      1    T       -1.E+34
   
     2> ./bn_delimited_read_1.dat  (default)
  Variable    VarType(in dset)    AttributeName   AttType     Size OutFlag AttValue
@@ -95788,21 +97372,21 @@ sh dat/att
  .                               history         CHAR        23   F       bn_delimited_read_1.dat
   
  lab                   CHAR      long_name       CHAR        3    T       lab
-                                 missing_value   FLOAT       1    T       -1.E+34
+                                 missing_value   DOUBLE      1    T       -1.E+34
   
  nothing               CHAR      long_name       CHAR        7    T       nothing
-                                 missing_value   FLOAT       1    T       -1.E+34
+                                 missing_value   DOUBLE      1    T       -1.E+34
   
- var                   FLOAT     long_name       CHAR        3    T       var
-                                 missing_value   FLOAT       1    T       -1.E+34
+ var                   DOUBLE    long_name       CHAR        3    T       var
+                                 missing_value   DOUBLE      1    T       -1.E+34
   
- latitude              FLOAT     long_name       CHAR        8    T       latitude
+ latitude              DOUBLE    long_name       CHAR        8    T       latitude
                                  units           CHAR        13   T       degrees_north
-                                 missing_value   FLOAT       1    T       -1.E+34
+                                 missing_value   DOUBLE      1    T       -1.E+34
   
- longitude             FLOAT     long_name       CHAR        9    T       longitude
+ longitude             DOUBLE    long_name       CHAR        9    T       longitude
                                  units           CHAR        12   T       degrees_east
-                                 missing_value   FLOAT       1    T       -1.E+34
+                                 missing_value   DOUBLE      1    T       -1.E+34
   
 sav/file=a.nc/clobber var,longitude,latitude
 sp ncdump -h a.nc
@@ -95810,31 +97394,31 @@ netcdf a {
 dimensions:
 	AX003 = 6 ;
 variables:
-	double AX003(AX003) ;
+	double AX003(AX###) ;
 		AX003:point_spacing = "even" ;
 		AX003:axis = "X" ;
-	float var(AX003) ;
-		var:missing_value = -1.e+34f ;
-		var:_FillValue = -1.e+34f ;
+	double var(AX###) ;
+		var:missing_value = -1.e+34 ;
+		var:_FillValue = -1.e+34 ;
 		var:long_name = "var" ;
 		var:history = "From bn_delimited_read_1.dat" ;
-	float longitude(AX003) ;
-		longitude:missing_value = -1.e+34f ;
-		longitude:_FillValue = -1.e+34f ;
+	double longitude(AX###) ;
+		longitude:missing_value = -1.e+34 ;
+		longitude:_FillValue = -1.e+34 ;
 		longitude:long_name = "longitude" ;
 		longitude:units = "degrees_east" ;
 		longitude:long_name_mod = "Longitude" ;
 		longitude:history = "From bn_delimited_read_1.dat" ;
-	float latitude(AX003) ;
-		latitude:missing_value = -1.e+34f ;
-		latitude:_FillValue = -1.e+34f ;
+	double latitude(AX###) ;
+		latitude:missing_value = -1.e+34 ;
+		latitude:_FillValue = -1.e+34 ;
 		latitude:long_name = "latitude" ;
 		latitude:units = "degrees_north" ;
 		latitude:long_name_mod = "Latitude" ;
 		latitude:history = "From bn_delimited_read_1.dat" ;
 
 // global attributes:
-		:history = "FERRET V7.1   9-Feb-17" ;
+		:history = "FERRET V7.2  DD-MON-YY" ;
 		:Conventions = "CF-1.6" ;
 }
  
@@ -96066,6 +97650,37 @@ set mode/last ignore
 cancel data/all
 cancel var/all
  
+! Union datasets and SHOW DATA/MEMBERS
+union tmp/uagg_1.nc,tmp/uagg_2.nc,tmp/uagg_3.nc,tmp/uagg_4.nc
+show data/members
+     currently SET data sets:
+    5> ./bn_agg_member_syntax.jnl  (default)  Union aggregation
+ name     title                             I         J         K         L
+ SST      sst                              1:5       1:4       ...       1:10
+ TEMP     temp                             1:5       1:4       ...       1:10
+ U        U                                1:5       1:4       ...       1:10
+ V        V                                1:5       1:4       ...       1:10
+ 
+          Member datasets:
+      5.1: tmp/uagg_1.nc
+      5.2: tmp/uagg_2.nc
+      5.3: tmp/uagg_3.nc
+      5.4: tmp/uagg_4.nc
+show data 5.2
+     currently SET data sets:
+    2> tmp/uagg_2.nc
+ name     title                             I         J         K         L
+ TEMP     temp                             1:5       1:4       ...       1:10
+ 
+show data 5.3
+     currently SET data sets:
+    3> tmp/uagg_3.nc
+ name     title                             I         J         K         L
+ U        U                                1:5       1:4       ...       1:10
+ 
+ 
+cancel data/all
+ 
 ! Tests for Ensembles
 let files = SPAWN("ls -1 ens*.nc")
 ensemble my_ens = files
@@ -96153,6 +97768,7 @@ stat sst[d=5] - sst[d=5.3]   ! ensemble minus member #3
  Mean    value: 13.481 (unweighted average)
  Standard deviation: 30.317
  
+ 
 ! deliberate errors
 set mode ignore
  
@@ -96491,7 +98107,7 @@ sh dat/att
  Variable    VarType(in dset)    AttributeName   AttType     Size OutFlag AttValue
 ------------------------------------------------------------------------------------------
   
- .                               history         CHAR        22   T       FERRET V7.1   9-Feb-17
+ .                               history         CHAR        22   T       FERRET V7.2  DD-MON-YY
                                  Conventions     CHAR        6    F       CF-1.6
   
 (TAXIS1)               DOUBLE    axis            CHAR        1    T       T
@@ -96560,7 +98176,7 @@ sh dat/att
  Variable    VarType(in dset)    AttributeName   AttType     Size OutFlag AttValue
 ------------------------------------------------------------------------------------------
   
- .                               history         CHAR        22   T       FERRET V7.1   9-Feb-17
+ .                               history         CHAR        22   T       FERRET V7.2  DD-MON-YY
                                  Conventions     CHAR        6    F       CF-1.6
   
 (TAXIS1)               DOUBLE    axis            CHAR        1    T       T
@@ -96631,7 +98247,7 @@ sh dat/att
  Variable    VarType(in dset)    AttributeName   AttType     Size OutFlag AttValue
 ------------------------------------------------------------------------------------------
   
- .                               history         CHAR        22   T       FERRET V7.1   9-Feb-17
+ .                               history         CHAR        22   T       FERRET V7.2  DD-MON-YY
                                  Conventions     CHAR        6    F       CF-1.6
   
 (TAXIS1)               DOUBLE    axis            CHAR        1    T       T
@@ -96808,7 +98424,7 @@ let var = {1,2,3,4,5,6,7,8,9,10,11,12}
 let tvar = reshape(var,t[gt=taxis])
 list/L=1:23 tvar
              VARIABLE : RESHAPE(VAR,T[GT=TAXIS])
-             SUBSET   : 23 points (TIME)
+             SUBSET   : 12 points (TIME)
  16-JAN-2010 12 /  1:   1.00
  15-FEB-2010 00 /  2:   2.00
  16-MAR-2010 12 /  3:   3.00
@@ -96821,17 +98437,11 @@ list/L=1:23 tvar
  16-OCT-2010 12 / 10:  10.00
  16-NOV-2010 00 / 11:  11.00
  16-DEC-2010 12 / 12:  12.00
- 16-JAN-2011 17 / 13:   1.00
- 15-FEB-2011 05 / 14:   2.00
- 16-MAR-2011 17 / 15:   3.00
- 16-APR-2011 05 / 16:   4.00
- 16-MAY-2011 17 / 17:   5.00
- 16-JUN-2011 05 / 18:   6.00
- 16-JUL-2011 17 / 19:   7.00
- 16-AUG-2011 17 / 20:   8.00
- 16-SEP-2011 05 / 21:   9.00
- 16-OCT-2011 17 / 22:  10.00
- 16-NOV-2011 05 / 23:  11.00
+! *sh* 3/17:  a possible alternative syntax:
+!  let var = TSEQUENCE({1,2,3,4,5,6,7,8,9,10,11,12})
+!  let tvar = var[gt=taxis at asn]
+! Since this is a fairly common need -- creating a line along some axis
+! should we offer a new function AXSEQUENCE(array, axis)  ?
  
 ! Striding on a monthly axis
  
@@ -96917,322 +98527,5060 @@ def axis/t/t0=1-jan-2000/monthly/bounds tax={1.2, 2, 3.2, 5, 7, 8.4, 9}, {0.5,1.
 define axis/x=1:5:1/monthly aaxis
  
 cancel mode ignore
-*** Running ferret script: bn_gif.jnl
-! bn450_gif.JNL - copied from bn450_plot.jnl
-! this journal file only tests the writing of gif file in batch mode using
-! frame/file=bnplot.gif....will create three gif files
-! *kob*
+*** Running ferret script: bn720_bug_fixes.jnl
+! bn720_bug_fixes.jnl
+! test various fixes that went into version 7.2
+! 2/17 *acm*
+!
  
-! NOTE the plots in bnplot_2.gif are different in PyFerret and Ferret,
-! because of different treatment of /TEXT= for viewport definitions.
+GO bn_reset
+cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+GO err71_uvar_strides
+! err710_uvar_strides
+! see ticket 2511: crash when doing strides on the user-variable
  
-can mode logo
  
-! define a 6 viewport window (modified definitions 11/92)
-def view/text=.4/xlim=0,.333/ylim=0,.5    ll6
-def view/text=.2/xlim=0,.333/ylim=.5,1    ul6
-def view/text=.1/xlim=.333,.666/ylim=0,.5 lm6
-def view/text=.6/xlim=.333,.666/ylim=.5,1 um6
-def view/text=1.5/xlim=.666,1/ylim=0,.5   lr6
-def view/xlim=.666,1/ylim=.5,1            ur6     ! auto /TEXT
-show view
+use coads_climatology
  
- name             text    xlimits     ylimits    mode
+! this is ok using a file variable
+let y_vec = x[gx=sst,x=0:360:30]
+list y_vec
+             VARIABLE : X[GX=SST,X=0:360:30]
+             FILENAME : coads_climatology.cdf
+             SUBSET   : 13 points (LONGITUDE)
+ 0E     /  1:    0.0
+ 30E    /  2:   30.0
+ 60E    /  3:   60.0
+ 90E    /  4:   90.0
+ 120E   /  5:  120.0
+ 150E   /  6:  150.0
+ 180E   /  7:  180.0
+ 150W   /  8:  210.0
+ 120W   /  9:  240.0
+ 90W    / 10:  270.0
+ 60W    / 11:  300.0
+ 30W    / 12:  330.0
+ 0E     / 13:  360.0
+ 
+! but this gave a crash on loading the variable.
+let s = sst
+let y_vec = x[gx=s,x=0:360:30]
+list y_vec
+             VARIABLE : X[GX=S,X=0:360:30]
+             FILENAME : coads_climatology.cdf
+             SUBSET   : 13 points (X)
+ 0     /  1:    0.0
+ 30    /  2:   30.0
+ 60    /  3:   60.0
+ 90    /  4:   90.0
+ 120   /  5:  120.0
+ 150   /  6:  150.0
+ 180   /  7:  180.0
+ 210   /  8:  210.0
+ 240   /  9:  240.0
+ 270   / 10:  270.0
+ 300   / 11:  300.0
+ 330   / 12:  330.0
+ 360   / 13:  360.0
  
- UPPER            1.00   0.00,1.00   0.50,1.00   edges
- LOWER            1.00   0.00,1.00   0.00,0.50   edges
- RIGHT            1.00   0.50,1.00   0.00,1.00   edges
- LEFT             1.00   0.00,0.50   0.00,1.00   edges
- LL               0.50   0.00,0.50   0.00,0.50   edges
- LR               0.50   0.50,1.00   0.00,0.50   edges
- UL               0.50   0.00,0.50   0.50,1.00   edges
- UR               0.50   0.50,1.00   0.50,1.00   edges
- FULL             1.00   0.00,1.00   0.00,1.00   edges
- LL6              0.40   0.00,0.33   0.00,0.50   edges
- UL6              0.20   0.00,0.33   0.50,1.00   edges
- LM6              0.10   0.33,0.67   0.00,0.50   edges
- UM6              0.60   0.33,0.67   0.50,1.00   edges
- LR6              1.50   0.67,1.00   0.00,0.50   edges
- UR6              0.41   0.67,1.00   0.50,1.00   edges
-   current viewport is NONE
+GO bn_reset
+cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+GO err71_prec_return
+! err71_prec_return.jnl
+! Ticket 2510, `prec=hh` doesn't work when the data is very
+! near an integer.
  
-! some variables for plotting
-let a = 0.8*sin(l/10)
-let b = 0.6*cos(l/10)
-let c = sin(100/(l+k))
-let d = l/50
-let e = k-(l/25)
-let f = -.5+(l/125)
-let g = (l-25)/(k*35)
-let h = 0.1
-let m = 0.2
  
-! illegal plot commands
-set mode ignore
-plot/i=1:10/j=1:20/nolabel i+j			! not a line
-plot/i=1:10/j=1:20/nolabel i,i+j		! not a line
-plot/i=1:10/j=1:20/nolabel i+j,i		! not a line
-plot/i=1:10/j=1:20/nolabel j,i			! differing axes
-plot/i=1:10/j=1:20/vs/line/nolabel j,i		! unequal lengths
-contour/i=1:10/j=1:20/nolabel i			! only 1 D
-contour/i=1:10/j=1:20/nolabel i/j,j/i		! multiple fields
-vector/i=1:10/j=1:20/nolabel i/j		! only 1 field
-vector/i=1:10/j=1:20/nolabel i/j,j/i,i+j	! 3 fields
-set mode/last ignore
+let a=1+1e-12
  
-! notice the default window size is 10.2,width x 8.8,height
-ppl list plot
-         WIDTH=   10.20  HEIGHT=    8.80  TKTYPE=    0  BAUD=  110
-         WINDOW= ON   BOX= OFF  CROSS= 0  PLTYPE=  3
-         PLOT MODE=   A
-         PLOT FILE= .gif                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     [...]
+! This should show the 001 at the end
+list/nohead/norow/prec=13 `a,prec=13`
+ !-> list/nohead/norow/prec=13 1.000000000001
+   1.000000000001
  
-! enlarge it to accomodate an additional 50% width
-ppl size 15.3,8.8
+! This does not have the 001 at the end
+list/nohead/norow/prec=13 `a,prec=12`
+ !-> list/nohead/norow/prec=13 1
+   1.000000000000
  
-! turn on metafile (enabled 10/29/91)
-! commented out 9/97 - instead set in bn450_all.jnl
-! set mode metafile
+! The example from the ticket, with one more.
+list/nohead/norow/prec=12 {`1 + 0.1`, `1 + 1e-7`, `1 + 1e-8`, `1 + 1e-10`} - 1
+ !-> list/nohead/norow/prec=12 {1.1, 1.0000001, 1.00000001, 1.0000000001} - 1
+   0.100000000000
+   0.000000100000
+   0.000000010000
+   0.000000000100
  
-! draw a plot into a viewport - to be deleted (check hard copy)
-set view ll6
-contour/i=1:50/j=1:50/nolabel i/(j+20)
+GO bn_reset
+cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+GO err71_save_rigid
+! err71_save_rigid.jnl
+! Ticket 2513: SAVE/RIGID with irregular axis wrote a bad file.
  
-! 4 frames testing PLOT output
-set view ul6
-plot/l=1:50/k=1/trans/nolabel a,b,c
-plot/l=1:50/k=1/trans/over/line=6/nolabel d
-plot/l=1:50/k=1/trans/over/symbol=88/nolabel e
-plot/l=1:50/k=1/trans/over/symbol=47/line/nolabel f
-def view/text=.1/xlim=.333,1/ylim=0,.5 lm6   ! redefine longer in x (11/92)
-set view lm6
-!ppl axlen 16
-set region/k=1
-plot/l=1:50/nolabel a,b,c,d,e,f,g[k=1],g[k=2],a+h,b+h,c+h,d+h,e+h,f+h,g[k=1]+h,g[k=2]+h,a+m,b+m,c+m
-def view/text=.6/xlim=.333,1/ylim=.5,1 um6    ! redefine it longer in x (11/92)
-set view um6
-!ppl axlen 17,5
-plot/l=1:50/nolabel sin(100/(l+5))
-plot/l=1:50/over/nolabel a,b,c,d,e,f,g[k=1],g[k=2],a+h,b+h,c+h,d+h,e+h,f+h,g[k=1]+h,g[k=2]+h,a+m,b+m,c+m
-set view ll6
-!ppl axlen 8,6
-plot/l=1:99000/nolabel sin(200000/(l+10000))
+! Define a variable on an irregular axis.
  
-! reset to normal axis lengths and prepare for a new piccie
-!ppl axlen 8
-frame/file=bnplot_1.gif
-set wind/clear
+let var = {123, 234, 345, 456, 567, 678, 789}
+define axis/t/t0=1-jan-2015/units=day tax = \
+{ 312.1, 312.7, 313.4, 314.2, 314.7, 315.4, 316.1}
  
-! draw six frames
-set view ll6
-contour/i=1:50/j=1:50/levels=(0,2.5,.25)/nolabel i/(j+20)
-plot/over/nolab/vs/line/i=1:50/j=1:50/nolabel 6*i/j,5*j/i
-set view ul6
-vector/i=1:50/j=1:50/length=50/aspect/nolabel sin(i/20)*10+j-20,-1*cos(j/10)*10+i-20
-def view/text=.1/xlim=.333,.666/ylim=0,.5 lm6  ! redefine it (11/92)
-set view lm6
-shade/i=1:50/j=1:50/nolabel i/(j+20)
-set view lr6
-ppl lev () (0,2.5,.1)
-shade/i=1:50/j=1:50/line/level/nolabel i/(j+20)
-set view ur6
-let icomp = (sin(i/20)*10+j-20)
-let jcomp = (-1*cos(j/10)*10+i-20)
-contour/i=1:50/j=1:50/nolabel icomp^2+jcomp^2
-contour/i=1:50/j=1:50/over/level/nolabel icomp^2+(-1*cos(i/10)*80)^2
-! note: "i-i" and "j-j" are needed to create 2D structures
-vector/i=1:50/j=1:50/overlay/nolabel j-20+(i-i),i-20+(j-j)
-vector/i=1:50/j=1:50/overlay/length/nolabel i-20+(j-j),40-j+(i-i)
-def view/text=.6/xlim=.333,.666/ylim=.5,1 um6    ! redefine it (11/92)
-set view um6
-shade/i=1:50/j=1:50/nolabel i/(j+20)
-contour/i=1:50/j=1:50/over/nolabel (sin(i/20)+j-20)^2+(-1*cos(j/10)+i-20)^2
-vector/i=1:50/j=1:50/overlay/nolabel j-20+(i-i),i-20+(j-j)
-frame/file=bnplot_2.gif
-! additions for version 3.01 "/TITLE=" controls
-cancel viewports
-set view ul6
-plot/title="My Custom Title"/i=1:100/nolabel sin(i/6)
-plot/title="My Custom Key"/i=1:100/over/nolabel sin(i/5)
-set view um6
-plot/title="My Custom Title"/i=1:100/nolabel sin(i/6),sin(i/9)
-plot/title="My Custom Key"/i=1:100/over/nolabel sin(i/7),sin(i/10)
-set view ur6
-plot/vs/line/title="My Custom Title"/i=1:100/nolabel sin(i/6),sin(i/9)
-plot/vs/line/title="My Custom Key"/i=1:100/over/nolabel sin(i/7),sin(i/10)
-set view ll6
-plot/vs/line/title="My Custom Title"/i=1:100/nolabel sin(i/6),sin(i/9),sin(i/12)
-plot/vs/line/title="My Custom Key"/i=1:100/over/nolabel sin(i/7),sin(i/10)
-set view lm6
-contour/i=1:20/j=1:20/title="My Contour Title"/nolabel sin(i/3)*cos(j/4)
-contour/over/i=5:30/j=5:30/title="My Contour Overlay"/nolabel sin(i/2)*cos(j/3)
-set view lr6
-wire/view=0,0,2/i=1:20/j=1:20/title="My Egg Carton"/nolabel sin(i/3)*cos(j/4)
+let vart = reshape(var, t[gt=tax])
  
-! addition for 3.20 showing changed default behavior of plot/vs
-! return to window and redraw with symbols
-set view ll6
-plot/vs/title="My Custom Title"/i=1:100/nolabel sin(i/6),sin(i/9),sin(i/12)
-plot/vs/title="My Custom Key"/i=1:100/over/nolabel sin(i/7),sin(i/10)
-frame/file=bnplot_3.gif
+! Save with /RIGID. Previously this wrote a file with
+! both bounds and edges attributes on the time axis.
+! It wrote the edges variable, not the bounds.
  
-! Prior to v5.8 could not get the window size in pixels when in gif mode
-show symbol ppl$xpixel
-PPL$XPIXEL = "1152"
-show symbol ppl$ypixel
-PPL$YPIXEL = "662"
+! Starting with this version, write bounds if needed when
+! writing with /RIGID. Only write edges if they said /EDGES.
  
-! V6.13
-! transparency with FRAME/TRANS
-!!
-! These gif images have the background color white or black
-! replaced by transparent color. This can be tested by putting
-! them into an HTML document with a colored background.
-! e.g. a file called test_transparent.html containing only this line:
-! <html> <body bgcolor="orange"> <img src="testfile.gif"/> </body> </html>
+save/clobber/rigid/file=a.nc vart
+sp ncdump a.nc
+netcdf a {
+dimensions:
+	TAX = 7 ;
+	bnds = 2 ;
+variables:
+	double TAX(TAX) ;
+		TAX:units = "day since 2015-01-01 00:00:00" ;
+		TAX:point_spacing = "uneven" ;
+		TAX:axis = "T" ;
+		TAX:bounds = "TAX_bnds" ;
+		TAX:time_origin = "1-JAN-2015" ;
+		TAX:standard_name = "time" ;
+	double TAX_bnds(TAX, bnds) ;
+	double VART(TAX) ;
+		VART:missing_value = -1.e+34 ;
+		VART:_FillValue = -1.e+34 ;
+		VART:long_name = "RESHAPE(VAR, T[GT=TAX])" ;
+
+// global attributes:
+		:history = "FERRET V7.2  DD-MON-YY" ;
+		:Conventions = "CF-1.6" ;
+data:
+
+ TAX = 312.1, 312.7, 313.4, 314.2, 314.7, 315.4, 316.1 ;
+
+ TAX_bnds =
+  311.8, 312.4,
+  312.4, 313.05,
+  313.05, 313.8,
+  313.8, 314.45,
+  314.45, 315.05,
+  315.05, 315.75,
+  315.75, 316.45 ;
+
+ VART = 123, 234, 345, 456, 567, 678, 789 ;
+}
  
-can view
-use coads_climatology
-shade/nokey/lev=50 sst[L=1]
-frame/trans/file=testbackground.gif
+cancel var/all
  
-! moved here from bn500_bug_fixes.jnl. The frame/  command it contains
-! has trouble when running the benchmarks from remote desktop
-go bn_reset
-cancel mode verify
-go err491_long_gif_name
-! err491_long_gif_name.jnl
-! *sh* 4/99 - test 175 character gif name
+! The grid was messed up - this gave an error
+use a
+show grid vart
+    GRID GSI1
+ name       axis              # pts   start                end                 subset
+ normal    X
+ normal    Y
+ normal    Z
+ TAX1      TIME                 7 i   09-NOV-2015 02:24    13-NOV-2015 02:24   full
  
-! name length extended with changes to save_frame.F and xeq_frame.F
  
-set wind/siz=0.03
-go ptest
-! Description: create a simple test line plot
+! move this to bn_gif.jnl
+! GO bn_reset
+! GO err71_plotvs_mode_label
  
-! spirograph picture ...
-PLOT/VS/LINE/I=1:314 i*cos(i/20),i*sin(i/20)
+GO bn_reset
+cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+GO err71_set_redirect
+! err71_set_redirect.jnl
+! 3/2017 ACM
+! redirect results to a file with a path.
+! See ticket 2521, the path was previously rejected if it contains dashes
+ 
+spawn "mkdir -p sub-dir"
+!
+! Previously this resulted in an error.
+set redirect /tee /file="./sub-dir/redirect_stdout.txt" /clobber  stderr stdout
  
+! write to the file and look at the results
  
-sp rm -f abcdefghijklmnopqrstuvwxyabcdefghijklmnopqrstuvwxyabcdefghijklmnopqrstuvwxyabcdefghijklmnopqrstuvwxy*
+show symbol ferret_precision, ferret_memory
+FERRET_PRECISION = "double"
+FERRET_MEMORY = "25.6"
+cancel redirect
+let contents = { spawn:"cat ./sub-dir/redirect_stdout.txt" }
+list contents
+             VARIABLE : { SPAWN:"cat ./sub-dir/redirect_stdout.txt" }
+             SUBSET   : 7 points (X)
+ 1   / 1:" "                                          
+ 2   / 2:"! write to the file and look at the results"
+ 3   / 3:" "                                          
+ 4   / 4:"show symbol ferret_precision, ferret_memory"
+ 5   / 5:"FERRET_PRECISION = "double""                
+ 6   / 6:"FERRET_MEMORY = "25.6""                     
+ 7   / 7:"cancel redirect"                            
+cancel var contents
  
-frame/file="abcdefghijklmnopqrstuvwxyabcdefghijklmnopqrstuvwxyabcdefghijklmnopqrstuvwxyabcdefghijklmnopqrstuvwxyabcdefghijklmnopqrstuvwxyabcdefghijklmnopqrstuvwxyabcdefghijklmnopqrstuvwxy.gif"
+sp rm -rf sub-dir
  
-spawn ls abcdefghijklmnopqrstuvwxyabcdefghijklmnopqrstuvwxyabcdefghijklmnopqrstuvwxyabcdefghijklmnopqrstuvwxy*
-abcdefghijklmnopqrstuvwxyabcdefghijklmnopqrstuvwxyabcdefghijklmnopqrstuvwxyabcdefghijklmnopqrstuvwxyabcdefghijklmnopqrstuvwxyabcdefghijklmnopqrstuvwxyabcdefghijklmnopqrstuvwxy.gif
+GO bn_reset
+cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+GO err71_set_redirect
+! err71_set_redirect.jnl
+! 3/2017 ACM
+! redirect results to a file with a path.
+! See ticket 2521, the path was previously rejected if it contains dashes
+ 
+spawn "mkdir -p sub-dir"
+!
+! Previously this resulted in an error.
+set redirect /tee /file="./sub-dir/redirect_stdout.txt" /clobber  stderr stdout
  
+! write to the file and look at the results
  
-! The fix for bug 1396
-set v ul; plot/dash x[gx=0:20:.5]
-set v ur; plot/dash x[gx=0:20:.1]
-set v ll; plot/dash x[gx=0:20:.05]
-set v lr; plot/dash x[gx=0:20:.01]
-frame/file=gif_dashbug.gif
+show symbol ferret_precision, ferret_memory
+FERRET_PRECISION = "double"
+FERRET_MEMORY = "25.6"
+cancel redirect
+let contents = { spawn:"cat ./sub-dir/redirect_stdout.txt" }
+list contents
+             VARIABLE : { SPAWN:"cat ./sub-dir/redirect_stdout.txt" }
+             SUBSET   : 7 points (X)
+ 1   / 1:" "                                          
+ 2   / 2:"! write to the file and look at the results"
+ 3   / 3:" "                                          
+ 4   / 4:"show symbol ferret_precision, ferret_memory"
+ 5   / 5:"FERRET_PRECISION = "double""                
+ 6   / 6:"FERRET_MEMORY = "25.6""                     
+ 7   / 7:"cancel redirect"                            
+cancel var contents
  
-! Restore size
-set win/siz=1/asp=1
+sp rm -rf sub-dir
  
-! New benchmark gif outputs in v6.97
-go bn_reset
+GO bn_reset
 cancel mode verify
-GO bn_hovmuller_overlays
-! bn_hovmuller_overlays.jnl
-! Previously a time series plot overlaid oon a Hovmuller plot did not
-! work unless the time axis of the original data had units of hours.
-! See ticket 2344
+ooooooooooooooooooooooooooooooooooooooooooo
+GO err71_err_attrib_overrun
+! err71_err_attrib_overrun.jnl
+! See ticket 2523
  
-! 1/6/2016 ACM
- 
-! run this in the gif benchmarks.
+! this ends with a segment fault sensitive to any changes
+! presumably a buffer over-run
  
+! the crash is occuring because of a buffer over-run
+! in IS_ATTRIB_VAL we call CREATE_TEMP_MEM_VAR to create an mr of size=1
+! later we call INIT_C_STRING_ARRAY and tell it to initialize this mr array
+! using a length nvdims=3  ==> OVERRUN
  
-def view/xlim=0,.333/ylim=.5,1    ul6
-def view/xlim=.333,.666/ylim=.5,1 um6
-def view/xlim=.666,1/ylim=.5,1    ur6
-def view/xlim=0,.333/ylim=0,.5    ll6
-def view/xlim=.333,1/ylim=0,.5    lr6
+! This bug never reared its head in the pre-dynamic memory Ferret, because
+! the buffers couldn't really be over-run, since they were part of a huge
+! static memory block
  
-! The example from the FAQ, "Overlaying a time series on a 2D plot"
-set view ul6
+! other INIT_* calls in IS_ATTRIB_VAL may have a similar issue
  
-! Define a 2D field in YT with a time axis in units of DAYS
-DEFINE AXIS/T="1-JAN-1980":"1-JAN-1990":5/UNITS=DAYS tdays
-DEFINE AXIS/Y=0:40N:2/UNITS=DEGREES yax
  
-LET/TITLE=XY my_var = 10*cos(T[gt=tdays]/2000)*EXP((-1)*y[gy=yax]/20)
+set mode diag
  
-! make a Hovmoller plot
+use ocean_atlas_temp
+use gt4d011
+use levitus_climatology
  
-SHADE my_var
+use coads_climatology
  
-! This did not work previously.  Needed to re-define the axis in units of hours
-PLOT/OVER my_var[Y=@loc:-4]
+let lnames = ..dimnames[d=2]
  
+CANCEL DATA/ALL
+ canceling dset ./ocean_atlas_temp.cdf
+ canceling dset ./gt4d011.cdf
+ canceling dset ./levitus_climatology.cdf
+ canceling dset ./coads_climatology.cdf
  
-! XT variable
-set view um6
+! this line seems to be essential making the crash happen
+PPL TICS .125,.25,.125,.25 !reset tics to default
  
-DEFINE AXIS/X=0:40E:1/UNITS=DEGREES xax
-LET/TITLE="XT" my_var = 10*cos(T[gt=tdays]/20)*EXP((-1)*x[gx=xax]/20)
-SHADE/t=1-jan-1987:1-jan-1989 my_var
-PLOT/OVER/TRANS/THICK my_var[x=@loc:-4]
+use coads_climatology
  
+let a = sst[d=1].dimnames
+show mem/diag   ! looks like no dynamic memory actions have occured
+    No split/gather occurred in the last evaluation
+    Total table slots: 500
+    Free table slots: 500
+    Un-cached variables: 0
+    SET MEMORY/SIZE: 25.6 megawords
+    Peak demand: 0 words
+    Current cache: 0 words
+ 
+! resulted in a seg fault (on 32-bit stout)
+list a[i=2]
+ getgrid EX#1     C:  5 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ getgrid A        C:  7 dset:   1 I:      1      1  J:    1    1  K:    1    1  L:      1      1  M:    1    1  N:    1    1
+ eval    EX#1     C:  4 dset:   1 I:   -999   -999  J: -999 -999  K: -999 -999  L:   -999   -999
+ eval    A        C:  6 dset:   1 I:      2      2  J: -999 -999  K: -999 -999  L:   -999   -999
+ attrib_val attr     M:  3 dset:   1 I:      2      2  J: -999 -999  K: -999 -999  L:   -999   -999
+             VARIABLE : SST[D=coads_climatology].DIMNAMES
+             FILENAME : coads_climatology.cdf
+             X        : 2
+        "COADSY"
  
-! Irregular time axis
-set view ur6
  
-DEFINE AXIS/T0=1-jan-2001/UNITS=DAYS tdays = {1,2,4,5,6,8,9,10,12,30,35,41,42,44,45,46,48,49,50,58}
-DEFINE AXIS/Y=0:40N:2/UNITS=DEGREES yax
-LET my_var = 10*cos(T[gt=tdays])*EXP((-1)*y[gy=yax]/8)
+GO bn_reset
+cancel mode verify
+ dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
+ -DELETE A        M:  2 dset:   1 I:      2      2  J: -999 -999  K: -999 -999  L:   -999   -999
+ dealloc  dynamic grid XABSTRACT       ABSTRACT  NORMAL    NORMAL    NORMAL
+ -DELETE attr     M:  3 dset:   1 I:      2      2  J: -999 -999  K: -999 -999  L:   -999   -999
+ canceling dset ./coads_climatology.cdf
+ooooooooooooooooooooooooooooooooooooooooooo
+GO err71_user_var_attrib
+! err71_user_var_attrib.jnl
+! See ticket 2132
+ 
+! command was trying to list dataset information for a user variable
+!
  
-FILL/title="irregular t" my_var
-PLOT/OVER/thick/y=8 my_var+10
+let a = 1
+define att a.myAttr = "whatever"
+show att a.myAttr
+ a.myAttr = whatever 
  
  
-! Like the dataset example from the FAQ
-set view ll6
+GO bn_reset
+cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+GO err71_save_bounds
+! err71_save_bounds
+! Ticket 2524. The SAVE command previously gave an error
  
-use "http://ferret.pmel.noaa.gov/thredds/dodsC/data/PMEL/COADS/coads_sst.cdf"
-set region/x=40w/y=10n:60n/t=15-jan-1982:15-dec-1983
-shade sst
-plot/over/thick/TITLE="at 20"  sst[y=@LOC:20]
+define axis/t time = {1,2,4}
+use write_int_att.nc
  
-can data/all
-can region
+! Tell Ferret to use the axis names from the file, and write data
+cancel mode upcase
+save/file=a.nc/clobber mhchla
  
-! vector plots with a time series
-set view lr6
+! move this to bn_gif.jnl
+! GO bn_reset
+! GO err71_vs_constant
  
-use "http://ferret.pmel.noaa.gov/thredds/dodsC/data/PMEL/COADS/coads_uwnd.cdf"
-use "http://ferret.pmel.noaa.gov/thredds/dodsC/data/PMEL/COADS/coads_vwnd.cdf"
+! run this from bn_gif.jnl
+! GO bn_reset
+! GO err71_vs_lon_over
  
-vec/x=0/y=-10:10/t=1-jan-1980:1-jan-1990 uwnd[d=1], vwnd[d=2]
  
-let wspd = (uwnd[d=1]*uwnd[d=1] + vwnd[d=2]*vwnd[d=2])^0.5
-plot/over/color=red/thick/x=0/t=1-jan-1980:1-jan-1990 wspd[y=-10:10 at ave]
+GO bn_reset
+cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+GO err71_point_average
+! err71_point_average.jnl
+! Ticket 2538 6/2017
+! Average over a point removes dependence on that dimension.
+! previously returned missing-data
+ 
+let a = x[x=1:5] + y[y=1:3]
+list a
+             VARIABLE : X[X=1:5] + Y[Y=1:3]
+             SUBSET   : 5 by 3 points (X-Y)
+             1      2      3      4      5    
+             1      2      3      4      5
+ 1   / 1:  2.000  3.000  4.000  5.000  6.000
+ 2   / 2:  3.000  4.000  5.000  6.000  7.000
+ 3   / 3:  4.000  5.000  6.000  7.000  8.000
  
-FRAME/FILE=bn_hovmuller_overlays.gif
+list a[y=2 at ave]
+             VARIABLE : X[X=1:5] + Y[Y=1:3]
+             SUBSET   : 5 points (X)
+             Y        : 2 (averaged)
+ 1   / 1:  3.000
+ 2   / 2:  4.000
+ 3   / 3:  5.000
+ 4   / 4:  6.000
+ 5   / 5:  7.000
+list a[x=2 at ave]
+             VARIABLE : X[X=1:5] + Y[Y=1:3]
+             SUBSET   : 3 points (Y)
+             X        : 2 (averaged)
+ 1   / 1:  3.000
+ 2   / 2:  4.000
+ 3   / 3:  5.000
+list a[y=2 at ave,x=4 at ave]  ! all prev. versions listed these as missing
+             VARIABLE : X[X=1:5] + Y[Y=1:3]
+             X        : 4 (XY ave)
+             Y        : 2 (XY ave)
+          6.000
  
+let a = z[z=1:5] + t[t=1:3]
+list a[z=2 at ave]
+             VARIABLE : Z[Z=1:5] + T[T=1:3]
+             SUBSET   : 3 points (T)
+             Z        : 2 (averaged)
+ 1   / 1:  3.000
+ 2   / 2:  4.000
+ 3   / 3:  5.000
+list a[t=2 at ave]
+             VARIABLE : Z[Z=1:5] + T[T=1:3]
+             SUBSET   : 5 points (Z)
+             T        : 2 (averaged)
+ 1   / 1:  3.000
+ 2   / 2:  4.000
+ 3   / 3:  5.000
+ 4   / 4:  6.000
+ 5   / 5:  7.000
  
-Go bn_reset
-cancel mode verify
-GO bn_labels_on_taxis
-! bn_labels_on_taxis.jnl
-! tests of labels and overlays on time axes
+list a[t=2 at ave,z=4 at ave]
+             VARIABLE : Z[Z=1:5] + T[T=1:3]
+             Z        : 4 (ZT ave)
+             T        : 2 (ZT ave)
+          6.000
  
+let a = _e[e=1:5] + _f[f=1:3]
+list a[f=2 at ave]
+             VARIABLE : _E[E=1:5] + _F[F=1:3]
+             SUBSET   : 5 points (E)
+             F        : 2 (averaged)
+ 1   / 1:  3.000
+ 2   / 2:  4.000
+ 3   / 3:  5.000
+ 4   / 4:  6.000
+ 5   / 5:  7.000
+list a[e=2 at ave]
+             VARIABLE : _E[E=1:5] + _F[F=1:3]
+             SUBSET   : 3 points (F)
+             E        : 2 (averaged)
+ 1   / 1:  3.000
+ 2   / 2:  4.000
+ 3   / 3:  5.000
+list a[f=2 at ave,e=4 at ave]
+             VARIABLE : _E[E=1:5] + _F[F=1:3]
+             E        : 4 ( ave)
+             F        : 2 ( ave)
+          6.000
  
-set v ul
-DEFINE AXIS/T=1-JAN-1980:31-JAN-1985:30/T0=1-jan-1980/UNIT=days tax
-LET tt = t[gt=tax]
-LET tvar = cos(tt/200)
-plot tvar
+! Check result if the missing-flag is zero
  
-LET xsqr = {-1,1,1,-1}                ! coordinates of a unit square
-LET ysqr = {-1,-1,1,1}
-LET xcircle = COS(6.3*i[i=1:42]/40)    ! coordinates of unit circle
-LET ycircle = SIN(6.3*i[i=1:42]/40)
+let/bad=0 a = x[x=1:5] + y[y=1:3]
+list a
+             VARIABLE : X[X=1:5] + Y[Y=1:3]
+             SUBSET   : 5 by 3 points (X-Y)
+             1      2      3      4      5    
+             1      2      3      4      5
+ 1   / 1:  2.000  3.000  4.000  5.000  6.000
+ 2   / 2:  3.000  4.000  5.000  6.000  7.000
+ 3   / 3:  4.000  5.000  6.000  7.000  8.000
  
-!   place an "X" at the value exactly at 7-aug-1982
+list a[y=2 at ave]
+             VARIABLE : X[X=1:5] + Y[Y=1:3]
+             SUBSET   : 5 points (X)
+             Y        : 2 (averaged)
+ 1   / 1:  3.000
+ 2   / 2:  4.000
+ 3   / 3:  5.000
+ 4   / 4:  6.000
+ 5   / 5:  7.000
+list a[x=2 at ave]
+             VARIABLE : X[X=1:5] + Y[Y=1:3]
+             SUBSET   : 3 points (Y)
+             X        : 2 (averaged)
+ 1   / 1:  3.000
+ 2   / 2:  4.000
+ 3   / 3:  5.000
+list a[y=2 at ave,x=4 at ave]  ! all prev. versions listed these as missing
+             VARIABLE : X[X=1:5] + Y[Y=1:3]
+             X        : 4 (XY ave)
+             Y        : 2 (XY ave)
+          6.000
+ 
+ 
+! multiple directions including e,f
+ 
+use 6dfile.nc
+ 
+! average, result is on xz
+let uave = u[i=1:3,j=50 at ave,l=1 at ave,m=3 at ave,n=2 at ave]
+list uave
+             VARIABLE : U[I=1:3,J=50 at AVE,L=1 at AVE,M=3 at AVE,N=2 at AVE]
+             FILENAME : 6dfile.nc
+             SUBSET   : 3 by 27 points (LONGITUDE-DEPTH (m))
+             LATITUDE : 6.2N to 6.5N
+             TIME     : 15-MAR-1983 09:30 to 15-MAR-1983 10:30
+             E        : 2.5 to 3.5
+             F        : 2 to 4
+                161W   160W   159W   
+                  1      2      3
+ 5       /  1:  24.15  24.10  24.52
+ 15      /  2:  41.58  41.84  42.38
+ 25      /  3:  36.76  36.95  37.39
+ 35      /  4:  34.78  34.86  35.18
+ 45      /  5:  34.36  34.46  34.70
+ 55      /  6:  30.08  30.10  30.46
+ 65      /  7:  27.89  27.81  27.94
+ 75      /  8:  25.72  25.66  25.78
+ 85      /  9:  23.77  23.69  23.76
+ 95      / 10:  21.96  21.87  21.92
+ 106.2   / 11:  20.22  20.12  20.14
+ 120     / 12:  18.45  18.35  18.34
+ 136.2   / 13:  16.96  16.85  16.82
+ 155     / 14:  15.78  15.66  15.61
+ 177.5   / 15:  14.85  14.72  14.64
+ 205     / 16:  14.11  13.97  13.85
+ 240     / 17:  13.43  13.25  13.10
+ 288.5   / 18:  12.56  12.35  12.15
+ 362.5   / 19:  11.30  11.04  10.78
+ 483.5   / 20:   9.32   8.99   8.67
+ 680     / 21:   6.68   6.33   5.99
+ 979.5   / 22:   4.31   4.04   3.78
+ 1395.5  / 23:   3.09   2.96   2.85
+ 1916    / 24:   3.05   3.07   3.08
+ 2524    / 25:   3.24   3.36   3.47
+ 3174    / 26:   3.19   3.36   3.51
+ 3824    / 27:   3.19   3.39   3.56
+save/clobber/nobounds/file=a.nc uave
+sp ncdump -h a.nc
+netcdf a {
+dimensions:
+	PSXU69_72 = 3 ;
+	PSZT = 27 ;
+variables:
+	double PSXU69_72(PSXU69_72) ;
+		PSXU69_72:units = "degrees_east" ;
+		PSXU69_72:point_spacing = "even" ;
+		PSXU69_72:modulo = 360. ;
+		PSXU69_72:axis = "X" ;
+		PSXU69_72:standard_name = "longitude" ;
+	double PSZT(PSZT) ;
+		PSZT:units = "meters" ;
+		PSZT:positive = "down" ;
+		PSZT:point_spacing = "uneven" ;
+		PSZT:axis = "Z" ;
+		PSZT:standard_name = "depth" ;
+	double uave(PSZT, PSXU69_72) ;
+		uave:missing_value = -1.e+34 ;
+		uave:_FillValue = -1.e+34 ;
+		uave:long_name = "U[I=1:3,J=50 at AVE,L=1 at AVE,M=3 at AVE,N=2 at AVE]" ;
+		uave:history = "From 6dfile" ;
+
+// global attributes:
+		:history = "FERRET V7.2  DD-MON-YY" ;
+		:Conventions = "CF-1.6" ;
+}
+ 
+! average, result is on yt
+let uave = u[i=3 at ave,j=50:60,l=3:6,z=40 at ave,m=3 at ave,n=2 at ave]
+list uave
+             VARIABLE : U[I=3 at AVE,J=50:60,L=3:6,Z=40 at AVE,M=3 at AVE,N=2 at AVE]
+             FILENAME : 6dfile.nc
+             SUBSET   : 11 points (LATITUDE)
+             LONGITUDE: 159.5W to 158.5W
+             DEPTH (m): 35
+             TIME     : 15-MAR-1983 12:00
+             E        : 2.5 to 3.5
+             F        : 2 to 4
+ 9.67N / 60: -21.61
+ 9.33N / 59: -15.77
+ 9N    / 58: -10.95
+ 8.67N / 57:  -4.78
+ 8.33N / 56:   0.43
+ 8N    / 55:   5.49
+ 7.67N / 54:  10.50
+ 7.33N / 53:  15.96
+ 7N    / 52:  21.89
+ 6.67N / 51:  28.23
+ 6.33N / 50:  35.20
+save/clobber/nobounds/file=a.nc uave
+sp ncdump -h a.nc
+netcdf a {
+dimensions:
+	PSYU15_75 = 11 ;
+	TIME = UNLIMITED ; // (1 currently)
+variables:
+	double PSYU15_75(PSYU15_75) ;
+		PSYU15_75:units = "degrees_north" ;
+		PSYU15_75:point_spacing = "uneven" ;
+		PSYU15_75:axis = "Y" ;
+		PSYU15_75:standard_name = "latitude" ;
+	double TIME(TIME) ;
+		TIME:axis = "T" ;
+		TIME:units = "hour since 1980-01-14 14:00:00" ;
+		TIME:time_origin = "14-JAN-1980 14:00:00" ;
+		TIME:standard_name = "time" ;
+	double uave(TIME, PSYU15_75) ;
+		uave:missing_value = -1.e+34 ;
+		uave:_FillValue = -1.e+34 ;
+		uave:long_name = "U[I=3 at AVE,J=50:60,L=3:6,Z=40 at AVE,M=3 at AVE,N=2 at AVE]" ;
+		uave:history = "From 6dfile" ;
+
+// global attributes:
+		:history = "FERRET V7.2  DD-MON-YY" ;
+		:Conventions = "CF-1.6" ;
+}
+ 
+! average, result is on e-f, single time
+let uave = u[i=3 at ave,y=8 at ave,z=15 at ave,t="15-MAR-1983 11:00"]
+list uave
+             VARIABLE : U[I=3 at AVE,Y=8 at AVE,Z=15 at AVE,T="15-MAR-1983 11:00"]
+             FILENAME : 6dfile.nc
+             SUBSET   : 5 by 4 points (E-F)
+             LONGITUDE: 159.5W to 158.5W
+             LATITUDE : 8N
+             DEPTH (m): 15
+             TIME     : 15-MAR-1983 11:00
+             1      2      3      4      5    
+             1      2      3      4      5
+ 1   / 1: -2.239 -1.239 -0.239  0.761  1.761
+ 3   / 2: -2.039 -1.039 -0.039  0.961  1.961
+ 5   / 3: -1.839 -0.839  0.161  1.161  2.161
+ 7   / 4: -1.639 -0.639  0.361  1.361  2.361
+save/clobber/nobounds/file=a.nc uave
+sp ncdump -h a.nc
+netcdf a {
+dimensions:
+	TIME = 1 ;
+	EAXIS = 5 ;
+	FAXIS = 4 ;
+variables:
+	double TIME(TIME) ;
+		TIME:point_spacing = "uneven" ;
+		TIME:axis = "T" ;
+		TIME:units = "hour since 1980-01-14 14:00:00" ;
+		TIME:time_origin = "14-JAN-1980 14:00:00" ;
+		TIME:standard_name = "time" ;
+	double EAXIS(EAXIS) ;
+		EAXIS:point_spacing = "even" ;
+		EAXIS:axis = "E" ;
+	double FAXIS(FAXIS) ;
+		FAXIS:point_spacing = "even" ;
+		FAXIS:axis = "F" ;
+	double uave(FAXIS, EAXIS, TIME) ;
+		uave:missing_value = -1.e+34 ;
+		uave:_FillValue = -1.e+34 ;
+		uave:long_name = "U[I=3 at AVE,Y=8 at AVE,Z=15 at AVE,T=\"15-MAR-1983 11:00\"]" ;
+		uave:history = "From 6dfile" ;
+
+// global attributes:
+		:history = "FERRET V7.2  DD-MON-YY" ;
+		:Conventions = "CF-1.6" ;
+}
+ 
+GO bn_reset
+cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+GO err71_2d_ave_miss0
+! err71_2d_ave_miss0.jnl
+! Ticket 2539: data with 0 as missing flag,
+! 2D average or definite integral all-missing
+! 6/5/2017 *acm*
+ 
+use gt4d011.cdf
+let temp0 = temp
+set var/bad=0. temp0
+save/clobber/file=a.nc temp0
+can dat/all
+can var/all
+use a.nc
+ 
+! Both of these should have all valid numbers,
+! previously (in v7.1+) they were all-missing.
+list/k=1/L=1:10 temp0[x=@ave,y=@ave], temp0[x=@din,y=@din]
+             DATA SET: ./a.nc
+             TIME: 14-AUG-1982 11:00 to 14-OCT-1982 07:00
+             LONGITUDE: 140W to 122W
+             LATITUDE: 3.7S to 3.7N
+             DEPTH (m): 5
+ Column  1: TEMP0[X=@AV4,Y=@AV4] is TEMP
+ Column  2: TEMP0[X=@IN4,Y=@IN4] is TEMP
+                     TEMP0     TEMP0
+17-AUG-1982 12 /  1:  26.50  4.322E+13
+23-AUG-1982 14 /  2:  26.63  4.344E+13
+29-AUG-1982 16 /  3:  26.81  4.372E+13
+04-SEP-1982 18 /  4:  27.02  4.407E+13
+10-SEP-1982 20 /  5:  27.30  4.452E+13
+16-SEP-1982 22 /  6:  27.65  4.510E+13
+23-SEP-1982 00 /  7:  28.07  4.577E+13
+29-SEP-1982 02 /  8:  28.56  4.658E+13
+05-OCT-1982 04 /  9:  29.17  4.757E+13
+11-OCT-1982 06 / 10:  29.84  4.866E+13
+ 
+GO bn_reset
+cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+GO err71_read_delim
+! err71_read_delim.jnl
+! 6/9/2017 ACM
+! Ticket 2540, Write errors when data is read using - to skip fields
+! in a delimited read
+ 
+define axis/x=1:10:1 row_ax
+define grid/x=row_ax in_grid
+ 
+ 
+FILE/FORM=delim/skip=1/grid=in_grid\
+/var="YEAR,MONTH,LON,LAT,-,HAULJOIN,LENGTH,FREQ,-,BTTM_TEMP,SST,BTTM_DEPTH,CPUE,BIN"\
+/typ="num,num,num,num,-,num,num,num,-,num,num,num,num,num,"/delim="\,"\
+ shorttest.dat
+ 
+set var/title="year" YEAR
+set var/title="month" MONTH
+set var/title="lon"/units="degrees_E" LON
+set var/title="lat"/units="degrees_N" LAT
+set var/title="hauljoin" HAULJOIN
+set var/title="length"/units="mm" LENGTH
+set var/title="freq"/units="Number" FREQ
+set var/title="bttm_temp"/units="degrees_C" BTTM_TEMP
+set var/title="SST"/units="degrees_C" SST
+set var/title="bttm_depth"/units="m" BTTM_DEPTH
+set var/title="CPUE"/units="fish/km**2" CPUE
+set var/title="bin_size"/units="mm" BIN
+ 
+! Previously this caused netcdf library errors and exited out of Ferret
+save/file=a.nc/clobber year, month, lon, lat, hauljoin, length, freq, bttm_temp, SST, bttm_depth, CPUE, bin
+ 
+sp ncdump -h a.nc
+netcdf a {
+dimensions:
+	row_ax = 10 ;
+variables:
+	double row_ax(row_ax) ;
+		row_ax:point_spacing = "even" ;
+		row_ax:axis = "X" ;
+	double YEAR(row_ax) ;
+		YEAR:missing_value = -1.e+34 ;
+		YEAR:_FillValue = -1.e+34 ;
+		YEAR:long_name = "year" ;
+		YEAR:history = "From shorttest.dat" ;
+	double MONTH(row_ax) ;
+		MONTH:missing_value = -1.e+34 ;
+		MONTH:_FillValue = -1.e+34 ;
+		MONTH:long_name = "month" ;
+		MONTH:history = "From shorttest.dat" ;
+	double LON(row_ax) ;
+		LON:missing_value = -1.e+34 ;
+		LON:_FillValue = -1.e+34 ;
+		LON:long_name = "lon" ;
+		LON:units = "degrees_E" ;
+		LON:history = "From shorttest.dat" ;
+	double LAT(row_ax) ;
+		LAT:missing_value = -1.e+34 ;
+		LAT:_FillValue = -1.e+34 ;
+		LAT:long_name = "lat" ;
+		LAT:units = "degrees_N" ;
+		LAT:history = "From shorttest.dat" ;
+	double HAULJOIN(row_ax) ;
+		HAULJOIN:missing_value = -1.e+34 ;
+		HAULJOIN:_FillValue = -1.e+34 ;
+		HAULJOIN:long_name = "hauljoin" ;
+		HAULJOIN:history = "From shorttest.dat" ;
+	double LENGTH(row_ax) ;
+		LENGTH:missing_value = -1.e+34 ;
+		LENGTH:_FillValue = -1.e+34 ;
+		LENGTH:long_name = "length" ;
+		LENGTH:units = "mm" ;
+		LENGTH:history = "From shorttest.dat" ;
+	double FREQ(row_ax) ;
+		FREQ:missing_value = -1.e+34 ;
+		FREQ:_FillValue = -1.e+34 ;
+		FREQ:long_name = "freq" ;
+		FREQ:units = "Number" ;
+		FREQ:history = "From shorttest.dat" ;
+	double BTTM_TEMP(row_ax) ;
+		BTTM_TEMP:missing_value = -1.e+34 ;
+		BTTM_TEMP:_FillValue = -1.e+34 ;
+		BTTM_TEMP:long_name = "bttm_temp" ;
+		BTTM_TEMP:units = "degrees_C" ;
+		BTTM_TEMP:history = "From shorttest.dat" ;
+	double SST(row_ax) ;
+		SST:missing_value = -1.e+34 ;
+		SST:_FillValue = -1.e+34 ;
+		SST:long_name = "SST" ;
+		SST:units = "degrees_C" ;
+		SST:history = "From shorttest.dat" ;
+	double BTTM_DEPTH(row_ax) ;
+		BTTM_DEPTH:missing_value = -1.e+34 ;
+		BTTM_DEPTH:_FillValue = -1.e+34 ;
+		BTTM_DEPTH:long_name = "bttm_depth" ;
+		BTTM_DEPTH:units = "m" ;
+		BTTM_DEPTH:history = "From shorttest.dat" ;
+	double CPUE(row_ax) ;
+		CPUE:missing_value = -1.e+34 ;
+		CPUE:_FillValue = -1.e+34 ;
+		CPUE:long_name = "CPUE" ;
+		CPUE:units = "fish/km**2" ;
+		CPUE:history = "From shorttest.dat" ;
+	double BIN(row_ax) ;
+		BIN:missing_value = -1.e+34 ;
+		BIN:_FillValue = -1.e+34 ;
+		BIN:long_name = "bin_size" ;
+		BIN:units = "mm" ;
+		BIN:history = "From shorttest.dat" ;
+
+// global attributes:
+		:history = "FERRET V7.2  DD-MON-YY" ;
+		:Conventions = "CF-1.6" ;
+}
+ 
+GO bn_reset
+cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+GO err71_isready_unknown
+! err71_isready_unknown.jnl
+! ticket 2533, variable b depending on undefined variable c is
+! reported not ready, but variable a with a regridding operation is
+! mistakenly reported ready.
+ 
+use coads_climatology
+let a = b[gxy=sst[d=1]]
+let b = c
+ 
+! both should return 0
+say `b,r=isready`
+ !-> MESSAGE/CONTINUE 0
+0
+say `a,r=isready`
+ !-> MESSAGE/CONTINUE 0
+0
+ 
+! And VTREE reported no unknown variables in its tree
+! The line for C should say UNKNOWN VARIABLE
+sho var/tree a
+   in default dataset coads_climatology
+   A = B[GXY=SST[D=1]]
+     B = C
+       C ??			<== UNKNOWN VARIABLE ******
+ 
+ 
+GO bn_reset
+cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+GO err71_ppl_sho_empty
+! err71_ppl_sho_empty.jnl
+! ticket 2543, PPL SHOW pplsym is a command, but it
+! gave a Fortran runtime error if given with no argument
+! Now send these errors through the Ferret errmsg routine.
+ 
+! This is a valid sequence, pplus symbol definition
+ 
+pplus set xpos 3.2
+pplus show xpos
+ XPOS                           = 3.2
+ 
+! intentional error
+ 
+set mode ignore
+ 
+! This is a correct error message, undefined symbol
+pplus show nosymbol
+ 
+! This previously hit a runtime error, symbol name missing.
+ppl show
+ 
+! Another PPL error we might hit is an invalid command.
+! Write this error message
+PPL nonsense
+ 
+set mode/last ignore
+ 
+ 
+GO bn_reset
+cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+GO err71_string_and_if
+! err71_string_and_if.jnl
+!  6/28/2018, ticket 2547
+ 
+! problem with masked strings -> unexpected values instead of strings:
+can var/all
+let test = {1,1,0}
+let strings = {"a", "b", "c"}
+list if (test) then strings
+             VARIABLE : IF (TEST) THEN STRINGS
+             SUBSET   : 3 points (X)
+ 1   / 1:"a"
+ 2   / 2:"b"
+ 3   / 3:"" 
+ 
+! works: define a masked variable instead, then list
+let masked = if (test) then strings
+list masked
+             VARIABLE : IF (TEST) THEN STRINGS
+             SUBSET   : 3 points (X)
+ 1   / 1:"a"
+ 2   / 2:"b"
+ 3   / 3:"" 
+ 
+! alternatively, do the same listing for a float first
+let floats = {2,3,4}
+list if (test) then floats
+             VARIABLE : IF (TEST) THEN FLOATS
+             SUBSET   : 3 points (X)
+ 1   / 1:  2.000
+ 2   / 2:  3.000
+ 3   / 3:   ....
+ 
+! now, also for strings listing while masking works
+list if (test) then strings
+             VARIABLE : IF (TEST) THEN STRINGS
+             SUBSET   : 3 points (X)
+ 1   / 1:"a"
+ 2   / 2:"b"
+ 3   / 3:"" 
+ 
+ 
+ 
+! the next problem comes with xsequence
+! again unexpected numerical values instead of strings
+can var/all
+let test = {1,1,0}
+let strings = {"a", "b", "c"}
+let masked = if (test) then strings
+list xsequence(masked)
+             VARIABLE : XSEQUENCE(MASKED)
+             SUBSET   : 3 points (X)
+ 1   / 1:"a"
+ 2   / 2:"b"
+ 3   / 3:"" 
+ 
+! but doing a listing first fixes it:
+can var/all
+let test = {1,1,0}
+let strings = {"a", "b", "c"}
+list if (test) then strings
+             VARIABLE : IF (TEST) THEN STRINGS
+             SUBSET   : 3 points (X)
+ 1   / 1:"a"
+ 2   / 2:"b"
+ 3   / 3:"" 
+let masked = if (test) then strings
+list xsequence(masked)
+             VARIABLE : XSEQUENCE(MASKED)
+             SUBSET   : 3 points (X)
+ 1   / 1:"a"
+ 2   / 2:"b"
+ 3   / 3:"" 
+ 
+ 
+! NOT fixed by defining a second masked variable before:
+can var/all
+let test = {1,1,0}
+let strings = {"a", "b", "c"}
+let masked = if (test) then strings
+let masked2 = xsequence(masked)
+list masked2
+             VARIABLE : XSEQUENCE(MASKED)
+             SUBSET   : 3 points (X)
+ 1   / 1:"a"
+ 2   / 2:"b"
+ 3   / 3:"" 
+ 
+ 
+GO bn_reset
+cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+GO err71_expr_w_const
+! err71_expr_w_const.jnl
+! ticket 2313: return= is loading the whole
+! grid unnecessarily in the last example
+ 
+set mem/size=1
+def ax/t=1-jan-0001:1-jan-1000:1/unit=year tax
+let a = t[gt=tax] + x[gx=1:1000:1] + y[gy=1:1000:1]
+ 
+! These work fine
+say `a,return=cal`
+ !-> MESSAGE/CONTINUE GREGORIAN
+GREGORIAN
+ 
+use coads_climatology
+let s1= sst[x=@ave,y=1,L=@max]
+say `s1*a,return=cal`
+ !-> MESSAGE/CONTINUE GREGORIAN
+GREGORIAN
+ 
+! but the constant variable "let one = 1" introduced abstract
+! axes to the grid which  caused Ferret to try to load the
+! data in A which is large
+ 
+let one = 1
+let a1 = a*one
+show grid a1
+    GRID (G###)
+ name       axis              # pts   start                end                 subset
+ (AX###)   X                 1000 r   1                    1000                1000 pts
+ (AX###)   Y                 1000 r   1                    1000                1000 pts
+ normal    Z
+ tax       TIME              1000 r   01-JAN-0001 00:00    01-JAN-1000 06:10   full
+say `a*one,return=cal`
+ !-> MESSAGE/CONTINUE GREGORIAN
+GREGORIAN
+ 
+GO bn_reset
+cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+GO err71_colorlevs
+! err71_colorlevs
+! See ticket 2550. Top data value is not among color levels used in the plot.
+! And symbols LEV* do not list the levels used.
+ 
+use co_emac.nc
+stat co_emac
+ 
+             CO EMAC
+             LONGITUDE: 0E to 120E
+             LATITUDE: 0 to 40N
+             Z:  N/A
+             T:  N/A
+             E:  N/A
+             F:  N/A
+             DATA SET: ./co_emac.nc
+ 
+ Total # of data points: 48 (12*4*1*1*1*1)
+ # flagged as bad  data: 4
+ Minimum value: 6.152674857E-08
+ Maximum value: 0.00000018643
+ Mean    value: 0.000000087383 (unweighted average)
+ Standard deviation: 2.230821645E-08
+ 
+! previously there were 25 levels chosen by the automatic
+! method, missing the top one because of roundoff error.
+! Thus one cell went unfilled.  The LEV_MIN etc symbols were
+! set to 0 because of inadequate formatting of the tiny numbers.
+ 
+set mode nlevels 30
+shade co_emac
+sh sym lev*
+LEV_MIN = "6.E-08"
+LEV_MAX = "1.9E-07"
+LEV_NUM = "26"
+LEV_DEL = "5.E-09"
+ 
+GO bn_reset
+cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+GO err71_repeat_paren
+! err71_repeat_paren.jnl
+! Ticket 2551. The second command with an extra parenthese is not reported
+! to be a syntax error but just reports wrong info.
+ 
+repeat/range=1:3:1/name=count (def sym count = `count`; say ($count); message/continue)
+ !-> repeat/range=1:3:1/name=count (def sym count = `count`; say ($count); message/continue)
+!-> REPEAT: COUNT:1
+ !-> def sym count = 1
+ !-> MESSAGE/CONTINUE 1
+1
+
+!-> REPEAT: COUNT:2
+ !-> def sym count = 2
+ !-> MESSAGE/CONTINUE 2
+2
+
+!-> REPEAT: COUNT:3
+ !-> def sym count = 3
+ !-> MESSAGE/CONTINUE 3
+3
+
+ 
+! Previously the extra paren at the end did not trigger an error
+! but caused a parsing error so the command
+!   say ($count)
+! was parsed and fixed at "say 3" before the loop started.
+ 
+set mode ignore
+repeat/range=1:3:1/name=count (def sym count = `count`; say ($count); message/continue))
+set mode/last ignore
+ 
+*** Running ferret script: bn_compressed_gather.jnl
+! bn_compressed_gather.jnl
+! 11/2016 (for trac #2428 enhancement)
+! updated 3/17 for dynamic memory and using SHOW MEM/DIAG
+ 
+! force a split/gather operation due to a T=@ave
+ 
+! in previous versions of Ferret the split could not occur on the transformed
+! axis, so the X axis would have been used.  Here the T=@ave axis will be used
+ 
+! Give us something to look at while we run these tests which dont make plots
+plot/noax/nolab/vlim=0:1/i=4:5 i
+annotate/norm/x=0/y=0.5 "@AC... running bn_compressed_gather"
+ 
+! ******* tests of  T=@DIN and T=@ave ******
+define axis/x=1:1001:1 xax
+define axis/y=1:10:1 yax
+define axis/T=1:1000:1 tax
+ 
+let xt = (x[gx=xax]-501) + 0*y[gy=yax] + T[gt=tax]
+ 
+* note: SUM of integers 1 to 1000 = N(N+1)/2 ==> 500500
+*       stat average of (x[gx=xax]-501) is zero
+*       so the full 2D stat mean should be 500500
+ 
+! there are 10*1000*1001 points in the full grid => ~10M
+! given the necessary cautions (see IS_STRIP and MODE FRUGAL),
+! a size of 12 for sure requires a gather operation
+! confirm gathering is occuring by looking at the diagnostic output
+ 
+!set mode desperate: 400000
+SET MEMORY/SIZE=12
+ 
+stat xt[l=@din]
+ 
+             (X[GX=XAX]-501) + 0*Y[GY=YAX] + T[GT=TAX]
+             X: 0.5 to 1001.5
+             Y: 0.5 to 10.5
+             Z:  N/A
+             T: 0.5 to 1000.5 (integrated)
+             E:  N/A
+             F:  N/A
+             DATA SET: N/A
+ 
+ Total # of data points: 10010 (1001*10*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 500
+ Maximum value: 1000500
+ Mean    value: 500500 (unweighted average)
+ Standard deviation: 288978
+SHOW MEMORY/DIAGNOSTIC   ! look at peak memory usage
+    Last gather
+        Variable    Axis   Xform     Chunk    Repeated
+        XT             T     DIN       209           1
+    Total table slots: 500
+    Free table slots: 494
+    Un-cached variables: 0
+    SET MEMORY/SIZE: 12 megawords
+    Peak demand: 2.122329 megawords
+    Current cache: 10.03002 megawords
+ 
+! many variations on this test
+! note that in the first case peak memory will show as ZERO.
+! The first SET MEMORY command resets the peak memory to zero, and
+! then the expression "xt[l=@din]" gets found without re-computation
+! having been computed just above
+GO bn_compressed_gather.sub xt[l=@din] 40 12
+ 
+ Total # of data points: 10010 (1001*10*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 500
+ Maximum value: 1000500
+ Mean    value: 500500 (unweighted average)
+    SET MEMORY/SIZE: 40 megawords
+    Peak demand: 20020 words
+    Current cache: 10.03002 megawords
+ 
+ Total # of data points: 10010 (1001*10*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 500
+ Maximum value: 1000500
+ Mean    value: 500500 (unweighted average)
+    SET MEMORY/SIZE: 12 megawords
+    Peak demand: 2.122329 megawords
+    Current cache: 10.03002 megawords
+COMPRESSED GATHER success on expression xt[l=@din]
+ 
+! altered limits syntax
+GO bn_compressed_gather.sub xt[l=1:1000 at din] 40 12
+ 
+ Total # of data points: 10010 (1001*10*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 500
+ Maximum value: 1000500
+ Mean    value: 500500 (unweighted average)
+    SET MEMORY/SIZE: 40 megawords
+    Peak demand: 20020 words
+    Current cache: 10.030021 megawords
+ 
+ Total # of data points: 10010 (1001*10*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 500
+ Maximum value: 1000500
+ Mean    value: 500500 (unweighted average)
+    SET MEMORY/SIZE: 12 megawords
+    Peak demand: 2.122329 megawords
+    Current cache: 10.03002 megawords
+COMPRESSED GATHER success on expression xt[l=1:1000 at din]
+ 
+! test T=@AVE
+GO bn_compressed_gather.sub xt[l=@ave]  40 12
+ 
+ Total # of data points: 10010 (1001*10*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 0.5
+ Maximum value: 1000.5
+ Mean    value: 500.5 (unweighted average)
+    SET MEMORY/SIZE: 40 megawords
+    Peak demand: 7.007 megawords
+    Current cache: 10.030021 megawords
+ 
+ Total # of data points: 10010 (1001*10*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 0.5
+ Maximum value: 1000.5
+ Mean    value: 500.5 (unweighted average)
+    SET MEMORY/SIZE: 12 megawords
+    Peak demand: 2.122329 megawords
+    Current cache: 10.03002 megawords
+COMPRESSED GATHER success on expression xt[l=@ave]
+ 
+! various partial grid points at end
+GO bn_compressed_gather.sub xt[T=@ave]  40 12
+ 
+ Total # of data points: 10010 (1001*10*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 0.5
+ Maximum value: 1000.5
+ Mean    value: 500.5 (unweighted average)
+    SET MEMORY/SIZE: 40 megawords
+    Peak demand: 7.007 megawords
+    Current cache: 10.030021 megawords
+ 
+ Total # of data points: 10010 (1001*10*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 0.5
+ Maximum value: 1000.5
+ Mean    value: 500.5 (unweighted average)
+    SET MEMORY/SIZE: 12 megawords
+    Peak demand: 2.122329 megawords
+    Current cache: 10.03002 megawords
+COMPRESSED GATHER success on expression xt[T=@ave]
+GO bn_compressed_gather.sub xt[T=0.5:1000.5 at ave]  40 12
+ 
+ Total # of data points: 10010 (1001*10*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 0.5
+ Maximum value: 1000.5
+ Mean    value: 500.5 (unweighted average)
+    SET MEMORY/SIZE: 40 megawords
+    Peak demand: 7.007 megawords
+    Current cache: 10.030021 megawords
+ 
+ Total # of data points: 10010 (1001*10*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 0.5
+ Maximum value: 1000.5
+ Mean    value: 500.5 (unweighted average)
+    SET MEMORY/SIZE: 12 megawords
+    Peak demand: 2.122329 megawords
+    Current cache: 10.03002 megawords
+COMPRESSED GATHER success on expression xt[T=0.5:1000.5 at ave]
+GO bn_compressed_gather.sub xt[T=0.6:1000.4 at ave]  40 12
+ 
+ Total # of data points: 10010 (1001*10*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 0.5
+ Maximum value: 1000.5
+ Mean    value: 500.5 (unweighted average)
+    SET MEMORY/SIZE: 40 megawords
+    Peak demand: 7.007 megawords
+    Current cache: 10.030021 megawords
+ 
+ Total # of data points: 10010 (1001*10*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 0.5
+ Maximum value: 1000.5
+ Mean    value: 500.5 (unweighted average)
+    SET MEMORY/SIZE: 12 megawords
+    Peak demand: 2.122329 megawords
+    Current cache: 10.03002 megawords
+COMPRESSED GATHER success on expression xt[T=0.6:1000.4 at ave]
+GO bn_compressed_gather.sub xt[T=1:1000 at ave]  40 12
+ 
+ Total # of data points: 10010 (1001*10*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 0.5
+ Maximum value: 1000.5
+ Mean    value: 500.5 (unweighted average)
+    SET MEMORY/SIZE: 40 megawords
+    Peak demand: 7.007 megawords
+    Current cache: 10.030021 megawords
+ 
+ Total # of data points: 10010 (1001*10*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 0.5
+ Maximum value: 1000.5
+ Mean    value: 500.5 (unweighted average)
+    SET MEMORY/SIZE: 12 megawords
+    Peak demand: 2.122329 megawords
+    Current cache: 10.03002 megawords
+COMPRESSED GATHER success on expression xt[T=1:1000 at ave]
+GO bn_compressed_gather.sub xt[T=1.2:999.8 at ave] 40 12
+ 
+ Total # of data points: 10010 (1001*10*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 0.5
+ Maximum value: 1000.5
+ Mean    value: 500.5 (unweighted average)
+    SET MEMORY/SIZE: 40 megawords
+    Peak demand: 7.007 megawords
+    Current cache: 10.030021 megawords
+ 
+ Total # of data points: 10010 (1001*10*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 0.5
+ Maximum value: 1000.5
+ Mean    value: 500.5 (unweighted average)
+    SET MEMORY/SIZE: 12 megawords
+    Peak demand: 2.122329 megawords
+    Current cache: 10.03002 megawords
+COMPRESSED GATHER success on expression xt[T=1.2:999.8 at ave]
+ 
+! *********************************************************
+! ******* tests of "4D" @DIN and @ave ******
+define axis/x=1:200:1 xax
+define axis/y=1:200:1 yax
+define axis/z=1:200:1 zax
+define axis/T=1:2:1  tax
+let xyz  = 0*X[gx=xax] + 0*Y[gy=yax] + Z[gz=zax]
+let xyzt = 0*X[gx=xax] + 0*Y[gy=yax] + Z[gz=zax] + 0*T[gt=tax]
+ 
+* note: SUM of Z is N*(N+1)/2 = 20100
+* area integral in XY is 200*200=40,000
+* total integral is 804,000,000 (8.04*E8)
+ 
+* 3D XYZ test
+* 2d slice size = 200*200 = 40,000
+* 3d full size is 8,000,000  - so 10,000,000 is bigger
+ 
+! confirm gathering is occuring by looking at the diagnostic output
+cancel memory/all
+!set mode desp: 2000000
+set memory/size = 2  ! 2M v 8M: requires split/gather
+! will split into 4 pieces (1/4 of 8,000,000 fits into 2,000,000)
+! so z=1:50; then =51:100, Z=101:150, Z=151:200
+stat xyz[x=@din,y=@din,z=@din]
+ 
+             0*X[GX=XAX] + 0*Y[GY=YAX] + Z[GZ=ZAX]
+             X: 0.5 to 200.5 (XYZ integ.)
+             Y: 0.5 to 200.5 (XYZ integ.)
+             Z: 0.5 to 200.5 (XYZ integ.)
+             T:  N/A
+             E:  N/A
+             F:  N/A
+             DATA SET: N/A
+ 
+ Total # of data points: 1 (1*1*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 8.04E+08
+ Maximum value: 8.04E+08
+ Mean    value: 8.04E+08 (unweighted average)
+SHOW MEMORY/DIAGNOSTIC   ! look at peak memory usage
+    Last gather
+        Variable    Axis   Xform     Chunk    Repeated
+        XYZ            Z     IN4         8           1
+    Total table slots: 500
+    Free table slots: 493
+    Un-cached variables: 0
+    SET MEMORY/SIZE: 2 megawords
+    Peak demand: 360010 words
+    Current cache: 1.920002 megawords
+ 
+! the clean version of same test
+GO bn_compressed_gather.sub xyz[x=@din,y=@din,z=@din] 20 2
+ 
+ Total # of data points: 1 (1*1*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 8.04E+08
+ Maximum value: 8.04E+08
+ Mean    value: 8.04E+08 (unweighted average)
+    SET MEMORY/SIZE: 20 megawords
+    Peak demand: 2 words
+    Current cache: 1.920002 megawords
+ 
+ Total # of data points: 1 (1*1*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 8.04E+08
+ Maximum value: 8.04E+08
+ Mean    value: 8.04E+08 (unweighted average)
+    SET MEMORY/SIZE: 2 megawords
+    Peak demand: 360010 words
+    Current cache: 1.920002 megawords
+COMPRESSED GATHER success on expression xyz[x=@din,y=@din,z=@din]
+ 
+! also do the average, which will provide a comparison result for the test
+! that follows
+! average along Z is 100.5
+GO bn_compressed_gather.sub xyz[x=@ave,y=@ave,z=@ave] 20 2
+ 
+ Total # of data points: 1 (1*1*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 100.5
+ Maximum value: 100.5
+ Mean    value: 100.5 (unweighted average)
+    SET MEMORY/SIZE: 20 megawords
+    Peak demand: 3.520089 megawords
+    Current cache: 8.000003 megawords
+ 
+ Total # of data points: 1 (1*1*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 100.5
+ Maximum value: 100.5
+ Mean    value: 100.5 (unweighted average)
+    SET MEMORY/SIZE: 2 megawords
+    Peak demand: 360010 words
+    Current cache: 1.920002 megawords
+COMPRESSED GATHER success on expression xyz[x=@ave,y=@ave,z=@ave]
+ 
+! Since the T axis has only 2 points, the arithmetic above shows that the
+! chunks to be gathered will still be too large after splitting on T, which
+! in theory would trigger further splitting along Z.  However, there is only
+! one opportunity to process compressed axis splitting -- in IS_STRIP
+! at the time that it is stripping off the compressed transformation.  But
+! a "4D" transform is stripped in a single operation. We choose an axis that
+! is long enough to break into sufficiently small fragments
+set memory/size = 6  ! 16M points in grid, 8M in each T-chunk
+stat xyzt[x=@ave,y=@ave,z=@ave,t=@ave]
+ 
+             0*X[GX=XAX] + 0*Y[GY=YAX] + Z[GZ=ZAX] + 0*T[GT=TAX]
+             X: 0.5 to 200.5 (XYZT ave)
+             Y: 0.5 to 200.5 (XYZT ave)
+             Z: 0.5 to 200.5 (XYZT ave)
+             T: 0.5 to 2.5 (XYZT ave)
+             E:  N/A
+             F:  N/A
+             DATA SET: N/A
+ 
+ Total # of data points: 1 (1*1*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 100.5
+ Maximum value: 100.5
+ Mean    value: 100.5 (unweighted average)
+show mem/diagnostic
+    Last gather
+        Variable    Axis   Xform     Chunk    Repeated
+        XYZT           Z     AV4        13           1
+    Total table slots: 500
+    Free table slots: 493
+    Un-cached variables: 0
+    SET MEMORY/SIZE: 6 megawords
+    Peak demand: 1.560004 megawords
+    Current cache: 5.600002 megawords
+ 
+! test splitting along 2 axes in succession by making T=@AVE into a separate
+! averaging operation
+CANCEL MEMORY/ALL
+LET xyzave = xyzt[x=@ave,y=@ave,z=@ave]
+!set mode desp: 2000000
+set memory/size = 6  ! 2M v 8M: requires split/gather
+stat xyzave[t=@ave]
+ 
+             XYZT[X=@AVE,Y=@AVE,Z=@AVE]
+             X: 0.5 to 200.5
+             Y: 0.5 to 200.5
+             Z: 0.5 to 200.5
+             T: 0.5 to 2.5 (averaged)
+             E:  N/A
+             F:  N/A
+             DATA SET: N/A
+ 
+ Total # of data points: 1 (1*1*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 100.5
+ Maximum value: 100.5
+ Mean    value: 100.5 (unweighted average)
+SHOW MEMORY/DIAGNOSTIC   ! look at peak memory usage
+    Last gather
+        Variable    Axis   Xform     Chunk    Repeated
+        XYZAVE         T     AVE         1           1
+        XYZT           Z     AV4        26           2
+    Total table slots: 500
+    Free table slots: 492
+    Un-cached variables: 0
+    SET MEMORY/SIZE: 6 megawords
+    Peak demand: 2.080005 megawords
+    Current cache: 4.880005 megawords
+ 
+! *********************************************************
+! ******* tests of T= @var and @std ******
+! the @var and @std transformation had to be switched to
+! a single pass algorithm in order to implement split/gather
+define axis/x=1:10000:1 xax
+define axis/T=1:1001:1 tax
+ 
+let xt = 0*x[gx=xax] + T[gt=tax]
+let constant = 0*X[gx=xax] + 0*T[gt=tax] + 1234
+let xt_zero_mean = 0*X[gx=xax] + (T[gt=tax]-501) + 1234
+ 
+* note: sum of a sequence 1 to N of square integers is [N*(N+1)*(2N+1)]/6
+* T-501 is 2 sequences: -500 to 1 and 1 to 500, therefore sum is
+* 2 * [500*501*1001]/6 = 83583500
+* mean of this sequence is 83583500/1001 = 83500
+* ==> look for this as the correct answer to variance
+ 
+! confirm gathering is occuring by looking at the diagnostic output
+!set mode desperate: 400000
+set memory/size= 12
+stat constant[l=@var]
+ 
+             Variance of 0*X[GX=XAX] + 0*T[GT=TAX] + 1234
+             X: 0.5 to 10000.5
+             Y:  N/A
+             Z:  N/A
+             T: 0.5 to 1001.5 (variance)
+             E:  N/A
+             F:  N/A
+             DATA SET: N/A
+ 
+ Total # of data points: 10000 (10000*1*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 0
+ Maximum value: 0
+ Mean    value: 0 (unweighted average)
+ Standard deviation: 0
+SHOW MEMORY/DIAGNOSTIC   ! look at peak memory usage
+    Last gather
+        Variable    Axis   Xform     Chunk    Repeated
+        CONSTANT       T     VAR       209           1
+    Total table slots: 500
+    Free table slots: 494
+    Un-cached variables: 0
+    SET MEMORY/SIZE: 12 megawords
+    Peak demand: 4.210001 megawords
+    Current cache: 10.04 megawords
+ 
+! clean test
+cancel memory/all
+GO bn_compressed_gather.sub constant[l=@var] 40 12
+ 
+ Total # of data points: 10000 (10000*1*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 0
+ Maximum value: 0
+ Mean    value: 0 (unweighted average)
+    SET MEMORY/SIZE: 40 megawords
+    Peak demand: 13.980001 megawords
+    Current cache: 10.04 megawords
+ 
+ Total # of data points: 10000 (10000*1*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 0
+ Maximum value: 0
+ Mean    value: 0 (unweighted average)
+    SET MEMORY/SIZE: 12 megawords
+    Peak demand: 4.210001 megawords
+    Current cache: 10.04 megawords
+COMPRESSED GATHER success on expression constant[l=@var]
+ 
+! known result
+GO bn_compressed_gather.sub xt_zero_mean[l=@var] 40 12
+ 
+ Total # of data points: 10000 (10000*1*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 83500
+ Maximum value: 83500
+ Mean    value: 83500 (unweighted average)
+    SET MEMORY/SIZE: 40 megawords
+    Peak demand: 13.980001 megawords
+    Current cache: 10.040001 megawords
+ 
+ Total # of data points: 10000 (10000*1*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 83500
+ Maximum value: 83500
+ Mean    value: 83500 (unweighted average)
+    SET MEMORY/SIZE: 12 megawords
+    Peak demand: 4.210001 megawords
+    Current cache: 10.04 megawords
+COMPRESSED GATHER success on expression xt_zero_mean[l=@var]
+ 
+! adding a constant doesn't effect the variance
+GO bn_compressed_gather.sub xt[l=@var] 40 12
+ 
+ Total # of data points: 10000 (10000*1*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 83500
+ Maximum value: 83500
+ Mean    value: 83500 (unweighted average)
+    SET MEMORY/SIZE: 40 megawords
+    Peak demand: 7.02 megawords
+    Current cache: 10.040001 megawords
+ 
+ Total # of data points: 10000 (10000*1*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 83500
+ Maximum value: 83500
+ Mean    value: 83500 (unweighted average)
+    SET MEMORY/SIZE: 12 megawords
+    Peak demand: 2.130209 megawords
+    Current cache: 10.04 megawords
+COMPRESSED GATHER success on expression xt[l=@var]
+ 
+! same test, but  on @std (only one line of code difference so limited test)
+* square root of 83500 is 288.96366553599779.
+* Note: previous Ferret versions gave a consistent value
+*  Minimum value: 288.9636655359978
+*  Maximum value: 288.9636655359978
+*  Mean    value: 288.9636655359978
+* Now (11/16) we are getting slight variations in the 16th decimal (see"6")
+*  Minimum value: 288.9636655359978
+*  Maximum value: 288.9636655359978
+*  Mean    value: 288.9636655359976
+* *sh* @std differs from @var only by taking a SQRT() in the finalization step.
+*      I suspect this is an artifact of the compiler optimization level
+GO bn_compressed_gather.sub xt[l=@std] 4000000 400000
+ 
+ Total # of data points: 10000 (10000*1*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 288.9636655359978
+ Maximum value: 288.9636655359978
+ Mean    value: 288.9636655360099 (unweighted average)
+    SET MEMORY/SIZE: 4000000 megawords
+    Peak demand: 10.04 megawords
+    Current cache: 10.040001 megawords
+ 
+ Total # of data points: 10000 (10000*1*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 288.9636655359978
+ Maximum value: 288.9636655359978
+ Mean    value: 288.9636655360099 (unweighted average)
+    SET MEMORY/SIZE: 400000 megawords
+    Peak demand: 10.04 megawords
+    Current cache: 10.04 megawords
+COMPRESSED GATHER success on expression xt[l=@std]
+ 
+ 
+! *********************************************************
+! ******* tests of "4D" @var and @std ******
+! the @var and @srd transformation had to be switched to
+! a single pass algorithm in order to implement split/gather
+define axis/x=1:200:1 xax
+define axis/y=1:200:1 yax
+define axis/z=1:201:1 zax
+define axis/T=1:200:1 tax
+! adding a constant doesn't effect variance
+let constant = 0*X[gx=xax] + 0*Y[gy=yax] + 0*Z[gz=zax] + 1234
+let xyz = 0*X[gx=xax] + 0*Y[gy=yax] + Z[gz=zax] + 1
+let xyz_zero_mean = 0*X[gx=xax] + 0*Y[gy=yax] + (Z[gz=zax]-101)
+ 
+* note: sum of a sequence 1 to N of square integers is [N*(N+1)*(2N+1)]/6
+* Z-101 is 2 sequences: -100 to -1 and 1 to 100, therefore sum is
+* 2 * [100*101*201]/6 = 676700
+* so the average is 676700/201 = 3366.666666 ...
+* At every XY point we have the identical sequence in Z, so the variance is
+* the same as the single Z sequence
+ 
+* 3D XYZ test
+* 2d slice size = 200*200 = 40,000
+* 3d full size is 8,000,000  - so 10,000,000 is bigger
+cancel memory/all
+!set mode desp: 2000000
+set memory/size = 2  ! 2M v 8M: requires split/gather
+! will split into 4 pieces (1/4 of 8,000,000 fits into 2,000,000)
+! so z=1:50; then =51:100, Z=101:150, Z=151:200
+LIST/PREC=12 constant[x=@var,y=@var,z=@var]
+             VARIABLE : 0*X[GX=XAX] + 0*Y[GY=YAX] + 0*Z[GZ=ZAX] + 1234
+             X        : 0.5 to 200.5 (XYZ variance)
+             Y        : 0.5 to 200.5 (XYZ variance)
+             Z        : 0.5 to 201.5 (XYZ variance)
+          0.000000000000
+ 
+! variance of a constant is zero
+GO bn_compressed_gather.sub constant[x=@var,y=@var,z=@var] 20 2
+ 
+ Total # of data points: 1 (1*1*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 0
+ Maximum value: 0
+ Mean    value: 0 (unweighted average)
+    SET MEMORY/SIZE: 20 megawords
+    Peak demand: 3 words
+    Current cache: 1.640003 megawords
+ 
+ Total # of data points: 1 (1*1*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 0
+ Maximum value: 0
+ Mean    value: 0 (unweighted average)
+    SET MEMORY/SIZE: 2 megawords
+    Peak demand: 640004 words
+    Current cache: 1.640003 megawords
+COMPRESSED GATHER success on expression constant[x=@var,y=@var,z=@var]
+ 
+! confirm that we get the result computed above
+GO bn_compressed_gather.sub xyz_zero_mean[x=@var,y=@var,z=@var]  20 2
+ 
+ Total # of data points: 1 (1*1*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 3366.7
+ Maximum value: 3366.7
+ Mean    value: 3366.7 (unweighted average)
+    SET MEMORY/SIZE: 20 megawords
+    Peak demand: 3.52009 megawords
+    Current cache: 8.040004 megawords
+ 
+ Total # of data points: 1 (1*1*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 3366.7
+ Maximum value: 3366.7
+ Mean    value: 3366.7 (unweighted average)
+    SET MEMORY/SIZE: 2 megawords
+    Peak demand: 360011 words
+    Current cache: 1.640003 megawords
+COMPRESSED GATHER success on expression xyz_zero_mean[x=@var,y=@var,z=@var]
+LIST/PREC=12 xyz_zero_mean[x=@var,y=@var,z=@var]
+             VARIABLE : 0*X[GX=XAX] + 0*Y[GY=YAX] + (Z[GZ=ZAX]-101)
+             X        : 0.5 to 200.5 (XYZ variance)
+             Y        : 0.5 to 200.5 (XYZ variance)
+             Z        : 0.5 to 201.5 (XYZ variance)
+          3366.66666667
+ 
+! confirm that adding a constant does not change the result
+GO bn_compressed_gather.sub xyz[x=@var,y=@var,z=@var]  20 2
+ 
+ Total # of data points: 1 (1*1*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 3366.7
+ Maximum value: 3366.7
+ Mean    value: 3366.7 (unweighted average)
+    SET MEMORY/SIZE: 20 megawords
+    Peak demand: 6.960004 megawords
+    Current cache: 9.680006 megawords
+ 
+ Total # of data points: 1 (1*1*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 3366.7
+ Maximum value: 3366.7
+ Mean    value: 3366.7 (unweighted average)
+    SET MEMORY/SIZE: 2 megawords
+    Peak demand: 640004 words
+    Current cache: 1.640003 megawords
+COMPRESSED GATHER success on expression xyz[x=@var,y=@var,z=@var]
+LIST/PREC=12 xyz[x=@var,y=@var,z=@var]
+             VARIABLE : 0*X[GX=XAX] + 0*Y[GY=YAX] + Z[GZ=ZAX] + 1
+             X        : 0.5 to 200.5 (XYZ variance)
+             Y        : 0.5 to 200.5 (XYZ variance)
+             Z        : 0.5 to 201.5 (XYZ variance)
+          3366.66666667
+ 
+CANCEL MEMORY/ALL  ! IF PRESENT THIS PREVENTS THE MEMORY CORRUPTION
+! confirm the @std gives the square root of the variance
+! SQRT(676700/201) = 58.022983951764034269074805569046
+GO bn_compressed_gather.sub xyz[x=@std,y=@std,z=@std]  20 2
+ 
+ Total # of data points: 1 (1*1*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 58.023
+ Maximum value: 58.023
+ Mean    value: 58.023 (unweighted average)
+    SET MEMORY/SIZE: 20 megawords
+    Peak demand: 6.960004 megawords
+    Current cache: 8.040003 megawords
+ 
+ Total # of data points: 1 (1*1*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 58.023
+ Maximum value: 58.023
+ Mean    value: 58.023 (unweighted average)
+    SET MEMORY/SIZE: 2 megawords
+    Peak demand: 640004 words
+    Current cache: 1.640003 megawords
+COMPRESSED GATHER success on expression xyz[x=@std,y=@std,z=@std]
+LIST/PREC=12 xyz[x=@std,y=@std,z=@std]
+             VARIABLE : 0*X[GX=XAX] + 0*Y[GY=YAX] + Z[GZ=ZAX] + 1
+             X        : 0.5 to 200.5 (XYZ stddev)
+             Y        : 0.5 to 200.5 (XYZ stddev)
+             Z        : 0.5 to 201.5 (XYZ stddev)
+          58.0229839518
+ 
+ 
+! add more tests here
+! the highest liklihood of problem is in the formulation of "the next chunk"
+! when IS_TRANS requests the next piece to be gathered
+! ... variations on inner and outer limits
+!     (i.e. averaging an expression with limits embedded inside of it
+!      where the averaging limits may or may not match the inner limits)
+! ... file variable, vs user variables
+! ... embedded functions, especially grid-changing functions
+!
+! ... test irregular axes (unequal weighting) and see how significant are
+!     the changes in results from old Ferret (particularly on @var)
+ 
+*** Running ferret script: bn_dynamic_gather.jnl
+! bn_dynamic_gather.jnl
+! *sh* 3/2017
+! *acm*7/2017 0=success for SPAWN_STATUS
+ 
+! There's not really anything "dynamic" about this benchmark, except that it
+! excercises the split/gather improvements that were implemented together with
+! dynamic memory management
+ 
+ 
+ 
+ 
+! Give us something to look at while we run these tests which dont make plots
+plot/noax/nolab/vlim=0:1/i=4:5 i
+annotate/norm/x=0/y=0.5 "@AC... running bn_dynamic_gather"
+ 
+ 
+! **************************************
+! create the test data
+spawn "mkdir -p tmp"     ! tmp directory to store files
+ 
+! see if the test file already exists
+SPAWN "ls tmp/test_dyn_mem.nc"
+IF ($SPAWN_OK) THEN
+ !-> IF 0 THEN
+ELSE
+  define symbol saved_memory_size = ($FERRET_MEMORY)
+ !-> define symbol saved_memory_size = 25.6
+  set mem/size=50
+  define axis/x=1:1000:1 x1000
+  define axis/y=1:1000:1 y1000
+  define axis/z=1:2:1 z2
+  define axis/t=1:10:1 t10
+  define grid/x=x1000/y=y1000/z=z2/t=t10 gg
+  let v = x[g=gg]+y[g=gg]+z[g=gg]+t[g=gg]
+  save/clobber/file="tmp/test_dyn_mem.nc" v
+  define axis/t=1:1000:1 t1000
+  define axis/x=1:10:1   x10
+  define axis/y=1:100:1  y100
+  define axis/z=1:4:1 z4
+  let v1000 = x[gx=x10]+y[gy=y100]+z[gz=z4]+t[gt=t1000]
+  save/append/file="tmp/test_dyn_mem.nc" v1000
+  cancel variable/all
+  cancel mem/all
+  set memory/size=($saved_memory_size)
+ !-> set memory/size=25.6
+ENDIF
+ 
+! ************************************
+ 
+use tmp/test_dyn_mem.nc
+show data
+     currently SET data sets:
+    1> tmp/test_dyn_mem.nc  (default)
+ name     title                             I         J         K         L
+ V        X[G=GG]+Y[G=GG]+Z[G=GG]+T[G=GG]  1:1000    1:1000    1:2       1:10
+ V1000    X[GX=X10]+Y[GY=Y100]+Z[GZ=Z4]+T  1:10      1:100     1:4       1:1000
+ 
+ 
+! excercise under the least strict memory management
+CANCEL MODE FRUGAL
+GO bn_dynamic_gather.sub
+! bn_dynamic_gather.sub
+ 
+! this subroutine to get called repeatedly for different values of MODE FRUGAL
+ 
+!**************
+! remember to test:
+! - MODE FRUGAL
+! done - case of no single axis long enough
+! done - case of transformed axis not long enough, but another is
+! 2-axis split including compressed
+! 2-axis split not including
+! 3-axis splits
+!    -- with slowest axis GT 5 in length
+!    -- with slowest axis LT 5 and second slowest GT 50
+! - modulo regrid examples
+! 2d and 3d @AVE
+! mixed @AVE and @DIN
+!*************
+ 
+! **************************************************
+! test memory that is too small to accommodate the result
+! this request will fail trying to get the third argument
+set mode ignore
+set memory/siz=1.99
+stat/brief v[i=101:200,j=101:200,k=1,l=1:10 at ave], v[i=101:200,j=101:200,k=2,l=1:10 at ave], v[l=1:10 at ave]
+    At the moment that the memory limit was reached
+    argument 3 was being evaluated: V[L=1:10 at AVE]
+    memory was committed as follows:
+        - to arguments 1-2: 40000 (2%)
+        - to objects used in computation: : 0 (0%)
+    The size of the requested object was: : 2000000 (101%)
+cancel mode ignore
+ 
+! **************************************************
+! if memory size is large enough to accommodate the result data plus
+! its accumulation buffer(s) when split along the compressed axis (4M)
+! then it can choose to use the compressed axis.
+! The smallest chunk along that axis is 1000x1000x2x1 ==> 2M
+set memory/siz=6
+stat/brief v[l=1:10 at ave]
+ 
+ Total # of data points: 2000000 (1000*1000*2*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 8.5
+ Maximum value: 2007.5
+ Mean    value: 1008 (unweighted average)
+show memory/diagnostic   ! T axis split, chunk size = 1, peak mem=6
+    Last gather
+        Variable    Axis   Xform     Chunk    Repeated
+        V              T     AVE         1           1
+    Total table slots: 500
+    Free table slots: 498
+    Un-cached variables: 0
+    SET MEMORY/SIZE: 6 megawords
+    Peak demand: 6 megawords
+    Current cache: 6 megawords
+show memory/all          ! in memory following the last chunk
+    SET MEMORY/SIZE: 6 megawords
+    Peak demand: 6 megawords
+    Current cache: 6 megawords
+all data in memory:
+ V[D=test_dyn_mem]                 XYZ   mr:6 size:4000000
+         1/0.5                 1/0.5                 1/0.5              ... /0.5
+      1000/1000.5           1000/1000.5              2/2.5              ... /10.5
+                                                              AVE
+ V[D=test_dyn_mem]                 XYZ   mr:4 size:2000000
+         1/0.5                 1/0.5                 1/0.5                10/9.5
+      1000/1000.5           1000/1000.5              2/2.5                10/10.5
+ 
+cancel memory/all
+ 
+! **************************************************
+! Since @VAR requires two buffers - the total size of the result is 2M+2*2M=6M
+! if we were to split along T the size of a chunk would be 1000x1000x2x1 = 2M
+! So the total memory needed would be 6M+2M=8M to split along T
+set memory/size=8
+stat/brief v[l=1:10 at var]
+ 
+ Total # of data points: 2000000 (1000*1000*2*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 8.25
+ Maximum value: 8.25
+ Mean    value: 8.25 (unweighted average)
+show memory/diagnostic   ! T axis split, chunk size = 1, peak mem=8
+    Last gather
+        Variable    Axis   Xform     Chunk    Repeated
+        V              T     VAR         1           1
+    Total table slots: 500
+    Free table slots: 498
+    Un-cached variables: 0
+    SET MEMORY/SIZE: 8 megawords
+    Peak demand: 8 megawords
+    Current cache: 8 megawords
+cancel memory/all
+ 
+! **************************************************
+! if memory size is NOT large enough to accommodate the result data plus
+! its accumulation buffer(s) then it cannot split along T
+set memory/siz=5.9
+stat/brief v[l=1:10 at ave]
+ 
+ Total # of data points: 2000000 (1000*1000*2*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 8.5
+ Maximum value: 2007.5
+ Mean    value: 1008 (unweighted average)
+show memory/diagnostic   ! Y axis split, big chunk size = 1
+    Last gather
+        Variable    Axis   Xform     Chunk    Repeated
+        V              Y     AVE       162           1
+    Total table slots: 500
+    Free table slots: 496
+    Un-cached variables: 0
+    SET MEMORY/SIZE: 5.9 megawords
+    Peak demand: 5.888 megawords
+    Current cache: 3.32 megawords
+cancel memory/all
+ 
+! **************************************************
+! memory barely large enough to accommodate the result (2M), and the
+! smallest achievable chunk
+! splitting along the Y axis, the smallest chunk size is 1000x1x2x10 ==> 20000
+! and the average of a single chunk (incl buffer) is 1000x1x2x1*2 ==> 4000
+set memory/siz=2.024
+stat/brief v[l=1:10 at ave]
+ 
+ Total # of data points: 2000000 (1000*1000*2*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 8.5
+ Maximum value: 2007.5
+ Mean    value: 1008 (unweighted average)
+show memory/diagnostic ! Y axis split, chunk size=1, peak mem=2.024
+    Last gather
+        Variable    Axis   Xform     Chunk    Repeated
+        V              Y     AVE         1           1
+    Total table slots: 500
+    Free table slots: 497
+    Un-cached variables: 0
+    SET MEMORY/SIZE: 2.024 megawords
+    Peak demand: 2.024 megawords
+    Current cache: 2.024 megawords
+show memory/all        ! in memory following the last chunk
+    SET MEMORY/SIZE: 2.024 megawords
+    Peak demand: 2.024 megawords
+    Current cache: 2.024 megawords
+all data in memory:
+ V[D=test_dyn_mem]                 XYZ   mr:4 size:2000000
+         1/0.5                 1/0.5                 1/0.5              ... /0.5
+      1000/1000.5           1000/1000.5              2/2.5              ... /10.5
+                                                              AVE
+ V[D=test_dyn_mem]                 XZ    mr:5 size:4000
+         1/0.5              1000/999.5               1/0.5              ... /0.5
+      1000/1000.5           1000/1000.5              2/2.5              ... /10.5
+                                                              AVE
+ V[D=test_dyn_mem]                 XZT   mr:6 size:20000
+         1/0.5              1000/999.5               1/0.5                 1/0.5
+      1000/1000.5           1000/1000.5              2/2.5                10/10.5
+ 
+cancel memory/all
+ 
+! **************************************************
+! Since @VAR requires two buffers - the total size of the result is 2M+2*2M=6M
+! if we were to split along T the size of a chunk would be 1000x1000x2x1 = 2M
+! So the total memory needed would be 6M+2M=8M.  So the current SET MEMORY=6
+! is not enuf mem to split along the T axis
+set memory/siz=6
+stat/brief v[l=1:10 at var]
+ 
+ Total # of data points: 2000000 (1000*1000*2*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 8.25
+ Maximum value: 8.25
+ Mean    value: 8.25 (unweighted average)
+show memory/diagnostic   ! Y axis split
+    Last gather
+        Variable    Axis   Xform     Chunk    Repeated
+        V              Y     VAR       153           1
+    Total table slots: 500
+    Free table slots: 496
+    Un-cached variables: 0
+    SET MEMORY/SIZE: 6 megawords
+    Peak demand: 5.978 megawords
+    Current cache: 5.05 megawords
+cancel memory/all
+ 
+! **************************************************
+! 3D averaging  v[x=@ave,y=@ave,z=@ave,L=1]
+! result size will be 1x1x1x1*2 = 2
+! chunk size if split along Z will be 1000x1000x1x1 = 1M
+! chunk size if split along Y will be 1000x1x2x1    = 2K
+ 
+! this request can succeed by splitting along Z
+set memory/siz=1.001
+stat/brief v[x=@ave,y=@ave,z=@ave,L=1]
+ 
+ Total # of data points: 1 (1*1*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 1003.5
+ Maximum value: 1003.5
+ Mean    value: 1003.5 (unweighted average)
+show memory/diagnostic     ! Z axis split
+    Last gather
+        Variable    Axis   Xform     Chunk    Repeated
+        V              Z     AV4         1           1
+    Total table slots: 500
+    Free table slots: 498
+    Un-cached variables: 0
+    SET MEMORY/SIZE: 1.001 megawords
+    Peak demand: 1.000002 megawords
+    Current cache: 1.000002 megawords
+cancel memory/all
+ 
+! **************************************************
+! but if memory is so small that the Z axis of 2 points does not provide
+! enough size reduction, then we choose to split along Y
+set memory/siz=.99
+stat/brief v[x=@ave,y=@ave,z=@ave,L=1]
+ 
+ Total # of data points: 1 (1*1*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 1003.5
+ Maximum value: 1003.5
+ Mean    value: 1003.5 (unweighted average)
+show memory/diagnostic     ! Y axis split
+    Last gather
+        Variable    Axis   Xform     Chunk    Repeated
+        V              Y     AV4       494           1
+    Total table slots: 500
+    Free table slots: 498
+    Un-cached variables: 0
+    SET MEMORY/SIZE: 990000 words
+    Peak demand: 988002 words
+    Current cache: 24002 words
+cancel memory/all
+ 
+! **************************************************
+! multiple transformations on a single expression
+! Use of these expressions **is a bad idea in Ferret**
+! he "potential size" of the source data is 1000x1000x20x10=20M
+! we just get aggressive about memory saving: choose the longest axis
+! preferring an uncompressed axis if available
+! Here we see a triple level strip: Z-T-Y
+! (SHOW MEM/DIAG repeats on each of the 2 K values)
+set memory/siz=.99
+stat/brief v[x=@ave,y=@ave,L=@SUM]
+ 
+ Total # of data points: 2 (1*1*2*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 10075
+ Maximum value: 10085
+ Mean    value: 10080 (unweighted average)
+show memory/diagnostic        !  split on Z-(T-Y,T-Y)
+    Last gather
+        Variable    Axis   Xform     Chunk    Repeated
+        V              Z     SUM         1           1
+        V              T     SUM         1           1
+        V              Y     AV4       989          10
+        V              T     SUM         1           1
+        V              Y     AV4       989          10
+    Total table slots: 500
+    Free table slots: 496
+    Un-cached variables: 0
+    SET MEMORY/SIZE: 990000 words
+    Peak demand: 989006 words
+    Current cache: 11006 words
+cancel memory/all
+ 
+! **************************************************
+! now the same situation, but where Z is compressed as well
+! Z is not stripped off because other axes are longer
+set memory/siz=.99
+stat/brief v[x=@ave,y=@ave,z=@ave,L=@SUM]
+ 
+ Total # of data points: 1 (1*1*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 10080
+ Maximum value: 10080
+ Mean    value: 10080 (unweighted average)
+show memory/diagnostic       ! split on T-Y
+    Last gather
+        Variable    Axis   Xform     Chunk    Repeated
+        V              T     SUM         1           1
+        V              Y     AV4       494          10
+    Total table slots: 500
+    Free table slots: 497
+    Un-cached variables: 0
+    SET MEMORY/SIZE: 990000 words
+    Peak demand: 988004 words
+    Current cache: 24004 words
+cancel memory/all
+ 
+! **************************************************
+! multiple transformation again
+! first strip YZT at AVE. Split the long Y axis, no further split needed
+set memory/siz=.99
+stat/brief v[x=@SUM,y=@ave,z=@ave,L=@ave]
+ 
+ Total # of data points: 1 (1*1*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 1008000
+ Maximum value: 1008000
+ Mean    value: 1008000 (unweighted average)
+show memory/diagnostic      ! split on Y
+    Last gather
+        Variable    Axis   Xform     Chunk    Repeated
+        V              Y     AV4        24           1
+    Total table slots: 500
+    Free table slots: 494
+    Un-cached variables: 0
+    SET MEMORY/SIZE: 990000 words
+    Peak demand: 480962 words
+    Current cache: 802562 words
+cancel memory/all
+ 
+! **************************************************
+! MODULO REGRID
+ 
+! v1000 is 10x100x4x1000
+! for gt=@mod the full result size is 10x100x4x12 ==>  48,000
+ 
+define axis/mod/t=1:12:1 t12mod
+ 
+!**************************************************
+set mem/size=10   ! bigger than needed
+stat/brief v1000[gt=t12mod at mod]
+ 
+ Total # of data points: 48000 (10*100*4*12*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 500
+ Maximum value: 618
+ Mean    value: 559 (unweighted average)
+show mem/diag     ! note peak size demand a bit over 4
+    No split/gather occurred in the last evaluation
+    Total table slots: 500
+    Free table slots: 498
+    Un-cached variables: 0
+    SET MEMORY/SIZE: 10 megawords
+    Peak demand: 4.144 megawords
+    Current cache: 4.048 megawords
+canc mem/all
+ 
+!**************************************************
+set mem/size=4
+stat/brief v1000[gt=t12mod at mod]
+ 
+ Total # of data points: 48000 (10*100*4*12*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 500
+ Maximum value: 618
+ Mean    value: 559 (unweighted average)
+show mem/diag              ! big z chunks (3 on ax of len 4)
+    Last gather
+        Variable    Axis   Xform     Chunk    Repeated
+        V1000          Z                 3           1
+    Total table slots: 500
+    Free table slots: 496
+    Un-cached variables: 0
+    SET MEMORY/SIZE: 4 megawords
+    Peak demand: 3.108 megawords
+    Current cache: 1.096 megawords
+canc mem/all
+ 
+!**************************************************
+set mem/size=1
+stat/brief v1000[gt=t12mod at mod]
+ 
+ Total # of data points: 48000 (10*100*4*12*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 500
+ Maximum value: 618
+ Mean    value: 559 (unweighted average)
+show mem/diag              !  big y chunks (22 on ax of len 100)
+    Last gather
+        Variable    Axis   Xform     Chunk    Repeated
+        V1000          Y                22           1
+    Total table slots: 500
+    Free table slots: 496
+    Un-cached variables: 0
+    SET MEMORY/SIZE: 1000000 words
+    Peak demand: 959680 words
+    Current cache: 544320 words
+canc mem/all
+ 
+!**************************************************
+! if the chunk size is 1, then each chunk src is 10x1x4x1000 ==> 40000
+! and requires a result plus 2 buffers:          10x1x4x12*3 ==>  1440
+! plus the full result size in IS_GATHER                     ==> 48000
+!                                                      total ==> 89440
+set mem/size=.09
+stat/brief v1000[gt=t12mod at mod]
+ 
+ Total # of data points: 48000 (10*100*4*12*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 500
+ Maximum value: 618
+ Mean    value: 559 (unweighted average)
+show mem/diag              !  y chunk size = 1
+    Last gather
+        Variable    Axis   Xform     Chunk    Repeated
+        V1000          Y                 1           1
+    Total table slots: 500
+    Free table slots: 496
+    Un-cached variables: 0
+    SET MEMORY/SIZE: 90000 words
+    Peak demand: 89440 words
+    Current cache: 88960 words
+canc mem/all
+ 
+ 
+! ************** USER VARIABLES ********************
+let a = v[k=1]
+let b = v[k=2]
+let c = a + b
+let d = a + c
+ 
+! for comparison: memory management to average a simple file variable
+set memory/siz=3
+stat/brief v[l=1:10 at ave,k=1]
+ 
+ Total # of data points: 1000000 (1000*1000*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 8.5
+ Maximum value: 2006.5
+ Mean    value: 1007.5 (unweighted average)
+show memory/diagnostic   ! T axis split, chunk size = 1, peak mem=6
+    Last gather
+        Variable    Axis   Xform     Chunk    Repeated
+        V              T     AVE         1           1
+    Total table slots: 500
+    Free table slots: 498
+    Un-cached variables: 0
+    SET MEMORY/SIZE: 3 megawords
+    Peak demand: 3 megawords
+    Current cache: 3 megawords
+cancel memory/all
+ 
+! compare to memory management averaging user variables
+! not split on T because more memory is needed for components of calculation
+set memory/siz=3
+ 
+stat/brief a[l=1:10 at ave]
+ 
+ Total # of data points: 1000000 (1000*1000*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 8.5
+ Maximum value: 2006.5
+ Mean    value: 1007.5 (unweighted average)
+show memory/diagnostic   ! X axis split, chunk size = 1, peak mem=1.82
+    Last gather
+        Variable    Axis   Xform     Chunk    Repeated
+        A              Y     AVE        47           1
+    Total table slots: 500
+    Free table slots: 491
+    Un-cached variables: 0
+    SET MEMORY/SIZE: 3 megawords
+    Peak demand: 1.94 megawords
+    Current cache: 2.884 megawords
+cancel memory/all
+ 
+stat/brief d[l=1:10 at ave]
+ 
+ Total # of data points: 1000000 (1000*1000*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 26.5
+ Maximum value: 6020.5
+ Mean    value: 3023.5 (unweighted average)
+show memory/diagnostic   ! X axis split, chunk size = 1, peak mem=2.23
+    Last gather
+        Variable    Axis   Xform     Chunk    Repeated
+        D              Y     AVE        47           1
+    Total table slots: 500
+    Free table slots: 489
+    Un-cached variables: 0
+    SET MEMORY/SIZE: 3 megawords
+    Peak demand: 2.41 megawords
+    Current cache: 2.84 megawords
+cancel memory/all
+ 
+! progressively more frugal mem mgmt is needed as multiple results accumulate
+stat/brief a[i=1:500,l=1:10 at ave], b[i=1:500,l=1:10 at ave], c[i=1:500,l=1:10 at ave], d[i=1:500,l=1:10 at ave]
+ 
+ Total # of data points: 500000 (500*1000*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 8.5
+ Maximum value: 1506.5
+ Mean    value: 757.5 (unweighted average)
+ 
+ Total # of data points: 500000 (500*1000*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 9.5
+ Maximum value: 1507.5
+ Mean    value: 758.5 (unweighted average)
+ 
+ Total # of data points: 500000 (500*1000*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 18
+ Maximum value: 3014
+ Mean    value: 1516 (unweighted average)
+ 
+ Total # of data points: 500000 (500*1000*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 26.5
+ Maximum value: 4520.5
+ Mean    value: 2273.5 (unweighted average)
+show memory/diagnostic   ! X axis split, chunk size = 1, peak mem=2.23
+    Last gather
+        Variable    Axis   Xform     Chunk    Repeated
+        A              T     AVE         1           1
+        B              Y     AVE        71           1
+        C              Y     AVE        47           1
+        D              Y     AVE        23           1
+    Total table slots: 500
+    Free table slots: 487
+    Un-cached variables: 0
+    SET MEMORY/SIZE: 3 megawords
+    Peak demand: 2.845 megawords
+    Current cache: 2.979 megawords
+cancel memory/all
+ 
+! if the initial arguments take up too much memory we cannot succeed
+set mode ignore
+stat/brief a[l=1:10 at ave], b[l=1:10 at ave], c[l=1:10 at ave], d[l=1:10 at ave]
+    At the moment that the memory limit was reached
+    argument 3 was being evaluated: C[L=1:10 at AVE]
+    memory was committed as follows:
+        - to arguments 1-2: 2000000 (67%)
+        - to objects used in computation: : 0 (0%)
+    The size of the requested object was: : 1000000 (33%)
+show memory/diagnostic   ! X axis split, chunk size = 1, peak mem=2.23
+    Last gather
+        Variable    Axis   Xform     Chunk    Repeated
+        A              Y     AVE        47           1
+        B              Y     AVE        23           1
+    Total table slots: 500
+    Free table slots: 491
+    Un-cached variables: 0
+    SET MEMORY/SIZE: 3 megawords
+    Peak demand: 2.46 megawords
+    Current cache: 2.794 megawords
+cancel mode ignore
+cancel memory/all
+ 
+ 
+! now run the same tests under 3 different FRUGAL levels
+! save the outputs so they can be compared
+ 
+! excercise under the least strict memory management
+CANCEL REDIRECT
+SET REDIRECT/CLOBBER/FILE=bn_dynamic_gather_0.out
+SET REDIRECT/CLOBBER/FILE=bn_dynamic_gather_30.out
+SET REDIRECT/CLOBBER/FILE=bn_dynamic_gather_60.out
+ 
+! now compare the three output logs:
+! differences in *how* the results are computed are fine
+! differences in what the results are would be problems
+SAY **************************************************
+**************************************************
+SAY ************* DIFF FRUGAL 0 TO 30 ****************
+************* DIFF FRUGAL 0 TO 30 ****************
+SPAWN diff bn_dynamic_gather_0.out bn_dynamic_gather_30.out
+1c1
+< CANCEL MODE FRUGAL
+---
+> SET MODE FRUGAL    ! 30%
+4c4
+<       FRUGAL        CANCELED            30
+---
+>       FRUGAL           SET              30
+56c56
+<         V              T     AVE         1           1
+---
+>         V              Y     AVE        91           1
+58c58
+<     Free table slots: 498
+---
+>     Free table slots: 496
+61,62c61,62
+<     Peak demand: 6 megawords
+<     Current cache: 6 megawords
+---
+>     Peak demand: 4.184 megawords
+>     Current cache: 4.524 megawords
+65,66c65,66
+<     Peak demand: 6 megawords
+<     Current cache: 6 megawords
+---
+>     Peak demand: 4.184 megawords
+>     Current cache: 4.524 megawords
+68c68
+<  V[D=test_dyn_mem]                 XYZ   mr:7 size:4000000
+---
+>  V[D=test_dyn_mem]                 XYZ   mr:4 size:2000000
+72,73c72,77
+<  V[D=test_dyn_mem]                 XYZ   mr:13 size:2000000
+<          1/0.5                 1/0.5                 1/0.5                10/9.5
+---
+>  V[D=test_dyn_mem]                 XYZ   mr:7 size:360000
+>          1/0.5               911/910.5               1/0.5              ... /0.5
+>       1000/1000.5           1000/1000.5              2/2.5              ... /10.5
+>                                                               AVE
+>  V[D=test_dyn_mem]                 XYZT  mr:12 size:1800000
+>          1/0.5               911/910.5               1/0.5                 1/0.5
+75a80,83
+>  V[D=test_dyn_mem]                 XYZ   mr:8 size:364000
+>          1/0.5               820/819.5               1/0.5              ... /0.5
+>       1000/1000.5            910/910.5               2/2.5              ... /10.5
+>                                                               AVE
+93c101
+<         V              T     VAR         1           1
+---
+>         V              Y     VAR       138           1
+95c103
+<     Free table slots: 498
+---
+>     Free table slots: 494
+98,99c106,107
+<     Peak demand: 8 megawords
+<     Current cache: 8 megawords
+---
+>     Peak demand: 5.588 megawords
+>     Current cache: 7.3 megawords
+116c124
+<         V              Y     AVE       162           1
+---
+>         V              Y     AVE        88           1
+118c126
+<     Free table slots: 496
+---
+>     Free table slots: 494
+121,122c129,130
+<     Peak demand: 5.888 megawords
+<     Current cache: 3.32 megawords
+---
+>     Peak demand: 4.112 megawords
+>     Current cache: 5.232 megawords
+141a150
+>         V              T     AVE         6         999
+143c152
+<     Free table slots: 497
+---
+>     Free table slots: 496
+146c155
+<     Peak demand: 2.024 megawords
+---
+>     Peak demand: 2.016 megawords
+150c159
+<     Peak demand: 2.024 megawords
+---
+>     Peak demand: 2.016 megawords
+157c166
+<  V[D=test_dyn_mem]                 XZ    mr:11 size:4000
+---
+>  V[D=test_dyn_mem]                 XZ    mr:10 size:4000
+161,162c170,171
+<  V[D=test_dyn_mem]                 XZT   mr:13 size:20000
+<          1/0.5              1000/999.5               1/0.5                 1/0.5
+---
+>  V[D=test_dyn_mem]                 XZT   mr:4 size:8000
+>          1/0.5              1000/999.5               1/0.5                 7/6.5
+164a174,177
+>  V[D=test_dyn_mem]                 XZT   mr:12 size:12000
+>          1/0.5              1000/999.5               1/0.5                 1/0.5
+>       1000/1000.5           1000/1000.5              2/2.5                 6/6.5
+>  
+183c196
+<         V              Y     VAR       153           1
+---
+>         V              Y     VAR        84           1
+188,189c201,202
+<     Peak demand: 5.978 megawords
+<     Current cache: 5.05 megawords
+---
+>     Peak demand: 4.184 megawords
+>     Current cache: 4.48 megawords
+210c223
+<         V              Z     AV4         1           1
+---
+>         V              Y     AV4       350           1
+215,216c228,229
+<     Peak demand: 1.000002 megawords
+<     Current cache: 1.000002 megawords
+---
+>     Peak demand: 700002 words
+>     Current cache: 600002 words
+233c246
+<         V              Y     AV4       494           1
+---
+>         V              Y     AV4       346           1
+238,239c251,252
+<     Peak demand: 988002 words
+<     Current cache: 24002 words
+---
+>     Peak demand: 692002 words
+>     Current cache: 616002 words
+263c276
+<         V              Y     AV4       989          10
+---
+>         V              Y     AV4       692          10
+265c278
+<         V              Y     AV4       989          10
+---
+>         V              Y     AV4       692          10
+270,271c283,284
+<     Peak demand: 989006 words
+<     Current cache: 11006 words
+---
+>     Peak demand: 692006 words
+>     Current cache: 308006 words
+289c302
+<         V              Y     AV4       494          10
+---
+>         V              Y     AV4       346          10
+294,295c307,308
+<     Peak demand: 988004 words
+<     Current cache: 24004 words
+---
+>     Peak demand: 692004 words
+>     Current cache: 616004 words
+312c325
+<         V              Y     AV4        24           1
+---
+>         V              Y     AV4        17           1
+314c327
+<     Free table slots: 494
+---
+>     Free table slots: 492
+317,318c330,331
+<     Peak demand: 480962 words
+<     Current cache: 802562 words
+---
+>     Peak demand: 340682 words
+>     Current cache: 962602 words
+360c373
+<         V1000          Z                 3           1
+---
+>         V1000          Z                 2           1
+365,366c378,379
+<     Peak demand: 3.108 megawords
+<     Current cache: 1.096 megawords
+---
+>     Peak demand: 2.12 megawords
+>     Current cache: 2.096 megawords
+381c394
+<         V1000          Y                22           1
+---
+>         V1000          Y                15           1
+386,387c399,400
+<     Peak demand: 959680 words
+<     Current cache: 544320 words
+---
+>     Peak demand: 669600 words
+>     Current cache: 460000 words
+406a420
+>         V1000          Z                 2          99
+408c422
+<     Free table slots: 496
+---
+>     Free table slots: 493
+411,412c425,426
+<     Peak demand: 89440 words
+<     Current cache: 88960 words
+---
+>     Peak demand: 69200 words
+>     Current cache: 89440 words
+434c448
+<         V              T     AVE         1           1
+---
+>         V              Y     AVE        91           1
+436c450
+<     Free table slots: 498
+---
+>     Free table slots: 496
+439,440c453,454
+<     Peak demand: 3 megawords
+<     Current cache: 3 megawords
+---
+>     Peak demand: 2.092 megawords
+>     Current cache: 2.262 megawords
+457c471
+<         A              Y     AVE        47           1
+---
+>         A              Y     AVE        26           1
+459c473
+<     Free table slots: 491
+---
+>     Free table slots: 487
+462,463c476,477
+<     Peak demand: 1.94 megawords
+<     Current cache: 2.884 megawords
+---
+>     Peak demand: 1.52 megawords
+>     Current cache: 2.98 megawords
+476c490
+<         D              Y     AVE        47           1
+---
+>         D              Y     AVE        26           1
+478c492
+<     Free table slots: 489
+---
+>     Free table slots: 487
+481,482c495,496
+<     Peak demand: 2.41 megawords
+<     Current cache: 2.84 megawords
+---
+>     Peak demand: 1.78 megawords
+>     Current cache: 2.836 megawords
+514,517c528,531
+<         A              T     AVE         1           1
+<         B              Y     AVE        71           1
+<         C              Y     AVE        47           1
+<         D              Y     AVE        23           1
+---
+>         A              Y     AVE        76           1
+>         B              Y     AVE        59           1
+>         C              Y     AVE        42           1
+>         D              Y     AVE        26           1
+519c533
+<     Free table slots: 487
+---
+>     Free table slots: 484
+522,523c536,537
+<     Peak demand: 2.845 megawords
+<     Current cache: 2.979 megawords
+---
+>     Peak demand: 2.39 megawords
+>     Current cache: 2.918 megawords
+538,539c552,553
+<         A              Y     AVE        47           1
+<         B              Y     AVE        23           1
+---
+>         A              Y     AVE        26           1
+>         B              Y     AVE         9           1
+541c555
+<     Free table slots: 491
+---
+>     Free table slots: 481
+544,545c558,559
+<     Peak demand: 2.46 megawords
+<     Current cache: 2.794 megawords
+---
+>     Peak demand: 2.18 megawords
+>     Current cache: 2.922 megawords
+551c565
+< ! excercise under the default memory management
+---
+> ! excercise under pretty strict memory management
+ 
+SAY **************************************************
+**************************************************
+SAY ************* DIFF FRUGAL 0 TO 60 ****************
+************* DIFF FRUGAL 0 TO 60 ****************
+SPAWN diff bn_dynamic_gather_0.out bn_dynamic_gather_60.out
+1c1
+< CANCEL MODE FRUGAL
+---
+> SET MODE FRUGAL:60
+4c4
+<       FRUGAL        CANCELED            30
+---
+>       FRUGAL           SET              60
+56c56
+<         V              T     AVE         1           1
+---
+>         V              Y     AVE        16           1
+58c58
+<     Free table slots: 498
+---
+>     Free table slots: 478
+61,62c61,62
+<     Peak demand: 6 megawords
+<     Current cache: 6 megawords
+---
+>     Peak demand: 2.384 megawords
+>     Current cache: 5.712 megawords
+65,66c65,66
+<     Peak demand: 6 megawords
+<     Current cache: 6 megawords
+---
+>     Peak demand: 2.384 megawords
+>     Current cache: 5.712 megawords
+68c68
+<  V[D=test_dyn_mem]                 XYZ   mr:7 size:4000000
+---
+>  V[D=test_dyn_mem]                 XYZ   mr:13 size:2000000
+72,73c72,77
+<  V[D=test_dyn_mem]                 XYZ   mr:13 size:2000000
+<          1/0.5                 1/0.5                 1/0.5                10/9.5
+---
+>  V[D=test_dyn_mem]                 XYZ   mr:21 size:32000
+>          1/0.5               993/992.5               1/0.5              ... /0.5
+>       1000/1000.5           1000/1000.5              2/2.5              ... /10.5
+>                                                               AVE
+>  V[D=test_dyn_mem]                 XYZT  mr:1 size:160000
+>          1/0.5               993/992.5               1/0.5                 1/0.5
+75a80,155
+>  V[D=test_dyn_mem]                 XYZ   mr:20 size:64000
+>          1/0.5               977/976.5               1/0.5              ... /0.5
+>       1000/1000.5            992/992.5               2/2.5              ... /10.5
+>                                                               AVE
+>  V[D=test_dyn_mem]                 XYZT  mr:3 size:320000
+>          1/0.5               977/976.5               1/0.5                 1/0.5
+>       1000/1000.5            992/992.5               2/2.5                10/10.5
+>  
+>  V[D=test_dyn_mem]                 XYZ   mr:2 size:64000
+>          1/0.5               961/960.5               1/0.5              ... /0.5
+>       1000/1000.5            976/976.5               2/2.5              ... /10.5
+>                                                               AVE
+>  V[D=test_dyn_mem]                 XYZT  mr:5 size:320000
+>          1/0.5               961/960.5               1/0.5                 1/0.5
+>       1000/1000.5            976/976.5               2/2.5                10/10.5
+>  
+>  V[D=test_dyn_mem]                 XYZ   mr:4 size:64000
+>          1/0.5               945/944.5               1/0.5              ... /0.5
+>       1000/1000.5            960/960.5               2/2.5              ... /10.5
+>                                                               AVE
+>  V[D=test_dyn_mem]                 XYZT  mr:7 size:320000
+>          1/0.5               945/944.5               1/0.5                 1/0.5
+>       1000/1000.5            960/960.5               2/2.5                10/10.5
+>  
+>  V[D=test_dyn_mem]                 XYZ   mr:6 size:64000
+>          1/0.5               929/928.5               1/0.5              ... /0.5
+>       1000/1000.5            944/944.5               2/2.5              ... /10.5
+>                                                               AVE
+>  V[D=test_dyn_mem]                 XYZT  mr:9 size:320000
+>          1/0.5               929/928.5               1/0.5                 1/0.5
+>       1000/1000.5            944/944.5               2/2.5                10/10.5
+>  
+>  V[D=test_dyn_mem]                 XYZ   mr:8 size:64000
+>          1/0.5               913/912.5               1/0.5              ... /0.5
+>       1000/1000.5            928/928.5               2/2.5              ... /10.5
+>                                                               AVE
+>  V[D=test_dyn_mem]                 XYZT  mr:11 size:320000
+>          1/0.5               913/912.5               1/0.5                 1/0.5
+>       1000/1000.5            928/928.5               2/2.5                10/10.5
+>  
+>  V[D=test_dyn_mem]                 XYZ   mr:10 size:64000
+>          1/0.5               897/896.5               1/0.5              ... /0.5
+>       1000/1000.5            912/912.5               2/2.5              ... /10.5
+>                                                               AVE
+>  V[D=test_dyn_mem]                 XYZT  mr:14 size:320000
+>          1/0.5               897/896.5               1/0.5                 1/0.5
+>       1000/1000.5            912/912.5               2/2.5                10/10.5
+>  
+>  V[D=test_dyn_mem]                 XYZ   mr:12 size:64000
+>          1/0.5               881/880.5               1/0.5              ... /0.5
+>       1000/1000.5            896/896.5               2/2.5              ... /10.5
+>                                                               AVE
+>  V[D=test_dyn_mem]                 XYZT  mr:18 size:320000
+>          1/0.5               881/880.5               1/0.5                 1/0.5
+>       1000/1000.5            896/896.5               2/2.5                10/10.5
+>  
+>  V[D=test_dyn_mem]                 XYZ   mr:15 size:64000
+>          1/0.5               865/864.5               1/0.5              ... /0.5
+>       1000/1000.5            880/880.5               2/2.5              ... /10.5
+>                                                               AVE
+>  V[D=test_dyn_mem]                 XYZT  mr:25 size:320000
+>          1/0.5               865/864.5               1/0.5                 1/0.5
+>       1000/1000.5            880/880.5               2/2.5                10/10.5
+>  
+>  V[D=test_dyn_mem]                 XYZ   mr:19 size:64000
+>          1/0.5               849/848.5               1/0.5              ... /0.5
+>       1000/1000.5            864/864.5               2/2.5              ... /10.5
+>                                                               AVE
+>  V[D=test_dyn_mem]                 XYZT  mr:24 size:320000
+>          1/0.5               849/848.5               1/0.5                 1/0.5
+>       1000/1000.5            864/864.5               2/2.5                10/10.5
+>  
+>  V[D=test_dyn_mem]                 XYZ   mr:23 size:64000
+>          1/0.5               833/832.5               1/0.5              ... /0.5
+>       1000/1000.5            848/848.5               2/2.5              ... /10.5
+>                                                               AVE
+93c173
+<         V              T     VAR         1           1
+---
+>         V              Y     VAR        46           1
+95c175
+<     Free table slots: 498
+---
+>     Free table slots: 488
+98,99c178,179
+<     Peak demand: 8 megawords
+<     Current cache: 8 megawords
+---
+>     Peak demand: 3.196 megawords
+>     Current cache: 7.944 megawords
+116c196
+<         V              Y     AVE       162           1
+---
+>         V              Y     AVE        14           1
+118c198
+<     Free table slots: 496
+---
+>     Free table slots: 474
+121,122c201,202
+<     Peak demand: 5.888 megawords
+<     Current cache: 3.32 megawords
+---
+>     Peak demand: 2.336 megawords
+>     Current cache: 5.896 megawords
+141a222
+>         V              T     AVE         2         999
+143c224
+<     Free table slots: 497
+---
+>     Free table slots: 493
+146c227
+<     Peak demand: 2.024 megawords
+---
+>     Peak demand: 2.008 megawords
+150c231
+<     Peak demand: 2.024 megawords
+---
+>     Peak demand: 2.008 megawords
+153c234
+<  V[D=test_dyn_mem]                 XYZ   mr:8 size:2000000
+---
+>  V[D=test_dyn_mem]                 XYZ   mr:24 size:2000000
+157c238
+<  V[D=test_dyn_mem]                 XZ    mr:11 size:4000
+---
+>  V[D=test_dyn_mem]                 XZ    mr:25 size:4000
+161,162c242,243
+<  V[D=test_dyn_mem]                 XZT   mr:13 size:20000
+<          1/0.5              1000/999.5               1/0.5                 1/0.5
+---
+>  V[D=test_dyn_mem]                 XZT   mr:19 size:4000
+>          1/0.5              1000/999.5               1/0.5                 9/8.5
+164a246,261
+>  V[D=test_dyn_mem]                 XZT   mr:20 size:4000
+>          1/0.5              1000/999.5               1/0.5                 7/6.5
+>       1000/1000.5           1000/1000.5              2/2.5                 8/8.5
+>  
+>  V[D=test_dyn_mem]                 XZT   mr:21 size:4000
+>          1/0.5              1000/999.5               1/0.5                 5/4.5
+>       1000/1000.5           1000/1000.5              2/2.5                 6/6.5
+>  
+>  V[D=test_dyn_mem]                 XZT   mr:22 size:4000
+>          1/0.5              1000/999.5               1/0.5                 3/2.5
+>       1000/1000.5           1000/1000.5              2/2.5                 4/4.5
+>  
+>  V[D=test_dyn_mem]                 XZT   mr:26 size:4000
+>          1/0.5              1000/999.5               1/0.5                 1/0.5
+>       1000/1000.5           1000/1000.5              2/2.5                 2/2.5
+>  
+183c280
+<         V              Y     VAR       153           1
+---
+>         V              Y     VAR        15           1
+185c282
+<     Free table slots: 496
+---
+>     Free table slots: 478
+188,189c285,286
+<     Peak demand: 5.978 megawords
+<     Current cache: 5.05 megawords
+---
+>     Peak demand: 2.39 megawords
+>     Current cache: 5.86 megawords
+210c307
+<         V              Z     AV4         1           1
+---
+>         V              Y     AV4       200           1
+212c309
+<     Free table slots: 498
+---
+>     Free table slots: 497
+215,216c312,313
+<     Peak demand: 1.000002 megawords
+<     Current cache: 1.000002 megawords
+---
+>     Peak demand: 400002 words
+>     Current cache: 800002 words
+233c330
+<         V              Y     AV4       494           1
+---
+>         V              Y     AV4       197           1
+235c332
+<     Free table slots: 498
+---
+>     Free table slots: 496
+238,239c335,336
+<     Peak demand: 988002 words
+<     Current cache: 24002 words
+---
+>     Peak demand: 394002 words
+>     Current cache: 818002 words
+263c360
+<         V              Y     AV4       989          10
+---
+>         V              Y     AV4       395          10
+265c362
+<         V              Y     AV4       989          10
+---
+>         V              Y     AV4       395          10
+267c364
+<     Free table slots: 496
+---
+>     Free table slots: 495
+270,271c367,368
+<     Peak demand: 989006 words
+<     Current cache: 11006 words
+---
+>     Peak demand: 395006 words
+>     Current cache: 605006 words
+289c386
+<         V              Y     AV4       494          10
+---
+>         V              Y     AV4       197          10
+291c388
+<     Free table slots: 497
+---
+>     Free table slots: 495
+294,295c391,392
+<     Peak demand: 988004 words
+<     Current cache: 24004 words
+---
+>     Peak demand: 394004 words
+>     Current cache: 818004 words
+312c409
+<         V              Y     AV4        24           1
+---
+>         V              Y     AV4         9           1
+314c411
+<     Free table slots: 494
+---
+>     Free table slots: 486
+317,318c414,415
+<     Peak demand: 480962 words
+<     Current cache: 802562 words
+---
+>     Peak demand: 180362 words
+>     Current cache: 922202 words
+339c436,438
+<     No split/gather occurred in the last evaluation
+---
+>     Last gather
+>         Variable    Axis   Xform     Chunk    Repeated
+>         V1000          Z                 3           1
+341c440
+<     Free table slots: 498
+---
+>     Free table slots: 495
+344,345c443,444
+<     Peak demand: 4.144 megawords
+<     Current cache: 4.048 megawords
+---
+>     Peak demand: 3.108 megawords
+>     Current cache: 4.096 megawords
+360c459
+<         V1000          Z                 3           1
+---
+>         V1000          Z                 1           1
+362c461
+<     Free table slots: 496
+---
+>     Free table slots: 492
+365,366c464,465
+<     Peak demand: 3.108 megawords
+<     Current cache: 1.096 megawords
+---
+>     Peak demand: 1.084 megawords
+>     Current cache: 3.096 megawords
+381c480
+<         V1000          Y                22           1
+---
+>         V1000          Y                 8           1
+383c482
+<     Free table slots: 496
+---
+>     Free table slots: 492
+386,387c485,486
+<     Peak demand: 959680 words
+<     Current cache: 544320 words
+---
+>     Peak demand: 379520 words
+>     Current cache: 861440 words
+406a506
+>         V1000          Z                 3         100
+408c508
+<     Free table slots: 496
+---
+>     Free table slots: 488
+411,412c511,512
+<     Peak demand: 89440 words
+<     Current cache: 88960 words
+---
+>     Peak demand: 58840 words
+>     Current cache: 89560 words
+434c534
+<         V              T     AVE         1           1
+---
+>         V              Y     AVE        16           1
+436c536
+<     Free table slots: 498
+---
+>     Free table slots: 478
+439,440c539,540
+<     Peak demand: 3 megawords
+<     Current cache: 3 megawords
+---
+>     Peak demand: 1.192 megawords
+>     Current cache: 2.856 megawords
+457c557
+<         A              Y     AVE        47           1
+---
+>         A              Y     AVE         4           1
+459c559
+<     Free table slots: 491
+---
+>     Free table slots: 431
+462,463c562,563
+<     Peak demand: 1.94 megawords
+<     Current cache: 2.884 megawords
+---
+>     Peak demand: 1.08 megawords
+>     Current cache: 2.984 megawords
+476c576
+<         D              Y     AVE        47           1
+---
+>         D              Y     AVE         4           1
+478c578
+<     Free table slots: 489
+---
+>     Free table slots: 442
+481,482c581,582
+<     Peak demand: 2.41 megawords
+<     Current cache: 2.84 megawords
+---
+>     Peak demand: 1.12 megawords
+>     Current cache: 2.992 megawords
+514,517c614,617
+<         A              T     AVE         1           1
+<         B              Y     AVE        71           1
+<         C              Y     AVE        47           1
+<         D              Y     AVE        23           1
+---
+>         A              Y     AVE        33           1
+>         B              Y     AVE        23           1
+>         C              Y     AVE        14           1
+>         D              Y     AVE         4           1
+519c619
+<     Free table slots: 487
+---
+>     Free table slots: 439
+522,523c622,623
+<     Peak demand: 2.845 megawords
+<     Current cache: 2.979 megawords
+---
+>     Peak demand: 2.06 megawords
+>     Current cache: 2.996 megawords
+538,539c638,639
+<         A              Y     AVE        47           1
+<         B              Y     AVE        23           1
+---
+>         A              Y     AVE         4           1
+>         B              Y     AVE         9           1
+541c641
+<     Free table slots: 491
+---
+>     Free table slots: 481
+544,545c644,645
+<     Peak demand: 2.46 megawords
+<     Current cache: 2.794 megawords
+---
+>     Peak demand: 2.18 megawords
+>     Current cache: 2.922 megawords
+551d650
+< ! excercise under the default memory management
+ 
+ 
+! deliberate error
+SET MODE IGNORE
+SET MODE FRUGAL:95
+SET MODE/LAST IGNORE
+ 
+*** Running ferret script: bn_stat_precision.jnl
+! bn_stat_precision.jnl
+! 3/2017 *acm* Ticket 2512
+ 
+! The stat command self-adjusts precision to make the
+! min and max listed distinct
+ 
+let var = {1907.1,1907.05,1907.11}
+stat/br var
+ 
+ Total # of data points: 3 (3*1*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 1907.05
+ Maximum value: 1907.11
+ Mean    value: 1907.08667 (unweighted average)
+ 
+let var = {1907.001,1907.0005,1907.0011}
+stat/br var
+ 
+ Total # of data points: 3 (3*1*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 1907.0005
+ Maximum value: 1907.0011
+ Mean    value: 1907.00087 (unweighted average)
+ 
+let var = {221907.001,221907.0005,221907.0011}
+stat/br var
+ 
+ Total # of data points: 3 (3*1*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 221907.0005
+ Maximum value: 221907.0011
+ Mean    value: 221907.0008666667 (unweighted average)
+ 
+ 
+! STAT/PREC controls the precision, writing more or less digits
+ 
+stat/br/prec=5 var
+ 
+ Total # of data points: 3 (3*1*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 221907
+ Maximum value: 221907
+ Mean    value: 221907 (unweighted average)
+stat/br/prec=12 var
+ 
+ Total # of data points: 3 (3*1*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 221907.0005
+ Maximum value: 221907.0011
+ Mean    value: 221907.000867 (unweighted average)
+ 
+! some more examples
+let var = 30*randu(1+i[i=1:10])
+stat/br var
+ 
+ Total # of data points: 10 (10*1*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 2.7871
+ Maximum value: 27.002
+ Mean    value: 15.77 (unweighted average)
+stat/br/prec=3 var
+ 
+ Total # of data points: 10 (10*1*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 2.79
+ Maximum value: 27
+ Mean    value: 15.8 (unweighted average)
+stat/br/prec=7 var
+ 
+ Total # of data points: 10 (10*1*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 2.787087
+ Maximum value: 27.00225
+ Mean    value: 15.76991 (unweighted average)
+stat/br/prec=12 var
+ 
+ Total # of data points: 10 (10*1*1*1*1*1)
+ # flagged as bad  data: 0
+ Minimum value: 2.78708674143
+ Maximum value: 27.002246751
+ Mean    value: 15.76991222 (unweighted average)
+*** Running ferret script: bn_plot_vs_with_time.jnl
+! bn_plot_vs_with_time.jnl
+! See ticket 2246
+! 3/27/2017 *ACM*
+ 
+! PLOT/VS plots automatically draw a formatted time axis
+! when one of the variables has calendar units and time origin
+ 
+! (Currently allow just one axis to be time formatted)
+ 
+can mode logo
+ 
+! Date units syntax days since 1982-01-01 is valid
+ 
+define axis/t=1:500:10/units=days/t0="01-jan-1982" tax
+let/units="days since 1982-01-01" mytime2 = t[gt=tax]
+ 
+let myvar2 = RANDU(mytime2)
+plot/vs/line mytime2, myvar2
+plot/vs/over/sym/color=red mytime2[L=1:50:2], myvar2[L=1:50:2]
+ 
+! time axis on the vertical
+ 
+! Date syntax days since 01-jan-1982 is also valid.
+define axis/t=1:500:10/units=days/t0="01-jan-1982" tax
+let/units="days since 01-jan-1982" mytime2 = t[gt=tax]
+ 
+plot/vs/line myvar2, mytime2
+plot/vs/over/sym/color=red/line  myvar2[L=1:50:2],  mytime2[L=1:50:2]
+ 
+! LAS style plots:
+! Dataset with pressure,temperature on ZT grid. Define a time variable
+! send it to PLOT/VS to draw plots with time-formatted axis, plain
+! 2-variable plots and plot/vs plots.
+! Define variables as if gridded T-Z data in spurs dataset
+ 
+define axis/t="25-JAN-2017:23:00":"02-FEB-2017 10:00":12/units=hours/t0=1-jan-2017 time
+define axis/z=1:50:4/units=m/depth zaxis
+let/title=pressure/units=m pres=z[gz=zaxis] + 0.3*randu(t[gt=time])
+let/title=temperature/units="Deg C" temp = 20 - z[gz=zaxis] + 10*randu(t[gt=time])
+ 
+! Define a time variable
+let/units="`pres,return=tunits` since `pres,return=t0`" ttvar = t[gt=temp] + 0*temp
+ !-> DEFINE VARIABLE/units="HOURS since 1-JAN-2017" ttvar = t[gt=temp] + 0*temp
+ 
+! time on horizontal axis
+set v ul; plot/vs/ribbon/sym=17/thick/vlim=50:0  ttvar, pres, temp
+ 
+! time on vertical axis
+set v ur; plot/vs/ribbon/sym=17/thick/hlim=50:0  pres, ttvar, temp
+ 
+! More time axis styles
+ 
+define axis/t=1-jan-2016:1-jan-2017:45/units=days/t0=1-jan-1970 time
+let/title=pressure/units=m pres=z[gz=zaxis] + 0.3*randu(t[gt=time])
+let/title=temperature/units="Deg C" temp = 20 - z[gz=zaxis] + 10*randu(t[gt=time])
+let/units="`pres,return=tunits` since `pres,return=t0`" ttvar = t[gt=temp] + 0*temp
+ !-> DEFINE VARIABLE/units="DAYS since 1-JAN-1970" ttvar = t[gt=temp] + 0*temp
+ 
+set v ll; plot/vs/ribbon/sym=17/thick/vlim=50:0  ttvar, pres, temp
+ 
+define axis/t=1-jan-2001:1-jan-2012:181/units=days/t0=1-jan-1970 time
+let/title=pressure/units=m pres=z[gz=zaxis] + 0.3*randu(t[gt=time])
+let/title=temperature/units="Deg C" temp = 20 - z[gz=zaxis] + 10*randu(t[gt=time])
+let/units="`pres,return=tunits` since `pres,return=t0`" ttvar = t[gt=temp] + 0*temp
+ !-> DEFINE VARIABLE/units="DAYS since 1-JAN-1970" ttvar = t[gt=temp] + 0*temp
+ 
+set v lr; plot/vs/ribbon/sym=17/thick/vlim=50:0  ttvar, pres, temp
+ 
+ 
+set mode/last logo
+*** Running ferret script: bn_dot_product.jnl
+! bn_dot_product.jnl
+! 3/2017 *acm*  dot product function for matrix multiply operation
+ 
+ 
+sh func dot*
+DOT(VAR1,VAR2,IDIM)
+    Compute the inner product of two variables along given dimension
+    VAR1: Variable 1
+    VAR2: Variable 2
+    IDIM: Dimension (e.g.1,2,...)
+DOT_E(VAR1,VAR2)
+    Compute the inner product of two variables along E-axis
+    VAR1: Variable 1
+    VAR2: Variable 2
+DOT_F(VAR1,VAR2)
+    Compute the inner product of two variables along F-axis
+    VAR1: Variable 1
+    VAR2: Variable 2
+DOT_T(VAR1,VAR2)
+    Compute the inner product of two variables along T-axis
+    VAR1: Variable 1
+    VAR2: Variable 2
+DOT_X(VAR1,VAR2)
+    Compute the inner product of two variables along X-axis
+    VAR1: Variable 1
+    VAR2: Variable 2
+DOT_Y(VAR1,VAR2)
+    Compute the inner product of two variables along Y-axis
+    VAR1: Variable 1
+    VAR2: Variable 2
+DOT_Z(VAR1,VAR2)
+    Compute the inner product of two variables along Z-axis
+    VAR1: Variable 1
+    VAR2: Variable 2
+ 
+! A call to dot(var1, var2, dir) translates into call to
+! function dot_q(var1,var2) where q is the pax direction
+! corresponding to dir=1,2,...,6
+ 
+set list/pre=7
+ 
+define axis/x=1:5:1 xpax
+define axis/y=0.1:0.3:0.1 ypax
+define axis/z=0.01:0.04:0.01 zpax
+define axis/e=-3:-1:1 epax
+define axis/f=-0.4:-0.1:0.1 fpax
+ 
+let var1 = x[gx=xpax]
+let var2 = 1+0*x[gx=xpax]
+list var1, var2
+             X: 0.5 to 5.5
+ Column  1: VAR1 is X[GX=XPAX]
+ Column  2: VAR2 is 1+0*X[GX=XPAX]
+             VAR1     VAR2
+1   / 1:  1.000000  1.000000
+2   / 2:  2.000000  1.000000
+3   / 3:  3.000000  1.000000
+4   / 4:  4.000000  1.000000
+5   / 5:  5.000000  1.000000
+list  dot(var1, var2, 1)
+             VARIABLE : DOT(VAR1, VAR2, 1)
+          15.00000
+!can var/all
+ 
+let var1 = x[gx=xpax]
+let var2 = 1+0*x[gx=xpax]
+list  dot_x(var1, var2)
+             VARIABLE : DOT_X(VAR1, VAR2)
+          15.00000
+ 
+let var1 = y[gy=ypax]
+let var2 = 1+0*y[gy=ypax]
+list var1, var2
+             Y: 0.05 to 0.4
+ Column  1: VAR1 is Y[GY=YPAX]
+ Column  2: VAR2 is 1+0*Y[GY=YPAX]
+               VAR1     VAR2
+0.1  / 1:  0.1000000  1.000000
+0.2  / 2:  0.2000000  1.000000
+0.3  / 3:  0.3000000  1.000000
+list  dot(var1, var2, 2)
+             VARIABLE : DOT(VAR1, VAR2, 2)
+          0.6000000
+ 
+let var1 = z[gz=zpax]
+let var2 = 1+0*z[gz=zpax]
+list var1, var2
+             Z: 0.005 to 0.045
+ Column  1: VAR1 is Z[GZ=ZPAX]
+ Column  2: VAR2 is 1+0*Z[GZ=ZPAX]
+                 VAR1     VAR2
+0.01  / 1:  0.01000000  1.000000
+0.02  / 2:  0.02000000  1.000000
+0.03  / 3:  0.03000000  1.000000
+0.04  / 4:  0.04000000  1.000000
+list  dot(var1, var2, 3)
+             VARIABLE : DOT(VAR1, VAR2, 3)
+          0.10000000
+ 
+let var1 = L[gt=month_reg]
+let var2 = 1+0*L[gt=month_reg]
+list var1, var2
+             TIME: 01-JAN 00:45 to 31-DEC 06:34
+ Column  1: VAR1 is L[GT=MONTH_REG]
+ Column  2: VAR2 is 1+0*L[GT=MONTH_REG]
+                      VAR1     VAR2
+16-JAN      /  1:   1.00000  1.000000
+15-FEB      /  2:   2.00000  1.000000
+17-MAR      /  3:   3.00000  1.000000
+16-APR      /  4:   4.00000  1.000000
+16-MAY      /  5:   5.00000  1.000000
+16-JUN      /  6:   6.00000  1.000000
+16-JUL      /  7:   7.00000  1.000000
+16-AUG      /  8:   8.00000  1.000000
+15-SEP      /  9:   9.00000  1.000000
+16-OCT      / 10:  10.00000  1.000000
+15-NOV      / 11:  11.00000  1.000000
+16-DEC      / 12:  12.00000  1.000000
+list  dot(var1, var2, 4)
+             VARIABLE : DOT(VAR1, VAR2, 4)
+          78.00000
+ 
+let var1 = _e[ge=epax]
+let var2 = 1+0*_e[ge=epax]
+list var1, var2
+             E: -3.5 to -0.5
+ Column  1: VAR1 is _E[GE=EPAX]
+ Column  2: VAR2 is 1+0*_E[GE=EPAX]
+              VAR1     VAR2
+-3   / 1: -3.000000  1.000000
+-2   / 2: -2.000000  1.000000
+-1   / 3: -1.000000  1.000000
+list  dot(var1, var2, 5)
+             VARIABLE : DOT(VAR1, VAR2, 5)
+         -6.000000
+ 
+let var1 = _f[gf=fpax]
+let var2 = 1+0*_f[gf=fpax]
+list var1, var2
+             F: -0.45 to -0.05
+ Column  1: VAR1 is _F[GF=FPAX]
+ Column  2: VAR2 is 1+0*_F[GF=FPAX]
+                VAR1     VAR2
+-0.4  / 1: -0.4000000  1.000000
+-0.3  / 2: -0.3000000  1.000000
+-0.2  / 3: -0.2000000  1.000000
+-0.1  / 4: -0.1000000  1.000000
+list  dot(var1, var2, 6)
+             VARIABLE : DOT(VAR1, VAR2, 6)
+         -1.000000
+ 
+let axy = x[gx=xpax] + y[gy=ypax]
+let bxz = 0*x[gx=xpax]+  10*Z[GZ=Zpax]
+list axy, bxz
+             X: 0.5 to 5.5
+             Y: 0.05 to 0.4
+             Z: 0.005 to 0.045
+ Column  1: AXY is X[GX=XPAX] + Y[GY=YPAX]
+ Column  2: BXZ is 0*X[GX=XPAX]+  10*Z[GZ=ZPAX]
+              AXY      BXZ
+ ---- K:1 Z:   0.01
+ ---- J:1 Y:   0.1
+1   / 1:  1.100000  0.1000000
+2   / 2:  2.100000  0.1000000
+3   / 3:  3.100000  0.1000000
+4   / 4:  4.100000  0.1000000
+5   / 5:  5.100000  0.1000000
+ ---- J:2 Y:   0.2
+1   / 1:  1.200000  0.1000000
+2   / 2:  2.200000  0.1000000
+3   / 3:  3.200000  0.1000000
+4   / 4:  4.200000  0.1000000
+5   / 5:  5.200000  0.1000000
+ ---- J:3 Y:   0.3
+1   / 1:  1.300000  0.1000000
+2   / 2:  2.300000  0.1000000
+3   / 3:  3.300000  0.1000000
+4   / 4:  4.300000  0.1000000
+5   / 5:  5.300000  0.1000000
+ ---- K:2 Z:   0.02
+ ---- J:1 Y:   0.1
+1   / 1:  1.100000  0.2000000
+2   / 2:  2.100000  0.2000000
+3   / 3:  3.100000  0.2000000
+4   / 4:  4.100000  0.2000000
+5   / 5:  5.100000  0.2000000
+ ---- J:2 Y:   0.2
+1   / 1:  1.200000  0.2000000
+2   / 2:  2.200000  0.2000000
+3   / 3:  3.200000  0.2000000
+4   / 4:  4.200000  0.2000000
+5   / 5:  5.200000  0.2000000
+ ---- J:3 Y:   0.3
+1   / 1:  1.300000  0.2000000
+2   / 2:  2.300000  0.2000000
+3   / 3:  3.300000  0.2000000
+4   / 4:  4.300000  0.2000000
+5   / 5:  5.300000  0.2000000
+ ---- K:3 Z:   0.03
+ ---- J:1 Y:   0.1
+1   / 1:  1.100000  0.3000000
+2   / 2:  2.100000  0.3000000
+3   / 3:  3.100000  0.3000000
+4   / 4:  4.100000  0.3000000
+5   / 5:  5.100000  0.3000000
+ ---- J:2 Y:   0.2
+1   / 1:  1.200000  0.3000000
+2   / 2:  2.200000  0.3000000
+3   / 3:  3.200000  0.3000000
+4   / 4:  4.200000  0.3000000
+5   / 5:  5.200000  0.3000000
+ ---- J:3 Y:   0.3
+1   / 1:  1.300000  0.3000000
+2   / 2:  2.300000  0.3000000
+3   / 3:  3.300000  0.3000000
+4   / 4:  4.300000  0.3000000
+5   / 5:  5.300000  0.3000000
+ ---- K:4 Z:   0.04
+ ---- J:1 Y:   0.1
+1   / 1:  1.100000  0.4000000
+2   / 2:  2.100000  0.4000000
+3   / 3:  3.100000  0.4000000
+4   / 4:  4.100000  0.4000000
+5   / 5:  5.100000  0.4000000
+ ---- J:2 Y:   0.2
+1   / 1:  1.200000  0.4000000
+2   / 2:  2.200000  0.4000000
+3   / 3:  3.200000  0.4000000
+4   / 4:  4.200000  0.4000000
+5   / 5:  5.200000  0.4000000
+ ---- J:3 Y:   0.3
+1   / 1:  1.300000  0.4000000
+2   / 2:  2.300000  0.4000000
+3   / 3:  3.300000  0.4000000
+4   / 4:  4.300000  0.4000000
+5   / 5:  5.300000  0.4000000
+list dot(axy, bxz, 1)
+             VARIABLE : DOT(AXY, BXZ, 1)
+             SUBSET   : 3 by 4 points (Y-Z)
+                0.1       0.2       0.3    
+                 1         2         3
+ 0.01  / 1:  1.550000  1.600000  1.650000
+ 0.02  / 2:  3.100000  3.200000  3.300000
+ 0.03  / 3:  4.650000  4.800000  4.950000
+ 0.04  / 4:  6.200000  6.400000  6.600000
+ 
+let byz = y[gy=ypax]+  10*Z[GZ=Zpax]
+list dot(axy, byz, 2)
+             VARIABLE : DOT(AXY, BYZ, 2)
+             SUBSET   : 5 by 4 points (X-Z)
+                1         2         3         4         5      
+                 1         2         3         4         5
+ 0.01  / 1:  1.100000  2.000000  2.900000  3.800000  4.700000
+ 0.02  / 2:  1.460000  2.660000  3.860000  5.060000  6.260000
+ 0.03  / 3:  1.820000  3.320000  4.820000  6.320000  7.820000
+ 0.04  / 4:  2.180000  3.980000  5.780000  7.580000  9.380000
+ 
+let lvar = L[gt=month_reg] - 1
+let axyt = axy + lvar
+let multi_dot = dot(axyt, byz, 2)
+save/file=a.nc/clobber multi_dot
+ 
+can var multi_dot
+use a.nc
+!  This should be the same as dot(axy, byz, 2)
+list/l=1 multi_dot
+             VARIABLE : DOT(AXYT, BYZ, 2)
+             FILENAME : a.nc
+             SUBSET   : 5 by 4 points (X-Z)
+             TIME     : 16-JAN 06:00
+                1         2         3         4         5      
+                 1         2         3         4         5
+ 0.01  / 1:  1.100000  2.000000  2.900000  3.800000  4.700000
+ 0.02  / 2:  1.460000  2.660000  3.860000  5.060000  6.260000
+ 0.03  / 3:  1.820000  3.320000  4.820000  6.320000  7.820000
+ 0.04  / 4:  2.180000  3.980000  5.780000  7.580000  9.380000
+ 
+!  z and t
+ 
+ 
+let axz = x[gx=xpax] + z[gz=zpax]
+let bzt = 0*z[gz=zpax]+  10*L[gt=month_reg]
+list dot(axz, bzt, 3)
+             VARIABLE : DOT(AXZ, BZT, 3)
+             SUBSET   : 5 by 12 points (X-TIME)
+                       1         2         3         4         5      
+                        1         2         3         4         5
+ 16-JAN      /  1:    41.000    81.000   121.000   161.000   201.000
+ 15-FEB      /  2:    82.000   162.000   242.000   322.000   402.000
+ 17-MAR      /  3:   123.000   243.000   363.000   483.000   603.000
+ 16-APR      /  4:   164.000   324.000   484.000   644.000   804.000
+ 16-MAY      /  5:   205.000   405.000   605.000   805.000  1005.000
+ 16-JUN      /  6:   246.000   486.000   726.000   966.000  1206.000
+ 16-JUL      /  7:   287.000   567.000   847.000  1127.000  1407.000
+ 16-AUG      /  8:   328.000   648.000   968.000  1288.000  1608.000
+ 15-SEP      /  9:   369.000   729.000  1089.000  1449.000  1809.000
+ 16-OCT      / 10:   410.000   810.000  1210.000  1610.000  2010.000
+ 15-NOV      / 11:   451.000   891.000  1331.000  1771.000  2211.000
+ 16-DEC      / 12:   492.000   972.000  1452.000  1932.000  2412.000
+ 
+let ayt = y[gy=ypax]+ 10*L[gt=month_reg]
+list dot(ayt, bzt, 4)
+             VARIABLE : DOT(AYT, BZT, 4)
+             SUBSET   : 3 by 4 points (Y-Z)
+                0.1       0.2       0.3    
+                 1         2         3
+ 0.01  / 1:  65078.00  65156.00  65234.00
+ 0.02  / 2:  65078.00  65156.00  65234.00
+ 0.03  / 3:  65078.00  65156.00  65234.00
+ 0.04  / 4:  65078.00  65156.00  65234.00
+ 
+ 
+let xvar = x[gx=xpax] - 1
+let axyt = ayt + xvar
+let multi_dot = dot(axyt, bzt, 4)
+save/file=a.nc/clobber multi_dot
+ 
+can var multi_dot
+use a.nc
+!  This should be the same as dot(ayt, bzt, 4)
+list/i=1 multi_dot
+             VARIABLE : DOT(AXYT, BYZ, 2)
+             FILENAME : a.nc
+             SUBSET   : 4 by 12 points (Z-TIME)
+             X        : 1
+                      0.01      0.02      0.03      0.04    
+                        1         2         3         4
+ 16-JAN      /  1:   1.10000   1.46000   1.82000   2.18000
+ 15-FEB      /  2:   2.00000   2.66000   3.32000   3.98000
+ 17-MAR      /  3:   2.90000   3.86000   4.82000   5.78000
+ 16-APR      /  4:   3.80000   5.06000   6.32000   7.58000
+ 16-MAY      /  5:   4.70000   6.26000   7.82000   9.38000
+ 16-JUN      /  6:   5.60000   7.46000   9.32000  11.18000
+ 16-JUL      /  7:   6.50000   8.66000  10.82000  12.98000
+ 16-AUG      /  8:   7.40000   9.86000  12.32000  14.78000
+ 15-SEP      /  9:   8.30000  11.06000  13.82000  16.58000
+ 16-OCT      / 10:   9.20000  12.26000  15.32000  18.38000
+ 15-NOV      / 11:  10.10000  13.46000  16.82000  20.18000
+ 16-DEC      / 12:  11.00000  14.66000  18.32000  21.98000
+ 
+can dat/all
+ 
+!  e and f
+ 
+let ayf = _f[gf=fpax] + y[gy=ypax]
+let bfe = 0*_f[gf=fpax]+  10*_e[ge=epax]
+list dot(ayf, bfe, 6)
+             VARIABLE : DOT(AYF, BFE, 6)
+             SUBSET   : 3 by 3 points (Y-E)
+               0.1       0.2       0.3    
+                1         2         3
+ -3   / 1:  18.00000   6.00000  -6.00000
+ -2   / 2:  12.00000   4.00000  -4.00000
+ -1   / 3:   6.00000   2.00000  -2.00000
+ 
+let aze = z[gz=zpax]+ 10*_e[ge=epax]
+list dot(aze, bfe, 5)
+             VARIABLE : DOT(AZE, BFE, 5)
+             SUBSET   : 4 by 4 points (Z-F)
+               0.01      0.02      0.03      0.04    
+                 1         2         3         4
+ -0.4  / 1:  1399.400  1398.800  1398.200  1397.600
+ -0.3  / 2:  1399.400  1398.800  1398.200  1397.600
+ -0.2  / 3:  1399.400  1398.800  1398.200  1397.600
+ -0.1  / 4:  1399.400  1398.800  1398.200  1397.600
+ 
+let xvar = x[gx=xpax] - 1
+let azex = aze + xvar
+let multi_dot = dot(azex, bfe, 5)
+save/file=a.nc/clobber multi_dot
+ 
+can var multi_dot
+use a.nc
+!  This should be the same as dot(azex, bfe, 5)
+list/i=1 multi_dot
+             VARIABLE : DOT(AZEX, BFE, 5)
+             FILENAME : a.nc
+             SUBSET   : 4 by 4 points (Z-F)
+             X        : 1
+               0.01      0.02      0.03      0.04    
+                 1         2         3         4
+ -0.4  / 1:  1399.400  1398.800  1398.200  1397.600
+ -0.3  / 2:  1399.400  1398.800  1398.200  1397.600
+ -0.2  / 3:  1399.400  1398.800  1398.200  1397.600
+ -0.1  / 4:  1399.400  1398.800  1398.200  1397.600
+ 
+cancel list/precision
+*** Running ferret script: bn_cache_management.jnl
+! bn_cache_management.jnl
+ 
+ ! 1/2017 - try to force Ferret into a complex juggling of dependencies
+! and cache maintenance in order to reproduce the problem seen in trac
+! ticket #2485 (from Ned Cokelet)
+! *acm*7/2017 0=success for SPAWN_STATUS
+ 
+! Ferret's cache of memory-resident results is full when it holds 500 of them.
+! At that point it must delete cached results to make room for new variables.
+! It is supposed to chose the cached result that has not been used for the
+! longest time, AND that is not being "protected" because it is needed in a
+! pending calculation.  This script is intended to exercise that behavior.
+ 
+! Memory footprint needed:
+! Each dataset contains 7 variables of 1 Mword each
+! VTREE reveals that the "result" variable requires 78 intermediate variables
+! of size 1Mword (plus 7 small ones)
+! Of these only 12 variables needed in the top level "result" sum calculation
+! Each of the top level variables in turn requires ?25? component variables
+! But the top level variables need these components only in sequence.
+! So if no split-gather is performed, Ferret requires ~12+25=37 Mwords
+ 
+DEFINE SYMBOL saved_memory_size = ($FERRET_MEMORY)
+ !-> DEFINE SYMBOL saved_memory_size = 25.6
+ 
+SET MEMORY/SIZE=20
+CANCEL MEMORY/ALL
+ 
+DEFINE SYMBOL nsets = 20
+ 
+define axis/x=1:1000000:1 xmillion
+ 
+! aside: to demonstrate lmitations of ferret memory management prior to
+! dynamic memory, use
+!     yes? set memory/size=37
+!     yes? GO test_auto_cache_delete 0 20
+ 
+! see if the test files already exist
+SPAWN "mkdir -p tmp"     ! tmp directory to store files
+SPAWN ls tmp/test_auto_cache_($nsets).nc
+ !-> SPAWN ls tmp/test_auto_cache_20.nc
+IF ($SPAWN_OK) THEN
+ !-> IF 0 THEN
+ELSE
+ say creating test files
+creating test files
+ cancel mode verify
+ENDIF
+ 
+! open the many input datasets
+REPEAT/k=1:($nsets)  USE tmp/test_auto_cache_`k`.nc
+ !-> REPEAT/k=1:20  USE tmp/test_auto_cache_`k`.nc
+!-> REPEAT: K=1
+ !-> SET DAT/FORM=CDF tmp/test_auto_cache_1.nc
+!-> REPEAT: K=2
+ !-> SET DAT/FORM=CDF tmp/test_auto_cache_2.nc
+!-> REPEAT: K=3
+ !-> SET DAT/FORM=CDF tmp/test_auto_cache_3.nc
+!-> REPEAT: K=4
+ !-> SET DAT/FORM=CDF tmp/test_auto_cache_4.nc
+!-> REPEAT: K=5
+ !-> SET DAT/FORM=CDF tmp/test_auto_cache_5.nc
+!-> REPEAT: K=6
+ !-> SET DAT/FORM=CDF tmp/test_auto_cache_6.nc
+!-> REPEAT: K=7
+ !-> SET DAT/FORM=CDF tmp/test_auto_cache_7.nc
+!-> REPEAT: K=8
+ !-> SET DAT/FORM=CDF tmp/test_auto_cache_8.nc
+!-> REPEAT: K=9
+ !-> SET DAT/FORM=CDF tmp/test_auto_cache_9.nc
+!-> REPEAT: K=10
+ !-> SET DAT/FORM=CDF tmp/test_auto_cache_10.nc
+!-> REPEAT: K=11
+ !-> SET DAT/FORM=CDF tmp/test_auto_cache_11.nc
+!-> REPEAT: K=12
+ !-> SET DAT/FORM=CDF tmp/test_auto_cache_12.nc
+!-> REPEAT: K=13
+ !-> SET DAT/FORM=CDF tmp/test_auto_cache_13.nc
+!-> REPEAT: K=14
+ !-> SET DAT/FORM=CDF tmp/test_auto_cache_14.nc
+!-> REPEAT: K=15
+ !-> SET DAT/FORM=CDF tmp/test_auto_cache_15.nc
+!-> REPEAT: K=16
+ !-> SET DAT/FORM=CDF tmp/test_auto_cache_16.nc
+!-> REPEAT: K=17
+ !-> SET DAT/FORM=CDF tmp/test_auto_cache_17.nc
+!-> REPEAT: K=18
+ !-> SET DAT/FORM=CDF tmp/test_auto_cache_18.nc
+!-> REPEAT: K=19
+ !-> SET DAT/FORM=CDF tmp/test_auto_cache_19.nc
+!-> REPEAT: K=20
+ !-> SET DAT/FORM=CDF tmp/test_auto_cache_20.nc
+ 
+! define a huge tree of variables
+let  r_one      = RESHAPE(one,X[gx=xmillion])
+let  r_ten      = RESHAPE(ten,X[gx=xmillion])
+let  r_hundred  = RESHAPE(hundred,X[gx=xmillion])
+let  r_thousand = RESHAPE(thousand,X[gx=xmillion])
+let  r_tenthou  = RESHAPE(tenthou,X[gx=xmillion])
+let  r_hundthou = RESHAPE(hundthou,X[gx=xmillion])
+let  r_million  = RESHAPE(million,X[gx=xmillion])
+ 
+let a_one     = r_one[X=@ave]
+let a_ten     = r_ten[X=@ave]
+let a_hundred = r_hundred[X=@ave]
+let a_thousand= r_thousand[X=@ave]
+let a_tenthou = r_tenthou[X=@ave]
+let a_hundthou= r_hundthou[X=@ave]
+let a_million = r_million[X=@ave]
+ 
+let one_2      = a_one
+let ten_2      = a_ten
+let hundred_2  = a_hundred
+let thousand_2 = a_thousand
+let tenthou_2  = a_tenthou
+let hundthou_2 = a_hundthou
+let million_2  = a_million
+ 
+let one_3      = a_one
+let ten_3      = a_ten
+let hundred_3  = a_hundred
+let thousand_3 = a_thousand
+let tenthou_3  = a_tenthou
+let hundthou_3 = a_hundthou
+let million_3  = a_million
+ 
+let result_31 = \
+one_3 + ten_3 + hundred_3 + thousand_3 + tenthou_3 + hundthou_3 + million_3
+ 
+let result_21 = \
+one_2 + ten_2 + hundred_2 + thousand_2 + tenthou_2 + hundthou_2 + million_2
+ 
+let result_32 = \
+one_3 + ten_3 + hundred_3 + thousand_3 + tenthou_3 + hundthou_3 + million_3
+ 
+let result_22 = \
+one_2 + ten_2 + hundred_2 + thousand_2 + tenthou_2 + hundthou_2 + million_2
+ 
+let result = result_31 + result_21 + result_32 + result_22 + \
+a_one + a_ten + a_hundred + a_thousand + a_tenthou + a_hundthou + a_million
+ 
+! process all of the datasets in turn
+! ==> WATCH HOW THE NUMBER OF FREE SLOTS IS PROGRESSIVELY EXHAUSTED
+! This proves that we are exercising the limits of table space
+sp rm -f test_auto_cache.out
+REPEAT/k=1:($nsets)  \
+(list/nohead/file=test_auto_cache.out/append result[d=test_auto_cache_`k`.nc];\
+SHOW MEMORY/DIAG)
+ !-> REPEAT/k=1:20  (list/nohead/file=test_auto_cache.out/append result[d=test_auto_cache_`k`.nc];SHOW MEMORY/DIAG)
+!-> REPEAT: K=1
+ !-> list/nohead/file=test_auto_cache.out/append result[d=test_auto_cache_1.nc]
+    No split/gather occurred in the last evaluation
+    Total table slots: 500
+    Free table slots: 432
+    Un-cached variables: 0
+    SET MEMORY/SIZE: 20 megawords
+    Peak demand: 8.020001 megawords
+    Current cache: 14.21004 megawords
+!-> REPEAT: K=2
+ !-> list/nohead/file=test_auto_cache.out/append result[d=test_auto_cache_2.nc]
+    No split/gather occurred in the last evaluation
+    Total table slots: 500
+    Free table slots: 385
+    Un-cached variables: 0
+    SET MEMORY/SIZE: 20 megawords
+    Peak demand: 8.020001 megawords
+    Current cache: 7.42008 megawords
+!-> REPEAT: K=3
+ !-> list/nohead/file=test_auto_cache.out/append result[d=test_auto_cache_3.nc]
+    No split/gather occurred in the last evaluation
+    Total table slots: 500
+    Free table slots: 331
+    Un-cached variables: 0
+    SET MEMORY/SIZE: 20 megawords
+    Peak demand: 8.020001 megawords
+    Current cache: 7.63012 megawords
+!-> REPEAT: K=4
+ !-> list/nohead/file=test_auto_cache.out/append result[d=test_auto_cache_4.nc]
+    No split/gather occurred in the last evaluation
+    Total table slots: 500
+    Free table slots: 277
+    Un-cached variables: 0
+    SET MEMORY/SIZE: 20 megawords
+    Peak demand: 8.020001 megawords
+    Current cache: 7.84016 megawords
+!-> REPEAT: K=5
+ !-> list/nohead/file=test_auto_cache.out/append result[d=test_auto_cache_5.nc]
+    No split/gather occurred in the last evaluation
+    Total table slots: 500
+    Free table slots: 223
+    Un-cached variables: 0
+    SET MEMORY/SIZE: 20 megawords
+    Peak demand: 8.020001 megawords
+    Current cache: 8.0502 megawords
+!-> REPEAT: K=6
+ !-> list/nohead/file=test_auto_cache.out/append result[d=test_auto_cache_6.nc]
+    No split/gather occurred in the last evaluation
+    Total table slots: 500
+    Free table slots: 169
+    Un-cached variables: 0
+    SET MEMORY/SIZE: 20 megawords
+    Peak demand: 8.020001 megawords
+    Current cache: 8.26024 megawords
+!-> REPEAT: K=7
+ !-> list/nohead/file=test_auto_cache.out/append result[d=test_auto_cache_7.nc]
+    No split/gather occurred in the last evaluation
+    Total table slots: 500
+    Free table slots: 115
+    Un-cached variables: 0
+    SET MEMORY/SIZE: 20 megawords
+    Peak demand: 8.020001 megawords
+    Current cache: 8.47028 megawords
+!-> REPEAT: K=8
+ !-> list/nohead/file=test_auto_cache.out/append result[d=test_auto_cache_8.nc]
+    No split/gather occurred in the last evaluation
+    Total table slots: 500
+    Free table slots: 61
+    Un-cached variables: 0
+    SET MEMORY/SIZE: 20 megawords
+    Peak demand: 8.020001 megawords
+    Current cache: 8.68032 megawords
+!-> REPEAT: K=9
+ !-> list/nohead/file=test_auto_cache.out/append result[d=test_auto_cache_9.nc]
+    No split/gather occurred in the last evaluation
+    Total table slots: 500
+    Free table slots: 7
+    Un-cached variables: 0
+    SET MEMORY/SIZE: 20 megawords
+    Peak demand: 8.020001 megawords
+    Current cache: 8.89036 megawords
+!-> REPEAT: K=10
+ !-> list/nohead/file=test_auto_cache.out/append result[d=test_auto_cache_10.nc]
+    No split/gather occurred in the last evaluation
+    Total table slots: 500
+    Free table slots: 1
+    Un-cached variables: 0
+    SET MEMORY/SIZE: 20 megawords
+    Peak demand: 8.020001 megawords
+    Current cache: 8.890366 megawords
+!-> REPEAT: K=11
+ !-> list/nohead/file=test_auto_cache.out/append result[d=test_auto_cache_11.nc]
+    No split/gather occurred in the last evaluation
+    Total table slots: 500
+    Free table slots: 1
+    Un-cached variables: 0
+    SET MEMORY/SIZE: 20 megawords
+    Peak demand: 8.020001 megawords
+    Current cache: 8.890366 megawords
+!-> REPEAT: K=12
+ !-> list/nohead/file=test_auto_cache.out/append result[d=test_auto_cache_12.nc]
+    No split/gather occurred in the last evaluation
+    Total table slots: 500
+    Free table slots: 1
+    Un-cached variables: 0
+    SET MEMORY/SIZE: 20 megawords
+    Peak demand: 8.020001 megawords
+    Current cache: 8.890366 megawords
+!-> REPEAT: K=13
+ !-> list/nohead/file=test_auto_cache.out/append result[d=test_auto_cache_13.nc]
+    No split/gather occurred in the last evaluation
+    Total table slots: 500
+    Free table slots: 1
+    Un-cached variables: 0
+    SET MEMORY/SIZE: 20 megawords
+    Peak demand: 8.020001 megawords
+    Current cache: 8.890366 megawords
+!-> REPEAT: K=14
+ !-> list/nohead/file=test_auto_cache.out/append result[d=test_auto_cache_14.nc]
+    No split/gather occurred in the last evaluation
+    Total table slots: 500
+    Free table slots: 1
+    Un-cached variables: 0
+    SET MEMORY/SIZE: 20 megawords
+    Peak demand: 8.020001 megawords
+    Current cache: 8.890366 megawords
+!-> REPEAT: K=15
+ !-> list/nohead/file=test_auto_cache.out/append result[d=test_auto_cache_15.nc]
+    No split/gather occurred in the last evaluation
+    Total table slots: 500
+    Free table slots: 1
+    Un-cached variables: 0
+    SET MEMORY/SIZE: 20 megawords
+    Peak demand: 8.020001 megawords
+    Current cache: 8.890366 megawords
+!-> REPEAT: K=16
+ !-> list/nohead/file=test_auto_cache.out/append result[d=test_auto_cache_16.nc]
+    No split/gather occurred in the last evaluation
+    Total table slots: 500
+    Free table slots: 1
+    Un-cached variables: 0
+    SET MEMORY/SIZE: 20 megawords
+    Peak demand: 8.020001 megawords
+    Current cache: 8.890366 megawords
+!-> REPEAT: K=17
+ !-> list/nohead/file=test_auto_cache.out/append result[d=test_auto_cache_17.nc]
+    No split/gather occurred in the last evaluation
+    Total table slots: 500
+    Free table slots: 1
+    Un-cached variables: 0
+    SET MEMORY/SIZE: 20 megawords
+    Peak demand: 8.020001 megawords
+    Current cache: 8.890366 megawords
+!-> REPEAT: K=18
+ !-> list/nohead/file=test_auto_cache.out/append result[d=test_auto_cache_18.nc]
+    No split/gather occurred in the last evaluation
+    Total table slots: 500
+    Free table slots: 1
+    Un-cached variables: 0
+    SET MEMORY/SIZE: 20 megawords
+    Peak demand: 8.020001 megawords
+    Current cache: 8.890366 megawords
+!-> REPEAT: K=19
+ !-> list/nohead/file=test_auto_cache.out/append result[d=test_auto_cache_19.nc]
+    No split/gather occurred in the last evaluation
+    Total table slots: 500
+    Free table slots: 1
+    Un-cached variables: 0
+    SET MEMORY/SIZE: 20 megawords
+    Peak demand: 8.020001 megawords
+    Current cache: 8.890366 megawords
+!-> REPEAT: K=20
+ !-> list/nohead/file=test_auto_cache.out/append result[d=test_auto_cache_20.nc]
+    No split/gather occurred in the last evaluation
+    Total table slots: 500
+    Free table slots: 1
+    Un-cached variables: 0
+    SET MEMORY/SIZE: 20 megawords
+    Peak demand: 8.020001 megawords
+    Current cache: 8.890366 megawords
+ 
+! success
+vtree result
+   in default dataset test_auto_cache_20
+   RESULT = RESULT_31 + RESULT_21 + RESULT_32 + RESULT_22 + A_ONE + A_TEN + A_HUNDRED + A_THOUSAND + A_TENTHOU + A_HUNDTHOU + A_MILLION
+     RESULT_31 = ONE_3 + TEN_3 + HUNDRED_3 + THOUSAND_3 + TENTHOU_3 + HUNDTHOU_3 + MILLION_3
+       ONE_3 = A_ONE
+         A_ONE = R_ONE[X=@AVE]
+           R_ONE = RESHAPE(ONE,X[GX=XMILLION])
+             (C001,V002) = RESHAPE(ONE,X[GX=XMILLION])
+               (C013,V002) = X[GX=XMILLION]
+       TEN_3 = A_TEN
+         A_TEN = R_TEN[X=@AVE]
+           R_TEN = RESHAPE(TEN,X[GX=XMILLION])
+             (C001,V005) = RESHAPE(TEN,X[GX=XMILLION])
+               (C013,V005) = X[GX=XMILLION]
+       HUNDRED_3 = A_HUNDRED
+         A_HUNDRED = R_HUNDRED[X=@AVE]
+           R_HUNDRED = RESHAPE(HUNDRED,X[GX=XMILLION])
+             (C001,V008) = RESHAPE(HUNDRED,X[GX=XMILLION])
+               (C017,V008) = X[GX=XMILLION]
+       THOUSAND_3 = A_THOUSAND
+         A_THOUSAND = R_THOUSAND[X=@AVE]
+           R_THOUSAND = RESHAPE(THOUSAND,X[GX=XMILLION])
+             (C001,V011) = RESHAPE(THOUSAND,X[GX=XMILLION])
+               (C018,V011) = X[GX=XMILLION]
+       TENTHOU_3 = A_TENTHOU
+         A_TENTHOU = R_TENTHOU[X=@AVE]
+           R_TENTHOU = RESHAPE(TENTHOU,X[GX=XMILLION])
+             (C001,V014) = RESHAPE(TENTHOU,X[GX=XMILLION])
+               (C017,V014) = X[GX=XMILLION]
+       HUNDTHOU_3 = A_HUNDTHOU
+         A_HUNDTHOU = R_HUNDTHOU[X=@AVE]
+           R_HUNDTHOU = RESHAPE(HUNDTHOU,X[GX=XMILLION])
+             (C001,V017) = RESHAPE(HUNDTHOU,X[GX=XMILLION])
+               (C018,V017) = X[GX=XMILLION]
+       MILLION_3 = A_MILLION
+         A_MILLION = R_MILLION[X=@AVE]
+           R_MILLION = RESHAPE(MILLION,X[GX=XMILLION])
+             (C001,V020) = RESHAPE(MILLION,X[GX=XMILLION])
+               (C017,V020) = X[GX=XMILLION]
+     RESULT_21 = ONE_2 + TEN_2 + HUNDRED_2 + THOUSAND_2 + TENTHOU_2 + HUNDTHOU_2 + MILLION_2
+       ONE_2 = A_ONE
+         A_ONE =  (defined above)
+       TEN_2 = A_TEN
+         A_TEN =  (defined above)
+       HUNDRED_2 = A_HUNDRED
+         A_HUNDRED =  (defined above)
+       THOUSAND_2 = A_THOUSAND
+         A_THOUSAND =  (defined above)
+       TENTHOU_2 = A_TENTHOU
+         A_TENTHOU =  (defined above)
+       HUNDTHOU_2 = A_HUNDTHOU
+         A_HUNDTHOU =  (defined above)
+       MILLION_2 = A_MILLION
+         A_MILLION =  (defined above)
+     RESULT_32 = ONE_3 + TEN_3 + HUNDRED_3 + THOUSAND_3 + TENTHOU_3 + HUNDTHOU_3 + MILLION_3
+       ONE_3 =  (defined above)
+       TEN_3 =  (defined above)
+       HUNDRED_3 =  (defined above)
+       THOUSAND_3 =  (defined above)
+       TENTHOU_3 =  (defined above)
+       HUNDTHOU_3 =  (defined above)
+       MILLION_3 =  (defined above)
+     RESULT_22 = ONE_2 + TEN_2 + HUNDRED_2 + THOUSAND_2 + TENTHOU_2 + HUNDTHOU_2 + MILLION_2
+       ONE_2 =  (defined above)
+       TEN_2 =  (defined above)
+       HUNDRED_2 =  (defined above)
+       THOUSAND_2 =  (defined above)
+       TENTHOU_2 =  (defined above)
+       HUNDTHOU_2 =  (defined above)
+       MILLION_2 =  (defined above)
+     A_ONE =  (defined above)
+     A_TEN =  (defined above)
+     A_HUNDRED =  (defined above)
+     A_THOUSAND =  (defined above)
+     A_TENTHOU =  (defined above)
+     A_HUNDTHOU =  (defined above)
+     A_MILLION =  (defined above)
+! show that the calculation result never varied
+spawn cat test_auto_cache.out
+          5555555.
+          5555555.
+          5555555.
+          5555555.
+          5555555.
+          5555555.
+          5555555.
+          5555555.
+          5555555.
+          5555555.
+          5555555.
+          5555555.
+          5555555.
+          5555555.
+          5555555.
+          5555555.
+          5555555.
+          5555555.
+          5555555.
+          5555555.
+ 
+! clean up
+SET MEMORY/SIZE=($saved_memory_size)
+ !-> SET MEMORY/SIZE=25.6
+*** Running ferret script: bn_transp_choose.jnl
+! bn_transp_choose.jnl
+!  Test the TRANSPOSE function which chooses which of the
+! transpose_ functions to run based on arguments
+ 
+can mem
+sh func transpose
+TRANSPOSE(VAR,DIM1,DIM2)
+    Compute the transpose along two given dimensions
+    VAR: Variable to transpose
+    DIM1: Dimension 1 for transpose (1,2,...)
+    DIM2: Dimension 2 for transpose (1,2,...)
+ 
+use gt4d011
+ 
+list/K=1/l=1 u[i=91:100,j=35:45]
+             VARIABLE : ZONAL VELOCITY (cm/sec)
+             FILENAME : gt4d011.cdf
+             SUBSET   : 10 by 11 points (LONGITUDE-LATITUDE)
+             DEPTH (m): 5
+             TIME     : 17-AUG-1982 12:00
+              139W   138W   137W   136W   135W   134W   133W   132W   131W   130W   
+               91     92     93     94     95     96     97     98     99    100
+ 0     / 45:  -8.20 -19.89 -28.29 -25.75 -16.70 -11.70 -11.69 -13.85 -17.12 -21.07
+ 0.33S / 44:   1.59  -6.13 -13.69 -15.25 -11.03  -7.87  -7.10  -7.63  -9.21 -12.26
+ 0.67S / 43:   5.32   1.48  -3.07  -5.89  -5.82  -5.23  -4.74  -4.33  -4.43  -6.13
+ 1S    / 42:   4.21   2.98   1.52  -0.92  -2.98  -3.76  -3.56  -2.80  -2.14  -2.69
+ 1.33S / 41:   0.84   0.81   1.58   0.30  -2.14  -2.93  -2.57  -1.80  -1.01  -0.84
+ 1.67S / 40:  -2.97  -2.36  -0.43  -0.56  -2.17  -2.25  -1.77  -1.32  -0.77  -0.35
+ 2S    / 39:  -5.92  -4.46  -2.65  -1.48  -1.97  -1.38  -1.01  -1.15  -1.17  -1.00
+ 2.33S / 38:  -7.43  -5.01  -2.65  -0.75  -0.32   0.16   0.24  -0.26  -0.54  -0.55
+ 2.67S / 37:  -7.90  -5.72  -2.76  -0.71   0.17   0.87   0.49  -0.46  -1.02  -1.12
+ 3S    / 36:  -7.76  -5.38  -2.21  -0.01   0.83   1.06   0.35  -1.04  -2.12  -2.57
+ 3.33S / 35:  -6.68  -4.47  -2.20  -0.62  -0.06  -0.21  -1.41  -2.79  -3.67  -4.03
+let var = transpose (u[i=91:100,j=35:41], 1, 2)
+list/K=1/l=1 var
+             VARIABLE : TRANSPOSE (U[I=91:100,J=35:41], 1, 2)
+             FILENAME : gt4d011.cdf
+             SUBSET   : 7 by 10 points (X-Y)
+             DEPTH (m): 5
+             TIME     : 17-AUG-1982 12:00
+               1      2      3      4      5      6      7    
+               1      2      3      4      5      6      7
+ 1    /  1: -6.680 -7.762 -7.904 -7.426 -5.923 -2.970  0.842
+ 2    /  2: -4.470 -5.381 -5.718 -5.006 -4.457 -2.359  0.813
+ 3    /  3: -2.198 -2.209 -2.764 -2.647 -2.652 -0.425  1.580
+ 4    /  4: -0.620 -0.005 -0.710 -0.755 -1.478 -0.555  0.299
+ 5    /  5: -0.058  0.828  0.170 -0.324 -1.974 -2.169 -2.136
+ 6    /  6: -0.214  1.056  0.875  0.164 -1.383 -2.248 -2.932
+ 7    /  7: -1.413  0.347  0.486  0.235 -1.009 -1.767 -2.566
+ 8    /  8: -2.788 -1.040 -0.455 -0.259 -1.149 -1.316 -1.802
+ 9    /  9: -3.674 -2.118 -1.018 -0.536 -1.167 -0.772 -1.006
+ 10   / 10: -4.028 -2.566 -1.120 -0.550 -1.001 -0.346 -0.835
+ 
+! same as transpose_xy function
+list/k=1/l=1 transpose_xy(u[i=91:100,j=35:41])
+             VARIABLE : TRANSPOSE_XY(U[I=91:100,J=35:41])
+             FILENAME : gt4d011.cdf
+             SUBSET   : 7 by 10 points (X-Y)
+             DEPTH (m): 5
+             TIME     : 17-AUG-1982 12:00
+               1      2      3      4      5      6      7    
+               1      2      3      4      5      6      7
+ 1    /  1: -6.680 -7.762 -7.904 -7.426 -5.923 -2.970  0.842
+ 2    /  2: -4.470 -5.381 -5.718 -5.006 -4.457 -2.359  0.813
+ 3    /  3: -2.198 -2.209 -2.764 -2.647 -2.652 -0.425  1.580
+ 4    /  4: -0.620 -0.005 -0.710 -0.755 -1.478 -0.555  0.299
+ 5    /  5: -0.058  0.828  0.170 -0.324 -1.974 -2.169 -2.136
+ 6    /  6: -0.214  1.056  0.875  0.164 -1.383 -2.248 -2.932
+ 7    /  7: -1.413  0.347  0.486  0.235 -1.009 -1.767 -2.566
+ 8    /  8: -2.788 -1.040 -0.455 -0.259 -1.149 -1.316 -1.802
+ 9    /  9: -3.674 -2.118 -1.018 -0.536 -1.167 -0.772 -1.006
+ 10   / 10: -4.028 -2.566 -1.120 -0.550 -1.001 -0.346 -0.835
+ 
+! Combine transpose with other operations
+let vari = u - v
+list/l=1 vari[i=91:100,j=35:41,k=1:5 at ave]
+             VARIABLE : U - V
+             FILENAME : gt4d011.cdf
+             SUBSET   : 10 by 7 points (LONGITUDE-LATITUDE)
+             DEPTH (m): 0 to 50 (averaged)
+             TIME     : 17-AUG-1982 12:00
+              139W   138W   137W   136W   135W   134W   133W   132W   131W   130W   
+               91     92     93     94     95     96     97     98     99    100
+ 1.33S / 41:  31.96  33.88  35.22  32.52  26.48  23.46  23.71  26.69  30.92  34.16
+ 1.67S / 40:  25.82  27.64  29.79  29.00  24.90  23.10  23.50  25.89  29.37  32.46
+ 2S    / 39:  20.82  22.59  24.84  25.83  23.44  22.68  23.09  24.69  27.27  29.79
+ 2.33S / 38:  17.62  19.51  22.20  24.22  22.98  22.48  22.74  23.81  25.76  27.66
+ 2.67S / 37:  15.96  17.53  20.70  22.98  22.23  22.31  22.43  23.10  24.59  25.95
+ 3S    / 36:  14.43  16.40  19.31  21.57  20.87  20.95  20.89  21.14  22.19  23.48
+ 3.33S / 35:  13.00  14.83  17.21  19.11  18.28  18.32  18.33  18.69  19.60  20.46
+let var = transpose (vari[i=91:100,j=35:41,k=1:5 at ave], 1, 2)
+list/l=1 var
+             VARIABLE : TRANSPOSE (VARI[I=91:100,J=35:41,K=1:5 at AVE], 1, 2)
+             FILENAME : gt4d011.cdf
+             SUBSET   : 7 by 10 points (X-Y)
+             TIME     : 17-AUG-1982 12:00
+               1      2      3      4      5      6      7    
+               1      2      3      4      5      6      7
+ 1    /  1:  13.00  14.43  15.96  17.62  20.82  25.82  31.96
+ 2    /  2:  14.83  16.40  17.53  19.51  22.59  27.64  33.88
+ 3    /  3:  17.21  19.31  20.70  22.20  24.84  29.79  35.22
+ 4    /  4:  19.11  21.57  22.98  24.22  25.83  29.00  32.52
+ 5    /  5:  18.28  20.87  22.23  22.98  23.44  24.90  26.48
+ 6    /  6:  18.32  20.95  22.31  22.48  22.68  23.10  23.46
+ 7    /  7:  18.33  20.89  22.43  22.74  23.09  23.50  23.71
+ 8    /  8:  18.69  21.14  23.10  23.81  24.69  25.89  26.69
+ 9    /  9:  19.60  22.19  24.59  25.76  27.27  29.37  30.92
+ 10   / 10:  20.46  23.48  25.95  27.66  29.79  32.46  34.16
+ 
+*** Running ferret script: bn_iin_regrid.jnl
+! bn_iin_regrid.jnl
+! @IIN as a regridding transform See Ticket 2346
+ 
+def ax/edge/x=0:10:1 aline
+let a = mod(.5+x[gx=aline],2)
+ 
+let xlo = xboxlo[gx=a]
+def ax/x aline_edges = xcat(xlo[i=1], xboxhi[gx=a])
+ 
+! new @IIN regridding
+show axis/x aline_edges
+ name       axis              # pts   start                end
+ ALINE_EDGES X                 11 r   0                    10
+   Axis span (to cell edges) = 11
+ 
+       I     X                   XBOX      XBOXLO
+       1>  0                     1          -0.5
+       2>  1                     1          0.5
+       3>  2                     1          1.5
+       4>  3                     1          2.5
+       5>  4                     1          3.5
+       6>  5                     1          4.5
+       7>  6                     1          5.5
+       8>  7                     1          6.5
+       9>  8                     1          7.5
+      10>  9                     1          8.5
+      11>  10                    1          9.5
+ 
+let c = a[gx=aline_edges at iin]
+list a
+             VARIABLE : MOD(.5+X[GX=ALINE],2)
+             SUBSET   : 10 points (X)
+ 0.5 /  1:  1.000
+ 1.5 /  2:  0.000
+ 2.5 /  3:  1.000
+ 3.5 /  4:  0.000
+ 4.5 /  5:  1.000
+ 5.5 /  6:  0.000
+ 6.5 /  7:  1.000
+ 7.5 /  8:  0.000
+ 8.5 /  9:  1.000
+ 9.5 / 10:  0.000
+list c
+             VARIABLE : A[GX=ALINE_EDGES at IIN]
+             SUBSET   : 11 points (X)
+ 0    /  1:  0.000
+ 1    /  2:  1.000
+ 2    /  3:  1.000
+ 3    /  4:  2.000
+ 4    /  5:  2.000
+ 5    /  6:  3.000
+ 6    /  7:  3.000
+ 7    /  8:  4.000
+ 8    /  9:  4.000
+ 9    / 10:  5.000
+ 10   / 11:  5.000
+ 
+ 
+def ax/edge/x=0:10:1 aline
+let a = mod(.5+x[gx=aline],2)
+ 
+! Intentional error
+ 
+set mode ignore
+! Different delta
+ 
+define axis/x=0.5:10.5:0.5 alinenew
+list a[gx=alinenew at iin]
+ 
+set mode/last ignore
+ 
+ 
+! result out of range, returns missing
+define axis/x=100:111:1 alinenew
+list a[gx=alinenew at iin]
+             VARIABLE : MOD(.5+X[GX=ALINE],2)
+                        regrid: 1 delta on X at IIN
+             SUBSET   : 12 points (X)
+ 100   /  1:....
+ 101   /  2:....
+ 102   /  3:....
+ 103   /  4:....
+ 104   /  5:....
+ 105   /  6:....
+ 106   /  7:....
+ 107   /  8:....
+ 108   /  9:....
+ 109   / 10:....
+ 110   / 11:....
+ 111   / 12:....
+ 
+! partially out of range
+define axis/x=2.5:15.5:1 alinenew
+list a[gx=alinenew at iin]
+             VARIABLE : MOD(.5+X[GX=ALINE],2)
+                        regrid: 1 delta on X at IIN
+             SUBSET   : 14 points (X)
+ 2.5  /  1:  0.000
+ 3.5  /  2:  0.000
+ 4.5  /  3:  1.000
+ 5.5  /  4:  1.000
+ 6.5  /  5:  2.000
+ 7.5  /  6:  2.000
+ 8.5  /  7:  3.000
+ 9.5  /  8:  3.000
+ 10.5 /  9:   ....
+ 11.5 / 10:   ....
+ 12.5 / 11:   ....
+ 13.5 / 12:   ....
+ 14.5 / 13:   ....
+ 15.5 / 14:   ....
+ 
+! same range, outer boxes
+define axis/x=-0.5:10.5:1 alinenew
+list a[gx=alinenew at iin]
+             VARIABLE : MOD(.5+X[GX=ALINE],2)
+                        regrid: 1 delta on X at IIN
+             SUBSET   : 12 points (X)
+ -0.5 /  1:   ....
+ 0.5  /  2:  0.000
+ 1.5  /  3:  1.000
+ 2.5  /  4:  1.000
+ 3.5  /  5:  2.000
+ 4.5  /  6:  2.000
+ 5.5  /  7:  3.000
+ 6.5  /  8:  3.000
+ 7.5  /  9:  4.000
+ 8.5  / 10:  4.000
+ 9.5  / 11:  5.000
+ 10.5 / 12:   ....
+can mem
+! plots in different directions
+ 
+can view; can var/all
+! In X
+ 
+set win/asp=0.5
+set v left
+def ax/edge/x=0:10:1 aline
+let a = mod(.5+x[gx=aline],2)
+plot/step=con/vl=-1:6:1/hl=-1:11:1/grat=dash/col=green/thic=3 a
+let a_iin = a[x=@iin]
+plot/ov/line/sym=2/si=.1/col=2/thic=2 a_iin
+let xlo = xboxlo[gx=a]
+def ax/x aline_edges = xcat(xlo[i=1], xboxhi[gx=a])
+let a_iin_edges = a_iin[gx=aline_edges at asn]
+let a_int = IF i[gx=aline_edges] EQ 1 THEN 0 ELSE a_iin_edges[x=@shf:-1]
+plot/ov/line/sym=28/si=.1/col=purple/thic=2 a_int
+ 
+ 
+! new @IIN regridding
+ 
+show axis/x aline_edges
+ name       axis              # pts   start                end
+ ALINE_EDGES X                 11 r   0                    10
+   Axis span (to cell edges) = 11
+ 
+       I     X                   XBOX      XBOXLO
+       1>  0                     1          -0.5
+       2>  1                     1          0.5
+       3>  2                     1          1.5
+       4>  3                     1          2.5
+       5>  4                     1          3.5
+       6>  5                     1          4.5
+       7>  6                     1          5.5
+       8>  7                     1          6.5
+       9>  8                     1          7.5
+      10>  9                     1          8.5
+      11>  10                    1          9.5
+let c = a[gx=aline_edges at iin]
+plot/ov/line/sym=19/si=.1/col=light/thic=1 c
+ 
+set v right
+let b = 1+0*a
+plot/step=con/vl=-1:12:1/hl=-1:11:1/grat=dash/col=green/thic=3 b
+let b_iin = b[x=@iin]
+plot/ov/line/sym=2/si=.1/col=2/thic=2 b_iin
+let b_iin_edges = b_iin[gx=aline_edges at asn]
+let b_int = IF i[gx=aline_edges] EQ 1 THEN 0 ELSE b_iin_edges[x=@shf:-1]
+plot/ov/line/sym=28/si=.1/col=purple/thic=2 b_int
+ 
+! new @IIN regridding
+let d = b[gx=aline_edges at iin]
+plot/ov/line/sym=19/si=.1/col=light/thic=1 d
+ 
+list d
+             VARIABLE : B[GX=ALINE_EDGES at IIN]
+             SUBSET   : 11 points (X)
+ 0    /  1:   0.00
+ 1    /  2:   1.00
+ 2    /  3:   2.00
+ 3    /  4:   3.00
+ 4    /  5:   4.00
+ 5    /  6:   5.00
+ 6    /  7:   6.00
+ 7    /  8:   7.00
+ 8    /  9:   8.00
+ 9    / 10:   9.00
+ 10   / 11:  10.00
+define axis/z=1:2:1 otheraxis
+let b2d = b + z[gz=otheraxis]
+list b2d[gx=aline_edges at iin]
+             VARIABLE : B + Z[GZ=OTHERAXIS]
+                        regrid: 1 delta on X at IIN
+             SUBSET   : 11 by 2 points (X-Z)
+             0      1      2      3      4      5      6      7      8      9     10    
+             1      2      3      4      5      6      7      8      9     10     11
+ 1   / 1:   0.00   2.00   4.00   6.00   8.00  10.00  12.00  14.00  16.00  18.00  20.00
+ 2   / 2:   0.00   3.00   6.00   9.00  12.00  15.00  18.00  21.00  24.00  27.00  30.00
+ 
+ 
+can view; can var/all
+! In Y
+ 
+set win/asp=0.5
+set v left
+def ax/edge/y=0:10:1 aline
+let a = mod(.5+y[gy=aline],2)
+plot/step=con/vl=-1:6:1/hl=-1:11:1/grat=dash/col=green/thic=3 a
+let a_iin = a[y=@iin]
+plot/ov/line/sym=2/si=.1/col=2/thic=2 a_iin
+let ylo = yboxlo[gy=a]
+def ax/y aline_edges = ycat(ylo[j=1], yboxhi[gy=a])
+ 
+let a_iin_edges = a_iin[gy=aline_edges at asn]
+let a_int = IF j[gy=aline_edges] EQ 1 THEN 0 ELSE a_iin_edges[y=@shf:-1]
+plot/ov/line/sym=28/si=.1/col=purple/thic=2 a_int
+ 
+ 
+! new @IIN regridding
+let c = a[gy=aline_edges at iin]
+plot/ov/line/sym=19/si=.1/col=light/thic=1 c
+ 
+ 
+set v right
+let b = 1+0*a
+plot/step=con/vl=-1:12:1/hl=-1:11:1/grat=dash/col=green/thic=3 b
+let b_iin = b[y=@iin]
+plot/ov/line/sym=2/si=.1/col=2/thic=2 b_iin
+let b_iin_edges = b_iin[gy=aline_edges at asn]
+let b_int = IF j[gy=aline_edges] EQ 1 THEN 0 ELSE b_iin_edges[y=@shf:-1]
+plot/ov/line/sym=28/si=.1/col=purple/thic=2 b_int
+ 
+! new @IIN regridding
+let d = b[gy=aline_edges at iin]
+plot/ov/line/sym=19/si=.1/col=light/thic=1 d
+ 
+list d
+             VARIABLE : B[GY=ALINE_EDGES at IIN]
+             SUBSET   : 11 points (Y)
+ 0    /  1:   0.00
+ 1    /  2:   1.00
+ 2    /  3:   2.00
+ 3    /  4:   3.00
+ 4    /  5:   4.00
+ 5    /  6:   5.00
+ 6    /  7:   6.00
+ 7    /  8:   7.00
+ 8    /  9:   8.00
+ 9    / 10:   9.00
+ 10   / 11:  10.00
+define axis/z=1:2:1 otheraxis
+let b2d = b + z[gz=otheraxis]
+list b2d[gy=aline_edges at iin]
+             VARIABLE : B + Z[GZ=OTHERAXIS]
+                        regrid: 1 delta on Y at IIN
+             SUBSET   : 11 by 2 points (Y-Z)
+             0      1      2      3      4      5      6      7      8      9     10    
+             1      2      3      4      5      6      7      8      9     10     11
+ 1   / 1:   0.00   2.00   4.00   6.00   8.00  10.00  12.00  14.00  16.00  18.00  20.00
+ 2   / 2:   0.00   3.00   6.00   9.00  12.00  15.00  18.00  21.00  24.00  27.00  30.00
+ 
+ 
+can view; can var/all
+! in Z
+ 
+set win/asp=0.5
+set v left
+def ax/edge/z=0:10:1 aline
+let a = mod(.5+z[gz=aline],2)
+plot/step=con/hl=-1:6:1/vl=-1:11:1/grat=dash/col=green/thic=3 a
+let a_iin = a[z=@iin]
+plot/ov/line/sym=2/si=.1/col=2/thic=2 a_iin
+let zlo = zboxlo[gz=a]
+def ax/z aline_edges = zcat(zlo[k=1], zboxhi[gz=a])
+ 
+let a_iin_edges = a_iin[gz=aline_edges at asn]
+let a_int = IF k[gz=aline_edges] EQ 1 THEN 0 ELSE a_iin_edges[z=@shf:-1]
+plot/ov/line/sym=28/si=.1/col=purple/thic=2 a_int
+ 
+ 
+! new @IIN regridding
+let c = a[gz=aline_edges at iin]
+plot/ov/line/sym=19/si=.1/col=light/thic=1 c
+ 
+set v right
+let b = 1+0*a
+plot/step=con/hl=-1:12:1/vl=-1:11:1/grat=dash/col=green/thic=3 b
+let b_iin = b[z=@iin]
+plot/ov/line/sym=2/si=.1/col=2/thic=2 b_iin
+let b_iin_edges = b_iin[gz=aline_edges at asn]
+let b_int = IF k[gz=aline_edges] EQ 1 THEN 0 ELSE b_iin_edges[z=@shf:-1]
+plot/ov/line/sym=28/si=.1/col=purple/thic=2 b_int
+ 
+! new @IIN regridding
+let d = b[gz=aline_edges at iin]
+plot/ov/line/sym=19/si=.1/col=light/thic=1 d
+ 
+list d
+             VARIABLE : B[GZ=ALINE_EDGES at IIN]
+             SUBSET   : 11 points (Z)
+ 0    /  1:   0.00
+ 1    /  2:   1.00
+ 2    /  3:   2.00
+ 3    /  4:   3.00
+ 4    /  5:   4.00
+ 5    /  6:   5.00
+ 6    /  7:   6.00
+ 7    /  8:   7.00
+ 8    /  9:   8.00
+ 9    / 10:   9.00
+ 10   / 11:  10.00
+define axis/e=1:2:1 otheraxis
+let b2d = b + _e[ge=otheraxis]
+list b2d[gz=aline_edges at iin]
+             VARIABLE : B + _E[GE=OTHERAXIS]
+                        regrid: 1 delta on Z at IIN
+             SUBSET   : 11 by 2 points (Z-E)
+             0      1      2      3      4      5      6      7      8      9     10    
+             1      2      3      4      5      6      7      8      9     10     11
+ 1   / 1:   0.00   2.00   4.00   6.00   8.00  10.00  12.00  14.00  16.00  18.00  20.00
+ 2   / 2:   0.00   3.00   6.00   9.00  12.00  15.00  18.00  21.00  24.00  27.00  30.00
+ 
+ 
+can view; can var/all
+! In T
+ 
+set win/asp=0.5
+set v left
+def ax/edge/t=0:10:1 aline
+let a = mod(.5+t[gt=aline],2)
+plot/step=con/vl=-1:6:1/hl=-1:11:1/grat=dash/col=green/thic=3 a
+let a_iin = a[t=@iin]
+plot/ov/line/sym=2/si=.1/col=2/thic=2 a_iin
+let tlo = tboxlo[gt=a]
+def ax/t aline_edges = tcat(tlo[l=1], tboxhi[gt=a])
+ 
+let a_iin_edges = a_iin[gt=aline_edges at asn]
+let a_int = IF l[gt=aline_edges] EQ 1 THEN 0 ELSE a_iin_edges[t=@shf:-1]
+plot/ov/line/sym=28/si=.1/col=purple/thic=2 a_int
+ 
+ 
+! new @IIN regridding
+let c = a[gt=aline_edges at iin]
+plot/ov/line/sym=19/si=.1/col=light/thic=1 c
+ 
+set v right
+let b = 1+0*a
+plot/step=con/vl=-1:12:1/hl=-1:11:1/grat=dash/col=green/thic=3 b
+let b_iin = b[t=@iin]
+plot/ov/line/sym=2/si=.1/col=2/thic=2 b_iin
+let b_iin_edges = b_iin[gt=aline_edges at asn]
+let b_int = IF l[gt=aline_edges] EQ 1 THEN 0 ELSE b_iin_edges[t=@shf:-1]
+plot/ov/line/sym=28/si=.1/col=purple/thic=2 b_int
+ 
+! new @IIN regridding
+let d = b[gt=aline_edges at iin]
+plot/ov/line/sym=19/si=.1/col=light/thic=1 d
+ 
+list d
+             VARIABLE : B[GT=ALINE_EDGES at IIN]
+             SUBSET   : 11 points (T)
+ 0    /  1:   0.00
+ 1    /  2:   1.00
+ 2    /  3:   2.00
+ 3    /  4:   3.00
+ 4    /  5:   4.00
+ 5    /  6:   5.00
+ 6    /  7:   6.00
+ 7    /  8:   7.00
+ 8    /  9:   8.00
+ 9    / 10:   9.00
+ 10   / 11:  10.00
+define axis/z=1:2:1 otheraxis
+let b2d = b + z[gz=otheraxis]
+list b2d[gt=aline_edges at iin]
+             VARIABLE : B + Z[GZ=OTHERAXIS]
+                        regrid: 1 delta on T at IIN
+             SUBSET   : 2 by 11 points (Z-T)
+               1      2    
+               1      2
+ 0    /  1:   0.00   0.00
+ 1    /  2:   2.00   3.00
+ 2    /  3:   4.00   6.00
+ 3    /  4:   6.00   9.00
+ 4    /  5:   8.00  12.00
+ 5    /  6:  10.00  15.00
+ 6    /  7:  12.00  18.00
+ 7    /  8:  14.00  21.00
+ 8    /  9:  16.00  24.00
+ 9    / 10:  18.00  27.00
+ 10   / 11:  20.00  30.00
+ 
+ 
+can view; can var/all
+! in E
+ 
+set win/asp=0.5
+set v left
+def ax/edge/e=0:10:1 aline
+let a = mod(.5+_e[ge=aline],2)
+plot/step=con/vl=-1:6:1/hl=-1:11:1/grat=dash/col=green/thic=3 a
+let a_iin = a[e=@iin]
+plot/ov/line/sym=2/si=.1/col=2/thic=2 a_iin
+let elo = eboxlo[ge=a]
+def ax/e aline_edges = ecat(elo[m=1], eboxhi[ge=a])
+ 
+let a_iin_edges = a_iin[ge=aline_edges at asn]
+let a_int = IF _m[ge=aline_edges] EQ 1 THEN 0 ELSE a_iin_edges[e=@shf:-1]
+plot/ov/line/sym=28/si=.1/col=purple/thic=2 a_int
+ 
+ 
+! new @IIN regridding
+let c = a[ge=aline_edges at iin]
+plot/ov/line/sym=19/si=.1/col=light/thic=1 c
+ 
+set v right
+let b = 1+0*a
+plot/step=con/hl=-1:12:1/vl=-1:11:1/grat=dash/col=green/thic=3 b
+let b_iin = b[e=@iin]
+plot/ov/line/sym=2/si=.1/col=2/thic=2 b_iin
+let b_iin_edges = b_iin[ge=aline_edges at asn]
+let b_int = IF _m[ge=aline_edges] EQ 1 THEN 0 ELSE b_iin_edges[e=@shf:-1]
+plot/ov/line/sym=28/si=.1/col=purple/thic=2 b_int
+ 
+! new @IIN regridding
+let d = b[ge=aline_edges at iin]
+plot/ov/line/sym=19/si=.1/col=light/thic=1 d
+ 
+list d
+             VARIABLE : B[GE=ALINE_EDGES at IIN]
+             SUBSET   : 11 points (E)
+ 0    /  1:   0.00
+ 1    /  2:   1.00
+ 2    /  3:   2.00
+ 3    /  4:   3.00
+ 4    /  5:   4.00
+ 5    /  6:   5.00
+ 6    /  7:   6.00
+ 7    /  8:   7.00
+ 8    /  9:   8.00
+ 9    / 10:   9.00
+ 10   / 11:  10.00
+define axis/z=1:2:1 otheraxis
+let b2d = b + z[gz=otheraxis]
+list b2d[ge=aline_edges at iin]
+             VARIABLE : B + Z[GZ=OTHERAXIS]
+                        regrid: 1 delta on E at IIN
+             SUBSET   : 2 by 11 points (Z-E)
+               1      2    
+               1      2
+ 0    /  1:   0.00   0.00
+ 1    /  2:   2.00   3.00
+ 2    /  3:   4.00   6.00
+ 3    /  4:   6.00   9.00
+ 4    /  5:   8.00  12.00
+ 5    /  6:  10.00  15.00
+ 6    /  7:  12.00  18.00
+ 7    /  8:  14.00  21.00
+ 8    /  9:  16.00  24.00
+ 9    / 10:  18.00  27.00
+ 10   / 11:  20.00  30.00
+ 
+ 
+can view; can var/all
+! In F
+ 
+set win/asp=0.5
+set v left
+def ax/edge/f=0:10:1 aline
+let a = mod(.5+_f[gf=aline],2)
+plot/step=con/vl=-1:6:1/hl=-1:11:1/grat=dash/col=green/thic=3 a
+let a_iin = a[f=@iin]
+plot/ov/line/sym=2/si=.1/col=2/thic=2 a_iin
+let flo = fboxlo[gf=a]
+def ax/f aline_edges = fcat(flo[n=1], fboxhi[gf=a])
+ 
+let a_iin_edges = a_iin[gf=aline_edges at asn]
+let a_int = IF _n[gf=aline_edges] EQ 1 THEN 0 ELSE a_iin_edges[f=@shf:-1]
+plot/ov/line/sym=28/si=.1/col=purple/thic=2 a_int
+ 
+ 
+! new @IIN regridding
+let c = a[gf=aline_edges at iin]
+plot/ov/line/sym=19/si=.1/col=light/thic=1 c
+ 
+set v right
+let b = 1+0*a
+plot/step=con/vl=-1:12:1/hl=-1:11:1/grat=dash/col=green/thic=3 b
+let b_iin = b[f=@iin]
+plot/ov/line/sym=2/si=.1/col=2/thic=2 b_iin
+let b_iin_edges = b_iin[gf=aline_edges at asn]
+let b_int = IF _n[gf=aline_edges] EQ 1 THEN 0 ELSE b_iin_edges[f=@shf:-1]
+plot/ov/line/sym=28/si=.1/col=purple/thic=2 b_int
+ 
+! new @IIN regridding
+let d = b[gf=aline_edges at iin]
+plot/ov/line/sym=19/si=.1/col=light/thic=1 d
+ 
+list d
+             VARIABLE : B[GF=ALINE_EDGES at IIN]
+             SUBSET   : 11 points (F)
+ 0    /  1:   0.00
+ 1    /  2:   1.00
+ 2    /  3:   2.00
+ 3    /  4:   3.00
+ 4    /  5:   4.00
+ 5    /  6:   5.00
+ 6    /  7:   6.00
+ 7    /  8:   7.00
+ 8    /  9:   8.00
+ 9    / 10:   9.00
+ 10   / 11:  10.00
+define axis/z=1:2:1 otheraxis
+let b2d = b + z[gz=otheraxis]
+list b2d[gf=aline_edges at iin]
+             VARIABLE : B + Z[GZ=OTHERAXIS]
+                        regrid: 1 delta on F at IIN
+             SUBSET   : 2 by 11 points (Z-F)
+               1      2    
+               1      2
+ 0    /  1:   0.00   0.00
+ 1    /  2:   2.00   3.00
+ 2    /  3:   4.00   6.00
+ 3    /  4:   6.00   9.00
+ 4    /  5:   8.00  12.00
+ 5    /  6:  10.00  15.00
+ 6    /  7:  12.00  18.00
+ 7    /  8:  14.00  21.00
+ 8    /  9:  16.00  24.00
+ 9    / 10:  18.00  27.00
+ 10   / 11:  20.00  30.00
+*** Running ferret script: bn_gif.jnl
+! bn450_gif.JNL - copied from bn450_plot.jnl
+! this journal file only tests the writing of gif file in batch mode using
+! frame/file=bnplot.gif....will create three gif files
+! *kob*
+ 
+! NOTE the plots in bnplot_2.gif are different in PyFerret and Ferret,
+! because of different treatment of /TEXT= for viewport definitions.
+ 
+can mode logo
+ 
+! define a 6 viewport window (modified definitions 11/92)
+def view/text=.4/xlim=0,.333/ylim=0,.5    ll6
+def view/text=.2/xlim=0,.333/ylim=.5,1    ul6
+def view/text=.1/xlim=.333,.666/ylim=0,.5 lm6
+def view/text=.6/xlim=.333,.666/ylim=.5,1 um6
+def view/text=1.5/xlim=.666,1/ylim=0,.5   lr6
+def view/xlim=.666,1/ylim=.5,1            ur6     ! auto /TEXT
+show view
+ 
+ name             text    xlimits     ylimits    mode
+ 
+ UPPER            1.00   0.00,1.00   0.50,1.00   edges
+ LOWER            1.00   0.00,1.00   0.00,0.50   edges
+ RIGHT            1.00   0.50,1.00   0.00,1.00   edges
+ LEFT             1.00   0.00,0.50   0.00,1.00   edges
+ LL               0.50   0.00,0.50   0.00,0.50   edges
+ LR               0.50   0.50,1.00   0.00,0.50   edges
+ UL               0.50   0.00,0.50   0.50,1.00   edges
+ UR               0.50   0.50,1.00   0.50,1.00   edges
+ FULL             1.00   0.00,1.00   0.00,1.00   edges
+ LL6              0.40   0.00,0.33   0.00,0.50   edges
+ UL6              0.20   0.00,0.33   0.50,1.00   edges
+ LM6              0.10   0.33,0.67   0.00,0.50   edges
+ UM6              0.60   0.33,0.67   0.50,1.00   edges
+ LR6              1.50   0.67,1.00   0.00,0.50   edges
+ UR6              0.41   0.67,1.00   0.50,1.00   edges
+   current viewport is NONE
+ 
+! some variables for plotting
+let a = 0.8*sin(l/10)
+let b = 0.6*cos(l/10)
+let c = sin(100/(l+k))
+let d = l/50
+let e = k-(l/25)
+let f = -.5+(l/125)
+let g = (l-25)/(k*35)
+let h = 0.1
+let m = 0.2
+ 
+! illegal plot commands
+set mode ignore
+plot/i=1:10/j=1:20/nolabel i+j			! not a line
+plot/i=1:10/j=1:20/nolabel i,i+j		! not a line
+plot/i=1:10/j=1:20/nolabel i+j,i		! not a line
+plot/i=1:10/j=1:20/nolabel j,i			! differing axes
+plot/i=1:10/j=1:20/vs/line/nolabel j,i		! unequal lengths
+contour/i=1:10/j=1:20/nolabel i			! only 1 D
+contour/i=1:10/j=1:20/nolabel i/j,j/i		! multiple fields
+vector/i=1:10/j=1:20/nolabel i/j		! only 1 field
+vector/i=1:10/j=1:20/nolabel i/j,j/i,i+j	! 3 fields
+set mode/last ignore
+ 
+! notice the default window size is 10.2,width x 8.8,height
+ppl list plot
+         WIDTH=   10.20  HEIGHT=    8.80  TKTYPE=    0  BAUD=  110
+         WINDOW= ON   BOX= OFF  CROSS= 0  PLTYPE=  3
+         PLOT MODE=   A
+         PLOT FILE= .gif                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     [...]
+ 
+! enlarge it to accomodate an additional 50% width
+ppl size 15.3,8.8
+ 
+! turn on metafile (enabled 10/29/91)
+! commented out 9/97 - instead set in bn450_all.jnl
+! set mode metafile
+ 
+! draw a plot into a viewport - to be deleted (check hard copy)
+set view ll6
+contour/i=1:50/j=1:50/nolabel i/(j+20)
+ 
+! 4 frames testing PLOT output
+set view ul6
+plot/l=1:50/k=1/trans/nolabel a,b,c
+plot/l=1:50/k=1/trans/over/line=6/nolabel d
+plot/l=1:50/k=1/trans/over/symbol=88/nolabel e
+plot/l=1:50/k=1/trans/over/symbol=47/line/nolabel f
+def view/text=.1/xlim=.333,1/ylim=0,.5 lm6   ! redefine longer in x (11/92)
+set view lm6
+!ppl axlen 16
+set region/k=1
+plot/l=1:50/nolabel a,b,c,d,e,f,g[k=1],g[k=2],a+h,b+h,c+h,d+h,e+h,f+h,g[k=1]+h,g[k=2]+h,a+m,b+m,c+m
+def view/text=.6/xlim=.333,1/ylim=.5,1 um6    ! redefine it longer in x (11/92)
+set view um6
+!ppl axlen 17,5
+plot/l=1:50/nolabel sin(100/(l+5))
+plot/l=1:50/over/nolabel a,b,c,d,e,f,g[k=1],g[k=2],a+h,b+h,c+h,d+h,e+h,f+h,g[k=1]+h,g[k=2]+h,a+m,b+m,c+m
+set view ll6
+!ppl axlen 8,6
+plot/l=1:99000/nolabel sin(200000/(l+10000))
+ 
+! reset to normal axis lengths and prepare for a new piccie
+!ppl axlen 8
+frame/file=bnplot_1.gif
+set wind/clear
+ 
+! draw six frames
+set view ll6
+contour/i=1:50/j=1:50/levels=(0,2.5,.25)/nolabel i/(j+20)
+plot/over/nolab/vs/line/i=1:50/j=1:50/nolabel 6*i/j,5*j/i
+set view ul6
+vector/i=1:50/j=1:50/length=50/aspect/nolabel sin(i/20)*10+j-20,-1*cos(j/10)*10+i-20
+def view/text=.1/xlim=.333,.666/ylim=0,.5 lm6  ! redefine it (11/92)
+set view lm6
+shade/i=1:50/j=1:50/nolabel i/(j+20)
+set view lr6
+ppl lev () (0,2.5,.1)
+shade/i=1:50/j=1:50/line/level/nolabel i/(j+20)
+set view ur6
+let icomp = (sin(i/20)*10+j-20)
+let jcomp = (-1*cos(j/10)*10+i-20)
+contour/i=1:50/j=1:50/nolabel icomp^2+jcomp^2
+contour/i=1:50/j=1:50/over/level/nolabel icomp^2+(-1*cos(i/10)*80)^2
+! note: "i-i" and "j-j" are needed to create 2D structures
+vector/i=1:50/j=1:50/overlay/nolabel j-20+(i-i),i-20+(j-j)
+vector/i=1:50/j=1:50/overlay/length/nolabel i-20+(j-j),40-j+(i-i)
+def view/text=.6/xlim=.333,.666/ylim=.5,1 um6    ! redefine it (11/92)
+set view um6
+shade/i=1:50/j=1:50/nolabel i/(j+20)
+contour/i=1:50/j=1:50/over/nolabel (sin(i/20)+j-20)^2+(-1*cos(j/10)+i-20)^2
+vector/i=1:50/j=1:50/overlay/nolabel j-20+(i-i),i-20+(j-j)
+frame/file=bnplot_2.gif
+! additions for version 3.01 "/TITLE=" controls
+cancel viewports
+set view ul6
+plot/title="My Custom Title"/i=1:100/nolabel sin(i/6)
+plot/title="My Custom Key"/i=1:100/over/nolabel sin(i/5)
+set view um6
+plot/title="My Custom Title"/i=1:100/nolabel sin(i/6),sin(i/9)
+plot/title="My Custom Key"/i=1:100/over/nolabel sin(i/7),sin(i/10)
+set view ur6
+plot/vs/line/title="My Custom Title"/i=1:100/nolabel sin(i/6),sin(i/9)
+plot/vs/line/title="My Custom Key"/i=1:100/over/nolabel sin(i/7),sin(i/10)
+set view ll6
+plot/vs/line/title="My Custom Title"/i=1:100/nolabel sin(i/6),sin(i/9),sin(i/12)
+plot/vs/line/title="My Custom Key"/i=1:100/over/nolabel sin(i/7),sin(i/10)
+set view lm6
+contour/i=1:20/j=1:20/title="My Contour Title"/nolabel sin(i/3)*cos(j/4)
+contour/over/i=5:30/j=5:30/title="My Contour Overlay"/nolabel sin(i/2)*cos(j/3)
+set view lr6
+wire/view=0,0,2/i=1:20/j=1:20/title="My Egg Carton"/nolabel sin(i/3)*cos(j/4)
+ 
+! addition for 3.20 showing changed default behavior of plot/vs
+! return to window and redraw with symbols
+set view ll6
+plot/vs/title="My Custom Title"/i=1:100/nolabel sin(i/6),sin(i/9),sin(i/12)
+plot/vs/title="My Custom Key"/i=1:100/over/nolabel sin(i/7),sin(i/10)
+frame/file=bnplot_3.gif
+ 
+! Prior to v5.8 could not get the window size in pixels when in gif mode
+show symbol ppl$xpixel
+PPL$XPIXEL = "1152"
+show symbol ppl$ypixel
+PPL$YPIXEL = "662"
+ 
+! V6.13
+! transparency with FRAME/TRANS
+!!
+! These gif images have the background color white or black
+! replaced by transparent color. This can be tested by putting
+! them into an HTML document with a colored background.
+! e.g. a file called test_transparent.html containing only this line:
+! <html> <body bgcolor="orange"> <img src="testfile.gif"/> </body> </html>
+ 
+can view
+use coads_climatology
+shade/nokey/lev=50 sst[L=1]
+frame/trans/file=testbackground.gif
+ 
+! moved here from bn500_bug_fixes.jnl. The frame/  command it contains
+! has trouble when running the benchmarks from remote desktop
+go bn_reset
+cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+go err491_long_gif_name
+! err491_long_gif_name.jnl
+! *sh* 4/99 - test 175 character gif name
+ 
+! name length extended with changes to save_frame.F and xeq_frame.F
+ 
+set wind/siz=0.03
+go ptest
+! Description: create a simple test line plot
+ 
+! spirograph picture ...
+PLOT/VS/LINE/I=1:314 i*cos(i/20),i*sin(i/20)
+ 
+ 
+sp rm -f abcdefghijklmnopqrstuvwxyabcdefghijklmnopqrstuvwxyabcdefghijklmnopqrstuvwxyabcdefghijklmnopqrstuvwxy*
+ 
+frame/file="abcdefghijklmnopqrstuvwxyabcdefghijklmnopqrstuvwxyabcdefghijklmnopqrstuvwxyabcdefghijklmnopqrstuvwxyabcdefghijklmnopqrstuvwxyabcdefghijklmnopqrstuvwxyabcdefghijklmnopqrstuvwxy.gif"
+ 
+spawn ls abcdefghijklmnopqrstuvwxyabcdefghijklmnopqrstuvwxyabcdefghijklmnopqrstuvwxyabcdefghijklmnopqrstuvwxy*
+abcdefghijklmnopqrstuvwxyabcdefghijklmnopqrstuvwxyabcdefghijklmnopqrstuvwxyabcdefghijklmnopqrstuvwxyabcdefghijklmnopqrstuvwxyabcdefghijklmnopqrstuvwxyabcdefghijklmnopqrstuvwxy.gif
+ 
+ 
+! The fix for bug 1396
+set v ul; plot/dash x[gx=0:20:.5]
+set v ur; plot/dash x[gx=0:20:.1]
+set v ll; plot/dash x[gx=0:20:.05]
+set v lr; plot/dash x[gx=0:20:.01]
+frame/file=gif_dashbug.gif
+ 
+! Restore size
+set win/siz=1/asp=1
+ 
+! New benchmark gif outputs in v6.97
+go bn_reset
+cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+GO bn_hovmuller_overlays
+! bn_hovmuller_overlays.jnl
+! Previously a time series plot overlaid oon a Hovmuller plot did not
+! work unless the time axis of the original data had units of hours.
+! See ticket 2344
+ 
+! 1/6/2016 ACM
+! acm* 3/17 check the URL with TEST_OPENDAP befor trying to open it.
+ 
+! run this in the gif benchmarks.
+ 
+ 
+def view/xlim=0,.333/ylim=.5,1    ul6
+def view/xlim=.333,.666/ylim=.5,1 um6
+def view/xlim=.666,1/ylim=.5,1    ur6
+def view/xlim=0,.333/ylim=0,.5    ll6
+def view/xlim=.333,1/ylim=0,.5    lr6
+ 
+! The example from the FAQ, "Overlaying a time series on a 2D plot"
+set view ul6
+ 
+! Define a 2D field in YT with a time axis in units of DAYS
+DEFINE AXIS/T="1-JAN-1980":"1-JAN-1990":5/UNITS=DAYS tdays
+DEFINE AXIS/Y=0:40N:2/UNITS=DEGREES yax
+ 
+LET/TITLE=XY my_var = 10*cos(T[gt=tdays]/2000)*EXP((-1)*y[gy=yax]/20)
+ 
+! make a Hovmoller plot
+ 
+SHADE my_var
+ 
+! This did not work previously.  Needed to re-define the axis in units of hours
+PLOT/OVER my_var[Y=@loc:-4]
+ 
+ 
+! XT variable
+set view um6
+ 
+DEFINE AXIS/X=0:40E:1/UNITS=DEGREES xax
+LET/TITLE="XT" my_var = 10*cos(T[gt=tdays]/20)*EXP((-1)*x[gx=xax]/20)
+SHADE/t=1-jan-1987:1-jan-1989 my_var
+PLOT/OVER/TRANS/THICK my_var[x=@loc:-4]
+ 
+ 
+! Irregular time axis
+set view ur6
+ 
+DEFINE AXIS/T0=1-jan-2001/UNITS=DAYS tdays = {1,2,4,5,6,8,9,10,12,30,35,41,42,44,45,46,48,49,50,58}
+DEFINE AXIS/Y=0:40N:2/UNITS=DEGREES yax
+LET my_var = 10*cos(T[gt=tdays])*EXP((-1)*y[gy=yax]/8)
+ 
+FILL/title="irregular t" my_var
+PLOT/OVER/thick/y=8 my_var+10
+ 
+ 
+! Like the dataset example from the FAQ
+set view ll6
+ 
+IF `test_opendap("http://ferret.pmel.noaa.gov/pmel/thredds/dodsC/data/PMEL/COADS/coads_sst.cdf") EQ 0` THEN
+ !-> IF 1 THEN
+   use "http://ferret.pmel.noaa.gov/pmel/thredds/dodsC/data/PMEL/COADS/coads_sst.cdf"
+   set region/x=40w/y=10n:60n/t=15-jan-1982:15-dec-1983
+   shade sst
+   plot/over/thick/TITLE="at 20"  sst[y=@LOC:20]
+ENDIF
+ 
+can data/all
+can region
+ 
+! vector plots with a time series
+set view lr6
+ 
+IF `test_opendap("http://ferret.pmel.noaa.gov/pmel/thredds/dodsC/data/PMEL/COADS/coads_uwnd.cdf") EQ 0 AND\
+ test_opendap("http://ferret.pmel.noaa.gov/pmel/thredds/dodsC/data/PMEL/COADS/coads_uwnd.cdf") EQ 0` THEN
+ !-> IF 1 THEN
+   use "http://ferret.pmel.noaa.gov/pmel/thredds/dodsC/data/PMEL/COADS/coads_uwnd.cdf"
+   use "http://ferret.pmel.noaa.gov/pmel/thredds/dodsC/data/PMEL/COADS/coads_vwnd.cdf"
+   vec/x=0/y=-10:10/t=1-jan-1980:1-jan-1990 uwnd[d=1], vwnd[d=2]
+   let wspd = (uwnd[d=1]*uwnd[d=1] + vwnd[d=2]*vwnd[d=2])^0.5
+   plot/over/color=red/thick/x=0/t=1-jan-1980:1-jan-1990 wspd[y=-10:10 at ave]
+   FRAME/FILE=bn_hovmuller_overlays.gif
+ENDIF
+ 
+Go bn_reset
+cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+GO bn_labels_on_taxis
+! bn_labels_on_taxis.jnl
+! tests of labels and overlays on time axes
+ 
+ 
+set v ul
+DEFINE AXIS/T=1-JAN-1980:31-JAN-1985:30/T0=1-jan-1980/UNIT=days tax
+LET tt = t[gt=tax]
+LET tvar = cos(tt/200)
+plot tvar
+ 
+LET xsqr = {-1,1,1,-1}                ! coordinates of a unit square
+LET ysqr = {-1,-1,1,1}
+LET xcircle = COS(6.3*i[i=1:42]/40)    ! coordinates of unit circle
+LET ycircle = SIN(6.3*i[i=1:42]/40)
+ 
+!   place an "X" at the value exactly at 7-aug-1982
 !   "@ITP" causes interpolation to exact location
  
 let t0   = tt[t="7-aug-1982"@itp]
@@ -97361,6 +103709,7 @@ FRAME/FILE=bn_labels_on_taxis.gif
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err696_contour_conset
 ! err696_contour_conset.jnl
 ! Ticket 2351. The PPL CONSET command had stopped working to set
@@ -97378,14 +103727,14 @@ ppl list levels
          -1.00E+01     DASH        3        0
          -7.88E+00     DASH        3        0
          -5.75E+00     DASH        3        0
-         -3.63E+00     DASH        3        0
+         -3.62E+00     DASH        3        0
          -1.50E+00     DASH        3        0
           6.25E-01     LINE        3        0
           2.75E+00     LINE        3        0
           4.88E+00     LINE        3        0
           7.00E+00     LINE        3        0
-          9.13E+00     LINE        3        0
-          1.13E+01     LINE        3        0
+          9.12E+00     LINE        3        0
+          1.12E+01     LINE        3        0
  
 ! Now make the same setting with CONTOUR/SIGDIG=
 contour/i=1:20/j=1:20/lev=(0)(-10,10,2.125)/sigdig=4/title="CONTOUR/SIGDIG=4"  10*sin(i/3)*cos(j/4)
@@ -97398,15 +103747,15 @@ ppl list levels
          -1.00E+01     DASH        3        0
          -7.88E+00     DASH        3        0
          -5.75E+00     DASH        3        0
-         -3.63E+00     DASH        3        0
+         -3.62E+00     DASH        3        0
          -1.50E+00     DASH        3        0
           0.00E+00     DARK       -1        0
           6.25E-01     LINE        3        0
           2.75E+00     LINE        3        0
           4.88E+00     LINE        3        0
           7.00E+00     LINE        3        0
-          9.13E+00     LINE        3        0
-          1.13E+01     LINE        3        0
+          9.12E+00     LINE        3        0
+          1.12E+01     LINE        3        0
  
 ! test CONTOUR/SET; CONSET; PPL CONTOUR settings
 contour/i=1:20/j=1:20/lev=(-10,10,2.125)/set/title="CONTOUR/SET with PPL CONSET,,4"  10*sin(i/3)*cos(j/4)
@@ -97421,6 +103770,7 @@ frame/file=bn_contour_conset.gif
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO err696_subspan_mod_strides
 ! err696_subspan_mod_strides
 ! See ticket 513. Axis is subspan modulo, and strides
@@ -97444,6 +103794,161 @@ shade/over d10[i=1:10:2,j=1:10]
  
 frame/file=bn_subspan_mod_strides.gif
  
+GO bn_reset
+cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+GO err71_plotvs_mode_label
+! err71_plotvs_mode_label.jnl
+!  *acm*3/17/17 Ticket 2517:
+! MODE LONG_LABEL, MODE LATIT_LABEL need to apply
+! to PLOT/VS plots.
+ 
+can mode logo
+ 
+set mode long_lab
+set mode latit_lab
+ 
+let/title="|Roll|"/units="degree" abscissa_roll = {0, 20}
+let/title="Wind Speed"/units="kn" ordinate_spd  = {0, 0}
+ 
+! labeled lon/lat axes. Units of "degrees" is taken to be degrees
+! east or north depending on which plot axis it is drawn on.
+ 
+set view ul
+plot/vs/line/vlimits=-20:20 abscissa_roll, ordinate_spd
+set view ur
+plot/vs/line/hlimits=-20:20 ordinate_spd, abscissa_roll
+ 
+! These modes turn off lon/lat axis labeling
+ 
+cancel mode long_lab
+cancel mode latit_lab
+ 
+set view ll
+plot/vs/line/vlimits=-20:20 abscissa_roll, ordinate_spd
+set view lr
+plot/vs/line/hlimits=-20:20 ordinate_spd, abscissa_roll
+ 
+! Explicit units units of degrees_east and degrees_north:
+! degrees_east draws longitude labeling on whichever plot axis
+! the associated variable is drawn, and likewise for degrees_north.
+! Setting or cancelling the label modes applies to the variable
+! units not the plot-axis direction.
+ 
+cancel view
+set mode long_lab
+set mode latit_lab
+ 
+let/title="East"/units="degrees_east" lon = {10,20,30}
+let/title="North"/units="degrees_north" lat = {-10,0,10}
+ 
+! longitude axis on the horizontal, latitude axis on the vertical
+ 
+set view ul; plot/vs/line/sym/hlim=0:40/vlim=-20:20 lon, lat
+annotate/norm/x=0.1/y=0.9/siz=0.1 "long TRUE  latit TRUE"
+ 
+! latitude axis on the horizontal, longitude axis on the vertical
+ 
+set view ur; plot/vs/line/sym/vlim=0:40/hlim=-20:20 lat,lon
+annotate/norm/x=0.1/y=0.9/siz=0.1 "long vertical  latit horizontal"
+ 
+! longitude axis on the horizontal, latitude axis on the vertical
+! but with latitude labeling turned off
+ 
+set mode long_lab
+cancel mode latit_lab
+set view ll; plot/vs/line/sym/hlim=0:40/vlim=-20:20 lon, lat
+annotate/norm/x=0.1/y=0.9/siz=0.1 "long TRUE  latit FALSE"
+ 
+! latitude axis on the horizontal, longitude axis on the vertical
+! but with longitude labeling turned off
+ 
+cancel mode long_lab
+set mode latit_lab
+set view lr; plot/vs/line/sym/vlim=0:40/hlim=-20:20 lat,lon
+annotate/norm/x=0.1/y=0.9/siz=0.1 "long FALSE  latit TRUE"
+ 
+frame/file=lon_lat_label_controls.gif
+ 
+ 
+! Restore default settings
+set mode long_lab
+set mode latit_lab
+ 
+set mode/last logo
+ 
+GO bn_reset
+cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+GO err700_vs_plot_axes
+! err700_vs_plot_axes.jnl
+! See ticket 2477, in some cases the plot axes are not fully drawn
+! 11/2016 ACM
+ 
+ 
+USE err700_vs_data.nc
+ 
+! only with PLOT/VS plots, only with SYMBOLS not PLOT/VS/LINE
+PLOT/VS/THICK/COLOR=red/SIZ=0.2 lon,lat
+FRAME/FILE=bn_axis_vs.gif
+ 
+GO bn_reset
+cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+GO err71_vs_constant
+! err71_vs_constant.jnl
+! See ticket 2318, defining plot axes when data is constant
+! 4/2017 acm
+ 
+! The axis ranges had been set as val-1, val+1 which
+! worked poorly for large or small data values
+ 
+ 
+ 
+ 
+def view/xlim=   0,.333/ylim=0,.5 ll6   ! ok
+def view/xlim=   0,.333/ylim=.5,1 ul6   ! long tic labels
+def view/xlim=.333,.666/ylim=0,.5 lm6   ! long tic labels, logo corrupted
+def view/xlim=.333,.666/ylim=.5,1 um6   ! plot positioning and labels are corrupted
+def view/xlim=.666,   1/ylim=0,.5 lr6   ! no plot at all
+def view/xlim=.666,   1/ylim=.5,1 ur6   ! no vertical tic labels
+ 
+ 
+set view ul6; plot/vs/color/thick/line/sym/siz=0.2 {1,2},  1e4*{1,1}
+set view um6; plot/vs/color/thick/line/sym/siz=0.2 {1,2},  1e5*{1,1}
+set view ur6; plot/vs/color/thick/line/sym/siz=0.2 {1,2},  1e6*{1,1}
+set view ll6; plot/vs/color/thick/line/sym/siz=0.2 {1,2},  1e7*{1,1}
+set view lm6; plot/vs/color/thick/line/sym/siz=0.2 {1,2},  1e8*{1,1}
+set view lr6; plot/vs/color/thick/line/sym/siz=0.2 {1,2}, 1e-2*{1,1}
+ 
+frame/file=bn_vs_const_value.gif
+ 
+! With constant data value as the first argument
+ 
+can view
+set view ul6; plot/vs/color/thick/line/sym/siz=0.2  1e4*{1,1}, {1,2}
+set view um6; plot/vs/color/thick/line/sym/siz=0.2  1e5*{1,1}, {1,2}
+set view ur6; plot/vs/color/thick/line/sym/siz=0.2  1e6*{1,1}, {1,2}
+set view ll6; plot/vs/color/thick/line/sym/siz=0.2  1e7*{1,1}, {1,2}
+set view lm6; plot/vs/color/thick/line/sym/siz=0.2  1e8*{1,1}, {1,2}
+set view lr6; plot/vs/color/thick/line/sym/siz=0.2 1e-2*{1,1}, {1,2}
+ 
+GO bn_reset
+cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
+GO err71_vs_lon_over
+! err71_vs_lon_over.jnl
+! PLOT/VS/OVER does longitude moduloing if the xpts
+!  variable has units of degrees east.
+ 
+use coads_climatology
+shade/l=1/x=0:360/nolab/nokey if sst then 1
+let/units=degrees_east xpts = {-170,-150,-100, 100, 150, 170}
+let/units=degrees_north ypts = {-30, -20, -10,   0,  10,  20}
+ 
+plot/vs/over/thick/siz=0.2/sym=19 xpts,ypts
+frame/file=vs_lon_over.gif
+ 
 exit/command
 *** Running ferret script: bn_ps.jnl
 ! bn450_ps.JNL - copied from bn450_plot.jnl
@@ -97556,6 +104061,7 @@ SET MODE VERIFY
  
 GO bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 GO bn_ef_external_functions.jnl
 ! Tests of external functions that are distributed as shared object files.
  
@@ -97690,21 +104196,21 @@ list a - sst[l=@ave]
              TIME     : 01-JAN 00:45 to 01-APR 08:12
                   1S      
                   45
- 151E   / 66:  0.000E+00
- 153E   / 67: -3.553E-15
- 155E   / 68:  0.000E+00
+ 151E   / 66: -3.553E-15
+ 153E   / 67:  0.000E+00
+ 155E   / 68: -3.553E-15
  157E   / 69:  0.000E+00
- 159E   / 70:  3.553E-15
- 161E   / 71:  7.105E-15
- 163E   / 72:  3.553E-15
- 165E   / 73:  0.000E+00
- 167E   / 74:  0.000E+00
- 169E   / 75:  3.553E-15
+ 159E   / 70: -3.553E-15
+ 161E   / 71:  0.000E+00
+ 163E   / 72: -3.553E-15
+ 165E   / 73: -3.553E-15
+ 167E   / 74: -3.553E-15
+ 169E   / 75: -3.553E-15
  171E   / 76:  0.000E+00
- 173E   / 77:  3.553E-15
- 175E   / 78:  0.000E+00
- 177E   / 79:  3.553E-15
- 179E   / 80:  3.553E-15
+ 173E   / 77: -3.553E-15
+ 175E   / 78:  3.553E-15
+ 177E   / 79:  0.000E+00
+ 179E   / 80:  0.000E+00
  
 can region
 let a = x[i=1:9,k=1:5] + t[l=1:5]
@@ -98332,6 +104838,7 @@ set mode/last ignore_errors
  
 go bn_reset
 cancel mode verify
+ooooooooooooooooooooooooooooooooooooooooooo
 go bn_fcn_calls.jnl
 ! Simple tests of external functions
 ! these are not otherwise tested in the benchmarkd
@@ -98343,24 +104850,29 @@ exit
  
 exit/command
 *** Running ferret script: bn_startupfile.jnl
- Current size of FERRET memory cache: 31 MegaWords  (1 word = 8 bytes)
+    SET MEMORY/SIZE: 31 megawords
+    Peak demand: 0 words
+    Current cache: 0 words
 PPL$XPIXEL = "0"
 PPL$YPIXEL = "0"
 BYTEORDER = "LITTLE"
-FERRET_VERSION = "7.1"
-FERRET_PLATFORM = "Linux 2.6.32-642.13.1.el6.x86_64 64-bit"
+FERRET_VERSION = "7.2"
+FERRET_PLATFORM = "Linux 3.10.0-514.26.2.el7.x86_64 64-bit"
 FERRET_PRECISION = "double"
-NETCDF_VERSION = "4.4.0 of Feb  4 2016 19:21:00 $"
+NETCDF_VERSION = "4.4.1.1 of Jun 27 2017 09:17:01 $"
 FERRET_MEMORY = "31"
-SESSION_DATE = " 9-Feb-17"
-SESSION_TIME = "14:26"
-SESSION_PID = "1729"
-DELTA_CPU = "0.023996"
-CLOCK_SECS = "0.012"
-CURRENT_DATE = " 9-Feb-17"
-CURRENT_TIME = "14:26:08"
+SESSION_DATE = "DD-MON-YY"
+SESSION_TIME = "HH:MM"
+SESSION_PID = "#####"
+DELTA_CPU = "######"
+CLOCK_SECS = "######"
+CURRENT_DATE = "DD-MON-YY"
+CURRENT_TIME = "HH:MM:SS"
 N_OPEN_DSETS = "0"
 PROGRAM_NAME = "Ferret"
+PEAK_MEMORY = "0"
+SPAWN_OK = "1"
+SPAWN_STATUS = "0"
 GO_FILE = "./bn_startupfile.jnl"
 LAST_GO_FILE = "./bn_startupfile.jnl"
 PPL$FORMAT = "(3F10.2)"
@@ -98391,27 +104903,27 @@ VP_XHI = "1"
 VP_YLO = "0"
 VP_YHI = "1"
       MODE            STATE        ARGUMENT
-      DIAGNOSTIC    CANCELLED           99
-      VERIFY        CANCELLED      DEFAULT
-      INTERPOLATE   CANCELLED
-      IGNORE_ERROR  CANCELLED
-      STUPID        CANCELLED
+      DIAGNOSTIC    CANCELED            99
+      VERIFY        CANCELED       DEFAULT
+      INTERPOLATE   CANCELED
+      IGNORE_ERROR  CANCELED
+      STUPID        CANCELED
       JOURNAL          SET         startup_tests.jnl
       LONG_LABEL       SET               1
-      LATIT_LABEL   CANCELLED            1
+      LATIT_LABEL   CANCELED             1
       DEPTH_LABEL      SET              -4
       CALENDAR         SET         minutes
       E_LABEL          SET               1
       F_LABEL          SET         minutes
       ASCII_FONT       SET
       SEGMENT          SET
-      WAIT          CANCELLED
-      DESPERATE     CANCELLED      3100000
+      WAIT          CANCELED
+      DESPERATE     CANCELED       2560000
       GKS              SET
       REFRESH          SET
-      METAFILE      CANCELLED      .gif
-      PPLLIST       CANCELLED      ppllist.out
-      GUI           CANCELLED
+      METAFILE      CANCELED       .gif
+      PPLLIST       CANCELED       ppllist.out
+      GUI           CANCELED
       LOGO             SET
       LABELS           SET
       GRATICULE        SET
@@ -98419,10 +104931,11 @@ VP_YHI = "1"
       UPCASE_OUTPU     SET
       NLEVELS          SET             100
       NODATA_LAB       SET
-      SHRINK_YLAB   CANCELLED
-      CURVILINEAR   CANCELLED
-      LAYERZ        CANCELLED
+      SHRINK_YLAB   CANCELED
+      CURVILINEAR   CANCELED
+      LAYERZ        CANCELED
       6D_LAB           SET
+      FRUGAL           SET              30
      currently SET data sets:
     1> ./gtbc011.cdf  (default)
  name     title                             I         J         K         L
@@ -100499,4 +107012,3 @@ can axis/all
  
 ! Dump the contents of the decimated-data DSG file
 sp ncdump -h 492C19881104_dec.nc >> all_ncdump.out
-Ended at Thu Feb  9 14:26:11 PST 2017
diff --git a/bench/test_results/ferret_run_tests_ncdump b/bench/test_results/ferret_run_tests_ncdump
index 9f31c43..e5fb27b 100644
--- a/bench/test_results/ferret_run_tests_ncdump
+++ b/bench/test_results/ferret_run_tests_ncdump
@@ -51,7 +51,7 @@ variables:
 		MY_VAR:long_name = "T[GT=T5]" ;
 
 // global attributes:
-		:history = "FERRET V7.1   9-Feb-17" ;
+		:history = "FERRET V7.2  DD-MON-YY" ;
 		:Conventions = "CF-1.6" ;
 data:
 
@@ -76,7 +76,7 @@ variables:
 		MY_VAR:long_name = "T[GT=T5]" ;
 
 // global attributes:
-		:history = "FERRET V7.1   9-Feb-17" ;
+		:history = "FERRET V7.2  DD-MON-YY" ;
 		:Conventions = "CF-1.6" ;
 data:
 
@@ -113,7 +113,7 @@ variables:
 		B:long_name = "\"one line of text\"" ;
 
 // global attributes:
-		:history = "FERRET V7.1   9-Feb-17" ;
+		:history = "FERRET V7.2  DD-MON-YY" ;
 		:Conventions = "CF-1.6" ;
 data:
 
@@ -152,7 +152,7 @@ variables:
 		D:history = "From test_string" ;
 
 // global attributes:
-		:history = "FERRET V7.1   9-Feb-17" ;
+		:history = "FERRET V7.2  DD-MON-YY" ;
 		:Conventions = "CF-1.6" ;
 data:
 
@@ -187,7 +187,7 @@ variables:
 		B:long_name = "SAMPLEJ(YSEQUENCE({\"a\",\"b\",,\"d\",\"e\",\"f\"}),{2,,1})" ;
 
 // global attributes:
-		:history = "FERRET V7.1   9-Feb-17" ;
+		:history = "FERRET V7.2  DD-MON-YY" ;
 		:Conventions = "CF-1.6" ;
 data:
 
@@ -257,7 +257,7 @@ variables:
 		V:long_name = "T[GT=MONTH_IRREG]" ;
 
 // global attributes:
-		:history = "FERRET V7.1   9-Feb-17" ;
+		:history = "FERRET V7.2  DD-MON-YY" ;
 		:Conventions = "CF-1.6" ;
 data:
 
@@ -314,7 +314,7 @@ variables:
 		V:history = "From coads_vwnd" ;
 
 // global attributes:
-		:history = "FERRET V7.1   9-Feb-17" ;
+		:history = "FERRET V7.2  DD-MON-YY" ;
 		:Conventions = "CF-1.6" ;
 data:
 
@@ -371,7 +371,7 @@ variables:
 		V:history = "From coads_vwnd" ;
 
 // global attributes:
-		:history = "FERRET V7.1   9-Feb-17" ;
+		:history = "FERRET V7.2  DD-MON-YY" ;
 		:Conventions = "CF-1.6" ;
 data:
 
@@ -426,7 +426,7 @@ variables:
 		T2:long_name = "Z[GZ=ZIRR]" ;
 
 // global attributes:
-		:history = "FERRET V7.1   9-Feb-17" ;
+		:history = "FERRET V7.2  DD-MON-YY" ;
 		:Conventions = "CF-1.6" ;
 data:
 
@@ -474,7 +474,7 @@ variables:
 		V:history = "From coads_climatology" ;
 
 // global attributes:
-		:history = "FERRET V7.1   9-Feb-17" ;
+		:history = "FERRET V7.2  DD-MON-YY" ;
 		:Conventions = "CF-1.6" ;
 data:
 
@@ -568,7 +568,7 @@ variables:
 		SST:units = "Deg C" ;
 
 // global attributes:
-		:history = "FERRET V7.1   9-Feb-17" ;
+		:history = "FERRET V7.2  DD-MON-YY" ;
 		:Conventions = "CF-1.6" ;
 data:
 
@@ -638,7 +638,7 @@ variables:
 		SST:units = "Deg C" ;
 
 // global attributes:
-		:history = "FERRET V7.1   9-Feb-17" ;
+		:history = "FERRET V7.2  DD-MON-YY" ;
 		:Conventions = "CF-1.6" ;
 data:
 
@@ -689,7 +689,7 @@ variables:
 		V:long_name = "X[GX=XAX] +Z[GZ=ZAX] + T[GT=TAX]" ;
 
 // global attributes:
-		:history = "FERRET V7.1   9-Feb-17" ;
+		:history = "FERRET V7.2  DD-MON-YY" ;
 		:Conventions = "CF-1.6" ;
 data:
 
@@ -780,7 +780,7 @@ variables:
 		A:long_name = "T[GT=TIME]" ;
 
 // global attributes:
-		:history = "FERRET V7.1   9-Feb-17" ;
+		:history = "FERRET V7.2  DD-MON-YY" ;
 		:Conventions = "CF-1.6" ;
 data:
 
@@ -807,7 +807,7 @@ variables:
 		X_:long_name_mod = "axis ABSTRACT" ;
 
 // global attributes:
-		:history = "FERRET V7.1   9-Feb-17" ;
+		:history = "FERRET V7.2  DD-MON-YY" ;
 		:Conventions = "CF-1.6" ;
 		:title = "a long title longer than 80 characters a123456789b123456789c123456789d123456789e123456789f123456789g123456789h123456789" ;
 data:
@@ -831,7 +831,7 @@ variables:
 		A:history = "From x" ;
 
 // global attributes:
-		:history = "FERRET V7.1   9-Feb-17" ;
+		:history = "FERRET V7.2  DD-MON-YY" ;
 		:Conventions = "CF-1.6" ;
 		:title = "a long title, longer than the previous limit of 80 characters.  Previously various buffers were set to 80, and storage in ds_title was also too short." ;
 data:
@@ -858,14 +858,14 @@ variables:
 		A:history = "From t0_cdc" ;
 
 // global attributes:
-		:history = "FERRET V7.1   9-Feb-17" ;
+		:history = "FERRET V7.2  DD-MON-YY" ;
 		:Conventions = "CF-1.6" ;
 }
 *** Running ferret script: bn_tab_comma_multivar.jnl
 *** Running ferret script: bn_element_functions.jnl
 *** Running ferret script: bn_long_revision_num.jnl
 bn_long_revision_num.jnl --- history attribute
-		:history = "FERRET V7.1   9-Feb-17" ;
+		:history = "FERRET V7.2  DD-MON-YY" ;
 *** Running ferret script: bn_window_title.jnl
 *** Running ferret script: bn_last_error.jnl
 *** Running ferret script: bn_deg_min.jnl
@@ -901,7 +901,7 @@ variables:
 		V:long_name = "X[GX=XAX] +Z[GZ=ZAX] + T[GT=TAX]" ;
 
 // global attributes:
-		:history = "FERRET V7.1   9-Feb-17" ;
+		:history = "FERRET V7.2  DD-MON-YY" ;
 		:Conventions = "CF-1.6" ;
 data:
 
@@ -974,7 +974,7 @@ variables:
 		VAR_B:long_name = "my strings" ;
 
 // global attributes:
-		:history = "FERRET V7.1   9-Feb-17" ;
+		:history = "FERRET V7.2  DD-MON-YY" ;
 		:Conventions = "CF-1.6" ;
 data:
 
@@ -1018,7 +1018,7 @@ variables:
 		SST:units = "Deg C" ;
 
 // global attributes:
-		:history = "FERRET V7.1   9-Feb-17" ;
+		:history = "FERRET V7.2  DD-MON-YY" ;
 		:Conventions = "CF-1.6" ;
 data:
 
@@ -1060,7 +1060,7 @@ variables:
 		SST:units = "Deg C" ;
 
 // global attributes:
-		:history = "FERRET V7.1   9-Feb-17" ;
+		:history = "FERRET V7.2  DD-MON-YY" ;
 		:Conventions = "CF-1.6" ;
 data:
 
@@ -1168,7 +1168,7 @@ variables:
 		ELEV:history = "From err491_attval" ;
 
 // global attributes:
-		:history = "FERRET V7.1   9-Feb-17" ;
+		:history = "FERRET V7.2  DD-MON-YY" ;
 		:Conventions = "CF-1.6" ;
 }
 bn_attributes.jnl --- 6 after CANCEL MODE upcase_output
@@ -1209,7 +1209,7 @@ variables:
 		Elev:history = "From err491_attval" ;
 
 // global attributes:
-		:history = "FERRET V7.1   9-Feb-17" ;
+		:history = "FERRET V7.2  DD-MON-YY" ;
 		:Conventions = "CF-1.6" ;
 }
 bn_attributes.jnl --- 7 outtput flags to control attribute output
@@ -1232,7 +1232,7 @@ variables:
 		BB:another_attr = 6.f ;
 
 // global attributes:
-		:history = "FERRET V7.1   9-Feb-17" ;
+		:history = "FERRET V7.2  DD-MON-YY" ;
 		:Conventions = "CF-1.6" ;
 data:
 
@@ -1258,7 +1258,7 @@ variables:
 		BB:another_attr = 6.f ;
 
 // global attributes:
-		:history = "FERRET V7.1   9-Feb-17" ;
+		:history = "FERRET V7.2  DD-MON-YY" ;
 		:Conventions = "CF-1.6" ;
 data:
 
@@ -1278,7 +1278,7 @@ variables:
 		BB:long_name = "{3,4.5,6,7,4}" ;
 
 // global attributes:
-		:history = "FERRET V7.1   9-Feb-17" ;
+		:history = "FERRET V7.2  DD-MON-YY" ;
 		:Conventions = "CF-1.6" ;
 data:
 
@@ -1299,7 +1299,7 @@ variables:
 		BB:long_name = "{3,4.5,6,7,4}" ;
 
 // global attributes:
-		:history = "FERRET V7.1   9-Feb-17" ;
+		:history = "FERRET V7.2  DD-MON-YY" ;
 		:Conventions = "CF-1.6" ;
 data:
 
@@ -1342,7 +1342,7 @@ variables:
 		TEMP:units = "Deg C" ;
 
 // global attributes:
-		:history = "FERRET V7.1   9-Feb-17" ;
+		:history = "FERRET V7.2  DD-MON-YY" ;
 		:Conventions = "CF-1.6" ;
 }
 bn_attributes.jnl --- 12 Check that settings hold for child axis.
@@ -1382,7 +1382,7 @@ variables:
 		TEMP:units = "Deg C" ;
 
 // global attributes:
-		:history = "FERRET V7.1   9-Feb-17" ;
+		:history = "FERRET V7.2  DD-MON-YY" ;
 		:Conventions = "CF-1.6" ;
 }
 bn_attributes.jnl --- 13 cancel output of attributes of the variable.
@@ -1420,7 +1420,7 @@ variables:
 		TEMP:units = "Deg C" ;
 
 // global attributes:
-		:history = "FERRET V7.1   9-Feb-17" ;
+		:history = "FERRET V7.2  DD-MON-YY" ;
 		:Conventions = "CF-1.6" ;
 }
 bn_attributes.jnl --- 14 attributes of data from ez data.
@@ -1428,28 +1428,28 @@ netcdf a {
 dimensions:
 	AX002 = 5 ;
 variables:
-	double AX002(AX002) ;
+	double AX002(AX###) ;
 		AX002:point_spacing = "even" ;
 		AX002:axis = "X" ;
-	float A1(AX002) ;
-		A1:missing_value = -1.e+34f ;
-		A1:_FillValue = -1.e+34f ;
+	double A1(AX###) ;
+		A1:missing_value = -1.e+34 ;
+		A1:_FillValue = -1.e+34 ;
 		A1:long_name = "a1" ;
 		A1:three = 1.f, 2.f, 3.f ;
 		A1:history = "From EZ.DAT" ;
-	float A2(AX002) ;
-		A2:missing_value = -1.e+34f ;
-		A2:_FillValue = -1.e+34f ;
+	double A2(AX###) ;
+		A2:missing_value = -1.e+34 ;
+		A2:_FillValue = -1.e+34 ;
 		A2:long_name = "a2" ;
 		A2:history = "From EZ.DAT" ;
-	float A3(AX002) ;
-		A3:missing_value = -1.e+34f ;
-		A3:_FillValue = -1.e+34f ;
+	double A3(AX###) ;
+		A3:missing_value = -1.e+34 ;
+		A3:_FillValue = -1.e+34 ;
 		A3:long_name = "a3" ;
 		A3:history = "From EZ.DAT" ;
 
 // global attributes:
-		:history = "FERRET V7.1   9-Feb-17" ;
+		:history = "FERRET V7.2  DD-MON-YY" ;
 		:Conventions = "CF-1.6" ;
 data:
 
@@ -1466,23 +1466,23 @@ netcdf a {
 dimensions:
 	AX012 = 5 ;
 variables:
-	double AX012(AX012) ;
+	double AX012(AX###) ;
 		AX012:point_spacing = "even" ;
 		AX012:axis = "X" ;
-	float V1(AX012) ;
-		V1:missing_value = -1.e+34f ;
-		V1:_FillValue = -1.e+34f ;
+	double V1(AX###) ;
+		V1:missing_value = -1.e+34 ;
+		V1:_FillValue = -1.e+34 ;
 		V1:long_name = "V1" ;
 		V1:strval = "2" ;
 		V1:history = "From EZ.DAT" ;
-	float V4(AX012) ;
-		V4:missing_value = -1.e+34f ;
-		V4:_FillValue = -1.e+34f ;
+	double V4(AX###) ;
+		V4:missing_value = -1.e+34 ;
+		V4:_FillValue = -1.e+34 ;
 		V4:long_name = "V4" ;
 		V4:history = "From EZ.DAT" ;
 
 // global attributes:
-		:history = "FERRET V7.1   9-Feb-17" ;
+		:history = "FERRET V7.2  DD-MON-YY" ;
 		:Conventions = "CF-1.6" ;
 data:
 
@@ -1508,7 +1508,7 @@ variables:
 		A:four = "theory" ;
 
 // global attributes:
-		:history = "FERRET V7.1   9-Feb-17" ;
+		:history = "FERRET V7.2  DD-MON-YY" ;
 		:Conventions = "CF-1.6" ;
 data:
 
@@ -1554,7 +1554,7 @@ variables:
 		ELEV:history = "From err491_attval" ;
 
 // global attributes:
-		:history = "FERRET V7.1   9-Feb-17" ;
+		:history = "FERRET V7.2  DD-MON-YY" ;
 		:Conventions = "CF-1.6" ;
 		:simulation = "K-Bay OAR3d model (200m)" ;
 		:start_date = "980105000000" ;
@@ -1661,7 +1661,7 @@ variables:
 		TEMP:units = "deg. C" ;
 
 // global attributes:
-		:history = "FERRET V7.1   9-Feb-17" ;
+		:history = "FERRET V7.2  DD-MON-YY" ;
 		:Conventions = "CF-1.6" ;
 		:dt_internal = 15. ;
 }
@@ -1703,7 +1703,7 @@ variables:
 		ELEV:history = "From err491_attval" ;
 
 // global attributes:
-		:history = "FERRET V7.1   9-Feb-17" ;
+		:history = "FERRET V7.2  DD-MON-YY" ;
 		:Conventions = "CF-1.6" ;
 data:
 
@@ -1786,7 +1786,7 @@ variables:
 		RIGUE:history = "From test0" ;
 
 // global attributes:
-		:history = "FERRET V7.1   9-Feb-17" ;
+		:history = "FERRET V7.2  DD-MON-YY" ;
 		:Conventions = "CF-1.6" ;
 data:
 
@@ -1823,7 +1823,7 @@ variables:
 		B:long_name = "hello" ;
 
 // global attributes:
-		:history = "FERRET V7.1   9-Feb-17" ;
+		:history = "FERRET V7.2  DD-MON-YY" ;
 		:Conventions = "CF-1.6" ;
 data:
 
@@ -1863,7 +1863,7 @@ variables:
 		VWND:units = "M/S" ;
 
 // global attributes:
-		:history = "FERRET V7.1   9-Feb-17" ;
+		:history = "FERRET V7.2  DD-MON-YY" ;
 		:Conventions = "CF-1.6" ;
 data:
 
@@ -1914,7 +1914,7 @@ variables:
 		T2:history = "From coads_vwnd" ;
 
 // global attributes:
-		:history = "FERRET V7.1   9-Feb-17" ;
+		:history = "FERRET V7.2  DD-MON-YY" ;
 		:Conventions = "CF-1.6" ;
 data:
 
@@ -1973,7 +1973,7 @@ variables:
 		T2:history = "From gt4d011" ;
 
 // global attributes:
-		:history = "FERRET V7.1   9-Feb-17" ;
+		:history = "FERRET V7.2  DD-MON-YY" ;
 		:Conventions = "CF-1.6" ;
 }
 netcdf a {
@@ -2018,7 +2018,7 @@ variables:
 		T2:history = "From gt4d011" ;
 
 // global attributes:
-		:history = "FERRET V7.1   9-Feb-17" ;
+		:history = "FERRET V7.2  DD-MON-YY" ;
 		:Conventions = "CF-1.6" ;
 }
 netcdf a {
@@ -2061,7 +2061,7 @@ variables:
 		T2:history = "From gt4d011" ;
 
 // global attributes:
-		:history = "FERRET V7.1   9-Feb-17" ;
+		:history = "FERRET V7.2  DD-MON-YY" ;
 		:Conventions = "CF-1.6" ;
 }
 netcdf a {
@@ -2096,7 +2096,7 @@ variables:
 		TEMP:units = "DEG C" ;
 
 // global attributes:
-		:history = "FERRET V7.1   9-Feb-17" ;
+		:history = "FERRET V7.2  DD-MON-YY" ;
 		:Conventions = "CF-1.6" ;
 }
 netcdf a {
@@ -2130,7 +2130,7 @@ variables:
 		TWO:history = "From levitus_climatology" ;
 
 // global attributes:
-		:history = "FERRET V7.1   9-Feb-17" ;
+		:history = "FERRET V7.2  DD-MON-YY" ;
 		:Conventions = "CF-1.6" ;
 }
 bn_attributes.jnl --- 27 attributes of  user-defined axes
@@ -2160,7 +2160,7 @@ variables:
 		AXY:long_name = "RESHAPE (A,RVAR)" ;
 
 // global attributes:
-		:history = "FERRET V7.1   9-Feb-17" ;
+		:history = "FERRET V7.2  DD-MON-YY" ;
 		:Conventions = "CF-1.6" ;
 }
 bn_attributes.jnl --- 28 Define a new global attribute
@@ -2189,7 +2189,7 @@ variables:
 		BROILED:history = "From test0" ;
 
 // global attributes:
-		:history = "FERRET V7.1   9-Feb-17" ;
+		:history = "FERRET V7.2  DD-MON-YY" ;
 		:Conventions = "CF-1.6" ;
 		:glob = "Global attribute" ;
 		:FERRET_comment = "File written via LAS. Attributes are inherited from originating dataset" ;
@@ -2250,7 +2250,7 @@ variables:
 		FAREN:history = "From gt4d011" ;
 
 // global attributes:
-		:history = "FERRET V7.1   9-Feb-17" ;
+		:history = "FERRET V7.2  DD-MON-YY" ;
 		:Conventions = "CF-1.6" ;
 }
 netcdf a {
@@ -2295,7 +2295,7 @@ variables:
 		FAREN:history = "From gt4d011" ;
 
 // global attributes:
-		:history = "FERRET V7.1   9-Feb-17" ;
+		:history = "FERRET V7.2  DD-MON-YY" ;
 		:Conventions = "CF-1.6" ;
 }
 *** Running ferret script: bn_transforms.jnl
@@ -2336,7 +2336,7 @@ variables:
 		A:long_name = "X[GX=XAX]" ;
 
 // global attributes:
-		:history = "FERRET V7.1   9-Feb-17" ;
+		:history = "FERRET V7.2  DD-MON-YY" ;
 		:Conventions = "CF-1.6" ;
 data:
 
@@ -2366,7 +2366,7 @@ variables:
 		A:long_name = "X[GX=XAX]" ;
 
 // global attributes:
-		:history = "FERRET V7.1   9-Feb-17" ;
+		:history = "FERRET V7.2  DD-MON-YY" ;
 		:Conventions = "CF-1.6" ;
 data:
 
@@ -2396,7 +2396,7 @@ variables:
 		A:long_name = "X[GX=XAX]" ;
 
 // global attributes:
-		:history = "FERRET V7.1   9-Feb-17" ;
+		:history = "FERRET V7.2  DD-MON-YY" ;
 		:Conventions = "CF-1.6" ;
 data:
 
@@ -2449,7 +2449,7 @@ variables:
 		TEMP:units = "Deg C" ;
 
 // global attributes:
-		:history = "FERRET V7.1   9-Feb-17" ;
+		:history = "FERRET V7.2  DD-MON-YY" ;
 		:Conventions = "CF-1.6" ;
 }
 netcdf a {
@@ -2491,7 +2491,7 @@ variables:
 		TEMP:units = "Deg C" ;
 
 // global attributes:
-		:history = "FERRET V7.1   9-Feb-17" ;
+		:history = "FERRET V7.2  DD-MON-YY" ;
 		:Conventions = "CF-1.6" ;
 }
 netcdf a {
@@ -2509,7 +2509,7 @@ variables:
 		V:long_name = "Y[GY=YAXIS]" ;
 
 // global attributes:
-		:history = "FERRET V7.1   9-Feb-17" ;
+		:history = "FERRET V7.2  DD-MON-YY" ;
 		:Conventions = "CF-1.6" ;
 }
 *** Running ferret script: bn_no_valid_on_plot.jnl
@@ -2520,36 +2520,36 @@ netcdf a {
 dimensions:
 	AX002 = 3 ;
 variables:
-	double AX002(AX002) ;
+	double AX002(AX###) ;
 		AX002:point_spacing = "even" ;
 		AX002:axis = "X" ;
-	float MY_ASC(AX002) ;
-		MY_ASC:missing_value = 3.f ;
-		MY_ASC:_FillValue = 3.f ;
+	double MY_ASC(AX###) ;
+		MY_ASC:missing_value = 3. ;
+		MY_ASC:_FillValue = 3. ;
 		MY_ASC:long_name = "chlorophyll" ;
 		MY_ASC:units = "micrograms/L" ;
 		MY_ASC:history = "From dat.dat" ;
 
 // global attributes:
-		:history = "FERRET V7.1   9-Feb-17" ;
+		:history = "FERRET V7.2  DD-MON-YY" ;
 		:Conventions = "CF-1.6" ;
 }
 netcdf a {
 dimensions:
 	AX002 = 3 ;
 variables:
-	double AX002(AX002) ;
+	double AX002(AX###) ;
 		AX002:point_spacing = "even" ;
 		AX002:axis = "X" ;
-	float MY_UNF(AX002) ;
-		MY_UNF:missing_value = 5.f ;
-		MY_UNF:_FillValue = 5.f ;
+	double MY_UNF(AX###) ;
+		MY_UNF:missing_value = 5. ;
+		MY_UNF:_FillValue = 5. ;
 		MY_UNF:long_name = "Some Unformatted input" ;
 		MY_UNF:units = "metres" ;
 		MY_UNF:history = "From unf.dat" ;
 
 // global attributes:
-		:history = "FERRET V7.1   9-Feb-17" ;
+		:history = "FERRET V7.2  DD-MON-YY" ;
 		:Conventions = "CF-1.6" ;
 }
 bn_attributes.jnl --- SET VAR/OUTTYPE for user variable
@@ -2566,7 +2566,7 @@ variables:
 		A:long_name = "{1.1,2.2,3.3}" ;
 
 // global attributes:
-		:history = "FERRET V7.1   9-Feb-17" ;
+		:history = "FERRET V7.2  DD-MON-YY" ;
 		:Conventions = "CF-1.6" ;
 data:
 
@@ -2587,7 +2587,7 @@ variables:
 		A:long_name = "{ 3.77, 4.00, 4.10, 4.33, 4.38, 4.27, 4.31, 4.40, 4.75, 5.01, 5.27, 5.52}" ;
 
 // global attributes:
-		:history = "FERRET V7.1   9-Feb-17" ;
+		:history = "FERRET V7.2  DD-MON-YY" ;
 		:Conventions = "CF-1.6" ;
 data:
 
@@ -2658,7 +2658,7 @@ variables:
 		newvar:history = "From a" ;
 
 // global attributes:
-		:history = "FERRET V7.1   9-Feb-17" ;
+		:history = "FERRET V7.2  DD-MON-YY" ;
 		:Conventions = "CF-1.6" ;
 }
 *** Running ferret script: bn_cdf_keepax.jnl
@@ -2687,7 +2687,7 @@ variables:
 		A:long_name = "X[GX=X100] + T[GT=T31]" ;
 
 // global attributes:
-		:history = "FERRET V7.1   9-Feb-17" ;
+		:history = "FERRET V7.2  DD-MON-YY" ;
 		:Conventions = "CF-1.6" ;
 }
 bn_keep_axisnames.jnl --- without /KEEP_AXISNAMES
@@ -2714,7 +2714,7 @@ variables:
 		A:long_name = "X[GX=X100] + T[GT=T31]" ;
 
 // global attributes:
-		:history = "FERRET V7.1   9-Feb-17" ;
+		:history = "FERRET V7.2  DD-MON-YY" ;
 		:Conventions = "CF-1.6" ;
 }
 *** Running ferret script: bn_key_label_minmax.jnl
@@ -2819,7 +2819,7 @@ variables:
 		ZUP:long_name = "Z[GZ=ZAXUP]" ;
 
 // global attributes:
-		:history = "FERRET V7.1   9-Feb-17" ;
+		:history = "FERRET V7.2  DD-MON-YY" ;
 		:Conventions = "CF-1.6" ;
 }
 bn_axis_cf.jnl, Convert forms of DEG, degrees to degrees_east:
@@ -2851,7 +2851,7 @@ variables:
 		Y_:long_name_mod = "axis YFIFTEEN" ;
 
 // global attributes:
-		:history = "FERRET V7.1   9-Feb-17" ;
+		:history = "FERRET V7.2  DD-MON-YY" ;
 		:Conventions = "CF-1.6" ;
 }
 bn_axis_cf.jnl, Downcase units, e.g. in time axis DAYS since
@@ -2884,7 +2884,7 @@ variables:
 		XYTVAR:history = "From bn_strides" ;
 
 // global attributes:
-		:history = "FERRET V7.1   9-Feb-17" ;
+		:history = "FERRET V7.2  DD-MON-YY" ;
 		:Conventions = "CF-1.6" ;
 }
 *** Running ferret script: bn_repeated_coords.jnl
@@ -2961,7 +2961,7 @@ variables:
 		TIME:history = "From http://tds.climatedatacloud.com/thredds/dodsC/ensembles/nmme_gfdl/TwoD" ;
 
 // global attributes:
-		:history = "FERRET V7.1   9-Feb-17" ;
+		:history = "FERRET V7.2  DD-MON-YY" ;
 		:Conventions = "CF-1.6" ;
 data:
 
@@ -2999,7 +2999,7 @@ variables:
 		time:history = "From http://tds.climatedatacloud.com/thredds/dodsC/ensembles/nmme_gfdl/TwoD" ;
 
 // global attributes:
-		:history = "FERRET V7.1   9-Feb-17" ;
+		:history = "FERRET V7.2  DD-MON-YY" ;
 		:Conventions = "CF-1.6" ;
 data:
 
@@ -3051,7 +3051,7 @@ variables:
 		MYVAR:history = "From coads_climatology" ;
 
 // global attributes:
-		:history = "FERRET V7.1   9-Feb-17" ;
+		:history = "FERRET V7.2  DD-MON-YY" ;
 		:Conventions = "CF-1.6" ;
 }
 netcdf a {
@@ -3065,7 +3065,7 @@ variables:
 		MYVAR:history = "From levitus_climatology" ;
 
 // global attributes:
-		:history = "FERRET V7.1   9-Feb-17" ;
+		:history = "FERRET V7.2  DD-MON-YY" ;
 		:Conventions = "CF-1.6" ;
 }
 *** Running ferret script: bn_list_clim_axes.jnl
@@ -3083,6 +3083,15 @@ variables:
 *** Running ferret script: bn_ave_of_ave.jnl
 *** Running ferret script: bn_agg_member_syntax.jnl
 *** Running ferret script: bn_true_monthly.jnl
+*** Running ferret script: bn720_bug_fixes.jnl
+*** Running ferret script: bn_compressed_gather.jnl
+*** Running ferret script: bn_dynamic_gather.jnl
+*** Running ferret script: bn_stat_precision.jnl
+*** Running ferret script: bn_plot_vs_with_time.jnl
+*** Running ferret script: bn_dot_product.jnl
+*** Running ferret script: bn_cache_management.jnl
+*** Running ferret script: bn_transp_choose.jnl
+*** Running ferret script: bn_iin_regrid.jnl
 *** Running ferret script: bn_gif.jnl
 *** Running ferret script: bn_ps.jnl
 *** Running ferret script: bn_all_ef.jnl
@@ -3741,7 +3750,7 @@ variables:
 		tmonth:history = "added to /home/data/socat/socatV3/492C/492C19881104.nc" ;
 
 // global attributes:
-		:history = "FERRET V7.1   9-Feb-17" ;
+		:history = "FERRET V7.2  DD-MON-YY" ;
 		:Conventions = "CF-1.6" ;
 		:featureType = "Trajectory" ;
 		:decimation = "218 original number of obs. Piecewise decimated to 23 obs using tolerances: lon 1, lat 1, fco2_rec 4" ;
diff --git a/bench/test_results/forecast_actual.gif b/bench/test_results/forecast_actual.gif
index d2e6844..d8501e9 100644
Binary files a/bench/test_results/forecast_actual.gif and b/bench/test_results/forecast_actual.gif differ
diff --git a/bench/test_results/forecast_diagview.gif b/bench/test_results/forecast_diagview.gif
index 2a1cbd5..689410b 100644
Binary files a/bench/test_results/forecast_diagview.gif and b/bench/test_results/forecast_diagview.gif differ
diff --git a/bench/test_results/forecast_leadview.gif b/bench/test_results/forecast_leadview.gif
index 000017b..483c616 100644
Binary files a/bench/test_results/forecast_leadview.gif and b/bench/test_results/forecast_leadview.gif differ
diff --git a/bench/test_results/gif_dashbug.gif b/bench/test_results/gif_dashbug.gif
index c3527c7..21120f5 100644
Binary files a/bench/test_results/gif_dashbug.gif and b/bench/test_results/gif_dashbug.gif differ
diff --git a/bench/test_results/legend_1d_plots.gif b/bench/test_results/legend_1d_plots.gif
index c3babbf..0b6f71b 100644
Binary files a/bench/test_results/legend_1d_plots.gif and b/bench/test_results/legend_1d_plots.gif differ
diff --git a/bench/test_results/levels_one_level.gif b/bench/test_results/levels_one_level.gif
index acb1edf..4336537 100644
Binary files a/bench/test_results/levels_one_level.gif and b/bench/test_results/levels_one_level.gif differ
diff --git a/bench/test_results/lon_lat_label_controls.gif b/bench/test_results/lon_lat_label_controls.gif
new file mode 100644
index 0000000..1b610ec
Binary files /dev/null and b/bench/test_results/lon_lat_label_controls.gif differ
diff --git a/bench/test_results/testbackground.gif b/bench/test_results/testbackground.gif
index cb2bb8c..2a63d55 100644
Binary files a/bench/test_results/testbackground.gif and b/bench/test_results/testbackground.gif differ
diff --git a/bench/test_results/vs_lon_over.gif b/bench/test_results/vs_lon_over.gif
new file mode 100644
index 0000000..30eb216
Binary files /dev/null and b/bench/test_results/vs_lon_over.gif differ
diff --git a/external_functions/ef_utility/site_specific.mk b/external_functions/ef_utility/site_specific.mk
index f6b14dd..397f7dd 100644
--- a/external_functions/ef_utility/site_specific.mk
+++ b/external_functions/ef_utility/site_specific.mk
@@ -2,8 +2,8 @@
 
 ## Machine type for which to build the local external functions
 ## Use $(HOSTTYPE) to build natively for the machine you are using
-BUILDTYPE	= $(HOSTTYPE)
-# BUILDTYPE	= x86_64-linux
+# BUILDTYPE	= $(HOSTTYPE)
+BUILDTYPE	= x86_64-linux
 # BUILDTYPE	= i386-linux
 # BUILDTYPE	= intel-mac
 
diff --git a/external_functions/examples/dates.F b/external_functions/examples/dates.F
index 4ca1d9d..8723fb4 100644
--- a/external_functions/examples/dates.F
+++ b/external_functions/examples/dates.F
@@ -54,7 +54,7 @@
 *                                                                     V
 
       CALL ef_set_desc(id,
-     .        'Returns a string array of dates derived ' //
+     .        'Demo function: Returns a string array of dates derived ' //
      .        'from the time axis and the given offsets')
       CALL ef_set_num_args(id, 1)
       CALL ef_set_axis_inheritance_6d(id,
@@ -68,7 +68,8 @@
       arg = 1
       CALL ef_set_arg_name(id, arg, 'Offsets')
       CALL ef_set_arg_desc(id, arg,
-     .        'Offsets from the time given by time axis')
+     .        'Variable on a time axis, containing offsets from the ' //
+     .        'coordinates of the axis, in the units of the axis')
       CALL ef_set_axis_influence_6d(id, arg,
      .                              YES, YES, YES, YES, YES, YES)
 
@@ -187,7 +188,7 @@
 
       INTEGER i,  j,  k,  l,  m,  n
       INTEGER i1, j1, k1, l1, m1, n1
-      INTEGER taxnum, slen, idx
+      INTEGER taxnum, slen, idx, dim
       REAL*8 newtime
       CHARACTER*20 datebuf
       CHARACTER*255 errtxt
@@ -202,6 +203,7 @@
          errtxt = 'Offsets does not have a time axis'
          GOTO 999
       ENDIF
+      dim = T_AXIS
 
 * Get the time axis coordinates
       CALL ef_get_coordinates(id, ARG1, T_AXIS, arg_lo_ss(T_AXIS, ARG1),
@@ -235,7 +237,7 @@
 *              Convert newtime into a date string.
 *              ef_get_axis_dates can work with an array of times,
 *              returning an array of date strings; here we just do one
-               CALL ef_get_axis_dates(id, ARG1, newtime, 1, datebuf)
+               CALL ef_get_axis_dates(id, ARG1, newtime, dim, 1, datebuf)
 
 *              Get the actual length of the string
                DO 15 idx = 20, 1, -1
diff --git a/fer/Makefile b/fer/Makefile
index 065e26e..45b1e14 100644
--- a/fer/Makefile
+++ b/fer/Makefile
@@ -33,6 +33,9 @@
 #  v6.8  7/13 *kms* - removed threddsBrowser (moved to top level since it is a separate app)
 #  v6.97 2/16 *acm* - restore "profiling" target
 #  V698  3/16 *acm* Removed Philander-Seigel code including ocn/ directory
+#  V702 1/17 *sh* dynamic mem mgmt for trac #2369 calls mem from ccr so had to
+#        stick another mem at tthe end of the FERLIBS list.  Ugly solution.
+#        Also shifted fmt after mem so that the new LIFINT8 gets picked up
 # 
 # include platform specific macro definitions
 #
@@ -50,10 +53,10 @@ include ../platform_specific.mk.$(BUILDTYPE)
 
 GUI_FAKES = special/gui_fakes.o
 
-DIRS	= ccr ctx dat doo efi efn ef_utility fmt gnl ino mem  \
+DIRS	= ccr ctx dat doo efi efn ef_utility gnl ino mem fmt \
 	 plt rpn special stk utl xeq
 
-LIBS	= ccr ctx dat doo efi efn ef_utility fmt gnl ino mem \
+LIBS	= ccr ctx dat doo efi efn ef_utility gnl ino mem fmt \
 	 plt rpn stk utl xeq
 
 CLEANDIRS = $(DIRS)
@@ -61,7 +64,7 @@ CLEANDIRS = $(DIRS)
 DEPDIRS = ccr
 
 FERLIBS = -lxeq -lgnl  -lccr -lferplt -lrpn -lstk -ldoo  \
-	-lctx -lfmt -lino -lmem -lutl -ldat -lccr -lefi -lefn
+	-lctx -lino -lmem -lfmt -lutl -ldat -lccr -lmem -lefi -lefn
 
 PPLLIBS = -lplt -lpll -lsym -lcmp -lour -lepi -lusr -ltmap
 
@@ -149,7 +152,6 @@ ferret:
 		$(FERLIBS) \
 		$(PPLLIBS) \
 		$(READLINELIB) \
-		$(TERMCAPLIB) \
 		$(CDFLIB) \
 		$(HDFLIB) \
 		$(GKSLIB) \
diff --git a/fer/ccr/EF_InternalUtil.c b/fer/ccr/EF_InternalUtil.c
index b469922..e6f3815 100644
--- a/fer/ccr/EF_InternalUtil.c
+++ b/fer/ccr/EF_InternalUtil.c
@@ -57,27 +57,27 @@
  *  3.  internal_dlsym lines at the end
 
 * Jonathan Callahan and Ansley Manke  30-May-2000
- * Fix memory leak:  already_have_internals needs to be tested for when 
+ * Fix memory leak:  already_have_internals needs to be tested for when
  * we find the external function in efcn_gather_info  and set TRUE once
  * the internals have been set for the first time, also in efcn_gather_info.
 
 * Ansley Manke  August 2001
  * add EOF_SPACE, EOF_STAT, EOF_TFUNC to the functions that are
- * statically linked 
+ * statically linked
 
 * V5.4 *acm* 10/01 add compress* to the statically linked fcns
 * v6.0 *acm*  5/06 many more functions internally linked.
 * V6.0 *acm*  5/06 string results for external functions
 * v6.0 *acm*  5/06 internal_dlsym was missing the nco functions.
 * V6.03 *acm& 5/07 Add tax_ functions, fill_xy to the statically-linked functions
-* V6.07 *acm* 8/07 remove xunits_data from list of I_EFnames; it should never 
+* V6.07 *acm* 8/07 remove xunits_data from list of I_EFnames; it should never
 *                  have been there.
 * V6.12 *acm* 8/07 add functions scat2grid_bin_xy and scat2grid_nobs_xy.F
 * V6.2 *acm* 11/08 New functions XCAT_STR, YCAT_STR, ...
 * V6.2 *acm* 11/08 New internally-called function efcn_get_alt_type_fcn to
 *                  get the name of a function to call if the arguments are of
-*                  a different type than defined in the current function. E.g. 
-*                  this lets the user reference XCAT with string arguments and  
+*                  a different type than defined in the current function. E.g.
+*                  this lets the user reference XCAT with string arguments and
 *                  Ferret will run XCAT_STR
 * V6.6 *acm* 4/10 add functions scat2grid_nbin_xy and scat2grid_nbin_xyt.F
 * V664 *kms*  9/10 Added python-backed external functions via $FER_DIR/lib/libpyefcn.so
@@ -86,11 +86,13 @@
 *      *kms* 11/10 Check for libpyefcn.so in $FER_LIBS instead of $FER_DIR/lib
 * *acm*  1/12      - Ferret 6.8 ifdef double_p for double-precision ferret, see the
 *					 definition of macro DFTYPE in ferret.h
-*      *kms*  3/12 Add E and F dimensions 
-*      *acm*  6/14 New separate function for DSG files 
+*      *kms*  3/12 Add E and F dimensions
+*      *acm*  6/14 New separate function for DSG files
 *      *acm*  9/14 Make DATE1900 accept an array of date strings, returning an array of coordinates
 *      *acm*  2/15 TAX_DATESTRING works on an F or a T axis
 *      *acm*  2/15 new Functions TIME_REFORMAT, FT_TO_ORTHOGONAL
+* V702 *sh*   1/17 added support for FORTRAN90 dynamic memory management
+*                  removing "memory" pointer in favor of individual arg ptrs
 */
 
 
@@ -116,20 +118,25 @@
 
 /* ................ Global Variables ................ */
 /*
- * The memory_ptr, mr_list_ptr and cx_list_ptr are obtained from Ferret
+ * The mr_list_ptr and cx_list_ptr are obtained from Ferret
  * and cached whenever they are passed into one of the "efcn_" functions.
  * These pointers can be accessed by the utility functions in efn_ext/.
  * This way the EF writer does not need to see these pointers.
  *
+ * 1/17 - c argument pointers (GLOBAL_arg_ptrs) and the result pointer
+ *        (GLOBAL_res_ptr)are obtained from FORTRAN later on demand
+ *
  * This is the instantiation of these values.
  */
 
-DFTYPE *GLOBAL_memory_ptr;
 int    *GLOBAL_mr_list_ptr;
 int    *GLOBAL_cx_list_ptr;
 int    *GLOBAL_mres_ptr;
 DFTYPE *GLOBAL_bad_flag_ptr;
 
+DFTYPE *GLOBAL_arg_ptrs[EF_MAX_ARGS];
+DFTYPE *GLOBAL_res_ptr;
+
 static LIST *STATIC_ExternalFunctionList;
 
 /*
@@ -187,7 +194,7 @@ static void (*pyefcn_result_limits_func)(int, char [], char []) = NULL;
  *                         int steplo[][NFERDIMS], int stephi[][NFERDIMS], int incr[][NFERDIMS],
  *                         DFTYPE badvals[], char errmsg[])
  */
-static void (*pyefcn_compute_func)(int, char [], DFTYPE *[], int, 
+static void (*pyefcn_compute_func)(int, char [], DFTYPE *[], int,
                                    int [][NFERDIMS], int [][NFERDIMS],
                                    int [][NFERDIMS], int [][NFERDIMS], int [][NFERDIMS],
                                    DFTYPE [], char []) = NULL;
@@ -200,7 +207,7 @@ static int I_have_warned_already = TRUE; /* Warning turned off Jan '98 */
 /*
  * Note that all routines called directly from Ferret,
  * ie. directly from Fortran, should be all lower case,
- * be of type 'void', pass by reference and should end with 
+ * be of type 'void', pass by reference and should end with
  * an underscore.
  */
 
@@ -215,8 +222,8 @@ void FORTRAN(create_pyefcn)(char fname[], int *lenfname, char pymod[], int *lenp
 
 int  FORTRAN(efcn_gather_info)( int * );
 void FORTRAN(efcn_get_custom_axes)( int *, int *, int * );
-void FORTRAN(efcn_get_result_limits)( int *, DFTYPE *, int *, int *, int * );
-void FORTRAN(efcn_compute)( int *, int *, int *, int *, int *, DFTYPE *, int *, DFTYPE *, int * );
+void FORTRAN(efcn_get_result_limits)( int *, int *, int *, int * );
+void FORTRAN(efcn_compute)( int *, int *, int *, int *, int *, DFTYPE *, int * );
 
 
 void FORTRAN(efcn_get_custom_axis_sub)( int *, int *, double *, double *, double *, char *, int * );
@@ -243,6 +250,9 @@ void FORTRAN(efcn_get_arg_name)( int *, int *, char * );
 void FORTRAN(efcn_get_arg_unit)( int *, int *, char * );
 void FORTRAN(efcn_get_arg_desc)( int *, int *, char * );
 int  FORTRAN(efcn_get_rtn_type)( int *);
+void FORTRAN(efcn_rqst_mr_ptrs)( int *, int *, int * ); // narg, mr_list, mres
+void FORTRAN(efcn_pass_arg_ptr)(int *, DFTYPE *);
+void FORTRAN(efcn_pass_res_ptr)(DFTYPE *);
 
 
 /* .... Functions called internally .... */
@@ -264,7 +274,7 @@ int EF_Util_ressig();
 
 void FORTRAN(ef_err_bail_out)(int *, char *);
 
-void EF_store_globals(DFTYPE *, int *, int *, int *, DFTYPE *);
+void EF_store_globals(int *, int *, int *, DFTYPE *);
 
 ExternalFunction *ef_ptr_from_id_ptr(int *);
 
@@ -276,7 +286,7 @@ int  EF_ListTraverse_FoundID( char *, char * );
 int  EF_New( ExternalFunction * );
 
 /*  ------------------------------------
- *  Statically linked external functions 
+ *  Statically linked external functions
  *  Declarations generated by the perl script int_dlsym.pl.
  *  Need to fill out the arguments for the _compute subroutines.
  */
@@ -285,27 +295,27 @@ void FORTRAN(ffta_init)(int *);
 void FORTRAN(ffta_custom_axes)(int *);
 void FORTRAN(ffta_result_limits)(int *);
 void FORTRAN(ffta_work_size)(int *);
-void FORTRAN(ffta_compute)(int *, DFTYPE *, DFTYPE *, DFTYPE *, 
+void FORTRAN(ffta_compute)(int *, DFTYPE *, DFTYPE *, DFTYPE *,
                            DFTYPE *, DFTYPE *, DFTYPE *);
 
 void FORTRAN(fftp_init)(int *);
 void FORTRAN(fftp_custom_axes)(int *);
 void FORTRAN(fftp_result_limits)(int *);
 void FORTRAN(fftp_work_size)(int *);
-void FORTRAN(fftp_compute)(int *, DFTYPE *, DFTYPE *, DFTYPE *, 
+void FORTRAN(fftp_compute)(int *, DFTYPE *, DFTYPE *, DFTYPE *,
                            DFTYPE *, DFTYPE *, DFTYPE *);
 
 void FORTRAN(fft_im_init)(int *);
 void FORTRAN(fft_im_custom_axes)(int *);
 void FORTRAN(fft_im_result_limits)(int *);
 void FORTRAN(fft_im_work_size)(int *);
-void FORTRAN(fft_im_compute)(int *, DFTYPE *, DFTYPE *, DFTYPE *, 
+void FORTRAN(fft_im_compute)(int *, DFTYPE *, DFTYPE *, DFTYPE *,
                            DFTYPE *, DFTYPE *, DFTYPE *);
 
 void FORTRAN(fft_inverse_init)(int *);
 void FORTRAN(fft_inverse_result_limits)(int *);
 void FORTRAN(fft_inverse_work_size)(int *);
-void FORTRAN(fft_inverse_compute)(int *, DFTYPE *, DFTYPE *, DFTYPE *, 
+void FORTRAN(fft_inverse_compute)(int *, DFTYPE *, DFTYPE *, DFTYPE *,
                            DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *);
 
 void FORTRAN(fft_re_init)(int *);
@@ -317,7 +327,7 @@ void FORTRAN(fft_re_compute)(int *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, DFTY
 void FORTRAN(sampleij_init)(int *);
 void FORTRAN(sampleij_result_limits)(int *);
 void FORTRAN(sampleij_work_size)(int *);
-void FORTRAN(sampleij_compute)(int *, DFTYPE *, DFTYPE *, DFTYPE *, 
+void FORTRAN(sampleij_compute)(int *, DFTYPE *, DFTYPE *, DFTYPE *,
        DFTYPE *, DFTYPE *, DFTYPE *);
 
 
@@ -325,33 +335,38 @@ void FORTRAN(samplei_multi_init)(int *);
 void FORTRAN(samplei_multi_result_limits)(int *);
 void FORTRAN(samplei_multi_compute)(int *, DFTYPE *, DFTYPE *);
 
-
 void FORTRAN(samplej_multi_init)(int *);
 void FORTRAN(samplej_multi_result_limits)(int *);
 void FORTRAN(samplej_multi_compute)(int *, DFTYPE *, DFTYPE *);
 
-
 void FORTRAN(samplek_multi_init)(int *);
 void FORTRAN(samplek_multi_result_limits)(int *);
 void FORTRAN(samplek_multi_compute)(int *, DFTYPE *, DFTYPE *);
 
-
 void FORTRAN(samplel_multi_init)(int *);
 void FORTRAN(samplel_multi_result_limits)(int *);
 void FORTRAN(samplel_multi_compute)(int *, DFTYPE *, DFTYPE *);
 
+void FORTRAN(samplem_multi_init)(int *);
+void FORTRAN(samplem_multi_result_limits)(int *);
+void FORTRAN(samplem_multi_compute)(int *, DFTYPE *, DFTYPE *);
+
+void FORTRAN(samplen_multi_init)(int *);
+void FORTRAN(samplen_multi_result_limits)(int *);
+void FORTRAN(samplen_multi_compute)(int *, DFTYPE *, DFTYPE *);
+
 void FORTRAN(samplet_date_init)(int *);
 void FORTRAN(samplet_date_result_limits)(int *);
 void FORTRAN(samplet_date_work_size)(int *);
 void FORTRAN(samplet_date_compute)(int *, DFTYPE *, DFTYPE *,
-      DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, 
+      DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *,
       DFTYPE *, DFTYPE *);
 
 void FORTRAN(samplef_date_init)(int *);
 void FORTRAN(samplef_date_result_limits)(int *);
 void FORTRAN(samplef_date_work_size)(int *);
 void FORTRAN(samplef_date_compute)(int *, DFTYPE *, DFTYPE *,
-      DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, 
+      DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *,
       DFTYPE *, DFTYPE *);
 
 
@@ -375,246 +390,242 @@ void FORTRAN(samplexyt_nrst_compute)(int *, DFTYPE *, DFTYPE *,
 
 void FORTRAN(scat2gridgauss_xy_init)(int *);
 void FORTRAN(scat2gridgauss_xy_work_size)(int *);
-void FORTRAN(scat2gridgauss_xy_compute)(int *, DFTYPE *, DFTYPE *, DFTYPE *, 
-                           DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, 
+void FORTRAN(scat2gridgauss_xy_compute)(int *, DFTYPE *, DFTYPE *, DFTYPE *,
+                           DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *,
                            DFTYPE *, DFTYPE *, DFTYPE *);
 
 void FORTRAN(scat2gridgauss_xz_init)(int *);
 void FORTRAN(scat2gridgauss_xz_work_size)(int *);
-void FORTRAN(scat2gridgauss_xz_compute)(int *, DFTYPE *, DFTYPE *, DFTYPE *, 
-                           DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, 
+void FORTRAN(scat2gridgauss_xz_compute)(int *, DFTYPE *, DFTYPE *, DFTYPE *,
+                           DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *,
                            DFTYPE *, DFTYPE *, DFTYPE *);
 
 void FORTRAN(scat2gridgauss_yz_init)(int *);
 void FORTRAN(scat2gridgauss_yz_work_size)(int *);
-void FORTRAN(scat2gridgauss_yz_compute)(int *, DFTYPE *, DFTYPE *, DFTYPE *, 
-                           DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, 
+void FORTRAN(scat2gridgauss_yz_compute)(int *, DFTYPE *, DFTYPE *, DFTYPE *,
+                           DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *,
                            DFTYPE *, DFTYPE *, DFTYPE *);
 
 void FORTRAN(scat2gridgauss_xt_init)(int *);
 void FORTRAN(scat2gridgauss_xt_work_size)(int *);
-void FORTRAN(scat2gridgauss_xt_compute)(int *, DFTYPE *, DFTYPE *, DFTYPE *, 
-                           DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, 
+void FORTRAN(scat2gridgauss_xt_compute)(int *, DFTYPE *, DFTYPE *, DFTYPE *,
+                           DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *,
                            DFTYPE *, DFTYPE *, DFTYPE *);
 
 void FORTRAN(scat2gridgauss_yt_init)(int *);
 void FORTRAN(scat2gridgauss_yt_work_size)(int *);
-void FORTRAN(scat2gridgauss_yt_compute)(int *, DFTYPE *, DFTYPE *, DFTYPE *, 
-                           DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, 
+void FORTRAN(scat2gridgauss_yt_compute)(int *, DFTYPE *, DFTYPE *, DFTYPE *,
+                           DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *,
                            DFTYPE *, DFTYPE *, DFTYPE *);
 
 void FORTRAN(scat2gridgauss_zt_init)(int *);
 void FORTRAN(scat2gridgauss_zt_work_size)(int *);
-void FORTRAN(scat2gridgauss_zt_compute)(int *, DFTYPE *, DFTYPE *, DFTYPE *, 
-                           DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, 
+void FORTRAN(scat2gridgauss_zt_compute)(int *, DFTYPE *, DFTYPE *, DFTYPE *,
+                           DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *,
                            DFTYPE *, DFTYPE *, DFTYPE *);
 
 void FORTRAN(scat2gridgauss_xy_v0_init)(int *);
 void FORTRAN(scat2gridgauss_xy_v0_work_size)(int *);
-void FORTRAN(scat2gridgauss_xy_v0_compute)(int *, DFTYPE *, DFTYPE *, DFTYPE *, 
-                           DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, 
+void FORTRAN(scat2gridgauss_xy_v0_compute)(int *, DFTYPE *, DFTYPE *, DFTYPE *,
+                           DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *,
                            DFTYPE *, DFTYPE *, DFTYPE *);
 
 void FORTRAN(scat2gridgauss_xz_v0_init)(int *);
 void FORTRAN(scat2gridgauss_xz_v0_work_size)(int *);
-void FORTRAN(scat2gridgauss_xz_v0_compute)(int *, DFTYPE *, DFTYPE *, DFTYPE *, 
-                           DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, 
+void FORTRAN(scat2gridgauss_xz_v0_compute)(int *, DFTYPE *, DFTYPE *, DFTYPE *,
+                           DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *,
                            DFTYPE *, DFTYPE *, DFTYPE *);
 
 void FORTRAN(scat2gridgauss_yz_v0_init)(int *);
 void FORTRAN(scat2gridgauss_yz_v0_work_size)(int *);
-void FORTRAN(scat2gridgauss_yz_v0_compute)(int *, DFTYPE *, DFTYPE *, DFTYPE *, 
-                           DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, 
+void FORTRAN(scat2gridgauss_yz_v0_compute)(int *, DFTYPE *, DFTYPE *, DFTYPE *,
+                           DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *,
                            DFTYPE *, DFTYPE *, DFTYPE *);
 
 void FORTRAN(scat2gridgauss_xt_v0_init)(int *);
 void FORTRAN(scat2gridgauss_xt_v0_work_size)(int *);
-void FORTRAN(scat2gridgauss_xt_v0_compute)(int *, DFTYPE *, DFTYPE *, DFTYPE *, 
-                           DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, 
+void FORTRAN(scat2gridgauss_xt_v0_compute)(int *, DFTYPE *, DFTYPE *, DFTYPE *,
+                           DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *,
                            DFTYPE *, DFTYPE *, DFTYPE *);
 
 void FORTRAN(scat2gridgauss_yt_v0_init)(int *);
 void FORTRAN(scat2gridgauss_yt_v0_work_size)(int *);
-void FORTRAN(scat2gridgauss_yt_v0_compute)(int *, DFTYPE *, DFTYPE *, DFTYPE *, 
-                           DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, 
+void FORTRAN(scat2gridgauss_yt_v0_compute)(int *, DFTYPE *, DFTYPE *, DFTYPE *,
+                           DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *,
                            DFTYPE *, DFTYPE *, DFTYPE *);
 
 void FORTRAN(scat2gridgauss_zt_v0_init)(int *);
 void FORTRAN(scat2gridgauss_zt_v0_work_size)(int *);
-void FORTRAN(scat2gridgauss_zt_v0_compute)(int *, DFTYPE *, DFTYPE *, DFTYPE *, 
-                           DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, 
+void FORTRAN(scat2gridgauss_zt_v0_compute)(int *, DFTYPE *, DFTYPE *, DFTYPE *,
+                           DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *,
                            DFTYPE *, DFTYPE *, DFTYPE *);
 
 void FORTRAN(scat2gridlaplace_xy_init)(int *);
 void FORTRAN(scat2gridlaplace_xy_work_size)(int *);
-void FORTRAN(scat2gridlaplace_xy_compute)(int *, DFTYPE *, DFTYPE *, DFTYPE *, 
-                           DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, 
+void FORTRAN(scat2gridlaplace_xy_compute)(int *, DFTYPE *, DFTYPE *, DFTYPE *,
+                           DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *,
                            DFTYPE *, DFTYPE *);
 
 void FORTRAN(scat2gridlaplace_xz_init)(int *);
 void FORTRAN(scat2gridlaplace_xz_work_size)(int *);
-void FORTRAN(scat2gridlaplace_xz_compute)(int *, DFTYPE *, DFTYPE *, DFTYPE *, 
-                           DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, 
+void FORTRAN(scat2gridlaplace_xz_compute)(int *, DFTYPE *, DFTYPE *, DFTYPE *,
+                           DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *,
                            DFTYPE *, DFTYPE *);
 
 void FORTRAN(scat2gridlaplace_yz_init)(int *);
 void FORTRAN(scat2gridlaplace_yz_work_size)(int *);
-void FORTRAN(scat2gridlaplace_yz_compute)(int *, DFTYPE *, DFTYPE *, DFTYPE *, 
-                           DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, 
+void FORTRAN(scat2gridlaplace_yz_compute)(int *, DFTYPE *, DFTYPE *, DFTYPE *,
+                           DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *,
                            DFTYPE *, DFTYPE *);
 
 
 void FORTRAN(scat2gridlaplace_xt_init)(int *);
 void FORTRAN(scat2gridlaplace_xt_work_size)(int *);
-void FORTRAN(scat2gridlaplace_xt_compute)(int *, DFTYPE *, DFTYPE *, DFTYPE *, 
-                           DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, 
+void FORTRAN(scat2gridlaplace_xt_compute)(int *, DFTYPE *, DFTYPE *, DFTYPE *,
+                           DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *,
                            DFTYPE *, DFTYPE *);
 
 void FORTRAN(scat2gridlaplace_yt_init)(int *);
 void FORTRAN(scat2gridlaplace_yt_work_size)(int *);
-void FORTRAN(scat2gridlaplace_yt_compute)(int *, DFTYPE *, DFTYPE *, DFTYPE *, 
-                           DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, 
+void FORTRAN(scat2gridlaplace_yt_compute)(int *, DFTYPE *, DFTYPE *, DFTYPE *,
+                           DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *,
                            DFTYPE *, DFTYPE *);
 
 void FORTRAN(scat2gridlaplace_zt_init)(int *);
 void FORTRAN(scat2gridlaplace_zt_work_size)(int *);
-void FORTRAN(scat2gridlaplace_zt_compute)(int *, DFTYPE *, DFTYPE *, DFTYPE *, 
-                           DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, 
+void FORTRAN(scat2gridlaplace_zt_compute)(int *, DFTYPE *, DFTYPE *, DFTYPE *,
+                           DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *,
                            DFTYPE *, DFTYPE *);
 
 void FORTRAN(sorti_init)(int *);
 void FORTRAN(sorti_result_limits)(int *);
 void FORTRAN(sorti_work_size)(int *);
-void FORTRAN(sorti_compute)(int *, DFTYPE *, DFTYPE *, 
+void FORTRAN(sorti_compute)(int *, DFTYPE *, DFTYPE *,
       DFTYPE *, DFTYPE *);
 
 void FORTRAN(sorti_str_init)(int *);
 void FORTRAN(sorti_str_result_limits)(int *);
 void FORTRAN(sorti_str_work_size)(int *);
-void FORTRAN(sorti_str_compute)(int *, char *, DFTYPE *, 
+void FORTRAN(sorti_str_compute)(int *, char *, DFTYPE *,
       char *, DFTYPE *);
-                   
+
 void FORTRAN(sortj_init)(int *);
 void FORTRAN(sortj_result_limits)(int *);
 void FORTRAN(sortj_work_size)(int *);
-void FORTRAN(sortj_compute)(int *, DFTYPE *, DFTYPE *, 
+void FORTRAN(sortj_compute)(int *, DFTYPE *, DFTYPE *,
       DFTYPE *, DFTYPE *);
 
 void FORTRAN(sortj_str_init)(int *);
 void FORTRAN(sortj_str_result_limits)(int *);
 void FORTRAN(sortj_str_work_size)(int *);
-void FORTRAN(sortj_str_compute)(int *, char *, DFTYPE *, 
+void FORTRAN(sortj_str_compute)(int *, char *, DFTYPE *,
       char *, DFTYPE *);
 
 void FORTRAN(sortk_init)(int *);
 void FORTRAN(sortk_result_limits)(int *);
 void FORTRAN(sortk_work_size)(int *);
-void FORTRAN(sortk_compute)(int *, DFTYPE *, DFTYPE *, 
+void FORTRAN(sortk_compute)(int *, DFTYPE *, DFTYPE *,
       DFTYPE *, DFTYPE *);
 
 void FORTRAN(sortk_str_init)(int *);
 void FORTRAN(sortk_str_result_limits)(int *);
 void FORTRAN(sortk_str_work_size)(int *);
-void FORTRAN(sortk_str_compute)(int *, char *, DFTYPE *, 
+void FORTRAN(sortk_str_compute)(int *, char *, DFTYPE *,
       char *, DFTYPE *);
 
 void FORTRAN(sortl_init)(int *);
 void FORTRAN(sortl_result_limits)(int *);
 void FORTRAN(sortl_work_size)(int *);
-void FORTRAN(sortl_compute)(int *, DFTYPE *, DFTYPE *, 
+void FORTRAN(sortl_compute)(int *, DFTYPE *, DFTYPE *,
       DFTYPE *, DFTYPE *);
 
 void FORTRAN(sortl_str_init)(int *);
 void FORTRAN(sortl_str_result_limits)(int *);
 void FORTRAN(sortl_str_work_size)(int *);
-void FORTRAN(sortl_str_compute)(int *, char *, DFTYPE *, 
+void FORTRAN(sortl_str_compute)(int *, char *, DFTYPE *,
       char *, DFTYPE *);
 
 
 void FORTRAN(sortm_init)(int *);
 void FORTRAN(sortm_result_limits)(int *);
 void FORTRAN(sortm_work_size)(int *);
-void FORTRAN(sortm_compute)(int *, DFTYPE *, DFTYPE *, 
+void FORTRAN(sortm_compute)(int *, DFTYPE *, DFTYPE *,
       DFTYPE *, DFTYPE *);
 
 void FORTRAN(sortm_str_init)(int *);
 void FORTRAN(sortm_str_result_limits)(int *);
 void FORTRAN(sortm_str_work_size)(int *);
-void FORTRAN(sortm_str_compute)(int *, char *, DFTYPE *, 
+void FORTRAN(sortm_str_compute)(int *, char *, DFTYPE *,
       char *, DFTYPE *);
 
 
 void FORTRAN(sortn_init)(int *);
 void FORTRAN(sortn_result_limits)(int *);
 void FORTRAN(sortn_work_size)(int *);
-void FORTRAN(sortn_compute)(int *, DFTYPE *, DFTYPE *, 
+void FORTRAN(sortn_compute)(int *, DFTYPE *, DFTYPE *,
       DFTYPE *, DFTYPE *);
 
 void FORTRAN(sortn_str_init)(int *);
 void FORTRAN(sortn_str_result_limits)(int *);
 void FORTRAN(sortn_str_work_size)(int *);
-void FORTRAN(sortn_str_compute)(int *, char *, DFTYPE *, 
+void FORTRAN(sortn_str_compute)(int *, char *, DFTYPE *,
       char *, DFTYPE *);
 
 void FORTRAN(tauto_cor_init)(int *);
 void FORTRAN(tauto_cor_result_limits)(int *);
 void FORTRAN(tauto_cor_work_size)(int *);
-void FORTRAN(tauto_cor_compute)(int *, DFTYPE *, DFTYPE *, DFTYPE *, 
+void FORTRAN(tauto_cor_compute)(int *, DFTYPE *, DFTYPE *, DFTYPE *,
                            DFTYPE *, DFTYPE *);
 
 void FORTRAN(xauto_cor_init)(int *);
 void FORTRAN(xauto_cor_result_limits)(int *);
 void FORTRAN(xauto_cor_work_size)(int *);
-void FORTRAN(xauto_cor_compute)(int *, DFTYPE *, DFTYPE *, DFTYPE *, 
+void FORTRAN(xauto_cor_compute)(int *, DFTYPE *, DFTYPE *, DFTYPE *,
                            DFTYPE *, DFTYPE *);
-						   
+						
 void FORTRAN(eof_space_init)(int *);
 void FORTRAN(eof_space_result_limits)(int *);
 void FORTRAN(eof_space_work_size)(int *);
-void FORTRAN(eof_space_compute)(int *, DFTYPE *, DFTYPE *, DFTYPE *, 
-                           DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, 
+void FORTRAN(eof_space_compute)(int *, DFTYPE *, DFTYPE *, DFTYPE *,
+                           DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *,
                            DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *);
-						   
+						
 void FORTRAN(eof_stat_init)(int *);
 void FORTRAN(eof_stat_result_limits)(int *);
 void FORTRAN(eof_stat_work_size)(int *);
-void FORTRAN(eof_stat_compute)(int *, DFTYPE *, DFTYPE *, DFTYPE *, 
-                           DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, 
+void FORTRAN(eof_stat_compute)(int *, DFTYPE *, DFTYPE *, DFTYPE *,
+                           DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *,
                            DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *);
-						   
+						
 void FORTRAN(eof_tfunc_init)(int *);
 void FORTRAN(eof_tfunc_result_limits)(int *);
 void FORTRAN(eof_tfunc_work_size)(int *);
-void FORTRAN(eof_tfunc_compute)(int *, DFTYPE *, DFTYPE *, DFTYPE *, 
-                           DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, 
+void FORTRAN(eof_tfunc_compute)(int *, DFTYPE *, DFTYPE *, DFTYPE *,
+                           DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *,
                            DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *);
-						   
-						   
+						
+						
 void FORTRAN(eofsvd_space_init)(int *);
 void FORTRAN(eofsvd_space_result_limits)(int *);
 void FORTRAN(eofsvd_space_work_size)(int *);
-void FORTRAN(eofsvd_space_compute)(int *, DFTYPE *, DFTYPE *, DFTYPE *, 
-                           DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, 
+void FORTRAN(eofsvd_space_compute)(int *, DFTYPE *, DFTYPE *, DFTYPE *,
+                           DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *,
                            DFTYPE *);
-						   
+						
 void FORTRAN(eofsvd_stat_init)(int *);
 void FORTRAN(eofsvd_stat_result_limits)(int *);
 void FORTRAN(eofsvd_stat_work_size)(int *);
-void FORTRAN(eofsvd_stat_compute)(int *, DFTYPE *, DFTYPE *, DFTYPE *, 
-                           DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, 
+void FORTRAN(eofsvd_stat_compute)(int *, DFTYPE *, DFTYPE *, DFTYPE *,
+                           DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *,
                            DFTYPE *);
-						   
+						
 void FORTRAN(eofsvd_tfunc_init)(int *);
 void FORTRAN(eofsvd_tfunc_result_limits)(int *);
 void FORTRAN(eofsvd_tfunc_work_size)(int *);
-void FORTRAN(eofsvd_tfunc_compute)(int *, DFTYPE *, DFTYPE *, DFTYPE *, 
-                           DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, 
+void FORTRAN(eofsvd_tfunc_compute)(int *, DFTYPE *, DFTYPE *, DFTYPE *,
+                           DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *,
                            DFTYPE *);
- 
-void FORTRAN(bcompressi_init)(int *);
-void FORTRAN(bcompressi_result_limits)(int *);
-void FORTRAN(bcompressi_compute)(int *, DFTYPE *, DFTYPE *);
- 
+
 void FORTRAN(compressi_init)(int *);
 void FORTRAN(compressi_result_limits)(int *);
 void FORTRAN(compressi_compute)(int *, DFTYPE *, DFTYPE *);
@@ -692,7 +703,7 @@ void FORTRAN(curv_range_compute)(int *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *,
 void FORTRAN(curv_to_rect_map_init)(int *);
 void FORTRAN(curv_to_rect_map_result_limits)(int *);
 void FORTRAN(curv_to_rect_map_work_size)(int *);
-void FORTRAN(curv_to_rect_map_compute)(int *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, 
+void FORTRAN(curv_to_rect_map_compute)(int *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *,
                                        DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *);
 void FORTRAN(curv_to_rect_init)(int *);
 void FORTRAN(curv_to_rect_compute)(int *, DFTYPE *, DFTYPE *, DFTYPE *);
@@ -702,7 +713,7 @@ void FORTRAN(curv_to_rect_fsu_compute)(int *, DFTYPE *, DFTYPE *, DFTYPE *);
 
 void FORTRAN(rect_to_curv_init)(int *);
 void FORTRAN(rect_to_curv_work_size)(int *);
-void FORTRAN(rect_to_curv_compute)(int *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, 
+void FORTRAN(rect_to_curv_compute)(int *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *,
                                        DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *);
 
 void FORTRAN(date1900_init)(int *);
@@ -754,10 +765,11 @@ void FORTRAN(expndi_id_by_z_counts_result_limits)(int *);
 void FORTRAN(expndi_id_by_z_counts_compute)(int *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *);
 
 void FORTRAN(expndi_by_m_counts_init)(int *);
-void FORTRAN(expndi_by_m_counts_result_limits)(int *);
-void FORTRAN(expndi_by_m_counts_custom_axes)(int *);
 void FORTRAN(expndi_by_m_counts_compute)(int *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *);
 
+void FORTRAN(expndi_by_m_counts_str_init)(int *);
+void FORTRAN(expndi_by_m_counts_str_compute)(int *, char, DFTYPE *, DFTYPE *, DFTYPE *, char);
+
 void FORTRAN(fc_isubset_init)(int *);
 void FORTRAN(fc_isubset_result_limits)(int *);
 void FORTRAN(fc_isubset_custom_axes)(int *);
@@ -766,13 +778,13 @@ void FORTRAN(fc_isubset_compute)(int *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *,
 void FORTRAN(findhi_init)(int *);
 void FORTRAN(findhi_result_limits)(int *);
 void FORTRAN(findhi_work_size)(int *);
-void FORTRAN(findhi_compute)(int *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, 
+void FORTRAN(findhi_compute)(int *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *,
                             DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *);
 
 void FORTRAN(findlo_init)(int *);
 void FORTRAN(findlo_result_limits)(int *);
 void FORTRAN(findlo_work_size)(int *);
-void FORTRAN(findlo_compute)(int *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, 
+void FORTRAN(findlo_compute)(int *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *,
                             DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *);
 
 void FORTRAN(is_element_of_init)(int *);
@@ -790,12 +802,12 @@ void FORTRAN(is_element_of_str_n_compute)(int *, DFTYPE *, DFTYPE *, DFTYPE *);
 
 void FORTRAN(lanczos_init)(int *);
 void FORTRAN(lanczos_work_size)(int *);
-void FORTRAN(lanczos_compute)(int *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, 
+void FORTRAN(lanczos_compute)(int *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *,
                             DFTYPE *, DFTYPE *);
 
 void FORTRAN(lsl_lowpass_init)(int *);
 void FORTRAN(lsl_lowpass_work_size)(int *);
-void FORTRAN(lsl_lowpass_compute)(int *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, 
+void FORTRAN(lsl_lowpass_compute)(int *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *,
                             DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *);
 							
 
@@ -823,6 +835,12 @@ void FORTRAN(samplexy_closest_work_size)(int *);
 void FORTRAN(samplexy_closest_compute)(int *, DFTYPE *, DFTYPE *,
       DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *);
 
+void FORTRAN(samplexy_nrst_init)(int *);
+void FORTRAN(samplexy_nrst_result_limits)(int *);
+void FORTRAN(samplexy_nrst_work_size)(int *);
+void FORTRAN(samplexy_nrst_compute)(int *, DFTYPE *, DFTYPE *,
+      DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *);
+
 void FORTRAN(samplexz_init)(int *);
 void FORTRAN(samplexz_result_limits)(int *);
 void FORTRAN(samplexz_work_size)(int *);
@@ -848,6 +866,26 @@ void FORTRAN(scat2grid_t_init)(int *);
 void FORTRAN(scat2grid_t_work_size)(int *);
 void FORTRAN(scat2grid_t_compute)(int *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *);
 
+void FORTRAN(transpose_ef_init)(int *);
+void FORTRAN(transpose_ef_result_limits)(int *);
+void FORTRAN(transpose_ef_compute)(int *, DFTYPE *, DFTYPE *);
+
+void FORTRAN(transpose_te_init)(int *);
+void FORTRAN(transpose_te_result_limits)(int *);
+void FORTRAN(transpose_te_compute)(int *, DFTYPE *, DFTYPE *);
+
+void FORTRAN(transpose_tf_init)(int *);
+void FORTRAN(transpose_tf_result_limits)(int *);
+void FORTRAN(transpose_tf_compute)(int *, DFTYPE *, DFTYPE *);
+
+void FORTRAN(transpose_xe_init)(int *);
+void FORTRAN(transpose_xe_result_limits)(int *);
+void FORTRAN(transpose_xe_compute)(int *, DFTYPE *, DFTYPE *);
+
+void FORTRAN(transpose_xf_init)(int *);
+void FORTRAN(transpose_xf_result_limits)(int *);
+void FORTRAN(transpose_xf_compute)(int *, DFTYPE *, DFTYPE *);
+
 void FORTRAN(transpose_xt_init)(int *);
 void FORTRAN(transpose_xt_result_limits)(int *);
 void FORTRAN(transpose_xt_compute)(int *, DFTYPE *, DFTYPE *);
@@ -860,6 +898,14 @@ void FORTRAN(transpose_xz_init)(int *);
 void FORTRAN(transpose_xz_result_limits)(int *);
 void FORTRAN(transpose_xz_compute)(int *, DFTYPE *, DFTYPE *);
 
+void FORTRAN(transpose_ye_init)(int *);
+void FORTRAN(transpose_ye_result_limits)(int *);
+void FORTRAN(transpose_ye_compute)(int *, DFTYPE *, DFTYPE *);
+
+void FORTRAN(transpose_yf_init)(int *);
+void FORTRAN(transpose_yf_result_limits)(int *);
+void FORTRAN(transpose_yf_compute)(int *, DFTYPE *, DFTYPE *);
+
 void FORTRAN(transpose_yt_init)(int *);
 void FORTRAN(transpose_yt_result_limits)(int *);
 void FORTRAN(transpose_yt_compute)(int *, DFTYPE *, DFTYPE *);
@@ -868,6 +914,14 @@ void FORTRAN(transpose_yz_init)(int *);
 void FORTRAN(transpose_yz_result_limits)(int *);
 void FORTRAN(transpose_yz_compute)(int *, DFTYPE *, DFTYPE *);
 
+void FORTRAN(transpose_ze_init)(int *);
+void FORTRAN(transpose_ze_result_limits)(int *);
+void FORTRAN(transpose_ze_compute)(int *, DFTYPE *, DFTYPE *);
+
+void FORTRAN(transpose_zf_init)(int *);
+void FORTRAN(transpose_zf_result_limits)(int *);
+void FORTRAN(transpose_zf_compute)(int *, DFTYPE *, DFTYPE *);
+
 void FORTRAN(transpose_zt_init)(int *);
 void FORTRAN(transpose_zt_result_limits)(int *);
 void FORTRAN(transpose_zt_compute)(int *, DFTYPE *, DFTYPE *);
@@ -880,11 +934,6 @@ void FORTRAN(xcat_str_init)(int *);
 void FORTRAN(xcat_str_result_limits)(int *);
 void FORTRAN(xcat_str_compute)(int *, char *, char *, char *);
 
-void FORTRAN(bxcat_init)(int *);
-void FORTRAN(bxcat_result_limits)(int *);
-void FORTRAN(bxcat_custom_axes)(int *);
-void FORTRAN(bxcat_compute)(int *, DFTYPE *, DFTYPE *, DFTYPE *);
-
 void FORTRAN(ycat_init)(int *);
 void FORTRAN(ycat_result_limits)(int *);
 void FORTRAN(ycat_compute)(int *, DFTYPE *, DFTYPE *, DFTYPE *);
@@ -951,17 +1000,17 @@ void FORTRAN(freverse_compute)(int *, DFTYPE *, DFTYPE *);
 
 void FORTRAN(zaxreplace_avg_init)(int *);
 void FORTRAN(zaxreplace_avg_work_size)(int *);
-void FORTRAN(zaxreplace_avg_compute)(int *, DFTYPE *, DFTYPE *, DFTYPE *, 
+void FORTRAN(zaxreplace_avg_compute)(int *, DFTYPE *, DFTYPE *, DFTYPE *,
              DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *);
 
 void FORTRAN(zaxreplace_bin_init)(int *);
 void FORTRAN(zaxreplace_bin_work_size)(int *);
-void FORTRAN(zaxreplace_bin_compute)(int *, DFTYPE *, DFTYPE *, DFTYPE *, 
+void FORTRAN(zaxreplace_bin_compute)(int *, DFTYPE *, DFTYPE *, DFTYPE *,
              DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *);
 
 void FORTRAN(zaxreplace_rev_init)(int *);
 void FORTRAN(zaxreplace_rev_work_size)(int *);
-void FORTRAN(zaxreplace_rev_compute)(int *, DFTYPE *, DFTYPE *, DFTYPE *, 
+void FORTRAN(zaxreplace_rev_compute)(int *, DFTYPE *, DFTYPE *, DFTYPE *,
              DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *);
 
 void FORTRAN(zaxreplace_zlev_init)(int *);
@@ -1024,20 +1073,20 @@ void FORTRAN(scat2grid_bin_xy_compute)(int *, DFTYPE *, DFTYPE *);
 
 void FORTRAN(scat2grid_bin_xyt_init)(int *);
 void FORTRAN(scat2grid_bin_xyt_work_size)(int *);
-void FORTRAN(scat2grid_bin_xyt_compute)(int *, DFTYPE *, DFTYPE *, DFTYPE *, 
-  DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, 
+void FORTRAN(scat2grid_bin_xyt_compute)(int *, DFTYPE *, DFTYPE *, DFTYPE *,
+  DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *,
   DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *);
 
 void FORTRAN(scat2grid_bin_xyz_init)(int *);
 void FORTRAN(scat2grid_bin_xyz_work_size)(int *);
-void FORTRAN(scat2grid_bin_xyz_compute)(int *, DFTYPE *, DFTYPE *, DFTYPE *, 
-  DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, 
+void FORTRAN(scat2grid_bin_xyz_compute)(int *, DFTYPE *, DFTYPE *, DFTYPE *,
+  DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *,
   DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *);
 
 void FORTRAN(scat2grid_bin_xyzt_init)(int *);
 void FORTRAN(scat2grid_bin_xyzt_work_size)(int *);
-void FORTRAN(scat2grid_bin_xyzt_compute)(int *, DFTYPE *, DFTYPE *, DFTYPE *, 
-  DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, 
+void FORTRAN(scat2grid_bin_xyzt_compute)(int *, DFTYPE *, DFTYPE *, DFTYPE *,
+  DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *,
   DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *);
 
 void FORTRAN(scat2grid_nbin_xy_init)(int *);
@@ -1046,14 +1095,14 @@ void FORTRAN(scat2grid_nbin_xy_compute)(int *, DFTYPE *, DFTYPE *);
 
 void FORTRAN(scat2grid_nbin_xyt_init)(int *);
 void FORTRAN(scat2grid_nbin_xyt_work_size)(int *);
-void FORTRAN(scat2grid_nbin_xyt_compute)(int *, DFTYPE *, DFTYPE *, DFTYPE *, 
-  DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, 
+void FORTRAN(scat2grid_nbin_xyt_compute)(int *, DFTYPE *, DFTYPE *, DFTYPE *,
+  DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *,
   DFTYPE *, DFTYPE *);
 
 void FORTRAN(scat2grid_nobs_xyt_init)(int *);
 void FORTRAN(scat2grid_nobs_xyt_work_size)(int *);
-void FORTRAN(scat2grid_nobs_xyt_compute)(int *, DFTYPE *, DFTYPE *, DFTYPE *, 
-  DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, 
+void FORTRAN(scat2grid_nobs_xyt_compute)(int *, DFTYPE *, DFTYPE *, DFTYPE *,
+  DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *,
   DFTYPE *, DFTYPE *, DFTYPE *);
 
 void FORTRAN(scat2grid_nobs_xy_init)(int *);
@@ -1076,7 +1125,7 @@ void FORTRAN(floatstr_compute)(int *, DFTYPE *, DFTYPE *, DFTYPE *);
 
 void FORTRAN(pt_in_poly_init)(int *);
 void FORTRAN(pt_in_poly_work_size)(int *);
-void FORTRAN(pt_in_poly_compute)(int *, DFTYPE *, DFTYPE *, DFTYPE *, 
+void FORTRAN(pt_in_poly_compute)(int *, DFTYPE *, DFTYPE *, DFTYPE *,
   DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *);
 
 void FORTRAN(list_value_xml_init)(int *);
@@ -1117,25 +1166,14 @@ void FORTRAN(sample_fast_i_str_compute)(int *, char *, DFTYPE *, char *);
 void FORTRAN(piecewise3_init)(int *);
 void FORTRAN(piecewise3_result_limits)(int *);
 void FORTRAN(piecewise3_work_size)(int *);
-void FORTRAN(piecewise3_compute)(int *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, 
-  DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, 
-  DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *); 
+void FORTRAN(piecewise3_compute)(int *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *,
+  DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *,
+  DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *);
 
 void FORTRAN(write_webrow_gwt_init)(int *);
 void FORTRAN(write_webrow_gwt_result_limits)(int *);
 void FORTRAN(write_webrow_gwt_compute)(int *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *);
 
-void FORTRAN(bxsequence_init)(int *);
-void FORTRAN(bxsequence_result_limits)(int *);
-void FORTRAN(bxsequence_custom_axes)(int *);
-void FORTRAN(bxsequence_compute)(int *, DFTYPE *, DFTYPE *);
-
-void FORTRAN(bxsequence_str_init)(int *);
-void FORTRAN(bxsequence_str_result_limits)(int *);
-void FORTRAN(bxsequence_str_custom_axes)(int *);
-void FORTRAN(bxsequence_str_compute)(int *, char *, char *);
-
-
 void FORTRAN(str_noblanks_init)(int *);
 void FORTRAN(str_noblanks_compute)(int *, char *, char *);
 
@@ -1146,6 +1184,53 @@ void FORTRAN(expndi_to_et_init)(int *);
 void FORTRAN(expndi_to_et_work_size)(int *);
 void FORTRAN(expndi_to_et_compute)(int *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *);
 
+void FORTRAN(dot_x_init)(int *);
+void FORTRAN(dot_x_compute)(int *, DFTYPE *, DFTYPE *, DFTYPE *);
+
+void FORTRAN(dot_y_init)(int *);
+void FORTRAN(dot_y_compute)(int *, DFTYPE *, DFTYPE *, DFTYPE *);
+
+void FORTRAN(dot_z_init)(int *);
+void FORTRAN(dot_z_compute)(int *, DFTYPE *, DFTYPE *, DFTYPE *);
+
+void FORTRAN(dot_t_init)(int *);
+void FORTRAN(dot_t_compute)(int *, DFTYPE *, DFTYPE *, DFTYPE *);
+
+void FORTRAN(dot_e_init)(int *);
+void FORTRAN(dot_e_compute)(int *, DFTYPE *, DFTYPE *, DFTYPE *);
+
+void FORTRAN(dot_f_init)(int *);
+void FORTRAN(dot_f_compute)(int *, DFTYPE *, DFTYPE *, DFTYPE *);
+
+void FORTRAN(tracks2grid_mask_ave_xyt_init)(int *);
+void FORTRAN(tracks2grid_mask_ave_xyt_work_size)(int *);
+void FORTRAN(tracks2grid_mask_ave_xyt_compute)(int *, DFTYPE *,
+  DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *,
+  DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *,
+  DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *);
+
+void FORTRAN( tracks2grid_std_xyt_init)(int *);
+void FORTRAN( tracks2grid_std_xyt_work_size)(int *);
+void FORTRAN( tracks2grid_std_xyt_compute)(int *,
+  DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *,
+  DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *,
+  DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *);
+
+void FORTRAN(scat2grid_minmax_xyt_init)(int *);
+void FORTRAN(scat2grid_minmax_xyt_result_limits)(int *);
+void FORTRAN(scat2grid_minmax_xyt_work_size)(int *);
+void FORTRAN(scat2grid_minmax_xyt_compute)(int *, DFTYPE *,
+  DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *,
+  DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *,
+  DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *);
+
+
+void FORTRAN( scat2grid_std_xyt_init)(int *);
+void FORTRAN( scat2grid_std_xyt_work_size)(int *);
+void FORTRAN( scat2grid_std_xyt_compute)(int *,
+  DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *,
+  DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *,
+  DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *);
 /*
  *  End of declarations for internally linked external functions
  *  ------------------------------------ */
@@ -1164,16 +1249,16 @@ void FORTRAN(expndi_to_et_compute)(int *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *
 
 /*
  * Find all of the ~.so files in directories listed in the
- * FER_EXTERNAL_FUNCTIONS environment variable and add all 
- * the names and associated directory information to the 
+ * FER_EXTERNAL_FUNCTIONS environment variable and add all
+ * the names and associated directory information to the
  * STATIC_ExternalFunctionList.
  */
 int FORTRAN(efcn_scan)( int *gfcn_num_internal )
 {
-  
+
   FILE *file_ptr=NULL;
-  ExternalFunction ef; 
- 
+  ExternalFunction ef;
+
   char file[EF_MAX_NAME_LENGTH]="";
   char *path_ptr=NULL, path[8192]="";
   char paths[8192]="", cmd[EF_MAX_DESCRIPTION_LENGTH]="";
@@ -1181,205 +1266,222 @@ int FORTRAN(efcn_scan)( int *gfcn_num_internal )
   int i_intEF; int N_INTEF;
 
   static int return_val=0; /* static because it needs to exist after the return statement */
-    
+
 /*  ------------------------------------
  *  Count and list the names of internally linked EF's
- *  Lines with names are generated by the perl script 
+ *  Lines with names are generated by the perl script
  *  int_dlsym.pl.  Check that N_INTEF is correctly defined below.
  */
 
-#define N_INTEF 183
+#define N_INTEF 202
 
 struct {
   char funcname[EF_MAX_NAME_LENGTH];
-} I_EFnames[N_INTEF];
-
-   strcpy(I_EFnames[0].funcname, "ave_scat2grid_t");
-   strcpy(I_EFnames[1].funcname, "bin_index_wt");
-   strcpy(I_EFnames[2].funcname, "compressi");
-   strcpy(I_EFnames[3].funcname, "compressi_by");
-   strcpy(I_EFnames[4].funcname, "compressj");
-   strcpy(I_EFnames[5].funcname, "compressj_by");
-   strcpy(I_EFnames[6].funcname, "compressk");
-   strcpy(I_EFnames[7].funcname, "compressk_by");
-   strcpy(I_EFnames[8].funcname, "compressl");
-   strcpy(I_EFnames[9].funcname, "compressl_by");
-   strcpy(I_EFnames[10].funcname, "compressm");
-   strcpy(I_EFnames[11].funcname, "compressm_by");
-   strcpy(I_EFnames[12].funcname, "compressn");
-   strcpy(I_EFnames[13].funcname, "compressn_by");
-   strcpy(I_EFnames[14].funcname, "convolvei");
-   strcpy(I_EFnames[15].funcname, "convolvej");
-   strcpy(I_EFnames[16].funcname, "convolvek");
-   strcpy(I_EFnames[17].funcname, "convolvel");
-   strcpy(I_EFnames[18].funcname, "convolvem");
-   strcpy(I_EFnames[19].funcname, "convolven");
-   strcpy(I_EFnames[20].funcname, "curv_range");
-   strcpy(I_EFnames[21].funcname, "curv_to_rect");
-   strcpy(I_EFnames[22].funcname, "curv_to_rect_map");
-   strcpy(I_EFnames[23].funcname, "date1900");
-   strcpy(I_EFnames[24].funcname, "days1900toymdhms");
-   strcpy(I_EFnames[25].funcname, "ecat");
-   strcpy(I_EFnames[26].funcname, "ecat_str");
-   strcpy(I_EFnames[27].funcname, "element_index");
-   strcpy(I_EFnames[28].funcname, "element_index_str");
-   strcpy(I_EFnames[29].funcname, "element_index_str_n");
-   strcpy(I_EFnames[30].funcname, "eof_space");
-   strcpy(I_EFnames[31].funcname, "eof_stat");
-   strcpy(I_EFnames[32].funcname, "eof_tfunc");
-   strcpy(I_EFnames[33].funcname, "ereverse");
-   strcpy(I_EFnames[34].funcname, "expndi_by");
-   strcpy(I_EFnames[35].funcname, "expndi_by_t");
-   strcpy(I_EFnames[36].funcname, "expndi_by_z");
-   strcpy(I_EFnames[37].funcname, "fcat");
-   strcpy(I_EFnames[38].funcname, "fcat_str");
-   strcpy(I_EFnames[39].funcname, "ffta");
-   strcpy(I_EFnames[40].funcname, "fft_im");
-   strcpy(I_EFnames[41].funcname, "fft_inverse");
-   strcpy(I_EFnames[42].funcname, "fftp");
-   strcpy(I_EFnames[43].funcname, "fft_re");
-   strcpy(I_EFnames[44].funcname, "fill_xy");
-   strcpy(I_EFnames[45].funcname, "findhi");
-   strcpy(I_EFnames[46].funcname, "findlo");
-   strcpy(I_EFnames[47].funcname, "floatstr");
-   strcpy(I_EFnames[48].funcname, "freverse");
-   strcpy(I_EFnames[49].funcname, "is_element_of");
-   strcpy(I_EFnames[50].funcname, "is_element_of_str");
-   strcpy(I_EFnames[51].funcname, "is_element_of_str_n");
-   strcpy(I_EFnames[52].funcname, "labwid");
-   strcpy(I_EFnames[53].funcname, "lanczos");
-   strcpy(I_EFnames[54].funcname, "list_value_xml");
-   strcpy(I_EFnames[55].funcname, "lon_lat_time_string");
-   strcpy(I_EFnames[56].funcname, "lsl_lowpass");
-   strcpy(I_EFnames[57].funcname, "minmax");
-   strcpy(I_EFnames[58].funcname, "minutes24");
-   strcpy(I_EFnames[59].funcname, "nco");
-   strcpy(I_EFnames[60].funcname, "nco_attr");
-   strcpy(I_EFnames[61].funcname, "pt_in_poly");
-   strcpy(I_EFnames[62].funcname, "rect_to_curv");
-   strcpy(I_EFnames[63].funcname, "sampleij");
-   strcpy(I_EFnames[64].funcname, "samplei_multi");
-   strcpy(I_EFnames[65].funcname, "samplej_multi");
-   strcpy(I_EFnames[66].funcname, "samplek_multi");
-   strcpy(I_EFnames[67].funcname, "samplel_multi");
-   strcpy(I_EFnames[68].funcname, "samplef_date");
-   strcpy(I_EFnames[69].funcname, "samplet_date");
-   strcpy(I_EFnames[70].funcname, "samplexy");
-   strcpy(I_EFnames[71].funcname, "samplexy_closest");
-   strcpy(I_EFnames[72].funcname, "samplexy_curv");
-   strcpy(I_EFnames[73].funcname, "samplexy_curv_avg");
-   strcpy(I_EFnames[74].funcname, "samplexy_curv_nrst");
-   strcpy(I_EFnames[75].funcname, "samplexyt");
-   strcpy(I_EFnames[76].funcname, "samplexz");
-   strcpy(I_EFnames[77].funcname, "sampleyz");
-   strcpy(I_EFnames[78].funcname, "scat2ddups");
-   strcpy(I_EFnames[79].funcname, "scat2grid_bin_xy");
-   strcpy(I_EFnames[80].funcname, "scat2grid_bin_xyt");
-   strcpy(I_EFnames[81].funcname, "scat2grid_bin_xyz");
-   strcpy(I_EFnames[82].funcname, "scat2gridgauss_xt");
-   strcpy(I_EFnames[83].funcname, "scat2gridgauss_xt_v0");
-   strcpy(I_EFnames[84].funcname, "scat2gridgauss_xy");
-   strcpy(I_EFnames[85].funcname, "scat2gridgauss_xy_v0");
-   strcpy(I_EFnames[86].funcname, "scat2gridgauss_xz");
-   strcpy(I_EFnames[87].funcname, "scat2gridgauss_xz_v0");
-   strcpy(I_EFnames[88].funcname, "scat2gridgauss_yt");
-   strcpy(I_EFnames[89].funcname, "scat2gridgauss_yt_v0");
-   strcpy(I_EFnames[90].funcname, "scat2gridgauss_yz");
-   strcpy(I_EFnames[91].funcname, "scat2gridgauss_yz_v0");
-   strcpy(I_EFnames[92].funcname, "scat2gridgauss_zt");
-   strcpy(I_EFnames[93].funcname, "scat2gridgauss_zt_v0");
-   strcpy(I_EFnames[94].funcname, "scat2gridlaplace_xt");
-   strcpy(I_EFnames[95].funcname, "scat2gridlaplace_xy");
-   strcpy(I_EFnames[96].funcname, "scat2gridlaplace_xz");
-   strcpy(I_EFnames[97].funcname, "scat2gridlaplace_yt");
-   strcpy(I_EFnames[98].funcname, "scat2gridlaplace_yz");
-   strcpy(I_EFnames[99].funcname, "scat2gridlaplace_zt");
-   strcpy(I_EFnames[100].funcname, "scat2grid_nbin_xy");
-   strcpy(I_EFnames[101].funcname, "scat2grid_nbin_xyt");
-   strcpy(I_EFnames[102].funcname, "scat2grid_nobs_xy");
-   strcpy(I_EFnames[103].funcname, "scat2grid_nobs_xyt");
-   strcpy(I_EFnames[104].funcname, "scat2grid_t");
-   strcpy(I_EFnames[105].funcname, "sorti");
-   strcpy(I_EFnames[106].funcname, "sorti_str");
-   strcpy(I_EFnames[107].funcname, "sortj");
-   strcpy(I_EFnames[108].funcname, "sortj_str");
-   strcpy(I_EFnames[109].funcname, "sortk");
-   strcpy(I_EFnames[110].funcname, "sortk_str");
-   strcpy(I_EFnames[111].funcname, "sortl");
-   strcpy(I_EFnames[112].funcname, "sortl_str");
-   strcpy(I_EFnames[113].funcname, "sortm");
-   strcpy(I_EFnames[114].funcname, "sortm_str");
-   strcpy(I_EFnames[115].funcname, "sortn");
-   strcpy(I_EFnames[116].funcname, "sortn_str");
-   strcpy(I_EFnames[117].funcname, "tauto_cor");
-   strcpy(I_EFnames[118].funcname, "tax_datestring");
-   strcpy(I_EFnames[119].funcname, "tax_day");
-   strcpy(I_EFnames[120].funcname, "tax_dayfrac");
-   strcpy(I_EFnames[121].funcname, "tax_jday");
-   strcpy(I_EFnames[122].funcname, "tax_jday1900");
-   strcpy(I_EFnames[123].funcname, "tax_month");
-   strcpy(I_EFnames[124].funcname, "tax_times");
-   strcpy(I_EFnames[125].funcname, "tax_tstep");
-   strcpy(I_EFnames[126].funcname, "tax_units");
-   strcpy(I_EFnames[127].funcname, "tax_year");
-   strcpy(I_EFnames[128].funcname, "tax_yearfrac");
-   strcpy(I_EFnames[129].funcname, "tcat");
-   strcpy(I_EFnames[130].funcname, "tcat_str");
-   strcpy(I_EFnames[131].funcname, "test_opendap");
-   strcpy(I_EFnames[132].funcname, "transpose_xt");
-   strcpy(I_EFnames[133].funcname, "transpose_xy");
-   strcpy(I_EFnames[134].funcname, "transpose_xz");
-   strcpy(I_EFnames[135].funcname, "transpose_yt");
-   strcpy(I_EFnames[136].funcname, "transpose_yz");
-   strcpy(I_EFnames[137].funcname, "transpose_zt");
-   strcpy(I_EFnames[138].funcname, "treverse");
-   strcpy(I_EFnames[139].funcname, "unique_str2int");
-   strcpy(I_EFnames[140].funcname, "write_webrow");
-   strcpy(I_EFnames[141].funcname, "xauto_cor");
-   strcpy(I_EFnames[142].funcname, "xcat");
-   strcpy(I_EFnames[143].funcname, "xcat_str");
-   strcpy(I_EFnames[144].funcname, "xreverse");
-   strcpy(I_EFnames[145].funcname, "ycat");
-   strcpy(I_EFnames[146].funcname, "ycat_str");
-   strcpy(I_EFnames[147].funcname, "yreverse");
-   strcpy(I_EFnames[148].funcname, "zaxreplace_avg");
-   strcpy(I_EFnames[149].funcname, "zaxreplace_bin");
-   strcpy(I_EFnames[150].funcname, "zaxreplace_rev");
-   strcpy(I_EFnames[151].funcname, "zaxreplace_zlev");
-   strcpy(I_EFnames[152].funcname, "zcat");
-   strcpy(I_EFnames[153].funcname, "zcat_str");
-   strcpy(I_EFnames[154].funcname, "zreverse");
-   strcpy(I_EFnames[155].funcname, "eofsvd_space");
-   strcpy(I_EFnames[156].funcname, "eofsvd_stat");
-   strcpy(I_EFnames[157].funcname, "eofsvd_tfunc");
-   strcpy(I_EFnames[158].funcname, "expnd_by_len");
-   strcpy(I_EFnames[159].funcname, "expnd_by_len_str");
-   strcpy(I_EFnames[160].funcname, "fc_isubset");
-   strcpy(I_EFnames[161].funcname, "expndi_by_z_counts");
-   strcpy(I_EFnames[162].funcname, "expndi_id_by_z_counts");
-   strcpy(I_EFnames[163].funcname, "expndi_by_m_counts");
-   strcpy(I_EFnames[164].funcname, "str_mask");
-   strcpy(I_EFnames[165].funcname, "samplexyt_nrst");
-   strcpy(I_EFnames[166].funcname, "separate");
-   strcpy(I_EFnames[167].funcname, "time_reformat");
-   strcpy(I_EFnames[168].funcname, "ft_to_orthogonal");
-   strcpy(I_EFnames[169].funcname, "curv_to_rect_fsu");
-   strcpy(I_EFnames[170].funcname, "piecewise3");
-   strcpy(I_EFnames[171].funcname, "sample_fast_i");
-   strcpy(I_EFnames[172].funcname, "sample_fast_i_str");
-   strcpy(I_EFnames[173].funcname, "separate_str");
-   strcpy(I_EFnames[174].funcname, "write_webrow_gwt");
-   strcpy(I_EFnames[175].funcname, "bxcat");
-   strcpy(I_EFnames[176].funcname, "bxsequence");
-   strcpy(I_EFnames[177].funcname, "bxsequence_str");
-   strcpy(I_EFnames[178].funcname, "bcompressi");
-   strcpy(I_EFnames[179].funcname, "scat2grid_bin_xyzt");
-   strcpy(I_EFnames[180].funcname, "str_noblanks");
-   strcpy(I_EFnames[181].funcname, "str_replace");
-   strcpy(I_EFnames[182].funcname, "expndi_to_et");
-
-/*    
- *  ------------------------------------ 
+} I_EFnames[N_INTEF];strcpy(I_EFnames[0].funcname,  "ave_scat2grid_t");
+strcpy(I_EFnames[1].funcname,  "bin_index_wt");
+strcpy(I_EFnames[2].funcname,  "compressi");
+strcpy(I_EFnames[3].funcname,  "compressi_by");
+strcpy(I_EFnames[4].funcname,  "compressj");
+strcpy(I_EFnames[5].funcname,  "compressj_by");
+strcpy(I_EFnames[6].funcname,  "compressk");
+strcpy(I_EFnames[7].funcname,  "compressk_by");
+strcpy(I_EFnames[8].funcname,  "compressl");
+strcpy(I_EFnames[9].funcname,  "compressl_by");
+strcpy(I_EFnames[10].funcname,  "compressm");
+strcpy(I_EFnames[11].funcname,  "compressm_by");
+strcpy(I_EFnames[12].funcname,  "compressn");
+strcpy(I_EFnames[13].funcname,  "compressn_by");
+strcpy(I_EFnames[14].funcname,  "convolvei");
+strcpy(I_EFnames[15].funcname,  "convolvej");
+strcpy(I_EFnames[16].funcname,  "convolvek");
+strcpy(I_EFnames[17].funcname,  "convolvel");
+strcpy(I_EFnames[18].funcname,  "convolvem");
+strcpy(I_EFnames[19].funcname,  "convolven");
+strcpy(I_EFnames[20].funcname,  "curv_range");
+strcpy(I_EFnames[21].funcname,  "curv_to_rect");
+strcpy(I_EFnames[22].funcname,  "curv_to_rect_fsu");
+strcpy(I_EFnames[23].funcname,  "curv_to_rect_map");
+strcpy(I_EFnames[24].funcname,  "date1900");
+strcpy(I_EFnames[25].funcname,  "days1900toymdhms");
+strcpy(I_EFnames[26].funcname,  "dot_e");
+strcpy(I_EFnames[27].funcname,  "dot_f");
+strcpy(I_EFnames[28].funcname,  "dot_t");
+strcpy(I_EFnames[29].funcname,  "dot_x");
+strcpy(I_EFnames[30].funcname,  "dot_y");
+strcpy(I_EFnames[31].funcname,  "dot_z");
+strcpy(I_EFnames[32].funcname,  "ecat");
+strcpy(I_EFnames[33].funcname,  "ecat_str");
+strcpy(I_EFnames[34].funcname,  "element_index");
+strcpy(I_EFnames[35].funcname,  "element_index_str");
+strcpy(I_EFnames[36].funcname,  "element_index_str_n");
+strcpy(I_EFnames[37].funcname,  "eof_space");
+strcpy(I_EFnames[38].funcname,  "eof_stat");
+strcpy(I_EFnames[39].funcname,  "eofsvd_space");
+strcpy(I_EFnames[40].funcname,  "eofsvd_stat");
+strcpy(I_EFnames[41].funcname,  "eofsvd_tfunc");
+strcpy(I_EFnames[42].funcname,  "eof_tfunc");
+strcpy(I_EFnames[43].funcname,  "ereverse");
+strcpy(I_EFnames[44].funcname,  "expnd_by_len");
+strcpy(I_EFnames[45].funcname,  "expnd_by_len_str");
+strcpy(I_EFnames[46].funcname,  "expndi_by");
+strcpy(I_EFnames[47].funcname,  "expndi_by_m_counts");
+strcpy(I_EFnames[48].funcname,  "expndi_by_m_counts_str");
+strcpy(I_EFnames[49].funcname,  "expndi_by_t");
+strcpy(I_EFnames[50].funcname,  "expndi_by_z");
+strcpy(I_EFnames[51].funcname,  "expndi_by_z_counts");
+strcpy(I_EFnames[52].funcname,  "expndi_id_by_z_counts");
+strcpy(I_EFnames[53].funcname,  "expndi_to_et");
+strcpy(I_EFnames[54].funcname,  "fcat");
+strcpy(I_EFnames[55].funcname,  "fcat_str");
+strcpy(I_EFnames[56].funcname,  "fc_isubset");
+strcpy(I_EFnames[57].funcname,  "ffta");
+strcpy(I_EFnames[58].funcname,  "fft_im");
+strcpy(I_EFnames[59].funcname,  "fft_inverse");
+strcpy(I_EFnames[60].funcname,  "fftp");
+strcpy(I_EFnames[61].funcname,  "fft_re");
+strcpy(I_EFnames[62].funcname,  "fill_xy");
+strcpy(I_EFnames[63].funcname,  "findhi");
+strcpy(I_EFnames[64].funcname,  "findlo");
+strcpy(I_EFnames[65].funcname,  "floatstr");
+strcpy(I_EFnames[66].funcname,  "freverse");
+strcpy(I_EFnames[67].funcname,  "ft_to_orthogonal");
+strcpy(I_EFnames[68].funcname,  "is_element_of");
+strcpy(I_EFnames[69].funcname,  "is_element_of_str");
+strcpy(I_EFnames[70].funcname,  "is_element_of_str_n");
+strcpy(I_EFnames[71].funcname,  "labwid");
+strcpy(I_EFnames[72].funcname,  "lanczos");
+strcpy(I_EFnames[73].funcname,  "list_value_xml");
+strcpy(I_EFnames[74].funcname,  "lon_lat_time_string");
+strcpy(I_EFnames[75].funcname,  "lsl_lowpass");
+strcpy(I_EFnames[76].funcname,  "minmax");
+strcpy(I_EFnames[77].funcname,  "minutes24");
+strcpy(I_EFnames[78].funcname,  "nco");
+strcpy(I_EFnames[79].funcname,  "nco_attr");
+strcpy(I_EFnames[80].funcname,  "piecewise3");
+strcpy(I_EFnames[81].funcname,  "pt_in_poly");
+strcpy(I_EFnames[82].funcname,  "rect_to_curv");
+strcpy(I_EFnames[83].funcname,  "sample_fast_i");
+strcpy(I_EFnames[84].funcname,  "sample_fast_i_str");
+strcpy(I_EFnames[85].funcname,  "samplef_date");
+strcpy(I_EFnames[86].funcname,  "sampleij");
+strcpy(I_EFnames[87].funcname,  "samplei_multi");
+strcpy(I_EFnames[88].funcname,  "samplej_multi");
+strcpy(I_EFnames[89].funcname,  "samplek_multi");
+strcpy(I_EFnames[90].funcname,  "samplel_multi");
+strcpy(I_EFnames[91].funcname,  "samplem_multi");
+strcpy(I_EFnames[92].funcname,  "samplen_multi");
+strcpy(I_EFnames[93].funcname,  "samplet_date");
+strcpy(I_EFnames[94].funcname,  "samplexy");
+strcpy(I_EFnames[95].funcname,  "samplexy_closest");
+strcpy(I_EFnames[96].funcname,  "samplexy_curv");
+strcpy(I_EFnames[97].funcname,  "samplexy_curv_avg");
+strcpy(I_EFnames[98].funcname,  "samplexy_curv_nrst");
+strcpy(I_EFnames[99].funcname,  "samplexy_nrst");
+strcpy(I_EFnames[100].funcname,  "samplexyt");
+strcpy(I_EFnames[101].funcname,  "samplexyt_nrst");
+strcpy(I_EFnames[102].funcname,  "samplexz");
+strcpy(I_EFnames[103].funcname,  "sampleyz");
+strcpy(I_EFnames[104].funcname,  "scat2ddups");
+strcpy(I_EFnames[105].funcname,  "scat2grid_bin_xy");
+strcpy(I_EFnames[106].funcname,  "scat2grid_bin_xyt");
+strcpy(I_EFnames[107].funcname,  "scat2grid_bin_xyz");
+strcpy(I_EFnames[108].funcname,  "scat2grid_bin_xyzt");
+strcpy(I_EFnames[109].funcname,  "scat2grid_minmax_xyt");
+strcpy(I_EFnames[110].funcname,  "scat2grid_std_xyt");
+strcpy(I_EFnames[111].funcname,  "scat2gridgauss_xt");
+strcpy(I_EFnames[112].funcname,  "scat2gridgauss_xt_v0");
+strcpy(I_EFnames[113].funcname,  "scat2gridgauss_xy");
+strcpy(I_EFnames[114].funcname,  "scat2gridgauss_xy_v0");
+strcpy(I_EFnames[115].funcname,  "scat2gridgauss_xz");
+strcpy(I_EFnames[116].funcname,  "scat2gridgauss_xz_v0");
+strcpy(I_EFnames[117].funcname,  "scat2gridgauss_yt");
+strcpy(I_EFnames[118].funcname,  "scat2gridgauss_yt_v0");
+strcpy(I_EFnames[119].funcname,  "scat2gridgauss_yz");
+strcpy(I_EFnames[120].funcname,  "scat2gridgauss_yz_v0");
+strcpy(I_EFnames[121].funcname,  "scat2gridgauss_zt");
+strcpy(I_EFnames[122].funcname,  "scat2gridgauss_zt_v0");
+strcpy(I_EFnames[123].funcname,  "scat2gridlaplace_xt");
+strcpy(I_EFnames[124].funcname,  "scat2gridlaplace_xy");
+strcpy(I_EFnames[125].funcname,  "scat2gridlaplace_xz");
+strcpy(I_EFnames[126].funcname,  "scat2gridlaplace_yt");
+strcpy(I_EFnames[127].funcname,  "scat2gridlaplace_yz");
+strcpy(I_EFnames[128].funcname,  "scat2gridlaplace_zt");
+strcpy(I_EFnames[129].funcname,  "scat2grid_nbin_xy");
+strcpy(I_EFnames[130].funcname,  "scat2grid_nbin_xyt");
+strcpy(I_EFnames[131].funcname,  "scat2grid_nobs_xy");
+strcpy(I_EFnames[132].funcname,  "scat2grid_nobs_xyt");
+strcpy(I_EFnames[133].funcname,  "scat2grid_t");
+strcpy(I_EFnames[134].funcname,  "separate");
+strcpy(I_EFnames[135].funcname,  "separate_str");
+strcpy(I_EFnames[136].funcname,  "sorti");
+strcpy(I_EFnames[137].funcname,  "sorti_str");
+strcpy(I_EFnames[138].funcname,  "sortj");
+strcpy(I_EFnames[139].funcname,  "sortj_str");
+strcpy(I_EFnames[140].funcname,  "sortk");
+strcpy(I_EFnames[141].funcname,  "sortk_str");
+strcpy(I_EFnames[142].funcname,  "sortl");
+strcpy(I_EFnames[143].funcname,  "sortl_str");
+strcpy(I_EFnames[144].funcname,  "sortm");
+strcpy(I_EFnames[145].funcname,  "sortm_str");
+strcpy(I_EFnames[146].funcname,  "sortn");
+strcpy(I_EFnames[147].funcname,  "sortn_str");
+strcpy(I_EFnames[148].funcname,  "str_mask");
+strcpy(I_EFnames[149].funcname,  "str_noblanks");
+strcpy(I_EFnames[150].funcname,  "str_replace");
+strcpy(I_EFnames[151].funcname,  "tauto_cor");
+strcpy(I_EFnames[152].funcname,  "tax_datestring");
+strcpy(I_EFnames[153].funcname,  "tax_day");
+strcpy(I_EFnames[154].funcname,  "tax_dayfrac");
+strcpy(I_EFnames[155].funcname,  "tax_jday");
+strcpy(I_EFnames[156].funcname,  "tax_jday1900");
+strcpy(I_EFnames[157].funcname,  "tax_month");
+strcpy(I_EFnames[158].funcname,  "tax_times");
+strcpy(I_EFnames[159].funcname,  "tax_tstep");
+strcpy(I_EFnames[160].funcname,  "tax_units");
+strcpy(I_EFnames[161].funcname,  "tax_year");
+strcpy(I_EFnames[162].funcname,  "tax_yearfrac");
+strcpy(I_EFnames[163].funcname,  "tcat");
+strcpy(I_EFnames[164].funcname,  "tcat_str");
+strcpy(I_EFnames[165].funcname,  "test_opendap");
+strcpy(I_EFnames[166].funcname,  "time_reformat");
+strcpy(I_EFnames[167].funcname,  "tracks2grid_mask_ave_xyt");
+strcpy(I_EFnames[168].funcname,  "tracks2grid_std_xyt");
+strcpy(I_EFnames[169].funcname,  "transpose_ef");
+strcpy(I_EFnames[170].funcname,  "transpose_te");
+strcpy(I_EFnames[171].funcname,  "transpose_tf");
+strcpy(I_EFnames[172].funcname,  "transpose_xe");
+strcpy(I_EFnames[173].funcname,  "transpose_xf");
+strcpy(I_EFnames[174].funcname,  "transpose_xt");
+strcpy(I_EFnames[175].funcname,  "transpose_xy");
+strcpy(I_EFnames[176].funcname,  "transpose_xz");
+strcpy(I_EFnames[177].funcname,  "transpose_ye");
+strcpy(I_EFnames[178].funcname,  "transpose_yf");
+strcpy(I_EFnames[179].funcname,  "transpose_yt");
+strcpy(I_EFnames[180].funcname,  "transpose_yz");
+strcpy(I_EFnames[181].funcname,  "transpose_ze");
+strcpy(I_EFnames[182].funcname,  "transpose_zf");
+strcpy(I_EFnames[183].funcname,  "transpose_zt");
+strcpy(I_EFnames[184].funcname,  "treverse");
+strcpy(I_EFnames[185].funcname,  "unique_str2int");
+strcpy(I_EFnames[186].funcname,  "write_webrow");
+strcpy(I_EFnames[187].funcname,  "write_webrow_gwt");
+strcpy(I_EFnames[188].funcname,  "xauto_cor");
+strcpy(I_EFnames[189].funcname,  "xcat");
+strcpy(I_EFnames[190].funcname,  "xcat_str");
+strcpy(I_EFnames[191].funcname,  "xreverse");
+strcpy(I_EFnames[192].funcname,  "ycat");
+strcpy(I_EFnames[193].funcname,  "ycat_str");
+strcpy(I_EFnames[194].funcname,  "yreverse");
+strcpy(I_EFnames[195].funcname,  "zaxreplace_avg");
+strcpy(I_EFnames[196].funcname,  "zaxreplace_bin");
+strcpy(I_EFnames[197].funcname,  "zaxreplace_rev");
+strcpy(I_EFnames[198].funcname,  "zaxreplace_zlev");
+strcpy(I_EFnames[199].funcname,  "zcat");
+strcpy(I_EFnames[200].funcname,  "zcat_str");
+strcpy(I_EFnames[201].funcname,  "zreverse");
+
+/*
+ *  ------------------------------------
  */
 
 
@@ -1397,8 +1499,8 @@ struct {
 
 
   /*
-   * Get internally linked external functions;  and add all 
-   * the names and associated directory information to the 
+   * Get internally linked external functions;  and add all
+   * the names and associated directory information to the
    * STATIC_ExternalFunctionList.
    */
 
@@ -1433,37 +1535,37 @@ struct {
                       "WARNING: environment variable FER_EXTERNAL_FUNCTIONS not defined.\n\n");
       I_have_warned_already = TRUE;
     }
-    /* *kob* v5.32 - the return val was set to 0 below but that was wrong. 
-       That didn't take into account that on any system, the 
+    /* *kob* v5.32 - the return val was set to 0 below but that was wrong.
+       That didn't take into account that on any system, the
        FER_EXTERNAL_FUNCTIONS env variable might not be set.  If that were the
-       case, a core dump occurred on all systems.  Set return_val to count, 
-       which was generated above - also have to  note that the ef's 
+       case, a core dump occurred on all systems.  Set return_val to count,
+       which was generated above - also have to  note that the ef's
        have been scanned*/
-    return_val = count; 
+    return_val = count;
     I_have_scanned_already = TRUE;
     return return_val;
   }
 
   sprintf(paths, "%s", getenv("FER_EXTERNAL_FUNCTIONS"));
-    
+
   path_ptr = strtok(paths, " \t");
 
   if ( path_ptr == NULL ) {
- 
+
     fprintf(stderr, "\n"
                     "WARNING:No paths were found in the environment variable FER_EXTERNAL_FUNCTIONS.\n\n");
 
     return_val = 0;
     return return_val;
- 
+
   } else {
-    
+
     do {
 
 	  strcpy(path, path_ptr);
 
       if (path[strlen(path)-1] != '/')
-        strcat(path, "/"); 
+        strcat(path, "/");
 
       sprintf(cmd, "ls -1 %s", path);
 
@@ -1473,7 +1575,7 @@ struct {
 	    return_val = -1;
 	    return return_val;
       }
- 
+
       /*
        * Read a line at a time.
        * Any ~.so files are assumed to be external functions.
@@ -1495,11 +1597,11 @@ struct {
 	    }
 
       }
- 
+
       pclose(file_ptr);
- 
+
       path_ptr = strtok(NULL, " \t"); /* get the next directory */
- 
+
     } while ( path_ptr != NULL );
 
     I_have_scanned_already = TRUE;
@@ -1512,7 +1614,7 @@ struct {
 
 
 /*
- * Determine whether an external function has already 
+ * Determine whether an external function has already
  * had its internals read.
  */
 int FORTRAN(efcn_already_have_internals)( int *id_ptr )
@@ -1552,14 +1654,14 @@ int FORTRAN(efcn_already_have_internals)( int *id_ptr )
  *
  * Note: this function assume Hollerith strings are passed as character arrays
  *       (and max lengths appended as ints to the end of the argument list -
- *        they are not listed here since unused; also permits saying the strings 
+ *        they are not listed here since unused; also permits saying the strings
  *        are simple arrays in Fortran)
  */
 void FORTRAN(create_pyefcn)(char fname[], int *lenfname, char pymod[], int *lenpymod,
                             char errstring[], int *lenerrstring)
 {
-    ExternalFunction ef; 
-    ExternalFunction *ef_ptr; 
+    ExternalFunction ef;
+    ExternalFunction *ef_ptr;
     char libname[1024];
 
     /* Load $FER_LIBS/libpyefcn.so if not already in memory */
@@ -1606,7 +1708,7 @@ void FORTRAN(create_pyefcn)(char fname[], int *lenfname, char pymod[], int *lenp
         return;
     }
 
-    /* 
+    /*
      * Assign the local ExternalFunction structure, assigning the module name to the path element
      * Get the ID for this new function by adding one to the ID of the last element in the list.
      * (The IDs do not match the size of the list.)
@@ -1636,10 +1738,10 @@ void FORTRAN(create_pyefcn)(char fname[], int *lenfname, char pymod[], int *lenp
 
     /*
      * Prepare for bailout possibilities by setting a signal handler for
-     * SIGFPE, SIGSEGV, SIGINT and SIGBUS and then by cacheing the stack 
-     * environment with sigsetjmp (for the signal handler) and setjmp 
+     * SIGFPE, SIGSEGV, SIGINT and SIGBUS and then by cacheing the stack
+     * environment with sigsetjmp (for the signal handler) and setjmp
      * (for the "bail out" utility function).
-     */   
+     */
     if ( EF_Util_setsig("create_pyefcn")) {
         list_remove_rear(STATIC_ExternalFunctionList);
         free(ef_ptr->internals_ptr);
@@ -1684,7 +1786,7 @@ void FORTRAN(create_pyefcn)(char fname[], int *lenfname, char pymod[], int *lenp
 
 /*
  * Find an external function based on its integer ID and
- * gather information describing the function. 
+ * gather information describing the function.
  *
  * Return values:
  *     -1: error occurred, dynamic linking was unsuccessful
@@ -1741,10 +1843,10 @@ int FORTRAN(efcn_gather_info)( int *id_ptr )
 
       /*
        * Prepare for bailout possibilities by setting a signal handler for
-       * SIGFPE, SIGSEGV, SIGINT and SIGBUS and then by cacheing the stack 
-       * environment with sigsetjmp (for the signal handler) and setjmp 
+       * SIGFPE, SIGSEGV, SIGINT and SIGBUS and then by cacheing the stack
+       * environment with sigsetjmp (for the signal handler) and setjmp
        * (for the "bail out" utility function).
-       */   
+       */
       if ( EF_Util_setsig("efcn_gather_info")) {
          return -1;
       }
@@ -1800,7 +1902,7 @@ int FORTRAN(efcn_gather_info)( int *id_ptr )
 
 
 /*
- * Find an external function based on its integer ID, 
+ * Find an external function based on its integer ID,
  * Query the function about custom axes. Store the context
  * list information for use by utility functions.
  */
@@ -1820,7 +1922,7 @@ void FORTRAN(efcn_get_custom_axes)( int *id_ptr, int *cx_list_ptr, int *status )
   /*
    * Store the context list globally.
    */
-  EF_store_globals(NULL, NULL, cx_list_ptr, NULL, NULL);
+  EF_store_globals(NULL, cx_list_ptr, NULL, NULL);
 
   /*
    * Find the external function.
@@ -1832,10 +1934,10 @@ void FORTRAN(efcn_get_custom_axes)( int *id_ptr, int *cx_list_ptr, int *status )
 
     /*
      * Prepare for bailout possibilities by setting a signal handler for
-     * SIGFPE, SIGSEGV, SIGINT and SIGBUS and then by cacheing the stack 
-     * environment with sigsetjmp (for the signal handler) and setjmp 
+     * SIGFPE, SIGSEGV, SIGINT and SIGBUS and then by cacheing the stack
+     * environment with sigsetjmp (for the signal handler) and setjmp
      * (for the "bail out" utility function).
-     */   
+     */
 
     if (EF_Util_setsig("efcn_get_custom_axes")) {
       *status = FERR_EF_ERROR;
@@ -1856,8 +1958,8 @@ void FORTRAN(efcn_get_custom_axes)( int *id_ptr, int *cx_list_ptr, int *status )
     if (setjmp(jumpbuffer) != 0) {
       *status = FERR_EF_ERROR;
       return;
-    } 
-   
+    }
+
     canjump = 1;
 
     sprintf(tempText, "");
@@ -1868,7 +1970,7 @@ void FORTRAN(efcn_get_custom_axes)( int *id_ptr, int *cx_list_ptr, int *status )
        fptr  = (void (*)(int *))dlsym(ef_ptr->handle, tempText);
     } else {
       fptr  = (void (*)(int *))internal_dlsym(tempText);
-    } 
+    }
     (*fptr)( id_ptr );
 
 
@@ -1903,10 +2005,10 @@ void FORTRAN(efcn_get_custom_axes)( int *id_ptr, int *cx_list_ptr, int *status )
 
       /*
        * Prepare for bailout possibilities by setting a signal handler for
-       * SIGFPE, SIGSEGV, SIGINT and SIGBUS and then by cacheing the stack 
-       * environment with sigsetjmp (for the signal handler) and setjmp 
+       * SIGFPE, SIGSEGV, SIGINT and SIGBUS and then by cacheing the stack
+       * environment with sigsetjmp (for the signal handler) and setjmp
        * (for the "bail out" utility function).
-       */   
+       */
       if ( EF_Util_setsig("efcn_get_custom_axes")) {
           *status = FERR_EF_ERROR;
            return;
@@ -1944,11 +2046,13 @@ void FORTRAN(efcn_get_custom_axes)( int *id_ptr, int *cx_list_ptr, int *status )
 
 
 /*
- * Find an external function based on its integer ID, 
+ * Find an external function based on its integer ID,
  * Query the function about abstract axes. Pass memory,
  * mr_list and cx_list info into the external function.
+ * 1/17 *SH* removed argument "memory" from the calling arguments
+ *           It was never used by the routine, anyway.
  */
-void FORTRAN(efcn_get_result_limits)( int *id_ptr, DFTYPE *memory, int *mr_list_ptr, int *cx_list_ptr, int *status )
+void FORTRAN(efcn_get_result_limits)( int *id_ptr, int *mr_list_ptr, int *cx_list_ptr, int *status )
 {
   ExternalFunction *ef_ptr=NULL;
   char tempText[EF_MAX_NAME_LENGTH]="";
@@ -1964,7 +2068,7 @@ void FORTRAN(efcn_get_result_limits)( int *id_ptr, DFTYPE *memory, int *mr_list_
   /*
    * Store the memory pointer and various lists globally.
    */
-  EF_store_globals(memory, mr_list_ptr, cx_list_ptr, NULL, NULL);
+  EF_store_globals(mr_list_ptr, cx_list_ptr, NULL, NULL);
 
   /*
    * Find the external function.
@@ -1978,10 +2082,10 @@ void FORTRAN(efcn_get_result_limits)( int *id_ptr, DFTYPE *memory, int *mr_list_
 
     /*
      * Prepare for bailout possibilities by setting a signal handler for
-     * SIGFPE, SIGSEGV, SIGINT and SIGBUS and then by cacheing the stack 
-     * environment with sigsetjmp (for the signal handler) and setjmp 
+     * SIGFPE, SIGSEGV, SIGINT and SIGBUS and then by cacheing the stack
+     * environment with sigsetjmp (for the signal handler) and setjmp
      * (for the "bail out" utility function).
-     */   
+     */
 
 
     if ( EF_Util_setsig("efcn_get_result_limits")) {
@@ -2051,10 +2155,10 @@ void FORTRAN(efcn_get_result_limits)( int *id_ptr, DFTYPE *memory, int *mr_list_
 
       /*
        * Prepare for bailout possibilities by setting a signal handler for
-       * SIGFPE, SIGSEGV, SIGINT and SIGBUS and then by cacheing the stack 
-       * environment with sigsetjmp (for the signal handler) and setjmp 
+       * SIGFPE, SIGSEGV, SIGINT and SIGBUS and then by cacheing the stack
+       * environment with sigsetjmp (for the signal handler) and setjmp
        * (for the "bail out" utility function).
-       */   
+       */
       if ( EF_Util_setsig("efcn_get_result_limits")) {
           *status = FERR_EF_ERROR;
            return;
@@ -2092,18 +2196,19 @@ void FORTRAN(efcn_get_result_limits)( int *id_ptr, DFTYPE *memory, int *mr_list_
 
 
 /*
- * Find an external function based on its integer ID, 
+ * Find an external function based on its integer ID,
  * pass the necessary information and the data and tell
  * the function to calculate the result.
  */
 void FORTRAN(efcn_compute)( int *id_ptr, int *narg_ptr, int *cx_list_ptr, int *mr_list_ptr, int *mres_ptr,
-	DFTYPE *bad_flag_ptr, int *mr_arg_offset_ptr, DFTYPE *memory, int *status )
+	DFTYPE *bad_flag_ptr, int *status )
 {
   ExternalFunction *ef_ptr=NULL;
   ExternalFunctionInternals *i_ptr=NULL;
   DFTYPE *arg_ptr[EF_MAX_COMPUTE_ARGS];
   int xyzt=0, i=0, j=0;
   int size=0;
+  int nargs=0;
   char tempText[EF_MAX_NAME_LENGTH]="";
   int internally_linked = FALSE;
 
@@ -2160,7 +2265,7 @@ void FORTRAN(efcn_compute)( int *id_ptr, int *narg_ptr, int *cx_list_ptr, int *m
    * Store the memory pointer and various lists globally.
    */
   FORTRAN(efcn_copy_array_dims)();
-  EF_store_globals(memory, mr_list_ptr, cx_list_ptr, mres_ptr, bad_flag_ptr);
+  EF_store_globals(mr_list_ptr, cx_list_ptr, mres_ptr, bad_flag_ptr);
 
   /*
    * Find the external function.
@@ -2174,25 +2279,32 @@ void FORTRAN(efcn_compute)( int *id_ptr, int *narg_ptr, int *cx_list_ptr, int *m
 
   i_ptr = ef_ptr->internals_ptr;
 
+/*
+   1/17 tell FORTRAN to pass the pointers (place them into GLOBALs)
+*/
+  nargs = i_ptr->num_reqd_args;
+  FORTRAN(efcn_rqst_mr_ptrs)(&nargs, mr_list_ptr, mres_ptr);
+
   if ( i_ptr->language == EF_F ) {
     /*
      * Begin assigning the arg_ptrs.
      */
 
+
     /* First come the arguments to the function. */
 
      for (i=0; i<i_ptr->num_reqd_args; i++) {
-       arg_ptr[i] = memory + mr_arg_offset_ptr[i];
+       arg_ptr[i] = GLOBAL_arg_ptrs[i];
      }
 
     /* Now for the result */
 
-     arg_ptr[i++] = memory + mr_arg_offset_ptr[EF_MAX_ARGS];
+     arg_ptr[i++] = GLOBAL_res_ptr;
 
     /* Now for the work arrays */
 
     /*
-     * If this program has requested working storage we need to 
+     * If this program has requested working storage we need to
      * ask the function to specify the amount of space needed
      * and then create the memory here.  Memory will be released
      * after the external function returns.
@@ -2256,13 +2368,13 @@ void FORTRAN(efcn_compute)( int *id_ptr, int *narg_ptr, int *cx_list_ptr, int *m
         FORTRAN(efcn_set_work_array_dims)(&iarray, &xlo, &ylo, &zlo, &tlo, &elo, &flo,
                                                    &xhi, &yhi, &zhi, &thi, &ehi, &fhi);
 
-        size = sizeof(DFTYPE) * (xhi-xlo+1) * (yhi-ylo+1) * (zhi-zlo+1) 
+        size = sizeof(DFTYPE) * (xhi-xlo+1) * (yhi-ylo+1) * (zhi-zlo+1)
                               * (thi-tlo+1) * (ehi-elo+1) * (fhi-flo+1);
 
         arg_ptr[i] = (DFTYPE *)malloc(size);
-        if ( arg_ptr[i] == NULL ) { 
+        if ( arg_ptr[i] == NULL ) {
           fprintf(stderr, "**ERROR in efcn_compute() allocating %d bytes of memory\n"
-                          "\twork array %d:  X=%d:%d, Y=%d:%d, Z=%d:%d, T=%d:%d, E=%d:%d, F=%d:%d\n", 
+                          "\twork array %d:  X=%d:%d, Y=%d:%d, Z=%d:%d, T=%d:%d, E=%d:%d, F=%d:%d\n",
                           size, iarray, xlo, xhi, ylo, yhi, zlo, zhi, tlo, thi, elo, ehi, flo, fhi);
 	  *status = FERR_EF_ERROR;
 	  return;
@@ -2273,10 +2385,10 @@ void FORTRAN(efcn_compute)( int *id_ptr, int *narg_ptr, int *cx_list_ptr, int *m
 
     /*
      * Prepare for bailout possibilities by setting a signal handler for
-     * SIGFPE, SIGSEGV, SIGINT and SIGBUS and then by cacheing the stack 
-     * environment with sigsetjmp (for the signal handler) and setjmp 
+     * SIGFPE, SIGSEGV, SIGINT and SIGBUS and then by cacheing the stack
+     * environment with sigsetjmp (for the signal handler) and setjmp
      * (for the "bail out" utility function).
-     */   
+     */
 
     if ( EF_Util_setsig("efcn_compute")) {
       *status = FERR_EF_ERROR;
@@ -2362,11 +2474,11 @@ void FORTRAN(efcn_compute)( int *id_ptr, int *narg_ptr, int *cx_list_ptr, int *m
 
     case 5:
 	  if (!internally_linked) {
-	    f5arg  = (void (*)(int *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, 
+	    f5arg  = (void (*)(int *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *,
              DFTYPE *))
              dlsym(ef_ptr->handle, tempText);
           } else {
-	    f5arg  = (void (*)(int *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, 
+	    f5arg  = (void (*)(int *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *, DFTYPE *,
              DFTYPE *))
              internal_dlsym(tempText);
           }
@@ -2626,10 +2738,11 @@ void FORTRAN(efcn_compute)( int *id_ptr, int *narg_ptr, int *cx_list_ptr, int *m
           }
       }
 
+
       /* First the results grid array, then the argument grid arrays */
-      arg_ptr[0] = memory + mr_arg_offset_ptr[EF_MAX_ARGS];
+      arg_ptr[0] = GLOBAL_res_ptr; // 1/17 *sh*
       for (i = 0; i < i_ptr->num_reqd_args; i++) {
-          arg_ptr[i+1] = memory + mr_arg_offset_ptr[i];
+          arg_ptr[i+1] = GLOBAL_arg_ptrs[i];
       }
 
       /* Assign the memory limits, step values, and bad-data-flag values - first result, then arguments */
@@ -2653,10 +2766,10 @@ void FORTRAN(efcn_compute)( int *id_ptr, int *narg_ptr, int *cx_list_ptr, int *m
 
       /*
        * Prepare for bailout possibilities by setting a signal handler for
-       * SIGFPE, SIGSEGV, SIGINT and SIGBUS and then by cacheing the stack 
-       * environment with sigsetjmp (for the signal handler) and setjmp 
+       * SIGFPE, SIGSEGV, SIGINT and SIGBUS and then by cacheing the stack
+       * environment with sigsetjmp (for the signal handler) and setjmp
        * (for the "bail out" utility function).
-       */   
+       */
       if ( EF_Util_setsig("efcn_compute")) {
           *status = FERR_EF_ERROR;
           return;
@@ -2771,7 +2884,7 @@ int FORTRAN(efcn_get_id)( char name[] )
     return return_val;
   }
 
-  ef_ptr=(ExternalFunction *)list_curr(STATIC_ExternalFunctionList); 
+  ef_ptr=(ExternalFunction *)list_curr(STATIC_ExternalFunctionList);
 
   return_val = ef_ptr->id;
 
@@ -2794,7 +2907,7 @@ int FORTRAN(efcn_match_template)( int *id_ptr, char template[] )
   if ( (ef_ptr = ef_ptr_from_id_ptr(id_ptr)) == NULL ) { return return_val; }
 
   EF_LT_MT_return = EF_ListTraverse_MatchTemplate((char *)template, (char *)ef_ptr);
-  
+
   /* The list package forces 'list traversal' functions to return
    * 0 whenever a match is found.  We want to return a more reasonable
    * 1 (=true) if we find a match.
@@ -2811,7 +2924,7 @@ int FORTRAN(efcn_match_template)( int *id_ptr, char template[] )
 
 /*
  */
-void FORTRAN(efcn_get_custom_axis_sub)( int *id_ptr, int *axis_ptr, double *lo_ptr, double *hi_ptr, 
+void FORTRAN(efcn_get_custom_axis_sub)( int *id_ptr, int *axis_ptr, double *lo_ptr, double *hi_ptr,
 			       double *del_ptr, char *unit, int *modulo_ptr )
 {
   ExternalFunction *ef_ptr=NULL;
@@ -2881,7 +2994,7 @@ void FORTRAN(efcn_get_descr)( int *id_ptr, char *descr )
 
 /*
  * Find an external function based on its integer ID and
- * return the name of an alternate function that operates 
+ * return the name of an alternate function that operates
  * with string arguments.
  *
  * *kms* 2/11 - assign blank-terminated (not null-terminated)
@@ -3010,7 +3123,7 @@ void FORTRAN(efcn_get_piecemeal_ok)( int *id_ptr, int *array_ptr )
 void FORTRAN(efcn_get_axis_implied_from)( int *id_ptr, int *iarg_ptr, int *array_ptr )
 {
   ExternalFunction *ef_ptr=NULL;
-  int index = *iarg_ptr - 1; /* C indices are 1 less than Fortran */ 
+  int index = *iarg_ptr - 1; /* C indices are 1 less than Fortran */
 
   if ( (ef_ptr = ef_ptr_from_id_ptr(id_ptr)) == NULL ) { return; }
 
@@ -3034,7 +3147,7 @@ void FORTRAN(efcn_get_axis_implied_from)( int *id_ptr, int *iarg_ptr, int *array
 void FORTRAN(efcn_get_axis_extend_lo)( int *id_ptr, int *iarg_ptr, int *array_ptr )
 {
   ExternalFunction *ef_ptr=NULL;
-  int index = *iarg_ptr - 1; /* C indices are 1 less than Fortran */ 
+  int index = *iarg_ptr - 1; /* C indices are 1 less than Fortran */
 
   if ( (ef_ptr = ef_ptr_from_id_ptr(id_ptr)) == NULL ) { return; }
 
@@ -3058,10 +3171,10 @@ void FORTRAN(efcn_get_axis_extend_lo)( int *id_ptr, int *iarg_ptr, int *array_pt
 void FORTRAN(efcn_get_axis_extend_hi)( int *id_ptr, int *iarg_ptr, int *array_ptr )
 {
   ExternalFunction *ef_ptr=NULL;
-  int index = *iarg_ptr - 1; /* C indices are 1 less than Fortran */ 
+  int index = *iarg_ptr - 1; /* C indices are 1 less than Fortran */
 
   if ( (ef_ptr = ef_ptr_from_id_ptr(id_ptr)) == NULL ) { return; }
-  
+
   array_ptr[X_AXIS] = ef_ptr->internals_ptr->axis_extend_hi[index][X_AXIS];
   array_ptr[Y_AXIS] = ef_ptr->internals_ptr->axis_extend_hi[index][Y_AXIS];
   array_ptr[Z_AXIS] = ef_ptr->internals_ptr->axis_extend_hi[index][Z_AXIS];
@@ -3081,13 +3194,13 @@ void FORTRAN(efcn_get_axis_extend_hi)( int *id_ptr, int *iarg_ptr, int *array_pt
 void FORTRAN(efcn_get_axis_limits)( int *id_ptr, int *axis_ptr, int *lo_ptr, int *hi_ptr )
 {
   ExternalFunction *ef_ptr=NULL;
-  int index = *axis_ptr - 1; /* C indices are 1 less than Fortran */ 
+  int index = *axis_ptr - 1; /* C indices are 1 less than Fortran */
 
   if ( (ef_ptr = ef_ptr_from_id_ptr(id_ptr)) == NULL ) { return; }
-  
+
   *lo_ptr = ef_ptr->internals_ptr->axis[index].ss_lo;
   *hi_ptr = ef_ptr->internals_ptr->axis[index].ss_hi;
-  
+
   return;
 }
 
@@ -3095,19 +3208,19 @@ void FORTRAN(efcn_get_axis_limits)( int *id_ptr, int *axis_ptr, int *lo_ptr, int
 /*
  * Find an external function based on its integer ID and
  * return the 'arg_type' information for a particular
- * argument which tells Ferret whether an argument is a 
+ * argument which tells Ferret whether an argument is a
  * DFTYPE or a string.
  */
 int FORTRAN(efcn_get_arg_type)( int *id_ptr, int *iarg_ptr )
 {
   ExternalFunction *ef_ptr=NULL;
   int return_val=0;
-  int index = *iarg_ptr - 1; /* C indices are 1 less than Fortran */ 
+  int index = *iarg_ptr - 1; /* C indices are 1 less than Fortran */
 
   if ( (ef_ptr = ef_ptr_from_id_ptr(id_ptr)) == NULL ) { return return_val; }
-  
+
   return_val = ef_ptr->internals_ptr->arg_type[index];
-  
+
   return return_val;
 }
 
@@ -3123,9 +3236,9 @@ int FORTRAN(efcn_get_rtn_type)( int *id_ptr )
   static int return_val=0; /* static because it needs to exist after the return statement */
 
   if ( (ef_ptr = ef_ptr_from_id_ptr(id_ptr)) == NULL ) { return return_val; }
-  
+
   return_val = ef_ptr->internals_ptr->return_type;
-  
+
   return return_val;
 }
 
@@ -3137,11 +3250,11 @@ int FORTRAN(efcn_get_rtn_type)( int *id_ptr )
 void FORTRAN(efcn_get_arg_name)( int *id_ptr, int *iarg_ptr, char *string )
 {
   ExternalFunction *ef_ptr=NULL;
-  int index = *iarg_ptr - 1; /* C indices are 1 less than Fortran */ 
+  int index = *iarg_ptr - 1; /* C indices are 1 less than Fortran */
   int i=0, printable=FALSE;
 
   if ( (ef_ptr = ef_ptr_from_id_ptr(id_ptr)) == NULL ) { return; }
-  
+
   /*
    * JC_NOTE: if the argument has no name then memory gets overwritten, corrupting
    * the address of iarg_ptr and causing a core dump.  I need to catch that case
@@ -3172,12 +3285,12 @@ void FORTRAN(efcn_get_arg_name)( int *id_ptr, int *iarg_ptr, char *string )
 void FORTRAN(efcn_get_arg_unit)( int *id_ptr, int *iarg_ptr, char *string )
 {
   ExternalFunction *ef_ptr=NULL;
-  int index = *iarg_ptr - 1; /* C indices are 1 less than Fortran */ 
+  int index = *iarg_ptr - 1; /* C indices are 1 less than Fortran */
 
   if ( (ef_ptr = ef_ptr_from_id_ptr(id_ptr)) == NULL ) { return; }
-  
-  ef_ptr=(ExternalFunction *)list_curr(STATIC_ExternalFunctionList); 
-  
+
+  ef_ptr=(ExternalFunction *)list_curr(STATIC_ExternalFunctionList);
+
   strcpy(string, ef_ptr->internals_ptr->arg_unit[index]);
 
   return;
@@ -3191,10 +3304,10 @@ void FORTRAN(efcn_get_arg_unit)( int *id_ptr, int *iarg_ptr, char *string )
 void FORTRAN(efcn_get_arg_desc)( int *id_ptr, int *iarg_ptr, char *string )
 {
   ExternalFunction *ef_ptr=NULL;
-  int index = *iarg_ptr - 1; /* C indices are 1 less than Fortran */ 
+  int index = *iarg_ptr - 1; /* C indices are 1 less than Fortran */
 
   if ( (ef_ptr = ef_ptr_from_id_ptr(id_ptr)) == NULL ) { return; }
-  
+
   strcpy(string, ef_ptr->internals_ptr->arg_desc[index]);
 
   return;
@@ -3322,18 +3435,28 @@ int EF_New( ExternalFunction *this )
  * Store the global values which will be needed by utility routines
  * in EF_ExternalUtil.c
  */
-void EF_store_globals(DFTYPE *memory_ptr, int *mr_list_ptr, int *cx_list_ptr, 
+void EF_store_globals(int *mr_list_ptr, int *cx_list_ptr,
 	int *mres_ptr, DFTYPE *bad_flag_ptr)
 {
   int i=0;
 
-  GLOBAL_memory_ptr = memory_ptr;
   GLOBAL_mr_list_ptr = mr_list_ptr;
   GLOBAL_cx_list_ptr = cx_list_ptr;
   GLOBAL_mres_ptr = mres_ptr;
   GLOBAL_bad_flag_ptr = bad_flag_ptr;
 
 }
+void FORTRAN(efcn_pass_arg_ptr)(int *iarg, DFTYPE *arg_ptr)
+{
+  int iarg_c = *iarg-1;   // FORTRAN index to c index
+
+  GLOBAL_arg_ptrs[iarg_c] = arg_ptr;
+}
+
+void FORTRAN(efcn_pass_res_ptr)(DFTYPE *res_ptr)
+{
+  GLOBAL_res_ptr = res_ptr;
+}
 
 
 /*
@@ -3359,7 +3482,7 @@ ExternalFunction *ef_ptr_from_id_ptr(int *id_ptr)
    }
 
    /* Get the pointer to the function from the list */
-   ef_ptr = (ExternalFunction *) list_curr(STATIC_ExternalFunctionList); 
+   ef_ptr = (ExternalFunction *) list_curr(STATIC_ExternalFunctionList);
    return ef_ptr;
 }
 
@@ -3367,14 +3490,14 @@ ExternalFunction *ef_ptr_from_id_ptr(int *id_ptr)
 int EF_ListTraverse_fprintf( char *data, char *curr )
 {
    FILE *File_ptr=(FILE *)data;
-   ExternalFunction *ef_ptr=(ExternalFunction *)curr; 
+   ExternalFunction *ef_ptr=(ExternalFunction *)curr;
 
    fprintf(stderr, "path = \"%s\", name = \"%s\", id = %d, internals_ptr = %ld\n",
 	   ef_ptr->path, ef_ptr->name, ef_ptr->id, (long) (ef_ptr->internals_ptr));
 
    return TRUE;
 }
- 
+
 
 /*
  * Ferret always capitalizes everything so we'd better
@@ -3382,7 +3505,7 @@ int EF_ListTraverse_fprintf( char *data, char *curr )
  */
 int EF_ListTraverse_FoundName( char *data, char *curr )
 {
-  ExternalFunction *ef_ptr=(ExternalFunction *)curr; 
+  ExternalFunction *ef_ptr=(ExternalFunction *)curr;
 
   if ( !strcasecmp(data, ef_ptr->name) ) {
     return FALSE; /* found match */
@@ -3393,7 +3516,7 @@ int EF_ListTraverse_FoundName( char *data, char *curr )
 
 int EF_ListTraverse_MatchTemplate( char data[], char *curr )
 {
-  ExternalFunction *ef_ptr=(ExternalFunction *)curr; 
+  ExternalFunction *ef_ptr=(ExternalFunction *)curr;
 
   int i=0, star_skip=FALSE;
   char upname[EF_MAX_DESCRIPTION_LENGTH];
@@ -3443,7 +3566,7 @@ int EF_ListTraverse_MatchTemplate( char data[], char *curr )
     else
       return TRUE; /* no match */
 
-  } 
+  }
 
   /* *sh* if any non-wildcard characters remain in the "curr" name, then reject
      probably a bug remains for a regexp ending in "?" */
@@ -3457,7 +3580,7 @@ int EF_ListTraverse_MatchTemplate( char data[], char *curr )
 
 int EF_ListTraverse_FoundID( char *data, char *curr )
 {
-  ExternalFunction *ef_ptr=(ExternalFunction *)curr; 
+  ExternalFunction *ef_ptr=(ExternalFunction *)curr;
   int ID=*((int *)data);
 
   if ( ID == ef_ptr->id ) {
@@ -3471,10 +3594,10 @@ int EF_Util_setsig(char fcn_name[])
 {
     /*
      * Prepare for bailout possibilities by setting a signal handler for
-     * SIGFPE, SIGSEGV, SIGINT and SIGBUS and then by cacheing the stack 
-     * environment with sigsetjmp (for the signal handler) and setjmp 
+     * SIGFPE, SIGSEGV, SIGINT and SIGBUS and then by cacheing the stack
+     * environment with sigsetjmp (for the signal handler) and setjmp
      * (for the "bail out" utility function).
-     */   
+     */
 
     if ( (fpe_handler = signal(SIGFPE, EF_signal_handler)) == SIG_ERR ) {
       fprintf(stderr, "**ERROR in %s() catching SIGFPE.\n", fcn_name);
@@ -3527,11 +3650,11 @@ int EF_Util_ressig(char fcn_name[])
 }
 
 
-/* 
+/*
  *  ------------------------------------
 
  *  internal_dlsym
- *  Accept a string and return the function pointer 
+ *  Accept a string and return the function pointer
  *
  *  The names of all subroutines of internally linked EF's
  *  generated by the perl script int_dlsym.pl.  Check the
@@ -3603,6 +3726,16 @@ else if ( !strcmp(name,"samplel_multi_init_") ) return (void *)FORTRAN(samplel_m
 else if ( !strcmp(name,"samplel_multi_result_limits_") ) return (void *)FORTRAN(samplel_multi_result_limits);
 else if ( !strcmp(name,"samplel_multi_compute_") ) return (void *)FORTRAN(samplel_multi_compute);
 
+/* samplem_multi.F */
+else if ( !strcmp(name,"samplem_multi_init_") ) return (void *)FORTRAN(samplem_multi_init);
+else if ( !strcmp(name,"samplem_multi_result_limits_") ) return (void *)FORTRAN(samplem_multi_result_limits);
+else if ( !strcmp(name,"samplem_multi_compute_") ) return (void *)FORTRAN(samplem_multi_compute);
+
+/* samplen_multi.F */
+else if ( !strcmp(name,"samplen_multi_init_") ) return (void *)FORTRAN(samplen_multi_init);
+else if ( !strcmp(name,"samplen_multi_result_limits_") ) return (void *)FORTRAN(samplen_multi_result_limits);
+else if ( !strcmp(name,"samplen_multi_compute_") ) return (void *)FORTRAN(samplen_multi_compute);
+
 /* samplet_date.F */
 else if ( !strcmp(name,"samplet_date_init_") ) return (void *)FORTRAN(samplet_date_init);
 else if ( !strcmp(name,"samplet_date_result_limits_") ) return (void *)FORTRAN(samplet_date_result_limits);
@@ -3657,6 +3790,12 @@ else if ( !strcmp(name,"samplexy_closest_result_limits_") ) return (void *)FORTR
 else if ( !strcmp(name,"samplexy_closest_work_size_") ) return (void *)FORTRAN(samplexy_closest_work_size);
 else if ( !strcmp(name,"samplexy_closest_compute_") ) return (void *)FORTRAN(samplexy_closest_compute);
 
+/* samplexy_nrst.F */
+else if ( !strcmp(name,"samplexy_nrst_init_") ) return (void *)FORTRAN(samplexy_nrst_init);
+else if ( !strcmp(name,"samplexy_nrst_result_limits_") ) return (void *)FORTRAN(samplexy_nrst_result_limits);
+else if ( !strcmp(name,"samplexy_nrst_work_size_") ) return (void *)FORTRAN(samplexy_nrst_work_size);
+else if ( !strcmp(name,"samplexy_nrst_compute_") ) return (void *)FORTRAN(samplexy_nrst_compute);
+
 /* samplexz.F */
 else if ( !strcmp(name,"samplexz_init_") ) return (void *)FORTRAN(samplexz_init);
 else if ( !strcmp(name,"samplexz_result_limits_") ) return (void *)FORTRAN(samplexz_result_limits);
@@ -4094,10 +4233,12 @@ else if ( !strcmp(name,"expndi_id_by_z_counts_compute_") ) return (void *)FORTRA
 
 /* expndi_by_m_counts.F */
 else if ( !strcmp(name,"expndi_by_m_counts_init_") ) return (void *)FORTRAN(expndi_by_m_counts_init);
-else if ( !strcmp(name,"expndi_by_m_counts_result_limits_") ) return (void *)FORTRAN(expndi_by_m_counts_result_limits);
-else if ( !strcmp(name,"expndi_by_m_counts_custom_axes_") ) return (void *)FORTRAN(expndi_by_m_counts_custom_axes);
 else if ( !strcmp(name,"expndi_by_m_counts_compute_") ) return (void *)FORTRAN(expndi_by_m_counts_compute);
 
+/* expndi_by_m_counts_str.F */
+else if ( !strcmp(name,"expndi_by_m_counts_str_init_") ) return (void *)FORTRAN(expndi_by_m_counts_str_init);
+else if ( !strcmp(name,"expndi_by_m_counts_str_compute_") ) return (void *)FORTRAN(expndi_by_m_counts_str_compute);
+
 /* fc_isubset.F */
 else if ( !strcmp(name,"fc_isubset_init_") ) return (void *)FORTRAN(fc_isubset_init);
 else if ( !strcmp(name,"fc_isubset_result_limits_") ) return (void *)FORTRAN(fc_isubset_result_limits);
@@ -4156,6 +4297,31 @@ else if ( !strcmp(name,"scat2ddups_init_") ) return (void *)FORTRAN(scat2ddups_i
 else if ( !strcmp(name,"scat2ddups_result_limits_") ) return (void *)FORTRAN(scat2ddups_result_limits);
 else if ( !strcmp(name,"scat2ddups_compute_") ) return (void *)FORTRAN(scat2ddups_compute);
 
+/* transpose_ef.F */
+else if ( !strcmp(name,"transpose_ef_init_") ) return (void *)FORTRAN(transpose_ef_init);
+else if ( !strcmp(name,"transpose_ef_result_limits_") ) return (void *)FORTRAN(transpose_ef_result_limits);
+else if ( !strcmp(name,"transpose_ef_compute_") ) return (void *)FORTRAN(transpose_ef_compute);
+
+/* transpose_te.F */
+else if ( !strcmp(name,"transpose_te_init_") ) return (void *)FORTRAN(transpose_te_init);
+else if ( !strcmp(name,"transpose_te_result_limits_") ) return (void *)FORTRAN(transpose_te_result_limits);
+else if ( !strcmp(name,"transpose_te_compute_") ) return (void *)FORTRAN(transpose_te_compute);
+
+/* transpose_tf.F */
+else if ( !strcmp(name,"transpose_tf_init_") ) return (void *)FORTRAN(transpose_tf_init);
+else if ( !strcmp(name,"transpose_tf_result_limits_") ) return (void *)FORTRAN(transpose_tf_result_limits);
+else if ( !strcmp(name,"transpose_tf_compute_") ) return (void *)FORTRAN(transpose_tf_compute);
+
+/* transpose_xe.F */
+else if ( !strcmp(name,"transpose_xe_init_") ) return (void *)FORTRAN(transpose_xe_init);
+else if ( !strcmp(name,"transpose_xe_result_limits_") ) return (void *)FORTRAN(transpose_xe_result_limits);
+else if ( !strcmp(name,"transpose_xe_compute_") ) return (void *)FORTRAN(transpose_xe_compute);
+
+/* transpose_xf.F */
+else if ( !strcmp(name,"transpose_xf_init_") ) return (void *)FORTRAN(transpose_xf_init);
+else if ( !strcmp(name,"transpose_xf_result_limits_") ) return (void *)FORTRAN(transpose_xf_result_limits);
+else if ( !strcmp(name,"transpose_xf_compute_") ) return (void *)FORTRAN(transpose_xf_compute);
+
 /* transpose_xt.F */
 else if ( !strcmp(name,"transpose_xt_init_") ) return (void *)FORTRAN(transpose_xt_init);
 else if ( !strcmp(name,"transpose_xt_result_limits_") ) return (void *)FORTRAN(transpose_xt_result_limits);
@@ -4171,6 +4337,16 @@ else if ( !strcmp(name,"transpose_xz_init_") ) return (void *)FORTRAN(transpose_
 else if ( !strcmp(name,"transpose_xz_result_limits_") ) return (void *)FORTRAN(transpose_xz_result_limits);
 else if ( !strcmp(name,"transpose_xz_compute_") ) return (void *)FORTRAN(transpose_xz_compute);
 
+/* transpose_ye.F */
+else if ( !strcmp(name,"transpose_ye_init_") ) return (void *)FORTRAN(transpose_ye_init);
+else if ( !strcmp(name,"transpose_ye_result_limits_") ) return (void *)FORTRAN(transpose_ye_result_limits);
+else if ( !strcmp(name,"transpose_ye_compute_") ) return (void *)FORTRAN(transpose_ye_compute);
+
+/* transpose_yf.F */
+else if ( !strcmp(name,"transpose_yf_init_") ) return (void *)FORTRAN(transpose_yf_init);
+else if ( !strcmp(name,"transpose_yf_result_limits_") ) return (void *)FORTRAN(transpose_yf_result_limits);
+else if ( !strcmp(name,"transpose_yf_compute_") ) return (void *)FORTRAN(transpose_yf_compute);
+
 /* transpose_yt.F */
 else if ( !strcmp(name,"transpose_yt_init_") ) return (void *)FORTRAN(transpose_yt_init);
 else if ( !strcmp(name,"transpose_yt_result_limits_") ) return (void *)FORTRAN(transpose_yt_result_limits);
@@ -4181,6 +4357,16 @@ else if ( !strcmp(name,"transpose_yz_init_") ) return (void *)FORTRAN(transpose_
 else if ( !strcmp(name,"transpose_yz_result_limits_") ) return (void *)FORTRAN(transpose_yz_result_limits);
 else if ( !strcmp(name,"transpose_yz_compute_") ) return (void *)FORTRAN(transpose_yz_compute);
 
+/* transpose_ze.F */
+else if ( !strcmp(name,"transpose_ze_init_") ) return (void *)FORTRAN(transpose_ze_init);
+else if ( !strcmp(name,"transpose_ze_result_limits_") ) return (void *)FORTRAN(transpose_ze_result_limits);
+else if ( !strcmp(name,"transpose_ze_compute_") ) return (void *)FORTRAN(transpose_ze_compute);
+
+/* transpose_zf.F */
+else if ( !strcmp(name,"transpose_zf_init_") ) return (void *)FORTRAN(transpose_zf_init);
+else if ( !strcmp(name,"transpose_zf_result_limits_") ) return (void *)FORTRAN(transpose_zf_result_limits);
+else if ( !strcmp(name,"transpose_zf_compute_") ) return (void *)FORTRAN(transpose_zf_compute);
+
 /* transpose_zt.F */
 else if ( !strcmp(name,"transpose_zt_init_") ) return (void *)FORTRAN(transpose_zt_init);
 else if ( !strcmp(name,"transpose_zt_result_limits_") ) return (void *)FORTRAN(transpose_zt_result_limits);
@@ -4196,12 +4382,6 @@ else if ( !strcmp(name,"xcat_str_init_") ) return (void *)FORTRAN(xcat_str_init)
 else if ( !strcmp(name,"xcat_str_result_limits_") ) return (void *)FORTRAN(xcat_str_result_limits);
 else if ( !strcmp(name,"xcat_str_compute_") ) return (void *)FORTRAN(xcat_str_compute);
 
-/* bxcat.F */
-else if ( !strcmp(name,"bxcat_init_") ) return (void *)FORTRAN(bxcat_init);
-else if ( !strcmp(name,"bxcat_result_limits_") ) return (void *)FORTRAN(bxcat_result_limits);
-else if ( !strcmp(name,"bxcat_custom_axes_") ) return (void *)FORTRAN(bxcat_custom_axes);
-else if ( !strcmp(name,"bxcat_compute_") ) return (void *)FORTRAN(bxcat_compute);
-
 /* ycat.F */
 else if ( !strcmp(name,"ycat_init_") ) return (void *)FORTRAN(ycat_init);
 else if ( !strcmp(name,"ycat_result_limits_") ) return (void *)FORTRAN(ycat_result_limits);
@@ -4415,21 +4595,6 @@ else if ( !strcmp(name,"write_webrow_gwt_init_") ) return (void *)FORTRAN(write_
 else if ( !strcmp(name,"write_webrow_gwt_result_limits_") ) return (void *)FORTRAN(write_webrow_gwt_result_limits);
 else if ( !strcmp(name,"write_webrow_gwt_compute_") ) return (void *)FORTRAN(write_webrow_gwt_compute);
 
-else if ( !strcmp(name,"bxsequence_init_") ) return (void *)FORTRAN(bxsequence_init);
-else if ( !strcmp(name,"bxsequence_result_limits_") ) return (void *)FORTRAN(bxsequence_result_limits);
-else if ( !strcmp(name,"bxsequence_custom_axes_") ) return (void *)FORTRAN(bxsequence_custom_axes);
-else if ( !strcmp(name,"bxsequence_compute_") ) return (void *)FORTRAN(bxsequence_compute);
-
-else if ( !strcmp(name,"bxsequence_str_init_") ) return (void *)FORTRAN(bxsequence_str_init);
-else if ( !strcmp(name,"bxsequence_str_result_limits_") ) return (void *)FORTRAN(bxsequence_str_result_limits);
-else if ( !strcmp(name,"bxsequence_str_custom_axes_") ) return (void *)FORTRAN(bxsequence_str_custom_axes);
-else if ( !strcmp(name,"bxsequence_str_compute_") ) return (void *)FORTRAN(bxsequence_str_compute);
-
-/* bcompressi.F */
-else if ( !strcmp(name,"bcompressi_init_") ) return (void *)FORTRAN(bcompressi_init);
-else if ( !strcmp(name,"bcompressi_result_limits_") ) return (void *)FORTRAN(bcompressi_result_limits);
-else if ( !strcmp(name,"bcompressi_compute_") ) return (void *)FORTRAN(bcompressi_compute);
-
 /* str_noblanks.F */
 else if ( !strcmp(name,"str_noblanks_init_") ) return (void *)FORTRAN(str_noblanks_init);
 else if ( !strcmp(name,"str_noblanks_compute_") ) return (void *)FORTRAN(str_noblanks_compute);
@@ -4443,6 +4608,46 @@ else if ( !strcmp(name,"expndi_to_et_init_") ) return (void *)FORTRAN(expndi_to_
 else if ( !strcmp(name,"expndi_to_et_work_size_") ) return (void *)FORTRAN(expndi_to_et_work_size);
 else if ( !strcmp(name,"expndi_to_et_compute_") ) return (void *)FORTRAN(expndi_to_et_compute);
 
+/* dot functions*/
+else if ( !strcmp(name,"dot_x_init_") ) return (void *)FORTRAN(dot_x_init);
+else if ( !strcmp(name,"dot_x_compute_") ) return (void *)FORTRAN(dot_x_compute);
+
+else if ( !strcmp(name,"dot_y_init_") ) return (void *)FORTRAN(dot_y_init);
+else if ( !strcmp(name,"dot_y_compute_") ) return (void *)FORTRAN(dot_y_compute);
+
+else if ( !strcmp(name,"dot_z_init_") ) return (void *)FORTRAN(dot_z_init);
+else if ( !strcmp(name,"dot_z_compute_") ) return (void *)FORTRAN(dot_z_compute);
+
+else if ( !strcmp(name,"dot_t_init_") ) return (void *)FORTRAN(dot_t_init);
+else if ( !strcmp(name,"dot_t_compute_") ) return (void *)FORTRAN(dot_t_compute);
+
+else if ( !strcmp(name,"dot_e_init_") ) return (void *)FORTRAN(dot_e_init);
+else if ( !strcmp(name,"dot_e_compute_") ) return (void *)FORTRAN(dot_e_compute);
+
+else if ( !strcmp(name,"dot_f_init_") ) return (void *)FORTRAN(dot_f_init);
+else if ( !strcmp(name,"dot_f_compute_") ) return (void *)FORTRAN(dot_f_compute);
+
+/* tracks2grid_mask_ave_xyt.F */
+else if ( !strcmp(name,"tracks2grid_mask_ave_xyt_init_") ) return (void *)FORTRAN(tracks2grid_mask_ave_xyt_init);
+else if ( !strcmp(name,"tracks2grid_mask_ave_xyt_work_size_") ) return (void *)FORTRAN(tracks2grid_mask_ave_xyt_work_size);
+else if ( !strcmp(name,"tracks2grid_mask_ave_xyt_compute_") ) return (void *)FORTRAN(tracks2grid_mask_ave_xyt_compute);
+
+/*  tracks2grid_std_xyt.F */
+else if ( !strcmp(name,"tracks2grid_std_xyt_init_") ) return (void *)FORTRAN( tracks2grid_std_xyt_init);
+else if ( !strcmp(name,"tracks2grid_std_xyt_work_size_") ) return (void *)FORTRAN( tracks2grid_std_xyt_work_size);
+else if ( !strcmp(name,"tracks2grid_std_xyt_compute_") ) return (void *)FORTRAN( tracks2grid_std_xyt_compute);
+
+/*  scat2grid_minmax_xyt.F */
+else if ( !strcmp(name,"scat2grid_minmax_xyt_init_") ) return (void *)FORTRAN( scat2grid_minmax_xyt_init);
+else if ( !strcmp(name,"scat2grid_minmax_xyt_result_limits_") ) return (void *)FORTRAN( scat2grid_minmax_xyt_result_limits);
+else if ( !strcmp(name,"scat2grid_minmax_xyt_work_size_") ) return (void *)FORTRAN( scat2grid_minmax_xyt_work_size);
+else if ( !strcmp(name,"scat2grid_minmax_xyt_compute_") ) return (void *)FORTRAN( scat2grid_minmax_xyt_compute);
+
+/*  scat2grid_std_xyt.F */
+else if ( !strcmp(name,"scat2grid_std_xyt_init_") ) return (void *)FORTRAN( scat2grid_std_xyt_init);
+else if ( !strcmp(name,"scat2grid_std_xyt_work_size_") ) return (void *)FORTRAN( scat2grid_std_xyt_work_size);
+else if ( !strcmp(name,"scat2grid_std_xyt_compute_") ) return (void *)FORTRAN( scat2grid_std_xyt_compute);
+
 return NULL;
  }
 /*  End of function pointer list for internally-linked External Functions
diff --git a/fer/ccr/SOURCE_FILES b/fer/ccr/SOURCE_FILES
index ee61463..807cef0 100644
--- a/fer/ccr/SOURCE_FILES
+++ b/fer/ccr/SOURCE_FILES
@@ -1,5 +1,4 @@
 SRCS_C = \
-add_c_pointer.c\
 backing_store_enabled.c\
 batch_graphics.c\
 binaryRead.c\
@@ -17,6 +16,7 @@ check_nan_data_sub.c\
 copy_buffered_window.c\
 compare_c_strings.c\
 copy_c_string.c\
+dynmemUtil.c\
 perl_read.c\
 EF_InternalUtil.c\
 fermain_c.c\
@@ -25,9 +25,13 @@ ferret_query.c\
 free_cached_full_array.c\
 free_c_pointer.c\
 free_c_string_array.c\
+free_dyn_mem.c\
+get_c_pointer.c\
 get_c_string.c\
 get_c_string_len.c\
 get_max_c_string_len.c\
+get_mr_mem.c\
+get_ws_mem.c\
 get_offset_c_string.c\
 get_offset_c_string_len.c\
 get_sys_cmnd.c\
@@ -36,6 +40,8 @@ grab_image_xwd.c\
 init_c_string_array.c\
 linux_routines_c.c\
 list.c\
+nullify_mr.c\
+nullify_ws.c\
 put_frame.c\
 recover_cached_2d_array_point.c\
 recover_cached_full_array.c\
diff --git a/fer/ccr/add_c_pointer.c b/fer/ccr/dynmemUtil.c
similarity index 51%
copy from fer/ccr/add_c_pointer.c
copy to fer/ccr/dynmemUtil.c
index 6f93ed9..ea93de2 100644
--- a/fer/ccr/add_c_pointer.c
+++ b/fer/ccr/dynmemUtil.c
@@ -1,12 +1,11 @@
 /*
-*
 *  This software was developed by the Thermal Modeling and Analysis
 *  Project(TMAP) of the National Oceanographic and Atmospheric
 *  Administration's (NOAA) Pacific Marine Environmental Lab(PMEL),
 *  hereafter referred to as NOAA/PMEL/TMAP.
 *
 *  Access and use of this software shall impose the following
-*  obligations and understandings on the user. The user is granted the
+*  obligations and understandings on the user. The user is granteHd the
 *  right, without any fee or cost, to use, copy, modify, alter, enhance
 *  and distribute this software, and any derivative works thereof, and
 *  its supporting documentation for any purpose whatsoever, provided
@@ -30,34 +29,93 @@
 *  INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
 *  RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF
 *  CONTRACT, NEGLIGENCE OR OTHER TORTUOUS ACTION, ARISING OUT OF OR IN
-*  CONNECTION WITH THE ACCESS, USE OR PERFORMANCE OF THIS SOFTWARE.  
+*  CONNECTION WITH THE ACCESS, USE OR PERFORMANCE OF THIS SOFTWARE.
+*
 */
 
-
-/* 
- * Add integer offset to the given pointer.
- * Pointer may be spaced "naturally" (del=0) or at 8 byte intervals (del=1).
+/* dynmemUtil.c
+ *
+ * Steve Hankin
+ * Jan. 2017
+ *
+ * This file contains the utility functions which Ferret
+ * needs in order to pass an array of dynamic memory pointers (mr_list)
+ * to c.  It bypasses the difficulties of passing the FORTRAN derived type
+ * of pointers directly as an array
  *
+ * V702 *sh*   1/17 
+*/
+
+
+
+/* .................... Includes .................... */
+
+#include <sys/types.h>	        /* required for some of our prototypes */
+#include <sys/stat.h>
+#include <sys/errno.h>
+
+#include <unistd.h>		/* for convenience */
+#include <stdlib.h>		/* for convenience */
+#include <stdio.h>		/* for convenience */
+#include <string.h>		/* for convenience */
+
+
+#include "ferret.h"
+#include "EF_Util.h"
+
+
+/* prototypes */
+void FORTRAN(dynmem_make_ptr_array)(int* n, long* mr_ptrs_val, int* status);
+void FORTRAN(dynmem_pass_1_ptr)(int* iarg, DFTYPE* arg_ptr, long* mr_ptrs_val);
+void FORTRAN(dynmem_free_ptr_array)(long* mr_ptrs_val);
+
+
+/*
+ * Create a pointer array in c.  Pass the pointer back as an long int value.
  */
+void FORTRAN(dynmem_make_ptr_array)(int* n, long* mr_ptrs_val, int* status)
+{
+  int size;
+  DFTYPE** mr_ptrs;
+  *status = FERR_OK;  // default
+
+  size = sizeof(DFTYPE*) * *n;
+  mr_ptrs = (DFTYPE**)malloc(size);
+
+  if ( mr_ptrs == NULL ) { 
+    fprintf(stderr, "**ERROR in dynmem_make_ptr_array");
+    *status = FERR_EF_ERROR;
+    return;
+  }
 
-#include <stdlib.h>
 
-double add_c_pointer_(ptr, del, offset)
-     char*** ptr;
-     int* del;
-     int* offset;
+  *mr_ptrs_val = (long)mr_ptrs; 
+}
+
+/*
+ * Insert one pointer (from FORTRAN) into the c pointer array
+ */
+void FORTRAN(dynmem_pass_1_ptr)(int* iarg, DFTYPE* arg_ptr, long* mr_ptrs_val)
 {
+  int iarg_c = *iarg-1;   // FORTRAN index to c index
+  DFTYPE**  mr_ptrs;
 
-  int delta = *del ? 8/sizeof(char**) : 1;
-  union ptr_or_doub
-  {
-    double d;
-    char** ptr;
-  };
-  union ptr_or_doub new_ptr;
+  mr_ptrs = (DFTYPE**) *mr_ptrs_val;
 
-  new_ptr.ptr = *ptr + (*offset * delta) ;
+  mr_ptrs[iarg_c]  = arg_ptr;
+}
+
+
+/*
+ * Free the pointer array
+ */
+void FORTRAN(dynmem_free_ptr_array)(long* mr_ptrs_val)
+{
+  DFTYPE** mr_ptrs;
 
-  return new_ptr.d;
+  mr_ptrs = (DFTYPE**) *mr_ptrs_val;
 
+  free(mr_ptrs);
 }
+
+
diff --git a/fer/ccr/fermain_c.c b/fer/ccr/fermain_c.c
index d3ccf9f..b86ce31 100644
--- a/fer/ccr/fermain_c.c
+++ b/fer/ccr/fermain_c.c
@@ -135,6 +135,8 @@
 *                    definition of macro DFTYPE in ferret.h. ppl_memory remains float.
 * *kms*  2/16      - only catch/handle crash signals and exit gracefully if NDEBUG is defined;
 *                    if debug build, let it crash
+* *sh*  2/17       - removed global "memory" -- now 1 malloc per Ferret var
+* *acm* 5/17       - restore -memsize switch to make the initial SET MEMORY setting
 */
 
 #include <unistd.h>
@@ -152,18 +154,17 @@ char script_args[2048];
 int arg_pos;
 
 DFTYPE **gui_get_memory();
-static void command_line_run(DFTYPE **memory);
+static void command_line_run();
 
 void help_text()
 {
   printf(
-	 "Usage:  ferret [-memsize Mflts] [-batch [outfile]] [-server] [-secure] [-gif] [-gui] [-unmapped] [-help] [-nojnl] [-noverify] [-script [args]]\n"
+	 "Usage:  ferret [-memsize Mflts] [-batch [outfile]] [-server] [-secure] [-gif] [-unmapped] [-help] [-nojnl] [-noverify] [-script [args]]\n"
          "   -memsize:  specify the memory cache size (default 25.6) in mega (10^6) flts where a flt\n"
-         "              is 8 bytes in double-precision Ferret, 4 bytes in single-precision Ferret\n"
+         "              is 8 bytes in double-precision Ferret\n"
          "   -batch:  output directly to metafile \"outfile\" w/out X windows\n"
          "   -unmapped:  use invisible output windows (superceded by -batch)\n"
          "   -gif:  output to GIF file w/o X windows only w/ FRAME command\n"
-         "   -gui:  to start Ferret in point and click mode (not available on all platforms)\n"
          "   -secure:  run securely -- don't allow system commands\n"
          "   -server:  run in server mode -- don't stop on message commands\n"
          "   -help:  obtain this listing\n"
@@ -194,14 +195,7 @@ static void fer_signal_handler(int signal_num)
  * JS
  */
 
-static int ttout_lun=TTOUT_LUN,
-  max_mem_blks=PMAX_MEM_BLKS,
-  mem_blk_size,
-  old_mem_blk_size,
-  pmemsize;
-
-/* make mem_size the appropriate type for malloc (size_t usually unsigned long) */
-static size_t mem_size = PMEM_BLK_SIZE * PMAX_MEM_BLKS;
+static int ttout_lun=TTOUT_LUN;
 
 
 main (int oargc, char *oargv[])
@@ -214,7 +208,7 @@ main (int oargc, char *oargv[])
 
   int i=1;
   int j=1;
-  double rmem_size;
+  double rmem_size = 0;
   int using_gui = 0;
   int pplmem_size;
 
@@ -247,7 +241,8 @@ main (int oargc, char *oargv[])
 #endif
 
   /* decode the command line options: "-memsize", and "-unmapped" */
-  rmem_size = (double)mem_size/1.E6;
+  // pre-2017 code:   rmem_size = (double)mem_size/1.E6;
+  /* 5/17     pass rmem_size as is to init_memory, convert it there*/ 
   while (i<argc) {
     if (strcmp(argv[i],"-version")==0){
       FORTRAN(version_only)();
@@ -256,7 +251,7 @@ main (int oargc, char *oargv[])
       if (++i==argc) help_text();
       if ( sscanf(argv[i++],"%lf",&rmem_size) != 1 ) help_text();
       if ( rmem_size <= 0.0 ) help_text();
-      mem_size = (size_t)(rmem_size * 1.E6);
+      // pre-2017 code:    mem_size = (size_t)(rmem_size * 1.E6);
     } else if (strcmp(argv[i],"-unmapped")==0) {
       WindowMapping(0);  /* new routine added to xopws.c */
       i++;    /* advance to next argument */
@@ -288,14 +283,6 @@ main (int oargc, char *oargv[])
       verify_flag = 0;    
 	  ++i;
       
-    } else if (strcmp(argv[i],"-gui")==0) {
-      i++;
-      if (gui_enabled){
-	using_gui = 1;  /* new routine added to xopws.c */
-      } else {
-	fprintf(stderr,
-		"Warning: the -gui flag has no effect on this platform\n");
-      }
     /* -script mode implies -server and -nojnl */
     } else if (strcmp(argv[i],"-script")==0)  {
 
@@ -368,21 +355,26 @@ main (int oargc, char *oargv[])
   }
 
   /* initial allocation of memory space */
-  mem_blk_size =  mem_size / max_mem_blks;
-  j = (int)(mem_size - ((size_t)mem_blk_size * (size_t) max_mem_blks));
-  if ( (mem_blk_size <= 0) || (j < 0) || (j >= max_mem_blks) ) { 
-    printf("Internal overflow expressing %#.1f Mwords as words (%lu) \n",rmem_size,(unsigned long)mem_size);
-    printf("Unable to allocate the requested %#.1f Mwords of memory.\n",rmem_size);
-    exit(0);
-  }
-  /* Reset mem_size to exactly the size Ferret thinks it is being handed */
-  mem_size = (size_t)mem_blk_size * (size_t)max_mem_blks;
-  *memory = (DFTYPE *) malloc(mem_size*sizeof(DFTYPE));
 
-  if ( *memory == NULL ) {
-    printf("Unable to allocate the requested %#.1f Mwords of memory.\n",(double)mem_size/1.E6);
-    exit(0);
-  }
+  /* ***** COMMENTED OUT 2/2017 with removal of block-oriented memory */
+
+  //  mem_blk_size =  mem_size / max_mem_blks;
+  //  j = (int)(mem_size - ((size_t)mem_blk_size * (size_t) max_mem_blks));
+  //  if ( (mem_blk_size <= 0) || (j < 0) || (j >= max_mem_blks) ) { 
+  //    printf("Internal overflow expressing %#.1f Mwords as words (%lu) \n",rmem_size,(unsigned long)mem_size);
+  //    printf("Unable to allocate the requested %#.1f Mwords of memory.\n",rmem_size);
+  //    exit(0);
+  //  }
+  //  /* Reset mem_size to exactly the size Ferret thinks it is being handed */
+  //  mem_size = (size_t)mem_blk_size * (size_t)max_mem_blks;
+  //  *memory = (DFTYPE *) malloc(mem_size*sizeof(DFTYPE));
+  //
+  //  if ( *memory == NULL ) {
+  //    printf("Unable to allocate the requested %#.1f Mwords of memory.\n",(double)mem_size/1.E6);
+  //    exit(0);
+  //  }
+
+  /* ***** END OF COMMENTED OUT MEMORY CODE */
  
   /* initial allocation of PPLUS memory size pointer*/
   pplmem_size = (int)(0.5* 1.E6);  
@@ -409,12 +401,12 @@ main (int oargc, char *oargv[])
   }
 
   /* initialize size and shape of memory and linked lists */
-  FORTRAN(init_memory)( &mem_blk_size, &max_mem_blks );
+  FORTRAN(init_memory)(&rmem_size);
 
   if ( using_gui ) {
     gui_run(&argc, argv);
   } else {
-    command_line_run(memory);
+    command_line_run();
   }
   /* 
    *kob* 5/97 - need to close f90 files and flush buffers.....
@@ -428,14 +420,13 @@ main (int oargc, char *oargv[])
 #endif
 }
 
-  static void command_line_run(DFTYPE **memory){
+  static void command_line_run(){
 
   FILE *fp = 0;
   char init_command[2176], script_file[2048], *home = getenv("HOME");
   int ipath = 0;
   int len_str = 0;
   int script_resetmem = 0;
-  size_t blk_size;
   double rmem_size;
 
   /* turn on ^C interrupts  */
@@ -501,9 +492,9 @@ main (int oargc, char *oargv[])
 
 	if ( script_resetmem == 0 )
 	  {
-      ferret_dispatch_c( *memory, init_command, sBuffer );
+      ferret_dispatch_c( init_command, sBuffer );
 	  } else {
-	  ferret_dispatch_c( *memory, " ", sBuffer );
+	  ferret_dispatch_c( " ", sBuffer );
 	  script_resetmem = 0;
 	  }
 
@@ -517,42 +508,48 @@ main (int oargc, char *oargv[])
 
     /* ***** REALLOCATE MEMORY ***** */
     if (sBuffer->flags[FRTN_ACTION] == FACTN_MEM_RECONFIGURE) {
-      old_mem_blk_size = mem_blk_size;
-      mem_blk_size = sBuffer->flags[FRTN_IDATA1];
-      mem_size = (size_t)mem_blk_size * (size_t)max_mem_blks;
-      /* Make sure this has not overflowed */
-      blk_size = mem_size / (size_t) max_mem_blks;
-      if ( blk_size != (size_t)mem_blk_size ) {
-        rmem_size = (double)mem_blk_size * (double)max_mem_blks / 1.0E6;
-        printf("Internal overflow expressing %#.1f Mwords as words (%lu) \n",rmem_size,(unsigned long)mem_size);
-        printf("Unable to allocate the requested %#.1f Mwords of memory.\n",rmem_size);
-	mem_blk_size = old_mem_blk_size;
-	mem_size = (size_t)mem_blk_size * (size_t)max_mem_blks;
-	printf("Memory remaining at %#.1f Mwords.\n", (double)mem_size/1.E6);
-      }
-      else {
-        /*
-	  printf("memory reconfiguration requested: %lu\n",(unsigned long)mem_size);
-	  printf("new mem_blk_size = %d\n",mem_blk_size);
-        */
-        free( (void *) *memory );
-        *memory = (DFTYPE *) malloc(mem_size*sizeof(DFTYPE));
-
-        if ( *memory == NULL ) {
-          printf("Unable to allocate %#.1f Mwords of memory.\n", (double)mem_size/1.E6);
-          mem_blk_size = old_mem_blk_size;
-          mem_size = (size_t)mem_blk_size * (size_t)max_mem_blks;
-          *memory = (DFTYPE *) malloc(mem_size*sizeof(DFTYPE));
-
-          if ( *memory == NULL ) {
-            printf("Unable to reallocate previous memory of %#.1f Mwords.\n",(double)(mem_size)/1.E6);
-            exit(0);
-          }
-	  printf("Restoring previous memory of %#.1f Mwords.\n", (double)(mem_size)/1.E6);
-        }
-      }
-      FORTRAN(init_memory)( &mem_blk_size, &max_mem_blks );
-      script_resetmem = 1;
+
+      /* TAKE NO ACTION -- MEMORY NO LONGER ALLOCATED HERE */
+
+/* **** START OF PRE-2017 MEMORY MANAGEMENT CODE */
+//      old_mem_blk_size = mem_blk_size;
+//      mem_blk_size = sBuffer->flags[FRTN_IDATA1];
+//      mem_size = (size_t)mem_blk_size * (size_t)max_mem_blks;
+//      /* Make sure this has not overflowed */
+//      blk_size = mem_size / (size_t) max_mem_blks;
+//      if ( blk_size != (size_t)mem_blk_size ) {
+//        rmem_size = (double)mem_blk_size * (double)max_mem_blks / 1.0E6;
+//        printf("Internal overflow expressing %#.1f Mwords as words (%lu) \n",rmem_size,(unsigned long)mem_size);
+//        printf("Unable to allocate the requested %#.1f Mwords of memory.\n",rmem_size);
+//	mem_blk_size = old_mem_blk_size;
+//	mem_size = (size_t)mem_blk_size * (size_t)max_mem_blks;
+//	printf("Memory remaining at %#.1f Mwords.\n", (double)mem_size/1.E6);
+//      }
+//      else {
+//        /*
+//	  printf("memory reconfiguration requested: %lu\n",(unsigned long)mem_size);
+//	  printf("new mem_blk_size = %d\n",mem_blk_size);
+//        */
+//        free( (void *) *memory );
+//        *memory = (DFTYPE *) malloc(mem_size*sizeof(DFTYPE));
+//
+//        if ( *memory == NULL ) {
+//          printf("Unable to allocate %#.1f Mwords of memory.\n", (double)mem_size/1.E6);
+//          mem_blk_size = old_mem_blk_size;
+//          mem_size = (size_t)mem_blk_size * (size_t)max_mem_blks;
+//          *memory = (DFTYPE *) malloc(mem_size*sizeof(DFTYPE));
+//
+//          if ( *memory == NULL ) {
+//            printf("Unable to reallocate previous memory of %#.1f Mwords.\n",(double)(mem_size)/1.E6);
+//            exit(0);
+//          }
+//	  printf("Restoring previous memory of %#.1f Mwords.\n", (double)(mem_size)/1.E6);
+//        }
+//      }
+//      FORTRAN(init_memory)();
+//      script_resetmem = 1;
+/* **** END OF PRE-2017 MEMORY MANAGEMENT CODE */
+
     }
 
     /* ***** EXIT ***** */
diff --git a/fer/ccr/ferret_dispatch_c.c b/fer/ccr/ferret_dispatch_c.c
index 41b60aa..f6fc2ea 100644
--- a/fer/ccr/ferret_dispatch_c.c
+++ b/fer/ccr/ferret_dispatch_c.c
@@ -54,6 +54,7 @@
 *   *js* 6.99 Set line buffering if in server mode
 *  *acm* 1/12 - Ferret 6.8 ifdef double_p for double-precision ferret, see the
 *              definition of macro DFTYPE in ferret.h 
+*  *sh* 1/17 - trac enhancement #2369 -- dynamic memory management 
 */
 
 #include <unistd.h>
@@ -69,25 +70,24 @@
 #   ifdef _NO_PROTO
 void ferret_dispatch_( );
 #   else
-void ferret_dispatch( DFTYPE *memory, char *init_command, int *rtn_flags,
-		       int *nflags, char *rtn_chars, int *nchars, int *nerrlines );
+void ferret_dispatch( char *init_command, int *rtn_flags,
+		      int *nflags, char *rtn_chars, int *nchars, int *nerrlines );
 #   endif
 #else                     /*NO_ENTRY_NAME_UNDERSCORES*/
 #   ifdef _NO_PROTO
 void ferret_dispatch_( );
 #   else
-void ferret_dispatch_( DFTYPE *memory, char *init_command, int *rtn_flags,
+void ferret_dispatch_( char *init_command, int *rtn_flags,
 		       int *nflags, char *rtn_chars, int *nchars, int *nerrlines );
 #   endif
 #endif                    /*NO_ENTRY_NAME_UNDERSCORES*/
 
 #ifdef _NO_PROTO
-void ferret_dispatch_c( memory, init_command, sBuffer )
-DFTYPE *memory;
+void ferret_dispatch_c( init_command, sBuffer )
 char *init_command;
 smPtr sBuffer;
 #else
-void ferret_dispatch_c( DFTYPE *memory, char *init_command, smPtr sBuffer )
+void ferret_dispatch_c( char *init_command, smPtr sBuffer )
 #endif
 {
   int flag_buff_size  = NUMFLAGS;
@@ -97,13 +97,15 @@ void ferret_dispatch_c( DFTYPE *memory, char *init_command, smPtr sBuffer )
 /* call the FORTRAN program that actually does the FERRET command */
 /* all arguments must be pointers for FORTRAN */
 /*ifdef check added 5/95 *kob* */
+/* 1/17 *sh* removed the "memory" argument -- replaced by dynamic allocation
+   of hyperslab memory using FORTRAN90 pointers and c (or python) */
 
 #ifdef NO_ENTRY_NAME_UNDERSCORES
   ferret_dispatch
 #else
   ferret_dispatch_
 #endif
-                  ( memory, init_command, sBuffer->flags, &flag_buff_size,
+                  ( init_command, sBuffer->flags, &flag_buff_size,
 		    sBuffer->text, &TEXTLENGTH_size, &(sBuffer->numStrings) );
 
   return;
diff --git a/fer/ccr/free_dyn_mem.c b/fer/ccr/free_dyn_mem.c
new file mode 100644
index 0000000..91641b8
--- /dev/null
+++ b/fer/ccr/free_dyn_mem.c
@@ -0,0 +1,33 @@
+/*
+ * use gcc -c free_mem_ptr.c
+ *
+ * free c heap storage that was used by a Ferret mvar
+ *
+ * V702 1/17 *sh* for trac enhancement #2369 -- dynamic memory management
+ */
+
+#include <stdlib.h>
+/*  the relevant definition of "FORTRAN" pulled from
+ *   #include "../common/ferret.h"
+ */
+#ifndef FORTRAN
+#ifdef NO_ENTRY_NAME_UNDERSCORES
+#define FORTRAN(a) a
+#else
+#define FORTRAN(a) a##_
+#endif
+#endif
+
+
+void FORTRAN(free_dyn_mem) ( double *mvar )
+
+/*
+  input  - mvar: pointer to memory allocated to Ferret variable, "mvar"
+*/
+
+{
+
+  free(mvar);
+
+  return;
+}
diff --git a/fer/ccr/add_c_pointer.c b/fer/ccr/get_c_pointer.c
similarity index 84%
rename from fer/ccr/add_c_pointer.c
rename to fer/ccr/get_c_pointer.c
index 6f93ed9..c9db52f 100644
--- a/fer/ccr/add_c_pointer.c
+++ b/fer/ccr/get_c_pointer.c
@@ -35,29 +35,25 @@
 
 
 /* 
- * Add integer offset to the given pointer.
- * Pointer may be spaced "naturally" (del=0) or at 8 byte intervals (del=1).
+ * Return the given pointer as a REAL*8
  *
  */
 
 #include <stdlib.h>
 
-double add_c_pointer_(ptr, del, offset)
-     char*** ptr;
-     int* del;
-     int* offset;
+double get_c_pointer_(char** mr_ptr, char** mr_ptr_val)
 {
 
-  int delta = *del ? 8/sizeof(char**) : 1;
-  union ptr_or_doub
+  union ptr_or_val
   {
-    double d;
+    char*  val;
     char** ptr;
   };
-  union ptr_or_doub new_ptr;
+  union ptr_or_val my_conversion;
 
-  new_ptr.ptr = *ptr + (*offset * delta) ;
+  my_conversion.ptr = mr_ptr;
+  *mr_ptr_val = my_conversion.val;
 
-  return new_ptr.d;
+  return;
 
 }
diff --git a/fer/ccr/get_mr_mem.c b/fer/ccr/get_mr_mem.c
new file mode 100644
index 0000000..f568cb4
--- /dev/null
+++ b/fer/ccr/get_mr_mem.c
@@ -0,0 +1,52 @@
+/*
+ *
+ * Allocate c heap storage needed for the storage of Ferret mrs
+ * and pass the pointer to it to an FORTRAN 90
+ * routine that will save it in COMMON
+ *
+ * V702 1/17 *sh* for trac enhancement #2369 -- dynamic memory management
+ *
+ */
+
+/* F90 pointers are not true pointers.  Instead they are simply names that 
+ serve as aliases for normal FORTRAN variables.  The only way I could think
+ of to pass the c-malloc'ed pointer into the F90 pointer was to disguise
+ it as a normal FORTRAN variable by passing it as a subroutine argument.
+*/
+
+#include <stdlib.h>
+/*  the relevant definition of "FORTRAN" pulled from
+ *   #include "../common/ferret.h"
+ */
+#ifndef FORTRAN
+#ifdef NO_ENTRY_NAME_UNDERSCORES
+#define FORTRAN(a) a
+#else
+#define FORTRAN(a) a##_
+#endif
+#endif
+
+
+void FORTRAN(get_mr_mem)( double *index, int *alen, int *status )
+
+/*
+  input  - index:  Ferret mr index at which to store the array pointer
+  input  - alen:   array length
+*/
+
+{
+
+  double *pointer;
+
+  pointer = (double *) malloc(sizeof(double) * (*alen));
+
+  if (pointer)
+    {
+      FORTRAN(store_mr_ptr) (index, alen, pointer);
+      *status = 3;
+    }
+  else
+    *status = 0;
+
+  return;
+}
diff --git a/fer/ccr/get_ws_mem.c b/fer/ccr/get_ws_mem.c
new file mode 100644
index 0000000..ae81d9c
--- /dev/null
+++ b/fer/ccr/get_ws_mem.c
@@ -0,0 +1,42 @@
+/*
+ *
+ * Allocate c heap storage needed for the storage of Ferret work storage
+ * and pass the pointer to it to an FORTRAN 90
+ * routine that will save it in COMMON
+ *
+ * V702 1/17 *sh* for trac enhancement #2369 -- dynamic memory management
+ *
+ */
+
+/* F90 pointers are not true pointers.  Instead they are simply names that 
+ serve as aliases for normal FORTRAN variables.  The only way I could think
+ of to pass the c-malloc'ed pointer into the F90 pointer was to disguise
+ it as a normal FORTRAN variable by passing it as a subroutine argument.
+*/
+
+#include <stdlib.h>
+#include "ferret.h"
+
+void FORTRAN(get_ws_mem)( int *index, long *alen, int *status )
+
+/*
+  input  - index:  Ferret ws index at which to store the array pointer
+  input  - alen:   array length
+*/
+
+{
+
+  double *pointer;
+
+  pointer = (double *) malloc(sizeof(double) * (*alen));
+
+  if (pointer)
+    {
+      FORTRAN(store_ws_ptr) (index, alen, pointer);
+      *status = 3;
+    }
+  else
+    *status = 0;
+
+  return;
+}
diff --git a/fer/ccr/nullify_mr.c b/fer/ccr/nullify_mr.c
new file mode 100644
index 0000000..3cf87a0
--- /dev/null
+++ b/fer/ccr/nullify_mr.c
@@ -0,0 +1,39 @@
+/*
+ * use gcc -c nullify_mr.c
+ *
+ * set the F90 array pointer to null
+ *
+ * V702 1/17 *sh* for trac enhancement #2369 -- dynamic memory management
+ *
+ */
+
+
+#include <stdlib.h>
+/*  the relevant definition of "FORTRAN" pulled from
+ *   #include "../common/ferret.h"
+ */
+#ifndef FORTRAN
+#ifdef NO_ENTRY_NAME_UNDERSCORES
+#define FORTRAN(a) a
+#else
+#define FORTRAN(a) a##_
+#endif
+#endif
+
+
+void FORTRAN(nullify_mr)( int *mr )
+
+/*
+  input  - mr:  Ferret mr index at which to store the array pointer
+*/
+
+{
+
+  double *nul_ptr;
+
+  nul_ptr = (double *) NULL;
+
+  FORTRAN(store_nul_mr_ptr) (mr, nul_ptr);
+
+  return;
+}
diff --git a/fer/ccr/nullify_ws.c b/fer/ccr/nullify_ws.c
new file mode 100644
index 0000000..def9ee9
--- /dev/null
+++ b/fer/ccr/nullify_ws.c
@@ -0,0 +1,39 @@
+/*
+ * use gcc -c nullify_ws.c
+ *
+ * set the F90 array pointer to null
+ *
+ * V702 1/17 *sh* for trac enhancement #2369 -- dynamic memory management
+ *
+ */
+
+
+#include <stdlib.h>
+/*  the relevant definition of "FORTRAN" pulled from
+ *   #include "../common/ferret.h"
+ */
+#ifndef FORTRAN
+#ifdef NO_ENTRY_NAME_UNDERSCORES
+#define FORTRAN(a) a
+#else
+#define FORTRAN(a) a##_
+#endif
+#endif
+
+
+void FORTRAN(nullify_ws)( int *ws )
+
+/*
+  input  - ws:  Ferret ws index at which to store the array pointer
+*/
+
+{
+
+  double *nul_ptr;
+
+  nul_ptr = (double *) NULL;
+
+  FORTRAN(store_nul_ws_ptr) (ws, nul_ptr);
+
+  return;
+}
diff --git a/fer/common/EF_Util.h b/fer/common/EF_Util.h
index 4a78ece..ef49952 100644
--- a/fer/common/EF_Util.h
+++ b/fer/common/EF_Util.h
@@ -15,6 +15,7 @@
 *                  Ferret will run XCAT_STR
 * V664  9/10 *kms* Add EF_PYTHON
 *       3/12 *kms* Add E and F dimensions; use NFERDIMS
+* V702  1/17 *sh* prototype of ef_get_one_val_sub altered
 */
 
 
@@ -85,6 +86,7 @@ typedef struct {
   DFTYPE version;
   char description[EF_MAX_DESCRIPTION_LENGTH];
   char alt_fcn_name[EF_MAX_NAME_LENGTH];
+  char alt_base_fcn_name[EF_MAX_NAME_LENGTH];
   int  language;
   int  num_reqd_args, has_vari_args;
   int  num_work_arrays;
@@ -94,6 +96,7 @@ typedef struct {
   int  axis_reduction[NFERDIMS];
   int  piecemeal_ok[NFERDIMS];
   int  return_type;
+  int  direction_args[NFERDIMS];
   Axis axis[NFERDIMS];
 
   /* Information specific to each argument of the function */
@@ -144,8 +147,7 @@ extern void FORTRAN(ef_get_box_limits)(int *id, int *arg, int *axis, int *lo, in
 /* the modlen argument in ef_get_axis_modulo_len is explicitly real*8 */
 extern void FORTRAN(ef_get_axis_modulo_len)(int *id, int *arg, int *axis, double *modlen);
 
-extern void FORTRAN(ef_get_one_val_sub)(int *id_ptr, DFTYPE *mem_ptr,
-                                        int *arg_ptr, DFTYPE *val_ptr);
+extern void FORTRAN(ef_get_one_val_sub)(int *id_ptr, int *arg_ptr, DFTYPE *val_ptr);
 
 /* these are called by the 4D function definitions */
 extern void FORTRAN(ef_set_axis_influence_6d)(int *id_ptr, int *arg,
diff --git a/fer/common/errmsg.parm b/fer/common/errmsg.parm
index 05dbe9e..ba53a13 100644
--- a/fer/common/errmsg.parm
+++ b/fer/common/errmsg.parm
@@ -9,6 +9,8 @@
 * V684 9/12 *acm*  - Add error code for file not found
 *                    (error message for font files not found)
 * V685+ *sh* 10/13 - added ferr_unknown_auxvar
+* V72  *acm*  6/17 - add ferr_ppl_error to call errmsg routine for syntax
+*                    errors calling PPLUS, see ticket 2543
 
 * error coding:
 *	gspecial +1--> gnoreport	- error codes requiring special action
@@ -87,6 +89,7 @@
      .			ferr_remotevar_error,
      .			ferr_file_not_found,
      .			ferr_unknown_auxvar,
+     .			ferr_ppl_error,
      .			ferr_sys_return
 	PARAMETER     ( ferr_insuff_memory	= greport		+ 1,
      .			ferr_too_many_vars	= ferr_insuff_memory	+ 1,
@@ -128,11 +131,13 @@
      .			ferr_ef_error	        = ferr_unknown_command	+ 1,
      .			ferr_data_type	        = ferr_ef_error 	+ 1,
      .			ferr_nomessge	        = ferr_data_type 	+ 1,
-     .                  ferr_unknown_attribute  = ferr_nomessge         + 1,
-     .                  ferr_not_attribute      = ferr_unknown_attribute+ 1,
+     .                  ferr_unknown_attribute  = ferr_nomessge         + 1)
+
+	PARAMETER     ( ferr_not_attribute      = ferr_unknown_attribute+ 1,
      .                  ferr_aggregate_error    = ferr_not_attribute    + 1,
      .                  ferr_remotevar_error    = ferr_aggregate_error  + 1,
      .                  ferr_file_not_found     = ferr_remotevar_error  + 1,
      .			ferr_unknown_auxvar	= ferr_file_not_found   + 1,
-     .			ferr_sys_return		= ferr_unknown_auxvar   + 1)
-	PARAMETER     ( gnum_report	= 46 )
+     .			ferr_ppl_error		= ferr_unknown_auxvar   + 1,
+     .			ferr_sys_return		= ferr_ppl_error        + 1)
+	PARAMETER     ( gnum_report	= 47 )
diff --git a/fer/common/ferret.parm b/fer/common/ferret.parm
index 0fe1c76..e4a546a 100644
--- a/fer/common/ferret.parm
+++ b/fer/common/ferret.parm
@@ -58,7 +58,8 @@
 * V710 *acm* 10/16 Ticket 2422: variables uvar_grid, uvar_data_type, uvar_aux_cat, 
 *                  uvar_aux_var replaced with calls to LIST routines in NCF_Util.c 
 *                  Increase size of max_gfdl_dsets and max_grids
-
+* V720: 4/17 *acm* Add direction-changing functions as a subset of grid-changing ones
+* V720: 6/17 *acm* Ticket 2346: new @IIN regridding transform
 
 * this should always match maxdsets in TMAP_FORMAT:
 	INTEGER		max_gfdl_dsets
@@ -399,7 +400,8 @@
      .			prgrd_nbin,
      .			prgrd_from_source,
      .			prgrd_from_ntrmed,
-     .			pinterpolate
+     .			pinterpolate,
+     .			prgrd_iin
 	PARAMETER     (	max_regrid_trans	= 30,   ! increased 11/95
      .			prgrd_exact		= 1,
      .			prgrd_linear_interp	= 2,
@@ -425,6 +427,7 @@
      .			prgrd_nbin		= 22,
      .			prgrd_from_source	= -6,
      .			prgrd_from_ntrmed	= -7,
+     .			prgrd_iin		= 23,
      .			pinterpolate		= 0 )
 
 * auxiliary regridding transformations
@@ -480,6 +483,7 @@
      .			alg_operand,
      .			alg_if_marker,
      .			alg_then_marker,
+     .			alg_dir_chg_fcn,
      .			alg_grid_chg_fcn,
      .			alg_child_var,
      .			alg_const_var,
@@ -501,6 +505,7 @@
      .			alg_operand    = 11,
      .			alg_if_marker    = 21,
      .			alg_then_marker  = 22,
+     .			alg_dir_chg_fcn  = 12,
      .			alg_grid_chg_fcn = 13,
      .			alg_child_var    = 14,
      .			alg_const_var    = 15,
@@ -508,7 +513,7 @@
      .                  alg_counter_var  = 17,
      .                  alg_attrib_val   = 18,
      .                  alg_log_vstruct  = 19,
-     .                  alg_agg_var	 = 20 )
+     .                  alg_agg_var	 = 20)
 
 * codes to distinguish between context choices
 * (contexts describe space/time/variable/transformation/data_set,etc.)
diff --git a/fer/common/ferret_shared_buffer.h b/fer/common/ferret_shared_buffer.h
index 339893a..e9a3249 100644
--- a/fer/common/ferret_shared_buffer.h
+++ b/fer/common/ferret_shared_buffer.h
@@ -10,6 +10,8 @@
  *
  * 	  if ( sBuffer->flags[FRTN_CONTROL] == FCTRL_IN_FERRET ) 
  *
+ * V702 *sh* 2/2017 - eliminated global "memory" - using individual mallocs now
+
  */
 
 #ifndef _FERRET_SHARED_BUFFER_H 
@@ -45,7 +47,6 @@ typedef sharedMem *smPtr;
 
 __global smPtr sBuffer;
 
-__global DFTYPE *memory;
 __global float *ppl_memory;
 
 
diff --git a/fer/common/grid_chg_fcns.parm b/fer/common/grid_chg_fcns.parm
index db0b33d..8eb15be 100644
--- a/fer/common/grid_chg_fcns.parm
+++ b/fer/common/grid_chg_fcns.parm
@@ -27,6 +27,9 @@
 *  V6.0 *acm*  5/06 string results for external functions
 *                make pfcn_rtn_float = 1, pfcn_rtn_string  = 2, so they
 *                are compatible with parg_type_float=1, parg_type_string=2
+* v720: 03/17 -- added p_innerprod for inner product function
+* v720: 03/17 -- added p_transpose for transpose function
+* v720: 05/17 -- rename innerproduct functions to dot
 
 
 	INTEGER		p_xunravel, p_times2, p_reshape, p_zlayer,
@@ -36,7 +39,7 @@
      .			p_samplem, p_samplen,
      .			p_spawn, p_strcmp, p_strlen, p_upcase, 
      .                  p_strindex, p_strrindex, p_dncase, p_strcat,
-     .                  p_substring, p_strfloat
+     .                  p_substring, p_strfloat, p_dot, p_transpose
 
 	PARAMETER     ( p_xunravel = 1,
      .			p_times2      = p_xunravel  + 1,
@@ -62,7 +65,9 @@
      .                  p_dncase      = p_strrindex + 1,
      .                  p_strcat      = p_dncase    + 1,
      .                  p_substring   = p_strcat    + 1,
-     .                  p_strfloat    = p_substring + 1 )
+     .                  p_strfloat    = p_substring + 1,
+     .                  p_dot         = p_strfloat  + 1,
+     .                  p_transpose   = p_dot + 1 )
 
 * parameters to control the passing of context information
 	INTEGER		pset_to_unspec, ppass_along
diff --git a/fer/common/interp_stack.parm b/fer/common/interp_stack.parm
index 0c36c22..33d6982 100644
--- a/fer/common/interp_stack.parm
+++ b/fer/common/interp_stack.parm
@@ -10,6 +10,8 @@
 * V698  3/16 *acm* Removed Philander-Seigel code including diagnostic 
 *                  variables, pre-defined axes and grids, cat_calc_var.
 * V7   *acm*  6/12 Add Union aggregations: DEFINE DATA/AGG/U
+* V702 *sh* 11/16 added gathering on compressed axes using 
+*	          phases for computation of the compressing transform
 
 * minimum working space provided to transformations
 	INTEGER		iswksiz
@@ -27,7 +29,8 @@
      .			isact_class_subspan_fill,
      .			isact_class_aggregate_gather,
      .			isact_class_aux_plot_vars,
-     .			isact_class_union_member
+     .			isact_class_union_member,
+     .			isact_class_cmp_gather_dummy
 	PARAMETER     ( isact_class_trans    = 1,
      .			isact_class_regrid   = 2,
      .			isact_class_gather   = 3,
@@ -39,7 +42,8 @@
      .			isact_class_subspan_fill = 9,
      .			isact_class_aggregate_gather = 10,
      .			isact_class_aux_plot_vars = 11,
-     .			isact_class_union_member = 12 )
+     .			isact_class_union_member = 12,
+     .			isact_class_cmp_gather_dummy = 123456 )
 
 * to help in defining classes of activity codes ...
 	INTEGER		isact_trans_code
@@ -211,11 +215,17 @@
      .			isphase_2,
      .			isphase_get_aux_var,
      .			isphase_get_source_var,
-     .			isphase_do_aux_regrid
+     .			isphase_do_aux_regrid,
+     .			isphase_initialize_transform,
+     .			isphase_accumulate_transform,
+     .			isphase_completed_transform
 	PARAMETER     ( isphase_allatonce      = 1000,
      .			isphase_1	       = 1,
      .			isphase_2	       = 2,
      .			isphase_get_aux_var    = 1,
      .			isphase_get_source_var = 2,
-     .			isphase_do_aux_regrid  = 3 )
+     .			isphase_do_aux_regrid  = 3,
+     .			isphase_initialize_transform = 1111,
+     .			isphase_accumulate_transform = 2222,
+     .			isphase_completed_transform  = 3333 )
 
diff --git a/fer/common/slash.parm b/fer/common/slash.parm
index 0db4028..5145db9 100644
--- a/fer/common/slash.parm
+++ b/fer/common/slash.parm
@@ -69,6 +69,9 @@
 *                  /HALFSPAC adds a half space between the degree sign and E/W or N/S
 * V7    6/16 *kms* Add reserved slots for PyFerret commands and qualifiers
 *                  to simplify future merges of Ferret into PyFerret
+* V720 *acm*  3/17 Ticket 2512: Add STAT/PRECICISION=
+* V720 *acm*  5/17 Ticket 2530 add WIRE/COLOR= and draw the color with pen 1
+
 
 * command qualifier states
 	INTEGER		qual_on,
@@ -344,12 +347,14 @@
      .			slash_wire_view,
      .			slash_wire_zlimits,
      .			slash_wire_zscale,
+     .			slash_wire_color,
      .
      .			slash_frame_format,
      .			slash_frame_file,
      .			slash_frame_transp,
      .
      .			slash_stat_brief,
+     .			slash_stat_precision,
      .
      .			slash_levels,
      .			slash_length,
@@ -642,12 +647,14 @@
      .			slash_wire_view		= 1+16,
      .			slash_wire_zlimits	= 1+17,
      .			slash_wire_zscale	= 1+20,
+     .			slash_wire_color	= 1+21,
      .
      .			slash_frame_format	= 0 + 1,
      .			slash_frame_file	= 1 + 1,
      .			slash_frame_transp	= 2 + 1,
      .
      .			slash_stat_brief	= 0 + 1,
+     .			slash_stat_precision 	= 0 + 2,
 
      .			slash_levels		= 1+20,
      .			slash_length		= 1+20,
diff --git a/fer/common/xgrid_chg_fcns.cmn b/fer/common/xgrid_chg_fcns.cmn
index 9dedb9b..1845293 100644
--- a/fer/common/xgrid_chg_fcns.cmn
+++ b/fer/common/xgrid_chg_fcns.cmn
@@ -25,8 +25,10 @@
      .				gfcn_piecemeal_ok, 
      .				gfcn_axis_implied_from, 
      .				gfcn_arg_extend_lo, 
-     .				gfcn_arg_extend_hi, 
+     .				gfcn_arg_extend_hi,
+     .				gfcn_dir_args, 
      .				gfcn_name,
+     .				gfcn_alt_name_base,
      .				gfcn_descr,
      .				gfcn_arg_name,
      .				gfcn_arg_units,
@@ -47,6 +49,8 @@
 * name of grid changing function
 	CHARACTER*40	gfcn_name	      ( pmax_grid_chg_fcns )
 
+	CHARACTER*40	gfcn_alt_name_base    ( pmax_grid_chg_fcns )
+
 * text description of grid changing function
 	CHARACTER*128	 gfcn_descr	      ( pmax_grid_chg_fcns )
 
@@ -72,6 +76,9 @@
 * pointer from function to array of information about arguments
 	INTEGER		gfcn_arg_ptr       ( pmax_grid_chg_fcns )
 
+* does Ferret need to find the right function to run based on arguments
+	INTEGER		gfcn_dir_args ( nferdims, pmax_grid_chg_fcns )
+
 * for each argument: what is its required data type
 	INTEGER		gfcn_arg_type	   ( pmax_gfcn_args )
 
diff --git a/fer/common/xprog_state.cmn b/fer/common/xprog_state.cmn
index a6cb36a..efea548 100644
--- a/fer/common/xprog_state.cmn
+++ b/fer/common/xprog_state.cmn
@@ -53,6 +53,10 @@
 * V697 12/15 *acm* Ticket 2337 Increase length of cmnd buffer to 20480
 *		  - increased max_item_list 250 -> 1000
 * V697  2/16 *acm* DO NOT Increase length of cmnd buffer from 2048
+* V702 2/17 *sh* add mode FRUGAL and spawn_status
+* v720 7/17 *acm* ticket 2552 Make SPAWN_STATUS return the return status, so 0=succcess
+*           SPAWN_STATUS returns the status value, used for SPAWN_OK and SPAWN_STATUS
+
 
 	INTEGER		cmnd_buff_len, max_qual_list, max_arg_list,
      .			max_item_list, max_modes, mode_stack_size,
@@ -80,7 +84,8 @@
      .			pmode_ppllist, pmode_gui, pmode_logo, pmode_labels,
      .                  pmode_grat, pmode_linecolors, pmode_upcase_output,
      .                  pmode_nlevels, pmode_nodata_lab, pmode_shrink_ylab,
-     .                  pmode_curvilinear, pmode_layerz, pmode_6d_lab
+     .                  pmode_curvilinear, pmode_layerz, pmode_6d_lab,
+     .			pmode_frugal
 
 	PARAMETER     ( pmode_diagnostic	= 1,
      .			pmode_verify		= 2,
@@ -116,7 +121,8 @@
      .                  pmode_shrink_ylab       = 31,
      .			pmode_curvilinear	= 32,
      .			pmode_layerz		= 33,
-     .			pmode_6d_lab		= 34 )
+     .			pmode_6d_lab		= 34,
+     .			pmode_frugal		= 35 )
 
 	CHARACTER	pmode_unused*10
 	PARAMETER     ( pmode_unused = '%% unused %%' )
@@ -172,7 +178,7 @@
      .		genl_storage(25),
      .		ifstk, ifstk_skipping,
      .		if_cs(max_ifstk), if_doing(max_ifstk),
-     .          num_linecolors
+     .          num_linecolors, spawn_status
 
 
 	LOGICAL
@@ -231,7 +237,7 @@
      .		interactive, prompt, prompt_len, 
      .		input_source, mouse_input,
      .		if_conditional, ifstk, ifstk_skipping, if_cs, if_doing,
-     .          num_linecolors,
+     .          num_linecolors, spawn_status,
      .		cmnd_buff, last_cmnd_buff,
      .          mode_grat_buff,
      .		len_cmnd, len_last_cmnd, cmnd_num, subcmnd_num,
diff --git a/fer/common/xvariables.cmn b/fer/common/xvariables.cmn
index 1db901c..4246995 100644
--- a/fer/common/xvariables.cmn
+++ b/fer/common/xvariables.cmn
@@ -63,32 +63,26 @@
 *		   added space at the top of the isp stack for nferdims auxvars
 * V695+ *sh* 5/15  added uvar_c_cache_ptr for c-malloc caching of aux vars
 * V698+ *sh* 6/15  changed is_sum from REAL to INTEGER
-* V710 *acm* 10/16 Ticket 2422: variables uvar_grid, uvar_data_type, uvar_aux_cat, 
+* V701 *acm* 10/16 Ticket 2422: variables uvar_grid, uvar_data_type, uvar_aux_cat, 
 *                  uvar_aux_var to be replaced with calls to LIST routines in NCF_Util.c 
+* V702 *sh* 1/17   implement malloc-based dynamic memory management
+*                  remove block-managed "memory" array
+* V720: 4/17 *acm* Add direction-changing functions as a subset of grid-changing ones
 
 * Terminology:
 *	"mr"	- "memory resident"
 *	("mv")	  table of information about variables currently stored in
 *		  memory
-*	"mblk"	- related to management of array "memory" where bulk data is
-*		  stored
 *	"uvar"	- information about user-defined variables (and implicit user-
 *		  defined variables given as command arguments)
 *	"is"	- pertaining to the "interpretation stack" on which user 
 *		  variables are evaluated, axis transformations are executed
 *		  and grids in awkward planes are assembled
 
-* BULK MEMORY MANAGEMENT:
-*  The free bulk memory list is organized as follows:
-*     o Each contiguous region of free memory is identified by its starting
-*	block number in from array "memory" - usually "mblk"
-*     o Each contiguous region of free memory contains its size (mblk_size)
-*	and link pointers to the surrounding free regions (mblk_&link)
-*     o The linked list is ordered by increasing mblk value
-*  Bulk memory in use is removed from the free list.  Its starting block #
-*   is found in "mr_blk1" (of the memory resident table) of the variable
-*   using this memory.  Its size is redundantly stored (an historical artifact)
-*   in both "mr_nblks" and mblk_size( start_block )
+* BULK FERRET VARIABLE MEMORY MANAGEMENT:
+*  Each line number in the memory variable table is the index into a FORTRAN 90
+*  array of memory pointers.  under the hood those pointers are actually
+*  created by calls to malloc in c (or equivalent in python)
 
 * MEMORY RESIDENT TABLE MANAGEMENT:
 *  The slots of the memory variable table are organized as a number of doubly
@@ -108,24 +102,34 @@
 *   removed from the list if they are in-progress or in-use.  See mr_protected.
 
 * explanation of selected variables:
-*	mr_blk1     - First memory block of contiguous storage for this var.
-*	mr_nblks    -	Number of contiguous storage blocks for this variable
+*	memry	  - array of F90 pointers for memory resident (mr) vars
+*	workmem   - array of temporary "work" memory pointers
+*                   (index 1 is managed specially -- plegacy_work_buffer)
+*	total_mem - total amount of mr memory currently in use
+*	peak_mem  - peak amount of mr memory used since last SET MEM/SIZE
+*	permanent_mem - amount of mr memory memory used by LOAD/PERMANENT
+*	essential_mem - amount of mr memory essential to current command
+*                       i.e. mr_protected flagged as mr_temporary,
+*                            mr_in_progress or in use (> mr_not_protected)
+*       completed_args_mem - amount of mr memory tied up by command arg already
+*	               computed (also included in the essential_mem total)
+*	mr_size	  - memory size occupied by each mr
+*	ws_size   - memory size occupied by each work buffer
+*	max_mem_allowed - size as specified by SET MEMORY/SIZE=
+*
+*       mr_size	    - number of words of storage allocated for this variable
 *			See further documemtation in GET_MEMORY
-*	mr_trans    - designates what mathematical transformations have been
+*	mr_trans    -   designates what mathematical transformations have been
 *			applied to the data along each axis (see FERRET.PARM)
 *	mv_flink      - forward and backwards links into the memory variable
 *	mv_blink	table.  Stored variables are hashed into pmv_npiles
 *			piles with start pointers stored in the negative
 *			subscripts of these arrays
-*	mblk_flink    - sizes and links of free contiguous regions
-*	mblk_size	available in array "memory"
-*	mblk_blink
 *
 *	mr_del_flink  -	forward and backwards links for the chain of variables
 *	mr_del_blink	that are available to be deleted if memory space runs
 *			short
-*	mr_del_last_mblk - memory region freed by the last deletion
-*	mr_del_last_size - size of that memory region
+*	mr_del_last_size - size of memory region freed by the last deletion
 *
 *	mr_protected  - flags variables as "deleted", "in_progress",
 *			"perm_protrcted" or "not_protected".  Variables which
@@ -165,6 +169,8 @@
 *	uvar_bad_data	- missing value flag to be used for this variable
 *	uvar_c_cache_ptr- pointer to c-cahce of full range variable
 *	has_uvar_gc	- variable is a grid-changing variable
+*	has_uvar_dc	- a grid-changing variable where the function changes based 
+*			  on argument(s) which tell which dimension(s) to operateon
 *	is_uvar_const	- variable is a constant-array variable
 
 *	isp	 	- interpretation stack pointer
@@ -191,24 +197,30 @@
 * memory storage capacity
 	INTEGER		max_mrs,
      .			max_mr_avail,
-     .			pmem_blk_size,
-     .			pmax_mem_blks,
+     .			pmax_mem_default,
+     .			pint_size_test,
+     .			max_ws,
+     .			plegacy_work_buffer,
      .			pmv_npiles,
      .			pmv_nocache_pile,
      .			pmv_work_var_pile,
      .			pmv_adjoint_var_pile,
      .			pmv_lowest_head,
-     .			dummy_mr
+     .			dummy_mr,
+     .			max_splits
 	PARAMETER     ( max_mrs   = 501,
      .			dummy_mr  = max_mrs,
+     .			max_ws    = 8,
+     .			plegacy_work_buffer = 1,
      .			max_mr_avail = max_mrs - 1,
-     .			pmem_blk_size = 2*(160*100*4/10), !2* 9/01 see ferret.h
-     .			pmax_mem_blks   = 2000,
+     .			pmax_mem_default = 25600000,  !25.6 megawords
+     .			pint_size_test = -999,   ! if needed use c __WORDSIZE
      .			pmv_npiles     = 299,	! prime # of hash piles
      .			pmv_nocache_pile = -pmv_npiles - 1,
      .			pmv_work_var_pile = -pmv_npiles - 2,
      .			pmv_adjoint_var_pile = -pmv_npiles - 3,
-     .			pmv_lowest_head = -pmv_npiles - 5)  ! -4, -5 unused
+     .			pmv_lowest_head = -pmv_npiles - 5,  ! -4, -5 unused
+     .			max_splits = 10 )
 ! pmv_adjoint_pile reserved for future EF's returning multiple results
 
 	INTEGER		max_uvar,
@@ -224,10 +236,48 @@
 
 ********************************************************************************
 ******				COMMON DECLARATION			  ******
+* ******* added 1/17
+* dynamic memory pointer areas
+* 2 tables: mr, ws (work storage), (possible 3rd future cs - coordinate store)
+* ... an array of pointers to 1D arrays in F90
+        TYPE mem_table_slot
+           SEQUENCE     ! force data elements to be memory-contiguous
+           REAL(8), POINTER :: ptr(:)
+        END TYPE
+        TYPE(mem_table_slot) :: memry(max_mrs)
+        TYPE(mem_table_slot) :: workmem(max_ws)
+        INTEGER*8 total_mem, peak_mem, permanent_mem, essential_mem,
+     .		  peak_essential_mem, completed_args_mem, max_mem_allowed
+	INTEGER mr_size, ws_size
+	LOGICAL need_memlim_warning
+        COMMON / XDYN_MEM /  
+     .          memry,
+     .		workmem,
+     .          total_mem,
+     .		peak_mem,
+     .		permanent_mem,
+     .	        essential_mem,
+     .		peak_essential_mem,
+     .		completed_args_mem,
+     .		max_mem_allowed,
+     .		mr_size(max_mrs),
+     .		ws_size(max_ws),
+     .		need_memlim_warning
+
+* *******
 
-	COMMON / XMEM_DESCR /
-     .		mem_blk_size,
-     .		max_mem_blks
+	INTEGER nsplits, split_var, split_cat, split_axis, split_frag,
+     .			 split_trans, split_repeats
+	INTEGER*8 deferred_committed_mem
+        COMMON / XSPLIT_GATHER /  
+     .		deferred_committed_mem,
+     .		nsplits,
+     .		split_var  (max_splits),
+     .		split_cat  (max_splits),
+     .		split_axis (max_splits),
+     .		split_trans(max_splits),
+     .		split_frag (max_splits),
+     .		split_repeats(max_splits)
 
 * Reordered as REAL*8, REAL (which may be REAL*8 or REAL*4), INTEGER, LOGICAL,
 * CHARACTER to eliminate padding requirements from the compiler.
@@ -244,6 +294,7 @@
      .          uvar_name_code_padding,
      .          uvar_num_items_head,
      .          uvar_num_items_padding,
+     .		uvar_c_cache_ptr ( max_uvar ),
      .
      .		mr_trans_arg	( nferdims, max_mrs ),
      .		mr_bad_data   	( max_mrs ),
@@ -255,8 +306,6 @@
      .		mr_lo_ss	( max_mrs, nferdims ),
      .		mr_hi_ss	( max_mrs, nferdims ),
      .		mr_protected	( max_mrs ),
-     .		mr_blk1		( max_mrs ),
-     .		mr_nblks	( max_mrs ),
      .		mr_data_set	( max_mrs ),
      .		mr_category	( max_mrs ),
      .		mr_variable	( max_mrs ),
@@ -265,16 +314,13 @@
      .		mr_naux   	( max_mrs ),
      .		mr_aux_var	( nferdims, max_mrs ),
      .		mr_aux_cat	( nferdims, max_mrs ),
-     .		mblk_flink      ( 0:pmax_mem_blks ),
-     .		mblk_blink      ( 0:pmax_mem_blks ),
-     .		mblk_size       ( 0:pmax_mem_blks ),
      .		mv_flink        ( pmv_lowest_head:max_mrs ),
      .		mv_blink        ( pmv_lowest_head:max_mrs ),
      .		mr_del_flink    ( 0:max_mrs ),
      .		mr_del_blink    ( 0:max_mrs ),
-     .		mr_del_last_mblk,
      .		mr_del_last_size,
      .		num_uvars_in_cmnd,
+     .		current_cmnd_uvar,
      .		uvar_lo_ss	 ( max_uvar, nferdims ),
      .		uvar_hi_ss	 ( max_uvar, nferdims ),
      .		uvar_num_items   ( max_uvar ),
@@ -303,6 +349,7 @@
      .		is_uvar 	( max_intrp ),
      .		is_mr		( max_intrp ),
      .		is_aux_ptr 	( max_intrp ),
+     .		is_deferred_mem ( max_intrp ),
      .
      .		mr_unstand_grid	 ( max_mrs ),
      .		uvar_by_ss	 ( nferdims, max_uvar ),
@@ -310,8 +357,8 @@
      .		uvar_ifv	 ( max_uvar ),
      .		uvar_title_w_text( max_uvar ),
      .		uvar_need_dset	 ( max_uvar ),
-     .		uvar_c_cache_ptr ( max_uvar ),
      .		has_uvar_gc,
+     .		has_uvar_dc,
      .		is_uvar_const,
      .
      .		uvar_text	 ( max_uvar ),
@@ -322,21 +369,14 @@
 ********************************************************************************
 ******			COMMON VARIABLE TYPE DECLARATIONS		  ******
 
-	INTEGER	mem_blk_size,
-     .		max_mem_blks
-
-	INTEGER	mblk_flink,
-     .		mblk_blink,
-     .		mblk_size
-
 	INTEGER	mv_flink,
      .		mv_blink,
      .		mr_del_flink,
      .		mr_del_blink,
-     .		mr_del_last_mblk,
      .		mr_del_last_size
 
-	INTEGER		num_uvars_in_cmnd
+	INTEGER		num_uvars_in_cmnd,
+     .		        current_cmnd_uvar
 
 	LOGICAL		mr_unstand_grid
 
@@ -360,8 +400,6 @@
      .			mr_category	,
      .			mr_variable	,
      .			mr_protected	,
-     .			mr_blk1		,
-     .			mr_nblks	,
      .			mr_grid 	,
      .			mr_type 	,
      .			mr_naux		,
@@ -377,6 +415,7 @@
      .			uvar_mod_pseudo,
      .			uvar_by_ss,
      .			has_uvar_gc,
+     .			has_uvar_dc,
      .			is_uvar_const,
      .			uvar_ifv,
      .			uvar_remote,
@@ -416,6 +455,8 @@
      .			is_aux_ptr,
      .			is_sum
 
+	INTEGER*8	is_deferred_mem
+
 * equivalences to assist with declaration statements
 	INTEGER mr_lo_s1( max_mrs ),
      .		mr_lo_s2( max_mrs ),
diff --git a/fer/ctx/SOURCE_FILES b/fer/ctx/SOURCE_FILES
index 17674f5..5e92c4b 100644
--- a/fer/ctx/SOURCE_FILES
+++ b/fer/ctx/SOURCE_FILES
@@ -7,7 +7,9 @@ apply_delta_context.F\
 aux_axis_from_arg.F\
 cgrid_axis.F\
 cgrid_size.F\
+cgrid_size8.F\
 cgrid_size_max.F\
+cgrid_uvar_size.F\
 complete_missing_limits.F\
 confine_context.F\
 create_new_context.F\
diff --git a/fer/stk/exit_dependency_mode.F b/fer/ctx/cgrid_size8.F
similarity index 82%
copy from fer/stk/exit_dependency_mode.F
copy to fer/ctx/cgrid_size8.F
index 465bb80..89945db 100644
--- a/fer/stk/exit_dependency_mode.F
+++ b/fer/ctx/cgrid_size8.F
@@ -1,4 +1,4 @@
-	SUBROUTINE EXIT_DEPENDENCy_MODE
+	INTEGER*8 FUNCTION CGRID_SIZE8 ( cx )
 
 *
 *
@@ -35,20 +35,31 @@
 *  CONNECTION WITH THE ACCESS, USE OR PERFORMANCE OF THIS SOFTWARE. 
 *
 *
-* reset COMMON values that indicate the special mode used for assesing 
-* user variable dependency trees
+* determine the number of values in the given context
 
 * programmer - steve hankin
 * NOAA/PMEL, Seattle, WA - Tropical Modeling and Analysis Program
+* written for VAX computer under VMS operating system
 *
-* V685+ 11/13 *sh*  
+* V701: *sh* 2/2017
 
 	include 'tmap_dims.parm'
-	include	'ferret.parm'
-	include 'xdependency_tree.cmn'
+	include 'ferret.parm'
+	include 'xcontext.cmn'
 
-	dependency_tree_mode = .FALSE.
-	CALL RELEASE_WORK_SPC
+* calling argument declarations
+	INTEGER	cx
 
-     	RETURN
+* internal variable declarations
+	INTEGER	CX_DIM_LEN, idim
+	INTEGER*8 size
+
+	size = 1
+	DO idim = 1, nferdims
+	   size = size * CX_DIM_LEN( idim, cx )
+	ENDDO
+
+	CGRID_SIZE8 = size
+
+	RETURN
 	END
diff --git a/fer/utl/itsa_gcvar.F b/fer/ctx/cgrid_uvar_size.F
similarity index 70%
copy from fer/utl/itsa_gcvar.F
copy to fer/ctx/cgrid_uvar_size.F
index aecc437..9a6a24d 100644
--- a/fer/utl/itsa_gcvar.F
+++ b/fer/ctx/cgrid_uvar_size.F
@@ -1,4 +1,4 @@
-	LOGICAL FUNCTION ITSA_GCVAR( uvar )
+	INTEGER FUNCTION CGRID_UVAR_SIZE ( cx )
 
 *
 *
@@ -35,26 +35,39 @@
 *  CONNECTION WITH THE ACCESS, USE OR PERFORMANCE OF THIS SOFTWARE. 
 *
 *
-* is the indicated variable one which is contains a grid changing function?
+* determine the number of values in the given cx, recognizing that if it is
+* a uvar, then in its pyramid of definitions there may be compressing
+* transformations.
 
-* V450: 1/97
-*       *acm* 3/12 6D Ferret (common uses nferdims in tmap_dims.parm)
+* For example in LET Vave = V[x=@ave]
+* even though the X limits of the context may X=1:1000, the X size of Vave
+* is only 1
 
-* calling argument declarations
-	INTEGER	uvar
+* V702: *sh* 3/17
 
-* internal variable declarations
-
-	include	'tmap_dims.parm'
+	include 'tmap_dims.parm'
 	include 'ferret.parm'
+	include 'xcontext.cmn'
 	include 'xvariables.cmn'
 
+	INTEGER	CGRID_SIZE, CX_DIM_LEN, cx, uvar, idim, isize, dimsize
 
-* in reverse Polish order the final item of a grid changing variable will
-* always be a grid changing function
 
-	ITSA_GCVAR = uvar_item_type( uvar_num_items(uvar), uvar )
-     .		.EQ. alg_grid_chg_fcn
+	IF ( cx_category(cx) .EQ. cat_user_var ) THEN
+	   uvar = cx_variable(cx)
+	   isize = 1
+	   DO idim = 1, nferdims
+	      IF (uvar_given(idim, uvar) .EQ. uvlim_need_xact) THEN
+	         dimsize = 1
+	      ELSE
+	         dimsize = CX_DIM_LEN( idim, cx )
+	      ENDIF
+	      isize = isize * dimsize
+	   ENDDO
+	   CGRID_UVAR_SIZE = isize
+	ELSE
+	   CGRID_UVAR_SIZE = CGRID_SIZE(cx)
+	ENDIF
 
 	RETURN
 	END
diff --git a/fer/ctx/merge_grid.F b/fer/ctx/merge_grid.F
index 69bf0dd..27e3f1d 100644
--- a/fer/ctx/merge_grid.F
+++ b/fer/ctx/merge_grid.F
@@ -118,6 +118,10 @@
 *                 of other exprns.
 * V695 *acm* 6/16 Fix ticket 1602. Do not substitute abstract axes for normal axes
 *                 when merging a constant.
+* V72  *acm* 6/17 For the above change, ticket 1602, and also for comment #3 of 2313, 
+*                 do the check differently. If the the grid of the component is 
+*                 all-abstract (and the variable is a constant), do not add abstract 
+*                 axes to the merged grid.
 
 	include 'tmap_dims.parm'
 	include 'grid_chg_fcns.parm'
@@ -273,12 +277,13 @@
      .          .EQ. alg_constant
 	ENDIF
 
-* Is the mrg_grd all normal or abstract ?
+* Is the com_grd all  abstract ?  If so we won't add abstract axes willy-nilly
+* to the grid
 	mabstract = grid_line( 1, mgrid_abstract )
 	normabst = .TRUE.
 	DO idim = 1, nferdims
-	   iline = grid_line(idim,mrg_grd)
-	   IF (iline.NE.mnormal .AND. iline.NE.mabstract) normabst = .FALSE.
+	   iline = grid_line(idim,com_grd)
+	   IF (iline.NE.mabstract) normabst = .FALSE.
 	ENDDO
 
 * for merged context to be data set independent all components must be so
@@ -490,7 +495,8 @@
 * when merging a constant
 
 	IF (com_ax.EQ.mabstract .AND. mrg_ax.EQ.mnormal) THEN
-	   IF (.NOT. (normabst) .AND. var_is_const) GOTO 400
+c	   IF (.NOT. (normabst) .AND. var_is_const) GOTO 400
+	   IF (normabst .AND. var_is_const) GOTO 400
 	ENDIF
 
 * take appropriate merging action
diff --git a/fer/ctx/pseudo_var_context.F b/fer/ctx/pseudo_var_context.F
index de7b958..2d88710 100644
--- a/fer/ctx/pseudo_var_context.F
+++ b/fer/ctx/pseudo_var_context.F
@@ -71,6 +71,7 @@
 *       *acm* 3/12 Add E and F dimensions (use nferdims in tmap_dims.parm)
 *       *acm* 4/12 Add new MODE FOURDEE to allow E,F,M,N,etc as user-vars
 * V695  *acm* 2/15 cx_calendar stores info about calendar formatting of T and F axes
+* V720  *acm* 2/17 ticket 2511 Dynamic grids on user-defined variables
 
 	include	'ferret.parm'
 	include	'errmsg.parm'
@@ -174,7 +175,12 @@
 *	4 and probably a crash.  This is side-stepped by using cx_grid(mods_cx)
 *	but with the result that the grid is not inherited.  To  work around
 *	the user must use "temp[x=lo:hi:del]+X[g=temp,x=lo:hi:del]"
-	   IF ( cx_grid(mods_cx) .NE. unspecified_int4 ) THEN
+
+*   ticket 2511: the grid number may be a large negative number due to the hack 
+*   in get_context_mods.F which encodes the start/end limits of the uvar name 
+*   into the grid. When that is the case we do not want to use that as base_grid.
+
+	   IF ( cx_grid(mods_cx) .GT. unspecified_int4 ) THEN
 	      base_grid = cx_grid(mods_cx)
 	   ELSE
 ! 2/22/99 addition
diff --git a/fer/dat/xalgebra_data.F b/fer/dat/xalgebra_data.F
index d161806..a2f47ba 100644
--- a/fer/dat/xalgebra_data.F
+++ b/fer/dat/xalgebra_data.F
@@ -96,6 +96,7 @@
 * V695 *acm* 10/15 Fix #2319: @STD as a multi-D transform
 * V696 *acm* 11/15 Added @BIN and @NBIN regridding transforms
 * V696 *acm8 11/15 Clarify descriptions for @BIN, @NBIN, @AVE, @NGD, @SUM regridding
+* V720: 6/17 *acm* Ticket 2346: new @IIN regridding transform
 
         IMPLICIT NONE
 	include	'ferret.parm'
@@ -774,13 +775,16 @@
      .		alg_regrid_title( prgrd_nbin )		/ '#good in bin'/,
      .		alg_regrid_code ( prgrd_nbin )		/ 'NBIN'	/
      .		alg_regrid_vizb ( prgrd_nbin )		/ .TRUE.	/,
+     .		alg_regrid_title( prgrd_iin )		/ '#indef integral'/,
+     .		alg_regrid_code ( prgrd_iin )		/ 'IIN'	/
+     .		alg_regrid_vizb ( prgrd_iin )		/ .TRUE.	/,
 
-     .		(alg_regrid_title(i),i=prgrd_nbin+1,max_regrid_trans)
-     .				/8*unspecified_name4/,
-     .		(alg_regrid_code (i),i=prgrd_nbin+1,max_regrid_trans)
-     .				/8*unspecified_name4/,
-     .		(alg_regrid_vizb (i),i=prgrd_nbin+1,max_regrid_trans)
-     .				/8*.FALSE./
+     .		(alg_regrid_title(i),i=prgrd_iin+1,max_regrid_trans)
+     .				/7*unspecified_name4/,
+     .		(alg_regrid_code (i),i=prgrd_iin+1,max_regrid_trans)
+     .				/7*unspecified_name4/,
+     .		(alg_regrid_vizb (i),i=prgrd_iin+1,max_regrid_trans)
+     .				/7*.FALSE./
 
 
 	DATA
diff --git a/fer/dat/xcommand_data.F b/fer/dat/xcommand_data.F
index 4aa5b57..c682e5e 100644
--- a/fer/dat/xcommand_data.F
+++ b/fer/dat/xcommand_data.F
@@ -237,6 +237,11 @@
 *                  to simplify future merges of Ferret into PyFerret
 * V710 *acm*  3/16 Added DEFINE AXIS /LIKE=
 * V710 *acm*  3/16 Ticket 2158: Add DEFINE AXIS /MONTHLY 
+* V702 *sh*   1/17 Removed the USER command
+*	      3/17 Added SHOW MEMORY/DIAGNOSTIC
+* V720 *acm*  3/17 Ticket 2512: Add STAT/PRECISION=
+* V720 *acm*  5/17 Ticket 2530 add WIRE/COLOR= 
+
 *
 * !!!!!!!!!!
 * Use caution when defining new commands, qualifiers, or changing these data structures:
@@ -636,7 +641,7 @@
 	   DATA qualifier_pointer(nsub_at2 +11)	/ nqual_at2l	/
 * SHOW MEMORY /ALL /TEMP /PERM /FREE
 		DATA qualifiers  (nqual_at2l+0)	/ 'ALL '	/
-		DATA qualifiers  (nqual_at2l+1)	/ '****'	/
+		DATA qualifiers  (nqual_at2l+1)	/ 'DIAGNOSTIC'	/
 		DATA qualifiers  (nqual_at2l+2)	/ 'TEMPORY'	/
 		DATA qualifiers  (nqual_at2l+3)	/ 'PERMANT'	/
 		DATA qualifiers  (nqual_at2l+4)	/ 'FREE'	/
@@ -1477,9 +1482,9 @@
 	   DATA subcommands      (nsub_at17 + 0)	/ '    '	/
 	   DATA num_qualifs      (nsub_at17 + 0)	/ nqual17a	/
 	   DATA qualifier_pointer(nsub_at17 + 0)	/ nqual_at17a	/
-* STAT /I/J/K/L/M/N/X/Y/Z/T/E/F/DATASET/G
+* STAT /BRIEF/PRECISION/I/J/K/L/M/N/X/Y/Z/T/E/F/DATASET/G
 		DATA qualifiers  (nqual_at17a+0)	/ 'BRIEF'/
-		DATA qualifiers  (nqual_at17a+1)	/ '****'/
+		DATA qualifiers  (nqual_at17a+1)	/ 'PRECISION'/
 		DATA qualifiers  (nqual_at17a+2)	/ 'I'	/
 		DATA qualifiers  (nqual_at17a+3)	/ 'J'	/
 		DATA qualifiers  (nqual_at17a+4)	/ 'K'	/
@@ -1555,8 +1560,8 @@
 	   DATA num_qualifs      (nsub_at19 + 0)	/ nqual19a	/
 	   DATA qualifier_pointer(nsub_at19 + 0)	/ nqual_at19a	/
 
-* USER - command # 20
-	DATA commands(20)			/ 'USER'	/
+* **** formerly USER - command # 20
+	DATA commands(20)			/ '****'	/
         DATA its_action_command(20)             / .TRUE.        /
 	DATA num_subcommands(20)		/ nsub20	/
 	DATA subcommand_pointer(20)		/ nsub_at20	/
@@ -1611,7 +1616,7 @@
 		DATA qualifiers  (nqual_at21a+18)/ 'TRANPOSE'/  
 		DATA qualifiers  (nqual_at21a+19)/ 'NOLABEL'/   
 		DATA qualifiers  (nqual_at21a+20)/ 'ZSCALE'/
-		DATA qualifiers  (nqual_at21a+21)/ '****'/
+		DATA qualifiers  (nqual_at21a+21)/ 'COLOR'/
 		DATA qualifiers  (nqual_at21a+22)/ '****'/
 		DATA qualifiers  (nqual_at21a+23)/ '****'/
 		DATA qualifiers  (nqual_at21a+24)/ '****'/
diff --git a/fer/dat/xgfdl_error_text_data.F b/fer/dat/xgfdl_error_text_data.F
index 15a9e2e..f1a43e3 100644
--- a/fer/dat/xgfdl_error_text_data.F
+++ b/fer/dat/xgfdl_error_text_data.F
@@ -68,6 +68,9 @@
 * V684 9/12 *acm*  - Add error code for file not found
 *                    (error message for font files not found)
 * V658+ *sh* 10/13 - added ferr_unknown_auxvar
+* V72  *acm*  6/17 - add ferr_ppl_error to call errmsg routine for syntax
+*                    errors calling PPLUS, see ticket 2543
+
 
         IMPLICIT NONE
 	include 'errmsg.parm'	! parameter definitions
@@ -299,6 +302,13 @@
 
 	DATA err_text( ferr_unknown_auxvar - greport )
      .		/ 'auxiliary variable unknown or not in data set' /
+	DATA report_err_code( ferr_aggregate_error - greport )
+     .		/ 'auxvar_error' /
+
+	DATA err_text( ferr_ppl_error - greport )
+     .		/ 'PPLUS command syntax error' /
+	DATA report_err_code( ferr_ppl_error - greport )
+     .		/ 'ppl_cmd_error' /
 
 	DATA err_text( ferr_sys_return - greport )
      .		/ 'Shell command returned failure flag' /
diff --git a/fer/dat/xgrid_chg_fcns_data.F b/fer/dat/xgrid_chg_fcns_data.F
index 296a60c..676e82a 100644
--- a/fer/dat/xgrid_chg_fcns_data.F
+++ b/fer/dat/xgrid_chg_fcns_data.F
@@ -54,6 +54,10 @@
 *                    internal string handling functions   
 * V550: *acm*10/02 - Correct the function description for SUBSTRING
 *        2/12 *kms* Add E and F dimensions (set to nferdims in tmap_dims.parm)
+* V720: 4/17 *acm* Add DOT (inner product) and TRANSPOSE as direction-changing functions
+*                  which call specific funcions depenging on direction arguments
+* v720: 5/17 *acm* Rename innerproduct functions to dot
+*                  Also fix gfcn_axis_implied_from definition for arg 3 of DOT function
 
 * the addition (or major modification) of an internal grid-changing function
 * requires changes to these routines:
@@ -83,6 +87,7 @@
 	DATA gfcn_descr        (p_xunravel) / 'unravel grid to a line in X' /
 	DATA gfcn_rtn_type     (p_xunravel) /pfcn_rtn_arg1_type /
 	DATA gfcn_num_reqd_args(p_xunravel) /p_xunravel_num_args/
+	DATA (gfcn_dir_args(i,p_xunravel),i=1,nferdims) /nferdims*0/
 	DATA gfcn_has_vari_args(p_xunravel) /.FALSE./
 	DATA (gfcn_axis_will_be(i,p_xunravel),i=1,nferdims)/
      .						pgc_axis_is_abstract,
@@ -123,6 +128,7 @@
      .			/ 'echo passed string (test routine)' /
 	DATA gfcn_rtn_type     (p_times2) / pfcn_rtn_float /
 	DATA gfcn_num_reqd_args(p_times2) /p_times2_num_args/
+	DATA (gfcn_dir_args(i,p_times2),i=1,nferdims) /nferdims*0/
 	DATA gfcn_has_vari_args(p_times2) /.FALSE./
 
 	DATA (gfcn_axis_will_be(i,p_times2),i=1,nferdims)/
@@ -174,6 +180,7 @@
 	DATA gfcn_descr        (p_reshape) / 'reshape A to grid of B' /
 	DATA gfcn_rtn_type     (p_reshape) /pfcn_rtn_arg1_type /
 	DATA gfcn_num_reqd_args(p_reshape) /p_reshape_num_args/
+	DATA (gfcn_dir_args(i,p_reshape),i=1,nferdims) /nferdims*0/
 	DATA gfcn_has_vari_args(p_reshape) /.FALSE./
 	DATA (gfcn_axis_will_be(i,p_reshape),i=1,nferdims)/
      .						pgc_axis_supplied_herein,
@@ -228,6 +235,7 @@
 
 	DATA gfcn_rtn_type     (p_zlayer) / pfcn_rtn_float /
 	DATA gfcn_num_reqd_args(p_zlayer) /p_zlayer_num_args/
+	DATA (gfcn_dir_args(i,p_zlayer),i=1,nferdims) /nferdims*0/
 	DATA gfcn_has_vari_args(p_zlayer) /.FALSE./
 	DATA (gfcn_axis_will_be(i,p_zlayer),i=1,nferdims)/
      .						pgc_axis_implied_by_args,
@@ -281,6 +289,7 @@
 	DATA gfcn_descr        (p_yunravel) / 'unravel grid to a line in Y' /
 	DATA gfcn_rtn_type     (p_yunravel) /pfcn_rtn_arg1_type /
 	DATA gfcn_num_reqd_args(p_yunravel) /p_yunravel_num_args/
+	DATA (gfcn_dir_args(i,p_yunravel),i=1,nferdims) /nferdims*0/
 	DATA gfcn_has_vari_args(p_yunravel) /.FALSE./
 	DATA (gfcn_axis_will_be(i,p_yunravel),i=1,nferdims)/
      .						pgc_axis_is_normal,
@@ -317,6 +326,7 @@
 	DATA gfcn_descr        (p_zunravel) / 'unravel grid to a line in Z' /
 	DATA gfcn_rtn_type     (p_zunravel) /pfcn_rtn_arg1_type /
 	DATA gfcn_num_reqd_args(p_zunravel) /p_zunravel_num_args/
+	DATA (gfcn_dir_args(i,p_zunravel),i=1,nferdims) /nferdims*0/
 	DATA gfcn_has_vari_args(p_zunravel) /.FALSE./
 	DATA (gfcn_axis_will_be(i,p_zunravel),i=1,nferdims)/
      .						pgc_axis_is_normal,
@@ -353,6 +363,7 @@
 	DATA gfcn_descr        (p_tunravel) / 'unravel grid to a line in T' /
 	DATA gfcn_rtn_type     (p_tunravel) /pfcn_rtn_arg1_type /
 	DATA gfcn_num_reqd_args(p_tunravel) /p_tunravel_num_args/
+	DATA (gfcn_dir_args(i,p_tunravel),i=1,nferdims) /nferdims*0/
 	DATA gfcn_has_vari_args(p_tunravel) /.FALSE./
 	DATA (gfcn_axis_will_be(i,p_tunravel),i=1,nferdims)/
      .						pgc_axis_is_normal,
@@ -388,6 +399,7 @@
 	DATA gfcn_descr        (p_eunravel) / 'unravel grid to a line in E' /
 	DATA gfcn_rtn_type     (p_eunravel) /pfcn_rtn_arg1_type /
 	DATA gfcn_num_reqd_args(p_eunravel) /p_eunravel_num_args/
+	DATA (gfcn_dir_args(i,p_eunravel),i=1,nferdims) /nferdims*0/
 	DATA gfcn_has_vari_args(p_eunravel) /.FALSE./
 	DATA (gfcn_axis_will_be(i,p_eunravel),i=1,nferdims)/
      .						pgc_axis_is_normal,
@@ -424,6 +436,7 @@
 	DATA gfcn_descr        (p_funravel) / 'unravel grid to a line in F' /
 	DATA gfcn_rtn_type     (p_funravel) /pfcn_rtn_arg1_type /
 	DATA gfcn_num_reqd_args(p_funravel) /p_funravel_num_args/
+	DATA (gfcn_dir_args(i,p_funravel),i=1,nferdims) /nferdims*0/
 	DATA gfcn_has_vari_args(p_funravel) /.FALSE./
 	DATA (gfcn_axis_will_be(i,p_funravel),i=1,nferdims)/
      .						pgc_axis_is_normal,
@@ -461,6 +474,7 @@
      .		/ 'sample a field at a list of X indices' /
 	DATA gfcn_rtn_type     (p_samplei) /pfcn_rtn_arg1_type /
 	DATA gfcn_num_reqd_args(p_samplei) /p_samplei_num_args/
+	DATA (gfcn_dir_args(i,p_samplei),i=1,nferdims) /nferdims*0/
 	DATA gfcn_has_vari_args(p_samplei) /.FALSE./
 	DATA (gfcn_axis_will_be(i,p_samplei),i=1,nferdims)/
      .					pgc_axis_is_abstract,
@@ -512,6 +526,7 @@
      .		/ 'sample a field at a list of Y indices' /
 	DATA gfcn_rtn_type     (p_samplej) /pfcn_rtn_arg1_type /
 	DATA gfcn_num_reqd_args(p_samplej) /p_samplej_num_args/
+	DATA (gfcn_dir_args(i,p_samplej),i=1,nferdims) /nferdims*0/
 	DATA gfcn_has_vari_args(p_samplej) /.FALSE./
 	DATA (gfcn_axis_will_be(i,p_samplej),i=1,nferdims)/
      .					pgc_axis_implied_by_args,
@@ -563,6 +578,7 @@
      .		/ 'sample a field at a list of Z indices' /
 	DATA gfcn_rtn_type     (p_samplek) /pfcn_rtn_arg1_type /
 	DATA gfcn_num_reqd_args(p_samplek) /p_samplek_num_args/
+	DATA (gfcn_dir_args(i,p_samplek),i=1,nferdims) /nferdims*0/
 	DATA gfcn_has_vari_args(p_samplek) /.FALSE./
 	DATA (gfcn_axis_will_be(i,p_samplek),i=1,nferdims)/
      .					pgc_axis_implied_by_args,
@@ -614,6 +630,7 @@
      .		/ 'sample a field at a list of T indices' /
 	DATA gfcn_rtn_type     (p_samplel) /pfcn_rtn_arg1_type /
 	DATA gfcn_num_reqd_args(p_samplel) /p_samplel_num_args/
+	DATA (gfcn_dir_args(i,p_samplel),i=1,nferdims) /nferdims*0/
 	DATA gfcn_has_vari_args(p_samplel) /.FALSE./
 	DATA (gfcn_axis_will_be(i,p_samplel),i=1,nferdims)/
      .					pgc_axis_implied_by_args,
@@ -665,6 +682,7 @@
      .		/ 'sample a field at a list of E indices' /
 	DATA gfcn_rtn_type     (p_samplem) /pfcn_rtn_arg1_type /
 	DATA gfcn_num_reqd_args(p_samplem) /p_samplem_num_args/
+	DATA (gfcn_dir_args(i,p_samplem),i=1,nferdims) /nferdims*0/
 	DATA gfcn_has_vari_args(p_samplem) /.FALSE./
 	DATA (gfcn_axis_will_be(i,p_samplem),i=1,nferdims)/
      .					pgc_axis_implied_by_args,
@@ -716,6 +734,7 @@
      .		/ 'sample a field at a list of F indices' /
 	DATA gfcn_rtn_type     (p_samplen) /pfcn_rtn_arg1_type /
 	DATA gfcn_num_reqd_args(p_samplen) /p_samplen_num_args/
+	DATA (gfcn_dir_args(i,p_samplen),i=1,nferdims) /nferdims*0/
 	DATA gfcn_has_vari_args(p_samplen) /.FALSE./
 	DATA (gfcn_axis_will_be(i,p_samplen),i=1,nferdims)/
      .					pgc_axis_implied_by_args,
@@ -766,6 +785,7 @@
 	DATA gfcn_descr        (p_spawn) / 'execute a system command' /
 	DATA gfcn_rtn_type     (p_spawn) /pfcn_rtn_string /
 	DATA gfcn_num_reqd_args(p_spawn) /p_spawn_num_args/
+	DATA (gfcn_dir_args(i,p_spawn),i=1,nferdims) /nferdims*0/
 	DATA gfcn_has_vari_args(p_spawn) /.FALSE./
 	DATA (gfcn_axis_will_be(i,p_spawn),i=1,nferdims)/
      .						pgc_axis_is_abstract,
@@ -802,6 +822,7 @@
      .	'compare strings: +, 0, or - for str1 >, =, or < str2 rspctvly' /
 	DATA gfcn_rtn_type     (p_strcmp) /pfcn_rtn_float /
 	DATA gfcn_num_reqd_args(p_strcmp) /p_strcmp_num_args/
+	DATA (gfcn_dir_args(i,p_strcmp),i=1,nferdims) /nferdims*0/
 	DATA gfcn_has_vari_args(p_strcmp) /.FALSE./
 	DATA (gfcn_axis_will_be(i,p_strcmp),i=1,nferdims)/
      .					pgc_axis_implied_by_args,
@@ -852,6 +873,7 @@
      .	'determine string length' /
 	DATA gfcn_rtn_type     (p_strlen) /pfcn_rtn_float /
 	DATA gfcn_num_reqd_args(p_strlen) /p_strlen_num_args/
+	DATA (gfcn_dir_args(i,p_strlen),i=1,nferdims) /nferdims*0/
 	DATA gfcn_has_vari_args(p_strlen) /.FALSE./
 	DATA (gfcn_axis_will_be(i,p_strlen),i=1,nferdims)/
      .					pgc_axis_implied_by_args,
@@ -889,6 +911,7 @@
      .	'upper case entire string' /
 	DATA gfcn_rtn_type     (p_upcase) /pfcn_rtn_string /
 	DATA gfcn_num_reqd_args(p_upcase) /p_upcase_num_args/
+	DATA (gfcn_dir_args(i,p_upcase),i=1,nferdims) /nferdims*0/
 	DATA gfcn_has_vari_args(p_upcase) /.FALSE./
 	DATA (gfcn_axis_will_be(i,p_upcase),i=1,nferdims)/
      .					pgc_axis_implied_by_args,
@@ -927,6 +950,7 @@
      .	'Return start character position of substring in string' /
 	DATA gfcn_rtn_type     (p_strindex) /pfcn_rtn_float /
 	DATA gfcn_num_reqd_args(p_strindex) /p_strindex_num_args/
+	DATA (gfcn_dir_args(i,p_strindex),i=1,nferdims) /nferdims*0/
 	DATA gfcn_has_vari_args(p_strindex) /.FALSE./
 	DATA (gfcn_axis_will_be(i,p_strindex),i=1,nferdims)/
      .					pgc_axis_implied_by_args,
@@ -978,6 +1002,7 @@
      .	'Return last character position of substring in string' /
 	DATA gfcn_rtn_type     (p_strrindex) /pfcn_rtn_float /
 	DATA gfcn_num_reqd_args(p_strrindex) /p_strrindex_num_args/
+	DATA (gfcn_dir_args(i,p_strrindex),i=1,nferdims) /nferdims*0/
 	DATA gfcn_has_vari_args(p_strrindex) /.FALSE./
 	DATA (gfcn_axis_will_be(i,p_strrindex),i=1,nferdims)/
      .					pgc_axis_implied_by_args,
@@ -1029,6 +1054,7 @@
      .	'make entire string lower case' /
 	DATA gfcn_rtn_type     (p_dncase) /pfcn_rtn_string /
 	DATA gfcn_num_reqd_args(p_dncase) /p_dncase_num_args/
+	DATA (gfcn_dir_args(i,p_dncase),i=1,nferdims) /nferdims*0/
 	DATA gfcn_has_vari_args(p_dncase) /.FALSE./
 	DATA (gfcn_axis_will_be(i,p_dncase),i=1,nferdims)/
      .					pgc_axis_implied_by_args,
@@ -1066,6 +1092,7 @@
      .	'concatenate two strings' /
 	DATA gfcn_rtn_type     (p_strcat) /pfcn_rtn_string /
 	DATA gfcn_num_reqd_args(p_strcat) /p_strcat_num_args/
+	DATA (gfcn_dir_args(i,p_strcat),i=1,nferdims) /nferdims*0/
 	DATA gfcn_has_vari_args(p_strcat) /.FALSE./
 	DATA (gfcn_axis_will_be(i,p_strcat),i=1,nferdims)/
      .					pgc_axis_implied_by_args,
@@ -1117,6 +1144,7 @@
      .	         'Return a substring ' /
 	DATA gfcn_rtn_type     (p_substring) /pfcn_rtn_string /
 	DATA gfcn_num_reqd_args(p_substring) /p_substring_num_args/
+	DATA (gfcn_dir_args(i,p_substring),i=1,nferdims) /nferdims*0/
 	DATA gfcn_has_vari_args(p_substring) /.FALSE./
 	DATA (gfcn_axis_will_be(i,p_substring),i=1,nferdims)/
      .					pgc_axis_implied_by_args,
@@ -1181,6 +1209,7 @@
      .	'Return float value from character string' /
 	DATA gfcn_rtn_type     (p_strfloat) /pfcn_rtn_float /
 	DATA gfcn_num_reqd_args(p_strfloat) /p_strfloat_num_args/
+	DATA (gfcn_dir_args(i,p_strfloat),i=1,nferdims) /nferdims*0/
 	DATA gfcn_has_vari_args(p_strfloat) /.FALSE./
 	DATA (gfcn_axis_will_be(i,p_strfloat),i=1,nferdims)/
      .					pgc_axis_implied_by_args,
@@ -1207,17 +1236,154 @@
      .    / .TRUE., .TRUE., .TRUE., .TRUE., .TRUE., .TRUE. /
 
 
+* dot(var1,var2,idim) - return inner-product of two variables 
+*                                computed along a given common dimension
+	INTEGER		p_dot_arg_start, p_dot_num_args
+	PARAMETER     ( p_dot_arg_start = p_strfloat_arg_start +
+     .					    p_strfloat_num_args,
+     .			p_dot_num_args  = 3 )
+	DATA gfcn_name         (p_dot) /'DOT'/
+	DATA gfcn_alt_name_base (p_dot) /'DOT_%'/
+	DATA gfcn_version      (p_dot) / 1.0 /
+	DATA gfcn_descr        (p_dot) /
+     .	'Compute the inner product of two variables along given dimension' /
+	DATA gfcn_rtn_type     (p_dot) /pfcn_rtn_float /
+	DATA gfcn_num_reqd_args(p_dot) /p_dot_num_args/
+	DATA (gfcn_dir_args(i,p_dot),i=1,nferdims)/3,0,0,0,0,0/
+	DATA gfcn_has_vari_args(p_dot) /.FALSE./
+	DATA (gfcn_axis_will_be(i,p_dot),i=1,nferdims)/
+     .					pgc_axis_implied_by_args,
+     .					pgc_axis_implied_by_args,
+     .					pgc_axis_implied_by_args,
+     .					pgc_axis_implied_by_args,
+     .					pgc_axis_implied_by_args,
+     .					pgc_axis_implied_by_args/
+	DATA (gfcn_piecemeal_ok(i,p_dot),i=1,nferdims)
+     .      / .FALSE., .FALSE., .FALSE., .FALSE., .FALSE., .FALSE. /
+	DATA gfcn_arg_ptr(p_dot) /p_dot_arg_start/
 
+* ... description of argument 1
+	DATA gfcn_arg_name(p_dot_arg_start+0)/'VAR1'/
+	DATA gfcn_arg_type(p_dot_arg_start+0)/parg_type_float/
+	DATA gfcn_arg_units(p_dot_arg_start+0)/' '/
+	DATA gfcn_arg_descr(p_dot_arg_start+0)/'Variable 1'/
+	DATA (gfcn_arg_extend_lo (i,p_dot_arg_start+0),i=1,nferdims)
+     .    / 0, 0, 0, 0, 0, 0 /
+	DATA (gfcn_arg_extend_hi (i,p_dot_arg_start+0),i=1,nferdims)
+     .    / 0, 0, 0, 0, 0, 0 /
+* ... merge the axes implied by argument 1 ?
+	DATA (gfcn_axis_implied_from(i, p_dot_arg_start+0),i=1,nferdims)
+     .    / .TRUE., .TRUE., .TRUE., .TRUE., .TRUE., .TRUE. /
+
+     
+* ... merge the axes implied by argument 1 ?
+	DATA (gfcn_axis_implied_from(i, p_substring_arg_start+0),i=1,nferdims)
+     .    / .TRUE., .TRUE., .TRUE., .TRUE., .TRUE., .TRUE. /
+
+* ... description of argument 2
+	DATA gfcn_arg_name(p_dot_arg_start+1)/'VAR2'/
+	DATA gfcn_arg_type(p_dot_arg_start+1)/parg_type_float/
+	DATA gfcn_arg_units(p_dot_arg_start+1)/' '/
+	DATA gfcn_arg_descr(p_dot_arg_start+1)/'Variable 2'/
+	DATA (gfcn_arg_extend_lo (i,p_dot_arg_start+1),i=1,nferdims)
+     .    / 0, 0, 0, 0, 0, 0 /
+	DATA (gfcn_arg_extend_hi (i,p_dot_arg_start+1),i=1,nferdims)
+     .    / 0, 0, 0, 0, 0, 0 /
+* ... merge the axes implied by argument 2 ?
+	DATA (gfcn_axis_implied_from(i, p_dot_arg_start+1),i=1,nferdims)
+     .    / .TRUE., .TRUE., .TRUE., .TRUE., .TRUE., .TRUE. /
+
+* ... description of argument 3
+	DATA gfcn_arg_name(p_dot_arg_start+2)/'IDIM'/
+	DATA gfcn_arg_type(p_dot_arg_start+2)/parg_type_float/
+	DATA gfcn_arg_units(p_dot_arg_start+2)/' '/
+	DATA gfcn_arg_descr(p_dot_arg_start+2)/'Dimension (e.g.1,2,...)'/
+	DATA (gfcn_arg_extend_lo (i,p_dot_arg_start+1),i=1,nferdims)
+     .    / 0, 0, 0, 0, 0, 0 /
+	DATA (gfcn_arg_extend_hi (i,p_dot_arg_start+1),i=1,nferdims)
+     .    / 0, 0, 0, 0, 0, 0 /
+* ... merge the axes implied by argument 3 ?
+	DATA (gfcn_axis_implied_from(i, p_dot_arg_start+2),i=1,nferdims)
+     .    / .FALSE., .FALSE., .FALSE., .FALSE., .FALSE., .FALSE. /
+
+c-------------
+
+* TRANSPOSE(var,dim1,dim2) - return transpose of variable in the two given directions
+	INTEGER		p_transpose_arg_start, p_transpose_num_args
+	PARAMETER     ( p_transpose_arg_start = p_dot_arg_start +
+     .					    p_dot_num_args,
+     .			p_transpose_num_args  = 3 )
+	DATA gfcn_name         (p_transpose) /'TRANSPOSE'/
+	DATA gfcn_alt_name_base (p_transpose) /'TRANSPOSE_%%'/
+	DATA gfcn_version      (p_transpose) / 1.0 /
+	DATA gfcn_descr        (p_transpose) /
+     .	'Compute the transpose along two given dimensions' /
+	DATA gfcn_rtn_type     (p_transpose) /pfcn_rtn_float /
+	DATA gfcn_num_reqd_args(p_transpose) /p_transpose_num_args/
+	DATA (gfcn_dir_args(i,p_transpose),i=1,nferdims)/2,3,0,0,0,0/
+	DATA gfcn_has_vari_args(p_transpose) /.FALSE./
+	DATA (gfcn_axis_will_be(i,p_transpose),i=1,nferdims)/
+     .					pgc_axis_implied_by_args,
+     .					pgc_axis_implied_by_args,
+     .					pgc_axis_implied_by_args,
+     .					pgc_axis_implied_by_args,
+     .					pgc_axis_implied_by_args,
+     .					pgc_axis_implied_by_args/
+	DATA (gfcn_piecemeal_ok(i,p_transpose),i=1,nferdims)
+     .      / .FALSE., .FALSE., .FALSE., .FALSE., .FALSE., .FALSE. /
+	DATA gfcn_arg_ptr(p_transpose) /p_transpose_arg_start/
+
+* ... description of argument 1
+	DATA gfcn_arg_name(p_transpose_arg_start+0)/'VAR'/
+	DATA gfcn_arg_type(p_transpose_arg_start+0)/parg_type_float/
+	DATA gfcn_arg_units(p_transpose_arg_start+0)/' '/
+	DATA gfcn_arg_descr(p_transpose_arg_start+0)/'Variable to transpose'/
+	DATA (gfcn_arg_extend_lo (i,p_transpose_arg_start+0),i=1,nferdims)
+     .    / 0, 0, 0, 0, 0, 0 /
+	DATA (gfcn_arg_extend_hi (i,p_transpose_arg_start+0),i=1,nferdims)
+     .    / 0, 0, 0, 0, 0, 0 /
+* ... merge the axes implied by argument 1 ?
+	DATA (gfcn_axis_implied_from(i, p_transpose_arg_start+0),i=1,nferdims)
+     .    / .TRUE., .TRUE., .TRUE., .TRUE., .TRUE., .TRUE. /
+
+* ... description of argument 2
+	DATA gfcn_arg_name(p_transpose_arg_start+1)/'DIM1'/
+	DATA gfcn_arg_type(p_transpose_arg_start+1)/parg_type_float/
+	DATA gfcn_arg_units(p_transpose_arg_start+1)/' '/
+	DATA gfcn_arg_descr(p_transpose_arg_start+1)/'Dimension 1 for transpose (1,2,...)'/
+	DATA (gfcn_arg_extend_lo (i,p_transpose_arg_start+1),i=1,nferdims)
+     .    / 0, 0, 0, 0, 0, 0 /
+	DATA (gfcn_arg_extend_hi (i,p_transpose_arg_start+1),i=1,nferdims)
+     .    / 0, 0, 0, 0, 0, 0 /
+* ... merge the axes implied by argument 2 ?
+	DATA (gfcn_axis_implied_from(i, p_transpose_arg_start+1),i=1,nferdims)
+     .    / .FALSE., .FALSE., .FALSE., .FALSE., .FALSE., .FALSE. /
+
+* ... description of argument 3
+	DATA gfcn_arg_name(p_transpose_arg_start+2)/'DIM2'/
+	DATA gfcn_arg_type(p_transpose_arg_start+2)/parg_type_float/
+	DATA gfcn_arg_units(p_transpose_arg_start+2)/' '/
+	DATA gfcn_arg_descr(p_transpose_arg_start+2)/'Dimension 2 for transpose (1,2,...)'/
+	DATA (gfcn_arg_extend_lo (i,p_transpose_arg_start+2),i=1,nferdims)
+     .    / 0, 0, 0, 0, 0, 0 /
+	DATA (gfcn_arg_extend_hi (i,p_transpose_arg_start+2),i=1,nferdims)
+     .    / 0, 0, 0, 0, 0, 0 /
+* ... merge the axes implied by argument 3 ?
+	DATA (gfcn_axis_implied_from(i, p_transpose_arg_start+2),i=1,nferdims)
+     .    / .FALSE., .FALSE., .FALSE., .FALSE., .FALSE., .FALSE. /
 
 
 * internal parameters helpful for initialization
-	DATA gfcn_num_internal/p_strfloat/
+	DATA gfcn_num_internal/p_transpose/
+
+c-------------
+
 
 * template for next function ...
 	INTEGER		p_next, p_next_arg_start, p_next_num_args 
-	PARAMETER     ( p_next = p_strfloat + 1,
-     .			p_next_arg_start = p_strfloat_arg_start +
-     .					   p_strfloat_num_args,
+	PARAMETER     ( p_next = p_transpose + 1,
+     .			p_next_arg_start = p_transpose_arg_start +
+     .					   p_transpose_num_args,
      .			p_next_num_args  = 1 )
 
 	END
diff --git a/fer/dat/xprog_state_data.F b/fer/dat/xprog_state_data.F
index 5772626..28c6f73 100644
--- a/fer/dat/xprog_state_data.F
+++ b/fer/dat/xprog_state_data.F
@@ -120,7 +120,10 @@
 *                    ax_dec_pt(MODE_6D_LAB still turns on and off the listing of all 
 *                    6 dimensions on SHOW commands.)
 * V698  4/16 *acm* For ticket 2399: Apply MODE CALENDAR settings to F axes too
-
+* V702  3/17 *sh* new mode FRUGAL
+*                 SPAWN command returns spawn_status
+* v720 7/17 *acm* ticket 2552 Make SPAWN_STATUS return the return status, so 0=succcess
+*                 SPAWN_STATUS returns the status value, used for SPAWN_OK and SPAWN_STATUS
 
         IMPLICIT NONE
         include 'tmap_dims.parm'
@@ -227,6 +230,8 @@
      .					/ mode_stack_size*.FALSE.   /
      .		(mode_state( pmode_6d_lab,i), i=1,mode_stack_size)
      .					/ mode_stack_size*.TRUE.   /
+     .		(mode_state( pmode_frugal,i), i=1,mode_stack_size)
+     .					/ mode_stack_size*.TRUE.   /
 
 	DATA	mode_name ( pmode_diagnostic  )	/ 'DIAGNOSTIC  ' /,
      .		mode_name ( pmode_verify      )	/ 'VERIFY      ' /,
@@ -262,7 +267,7 @@
      .		mode_name ( pmode_curvilinear ) / 'CURVILINEAR'  /,
      .		mode_name ( pmode_layerz      ) / 'LAYERZ'       /,
      .		mode_name ( pmode_6d_lab      ) / '6D_LAB'       /,
-     .		mode_name ( 35     ) / pmode_unused /,
+     .		mode_name ( pmode_frugal      ) / 'FRUGAL'	 /,
      .		mode_name ( 36     ) / pmode_unused /,
      .		mode_name ( 37     ) / pmode_unused /,
      .		mode_name ( 38     ) / pmode_unused /,
@@ -337,6 +342,8 @@
      .				/ mode_stack_size*unspecified_int4 /
      .		(mode_arg  ( pmode_6d_lab,i), i=1,mode_stack_size)
      .				/ mode_stack_size*unspecified_int4 /
+     .		(mode_arg  ( pmode_frugal,i), i=1,mode_stack_size)
+     .				/ mode_stack_size*30 /
 
 * If the value of nlevels is changed, also change NLEV in plot/ppldata.F
 
@@ -389,5 +396,6 @@
         DATA    allowed_err             / .FALSE. /  ! briefly set true in SHOW VAR/TREE
         DATA    grat_on                 / .FALSE. /
         DATA    num_linecolors          / 6 /
+        DATA    spawn_status            / 0 /        ! last cmnd was successful
 
 	END
diff --git a/fer/dat/xrevision_data.F b/fer/dat/xrevision_data.F
index b668315..37f53fc 100644
--- a/fer/dat/xrevision_data.F
+++ b/fer/dat/xrevision_data.F
@@ -134,13 +134,17 @@
 * v7.02    8/2016 Fixes graticules on time axes # 2466
 * v7.02   12/2016 Merged true-monthly axis branch to the trunk
 * v7.1     2/2017 Official release
+* v7.11    4/19/2017 Tag before GFDL visit 4/2017
+* v7.12    5/11/2017 
+* v7.13    6/ 6/2017  fixes to tickets 2538, 2539
+* v7.20    7/11/2017 7.20 release
 
         IMPLICIT NONE
 	include	'xrevision.cmn'
 
 	DATA program_name	/ 'FERRET' /
 	DATA len_program_name	/  6       /
-	DATA revision_level	/  7.1   /
+	DATA revision_level	/  7.20   /
 
 ! Note we can put a debug title in the Ferret startup header lines
 ! by putting a title into the Makefile: $(MAKE) "DEBUG_TITLE=beta" update
diff --git a/fer/dat/xvariables_data.F b/fer/dat/xvariables_data.F
index d2db40c..f72cb4f 100644
--- a/fer/dat/xvariables_data.F
+++ b/fer/dat/xvariables_data.F
@@ -61,6 +61,7 @@
 *       2/12 *kms* Add E and F dimensions (set to nferdims in tmap_dims.parm)
 * V685+: 3/14 *sh* - initialize max_usable_intrp
 * V695+: 5/15 *sh* - initialize uvar_c_cache_ptr
+* V702:  2/17 *sh* - remove old block memory management variables
 
         IMPLICIT NONE
 #include "tmap_dset.parm"
@@ -77,8 +78,7 @@
 
 * dummy stored memory variable
 	DATA mr_protected	( dummy_mr ) / mr_perm_protected /
-	DATA mr_blk1		( dummy_mr ) / 1		/
-	DATA mr_nblks		( dummy_mr ) / 0		/
+	DATA mr_size		( dummy_mr ) / 0		/
 	DATA mr_data_set	( dummy_mr ) / unspecified_int4	/
 	DATA mr_category	( dummy_mr ) / cat_dummy_var	/
 	DATA mr_variable	( dummy_mr ) / unspecified_int4	/
@@ -96,14 +96,6 @@
 * interp stack pointer movable top
 	DATA max_usable_intrp / max_intrp /
 
-* bulk storage initialization
-	DATA (mblk_flink(i),i=1,pmax_mem_blks)
-     .			/ pmax_mem_blks*unspecified_int4 /
-	DATA (mblk_blink(i),i=1,pmax_mem_blks)
-     .			/ pmax_mem_blks*unspecified_int4 /
-	DATA (mblk_size (i),i=1,pmax_mem_blks)
-     .			/ pmax_mem_blks*unspecified_int4 /
-
 * memory variable table and delete priority chain initialization
 * (1/92 - made initialization limits explicit for Sun port)
 	DATA (mr_protected(i),i=1,max_mrm1)
diff --git a/fer/doo/SOURCE_FILES b/fer/doo/SOURCE_FILES
index 93ff770..347b417 100644
--- a/fer/doo/SOURCE_FILES
+++ b/fer/doo/SOURCE_FILES
@@ -43,6 +43,7 @@ do_external_gc_fcn.F\
 do_fill_ave.F\
 do_fill_interp.F\
 do_fill_near.F\
+do_iin_regrid.F\
 do_int_indef.F\
 do_int_indef_sub.F\
 do_integ_def.F\
@@ -51,7 +52,9 @@ do_interpolate.F\
 do_lin_regrid.F\
 do_locate.F\
 do_max.F\
+do_max_sub.F\
 do_min.F\
+do_min_sub.F\
 do_nbad.F\
 do_nearest.F\
 do_nearest_dist_above.F\
@@ -77,6 +80,7 @@ do_stddev.F\
 do_string_goodbad.F\
 do_string_shift.F\
 do_sum.F\
+do_sum_sub.F\
 do_var_sub.F\
 do_variance.F\
 do_wgt.F\
@@ -84,9 +88,13 @@ do_window_regrid.F\
 do_xact_regrid.F\
 do_xyave_regrid.F\
 do_xylin_regrid.F\
+finalize_ave_int.F\
+finalize_sums_counts.F\
+finalize_variance.F\
 geog_cos_factor.F\
 get_linear_coef.F\
 hanng_wt.F\
+iin_regrid.F\
 lin_regrid_1_axis.F\
 maxsmoother.F\
 median.F\
@@ -99,6 +107,7 @@ parzn_wt.F\
 regrid_comments.F\
 rho_unesco.F\
 theta_foff.F\
+trans_finalize.F\
 welch_wt.F\
 window_regrid_1_axis.F\
 xact_ptr_regrid_1_axis.F\
diff --git a/fer/doo/diag_op.F b/fer/doo/diag_op.F
index 1fc7c9c..76994e9 100644
--- a/fer/doo/diag_op.F
+++ b/fer/doo/diag_op.F
@@ -64,6 +64,10 @@
 * V7    acm  6/16 Ticket 2437: Deprecating mode_6d_lab. 
 *		  Adjust output to 6-D or 4-D grids
 * V701  acm  7/16 Avoid writing nulls when changing from 6-D to 4-D output
+* V702 *sh* 11/16 report gathering on compressed axis
+* V702  sh   1/17 Output total_mem along with gather diagnostics
+*                 Increase field sizes for long axes
+
 
 * calling argument declarations:
         IMPLICIT NONE
@@ -72,7 +76,9 @@
 
 * internal variable declarations:
 	LOGICAL	FOUR_D_GRID
-	INTEGER	TM_LENSTR1, slen, clen, ii, i, listdims
+	INTEGER	TM_LENSTR1, CGRID_SIZE,
+     .		slen, clen, ii, i, listdims, chunk_size
+	INTEGER*8 available_mem
 	CHARACTER*3   ALG_TRANS_CODE
 	CHARACTER*128 VAR_CODE,  var
 	CHARACTER*150 VAR_TRANS, out_buff
@@ -82,6 +88,7 @@
 	external xgt_grid_data
 	include	'ferret.parm'
 	include	'interp_stack.parm'
+	include	'xvariables.cmn'
 	include	'xcontext.cmn'
 	include	'xprog_state.cmn'
 	include	'xtext_info.cmn'
@@ -125,12 +132,28 @@
 
 * SPLITTING/GATHERING
 	ELSEIF( act_class .EQ. isact_class_gather ) THEN
+	   chunk_size = CGRID_SIZE(cx)
+	   available_mem = max_mem_allowed-(permanent_mem+essential_mem)
 	   WRITE ( risc_buff, 3030 ) doing, var(1:slen),
      .                  ww_dim_name( idim ),
      .			cx_lo_ss(cx,idim), cx_hi_ss(cx,idim),
-     .			cx_data_set(cx)
+     .			cx_data_set(cx), chunk_size, available_mem
  3030	   FORMAT
-     . (1X,A5,' gathering ',A,' on ',A1,' axis:',2I6,' dset:',I4)
+     . (1X,A5,' gathering ',A,' on ',A1,' axis:',2I9,' dset:',I4, 
+     .  I14,'=request', I14, '=availableMem')
+	   CALL SPLIT_LIST(pttmode_ops, ttout_lun, risc_buff, 0 )
+
+* COMPRESSED AXIS SPLITTING/GATHERING
+	ELSEIF( act_class .EQ. isact_class_cmp_gather_dummy ) THEN
+	   chunk_size = CGRID_SIZE(cx)
+	   available_mem = max_mem_allowed-(permanent_mem+essential_mem)
+	   WRITE ( risc_buff, 3031 ) doing, var(1:slen),
+     .                  ww_dim_name( idim ),
+     .			cx_lo_ss(cx,idim), cx_hi_ss(cx,idim),
+     .			cx_data_set(cx), chunk_size, available_mem
+ 3031	   FORMAT
+     . (1X,A5,' gather/compress ',A,' on ',A1,' axis:',2I9,' dset:',I4, 
+     .  I14,'=request', I14, '=availableMem')
 	   CALL SPLIT_LIST(pttmode_ops, ttout_lun, risc_buff, 0 )
 
 * SAMPLING (SAMPLE* functions)
@@ -140,7 +163,7 @@
      .			cx_lo_ss(cx,idim), cx_hi_ss(cx,idim),
      .			cx_data_set(cx)
  3035	   FORMAT
-     . (1X,A5,' sampling ',A,' on ',A1,' axis:',2I6,' dset:',I4)
+     . (1X,A5,' sampling ',A,' on ',A1,' axis:',2I9,' dset:',I4)
 	   CALL SPLIT_LIST(pttmode_ops, ttout_lun, risc_buff, 0 )
 
 * ASSEMBLING MODULO COMPONENTS
@@ -150,7 +173,7 @@
      .			cx_lo_ss(cx,idim), cx_hi_ss(cx,idim),
      .			cx_data_set(cx)
  3040	   FORMAT 
-     . (1X,A5,' moduloing ',A,' on ',A1,' axis:',2I6,' dset:',I4)
+     . (1X,A5,' moduloing ',A,' on ',A1,' axis:',2I9,' dset:',I4)
 	   CALL SPLIT_LIST(pttmode_ops, ttout_lun, risc_buff, 0 )
 
 * reversed axis reads
@@ -160,7 +183,7 @@
      .			cx_lo_ss(cx,idim), cx_hi_ss(cx,idim),
      .			cx_data_set(cx)
  3050	   FORMAT
-     . (1X,A5,' reversing ',A,' on ',A1,' axis:',2I6,' dset:',I4)
+     . (1X,A5,' reversing ',A,' on ',A1,' axis:',2I9,' dset:',I4)
 	   CALL SPLIT_LIST(pttmode_ops, ttout_lun, risc_buff, 0 )
 
 * implicit grid allocation/deallocation
@@ -210,7 +233,7 @@
      .			cx_lo_ss(cx,idim), cx_hi_ss(cx,idim),
      .			cx_data_set(cx)
  3080	   FORMAT 
-     . (1X,A5,' modulo-void-filling ',A,' on ',A1,' axis:',2I6,' dset:',I4)
+     . (1X,A5,' modulo-void-filling ',A,' on ',A1,' axis:',2I9,' dset:',I4)
 	   CALL SPLIT_LIST(pttmode_ops, ttout_lun, risc_buff, 0 )
 
 
@@ -221,7 +244,7 @@
      .			cx_lo_ss(cx,idim), cx_hi_ss(cx,idim),
      .			cx_data_set(cx)
  3090	   FORMAT
-     . (1X,A5,' aggregate gathering ',A,' on ',A1,' axis:',2I6,' dset:',I4)
+     . (1X,A5,' aggregate gathering ',A,' on ',A1,' axis:',2I9,' dset:',I4)
 	   CALL SPLIT_LIST(pttmode_ops, ttout_lun, risc_buff, 0 )
 
 * getting arguments needed for curvilinear plotting
@@ -231,7 +254,7 @@
      .			cx_lo_ss(cx,idim), cx_hi_ss(cx,idim),
      .			cx_data_set(cx)
  3100	   FORMAT
-     . (1X,A5,' getting aux vars ',A,' on ',A1,' axis:',2I6,' dset:',I4)
+     . (1X,A5,' getting aux vars ',A,' on ',A1,' axis:',2I9,' dset:',I4)
 	   CALL SPLIT_LIST(pttmode_ops, ttout_lun, risc_buff, 0 )
 
 	ELSE
diff --git a/fer/doo/do_4d_ave.F b/fer/doo/do_4d_ave.F
index 4e20f2e..4c20a12 100644
--- a/fer/doo/do_4d_ave.F
+++ b/fer/doo/do_4d_ave.F
@@ -45,6 +45,8 @@
 
 * V430: 7/96
 *        2/12 *kms* Add E and F dimensions (use nferdims in tmap_dims.parm)
+* V702 *sh* 11/16 mods for trac #2428 - calculation in gathered fragments
+*                 pass address of buffer area, where weights are accumulated
 
         IMPLICIT NONE
         include 'tmap_dims.parm'
@@ -58,17 +60,21 @@
 	REAL	arg, com(*), res(*), boxes(*)
 
 * internal variable declarations:
-	INTEGER	CX_DIM_LEN
+	INTEGER	CGRID_SIZE, size
 
 * diagnostic mode output: " doing --> VAR_NAME[x=lo:hi at TRN:n,D=#]"
 	IF ( mode_diagnostic ) 	CALL DIAG_OP
      .				( 'doing', isact_class_trans, res_cx, idim )
 
+* get size of result array to locate buffer area just beyond
+	size = CGRID_SIZE(res_cx)
+
 * pass the transform to be performed
 	CALL DO_4D_TRANS(   trans_4d_ave,
      .			    com, com_mr, com_cx,
      .			    res, res_mr, res_cx,
-     .			    boxes )
+     .			    boxes,
+     .			    res(size+1), res(size+1) )
 
 	DO_4D_AVE = ferr_ok
 
diff --git a/fer/doo/do_4d_int_def.F b/fer/doo/do_4d_int_def.F
index 0b5f782..f5f878d 100644
--- a/fer/doo/do_4d_int_def.F
+++ b/fer/doo/do_4d_int_def.F
@@ -45,6 +45,8 @@
 
 * V430: 7/96
 *        2/12 *kms* Add E and F dimensions (use nferdims in tmap_dims.parm)
+* V702 *sh* 11/16 mods for trac #2428 - calculation in gathered fragments
+*                 pass address of buffer area, where weights are accumulated
 
         IMPLICIT NONE
         include 'tmap_dims.parm'
@@ -58,17 +60,22 @@
 	REAL	arg, com(*), res(*), boxes(*)
 
 * internal variable declarations:
-	INTEGER	CX_DIM_LEN
+	INTEGER	CGRID_SIZE, size
 
 * diagnostic mode output: " doing --> VAR_NAME[x=lo:hi at TRN:n,D=#]"
 	IF ( mode_diagnostic ) 	CALL DIAG_OP
      .				( 'doing', isact_class_trans, res_cx, idim )
 
+* get size of result array to locate buffer area just beyond
+	size = CGRID_SIZE(res_cx)
+
+
 * pass the transform to be performed
 	CALL DO_4D_TRANS(   trans_4d_int_def,
      .			    com, com_mr, com_cx,
      .			    res, res_mr, res_cx,
-     .			    boxes )
+     .			    boxes,
+     .			    res(size+1), res(size+1) )
 
 	DO_4D_INT_DEF = ferr_ok
 
diff --git a/fer/doo/do_4d_std.F b/fer/doo/do_4d_std.F
index 9e44565..b22748c 100644
--- a/fer/doo/do_4d_std.F
+++ b/fer/doo/do_4d_std.F
@@ -42,8 +42,11 @@
 
 * programmer - Ansley Manke
 * NOAA/PMEL, Seattle, WA - TMAP
-* V695 *acm* 10/15 Fix #2319: @STD as a multi-D transform
 
+* V695 *acm* 10/15 Fix #2319: @STD as a multi-D transform
+* V702 *sh* 11/16 mods for trac #2428 - calculation in gathered fragments
+*                 pass address of buffer area, where the components needed to
+*                 finalize the 1-pass weighted variance calculation are accumulated 
 
         IMPLICIT NONE
         include 'tmap_dims.parm'
@@ -57,17 +60,21 @@
 	REAL	arg, com(*), res(*), boxes(*)
 
 * internal variable declarations:
-	INTEGER	CX_DIM_LEN
+	INTEGER	CGRID_SIZE, size
 
 * diagnostic mode output: " doing --> VAR_NAME[x=lo:hi at TRN:n,D=#]"
 	IF ( mode_diagnostic ) 	CALL DIAG_OP
      .				( 'doing', isact_class_trans, res_cx, idim )
 
+* get size of result array to locate buffer area just beyond
+	size = CGRID_SIZE(res_cx)
+
 * pass the transform to be performed
 	CALL DO_4D_TRANS(   trans_4d_std,
      .			    com, com_mr, com_cx,
      .			    res, res_mr, res_cx,
-     .			    boxes )
+     .			    boxes,
+     .			    res(size+1), res(2*size+1) )
 
 	DO_4D_STD = ferr_ok
 
diff --git a/fer/doo/do_4d_sum.F b/fer/doo/do_4d_sum.F
index 3b2c6d2..24081a4 100644
--- a/fer/doo/do_4d_sum.F
+++ b/fer/doo/do_4d_sum.F
@@ -58,17 +58,21 @@
 	REAL	arg, com(*), res(*), boxes(*)
 
 * internal variable declarations:
-	INTEGER	CX_DIM_LEN
+	INTEGER	CX_DIM_LEN, CGRID_SIZE, size
 
 * diagnostic mode output: " doing --> VAR_NAME[x=lo:hi at TRN:n,D=#]"
 	IF ( mode_diagnostic ) 	CALL DIAG_OP
      .				( 'doing', isact_class_trans, res_cx, idim )
 
+* get size of result array to locate buffer area just beyond
+	size = CGRID_SIZE(res_cx)
+
 * pass the transform to be performed
 	CALL DO_4D_TRANS(   trans_4d_sum,
      .			    com, com_mr, com_cx,
      .			    res, res_mr, res_cx,
-     .			    boxes )
+     .			    boxes,
+     .			    res(size+1), res(size+1) )
 
 	DO_4D_SUM = ferr_ok
 
diff --git a/fer/doo/do_4d_trans.F b/fer/doo/do_4d_trans.F
index 743a29a..b589d9e 100644
--- a/fer/doo/do_4d_trans.F
+++ b/fer/doo/do_4d_trans.F
@@ -1,7 +1,8 @@
 	SUBROUTINE DO_4D_TRANS( action,
      .				com, com_mr, com_cx,
      .				res, res_mr, res_cx,
-     .				boxes )
+     .				boxes,
+     .			        weights, s_var )
 
 *
 *
@@ -48,6 +49,9 @@
 * first axis equally, despite the fact that they represented different
 * numbers of data points.
 
+* for a discussion of the 1-pass variance and standard deviation calculations
+* see DO_VAR_SUB
+
 * programmer - steve hankin
 * NOAA/PMEL, Seattle, WA - Tropical Modeling and Analysis Program
 *
@@ -74,6 +78,9 @@
 * V685+*acm* 12/13 Bug in y boxes; only when y axis in the transf.
 * V695 *acm* 10/15 Fix #2319: @STD as a multi-D transform
 * V71 12/16 *acm* For ticket 2158: working with true monthly time axes.
+* V702 *sh* 11/16 mods for trac #2428 - calculation in gathered fragments
+* V72  *acm* 6/17 Ticket 2539: Do not set res to bad-value for ave, din.
+*                 Weights of zero or non-zero mark whether data is found.
 
 	IMPLICIT NONE
         include 'tmap_dims.parm'
@@ -91,21 +98,26 @@
 	LOGICAL GEOG_COS_FACTOR, ITSA_TRUEMONTH_AXIS,
      .		point, yes_ax(nferdims), no_ax(nferdims),
      .		at_ave, at_var, at_din, at_nbd, at_ngd, at_sum, at_std, 
-     .		short_comp,need_cos, one_y
+     .		short_comp,need_cos, one_y, its_var_or_std, its_ave_or_din
 	INTEGER idim, i, j, ir, jr, kr, lr, mr, nr, ic, jc, kc, lc, mc, nc,
      .		grid, nbd, ngd, com_lo(nferdims), com_hi(nferdims),
      .		box_offset(nferdims), offset, ind_lo, ind_hi, cos_offset
-	REAL	BOX_SIZE, unit, bad_com, bad_res, box, mean, diff,
-     .		xbox, ybox, zbox, tbox, ebox, fbox,
-     .		yc, yh, yh_2, bb, ybxlo, ybxhi
-	REAL*8	TM_WORLD, dsum, bsum
+	REAL	BOX_SIZE, unit, bad_com, bad_res, box, mean, 
+     .		diff,xbox, ybox, zbox, tbox, ebox, fbox,
+     .		yc, yh, yh_2, bb, ybxlo, ybxhi, lo_box_lo, hi_box_hi
+	REAL*8	TM_WORLD, dsum, bsum, ok,
+     .		w, v, wsum_chunk, mean_chunk, mean_old, s_chunk
 
 * calling argument declarations:
 	INTEGER	action, com_mr, com_cx, res_mr, res_cx
-	REAL    com ( m1lox:m1hix,m1loy:m1hiy,m1loz:m1hiz,
-     .                m1lot:m1hit,m1loe:m1hie,m1lof:m1hif ),
-     .          res ( m2lox:m2hix,m2loy:m2hiy,m2loz:m2hiz,
-     .                m2lot:m2hit,m2loe:m2hie,m2lof:m2hif ),
+	REAL    com     ( m1lox:m1hix,m1loy:m1hiy,m1loz:m1hiz,
+     .                    m1lot:m1hit,m1loe:m1hie,m1lof:m1hif ),
+     .          res     ( m2lox:m2hix,m2loy:m2hiy,m2loz:m2hiz,
+     .                    m2lot:m2hit,m2loe:m2hie,m2lof:m2hif ),
+     .          weights ( m2lox:m2hix,m2loy:m2hiy,m2loz:m2hiz,
+     .                    m2lot:m2hit,m2loe:m2hie,m2lof:m2hif ),
+     .          s_var   ( m2lox:m2hix,m2loy:m2hiy,m2loz:m2hiz,
+     .                    m2lot:m2hit,m2loe:m2hie,m2lof:m2hif ),
      .		boxes(*)
 
 * equivalences
@@ -167,6 +179,8 @@
 	at_sum = action .EQ. trans_4d_sum
 	at_std = action .EQ. trans_4d_std
 	short_comp = at_ngd .OR. at_nbd	.OR. at_sum	! for speed, only
+	its_ave_or_din = at_ave .OR. at_din
+	its_var_or_std = at_var .OR. at_std
 
 * determine the axes to be transformed
 	DO 10 idim = 1, nferdims
@@ -199,22 +213,25 @@
 	  ind_hi = cx_hi_ss(com_cx,idim)
 	  offset = box_offset(idim)
 	  IF (yes_ax(idim)) THEN
-            IF ( ind_lo .EQ. ind_hi ) THEN    ! 8/92
-              boxes(ind_lo+offset) = cx_hi_ww(idim,res_cx)
-     .				 - cx_lo_ww(idim,res_cx)
-              point = point  .OR.   boxes(ind_lo+offset) .EQ. 0.0
-            ELSE
-* ... partial box at lower end
-	      boxes(ind_lo+offset) = TM_WORLD(ind_lo, grid, idim, box_hi_lim)
-     .				 - cx_lo_ww(idim,res_cx)
-
-* ... complete boxes mid-axis
-	      DO 40 i = ind_lo+1, ind_hi-1
- 40	      boxes(i+offset)  = BOX_SIZE( i, grid, idim )
-* ... partial box at upper end
-	      boxes(ind_hi+offset) = cx_hi_ww(idim,res_cx)
-     .		   - TM_WORLD(ind_hi, grid, idim, box_lo_lim)
-            ENDIF
+* ... complete boxes mid-axis (incl. default full boxes at endpoints)
+	   DO i = ind_lo, ind_hi
+	      boxes(i+offset)  = BOX_SIZE( i, grid, idim )
+	   ENDDO
+* 11/16 re-engineered the 8/92 fix - that axis region may lie in a single box
+	   lo_box_lo = cx_lo_ww(idim,com_cx)
+	   hi_box_hi = cx_hi_ww(idim,com_cx)
+! ... the preceding is a more efficient way to obtain
+!	   lo_box_lo = TM_WORLD(ind_lo, grid, idim, box_lo_lim)
+!	   hi_box_hi = TM_WORLD(ind_hi, grid, idim, box_hi_lim)
+* ... trim if partial box at lower end
+	   IF ( lo_box_lo .LT. cx_lo_ww(idim,res_cx) ) boxes(ind_lo+offset) =
+     .         boxes(ind_lo+offset) - 
+     .			( cx_lo_ww(idim,res_cx) - lo_box_lo )
+* ... trim if partial box at upper end
+	   IF ( hi_box_hi .GT. cx_hi_ww(idim,res_cx) ) boxes(ind_hi+offset) = 
+     .            boxes(ind_hi+offset) - 
+     .			( hi_box_hi - cx_hi_ww(idim,res_cx) )
+	   point = point .OR. boxes(ind_lo+offset).EQ.0.0
 * ... perform integrations on standard units if possible
             unit = 1.
 	    IF ( at_din ) THEN
@@ -366,23 +383,25 @@ C (Unless there is just one grid cell in the y direction.)
             jc = j_lo
             ic = i_lo
 
-	    IF (at_din) THEN
-               IF (com(ic,jc,kc,lc,mc,nc) .EQ. bad_com) THEN
-                  res(ir,jr,kr,lr,mr,nr) = bad_res
-               ELSE
-                  res(ir,jr,kr,lr,mr,nr) = 0.0
-	       ENDIF
-            ELSE
-               res(ir,jr,kr,lr,mr,nr) = bad_res
-            ENDIF
+	    IF (at_din .AND. com(ic,jc,kc,lc,mc,nc) .NE. bad_com) 
+     .        res(ir,jr,kr,lr,mr,nr) = 0.0
             GOTO 300
           ENDIF
 
 * initialize the inner loop accumulators
-	  dsum = 0.0D0	! data
-	  bsum = 0.0D0	! boxes
-	  ngd  = 0
-	  nbd  = 0
+	  IF (its_var_or_std) THEN
+* ... initializations were done from IS_TRANS
+* ... start from the last accumulated value to support split/gather
+	    wsum_chunk = weights(ir,jr,kr,lr,mr,nr)
+	    mean_chunk = res    (ir,jr,kr,lr,mr,nr)
+	    s_chunk    = s_var  (ir,jr,kr,lr,mr,nr)
+	  ELSE
+	    dsum = 0.0D0	! data
+	    bsum = 0.0D0	! boxes
+	    ok	 = 0.0D0	! count valid
+	    ngd  = 0
+	    nbd  = 0
+	  ENDIF
 
 * now loop over the component data accumulating results along relevant axes
 * ... two separate loops for efficiency, only -- keep @ngd and @nbd fast
@@ -401,7 +420,10 @@ C (Unless there is just one grid cell in the y direction.)
 	        nbd = nbd + 1
 	      ELSE
 	        ngd = ngd + 1
-		IF (at_sum) dsum = dsum + com(ic,jc,kc,lc,mc,nc)
+	        IF (at_sum) THEN
+	           dsum = dsum + com(ic,jc,kc,lc,mc,nc)
+	           ok = ok + 1
+	        ENDIF
 	      ENDIF
 
  210	    CONTINUE
@@ -424,62 +446,46 @@ C (Unless there is just one grid cell in the y direction.)
 	      IF ( com(ic,jc,kc,lc,mc,nc) .NE. bad_com ) THEN
 	        box = xbox * ybox * zbox * tbox * ebox * fbox
 	        IF (need_cos) box = box * boxes(jc+cos_offset)
-	        bsum = bsum + box
-	        dsum = dsum + box*com(ic,jc,kc,lc,mc,nc)
+	      	IF (its_var_or_std) THEN
+	          v = com(ic,jc,kc,lc,mc,nc)
+	          w = box
+	          wsum_chunk = wsum_chunk + w
+	          mean_old = mean_chunk
+	          mean_chunk = mean_old + (w/wsum_chunk)*(v-mean_old)
+	          s_chunk = s_chunk + w * (v-mean_old)*(v-mean_chunk)
+	        ELSE
+	          bsum = bsum + box
+	          dsum = dsum + box*com(ic,jc,kc,lc,mc,nc)
+	        ENDIF
 	      ENDIF
 
  220	    CONTINUE
 
-! for variance or std calculation, only: a 2nd pass ...
-	    IF ( at_var .OR. at_std) THEN
-	      IF (bsum .NE. 0.0D0) THEN
-	        mean = dsum / bsum
-	        dsum = 0.0D0
-	        DO 230 nc = n_lo, n_hi
-	        IF (yes_fax) fbox = boxes(nc+noffset)
-	        DO 230 mc = m_lo, m_hi
-	        IF (yes_eax) ebox = boxes(mc+moffset)
-	        DO 230 lc = l_lo, l_hi
-	        IF (yes_tax) tbox = boxes(lc+loffset)
-	        DO 230 kc = k_lo, k_hi
-	        IF (yes_zax) zbox = boxes(kc+koffset)
-	        DO 230 jc = j_lo, j_hi
-	        IF (yes_yax) ybox = boxes(jc+joffset)
-	        DO 230 ic = i_lo, i_hi
-	        IF (yes_xax) xbox = boxes(ic+ioffset)
-
-	          IF ( com(ic,jc,kc,lc,mc,nc) .NE. bad_com ) THEN
-	            box = xbox * ybox * zbox * tbox * ebox * fbox
-	            IF (need_cos) box = box * boxes(jc+cos_offset)
-	            diff = com(ic,jc,kc,lc,mc,nc) - mean
-	            dsum = dsum + box*diff*diff
-	          ENDIF
-
- 230	        CONTINUE
-	      ENDIF
-	    ENDIF
-
 	  ENDIF
 
-* compute result from accumulators
+* *sh* 11/16 -- accumulate values, only in this routine.  Finalize elsewhere
+* acm notes: 
+*   o at_ngd and at_nbd, add the current result to res(ir,jr,... )?  
+*   o If bsum EQ 0, do not set the accumulating result to bad_res as
+*     we did in the non-scatter and finalize code.  The weights take 
+*     care of knowing if any good data was found.
+
 	  IF (at_ngd) THEN
-	     res(ir,jr,kr,lr,mr,nr) = ngd
+	     res(ir,jr,kr,lr,mr,nr) = ngd  
 	  ELSEIF (at_nbd) THEN
-	     res(ir,jr,kr,lr,mr,nr) = nbd
+	     res(ir,jr,kr,lr,mr,nr) = nbd  
 	  ELSEIF (at_sum .AND. ngd.GT.0) THEN
 	     res(ir,jr,kr,lr,mr,nr) = dsum
-          ELSEIF ( bsum .EQ. 0.0D0 ) THEN
-	     res(ir,jr,kr,lr,mr,nr) = bad_res
-	  ELSEIF (at_din) THEN
-	     res(ir,jr,kr,lr,mr,nr) = dsum
-	  ELSE
+	     weights(ir,jr,kr,lr,mr,nr) = weights(ir,jr,kr,lr,mr,nr) + ok ! weights are #valid
+	  ELSEIF (its_ave_or_din) THEN
+	      res    (ir,jr,kr,lr,mr,nr) = res    (ir,jr,kr,lr,mr,nr) + dsum
+	      weights(ir,jr,kr,lr,mr,nr) = weights(ir,jr,kr,lr,mr,nr) + bsum
+	  ELSEIF (its_var_or_std) THEN
+	    res    (ir,jr,kr,lr,mr,nr) = mean_chunk
+	    weights(ir,jr,kr,lr,mr,nr) = wsum_chunk
+	    s_var  (ir,jr,kr,lr,mr,nr) = s_chunk
 	  
-	     IF (at_std) THEN
-	        res(ir,jr,kr,lr,mr,nr) = SQRT( dsum/bsum )
-	     ELSE
-	        res(ir,jr,kr,lr,mr,nr) = dsum/bsum	! average or variance
-	     ENDIF
-
+	     CONTINUE
 	  ENDIF
 
  300	CONTINUE
diff --git a/fer/doo/do_4d_var.F b/fer/doo/do_4d_var.F
index 8a6059f..62b6bbd 100644
--- a/fer/doo/do_4d_var.F
+++ b/fer/doo/do_4d_var.F
@@ -45,6 +45,9 @@
 
 * V430: 7/96
 *        2/12 *kms* Add E and F dimensions (use nferdims in tmap_dims.parm)
+* V702 *sh* 11/16 mods for trac #2428 - calculation in gathered fragments
+*                 pass address of buffer area, where the components needed to
+*                 finalize the 1-pass weighted variance calculation are accumulated 
 
         IMPLICIT NONE
         include 'tmap_dims.parm'
@@ -58,17 +61,21 @@
 	REAL	arg, com(*), res(*), boxes(*)
 
 * internal variable declarations:
-	INTEGER	CX_DIM_LEN
+	INTEGER	CGRID_SIZE, size
 
 * diagnostic mode output: " doing --> VAR_NAME[x=lo:hi at TRN:n,D=#]"
 	IF ( mode_diagnostic ) 	CALL DIAG_OP
      .				( 'doing', isact_class_trans, res_cx, idim )
 
+* get size of result array to locate buffer area just beyond
+	size = CGRID_SIZE(res_cx)
+
 * pass the transform to be performed
 	CALL DO_4D_TRANS(   trans_4d_var,
      .			    com, com_mr, com_cx,
      .			    res, res_mr, res_cx,
-     .			    boxes )
+     .			    boxes,
+     .			    res(size+1), res(2*size+1) )
 
 	DO_4D_VAR = ferr_ok
 
diff --git a/fer/doo/do_aux_var_regrid.F b/fer/doo/do_aux_var_regrid.F
index ceeeac5..aef4a88 100644
--- a/fer/doo/do_aux_var_regrid.F
+++ b/fer/doo/do_aux_var_regrid.F
@@ -1,4 +1,4 @@
-	SUBROUTINE DO_AUX_VAR_REGRID( memory, axis_list, naxis, aux_has_cell_pts,
+	SUBROUTINE DO_AUX_VAR_REGRID(  axis_list, naxis, aux_has_cell_pts,
      .				      src,  msrc,  src_cx,
      .				      dst,  mdst,  dst_cx,
      .				      aux1, maux1, aux1_cx,
@@ -61,7 +61,6 @@
 	INTEGER	naxis, axis_list(naxis), status,
      .		msrc, mdst, maux1, maux2, maux3,
      .		src_cx, dst_cx, aux1_cx, aux2_cx, aux3_cx
-	REAL	memory( mem_blk_size, max_mem_blks )
         REAL    src(*), dst(*), aux1(*), aux2(*), aux3(*)
 
 * internal variable declarations
diff --git a/fer/doo/do_aux_var_regrid_1d.F b/fer/doo/do_aux_var_regrid_1d.F
index f4c6a68..b257f83 100644
--- a/fer/doo/do_aux_var_regrid_1d.F
+++ b/fer/doo/do_aux_var_regrid_1d.F
@@ -63,6 +63,7 @@
 *                 false_1pt_regrid [gz(aux)=pt]
 * V700 11/16 *sh* fixed bug in koffset_false lingering from K-only regrid
 *                 days of this routine
+* V702 1/17 *sh* for trac enhancement #2369 -- dynamic memory management 
 
         IMPLICIT NONE
         include 'tmap_dims.parm'
@@ -365,7 +366,7 @@
  1000	CONTINUE
 
 * successful completion.  Clean up.
-        CALL RELEASE_WORK_SPC
+        CALL RELEASE_DYN_WORK_SPACE
         RETURN
 
 * error exit
diff --git a/fer/doo/do_aux_var_regrid_1d_t.F b/fer/doo/do_aux_var_regrid_1d_t.F
index aa769fa..2e02a76 100644
--- a/fer/doo/do_aux_var_regrid_1d_t.F
+++ b/fer/doo/do_aux_var_regrid_1d_t.F
@@ -48,6 +48,7 @@
 * This code copied/modified from do_aux_var_regrid_1d_z.F
 
 * V695+ 3/15 *sh*
+* V702 1/17 *sh* for trac enhancement #2369 -- dynamic memory management 
 
         IMPLICIT NONE
         include 'tmap_dims.parm'
@@ -228,7 +229,7 @@
 	ENDDO
 
 * successful completion.  Clean up.
-        CALL RELEASE_WORK_SPC    ! ?? needed ??
+        CALL RELEASE_DYN_WORK_SPACE   ! ?? needed ??
         RETURN
 
 * error exit
diff --git a/fer/doo/do_aux_var_regrid_2d_tf.F b/fer/doo/do_aux_var_regrid_2d_tf.F
index 1c73d78..fd756ff 100644
--- a/fer/doo/do_aux_var_regrid_2d_tf.F
+++ b/fer/doo/do_aux_var_regrid_2d_tf.F
@@ -50,6 +50,7 @@
 * V695+ 3/15 *sh*
 * V698  3/16 *sh* - compute f_delta from the time2d field rather than F axis
 *                   allowing the F axis to be redefined
+* V702 1/17 *sh* for trac enhancement #2369 -- dynamic memory management 
 
         IMPLICIT NONE
         include 'tmap_dims.parm'
@@ -282,7 +283,7 @@
 	ENDDO     ! L loop
 
 * successful completion.  Clean up.
-        CALL RELEASE_WORK_SPC    ! ?? needed ??
+        CALL RELEASE_DYN_WORK_SPACE    ! ?? needed ??
         RETURN
 
 * error exit
diff --git a/fer/doo/do_ave_int.F b/fer/doo/do_ave_int.F
index 62fb3e6..0a9bc51 100644
--- a/fer/doo/do_ave_int.F
+++ b/fer/doo/do_ave_int.F
@@ -1,7 +1,7 @@
 	SUBROUTINE DO_AVE_INT(	action, idim, com_lo, com_hi,
      .				com, com_mr, com_cx,
      .				res, res_mr, res_cx,
-     .				box )
+     .				box, weights )
 
 *
 *
@@ -38,12 +38,11 @@
 *  CONNECTION WITH THE ACCESS, USE OR PERFORMANCE OF THIS SOFTWARE. 
 *
 *
-* perform both averaging and integrating (definite) - since they differ only
-* by a multiplying factor
+* perform both accumulation of values needed for both averaging and integrating
+* (definite) - since they differ only by a multiplying factor
 
 * programmer - steve hankin
 * NOAA/PMEL, Seattle, WA - Tropical Modeling and Analysis Program
-* written for VAX computer under VMS operating system
 *
 * V200: ????
 *      10/11/89 - modified array declarations using XMEM_SUBSC.CMN
@@ -53,6 +52,10 @@
 * V68  *acm* 1/12  ifdef double_p for double-precision ferret.
 *        2/12 *kms* Add E and F dimensions (use nferdims in tmap_dims.parm)
 * V71 12/16 *acm* For ticket 2158: working with true monthly time axes.
+* V702 *sh* 11/16 this routine now performs accumulation only.  Initialization
+*                 and finalizing called separately from IS_TRANS
+* V72  *acm* 5/17 Fix ticket 2538: scatter/gather weights when average 
+*                 over a "point"
 
         IMPLICIT NONE
         include 'tmap_dims.parm'
@@ -76,10 +79,12 @@
 
 * calling argument declarations:
 	INTEGER	action, idim, com_lo, com_hi, com_mr, com_cx, res_mr, res_cx
-	REAL    com( m1lox:m1hix,m1loy:m1hiy,m1loz:m1hiz,
-     .               m1lot:m1hit,m1loe:m1hie,m1lof:m1hif ),
-     .          res( m2lox:m2hix,m2loy:m2hiy,m2loz:m2hiz,
-     .               m2lot:m2hit,m2loe:m2hie,m2lof:m2hif ),
+	REAL    com     ( m1lox:m1hix,m1loy:m1hiy,m1loz:m1hiz,
+     .                    m1lot:m1hit,m1loe:m1hie,m1lof:m1hif ),
+     .          res     ( m2lox:m2hix,m2loy:m2hiy,m2loz:m2hiz,
+     .                    m2lot:m2hit,m2loe:m2hie,m2lof:m2hif ),
+     .          weights ( m2lox:m2hix,m2loy:m2hiy,m2loz:m2hiz,
+     .                    m2lot:m2hit,m2loe:m2hie,m2lof:m2hif ),
      .		box( com_lo:com_hi )
 
 * --- end of introductory code ---
@@ -96,17 +101,21 @@
         point = .FALSE.
 
 * get and save grid box sizes (weights) just once for efficiency
-* (end boxes may be only partially weighted)
         IF ( lo .EQ. hi ) THEN    ! 8/92
            box(lo) = cx_hi_ww(idim,res_cx) - cx_lo_ww(idim,res_cx)
            point = box(lo) .EQ. 0.0
         ELSE
-	   box(lo) = TM_WORLD(lo, grid, idim, box_hi_lim)
-     .		   - cx_lo_ww(idim,res_cx)
-	   DO 100 i = lo+1, hi-1
+	   DO 100 i = lo, hi
  100	   box(i)  = BOX_SIZE( i, grid, idim )
-	   box(hi) = cx_hi_ww(idim,res_cx)
-     .		   - TM_WORLD(hi, grid, idim, box_lo_lim)
+* 11/16 ... end boxes may be only partial cells
+	   IF (TM_WORLD(lo, grid, idim, box_lo_lim)
+     .    .LT. cx_lo_ww(idim,res_cx)                ) box(lo) = 
+     .			TM_WORLD(lo, grid, idim, box_hi_lim)
+     .		      - cx_lo_ww(idim,res_cx)
+	   IF (TM_WORLD(hi, grid, idim, box_hi_lim)
+     .    .GT. cx_hi_ww(idim,res_cx)                ) box(hi) =
+     .			cx_hi_ww(idim,res_cx)
+     .		      - TM_WORLD(hi, grid, idim, box_lo_lim)
         ENDIF
 
 * perform integrations on standard units if possible
@@ -125,7 +134,8 @@
 	   need_cos = GEOG_COS_FACTOR( idim, grid )
      .                .AND. cx_lo_s2(com_cx).NE.unspecified_int4
 	   DO 210 j = cx_lo_s2(com_cx), cx_hi_s2(com_cx)
-	   IF ( need_cos ) THEN
+	   cos_factor = 1.
+	   IF ( need_cos .AND. integrate ) THEN
 #ifdef double_p
 	      cos_factor = COS( deg2rad *       
      .             TM_WORLD(j, grid, y_dim, box_middle) ) 
@@ -156,6 +166,7 @@
                  ELSE
                     res(pt,j,k,l,m,n) = com(lo,j,k,l,m,n)
                  ENDIF
+		 weights(pt,j,k,l,m,n) = 1.0
                  GOTO 210
               ENDIF
 	      dsum = 0.0D0	! data
@@ -165,17 +176,9 @@
 	         bsum = bsum + box(i)
 	         dsum = dsum + box(i)*com(i,j,k,l,m,n)
  200	      CONTINUE
-	      IF ( bsum .EQ. 0.0D0 ) THEN
-	         res(pt,j,k,l,m,n) = bad_res
-	      ELSEIF (integrate) THEN
-	         IF ( need_cos ) THEN
-	            res(pt,j,k,l,m,n) = dsum * cos_factor
-	         ELSE
-	            res(pt,j,k,l,m,n) = dsum
-	         ENDIF
-	      ELSE
-	         res(pt,j,k,l,m,n) = dsum/bsum
-	      ENDIF
+	      res(pt,j,k,l,m,n) = res(pt,j,k,l,m,n) + dsum* cos_factor
+	      weights(pt,j,k,l,m,n) = weights(pt,j,k,l,m,n) + bsum
+
  210	   CONTINUE
 
 * ALONG Y AXIS
@@ -193,6 +196,7 @@
                  ELSE
                     res(i,pt,k,l,m,n) = com(i,lo,k,l,m,n)
                  ENDIF
+		 weights(i,pt,k,l,m,n) = 1.0
                  GOTO 310
               ENDIF
 	      dsum = 0.0D0	! data
@@ -202,13 +206,8 @@
 	         bsum = bsum + box(j)
 	         dsum = dsum + box(j)*com(i,j,k,l,m,n)
  300	      CONTINUE
-	      IF ( bsum .EQ. 0.0D0 ) THEN
-	         res(i,pt,k,l,m,n) = bad_res
-	      ELSEIF (integrate) THEN
-	         res(i,pt,k,l,m,n) = dsum
-	      ELSE
-	         res(i,pt,k,l,m,n) = dsum/bsum
-	      ENDIF
+	      res(i,pt,k,l,m,n) = res(i,pt,k,l,m,n) + dsum
+	      weights(i,pt,k,l,m,n) = weights(i,pt,k,l,m,n) + bsum
  310	   CONTINUE
 
 * ALONG Z AXIS
@@ -226,6 +225,7 @@
                  ELSE
                     res(i,j,pt,l,m,n) = com(i,j,lo,l,m,n)
                  ENDIF
+                 weights(i,j,pt,l,m,n) = 1.0
                  GOTO 410
 	      ENDIF
 	      dsum = 0.0D0	! data
@@ -235,13 +235,8 @@
 	         bsum = bsum + box(k)
 	         dsum = dsum + box(k)*com(i,j,k,l,m,n)
  400	      CONTINUE
-              IF ( bsum .EQ. 0.0D0 ) THEN
-	         res(i,j,pt,l,m,n) = bad_res
-	      ELSEIF (integrate) THEN
-	         res(i,j,pt,l,m,n) = dsum
-	      ELSE
-	         res(i,j,pt,l,m,n) = dsum/bsum
-	      ENDIF
+              res(i,j,pt,l,m,n) = res(i,j,pt,l,m,n) + dsum
+              weights(i,j,pt,l,m,n) = weights(i,j,pt,l,m,n) + bsum
  410	   CONTINUE
 
 * ALONG T AXIS
@@ -259,6 +254,7 @@
                  ELSE
                     res(i,j,k,pt,m,n) = com(i,j,k,lo,m,n)
                  ENDIF
+		 weights(i,j,k,pt,m,n) = 1.0
                  GOTO 510
               ENDIF
 	      dsum = 0.0D0	! data
@@ -268,13 +264,9 @@
 	         bsum = bsum + box(l)
 	         dsum = dsum + box(l)*com(i,j,k,l,m,n)
  500	      CONTINUE
-	      IF ( bsum .EQ. 0.0D0 ) THEN
-	         res(i,j,k,pt,m,n) = bad_res
-	      ELSEIF (integrate) THEN
-	         res(i,j,k,pt,m,n) = dsum
-	      ELSE
-	         res(i,j,k,pt,m,n) = dsum/bsum
-	      ENDIF
+* ... accumulate weighted values and weights
+	      weights(i,j,k,pt,m,n) = weights(i,j,k,pt,m,n) + bsum
+	      res    (i,j,k,pt,m,n) = res    (i,j,k,pt,m,n) + dsum
  510	   CONTINUE
 
 
@@ -293,6 +285,7 @@
                  ELSE
                     res(i,j,k,l,pt,n) = com(i,j,k,l,lo,n)
                  ENDIF
+		 weights(i,j,k,l,pt,n) = 1.0
                  GOTO 610
               ENDIF
 	      dsum = 0.0D0	! data
@@ -302,13 +295,8 @@
 	         bsum = bsum + box(m)
 	         dsum = dsum + box(m)*com(i,j,k,l,m,n)
  600	      CONTINUE
-	      IF ( bsum .EQ. 0.0D0 ) THEN
-	         res(i,j,k,l,pt,n) = bad_res
-	      ELSEIF (integrate) THEN
-	         res(i,j,k,l,pt,n) = dsum
-	      ELSE
-	         res(i,j,k,l,pt,n) = dsum/bsum
-	      ENDIF
+	      res(i,j,k,l,pt,n) = res(i,j,k,l,pt,n) + dsum
+	      weights(i,j,k,l,pt,n) = weights(i,j,k,l,pt,n) + bsum
  610	   CONTINUE
 
 
@@ -327,6 +315,7 @@
                  ELSE
                     res(i,j,k,l,m,pt) = com(i,j,k,l,m,lo)
                  ENDIF
+		 weights(i,j,k,l,m,pt) = 1.0
                  GOTO 710
               ENDIF
 	      dsum = 0.0D0	! data
@@ -336,13 +325,8 @@
 	         bsum = bsum + box(n)
 	         dsum = dsum + box(n)*com(i,j,k,l,m,n)
  700	      CONTINUE
-	      IF ( bsum .EQ. 0.0D0 ) THEN
-	         res(i,j,k,l,m,pt) = bad_res
-	      ELSEIF (integrate) THEN
-	         res(i,j,k,l,m,pt) = dsum
-	      ELSE
-	         res(i,j,k,l,m,pt) = dsum/bsum
-	      ENDIF
+	      res(i,j,k,l,m,pt) = res(i,j,k,l,m,pt) + dsum
+	      weights(i,j,k,l,m,pt) = weights(i,j,k,l,m,pt) + bsum
  710	   CONTINUE
 
 	ENDIF
diff --git a/fer/doo/do_average.F b/fer/doo/do_average.F
index ffb0bbf..f99a24a 100644
--- a/fer/doo/do_average.F
+++ b/fer/doo/do_average.F
@@ -47,6 +47,8 @@
 *
 * V200:  6/1/89
 *        2/12 *kms* Add E and F dimensions (use nferdims in tmap_dims.parm)
+* V702 *sh* 11/16 mods for trac #2428 - calculation in gathered fragments
+*                 pass address of buffer area, where weights are accumulated
 
         IMPLICIT NONE
         include 'tmap_dims.parm'
@@ -61,17 +63,20 @@
 	REAL	arg, com(*), res(*), box(*)
 
 * internal variable declarations:
-* ...
+	INTEGER CGRID_SIZE, size
 
 * diagnostic mode output: " doing --> VAR_NAME[x=lo:hi at TRN:n,D=#]"
 	IF ( mode_diagnostic ) 	CALL DIAG_OP
      .				( 'doing', isact_class_trans, res_cx, idim )
 
+* get size of result array to locate buffer area just beyond
+	size = CGRID_SIZE(res_cx)
+
 	CALL DO_AVE_INT( isact_average, idim,
      .			 cx_lo_ss(com_cx,idim), cx_hi_ss(com_cx,idim),
      .			 com, com_mr, com_cx,
      .			 res, res_mr, res_cx,
-     .			 box )
+     .			 box, res(size+1) )
 
 	DO_AVERAGE = ferr_ok
 
diff --git a/fer/doo/do_external_gc_fcn.F b/fer/doo/do_external_gc_fcn.F
index 7494981..5f0b483 100644
--- a/fer/doo/do_external_gc_fcn.F
+++ b/fer/doo/do_external_gc_fcn.F
@@ -1,4 +1,4 @@
-      SUBROUTINE DO_EXTERNAL_GC_FCN( memory,
+      SUBROUTINE DO_EXTERNAL_GC_FCN( 
      .				fcn, num_com, com_mr, com_cx,
      .				com1, mr1,
      .				com2, mr2,
@@ -27,7 +27,7 @@
 *       7/25/97 - increase number of args from 4 to 9
 *               - add function PPLGRID
 * V500: 10/26/98 - *jc* add CREATE_PERMUTATION section
-*        7/99 *sh* check ststus on retun from efvn_compute
+*        7/99 *sh* check status on retun from efvn_compute
 * V510: *sh* 3/00 - bug fix: com_mr was passed instead of mr_perm to the EFs
 *                 - eliminated old code as marked by jon
 *        2/12 *kms* Add E and F dimensions (use nferdims in tmap_dims.parm)
@@ -46,7 +46,6 @@
 * calling argument declarations:
 	INTEGER	fcn, num_com, com_mr(10), com_cx(9), status,
      .       mr1, mr2, mr3, mr4, mr5, mr6, mr7, mr8, mr9, mres
-        REAL memory( mem_blk_size, max_mem_blks )
 	REAL com1( m1lox:m1hix,m1loy:m1hiy,m1loz:m1hiz,
      .             m1lot:m1hit,m1loe:m1hie,m1lof:m1hif ),
      .       com2( m2lox:m2hix,m2loy:m2hiy,m2loz:m2hiz,
@@ -69,9 +68,9 @@
      .            m10lot:m10hit,m10loe:m10hie,m10lof:m10hif )
 
 * internal variable declarations:
-        INTEGER mr_arg_offset_array(10)
         REAL bad_flag_array(10)
 
+        LOGICAL is_permuted(9)
         INTEGER i, mr, perm(nferdims), mr_perm(9)
 
 * internal parameter declarations:
@@ -85,13 +84,11 @@
 
 * initialize all of the possible passed arguments just for good housekeeping
         DO 5 i= 1, 9
-            mr_arg_offset_array(i)  = ( mr_blk1(dummy_mr)-1 )
-     .                              * mem_blk_size
             bad_flag_array(i)  = mr_bad_data ( dummy_mr )
  5      CONTINUE
 
 * In order to pass arguments to the external function as continguous 
-* pieces of memory, we need to use CREATE_PERMUTATION.  
+* pieces of  we need to use CREATE_PERMUTATION.  
 * Otherwise, cached variables will be passed through without being 
 * pared down to the desired context.
 
@@ -105,15 +102,13 @@
 
        DO 100 i=1, num_com
 
-          CALL CREATE_PERMUTATION(  memory, com_cx(i), com_mr(i),
+          CALL CREATE_PERMUTATION(   com_cx(i), com_mr(i),
      .         perm, mr_perm(i), .FALSE., status )
-
           IF ( status .NE. ferr_OK ) GOTO 5000
+          is_permuted(i) = mr_perm(i) .NE. com_mr(i)
 
           CALL NON_ARRAY_SUBSC( mr_perm, 1 )
 
-          mr_arg_offset_array(i)  = ( mr_blk1(mr_perm(i)) - 1 ) * 
-     .         mem_blk_size
           bad_flag_array(i)  = mr_bad_data ( mr_perm(i) )
 
  100   CONTINUE
@@ -121,23 +116,22 @@
 * store the restricted limits as known by mr_perm instead of com_mr
         CALL NON_ARRAY_SUBSC( mr_perm, num_com )
 
-        mr_arg_offset_array(10) = ( mr_blk1(mres) - 1 ) * mem_blk_size
         bad_flag_array(10) = mr_bad_data ( mres )
 
-        call efcn_compute(fcn, num_com, com_cx, mr_perm, mres, 
-     .      bad_flag_array, mr_arg_offset_array, memory, status)
+        CALL EFCN_COMPUTE(fcn, num_com, com_cx, mr_perm, mres, 
+     .      bad_flag_array,  status)
         IF (status .NE. ferr_ok) CALL ERRMSG(ferr_ef_error, status,
      .          'error in external function', *190)
 
  
-* clean temporary results from memory cache
- 190    DO 200 i = 1, num_com
-          mr = mr_perm(i)
-          IF ( mr_protected(mr) .EQ. mr_temporary
-     .         .OR. mr_protected(mr) .EQ. mr_table_entry_only )
-     .         CALL DELETE_VARIABLE( mr )
- 200   CONTINUE
-
+! bug fix 1/17 -- only delete the temporary variables created *here*
+* clean temporary, permuted results from memory cache
+ 190    DO i = 1, num_com
+          IF (is_permuted(i)) THEN
+            mr = mr_perm(i)
+            CALL DELETE_VARIABLE( mr )
+          ENDIF
+        ENDDO
 
 * error exits
  5000	RETURN
diff --git a/fer/mem/release_work_spc.F b/fer/doo/do_iin_regrid.F
similarity index 78%
copy from fer/mem/release_work_spc.F
copy to fer/doo/do_iin_regrid.F
index 7f023d5..11ae5c8 100644
--- a/fer/mem/release_work_spc.F
+++ b/fer/doo/do_iin_regrid.F
@@ -1,4 +1,5 @@
-	SUBROUTINE RELEASE_WORK_SPC
+	SUBROUTINE DO_IIN_REGRID( cx_lims, axis, src, msrc, dst, mdst,
+     .				  work, itot, status)
 
 *
 *
@@ -35,24 +36,23 @@
 *  CONNECTION WITH THE ACCESS, USE OR PERFORMANCE OF THIS SOFTWARE. 
 *
 *
-* releases claim to temporary work space allocated by GET_WORK_SPC
+* call the regridding routine with appropriate work arrays
 
-* programmer - steve hankin
-* NOAA/PMEL, Seattle, WA - Tropical Modeling and Analysis Program
-* written for VAX computer under VMS operating system
-*
-* revision 0.0 - 2/19/87
-* V702 *sh* 12/16  clear sp_num_blocks and sp_start_block for house-keeping
+* programmer - Ansley Manke
+* 4/2017
 
         IMPLICIT NONE
-	include 'xwork_space.cmn'
+        include 'tmap_dims.parm'
+	include	'ferret.parm'
+	include	'xcontext.cmn'
+
+* calling argument declarations:
+	INTEGER	cx_lims, axis, msrc, mdst, itot, status
+	REAL	src(*), dst(*), work(*)
 
-	IF ( sp_last_size .GT. 0 ) THEN
-	   CALL FREE_MEMORY( sp_start_block, sp_num_blocks )
-	   sp_last_size  = 0
-	   sp_num_blocks = 0
-	   sp_start_block = -12345
-	ENDIF
+	CALL IIN_REGRID ( cx_lims, axis,
+     .			    cx_lo_ss(cx_lims,axis), cx_hi_ss(cx_lims,axis),
+     .			    src, msrc, dst, mdst, work, itot, status )
 
 	RETURN
 	END
diff --git a/fer/doo/do_integ_def.F b/fer/doo/do_integ_def.F
index dc7a959..ae00edb 100644
--- a/fer/doo/do_integ_def.F
+++ b/fer/doo/do_integ_def.F
@@ -48,6 +48,8 @@
 * V200:  6/1/89
 *	10/16/89 - changes to adjustable array declarations
 *        2/12 *kms* Add E and F dimensions (use nferdims in tmap_dims.parm)
+* V702 *sh* 11/16 mods for trac #2428 - calculation in gathered fragments
+*                 pass address of buffer area, where weights are accumulated
 
         IMPLICIT NONE
         include 'tmap_dims.parm'
@@ -62,17 +64,20 @@
 	REAL	arg, com(*), res(*), box(*)
 
 * internal variable declarations:
-* ...
+	INTEGER CGRID_SIZE, size
 
 * diagnostic mode output: " doing --> VAR_NAME[x=lo:hi at TRN:n,D=#]"
 	IF ( mode_diagnostic ) 	CALL DIAG_OP
      .				( 'doing', isact_class_trans, res_cx, idim )
 
+* get size of result array to locate buffer area just beyond
+	size = CGRID_SIZE(res_cx)
+
 	CALL DO_AVE_INT( isact_integ_def, idim,
      .			 cx_lo_ss(com_cx,idim), cx_hi_ss(com_cx,idim),
      .			 com, com_mr, com_cx,
      .			 res, res_mr, res_cx,
-     .			 box )
+     .			 box, res(size+1) )
 
 	DO_INTEG_DEF = ferr_ok
 
diff --git a/fer/doo/do_internal_gc_fcn.F b/fer/doo/do_internal_gc_fcn.F
index ae187ee..5a15d36 100644
--- a/fer/doo/do_internal_gc_fcn.F
+++ b/fer/doo/do_internal_gc_fcn.F
@@ -1,4 +1,4 @@
-      SUBROUTINE DO_INTERNAL_GC_FCN( memory,
+      SUBROUTINE DO_INTERNAL_GC_FCN( 
      .				fcn, num_com, com_cx,
      .				com1, mr1, pdim1, typ1,
      .				com2, mr2, pdim2, typ2,
@@ -98,7 +98,9 @@
 * V68   5/12 *acm* Add ESEQUENCE, FSEQUENCE, SAMPLEM, SAMPLEN
 * V693 10/14 *acm* ticket 2210: check for negative arguments to SUBSTRING
 
-* keep max_cmnd_len for SPAWN at 2048 while Ferret command buffer increases to 20480
+* keep max_cmnd_len for SPAWN at 2048 while Ferret command buffer
+*      increases to 20480
+* V702 1/17 *sh* for trac enhancement #2369 -- dynamic memory management 
 
         IMPLICIT NONE
         include 'tmap_dims.parm'
@@ -116,7 +118,6 @@
      .          pdim8, pdim9, pdimr,
      .          typ1, typ2, typ3, typ4, typ5, typ6, typ7, typ8, typ9,
      .          typr, res_cx
-        REAL	memory( mem_blk_size, max_mem_blks )
 	REAL com1( pdim1,m1lox:m1hix,m1loy:m1hiy,m1loz:m1hiz,
      .             m1lot:m1hit,m1loe:m1hie,m1lof:m1hif ),
      .       com2( pdim2,m2lox:m2hix,m2loy:m2hiy,m2loz:m2hiz,
@@ -153,8 +154,9 @@
      .          si2, sj2, sk2, sl2, sm2, sn2,
      .          si3, sj3, sk3, sl3, sm3, sn3,
      .          ind(nferdims)
-        INTEGER klo, khi, ndx_lo, wkblk, ioff, ilen
+        INTEGER klo, khi, ndx_lo, ioff, ilen
         INTEGER coded_pointer, uvar, item, start, end   ! for TIMES2
+        INTEGER*8 i8_size
 	REAL    bad_res, bad1, bad2, bad3,
      .          zval, frac
         REAL*8  TM_WORLD
@@ -377,9 +379,11 @@
      .		 'Z limits of data and depth fields must match', *5000)
 
 * ... allocate a work array for a single profile of Z depths
-	CALL GET_WORK_SPC( m2hiz-m2loz+1, wkblk, status )
+        i8_size = m2hiz-m2loz+1
+	CALL GET_DYN_WORK_SPACE( i8_size, status )
         IF ( status .NE. ferr_ok ) GOTO 5000
 
+
 * ... loop over the X,Y,T,E,F range of the input fields
 	n1 = sn1
 	n2 = sn2
@@ -412,7 +416,7 @@
      .               cx_lo_s3(cx2), cx_hi_s3(cx2), 
      .               m2lox, m2hix, m2loy, m2hiy, m2loz, m2hiz,
      .               m2lot, m2hit, m2loe, m2hie, m2lof, m2hif,
-     .               memory(1,wkblk), klo, khi )
+     .               workmem(plegacy_work_buffer)%ptr, klo, khi )
 
              IF ( klo .LT. 1 ) THEN
 
@@ -436,7 +440,7 @@
 #endif
 * ... search the Z field (com2) for the index just below this value
 * ... note that ndx_lo is always referenced to a starting index of 1
-                   CALL HUNT_R4(memory(1,wkblk),
+                   CALL HUNT_R4(workmem(plegacy_work_buffer)%ptr,
      .                          klo, khi, zval, ndx_lo, frac)
                    IF ( frac .LT. 0.0 ) THEN
 * ... no luck -- the Z axis value we seek is outside the range in com2
@@ -444,7 +448,7 @@
                    ELSEIF ( com1(1,i1,j1,sk1+ndx_lo,l1,m1,n1)
      .                      .EQ. bad1 ) THEN
                       res(1,i,j,k,l,m,n) = bad_res
-                   ELSEIF ( frac .EQ. 1.0 ) THEN                  ! exactly on point
+                   ELSEIF ( frac .EQ. 1.0 ) THEN      ! exactly on point
                       res(1,i,j,k,l,m,n) =
      .                   com1(1,i1,j1,sk1+ndx_lo,l1,m1,n1)
                    ELSEIF ( com1(1,i1,j1,sk1+ndx_lo+1,l1,m1,n1)
@@ -461,7 +465,7 @@
              ENDIF
 
  1450	CONTINUE
-        CALL RELEASE_WORK_SPC
+        CALL RELEASE_DYN_WORK_SPACE
         RETURN
 
 
diff --git a/fer/doo/do_max.F b/fer/doo/do_max.F
index 279cc48..0141995 100644
--- a/fer/doo/do_max.F
+++ b/fer/doo/do_max.F
@@ -38,7 +38,7 @@
 *  CONNECTION WITH THE ACCESS, USE OR PERFORMANCE OF THIS SOFTWARE. 
 *
 *
-* find the MAXIMUM value of the component grid along axis idim
+* find the maximum value of the component grid along axis idim
 
 * programmer - steve hankin
 * NOAA/PMEL, Seattle, WA - Tropical Modeling and Analysis Program
@@ -47,162 +47,32 @@
 * V200:  6/1/89
 *	10/11/89 - modified array declarations using XMEM_SUBSC.CMN
 *        2/12 *kms* Add E and F dimensions (use nferdims in tmap_dims.parm)
+* V702 *sh* 11/16 this routine now performs accumulation only.  Initialization
+*                 and finalizing called separately from IS_TRANS
+* V71  *acm* 12/16 Send extra-buffer space that was allocated for the 
+*                 accumulation/finalization, to store counts. To distinguish 
+*                 all-missing data with a value of zero, from a zero max.
 
         IMPLICIT NONE
-        include 'tmap_dims.parm'
-	include	'ferret.parm'
 	include	'errmsg.parm'
-	include	'interp_stack.parm'
-	include	'xcontext.cmn'
-	include	'xvariables.cmn'
-	include	'xmem_subsc.cmn'
-	include	'xprog_state.cmn'
 
 * calling argument declarations:
 	INTEGER	idim, com_mr, com_cx, res_mr, res_cx
 	REAL	arg, buff(*),
-     .          com( m1lox:m1hix,m1loy:m1hiy,m1loz:m1hiz,
-     .               m1lot:m1hit,m1loe:m1hie,m1lof:m1hif ),
-     .          res( m2lox:m2hix,m2loy:m2hiy,m2loz:m2hiz,
-     .               m2lot:m2hit,m2loe:m2hie,m2lof:m2hif )
+     .          com( * ), res( * )
 
 * internal variable declarations:
-	INTEGER i, j, k, l, m, n, pt
-	REAL	bad_res, maxmum
+         INTEGER CGRID_SIZE, size
 
-* internal parameter declaration
-	REAL		too_small
-	PARAMETER     ( too_small = -1.E33 )
+* Get size of result array to locate buffer area just beyond
+* Pass extra-buffer portion of res array to accumulate counts
 
-* diagnostic mode output: " doing --> VAR_NAME[x=lo:hi at TRN:n,D=#]"
-	IF ( mode_diagnostic ) 	CALL DIAG_OP
-     .				( 'doing', isact_class_trans, res_cx, idim )
+	size = CGRID_SIZE(res_cx)
 
-* initialize
-	pt   = cx_lo_ss( res_cx, idim )
-	bad_res = mr_bad_data( res_mr )
-
-* ALONG X AXIS
-	IF ( idim .EQ. x_dim ) THEN
-	   DO 110 n = cx_lo_s6(com_cx), cx_hi_s6(com_cx)
-	   DO 110 m = cx_lo_s5(com_cx), cx_hi_s5(com_cx)
-	   DO 110 l = cx_lo_s4(com_cx), cx_hi_s4(com_cx)
-	   DO 110 k = cx_lo_s3(com_cx), cx_hi_s3(com_cx)
-	   DO 110 j = cx_lo_s2(com_cx), cx_hi_s2(com_cx)
-	      maxmum = too_small
-	      DO 100 i = cx_lo_s1(com_cx), cx_hi_s1(com_cx)
-	         IF ( com(i,j,k,l,m,n) .EQ. bad_res ) GOTO 100
-	         IF ( com(i,j,k,l,m,n) .GT. maxmum )
-     .              maxmum = com(i,j,k,l,m,n)
- 100	      CONTINUE
-	      IF ( maxmum .EQ. too_small ) THEN
-	         res(pt,j,k,l,m,n) = bad_res
-	      ELSE
-	         res(pt,j,k,l,m,n) = maxmum
-	      ENDIF
- 110	   CONTINUE
-
-* ALONG Y AXIS
-	ELSEIF ( idim .EQ. y_dim ) THEN
-	   DO 210 n = cx_lo_s6(com_cx), cx_hi_s6(com_cx)
-	   DO 210 m = cx_lo_s5(com_cx), cx_hi_s5(com_cx)
-	   DO 210 l = cx_lo_s4(com_cx), cx_hi_s4(com_cx)
-	   DO 210 k = cx_lo_s3(com_cx), cx_hi_s3(com_cx)
-	   DO 210 i = cx_lo_s1(com_cx), cx_hi_s1(com_cx)
-	      maxmum = too_small
-	      DO 200 j = cx_lo_s2(com_cx), cx_hi_s2(com_cx)
-	         IF ( com(i,j,k,l,m,n) .EQ. bad_res ) GOTO 200
-	         IF ( com(i,j,k,l,m,n) .GT. maxmum )
-     .              maxmum = com(i,j,k,l,m,n)
- 200	      CONTINUE
-	      IF ( maxmum .EQ. too_small ) THEN
-	         res(i,pt,k,l,m,n) = bad_res
-	      ELSE
-	         res(i,pt,k,l,m,n) = maxmum
-	      ENDIF
- 210	   CONTINUE
-
-* ALONG Z AXIS
-	ELSEIF ( idim .EQ. z_dim ) THEN
-	   DO 310 n = cx_lo_s6(com_cx), cx_hi_s6(com_cx)
-	   DO 310 m = cx_lo_s5(com_cx), cx_hi_s5(com_cx)
-	   DO 310 l = cx_lo_s4(com_cx), cx_hi_s4(com_cx)
-	   DO 310 j = cx_lo_s2(com_cx), cx_hi_s2(com_cx)
-	   DO 310 i = cx_lo_s1(com_cx), cx_hi_s1(com_cx)
-	      maxmum = too_small
-	      DO 300 k = cx_lo_s3(com_cx), cx_hi_s3(com_cx)
-	         IF ( com(i,j,k,l,m,n) .EQ. bad_res ) GOTO 300
-	         IF ( com(i,j,k,l,m,n) .GT. maxmum )
-     .              maxmum = com(i,j,k,l,m,n)
- 300	      CONTINUE
-	      IF ( maxmum .EQ. too_small ) THEN
-	         res(i,j,pt,l,m,n) = bad_res
-	      ELSE
-	         res(i,j,pt,l,m,n) = maxmum
-	      ENDIF
- 310	   CONTINUE
-
-* ALONG T AXIS
-	ELSEIF ( idim .EQ. t_dim ) THEN
-	   DO 410 n = cx_lo_s6(com_cx), cx_hi_s6(com_cx)
-	   DO 410 m = cx_lo_s5(com_cx), cx_hi_s5(com_cx)
-	   DO 410 k = cx_lo_s3(com_cx), cx_hi_s3(com_cx)
-	   DO 410 j = cx_lo_s2(com_cx), cx_hi_s2(com_cx)
-	   DO 410 i = cx_lo_s1(com_cx), cx_hi_s1(com_cx)
-	      maxmum = too_small
-	      DO 400 l = cx_lo_s4(com_cx), cx_hi_s4(com_cx)
-	         IF ( com(i,j,k,l,m,n) .EQ. bad_res ) GOTO 400
-	         IF ( com(i,j,k,l,m,n) .GT. maxmum )
-     .              maxmum = com(i,j,k,l,m,n)
- 400	      CONTINUE
-	      IF ( maxmum .EQ. too_small ) THEN
-	         res(i,j,k,pt,m,n) = bad_res
-	      ELSE
-	         res(i,j,k,pt,m,n) = maxmum
-	      ENDIF
- 410	   CONTINUE
-
-* ALONG E AXIS
-	ELSEIF ( idim .EQ. e_dim ) THEN
-	   DO 510 n = cx_lo_s6(com_cx), cx_hi_s6(com_cx)
-	   DO 510 l = cx_lo_s4(com_cx), cx_hi_s4(com_cx)
-	   DO 510 k = cx_lo_s3(com_cx), cx_hi_s3(com_cx)
-	   DO 510 j = cx_lo_s2(com_cx), cx_hi_s2(com_cx)
-	   DO 510 i = cx_lo_s1(com_cx), cx_hi_s1(com_cx)
-	      maxmum = too_small
-	      DO 500 m = cx_lo_s5(com_cx), cx_hi_s5(com_cx)
-	         IF ( com(i,j,k,l,m,n) .EQ. bad_res ) GOTO 500
-	         IF ( com(i,j,k,l,m,n) .GT. maxmum )
-     .              maxmum = com(i,j,k,l,m,n)
- 500	      CONTINUE
-	      IF ( maxmum .EQ. too_small ) THEN
-	         res(i,j,k,l,pt,n) = bad_res
-	      ELSE
-	         res(i,j,k,l,pt,n) = maxmum
-	      ENDIF
- 510	   CONTINUE
-
-* ALONG F AXIS
-	ELSEIF ( idim .EQ. f_dim ) THEN
-	   DO 610 m = cx_lo_s5(com_cx), cx_hi_s5(com_cx)
-	   DO 610 l = cx_lo_s4(com_cx), cx_hi_s4(com_cx)
-	   DO 610 k = cx_lo_s3(com_cx), cx_hi_s3(com_cx)
-	   DO 610 j = cx_lo_s2(com_cx), cx_hi_s2(com_cx)
-	   DO 610 i = cx_lo_s1(com_cx), cx_hi_s1(com_cx)
-	      maxmum = too_small
-	      DO 600 n = cx_lo_s6(com_cx), cx_hi_s6(com_cx)
-	         IF ( com(i,j,k,l,m,n) .EQ. bad_res ) GOTO 600
-	         IF ( com(i,j,k,l,m,n) .GT. maxmum )
-     .              maxmum = com(i,j,k,l,m,n)
- 600	      CONTINUE
-	      IF ( maxmum .EQ. too_small ) THEN
-	         res(i,j,k,l,m,pt) = bad_res
-	      ELSE
-	         res(i,j,k,l,m,pt) = maxmum
-	      ENDIF
- 610	   CONTINUE
-
-	ENDIF
+	CALL DO_MAX_SUB (idim, arg,
+     .                   com, com_mr, com_cx,
+     .                   res, res_mr, res_cx,
+     .                   res(size+1)	)
 
 	DO_MAX = ferr_ok
 
diff --git a/fer/doo/do_max.F b/fer/doo/do_max_sub.F
similarity index 70%
copy from fer/doo/do_max.F
copy to fer/doo/do_max_sub.F
index 279cc48..e4645b6 100644
--- a/fer/doo/do_max.F
+++ b/fer/doo/do_max_sub.F
@@ -1,7 +1,7 @@
-	INTEGER FUNCTION DO_MAX( idim, arg,
+	INTEGER FUNCTION DO_MAX_SUB ( idim, arg,
      .				 com, com_mr, com_cx,
      .				 res, res_mr, res_cx,
-     .				 buff	)
+     .				 counts	)
 
 *
 *
@@ -47,6 +47,11 @@
 * V200:  6/1/89
 *	10/11/89 - modified array declarations using XMEM_SUBSC.CMN
 *        2/12 *kms* Add E and F dimensions (use nferdims in tmap_dims.parm)
+* V71 *acm* 12/16 this routine now performs accumulation, possibly continuing
+*                 over several chunks, so keep adding to the count in res(). 
+*                 Initialization and finalizing called separately from IS_TRANS
+*                 Counts are saved for the finalization step, to distinguish
+*                 between maximum of zero and result that indicates all-missing-data.
 
         IMPLICIT NONE
         include 'tmap_dims.parm'
@@ -60,15 +65,17 @@
 
 * calling argument declarations:
 	INTEGER	idim, com_mr, com_cx, res_mr, res_cx
-	REAL	arg, buff(*),
+	REAL	arg, 
      .          com( m1lox:m1hix,m1loy:m1hiy,m1loz:m1hiz,
      .               m1lot:m1hit,m1loe:m1hie,m1lof:m1hif ),
      .          res( m2lox:m2hix,m2loy:m2hiy,m2loz:m2hiz,
-     .               m2lot:m2hit,m2loe:m2hie,m2lof:m2hif )
+     .               m2lot:m2hit,m2loe:m2hie,m2lof:m2hif ),
+     .          counts ( m2lox:m2hix,m2loy:m2hiy,m2loz:m2hiz,
+     .                    m2lot:m2hit,m2loe:m2hie,m2lof:m2hif )
 
 * internal variable declarations:
 	INTEGER i, j, k, l, m, n, pt
-	REAL	bad_res, maxmum
+	REAL	bad_res, ok
 
 * internal parameter declaration
 	REAL		too_small
@@ -89,17 +96,16 @@
 	   DO 110 l = cx_lo_s4(com_cx), cx_hi_s4(com_cx)
 	   DO 110 k = cx_lo_s3(com_cx), cx_hi_s3(com_cx)
 	   DO 110 j = cx_lo_s2(com_cx), cx_hi_s2(com_cx)
-	      maxmum = too_small
+	      ok = 0.
 	      DO 100 i = cx_lo_s1(com_cx), cx_hi_s1(com_cx)
 	         IF ( com(i,j,k,l,m,n) .EQ. bad_res ) GOTO 100
-	         IF ( com(i,j,k,l,m,n) .GT. maxmum )
-     .              maxmum = com(i,j,k,l,m,n)
+		 ok = ok + 1.
+	         IF ( com(i,j,k,l,m,n) .GT. res(pt,j,k,l,m,n) )
+     .              res(pt,j,k,l,m,n) = com(i,j,k,l,m,n)
  100	      CONTINUE
-	      IF ( maxmum .EQ. too_small ) THEN
-	         res(pt,j,k,l,m,n) = bad_res
-	      ELSE
-	         res(pt,j,k,l,m,n) = maxmum
-	      ENDIF
+	      IF (counts(pt,j,k,l,m,n) .EQ. too_small) 
+     .              counts(pt,j,k,l,m,n) = 0.
+	      counts(pt,j,k,l,m,n) = counts(pt,j,k,l,m,n) + ok
  110	   CONTINUE
 
 * ALONG Y AXIS
@@ -109,17 +115,16 @@
 	   DO 210 l = cx_lo_s4(com_cx), cx_hi_s4(com_cx)
 	   DO 210 k = cx_lo_s3(com_cx), cx_hi_s3(com_cx)
 	   DO 210 i = cx_lo_s1(com_cx), cx_hi_s1(com_cx)
-	      maxmum = too_small
+	      ok = 0.
 	      DO 200 j = cx_lo_s2(com_cx), cx_hi_s2(com_cx)
 	         IF ( com(i,j,k,l,m,n) .EQ. bad_res ) GOTO 200
-	         IF ( com(i,j,k,l,m,n) .GT. maxmum )
-     .              maxmum = com(i,j,k,l,m,n)
+		 ok = ok + 1.
+	         IF ( com(i,j,k,l,m,n) .GT. res(i,pt,k,l,m,n) )
+     .              res(i,pt,k,l,m,n) = com(i,j,k,l,m,n)
  200	      CONTINUE
-	      IF ( maxmum .EQ. too_small ) THEN
-	         res(i,pt,k,l,m,n) = bad_res
-	      ELSE
-	         res(i,pt,k,l,m,n) = maxmum
-	      ENDIF
+	      IF (counts(i,pt,k,l,m,n) .EQ. too_small) 
+     .              counts(i,pt,k,l,m,n) = 0.
+	      counts(i,pt,k,l,m,n) = counts(i,pt,k,l,m,n) + ok
  210	   CONTINUE
 
 * ALONG Z AXIS
@@ -129,17 +134,16 @@
 	   DO 310 l = cx_lo_s4(com_cx), cx_hi_s4(com_cx)
 	   DO 310 j = cx_lo_s2(com_cx), cx_hi_s2(com_cx)
 	   DO 310 i = cx_lo_s1(com_cx), cx_hi_s1(com_cx)
-	      maxmum = too_small
+	      ok = 0.
 	      DO 300 k = cx_lo_s3(com_cx), cx_hi_s3(com_cx)
 	         IF ( com(i,j,k,l,m,n) .EQ. bad_res ) GOTO 300
-	         IF ( com(i,j,k,l,m,n) .GT. maxmum )
-     .              maxmum = com(i,j,k,l,m,n)
+		 ok = ok + 1.
+	         IF ( com(i,j,k,l,m,n) .GT. res(i,j,pt,l,m,n) )
+     .              res(i,j,pt,l,m,n) = com(i,j,k,l,m,n)
  300	      CONTINUE
-	      IF ( maxmum .EQ. too_small ) THEN
-	         res(i,j,pt,l,m,n) = bad_res
-	      ELSE
-	         res(i,j,pt,l,m,n) = maxmum
-	      ENDIF
+	      IF (counts(i,j,pt,l,m,n) .EQ. too_small) 
+     .              counts(i,j,pt,l,m,n) = 0.
+	      counts(i,j,pt,l,m,n) = counts(i,j,pt,l,m,n) + ok
  310	   CONTINUE
 
 * ALONG T AXIS
@@ -149,17 +153,16 @@
 	   DO 410 k = cx_lo_s3(com_cx), cx_hi_s3(com_cx)
 	   DO 410 j = cx_lo_s2(com_cx), cx_hi_s2(com_cx)
 	   DO 410 i = cx_lo_s1(com_cx), cx_hi_s1(com_cx)
-	      maxmum = too_small
+	      ok = 0.
 	      DO 400 l = cx_lo_s4(com_cx), cx_hi_s4(com_cx)
 	         IF ( com(i,j,k,l,m,n) .EQ. bad_res ) GOTO 400
-	         IF ( com(i,j,k,l,m,n) .GT. maxmum )
-     .              maxmum = com(i,j,k,l,m,n)
+		 ok = ok + 1.
+	         IF ( com(i,j,k,l,m,n) .GT. res(i,j,k,pt,m,n) )
+     .              res(i,j,k,pt,m,n) = com(i,j,k,l,m,n)
  400	      CONTINUE
-	      IF ( maxmum .EQ. too_small ) THEN
-	         res(i,j,k,pt,m,n) = bad_res
-	      ELSE
-	         res(i,j,k,pt,m,n) = maxmum
-	      ENDIF
+	      IF (counts(i,j,k,pt,m,n) .EQ. too_small) 
+     .              counts(i,j,k,pt,m,n) = 0.
+	      counts(i,j,k,pt,m,n) = counts(i,j,k,pt,m,n) + ok
  410	   CONTINUE
 
 * ALONG E AXIS
@@ -169,17 +172,16 @@
 	   DO 510 k = cx_lo_s3(com_cx), cx_hi_s3(com_cx)
 	   DO 510 j = cx_lo_s2(com_cx), cx_hi_s2(com_cx)
 	   DO 510 i = cx_lo_s1(com_cx), cx_hi_s1(com_cx)
-	      maxmum = too_small
+	      ok = 0.
 	      DO 500 m = cx_lo_s5(com_cx), cx_hi_s5(com_cx)
 	         IF ( com(i,j,k,l,m,n) .EQ. bad_res ) GOTO 500
-	         IF ( com(i,j,k,l,m,n) .GT. maxmum )
-     .              maxmum = com(i,j,k,l,m,n)
+		 ok = ok + 1.
+	         IF ( com(i,j,k,l,m,n) .GT. res(i,j,k,l,pt,n) )
+     .              res(i,j,k,l,pt,n) = com(i,j,k,l,m,n)
  500	      CONTINUE
-	      IF ( maxmum .EQ. too_small ) THEN
-	         res(i,j,k,l,pt,n) = bad_res
-	      ELSE
-	         res(i,j,k,l,pt,n) = maxmum
-	      ENDIF
+	      IF (counts(i,j,k,l,pt,n) .EQ. too_small) 
+     .              counts(i,j,k,l,pt,n) = 0.
+	      counts(i,j,k,l,pt,n) = counts(i,j,k,l,pt,n) + ok
  510	   CONTINUE
 
 * ALONG F AXIS
@@ -189,22 +191,19 @@
 	   DO 610 k = cx_lo_s3(com_cx), cx_hi_s3(com_cx)
 	   DO 610 j = cx_lo_s2(com_cx), cx_hi_s2(com_cx)
 	   DO 610 i = cx_lo_s1(com_cx), cx_hi_s1(com_cx)
-	      maxmum = too_small
+	      ok = 0.
 	      DO 600 n = cx_lo_s6(com_cx), cx_hi_s6(com_cx)
 	         IF ( com(i,j,k,l,m,n) .EQ. bad_res ) GOTO 600
-	         IF ( com(i,j,k,l,m,n) .GT. maxmum )
-     .              maxmum = com(i,j,k,l,m,n)
+		 ok = ok + 1.
+	         IF ( com(i,j,k,l,m,n) .GT. res(i,j,k,l,m,pt) )
+     .              res(i,j,k,l,m,pt) = com(i,j,k,l,m,n)
  600	      CONTINUE
-	      IF ( maxmum .EQ. too_small ) THEN
-	         res(i,j,k,l,m,pt) = bad_res
-	      ELSE
-	         res(i,j,k,l,m,pt) = maxmum
-	      ENDIF
+	      IF (counts(i,j,k,l,m,pt) .EQ. too_small) 
+     .              counts(i,j,k,l,m,pt) = 0.
+	      counts(i,j,k,l,m,pt) = counts(i,j,k,l,m,pt) + ok
  610	   CONTINUE
 
 	ENDIF
 
-	DO_MAX = ferr_ok
-
 	RETURN
 	END
diff --git a/fer/doo/do_min.F b/fer/doo/do_min.F
index f011920..9c8071e 100644
--- a/fer/doo/do_min.F
+++ b/fer/doo/do_min.F
@@ -47,162 +47,32 @@
 * V200:  6/1/89
 *	10/11/89 - modified array declarations using XMEM_SUBSC.CMN
 *        2/12 *kms* Add E and F dimensions (use nferdims in tmap_dims.parm)
+* V702 *sh* 11/16 this routine now performs accumulation only.  Initialization
+*                 and finalizing called separately from IS_TRANS
+* V71  *acm* 12/16 Send extra-buffer space that was allocated for the 
+*                 accumulation/finalization, to store counts. To distinguish 
+*                 all-missing data with a value of zero, from a zero min.
 
         IMPLICIT NONE
-        include 'tmap_dims.parm'
-	include	'ferret.parm'
 	include	'errmsg.parm'
-	include	'interp_stack.parm'
-	include	'xcontext.cmn'
-	include	'xvariables.cmn'
-	include	'xmem_subsc.cmn'
-	include	'xprog_state.cmn'
 
 * calling argument declarations:
 	INTEGER	idim, com_mr, com_cx, res_mr, res_cx
 	REAL	arg, buff(*),
-     .          com( m1lox:m1hix,m1loy:m1hiy,m1loz:m1hiz,
-     .               m1lot:m1hit,m1loe:m1hie,m1lof:m1hif ),
-     .          res( m2lox:m2hix,m2loy:m2hiy,m2loz:m2hiz,
-     .               m2lot:m2hit,m2loe:m2hie,m2lof:m2hif )
+     .          com( * ), res( * )
 
 * internal variable declarations:
-	INTEGER i, j, k, l, m, n, pt
-	REAL	bad_res, minmum
+         INTEGER CGRID_SIZE, size
 
-* internal parameter declaration
-	REAL		too_large
-	PARAMETER     ( too_large = 1.E33 )
+* Get size of result array to locate buffer area just beyond
+* Pass extra-buffer portion of res array to accumulate counts
 
-* diagnostic mode output: " doing --> VAR_NAME[x=lo:hi at TRN:n,D=#]"
-	IF ( mode_diagnostic ) 	CALL DIAG_OP
-     .				( 'doing', isact_class_trans, res_cx, idim )
+	size = CGRID_SIZE(res_cx)
 
-* initialize
-	pt   = cx_lo_ss( res_cx, idim )
-	bad_res = mr_bad_data( res_mr )
-
-* ALONG X AXIS
-	IF ( idim .EQ. x_dim ) THEN
-	   DO 110 n = cx_lo_s6(com_cx), cx_hi_s6(com_cx)
-	   DO 110 m = cx_lo_s5(com_cx), cx_hi_s5(com_cx)
-	   DO 110 l = cx_lo_s4(com_cx), cx_hi_s4(com_cx)
-	   DO 110 k = cx_lo_s3(com_cx), cx_hi_s3(com_cx)
-	   DO 110 j = cx_lo_s2(com_cx), cx_hi_s2(com_cx)
-	      minmum = too_large
-	      DO 100 i = cx_lo_s1(com_cx), cx_hi_s1(com_cx)
-	         IF ( com(i,j,k,l,m,n) .EQ. bad_res ) GOTO 100
-	         IF ( com(i,j,k,l,m,n) .LT. minmum )
-     .              minmum = com(i,j,k,l,m,n)
- 100	      CONTINUE
-	      IF ( minmum .EQ. too_large ) THEN
-	         res(pt,j,k,l,m,n) = bad_res
-	      ELSE
-	         res(pt,j,k,l,m,n) = minmum
-	      ENDIF
- 110	   CONTINUE
-
-* ALONG Y AXIS
-	ELSEIF ( idim .EQ. y_dim ) THEN
-	   DO 210 n = cx_lo_s6(com_cx), cx_hi_s6(com_cx)
-	   DO 210 m = cx_lo_s5(com_cx), cx_hi_s5(com_cx)
-	   DO 210 l = cx_lo_s4(com_cx), cx_hi_s4(com_cx)
-	   DO 210 k = cx_lo_s3(com_cx), cx_hi_s3(com_cx)
-	   DO 210 i = cx_lo_s1(com_cx), cx_hi_s1(com_cx)
-	      minmum = too_large
-	      DO 200 j = cx_lo_s2(com_cx), cx_hi_s2(com_cx)
-	         IF ( com(i,j,k,l,m,n) .EQ. bad_res ) GOTO 200
-	         IF ( com(i,j,k,l,m,n) .LT. minmum )
-     .              minmum = com(i,j,k,l,m,n)
- 200	      CONTINUE
-	      IF ( minmum .EQ. too_large ) THEN
-	         res(i,pt,k,l,m,n) = bad_res
-	      ELSE
-	         res(i,pt,k,l,m,n) = minmum
-	      ENDIF
- 210	   CONTINUE
-
-* ALONG Z AXIS
-	ELSEIF ( idim .EQ. z_dim ) THEN
-	   DO 310 n = cx_lo_s6(com_cx), cx_hi_s6(com_cx)
-	   DO 310 m = cx_lo_s5(com_cx), cx_hi_s5(com_cx)
-	   DO 310 l = cx_lo_s4(com_cx), cx_hi_s4(com_cx)
-	   DO 310 j = cx_lo_s2(com_cx), cx_hi_s2(com_cx)
-	   DO 310 i = cx_lo_s1(com_cx), cx_hi_s1(com_cx)
-	      minmum = too_large
-	      DO 300 k = cx_lo_s3(com_cx), cx_hi_s3(com_cx)
-	         IF ( com(i,j,k,l,m,n) .EQ. bad_res ) GOTO 300
-	         IF ( com(i,j,k,l,m,n) .LT. minmum )
-     .              minmum = com(i,j,k,l,m,n)
- 300	      CONTINUE
-	      IF ( minmum .EQ. too_large ) THEN
-	         res(i,j,pt,l,m,n) = bad_res
-	      ELSE
-	         res(i,j,pt,l,m,n) = minmum
-	      ENDIF
- 310	   CONTINUE
-
-* ALONG T AXIS
-	ELSEIF ( idim .EQ. t_dim ) THEN
-	   DO 410 n = cx_lo_s6(com_cx), cx_hi_s6(com_cx)
-	   DO 410 m = cx_lo_s5(com_cx), cx_hi_s5(com_cx)
-	   DO 410 k = cx_lo_s3(com_cx), cx_hi_s3(com_cx)
-	   DO 410 j = cx_lo_s2(com_cx), cx_hi_s2(com_cx)
-	   DO 410 i = cx_lo_s1(com_cx), cx_hi_s1(com_cx)
-	      minmum = too_large
-	      DO 400 l = cx_lo_s4(com_cx), cx_hi_s4(com_cx)
-	         IF ( com(i,j,k,l,m,n) .EQ. bad_res ) GOTO 400
-	         IF ( com(i,j,k,l,m,n) .LT. minmum )
-     .              minmum = com(i,j,k,l,m,n)
- 400	      CONTINUE
-	      IF ( minmum .EQ. too_large ) THEN
-	         res(i,j,k,pt,m,n) = bad_res
-	      ELSE
-	         res(i,j,k,pt,m,n) = minmum
-	      ENDIF
- 410	   CONTINUE
-
-* ALONG E AXIS
-	ELSEIF ( idim .EQ. e_dim ) THEN
-	   DO 510 n = cx_lo_s6(com_cx), cx_hi_s6(com_cx)
-	   DO 510 l = cx_lo_s4(com_cx), cx_hi_s4(com_cx)
-	   DO 510 k = cx_lo_s3(com_cx), cx_hi_s3(com_cx)
-	   DO 510 j = cx_lo_s2(com_cx), cx_hi_s2(com_cx)
-	   DO 510 i = cx_lo_s1(com_cx), cx_hi_s1(com_cx)
-	      minmum = too_large
-	      DO 500 m = cx_lo_s5(com_cx), cx_hi_s5(com_cx)
-	         IF ( com(i,j,k,l,m,n) .EQ. bad_res ) GOTO 500
-	         IF ( com(i,j,k,l,m,n) .LT. minmum )
-     .              minmum = com(i,j,k,l,m,n)
- 500	      CONTINUE
-	      IF ( minmum .EQ. too_large ) THEN
-	         res(i,j,k,l,pt,n) = bad_res
-	      ELSE
-	         res(i,j,k,l,pt,n) = minmum
-	      ENDIF
- 510	   CONTINUE
-
-* ALONG F AXIS
-	ELSEIF ( idim .EQ. f_dim ) THEN
-	   DO 610 m = cx_lo_s5(com_cx), cx_hi_s5(com_cx)
-	   DO 610 l = cx_lo_s4(com_cx), cx_hi_s4(com_cx)
-	   DO 610 k = cx_lo_s3(com_cx), cx_hi_s3(com_cx)
-	   DO 610 j = cx_lo_s2(com_cx), cx_hi_s2(com_cx)
-	   DO 610 i = cx_lo_s1(com_cx), cx_hi_s1(com_cx)
-	      minmum = too_large
-	      DO 600 n = cx_lo_s6(com_cx), cx_hi_s6(com_cx) 
-	         IF ( com(i,j,k,l,m,n) .EQ. bad_res ) GOTO 600
-	         IF ( com(i,j,k,l,m,n) .LT. minmum )
-     .              minmum = com(i,j,k,l,m,n)
- 600	      CONTINUE
-	      IF ( minmum .EQ. too_large ) THEN
-	         res(i,j,k,l,m,pt) = bad_res
-	      ELSE
-	         res(i,j,k,l,m,pt) = minmum
-	      ENDIF
- 610	   CONTINUE
-
-	ENDIF
+	CALL DO_MIN_SUB (idim, arg,
+     .                   com, com_mr, com_cx,
+     .                   res, res_mr, res_cx,
+     .                   res(size+1)	)
 
 	DO_MIN = ferr_ok
 
diff --git a/fer/doo/do_min.F b/fer/doo/do_min_sub.F
similarity index 70%
copy from fer/doo/do_min.F
copy to fer/doo/do_min_sub.F
index f011920..d4a113b 100644
--- a/fer/doo/do_min.F
+++ b/fer/doo/do_min_sub.F
@@ -1,7 +1,7 @@
-	INTEGER FUNCTION DO_MIN( idim, arg,
+	INTEGER FUNCTION DO_MIN_SUB ( idim, arg,
      .				 com, com_mr, com_cx,
      .				 res, res_mr, res_cx,
-     .				 buff	)
+     .				 counts	)
 
 *
 *
@@ -47,6 +47,11 @@
 * V200:  6/1/89
 *	10/11/89 - modified array declarations using XMEM_SUBSC.CMN
 *        2/12 *kms* Add E and F dimensions (use nferdims in tmap_dims.parm)
+* V71 *acm* 12/16 this routine now performs accumulation, possibly continuing
+*                 over several chunks, so keep adding to the count in res(). 
+*                 Initialization and finalizing called separately from IS_TRANS
+*                 Counts are saved for the finalization step, to distinguish
+*                 between minimum of zero and result that indicates all-missing-data.
 
         IMPLICIT NONE
         include 'tmap_dims.parm'
@@ -60,15 +65,17 @@
 
 * calling argument declarations:
 	INTEGER	idim, com_mr, com_cx, res_mr, res_cx
-	REAL	arg, buff(*),
+	REAL	arg, 
      .          com( m1lox:m1hix,m1loy:m1hiy,m1loz:m1hiz,
      .               m1lot:m1hit,m1loe:m1hie,m1lof:m1hif ),
      .          res( m2lox:m2hix,m2loy:m2hiy,m2loz:m2hiz,
-     .               m2lot:m2hit,m2loe:m2hie,m2lof:m2hif )
+     .               m2lot:m2hit,m2loe:m2hie,m2lof:m2hif ),
+     .          counts ( m2lox:m2hix,m2loy:m2hiy,m2loz:m2hiz,
+     .                    m2lot:m2hit,m2loe:m2hie,m2lof:m2hif )
 
 * internal variable declarations:
 	INTEGER i, j, k, l, m, n, pt
-	REAL	bad_res, minmum
+	REAL	bad_res, ok
 
 * internal parameter declaration
 	REAL		too_large
@@ -89,17 +96,16 @@
 	   DO 110 l = cx_lo_s4(com_cx), cx_hi_s4(com_cx)
 	   DO 110 k = cx_lo_s3(com_cx), cx_hi_s3(com_cx)
 	   DO 110 j = cx_lo_s2(com_cx), cx_hi_s2(com_cx)
-	      minmum = too_large
+	      ok = 0.
 	      DO 100 i = cx_lo_s1(com_cx), cx_hi_s1(com_cx)
 	         IF ( com(i,j,k,l,m,n) .EQ. bad_res ) GOTO 100
-	         IF ( com(i,j,k,l,m,n) .LT. minmum )
-     .              minmum = com(i,j,k,l,m,n)
+		 ok = ok + 1.
+	         IF ( com(i,j,k,l,m,n) .LT. res(pt,j,k,l,m,n) )
+     .              res(pt,j,k,l,m,n) = com(i,j,k,l,m,n)
  100	      CONTINUE
-	      IF ( minmum .EQ. too_large ) THEN
-	         res(pt,j,k,l,m,n) = bad_res
-	      ELSE
-	         res(pt,j,k,l,m,n) = minmum
-	      ENDIF
+	      IF (counts(pt,j,k,l,m,n) .EQ. too_large) 
+     .              counts(pt,j,k,l,m,n) = 0.
+	      counts(pt,j,k,l,m,n) = counts(pt,j,k,l,m,n) + ok
  110	   CONTINUE
 
 * ALONG Y AXIS
@@ -109,17 +115,16 @@
 	   DO 210 l = cx_lo_s4(com_cx), cx_hi_s4(com_cx)
 	   DO 210 k = cx_lo_s3(com_cx), cx_hi_s3(com_cx)
 	   DO 210 i = cx_lo_s1(com_cx), cx_hi_s1(com_cx)
-	      minmum = too_large
+	      ok = 0.
 	      DO 200 j = cx_lo_s2(com_cx), cx_hi_s2(com_cx)
 	         IF ( com(i,j,k,l,m,n) .EQ. bad_res ) GOTO 200
-	         IF ( com(i,j,k,l,m,n) .LT. minmum )
-     .              minmum = com(i,j,k,l,m,n)
+		 ok = ok + 1.
+	         IF ( com(i,j,k,l,m,n) .LT. res(i,pt,k,l,m,n) )
+     .              res(i,pt,k,l,m,n) = com(i,j,k,l,m,n)
  200	      CONTINUE
-	      IF ( minmum .EQ. too_large ) THEN
-	         res(i,pt,k,l,m,n) = bad_res
-	      ELSE
-	         res(i,pt,k,l,m,n) = minmum
-	      ENDIF
+	      IF (counts(i,pt,k,l,m,n) .EQ. too_large) 
+     .              counts(i,pt,k,l,m,n) = 0.
+	      counts(i,pt,k,l,m,n) = counts(i,pt,k,l,m,n) + ok
  210	   CONTINUE
 
 * ALONG Z AXIS
@@ -129,17 +134,16 @@
 	   DO 310 l = cx_lo_s4(com_cx), cx_hi_s4(com_cx)
 	   DO 310 j = cx_lo_s2(com_cx), cx_hi_s2(com_cx)
 	   DO 310 i = cx_lo_s1(com_cx), cx_hi_s1(com_cx)
-	      minmum = too_large
+	      ok = 0.
 	      DO 300 k = cx_lo_s3(com_cx), cx_hi_s3(com_cx)
 	         IF ( com(i,j,k,l,m,n) .EQ. bad_res ) GOTO 300
-	         IF ( com(i,j,k,l,m,n) .LT. minmum )
-     .              minmum = com(i,j,k,l,m,n)
+		 ok = ok + 1.
+	         IF ( com(i,j,k,l,m,n) .LT. res(i,j,pt,l,m,n) )
+     .              res(i,j,pt,l,m,n) = com(i,j,k,l,m,n)
  300	      CONTINUE
-	      IF ( minmum .EQ. too_large ) THEN
-	         res(i,j,pt,l,m,n) = bad_res
-	      ELSE
-	         res(i,j,pt,l,m,n) = minmum
-	      ENDIF
+	      IF (counts(i,j,pt,l,m,n) .EQ. too_large) 
+     .              counts(i,j,pt,l,m,n) = 0.
+	      counts(i,j,pt,l,m,n) = counts(i,j,pt,l,m,n) + ok
  310	   CONTINUE
 
 * ALONG T AXIS
@@ -149,17 +153,16 @@
 	   DO 410 k = cx_lo_s3(com_cx), cx_hi_s3(com_cx)
 	   DO 410 j = cx_lo_s2(com_cx), cx_hi_s2(com_cx)
 	   DO 410 i = cx_lo_s1(com_cx), cx_hi_s1(com_cx)
-	      minmum = too_large
+	      ok = 0.
 	      DO 400 l = cx_lo_s4(com_cx), cx_hi_s4(com_cx)
 	         IF ( com(i,j,k,l,m,n) .EQ. bad_res ) GOTO 400
-	         IF ( com(i,j,k,l,m,n) .LT. minmum )
-     .              minmum = com(i,j,k,l,m,n)
+		 ok = ok + 1.
+	         IF ( com(i,j,k,l,m,n) .LT. res(i,j,k,pt,m,n) )
+     .              res(i,j,k,pt,m,n) = com(i,j,k,l,m,n)
  400	      CONTINUE
-	      IF ( minmum .EQ. too_large ) THEN
-	         res(i,j,k,pt,m,n) = bad_res
-	      ELSE
-	         res(i,j,k,pt,m,n) = minmum
-	      ENDIF
+	      IF (counts(i,j,k,pt,m,n) .EQ. too_large) 
+     .              counts(i,j,k,pt,m,n) = 0.
+	      counts(i,j,k,pt,m,n) = counts(i,j,k,pt,m,n) + ok
  410	   CONTINUE
 
 * ALONG E AXIS
@@ -169,17 +172,16 @@
 	   DO 510 k = cx_lo_s3(com_cx), cx_hi_s3(com_cx)
 	   DO 510 j = cx_lo_s2(com_cx), cx_hi_s2(com_cx)
 	   DO 510 i = cx_lo_s1(com_cx), cx_hi_s1(com_cx)
-	      minmum = too_large
+	      ok = 0.
 	      DO 500 m = cx_lo_s5(com_cx), cx_hi_s5(com_cx)
 	         IF ( com(i,j,k,l,m,n) .EQ. bad_res ) GOTO 500
-	         IF ( com(i,j,k,l,m,n) .LT. minmum )
-     .              minmum = com(i,j,k,l,m,n)
+		 ok = ok + 1.
+	         IF ( com(i,j,k,l,m,n) .LT. res(i,j,k,l,pt,n) )
+     .              res(i,j,k,l,pt,n) = com(i,j,k,l,m,n)
  500	      CONTINUE
-	      IF ( minmum .EQ. too_large ) THEN
-	         res(i,j,k,l,pt,n) = bad_res
-	      ELSE
-	         res(i,j,k,l,pt,n) = minmum
-	      ENDIF
+	      IF (counts(i,j,k,l,pt,n) .EQ. too_large) 
+     .              counts(i,j,k,l,pt,n) = 0.
+	      counts(i,j,k,l,pt,n) = counts(i,j,k,l,pt,n) + ok
  510	   CONTINUE
 
 * ALONG F AXIS
@@ -189,22 +191,19 @@
 	   DO 610 k = cx_lo_s3(com_cx), cx_hi_s3(com_cx)
 	   DO 610 j = cx_lo_s2(com_cx), cx_hi_s2(com_cx)
 	   DO 610 i = cx_lo_s1(com_cx), cx_hi_s1(com_cx)
-	      minmum = too_large
+	      ok = 0.
 	      DO 600 n = cx_lo_s6(com_cx), cx_hi_s6(com_cx) 
 	         IF ( com(i,j,k,l,m,n) .EQ. bad_res ) GOTO 600
-	         IF ( com(i,j,k,l,m,n) .LT. minmum )
-     .              minmum = com(i,j,k,l,m,n)
+		 ok = ok + 1.
+	         IF ( com(i,j,k,l,m,n) .LT. res(i,j,k,l,m,pt) )
+     .              res(i,j,k,l,m,pt) = com(i,j,k,l,m,n)
  600	      CONTINUE
-	      IF ( minmum .EQ. too_large ) THEN
-	         res(i,j,k,l,m,pt) = bad_res
-	      ELSE
-	         res(i,j,k,l,m,pt) = minmum
-	      ENDIF
+	      IF (counts(i,j,k,l,m,pt) .EQ. too_large) 
+     .              counts(i,j,k,l,m,pt) = 0.
+	      counts(i,j,k,l,m,pt) = counts(i,j,k,l,m,pt) + ok
  610	   CONTINUE
 
 	ENDIF
 
-	DO_MIN = ferr_ok
-
 	RETURN
 	END
diff --git a/fer/doo/do_points.F b/fer/doo/do_points.F
index cef63b4..3984021 100644
--- a/fer/doo/do_points.F
+++ b/fer/doo/do_points.F
@@ -45,6 +45,9 @@
 *
 * V230:   2/3/92 - based on DO_AVE_INT
 *        2/12 *kms* Add E and F dimensions (use nferdims in tmap_dims.parm)
+* V71 *acm* 12/16 this routine now performs accumulation, possibly continuing
+*                 over several chunks, so keep adding to the count in res(). 
+*                 Initialization and finalizing called separately from IS_TRANS
 
         IMPLICIT NONE
         include 'tmap_dims.parm'
@@ -95,9 +98,9 @@
                  ENDIF
  100	      CONTINUE
               IF ( good_un ) THEN
-                 res(pt,j,k,l,m,n) = ngd
+                 res(pt,j,k,l,m,n) = res(pt,j,k,l,m,n) + ngd
               ELSE
-                 res(pt,j,k,l,m,n) = nbd
+                 res(pt,j,k,l,m,n) = res(pt,j,k,l,m,n) + nbd
               ENDIF
  110	   CONTINUE
 
@@ -118,9 +121,9 @@
                  ENDIF
  200	      CONTINUE
               IF ( good_un ) THEN
-                 res(i,pt,k,l,m,n) = ngd
+                 res(i,pt,k,l,m,n) = res(i,pt,k,l,m,n) + ngd
               ELSE
-                 res(i,pt,k,l,m,n) = nbd
+                 res(i,pt,k,l,m,n) = res(i,pt,k,l,m,n) + nbd
               ENDIF
  210	   CONTINUE
 
@@ -141,9 +144,9 @@
                  ENDIF
  300	      CONTINUE
               IF ( good_un ) THEN
-                 res(i,j,pt,l,m,n) = ngd
+                 res(i,j,pt,l,m,n) = res(i,j,pt,l,m,n) + ngd
               ELSE
-                 res(i,j,pt,l,m,n) = nbd
+                 res(i,j,pt,l,m,n) = res(i,j,pt,l,m,n) + nbd
               ENDIF
  310	   CONTINUE
 
@@ -164,9 +167,9 @@
                  ENDIF
  400	      CONTINUE
               IF ( good_un ) THEN
-                 res(i,j,k,pt,m,n) = ngd
+                 res(i,j,k,pt,m,n) = res(i,j,k,pt,m,n) + ngd
               ELSE
-                 res(i,j,k,pt,m,n) = nbd
+                 res(i,j,k,pt,m,n) = res(i,j,k,pt,m,n) + nbd
               ENDIF
  410	   CONTINUE
 
@@ -187,9 +190,9 @@
                  ENDIF
  500	      CONTINUE
               IF ( good_un ) THEN
-                 res(i,j,k,l,pt,n) = ngd
+                 res(i,j,k,l,pt,n) = res(i,j,k,l,pt,n) + ngd
               ELSE
-                 res(i,j,k,l,pt,n) = nbd
+                 res(i,j,k,l,pt,n) = res(i,j,k,l,pt,n) + nbd
               ENDIF
  510	   CONTINUE
 
@@ -210,9 +213,9 @@
                  ENDIF
  600	      CONTINUE
               IF ( good_un ) THEN
-                 res(i,j,k,l,m,pt) = ngd
+                 res(i,j,k,l,m,pt) = res(i,j,k,l,m,pt) + ngd
               ELSE
-                 res(i,j,k,l,m,pt) = nbd
+                 res(i,j,k,l,m,pt) = res(i,j,k,l,m,pt) + nbd
               ENDIF
  610	   CONTINUE
 
diff --git a/fer/doo/do_stddev.F b/fer/doo/do_stddev.F
index 0e4724d..b970ae0 100644
--- a/fer/doo/do_stddev.F
+++ b/fer/doo/do_stddev.F
@@ -46,6 +46,8 @@
 *
 * V230:  3/2/92
 *        2/12 *kms* Add E and F dimensions (use nferdims in tmap_dims.parm)
+* V702 *sh* 11/16 mods for trac #2428 - calculation in gathered fragments
+*                 pass address of buffer area, where weights are accumulated
 
         IMPLICIT NONE
         include 'tmap_dims.parm'
@@ -61,6 +63,7 @@
 
 * internal variable declarations:
 	LOGICAL stddev
+	INTEGER CGRID_SIZE, size
 
 	stddev = .TRUE.
 
@@ -68,11 +71,15 @@
 	IF ( mode_diagnostic ) 	CALL DIAG_OP
      .				( 'doing', isact_class_trans, res_cx, idim )
 
+* get size of result array to locate buffer areas just beyond
+	size = CGRID_SIZE(res_cx)
+
 	CALL DO_VAR_SUB( idim,
      .			 cx_lo_ss(com_cx,idim), cx_hi_ss(com_cx,idim),
      .			 com, com_mr, com_cx,
      .			 res, res_mr, res_cx,
-     .			 box, stddev )
+     .			 box, stddev,
+     .			 res(size+1),res(2*size+1) )
 
 	DO_STDDEV = ferr_ok
 
diff --git a/fer/doo/do_sum.F b/fer/doo/do_sum.F
index d4d362e..2a2a6d9 100644
--- a/fer/doo/do_sum.F
+++ b/fer/doo/do_sum.F
@@ -48,168 +48,35 @@
 
 * V230: 12/91 - based on DO_MAX
 *        2/12 *kms* Add E and F dimensions (use nferdims in tmap_dims.parm)
+* V702 *sh* 11/16 this routine now performs accumulation only.  Initialization
+*                 and finalizing called separately from IS_TRANS
+* V71  *acm* 12/16 Send extra-buffer space that was allocated for the 
+*                 accumulation/finalization, to store counts. To distinguish 
+*                all-missin data with a value of zero, from all-zero sums.
 
         IMPLICIT NONE
-        include 'tmap_dims.parm'
-	include	'ferret.parm'
 	include	'errmsg.parm'
-	include	'interp_stack.parm'
-	include	'xcontext.cmn'
-	include	'xvariables.cmn'
-	include	'xmem_subsc.cmn'
-	include	'xprog_state.cmn'
 
 * calling argument declarations:
 	INTEGER	idim, com_mr, com_cx, res_mr, res_cx
 	REAL	arg, buff(*),
-     .          com( m1lox:m1hix,m1loy:m1hiy,m1loz:m1hiz,
-     .               m1lot:m1hit,m1loe:m1hie,m1lof:m1hif ),
-     .          res( m2lox:m2hix,m2loy:m2hiy,m2loz:m2hiz,
-     .               m2lot:m2hit,m2loe:m2hie,m2lof:m2hif )
+     .          com( * ), res( * )
 
 * internal variable declarations:
-        LOGICAL all_bad
-	INTEGER i, j, k, l, m, n, pt
-	REAL	bad_com, bad_res 
-	REAL*8  sum
+         INTEGER CGRID_SIZE, size
 
-* diagnostic mode output: " doing --> VAR_NAME[x=lo:hi at TRN:n,D=#]"
-	IF ( mode_diagnostic ) 	CALL DIAG_OP
-     .				( 'doing', isact_class_trans, res_cx, idim )
+* Get size of result array to locate buffer area just beyond
+* Pass extra-buffer portion of res array to accumulate counts
+* - to distinguish between an all-missing and an all-zero sum.
 
-* initialize
-	pt   = cx_lo_ss( res_cx, idim )
-	bad_com = mr_bad_data( com_mr )
-	bad_res = mr_bad_data( res_mr )
+	size = CGRID_SIZE(res_cx)
 
-* ALONG X AXIS
-	IF ( idim .EQ. x_dim ) THEN
-	   DO 110 n = cx_lo_s6(com_cx), cx_hi_s6(com_cx)
-	   DO 110 m = cx_lo_s5(com_cx), cx_hi_s5(com_cx)
-	   DO 110 l = cx_lo_s4(com_cx), cx_hi_s4(com_cx)
-	   DO 110 k = cx_lo_s3(com_cx), cx_hi_s3(com_cx)
-	   DO 110 j = cx_lo_s2(com_cx), cx_hi_s2(com_cx)
-              all_bad = .TRUE.
-              sum = 0.0D0
-	      DO 100 i = cx_lo_s1(com_cx), cx_hi_s1(com_cx)
-	         IF ( com(i,j,k,l,m,n) .EQ. bad_com ) GOTO 100
-                 sum = sum + com(i,j,k,l,m,n)
-                 all_bad = .FALSE.
- 100	      CONTINUE
-	      IF ( all_bad ) THEN
-	         res(pt,j,k,l,m,n) = bad_res
-	      ELSE
-	         res(pt,j,k,l,m,n) = sum
-	      ENDIF
- 110	   CONTINUE
+	CALL DO_SUM_SUB (idim, arg,
+     .                   com, com_mr, com_cx,
+     .                   res, res_mr, res_cx,
+     .                   res(size+1)	)
 
-* ALONG Y AXIS
-	ELSEIF ( idim .EQ. y_dim ) THEN
-	   DO 210 n = cx_lo_s6(com_cx), cx_hi_s6(com_cx)
-	   DO 210 m = cx_lo_s5(com_cx), cx_hi_s5(com_cx)
-	   DO 210 l = cx_lo_s4(com_cx), cx_hi_s4(com_cx)
-	   DO 210 k = cx_lo_s3(com_cx), cx_hi_s3(com_cx)
-	   DO 210 i = cx_lo_s1(com_cx), cx_hi_s1(com_cx)
-              all_bad = .TRUE.
-              sum = 0.0D0
-	      DO 200 j = cx_lo_s2(com_cx), cx_hi_s2(com_cx)
-	         IF ( com(i,j,k,l,m,n) .EQ. bad_com ) GOTO 200
-                 sum = sum + com(i,j,k,l,m,n)
-                 all_bad = .FALSE.
- 200	      CONTINUE
-	      IF ( all_bad ) THEN
-	         res(i,pt,k,l,m,n) = bad_res
-	      ELSE
-	         res(i,pt,k,l,m,n) = sum
-	      ENDIF
- 210	   CONTINUE
-
-* ALONG Z AXIS
-	ELSEIF ( idim .EQ. z_dim ) THEN
-	   DO 310 n = cx_lo_s6(com_cx), cx_hi_s6(com_cx)
-	   DO 310 m = cx_lo_s5(com_cx), cx_hi_s5(com_cx)
-	   DO 310 l = cx_lo_s4(com_cx), cx_hi_s4(com_cx)
-	   DO 310 j = cx_lo_s2(com_cx), cx_hi_s2(com_cx)
-	   DO 310 i = cx_lo_s1(com_cx), cx_hi_s1(com_cx)
-              all_bad = .TRUE.
-              sum = 0.0D0
-	      DO 300 k = cx_lo_s3(com_cx), cx_hi_s3(com_cx)
-	         IF ( com(i,j,k,l,m,n) .EQ. bad_com ) GOTO 300
-                 sum = sum + com(i,j,k,l,m,n)
-                 all_bad = .FALSE.
- 300	      CONTINUE
-	      IF ( all_bad ) THEN
-	         res(i,j,pt,l,m,n) = bad_res
-	      ELSE
-	         res(i,j,pt,l,m,n) = sum
-	      ENDIF
- 310	   CONTINUE
-
-* ALONG T AXIS
-	ELSEIF ( idim .EQ. t_dim ) THEN
-	   DO 410 n = cx_lo_s6(com_cx), cx_hi_s6(com_cx)
-	   DO 410 m = cx_lo_s5(com_cx), cx_hi_s5(com_cx)
-	   DO 410 k = cx_lo_s3(com_cx), cx_hi_s3(com_cx)
-	   DO 410 j = cx_lo_s2(com_cx), cx_hi_s2(com_cx)
-	   DO 410 i = cx_lo_s1(com_cx), cx_hi_s1(com_cx)
-              all_bad = .TRUE.
-              sum = 0.0D0
-	      DO 400 l = cx_lo_s4(com_cx), cx_hi_s4(com_cx)
-	         IF ( com(i,j,k,l,m,n) .EQ. bad_com ) GOTO 400
-                 sum = sum + com(i,j,k,l,m,n)
-                 all_bad = .FALSE.
- 400	      CONTINUE
-	      IF ( all_bad ) THEN
-	         res(i,j,k,pt,m,n) = bad_res
-	      ELSE
-	         res(i,j,k,pt,m,n) = sum
-	      ENDIF
- 410	   CONTINUE
-
-* ALONG E AXIS
-	ELSEIF ( idim .EQ. e_dim ) THEN
-	   DO 510 n = cx_lo_s6(com_cx), cx_hi_s6(com_cx)
-	   DO 510 l = cx_lo_s4(com_cx), cx_hi_s4(com_cx)
-	   DO 510 k = cx_lo_s3(com_cx), cx_hi_s3(com_cx)
-	   DO 510 j = cx_lo_s2(com_cx), cx_hi_s2(com_cx)
-	   DO 510 i = cx_lo_s1(com_cx), cx_hi_s1(com_cx)
-              all_bad = .TRUE.
-              sum = 0.0D0
-	      DO 500 m = cx_lo_s5(com_cx), cx_hi_s5(com_cx)
-	         IF ( com(i,j,k,l,m,n) .EQ. bad_com ) GOTO 500
-                 sum = sum + com(i,j,k,l,m,n)
-                 all_bad = .FALSE.
- 500	      CONTINUE
-	      IF ( all_bad ) THEN
-	         res(i,j,k,l,pt,n) = bad_res
-	      ELSE
-	         res(i,j,k,l,pt,n) = sum
-	      ENDIF
- 510	   CONTINUE
-* ALONG F AXIS
-	ELSEIF ( idim .EQ. f_dim ) THEN
-	   DO 610 m = cx_lo_s5(com_cx), cx_hi_s5(com_cx)
-	   DO 610 l = cx_lo_s4(com_cx), cx_hi_s4(com_cx)
-	   DO 610 k = cx_lo_s3(com_cx), cx_hi_s3(com_cx)
-	   DO 610 j = cx_lo_s2(com_cx), cx_hi_s2(com_cx)
-	   DO 610 i = cx_lo_s1(com_cx), cx_hi_s1(com_cx)
-              all_bad = .TRUE.
-              sum = 0.0D0
-	      DO 600 n = cx_lo_s6(com_cx), cx_hi_s6(com_cx)
-	         IF ( com(i,j,k,l,m,n) .EQ. bad_com ) GOTO 600
-                 sum = sum + com(i,j,k,l,m,n)
-                 all_bad = .FALSE.
- 600	      CONTINUE
-	      IF ( all_bad ) THEN
-	         res(i,j,k,l,m,pt) = bad_res
-	      ELSE
-	         res(i,j,k,l,m,pt) = sum
-	      ENDIF
- 610	   CONTINUE
-
-	ENDIF
 
 	DO_SUM = ferr_ok
 	RETURN
 	END
-
diff --git a/fer/doo/do_sum.F b/fer/doo/do_sum_sub.F
similarity index 76%
copy from fer/doo/do_sum.F
copy to fer/doo/do_sum_sub.F
index d4d362e..7c07e00 100644
--- a/fer/doo/do_sum.F
+++ b/fer/doo/do_sum_sub.F
@@ -1,7 +1,7 @@
-	INTEGER FUNCTION DO_SUM( idim, arg,
+	SUBROUTINE DO_SUM_SUB(idim, arg,
      .				 com, com_mr, com_cx,
      .				 res, res_mr, res_cx,
-     .				 buff	)
+     .				 counts	)
 
 *
 *
@@ -46,10 +46,13 @@
 * NOAA/PMEL, Seattle, WA - Tropical Modeling and Analysis Program
 * written for VAX computer under VMS operating system
 
-* V230: 12/91 - based on DO_MAX
-*        2/12 *kms* Add E and F dimensions (use nferdims in tmap_dims.parm)
+* V712 *acm* 12/16 Do the summing for this chunk, saving the count of valid data.
+*                 This routine now performs accumulation only, so do not set
+*                 res to bad_res. Initialization and finalizing called 
+*                 separately from IS_TRANS
+*                 Counts are saved for the finalization step, to distinguish
+*                 between sum of zero and result that indicates all-missing-data.
 
-        IMPLICIT NONE
         include 'tmap_dims.parm'
 	include	'ferret.parm'
 	include	'errmsg.parm'
@@ -61,17 +64,18 @@
 
 * calling argument declarations:
 	INTEGER	idim, com_mr, com_cx, res_mr, res_cx
-	REAL	arg, buff(*),
-     .          com( m1lox:m1hix,m1loy:m1hiy,m1loz:m1hiz,
-     .               m1lot:m1hit,m1loe:m1hie,m1lof:m1hif ),
-     .          res( m2lox:m2hix,m2loy:m2hiy,m2loz:m2hiz,
-     .               m2lot:m2hit,m2loe:m2hie,m2lof:m2hif )
+	REAL    arg,
+     .		com     ( m1lox:m1hix,m1loy:m1hiy,m1loz:m1hiz,
+     .                    m1lot:m1hit,m1loe:m1hie,m1lof:m1hif ),
+     .          res     ( m2lox:m2hix,m2loy:m2hiy,m2loz:m2hiz,
+     .                    m2lot:m2hit,m2loe:m2hie,m2lof:m2hif ),
+     .          counts ( m2lox:m2hix,m2loy:m2hiy,m2loz:m2hiz,
+     .                    m2lot:m2hit,m2loe:m2hie,m2lof:m2hif )
+ 
 
 * internal variable declarations:
-        LOGICAL all_bad
 	INTEGER i, j, k, l, m, n, pt
-	REAL	bad_com, bad_res 
-	REAL*8  sum
+	REAL	bad_com, bad_res, sum, ok
 
 * diagnostic mode output: " doing --> VAR_NAME[x=lo:hi at TRN:n,D=#]"
 	IF ( mode_diagnostic ) 	CALL DIAG_OP
@@ -81,7 +85,7 @@
 	pt   = cx_lo_ss( res_cx, idim )
 	bad_com = mr_bad_data( com_mr )
 	bad_res = mr_bad_data( res_mr )
-
+ 
 * ALONG X AXIS
 	IF ( idim .EQ. x_dim ) THEN
 	   DO 110 n = cx_lo_s6(com_cx), cx_hi_s6(com_cx)
@@ -89,18 +93,16 @@
 	   DO 110 l = cx_lo_s4(com_cx), cx_hi_s4(com_cx)
 	   DO 110 k = cx_lo_s3(com_cx), cx_hi_s3(com_cx)
 	   DO 110 j = cx_lo_s2(com_cx), cx_hi_s2(com_cx)
-              all_bad = .TRUE.
               sum = 0.0D0
+              ok = 0.0D0
+
 	      DO 100 i = cx_lo_s1(com_cx), cx_hi_s1(com_cx)
 	         IF ( com(i,j,k,l,m,n) .EQ. bad_com ) GOTO 100
                  sum = sum + com(i,j,k,l,m,n)
-                 all_bad = .FALSE.
+                 ok = ok + 1.
  100	      CONTINUE
-	      IF ( all_bad ) THEN
-	         res(pt,j,k,l,m,n) = bad_res
-	      ELSE
-	         res(pt,j,k,l,m,n) = sum
-	      ENDIF
+	      res(pt,j,k,l,m,n) = res(pt,j,k,l,m,n) + sum
+	      counts(pt,j,k,l,m,n) = counts(pt,j,k,l,m,n) + sum
  110	   CONTINUE
 
 * ALONG Y AXIS
@@ -110,18 +112,15 @@
 	   DO 210 l = cx_lo_s4(com_cx), cx_hi_s4(com_cx)
 	   DO 210 k = cx_lo_s3(com_cx), cx_hi_s3(com_cx)
 	   DO 210 i = cx_lo_s1(com_cx), cx_hi_s1(com_cx)
-              all_bad = .TRUE.
               sum = 0.0D0
+              ok = 0.0D0
 	      DO 200 j = cx_lo_s2(com_cx), cx_hi_s2(com_cx)
 	         IF ( com(i,j,k,l,m,n) .EQ. bad_com ) GOTO 200
                  sum = sum + com(i,j,k,l,m,n)
-                 all_bad = .FALSE.
+                 ok = ok + 1.
  200	      CONTINUE
-	      IF ( all_bad ) THEN
-	         res(i,pt,k,l,m,n) = bad_res
-	      ELSE
-	         res(i,pt,k,l,m,n) = sum
-	      ENDIF
+	      res(i,pt,k,l,m,n) = res(i,pt,k,l,m,n) + sum
+	      counts(i,pt,k,l,m,n) = counts(i,pt,k,l,m,n) + ok
  210	   CONTINUE
 
 * ALONG Z AXIS
@@ -131,18 +130,15 @@
 	   DO 310 l = cx_lo_s4(com_cx), cx_hi_s4(com_cx)
 	   DO 310 j = cx_lo_s2(com_cx), cx_hi_s2(com_cx)
 	   DO 310 i = cx_lo_s1(com_cx), cx_hi_s1(com_cx)
-              all_bad = .TRUE.
               sum = 0.0D0
+              ok = 0.0D0
 	      DO 300 k = cx_lo_s3(com_cx), cx_hi_s3(com_cx)
 	         IF ( com(i,j,k,l,m,n) .EQ. bad_com ) GOTO 300
                  sum = sum + com(i,j,k,l,m,n)
-                 all_bad = .FALSE.
+                 ok = ok + 1.
  300	      CONTINUE
-	      IF ( all_bad ) THEN
-	         res(i,j,pt,l,m,n) = bad_res
-	      ELSE
-	         res(i,j,pt,l,m,n) = sum
-	      ENDIF
+	      res(i,j,pt,l,m,n) = res(i,j,pt,l,m,n) + sum
+	      counts(i,j,pt,l,m,n) = counts(i,j,pt,l,m,n) + ok
  310	   CONTINUE
 
 * ALONG T AXIS
@@ -152,18 +148,16 @@
 	   DO 410 k = cx_lo_s3(com_cx), cx_hi_s3(com_cx)
 	   DO 410 j = cx_lo_s2(com_cx), cx_hi_s2(com_cx)
 	   DO 410 i = cx_lo_s1(com_cx), cx_hi_s1(com_cx)
-              all_bad = .TRUE.
               sum = 0.0D0
+              ok = 0.0D0
 	      DO 400 l = cx_lo_s4(com_cx), cx_hi_s4(com_cx)
 	         IF ( com(i,j,k,l,m,n) .EQ. bad_com ) GOTO 400
                  sum = sum + com(i,j,k,l,m,n)
-                 all_bad = .FALSE.
+		 ok = ok + 1.
  400	      CONTINUE
-	      IF ( all_bad ) THEN
-	         res(i,j,k,pt,m,n) = bad_res
-	      ELSE
-	         res(i,j,k,pt,m,n) = sum
-	      ENDIF
+* ... accumulate weighted values and counts
+	      res(i,j,k,pt,m,n) = res(i,j,k,pt,m,n) + sum
+	      counts(i,j,k,pt,m,n) = counts(i,j,k,pt,m,n) + ok
  410	   CONTINUE
 
 * ALONG E AXIS
@@ -173,18 +167,15 @@
 	   DO 510 k = cx_lo_s3(com_cx), cx_hi_s3(com_cx)
 	   DO 510 j = cx_lo_s2(com_cx), cx_hi_s2(com_cx)
 	   DO 510 i = cx_lo_s1(com_cx), cx_hi_s1(com_cx)
-              all_bad = .TRUE.
               sum = 0.0D0
+              ok = 0.0D0
 	      DO 500 m = cx_lo_s5(com_cx), cx_hi_s5(com_cx)
 	         IF ( com(i,j,k,l,m,n) .EQ. bad_com ) GOTO 500
                  sum = sum + com(i,j,k,l,m,n)
-                 all_bad = .FALSE.
+                 ok = ok + 1.
  500	      CONTINUE
-	      IF ( all_bad ) THEN
-	         res(i,j,k,l,pt,n) = bad_res
-	      ELSE
-	         res(i,j,k,l,pt,n) = sum
-	      ENDIF
+	      res(i,j,k,l,pt,n) = res(i,j,k,l,pt,n) + sum
+	      counts(i,j,k,l,pt,n) = counts(i,j,k,l,pt,n) + ok
  510	   CONTINUE
 * ALONG F AXIS
 	ELSEIF ( idim .EQ. f_dim ) THEN
@@ -193,23 +184,20 @@
 	   DO 610 k = cx_lo_s3(com_cx), cx_hi_s3(com_cx)
 	   DO 610 j = cx_lo_s2(com_cx), cx_hi_s2(com_cx)
 	   DO 610 i = cx_lo_s1(com_cx), cx_hi_s1(com_cx)
-              all_bad = .TRUE.
               sum = 0.0D0
+              ok = 0.0D0
 	      DO 600 n = cx_lo_s6(com_cx), cx_hi_s6(com_cx)
 	         IF ( com(i,j,k,l,m,n) .EQ. bad_com ) GOTO 600
                  sum = sum + com(i,j,k,l,m,n)
-                 all_bad = .FALSE.
+                 ok = ok + 1.
  600	      CONTINUE
-	      IF ( all_bad ) THEN
-	         res(i,j,k,l,m,pt) = bad_res
-	      ELSE
-	         res(i,j,k,l,m,pt) = sum
-	      ENDIF
+	      res(i,j,k,l,m,pt) = res(i,j,k,l,m,pt) + sum
+	      counts(i,j,k,l,m,pt) = counts(i,j,k,l,m,pt) + ok
  610	   CONTINUE
 
+
 	ENDIF
 
-	DO_SUM = ferr_ok
 	RETURN
 	END
 
diff --git a/fer/doo/do_var_sub.F b/fer/doo/do_var_sub.F
index 1472dd2..01afd3a 100644
--- a/fer/doo/do_var_sub.F
+++ b/fer/doo/do_var_sub.F
@@ -1,7 +1,8 @@
 	SUBROUTINE DO_VAR_SUB(	idim, com_lo, com_hi,
      .				com, com_mr, com_cx,
      .				res, res_mr, res_cx,
-     .				box, stddev )
+     .				box, stddev,
+     .				wsum, s )
 
 *
 *
@@ -38,12 +39,39 @@
 *  CONNECTION WITH THE ACCESS, USE OR PERFORMANCE OF THIS SOFTWARE. 
 *
 *
-* (what about COSINE weighting along Y axis if in XY plane ??)
 * determine the variance along the indicated axis
 * nested with DO_VARIANCE in order to ease the dimension checking of box
 
-* calculation is done in two passes to accomodate unequal weighting and
-* to increase numerical stability 
+* COSINE weighting not applied because this is a strictly 1D calculation
+* see DO_4D_TRANS for the contrasting multi-dimensional calculation
+
+* calculation is done in a single pass (a change 11/2016)
+* using the algorithm of West (1979) as described succintly in Wikipedia
+* as the "Weighted incremental algorithm" for computing variance
+* see D. H. D. West (1979). Communications of the ACM, 22, 9, 532-535:
+*     Updating Mean and Variance Estimates: An Improved Method
+* Note that the new algorithm may treat the unequal weghting of points
+* differently than the old.  The new is better to be trusted IMHO.
+
+****
+* The algorithm:
+*
+* These initializations already done from IS_TRANS
+*    wSum = 0
+*    mean = 0    ! "res" in this code
+*    S =0
+*
+* This routine performs this loop (see Wikipedia reference)
+* v,w  is the value,weight pair contributed by each grid cell
+*        wSum = wSum + w
+*        meanOld = mean
+*        mean = meanOld + (w / wSum) * (v - meanOld)
+*        S = S + w * (v - meanOld) * (v - mean)
+*	
+* Split/gather memory management may cause this routine to be called many times
+* in the finalize step we will compute
+*    variance = S / wSum
+****
 
 * programmer - steve hankin
 * NOAA/PMEL, Seattle, WA - Tropical Modeling and Analysis Program
@@ -58,6 +86,7 @@
 *        2/12 *kms* Add E and F dimensions (use nferdims in tmap_dims.parm)
 *
 * v687  3/14  *acm* Option to return standard deviation
+* v702 *sh* 11/16 -  mods for trac #2428 - calculation in gathered fragments
 
         IMPLICIT NONE
         include 'tmap_dims.parm'
@@ -70,18 +99,21 @@
 * internal variable declarations:
 	LOGICAL stddev
 	INTEGER CGRID_AXIS, i, j, k, l, m, n,
-     .          grid, pt, lo, hi, axis, npt
+     .          grid, pt, lo, hi, axis
 	REAL	BOX_SIZE, bad_com, bad_res
-	REAL*8	TM_WORLD, dsum, bsum, mean, diff
-	REAL*8  x, xmean, xdelta
-
+	REAL*8	TM_WORLD, dsum, bsum
+	REAL*8  w, v, wsum_chunk, mean_chunk, mean_old, s_chunk
 
 * calling argument declarations:
 	INTEGER	idim, com_lo, com_hi, com_mr, com_cx, res_mr, res_cx
-	REAL    com( m1lox:m1hix,m1loy:m1hiy,m1loz:m1hiz,
-     .               m1lot:m1hit,m1loe:m1hie,m1lof:m1hif ),
-     .          res( m2lox:m2hix,m2loy:m2hiy,m2loz:m2hiz,
-     .               m2lot:m2hit,m2loe:m2hie,m2lof:m2hif ),
+	REAL    com ( m1lox:m1hix,m1loy:m1hiy,m1loz:m1hiz,
+     .                m1lot:m1hit,m1loe:m1hie,m1lof:m1hif ),
+     .          res ( m2lox:m2hix,m2loy:m2hiy,m2loz:m2hiz,
+     .                m2lot:m2hit,m2loe:m2hie,m2lof:m2hif ),
+     .          wsum( m2lox:m2hix,m2loy:m2hiy,m2loz:m2hiz,
+     .                m2lot:m2hit,m2loe:m2hie,m2lof:m2hif ),
+     .          s   ( m2lox:m2hix,m2loy:m2hiy,m2loz:m2hiz,
+     .                m2lot:m2hit,m2loe:m2hie,m2lof:m2hif ),
      .		box( com_lo:com_hi )
 
 * --- end of introductory code ---
@@ -96,13 +128,22 @@
 	bad_res = mr_bad_data( res_mr )
 
 * get and save grid box sizes (weights) just once for efficiency
-* (end boxes may be only partially weighted)
-	box(lo) = TM_WORLD(lo, grid, idim, box_hi_lim)
-     .		- cx_lo_ww(idim,res_cx)
-	DO 100 i = lo+1, hi-1
+	DO 100 i = lo, hi
  100	box(i)  = BOX_SIZE( i, grid, idim )
-	box(hi) = cx_hi_ww(idim,res_cx)
-     .		- TM_WORLD(hi, grid, idim, box_lo_lim)
+* 11/16 ... end boxes may be only partial cells
+	IF  (TM_WORLD(lo, grid, idim, box_lo_lim)
+     .  .LT. cx_lo_ww(idim,res_cx)                ) box(lo) = 
+     .			TM_WORLD(lo, grid, idim, box_hi_lim)
+     .		      - cx_lo_ww(idim,res_cx)
+	IF  (TM_WORLD(hi, grid, idim, box_hi_lim)
+     .  .GT. cx_hi_ww(idim,res_cx)                ) box(hi) =
+     .			cx_hi_ww(idim,res_cx)
+     .		      - TM_WORLD(hi, grid, idim, box_lo_lim)
+
+!	box(lo) = TM_WORLD(lo, grid, idim, box_hi_lim)
+!     .		- cx_lo_ww(idim,res_cx)
+!	box(hi) = cx_hi_ww(idim,res_cx)
+!     .		- TM_WORLD(hi, grid, idim, box_lo_lim)
 
 * ALONG X AXIS
 	IF ( idim .EQ. x_dim ) THEN
@@ -111,49 +152,21 @@
 	   DO 210 l = cx_lo_s4(com_cx), cx_hi_s4(com_cx)
 	   DO 210 k = cx_lo_s3(com_cx), cx_hi_s3(com_cx)
 	   DO 210 j = cx_lo_s2(com_cx), cx_hi_s2(com_cx)
-* ... Pass #1: determine mean
-              npt = 0
-	      dsum = 0.0D0	! data
-	      bsum = 0.0D0	! boxes
-	      DO 200 i = cx_lo_s1(com_cx), cx_hi_s1(com_cx)
-	         IF ( com(i,j,k,l,m,n) .EQ. bad_com ) GOTO 200
-	         bsum = bsum + box(i)
-	         dsum = dsum + box(i)*com(i,j,k,l,m,n)
-                 npt = npt + 1
- 200	      CONTINUE
-	      IF ( npt .LE. 1 ) THEN
-	         res(pt,j,k,l,m,n) = bad_res
-                 GOTO 210
-	      ELSE
-                 mean = dsum / bsum
-              ENDIF
-
-* ... Pass #2: determine variance or std dev
-
-* Compute variance. See http://en.wikipedia.org/wiki/Algorithms_for_calculating_variance
-
-* On-line algorithm with mean subtracted first. Noted as the most robust.
-* Since we always compute the mean first anyway, use it.
-
-	      npt = 0
-              xmean = 0.D0
-              dsum = 0.D0
-              DO 205 i = cx_lo_s1(com_cx), cx_hi_s1(com_cx)
-	         x = com(i,j,k,l,m,n)
-                 IF ( x .NE. bad_com ) THEN
-                    npt = npt + 1
-		    x = x - mean
-                    xdelta = x - xmean
-                    xmean = xmean + xdelta/ FLOAT(npt)
-                    dsum = dsum + xdelta*(x - xmean)  ! This expression uses the new value of mean
-                  ENDIF
- 205          CONTINUE
-* because of checking above, npt .GT. 1
-	      IF (stddev) THEN
-                 res(pt,j,k,l,m,n) = SQRT( dsum / FLOAT(npt) )
-	      ELSE
-                 res(pt,j,k,l,m,n) = dsum / FLOAT(npt)
-	      ENDIF
+	      wsum_chunk = wsum(pt,j,k,l,m,n)
+	      mean_chunk = res (pt,j,k,l,m,n)
+	      s_chunk    = s   (pt,j,k,l,m,n)
+	      DO i = cx_lo_s1(com_cx), cx_hi_s1(com_cx)
+	         v = com(i,j,k,l,m,n)
+	         IF ( v .EQ. bad_com ) CYCLE
+	         w = box(i)
+	         wsum_chunk = wsum_chunk + w
+	         mean_old = mean_chunk
+	         mean_chunk = mean_old + (w/wsum_chunk)*(v-mean_old)
+	         s_chunk = s_chunk + w * (v-mean_old)*(v-mean_chunk)
+	      ENDDO
+	      wsum(pt,j,k,l,m,n) = wsum_chunk
+	      res (pt,j,k,l,m,n) = mean_chunk
+	      s   (pt,j,k,l,m,n) = s_chunk
  210	   CONTINUE
 
 * ALONG Y AXIS
@@ -164,49 +177,21 @@
 	   DO 310 l = cx_lo_s4(com_cx), cx_hi_s4(com_cx)
 	   DO 310 k = cx_lo_s3(com_cx), cx_hi_s3(com_cx)
 	   DO 310 i = cx_lo_s1(com_cx), cx_hi_s1(com_cx)
-* ... Pass #1: determine mean
-              npt = 0
-	      dsum = 0.0D0	! data
-	      bsum = 0.0D0	! boxes
-	      DO 300 j = cx_lo_s2(com_cx), cx_hi_s2(com_cx)
-	         IF ( com(i,j,k,l,m,n) .EQ. bad_com ) GOTO 300
-	         bsum = bsum + box(j)
-	         dsum = dsum + box(j)*com(i,j,k,l,m,n)
-                 npt = npt + 1
- 300	      CONTINUE
-	      IF ( npt .LE. 1 ) THEN
-	         res(i,pt,k,l,m,n) = bad_res
-                 GOTO 310
-	      ELSE
-                 mean = dsum / bsum
-              ENDIF
-
-* ... Pass #2: determine variance or std dev
-
-* Compute variance. See http://en.wikipedia.org/wiki/Algorithms_for_calculating_variance
-
-* On-line algorithm with mean subtracted first. Noted as the most robust.
-* Since we always compute the mean first anyway, use it.
-
-	      npt = 0
-              xmean = 0.D0
-              dsum = 0.D0
-              DO 305 j = cx_lo_s2(com_cx), cx_hi_s2(com_cx)
-	         x = com(i,j,k,l,m,n)
-                 IF ( x .NE. bad_com ) THEN
-	            npt = npt + 1
-		    x = x - mean
-                    xdelta = x - xmean
-                    xmean = xmean + xdelta/ FLOAT(npt)
-                    dsum = dsum + xdelta*(x - xmean)  ! This expression uses the new value of mean
-                  ENDIF
- 305          CONTINUE
-* because of checking above, npt .GT. 1
-	      IF (stddev) THEN
-                 res(i,pt,k,l,m,n)  = SQRT( dsum / FLOAT(npt) )
-	      ELSE
-                 res(i,pt,k,l,m,n) = dsum / FLOAT(npt)
-	      ENDIF
+	      wsum_chunk = wsum(i,pt,k,l,m,n)
+	      mean_chunk = res (i,pt,k,l,m,n)
+	      s_chunk    = s   (i,pt,k,l,m,n)
+	      DO j = cx_lo_s2(com_cx), cx_hi_s2(com_cx)
+	         v = com(i,j,k,l,m,n)
+	         IF ( v .EQ. bad_com ) CYCLE
+	         w = box(2)
+	         wsum_chunk = wsum_chunk + w
+	         mean_old = mean_chunk
+	         mean_chunk = mean_old + (w/wsum_chunk)*(v-mean_old)
+	         s_chunk = s_chunk + w * (v-mean_old)*(v-mean_chunk)
+	      ENDDO
+	      wsum(i,pt,k,l,m,n) = wsum_chunk
+	      res (i,pt,k,l,m,n) = mean_chunk
+	      s   (i,pt,k,l,m,n) = s_chunk
  310	   CONTINUE
 
 
@@ -217,49 +202,21 @@
 	   DO 410 l = cx_lo_s4(com_cx), cx_hi_s4(com_cx)
 	   DO 410 j = cx_lo_s2(com_cx), cx_hi_s2(com_cx)
 	   DO 410 i = cx_lo_s1(com_cx), cx_hi_s1(com_cx)
-* ... Pass #1: determine mean
-              npt = 0
-	      dsum = 0.0D0	! data
-	      bsum = 0.0D0	! boxes
-	      DO 400 k = cx_lo_s3(com_cx), cx_hi_s3(com_cx)
-	         IF ( com(i,j,k,l,m,n) .EQ. bad_com ) GOTO 400
-	         bsum = bsum + box(k)
-	         dsum = dsum + box(k)*com(i,j,k,l,m,n)
-                 npt = npt + 1
- 400	      CONTINUE
-	      IF ( npt .LE. 1 ) THEN
-	         res(i,j,pt,l,m,n) = bad_res
-                 GOTO 410
-	      ELSE
-                 mean = dsum / bsum
-              ENDIF
-
-* ... Pass #2: determine variance or std dev
-
-* Compute variance. See http://en.wikipedia.org/wiki/Algorithms_for_calculating_variance
-
-* On-line algorithm with mean subtracted first. Noted as the most robust.
-* Since we always compute the mean first anyway, use it.
-
-	      npt = 0
-              xmean = 0.D0
-              dsum = 0.D0
-	      DO 405 k = cx_lo_s3(com_cx), cx_hi_s3(com_cx)
-	         x = com(i,j,k,l,m,n)
-                 IF ( x .NE. bad_com ) THEN
-	            npt = npt + 1
-		    x = x - mean
-                    xdelta = x - xmean
-                    xmean = xmean + xdelta/ FLOAT(npt)
-                    dsum = dsum + xdelta*(x - xmean)  ! This expression uses the new value of mean
-                  ENDIF
- 405          CONTINUE
-* because of checking above, npt .GT. 1
-	      IF (stddev) THEN
-                 res(i,j,pt,l,m,n)  = SQRT( dsum / FLOAT(npt) )
-	      ELSE
-                 res(i,j,pt,l,m,n) = dsum / FLOAT(npt)
-	      ENDIF
+	      wsum_chunk = wsum(i,j,pt,l,m,n)
+	      mean_chunk = res (i,j,pt,l,m,n)
+	      s_chunk    = s   (i,j,pt,l,m,n)
+	      DO k = cx_lo_s3(com_cx), cx_hi_s3(com_cx)
+	         v = com(i,j,k,l,m,n)
+	         IF ( v .EQ. bad_com ) CYCLE
+	         w = box(k)
+	         wsum_chunk = wsum_chunk + w
+	         mean_old = mean_chunk
+	         mean_chunk = mean_old + (w/wsum_chunk)*(v-mean_old)
+	         s_chunk = s_chunk + w * (v-mean_old)*(v-mean_chunk)
+	      ENDDO
+	      wsum(i,j,pt,l,m,n) = wsum_chunk
+	      res (i,j,pt,l,m,n) = mean_chunk
+	      s   (i,j,pt,l,m,n) = s_chunk
  410	   CONTINUE
 
 * ALONG T AXIS
@@ -269,49 +226,22 @@
 	   DO 510 k = cx_lo_s3(com_cx), cx_hi_s3(com_cx)
 	   DO 510 j = cx_lo_s2(com_cx), cx_hi_s2(com_cx)
 	   DO 510 i = cx_lo_s1(com_cx), cx_hi_s1(com_cx)
-* ... Pass #1: determine mean
-              npt = 0
-	      dsum = 0.0D0	! data
-	      bsum = 0.0D0	! boxes
-	      DO 500 l = cx_lo_s4(com_cx), cx_hi_s4(com_cx)
-	         IF ( com(i,j,k,l,m,n) .EQ. bad_com ) GOTO 500
-	         bsum = bsum + box(l)
-	         dsum = dsum + box(l)*com(i,j,k,l,m,n)
-                 npt = npt + 1
- 500	      CONTINUE
-	      IF ( npt .LE. 1 ) THEN
-	         res(i,j,k,pt,m,n) = bad_res
-                 GOTO 510
-	      ELSE
-                 mean = dsum / bsum
-              ENDIF
-
-* ... Pass #2: determine variance or std dev
 
-* Compute variance. See http://en.wikipedia.org/wiki/Algorithms_for_calculating_variance
-
-* On-line algorithm with mean subtracted first. Noted as the most robust.
-* Since we always compute the mean first anyway, use it.
-
-	      npt = 0
-              xmean = 0.D0
-              dsum = 0.D0
-	      DO 505 l = cx_lo_s4(com_cx), cx_hi_s4(com_cx)
-	         x = com(i,j,k,l,m,n)
-                 IF ( x .NE. bad_com ) THEN
-		    npt = npt + 1
-		    x = x - mean
-                    xdelta = x - xmean
-                    xmean = xmean + xdelta/ FLOAT(npt)
-                    dsum = dsum + xdelta*(x - xmean)  ! This expression uses the new value of mean
-                  ENDIF
- 505          CONTINUE
-* because of checking above, npt .GT. 1
-	      IF (stddev) THEN
-                 res(i,j,k,pt,m,n)  = SQRT( dsum / FLOAT(npt) )
-	      ELSE
-                 res(i,j,k,pt,m,n) = dsum / FLOAT(npt)
-	      ENDIF
+	      wsum_chunk = wsum(i,j,k,pt,m,n)
+	      mean_chunk = res (i,j,k,pt,m,n)
+	      s_chunk    = s   (i,j,k,pt,m,n)
+	      DO l = cx_lo_s4(com_cx), cx_hi_s4(com_cx)
+	         v = com(i,j,k,l,m,n)
+	         IF ( v .EQ. bad_com ) CYCLE
+	         w = box(l)
+	         wsum_chunk = wsum_chunk + w
+	         mean_old = mean_chunk
+	         mean_chunk = mean_old + (w/wsum_chunk)*(v-mean_old)
+	         s_chunk = s_chunk + w * (v-mean_old)*(v-mean_chunk)
+	      ENDDO
+	      wsum(i,j,k,pt,m,n) = wsum_chunk
+	      res (i,j,k,pt,m,n) = mean_chunk
+	      s   (i,j,k,pt,m,n) = s_chunk
  510	   CONTINUE
 
 * ALONG E AXIS
@@ -321,49 +251,21 @@
 	   DO 610 k = cx_lo_s3(com_cx), cx_hi_s3(com_cx)
 	   DO 610 j = cx_lo_s2(com_cx), cx_hi_s2(com_cx)
 	   DO 610 i = cx_lo_s1(com_cx), cx_hi_s1(com_cx)
-* ... Pass #1: determine mean
-              npt = 0
-	      dsum = 0.0D0	! data
-	      bsum = 0.0D0	! boxes
-	      DO 600 m = cx_lo_s5(com_cx), cx_hi_s5(com_cx)
-	         IF ( com(i,j,k,l,m,n) .EQ. bad_com ) GOTO 600
-	         bsum = bsum + box(m)
-	         dsum = dsum + box(m)*com(i,j,k,l,m,n)
-                 npt = npt + 1
- 600	      CONTINUE
-	      IF ( npt .LE. 1 ) THEN
-	         res(i,j,k,l,pt,n) = bad_res
-                 GOTO 610
-	      ELSE
-                 mean = dsum / bsum
-              ENDIF
-
-* ... Pass #2: determine variance or std dev
-
-* Compute variance. See http://en.wikipedia.org/wiki/Algorithms_for_calculating_variance
-
-* On-line algorithm with mean subtracted first. Noted as the most robust.
-* Since we always compute the mean first anyway, use it.
-
-	      npt = 0
-              xmean = 0.D0
-              dsum = 0.D0
-	      DO 605 m = cx_lo_s5(com_cx), cx_hi_s5(com_cx)
-	         x = com(i,j,k,l,m,n)
-                 IF ( x .NE. bad_com ) THEN
-		    npt = npt + 1
-		    x = x - mean
-                    xdelta = x - xmean
-                    xmean = xmean + xdelta/ FLOAT(npt)
-                    dsum = dsum + xdelta*(x - xmean)  ! This expression uses the new value of mean
-                  ENDIF
- 605          CONTINUE
-* because of checking above, npt .GT. 1
-	      IF (stddev) THEN
-                 res(i,j,k,l,pt,n)  = SQRT( dsum / FLOAT(npt) )
-	      ELSE
-                 res(i,j,k,l,pt,n) = dsum / FLOAT(npt)
-	      ENDIF
+	      wsum_chunk = wsum(i,j,k,l,pt,n)
+	      mean_chunk = res (i,j,k,l,pt,n)
+	      s_chunk    = s   (i,j,k,l,pt,n)
+	      DO m = cx_lo_s5(com_cx), cx_hi_s5(com_cx)
+	         v = com(i,j,k,l,m,n)
+	         IF ( v .EQ. bad_com ) CYCLE
+	         w = box(m)
+	         wsum_chunk = wsum_chunk + w
+	         mean_old = mean_chunk
+	         mean_chunk = mean_old + (w/wsum_chunk)*(v-mean_old)
+	         s_chunk = s_chunk + w * (v-mean_old)*(v-mean_chunk)
+	      ENDDO
+	      wsum(i,j,k,l,pt,n) = wsum_chunk
+	      res (i,j,k,l,pt,n) = mean_chunk
+	      s   (i,j,k,l,pt,n) = s_chunk
  610	   CONTINUE
 
 * ALONG F AXIS
@@ -373,49 +275,21 @@
 	   DO 710 k = cx_lo_s3(com_cx), cx_hi_s3(com_cx)
 	   DO 710 j = cx_lo_s2(com_cx), cx_hi_s2(com_cx)
 	   DO 710 i = cx_lo_s1(com_cx), cx_hi_s1(com_cx)
-* ... Pass #1: determine mean
-              npt = 0
-	      dsum = 0.0D0	! data
-	      bsum = 0.0D0	! boxes
-	      DO 700 n = cx_lo_s6(com_cx), cx_hi_s6(com_cx)
-	         IF ( com(i,j,k,l,m,n) .EQ. bad_com ) GOTO 700
-	         bsum = bsum + box(n)
-	         dsum = dsum + box(n)*com(i,j,k,l,m,n)
-                 npt = npt + 1
- 700	      CONTINUE
-	      IF ( npt .LE. 1 ) THEN
-	         res(i,j,k,l,m,pt) = bad_res
-                 GOTO 710
-	      ELSE
-                 mean = dsum / bsum
-              ENDIF
-
-* ... Pass #2: determine variance or std dev
-
-* Compute variance. See http://en.wikipedia.org/wiki/Algorithms_for_calculating_variance
-
-* On-line algorithm with mean subtracted first. Noted as the most robust.
-* Since we always compute the mean first anyway, use it.
-
-	      npt = 0
-              xmean = 0.D0
-              dsum = 0.D0
-	      DO 705 n = cx_lo_s6(com_cx), cx_hi_s6(com_cx)
-	         x = com(i,j,k,l,m,n)
-                 IF ( x .NE. bad_com ) THEN
-		    npt = npt + 1
-		    x = x - mean
-                    xdelta = x - xmean
-                    xmean = xmean + xdelta/ FLOAT(npt)
-                    dsum = dsum + xdelta*(x - xmean)  ! This expression uses the new value of mean
-                  ENDIF
- 705          CONTINUE
-* because of checking above, npt .GT. 1
-	      IF (stddev) THEN
-                 res(i,j,k,l,m,pt) = SQRT( dsum / FLOAT(npt) )
-	      ELSE
-                 res(i,j,k,l,m,pt) = dsum / FLOAT(npt)
-	      ENDIF
+	      wsum_chunk = wsum(i,j,k,l,m,pt)
+	      mean_chunk = res (i,j,k,l,m,pt)
+	      s_chunk    = s   (i,j,k,l,m,pt)
+	      DO n = cx_lo_s6(com_cx), cx_hi_s6(com_cx)
+	         v = com(i,j,k,l,m,n)
+	         IF ( v .EQ. bad_com ) CYCLE
+	         w = box(n)
+	         wsum_chunk = wsum_chunk + w
+	         mean_old = mean_chunk
+	         mean_chunk = mean_old + (w/wsum_chunk)*(v-mean_old)
+	         s_chunk = s_chunk + w * (v-mean_old)*(v-mean_chunk)
+	      ENDDO
+	      wsum(i,j,k,l,m,pt) = wsum_chunk
+	      res (i,j,k,l,m,pt) = mean_chunk
+	      s   (i,j,k,l,m,pt) = s_chunk
  710	   CONTINUE
 
 	ENDIF
diff --git a/fer/doo/do_variance.F b/fer/doo/do_variance.F
index 992ce8f..5bc9359 100644
--- a/fer/doo/do_variance.F
+++ b/fer/doo/do_variance.F
@@ -46,6 +46,8 @@
 *
 * V230:  3/2/92
 *        2/12 *kms* Add E and F dimensions (use nferdims in tmap_dims.parm)
+* V702 *sh* 11/16 mods for trac #2428 - calculation in gathered fragments
+*                 pass address of buffer area, where weights are accumulated
 
         IMPLICIT NONE
         include 'tmap_dims.parm'
@@ -61,6 +63,8 @@
 
 * internal variable declarations:
 	LOGICAL stddev
+	INTEGER CGRID_SIZE, size
+
 
 	stddev = .FALSE.
 
@@ -69,11 +73,15 @@
 	IF ( mode_diagnostic ) 	CALL DIAG_OP
      .				( 'doing', isact_class_trans, res_cx, idim )
 
+* get size of result array to locate buffer areas just beyond
+	size = CGRID_SIZE(res_cx)
+
 	CALL DO_VAR_SUB( idim,
      .			 cx_lo_ss(com_cx,idim), cx_hi_ss(com_cx,idim),
      .			 com, com_mr, com_cx,
      .			 res, res_mr, res_cx,
-     .			 box, stddev )
+     .			 box, stddev,
+     .			 res(size+1),res(2*size+1) )
 
 	DO_VARIANCE = ferr_ok
 
diff --git a/fer/doo/do_xylin_regrid.F b/fer/doo/do_xylin_regrid.F
index 45447dd..9d2ee8b 100644
--- a/fer/doo/do_xylin_regrid.F
+++ b/fer/doo/do_xylin_regrid.F
@@ -48,6 +48,13 @@
 *                    The XY linear regridding matches past Ferret behavior, 
 *                    not using bilinear regridding for now
 *        2/12 *kms* Add E and F dimensions (use nferdims in tmap_dims.parm)
+* V702 *sh* 3/2017 Dynamic memory revealed a bug in work array sizes
+*  NOTE!!:  The logic for providing work arrays to this routine and its cousins
+*           is a legacy of the bad-old days when there was only a single work
+*           array.  Various starting indices into that array were passed
+*           to XYLIN_REGRID as distinct work arrays.  Now that we have true
+*           dynamic memory we could simplify this code by allocating 5 separate
+*	    work arrays.  Or not ...
 
         IMPLICIT NONE
         include 'tmap_dims.parm'
@@ -63,6 +70,7 @@
      .			   cx_lo_ss(cx_lims,x_dim), cx_hi_ss(cx_lims,x_dim),
      .			   cx_lo_ss(cx_lims,y_dim), cx_hi_ss(cx_lims,y_dim),
      .			   src, msrc, dst, mdst, src_cx, dst_cx, 
+     .			   cx_lo_ss(src_cx, x_dim), cx_hi_ss(src_cx, x_dim),
      .                     work(1), work(iwork2), work(iwork3), work(iwork4),
      .                     work(iwork5) )
 
diff --git a/fer/doo/do_4d_sum.F b/fer/doo/finalize_ave_int.F
similarity index 67%
copy from fer/doo/do_4d_sum.F
copy to fer/doo/finalize_ave_int.F
index 3b2c6d2..0414680 100644
--- a/fer/doo/do_4d_sum.F
+++ b/fer/doo/finalize_ave_int.F
@@ -1,10 +1,7 @@
-	INTEGER FUNCTION DO_4D_SUM(	idim, arg,
-     .					com, com_mr, com_cx,
-     .					res, res_mr, res_cx,
-     .					boxes	)
+	SUBROUTINE FINALIZE_AVE_INT( trans, size,
+     .				     res_mr, res, weights )
 
 *
-*
 *  This software was developed by the Thermal Modeling and Analysis
 *  Project(TMAP) of the National Oceanographic and Atmospheric
 *  Administration''s (NOAA) Pacific Marine Environmental Lab(PMEL),
@@ -38,39 +35,53 @@
 *  CONNECTION WITH THE ACCESS, USE OR PERFORMANCE OF THIS SOFTWARE. 
 *
 *
-* call DO_4D_TRANS with the appropriate transformation
+* finalize the result of average or definite integral based up accumulated
+* WIGHTED_SUM(values) and SUM(weights)
 
 * programmer - steve hankin
 * NOAA/PMEL, Seattle, WA - Tropical Modeling and Analysis Program
-
-* v6.66 ACM 11/10
-*        2/12 *kms* Add E and F dimensions (use nferdims in tmap_dims.parm)
+*
+* V702 *sh* 11/16 this routine performs the finalization step that was
+*		  previously a part of DO_AVE_INT
+* V72  *acm* 6/17 Ticket 2539: Do not set res to bad-value for ave, din.
+*                 Weights of zero or non-zero mark whether data is found.
 
         IMPLICIT NONE
         include 'tmap_dims.parm'
 	include	'ferret.parm'
-	include	'errmsg.parm'
 	include	'interp_stack.parm'
-	include	'xprog_state.cmn'
+!	include	'xcontext.cmn'
+	include	'xvariables.cmn'
+!	include	'xmem_subsc.cmn'
+!	include 'xunits.cmn_text'
+!	external xunits_data
+!	include 'xtm_grid.cmn_text'
+!	external xgt_grid_data
 
 * calling argument declarations:
-	INTEGER	idim, com_mr, com_cx, res_mr, res_cx
-	REAL	arg, com(*), res(*), boxes(*)
+	INTEGER	trans, size, res_mr
+	REAL    res(size), weights(size)
 
 * internal variable declarations:
-	INTEGER	CX_DIM_LEN
+	LOGICAL	average
+	INTEGER	i 
+	REAL	bad_res
 
-* diagnostic mode output: " doing --> VAR_NAME[x=lo:hi at TRN:n,D=#]"
-	IF ( mode_diagnostic ) 	CALL DIAG_OP
-     .				( 'doing', isact_class_trans, res_cx, idim )
+* --- end of introductory code ---
 
-* pass the transform to be performed
-	CALL DO_4D_TRANS(   trans_4d_sum,
-     .			    com, com_mr, com_cx,
-     .			    res, res_mr, res_cx,
-     .			    boxes )
+* initialize
+	average = trans .EQ. trans_average
+     .       .OR. trans .EQ. trans_4d_ave
+	bad_res = mr_bad_data( res_mr )
 
-	DO_4D_SUM = ferr_ok
+* finalize (luv it!)
+	DO i = 1, size
+	   IF (weights(i) .EQ. 0.0D0) THEN  
+	      res(i) = bad_res			! no input values to average
+	   ELSEIF (average) THEN
+	      res(i) = res(i)/weights(i)	! average
+	   ENDIF
+	ENDDO
 
 	RETURN
 	END
diff --git a/fer/mem/fill_memory.F b/fer/doo/finalize_sums_counts.F
similarity index 75%
copy from fer/mem/fill_memory.F
copy to fer/doo/finalize_sums_counts.F
index 3b277a8..0d8735f 100644
--- a/fer/mem/fill_memory.F
+++ b/fer/doo/finalize_sums_counts.F
@@ -1,7 +1,7 @@
-	SUBROUTINE FILL_MEMORY ( memory, start_block, num_blocks, fill_word )
+	SUBROUTINE FINALIZE_SUMS_COUNTS( trans, size,
+     .				     res_mr, res, counts )
 
 *
-*
 *  This software was developed by the Thermal Modeling and Analysis
 *  Project(TMAP) of the National Oceanographic and Atmospheric
 *  Administration''s (NOAA) Pacific Marine Environmental Lab(PMEL),
@@ -35,32 +35,41 @@
 *  CONNECTION WITH THE ACCESS, USE OR PERFORMANCE OF THIS SOFTWARE. 
 *
 *
-* fill a memory region with the specified value
+* finalize the result of Sums or Counts (NGD, NBD).
 
-* programmer - steve hankin
+* programmer - Ansley Manke
 * NOAA/PMEL, Seattle, WA - Tropical Modeling and Analysis Program
-* written for VAX computer under VMS operating system
 *
-* revision 0.0 - 4/23/86
-*        2/12 *kms* Add E and F dimensions (use nferdims in tmap_dims.parm)
+* V71 *acm* 12/16 this routine performs the finalization step that was
+*		  previously a part of DO_SUM, DO_MIN, DO_MAX, DO_NGOOD, etc.
 
         IMPLICIT NONE
         include 'tmap_dims.parm'
 	include	'ferret.parm'
+	include	'interp_stack.parm'
 	include	'xvariables.cmn'
 
 * calling argument declarations:
-	INTEGER	start_block, num_blocks
-	REAL	memory( mem_blk_size, max_mem_blks )
-	REAL	fill_word
+	INTEGER	trans, size, res_mr
+	REAL    res(size), counts(size)
 
 * internal variable declarations:
-	INTEGER	iword, iblock
+	INTEGER	i
+	REAL	bad_res
+
+* --- end of introductory code ---
+
+* initialize
+	bad_res = mr_bad_data( res_mr )
 
-	DO 100 iblock = start_block, start_block+num_blocks-1
-	DO 100 iword  = 1, mem_blk_size
- 100	memory( iword, iblock ) = fill_word
+* res(i) already contains the accumulated sum or count.
+* counts(i) contains the number of valid data.
+
+	DO i = 1, size
+	   IF (counts(i) .EQ. 0.0D0) THEN
+	      res(i) = bad_res			! no valid input values 
+	   ENDIF
+	ENDDO
 
 	RETURN
 	END
-
diff --git a/fer/doo/do_4d_sum.F b/fer/doo/finalize_variance.F
similarity index 68%
copy from fer/doo/do_4d_sum.F
copy to fer/doo/finalize_variance.F
index 3b2c6d2..4ed9fca 100644
--- a/fer/doo/do_4d_sum.F
+++ b/fer/doo/finalize_variance.F
@@ -1,10 +1,7 @@
-	INTEGER FUNCTION DO_4D_SUM(	idim, arg,
-     .					com, com_mr, com_cx,
-     .					res, res_mr, res_cx,
-     .					boxes	)
+	SUBROUTINE FINALIZE_VARIANCE( trans, size,
+     .				      res_mr, res, wsum, s )
 
 *
-*
 *  This software was developed by the Thermal Modeling and Analysis
 *  Project(TMAP) of the National Oceanographic and Atmospheric
 *  Administration''s (NOAA) Pacific Marine Environmental Lab(PMEL),
@@ -38,39 +35,53 @@
 *  CONNECTION WITH THE ACCESS, USE OR PERFORMANCE OF THIS SOFTWARE. 
 *
 *
-* call DO_4D_TRANS with the appropriate transformation
+* finalize the result of average or definite integral based up accumulated
+* WIGHTED_SUM(values) and SUM(weights)
 
 * programmer - steve hankin
 * NOAA/PMEL, Seattle, WA - Tropical Modeling and Analysis Program
-
-* v6.66 ACM 11/10
-*        2/12 *kms* Add E and F dimensions (use nferdims in tmap_dims.parm)
+*
+* V702 *sh* 11/16 this routine performs the finalization step that was
+*		  previously a part of DO_VAR_SUB
 
         IMPLICIT NONE
         include 'tmap_dims.parm'
 	include	'ferret.parm'
-	include	'errmsg.parm'
 	include	'interp_stack.parm'
-	include	'xprog_state.cmn'
+!	include	'xcontext.cmn'
+	include	'xvariables.cmn'
+!	include	'xmem_subsc.cmn'
+!	include 'xunits.cmn_text'
+!	external xunits_data
+!	include 'xtm_grid.cmn_text'
+!	external xgt_grid_data
 
 * calling argument declarations:
-	INTEGER	idim, com_mr, com_cx, res_mr, res_cx
-	REAL	arg, com(*), res(*), boxes(*)
+	INTEGER	trans, size, res_mr
+	REAL    res(size), wsum(size), s(size)
 
 * internal variable declarations:
-	INTEGER	CX_DIM_LEN
+	LOGICAL	variance
+	INTEGER	i
+	REAL	bad_res
 
-* diagnostic mode output: " doing --> VAR_NAME[x=lo:hi at TRN:n,D=#]"
-	IF ( mode_diagnostic ) 	CALL DIAG_OP
-     .				( 'doing', isact_class_trans, res_cx, idim )
+* --- end of introductory code ---
 
-* pass the transform to be performed
-	CALL DO_4D_TRANS(   trans_4d_sum,
-     .			    com, com_mr, com_cx,
-     .			    res, res_mr, res_cx,
-     .			    boxes )
+* initialize
+	variance = trans .EQ. trans_variance
+     .        .OR. trans .EQ. trans_4d_var
+	bad_res = mr_bad_data( res_mr )
 
-	DO_4D_SUM = ferr_ok
+* finalize (luv it!)
+	DO i = 1, size
+	   IF (wsum(i) .EQ. 0.0D0) THEN
+	      res(i) = bad_res			! no input values
+	   ELSEIF (variance) THEN
+	      res(i) = s(i)/wsum(i)		! variance
+	   ELSE
+	      res(i) = SQRT(s(i)/wsum(i))	! standard deviation
+	   ENDIF
+	ENDDO
 
 	RETURN
 	END
diff --git a/fer/doo/iin_regrid.F b/fer/doo/iin_regrid.F
new file mode 100644
index 0000000..e970fa6
--- /dev/null
+++ b/fer/doo/iin_regrid.F
@@ -0,0 +1,327 @@
+	SUBROUTINE IIN_REGRID (	cx_lims, idim, dst_lo, dst_hi,
+     .				src, msrc, dst, mdst, box, itot, status )
+
+*
+*
+*  This software was developed by the Thermal Modeling and Analysis
+*  Project(TMAP) of the National Oceanographic and Atmospheric
+*  Administration''s (NOAA) Pacific Marine Environmental Lab(PMEL),
+*  hereafter referred to as NOAA/PMEL/TMAP.
+*
+*  Access and use of this software shall impose the following
+*  obligations and understandings on the user. The user is granted the
+*  right, without any fee or cost, to use, copy, modify, alter, enhance
+*  and distribute this software, and any derivative works thereof, and
+*  its supporting documentation for any purpose whatsoever, provided
+*  that this entire notice appears in all copies of the software,
+*  derivative works and supporting documentation.  Further, the user
+*  agrees to credit NOAA/PMEL/TMAP in any publications that result from
+*  the use of this software or in any product that includes this
+*  software. The names TMAP, NOAA and/or PMEL, however, may not be used
+*  in any advertising or publicity to endorse or promote any products
+*  or commercial entity unless specific written permission is obtained
+*  from NOAA/PMEL/TMAP. The user also understands that NOAA/PMEL/TMAP
+*  is not obligated to provide the user with any support, consulting,
+*  training or assistance of any kind with regard to the use, operation
+*  and performance of this software nor to provide the user with any
+*  updates, revisions, new versions or "bug fixes".
+*
+*  THIS SOFTWARE IS PROVIDED BY NOAA/PMEL/TMAP "AS IS" AND ANY EXPRESS
+*  OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+*  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+*  ARE DISCLAIMED. IN NO EVENT SHALL NOAA/PMEL/TMAP BE LIABLE FOR ANY SPECIAL,
+*  INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
+*  RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF
+*  CONTRACT, NEGLIGENCE OR OTHER TORTUOUS ACTION, ARISING OUT OF OR IN
+*  CONNECTION WITH THE ACCESS, USE OR PERFORMANCE OF THIS SOFTWARE. 
+*
+*
+*
+* integrate the component along axis idim producing an "indefinite" integral
+* placing the result on a grid which is 1 cell longer than the source grid,
+* as described in ticket #2346.
+
+* The indefinite integral transform returns a result that is shifted a half-cell 
+* down from where it should be. Because the full cell is being integrated, the 
+* result really ought to sit at the upper edge of the cell, not the cell center.
+
+* 	programmer - Ansley Manke
+* 	NOAA/PMEL,Seattle,WA - 
+* 	revision 1.0 - 4/2017
+
+        IMPLICIT NONE
+        include 'tmap_dims.parm'
+	include 'ferret.parm'
+	include 'errmsg.parm'
+	include 'xvariables.cmn'
+	include	'xmem_subsc.cmn'
+	include 'xcontext.cmn'
+	include 'xunits.cmn_text'
+	external xunits_data
+	include 'xtm_grid.cmn_text'
+	external xgt_grid_data
+
+* CALLING ARGUMENT DECLARATIONS:
+	INTEGER cx_lims, idim, dst_lo, dst_hi, msrc, mdst, itot, status
+	REAL    src( m1lox:m1hix,m1loy:m1hiy,m1loz:m1hiz,
+     .               m1lot:m1hit,m1loe:m1hie,m1lof:m1hif ),
+     .          dst( m2lox:m2hix,m2loy:m2hiy,m2loz:m2hiz,
+     .               m2lot:m2hit,m2loe:m2hie,m2lof:m2hif ),
+     .		box(mr_lo_ss(msrc,idim):mr_hi_ss(msrc,idim))
+
+* internal variable declarations:
+	LOGICAL	GEOG_COS_FACTOR, ITSA_TRUEMONTH_AXIS, TM_DFPEQ,
+     .          need_cos, blank
+	INTEGER i, j, k, l, m, n, sgrid, dgrid, axis, src_lo, src_hi,
+     .          ii, jj, kk, ll, mm, nn, is, js, ks, ls, ms, ns
+	REAL	BOX_SIZE, unit, bad_src, bad_dst, cos_factor,
+     .          ybxlo, ybxhi, bx
+	REAL*8	TM_WORLD, dsum
+	
+
+* source and destination grids
+	sgrid = mr_grid( msrc )
+	dgrid = mr_grid( mdst )
+	axis = grid_line( idim, sgrid )
+
+* LIMITS FOR CALCULATION
+        src_lo = mr_lo_ss(msrc,idim)
+        src_hi = mr_hi_ss(msrc,idim)
+
+* FLAG FOR BAD/MISSING DATA
+        bad_src = mr_bad_data(msrc)
+        bad_dst = mr_bad_data(mdst)
+
+* Get and save grid box sizes (weights) just once for efficiency
+* Check that grid boxes are the same size on source and destination axes
+
+        is = src_lo
+        DO 100 i = dst_lo, dst_hi
+           IF (is.LT.src_lo .OR. is.GT.src_hi) GOTO 100
+           bx =  BOX_SIZE( i, dgrid, idim )
+           box(is)  = BOX_SIZE( i, sgrid, idim )
+           IF (.NOT.TM_DFPEQ( bx, box(is) ) ) GOTO 5100
+           is = is + 1
+ 100	CONTINUE
+
+* No overlap between grids; return all-missing result
+	blank = src_lo.GT.dst_hi .OR. src_hi.LT.dst_lo
+
+* perform integrations on standard units if possible
+	unit = un_convert( line_unit_code(axis) )
+	IF (ITSA_TRUEMONTH_AXIS(axis)) unit = un_convert(pun_day)
+	DO 110 i = src_lo, src_hi
+ 110	box(i) = box(i) * unit
+
+* INTEGRATE
+* ALONG X AXIS
+* (note: X integration is a special case because it requires COSINE(lat) )
+	IF ( idim .EQ. x_dim ) THEN
+	   need_cos = GEOG_COS_FACTOR( idim, sgrid )
+     .                .AND. cx_lo_s2(cx_lims).NE.unspecified_int4
+	   DO 210 j = cx_lo_s2(cx_lims), cx_hi_s2(cx_lims)
+	   cos_factor = 1.D0
+	   IF ( need_cos ) THEN
+#ifdef double_p
+	      cos_factor = COS( deg2rad *       
+     .            TM_WORLD(j, sgrid, y_dim, box_middle) ) 
+              ybxlo = deg2rad* 
+     .            TM_WORLD(j,sgrid,y_dim,box_lo_lim)
+              ybxhi = deg2rad* 
+     .            TM_WORLD(j,sgrid,y_dim,box_hi_lim)
+#else
+	      cos_factor = COS( deg2rad *       
+     .            SNGL( TM_WORLD(j, sgrid, y_dim, box_middle) ) ) 
+              ybxlo = deg2rad* 
+     .            SNGL( TM_WORLD(j,sgrid,y_dim,box_lo_lim) )
+              ybxhi = deg2rad* 
+     .            SNGL( TM_WORLD(j,sgrid,y_dim,box_hi_lim) )
+#endif
+              bx = ABS(ybxhi - ybxlo)
+	      cos_factor = ABS( SIN(ybxhi) - SIN(ybxlo) )/ bx
+	   ENDIF
+	   DO 210 n = cx_lo_s6(cx_lims), cx_hi_s6(cx_lims)
+	   DO 210 m = cx_lo_s5(cx_lims), cx_hi_s5(cx_lims)
+	   DO 210 l = cx_lo_s4(cx_lims), cx_hi_s4(cx_lims)
+	   DO 210 k = cx_lo_s3(cx_lims), cx_hi_s3(cx_lims)
+	      dsum = 0.0D0
+	      is = src_lo
+	      DO 205 i = dst_lo, dst_hi
+
+	         dst(i,j,k,l,m,n) = bad_dst
+		 IF (blank) GOTO 205
+	         IF (is.GT.src_hi .AND. is.EQ.dst_hi) GOTO 205
+
+	         dst(i,j,k,l,m,n) = dsum * cos_factor
+
+		 IF ( src(is,j,k,l,m,n) .EQ. bad_src ) THEN
+* ... reject all data after a bad point
+	            DO 200 ii = i, dst_hi
+ 200	              dst(ii,j,k,l,m,n) = bad_dst
+	            GOTO 210
+	         ENDIF
+	         dsum = dsum + box(is)*src(is,j,k,l,m,n)
+		 is = is + 1
+ 205	      CONTINUE
+	      IF (is .EQ. dst_hi) dst(is,j,k,l,m,n) = dsum * cos_factor
+ 210	   CONTINUE
+
+* ALONG Y AXIS
+	ELSEIF ( idim .EQ. y_dim ) THEN
+	   DO 310 n = cx_lo_s6(cx_lims), cx_hi_s6(cx_lims)
+	   DO 310 m = cx_lo_s5(cx_lims), cx_hi_s5(cx_lims)
+	   DO 310 l = cx_lo_s4(cx_lims), cx_hi_s4(cx_lims)
+	   DO 310 k = cx_lo_s3(cx_lims), cx_hi_s3(cx_lims)
+	   DO 310 i = cx_lo_s1(cx_lims), cx_hi_s1(cx_lims)
+	      dsum = 0.0D0
+	      js = src_lo
+	      DO 305 j = dst_lo, dst_hi
+
+	         dst(i,j,k,l,m,n) = bad_dst
+		 IF (blank) GOTO 305
+	         IF (js.GT.src_hi .AND. js.EQ.dst_hi) GOTO 305
+
+	         dst(i,j,k,l,m,n) = dsum
+	         
+		 IF ( src(i,js,k,l,m,n) .EQ. bad_src ) THEN
+* ... reject all data after a bad point
+	            DO 300 jj = j, dst_hi
+ 300	            dst(i,jj,k,l,m,n) = bad_dst
+	            GOTO 310
+	         ENDIF
+	         dsum = dsum + box(js)*src(i,js,k,l,m,n)
+		 js = js + 1
+ 305	      CONTINUE
+	      IF (js .EQ. dst_hi) dst(i,js,k,l,m,n) = dsum
+ 310	   CONTINUE
+
+
+* ALONG Z AXIS
+	ELSEIF ( idim .EQ. z_dim ) THEN
+	   DO 410 n = cx_lo_s6(cx_lims), cx_hi_s6(cx_lims)
+	   DO 410 m = cx_lo_s5(cx_lims), cx_hi_s5(cx_lims)
+	   DO 410 l = cx_lo_s4(cx_lims), cx_hi_s4(cx_lims)
+	   DO 410 j = cx_lo_s2(cx_lims), cx_hi_s2(cx_lims)
+	   DO 410 i = cx_lo_s1(cx_lims), cx_hi_s1(cx_lims)
+	      dsum = 0.0D0
+	      ks = src_lo
+	      DO 405 k = dst_lo, dst_hi
+
+	         dst(i,j,k,l,m,n) = bad_dst
+		 IF (blank) GOTO 405
+	         IF (ks.GT.src_hi .AND. ks.EQ.dst_hi) GOTO 405
+
+	         dst(i,j,k,l,m,n) = dsum
+
+	         IF ( src(i,j,ks,l,m,n) .EQ. bad_src ) THEN
+* ... reject all data after a bad point
+	            DO 400 kk = k, dst_hi
+ 400	            dst(i,j,kk,l,m,n) = bad_dst
+	            GOTO 410
+	         ENDIF
+	         dsum = dsum + box(ks)*src(i,j,ks,l,m,n)
+		 ks = ks + 1
+ 405	      CONTINUE
+	      IF (ks .EQ. dst_hi) dst(i,j,ks,l,m,n) = dsum
+ 410	   CONTINUE
+
+* ALONG T AXIS
+	ELSEIF ( idim .EQ. t_dim ) THEN
+	   DO 510 n = cx_lo_s6(cx_lims), cx_hi_s6(cx_lims)
+	   DO 510 m = cx_lo_s5(cx_lims), cx_hi_s5(cx_lims)
+	   DO 510 k = cx_lo_s3(cx_lims), cx_hi_s3(cx_lims)
+	   DO 510 j = cx_lo_s2(cx_lims), cx_hi_s2(cx_lims)
+	   DO 510 i = cx_lo_s1(cx_lims), cx_hi_s1(cx_lims)
+	      dsum = 0.0D0
+	      ls = src_lo
+	      DO 505 l = dst_lo, dst_hi
+	      
+	         dst(i,j,k,l,m,n) = bad_dst
+		 IF (blank) GOTO 505
+	         IF (ls.GT.src_hi .AND. ls.EQ.dst_hi) GOTO 505
+
+	         dst(i,j,k,l,m,n) = dsum
+
+		 IF (ls .GT. src_hi) GOTO 510
+	         IF ( src(i,j,k,ls,m,n) .EQ. bad_src ) THEN
+* ... reject all data after a bad point
+	            DO 500 ll = l, dst_hi
+ 500	            dst(i,j,k,ll,m,n) = bad_dst
+	            GOTO 510
+	         ENDIF
+	         dsum = dsum + box(ls)*src(i,j,k,ls,m,n)
+		 ls = ls + 1
+ 505	      CONTINUE
+	      IF (ls .EQ. dst_hi) dst(i,j,k,ls,m,n) = dsum
+ 510	   CONTINUE
+
+* ALONG E AXIS
+	ELSEIF ( idim .EQ. e_dim ) THEN
+	   DO 610 n = cx_lo_s6(cx_lims), cx_hi_s6(cx_lims)
+	   DO 610 l = cx_lo_s4(cx_lims), cx_hi_s4(cx_lims)
+	   DO 610 k = cx_lo_s3(cx_lims), cx_hi_s3(cx_lims)
+	   DO 610 j = cx_lo_s2(cx_lims), cx_hi_s2(cx_lims)
+	   DO 610 i = cx_lo_s1(cx_lims), cx_hi_s1(cx_lims)
+	      dsum = 0.0D0
+	      ms = src_lo
+	      DO 605 m = dst_lo, dst_hi
+	      
+	         dst(i,j,k,l,m,n) = bad_dst
+		 IF (blank) GOTO 605
+	         IF (ms.GT.src_hi .AND. ms.EQ.dst_hi) GOTO 605
+
+	         dst(i,j,k,l,m,n) = dsum
+
+	         IF ( src(i,j,k,l,ms,n) .EQ. bad_src ) THEN
+* ... reject all data after a bad point
+	            DO 600 mm = m, dst_hi
+ 600	            dst(i,j,k,l,mm,n) = bad_dst
+	            GOTO 610
+	         ENDIF
+	         dsum = dsum + box(ms)*src(i,j,k,l,ms,n)
+		 ms = ms + 1
+ 605	      CONTINUE
+	      IF (ms .EQ. dst_hi) dst(i,j,k,l,ms,n) = dsum
+ 610	   CONTINUE
+
+* ALONG F AXIS
+	ELSEIF ( idim .EQ. f_dim ) THEN
+	   DO 710 m = cx_lo_s5(cx_lims), cx_hi_s5(cx_lims)
+	   DO 710 l = cx_lo_s4(cx_lims), cx_hi_s4(cx_lims)
+	   DO 710 k = cx_lo_s3(cx_lims), cx_hi_s3(cx_lims)
+	   DO 710 j = cx_lo_s2(cx_lims), cx_hi_s2(cx_lims)
+	   DO 710 i = cx_lo_s1(cx_lims), cx_hi_s1(cx_lims)
+	      dsum = 0.0D0
+	      ns = src_lo
+	      DO 705 n = dst_lo, dst_hi
+	      
+	         dst(i,j,k,l,m,n) = bad_dst
+		 IF (blank) GOTO 705
+	         IF (ns.GT.src_hi .AND. ns.EQ.dst_hi) GOTO 705
+
+	         dst(i,j,k,l,m,n) = dsum
+
+	         IF ( src(i,j,k,l,m,ns) .EQ. bad_src ) THEN
+* ... reject all data after a bad point
+	            DO 700 nn = n, dst_hi
+ 700	            dst(i,j,k,l,m,nn) = bad_dst
+	            GOTO 710
+	         ENDIF
+	         dsum = dsum + box(ns)*src(i,j,k,l,m,ns)
+		 ns = ns + 1
+ 705	      CONTINUE
+	      IF (ns .EQ. dst_hi) dst(i,j,k,l,m,ns) = dsum
+ 710	   CONTINUE
+
+	ENDIF
+
+ 5000	RETURN
+
+ 5100	CALL ERRMSG(ferr_regrid, status,
+     .    '@IIN regridding must be to axis with same grid-cell sizes', *5000 )
+
+
+ 5200	CALL ERRMSG(ferr_regrid, status,
+     .    '@IIN regridding on non-overlapping grids', *5000 )
+
+	END
diff --git a/fer/stk/is_constant.F b/fer/doo/trans_finalize.F
similarity index 54%
copy from fer/stk/is_constant.F
copy to fer/doo/trans_finalize.F
index 7abd025..e365975 100644
--- a/fer/stk/is_constant.F
+++ b/fer/doo/trans_finalize.F
@@ -1,7 +1,6 @@
-	SUBROUTINE IS_CONSTANT( memory, *, status )
+	SUBROUTINE TRANS_FINALIZE( idim, arg,
+     .				   res, res_mr, res_cx )
 
-*
-*
 *  This software was developed by the Thermal Modeling and Analysis
 *  Project(TMAP) of the National Oceanographic and Atmospheric
 *  Administration's (NOAA) Pacific Marine Environmental Lab(PMEL),
@@ -35,59 +34,79 @@
 *  CONNECTION WITH THE ACCESS, USE OR PERFORMANCE OF THIS SOFTWARE. 
 *
 *
-* create a constant value "variable" in memory
+* finalize a transform that contains accumulated values
+* e.g. average =  WIGHTED_SUM(values) divided by SUM(weights)
 
 * programmer - steve hankin
 * NOAA/PMEL, Seattle, WA - Tropical Modeling and Analysis Program
-* written for VAX computer under VMS operating system
 *
-* revision 0.0 - 7/28/87
-* revision 0.1 - 6/23/88 - set bad data flag to -2.1E34 so -1.E34 is valid
-* V200:  6/26/89 - just a single value
-*	11/30/89 - added diagnostic output
-* V312: 5/94 - array "memory" as a calling argument
-* V554  1/04 - *acm* remove VAX common statements.
-*       *acm* 3/12 6D Ferret (common uses nferdims in tmap_dims.parm)
- 
+* V702 11/16 *sh* for enhancement ticket 2428: split/gather on compressed axes
+
+
+* calling argument declarations:
+	INTEGER	idim, res_mr, res_cx
+	REAL	arg, res(*)
+
 	include 'tmap_dims.parm'
 	include	'ferret.parm'
 	include	'errmsg.parm'
-	include	'interp_stack.parm'
-	include	'xvariables.cmn'
+	include 'interp_stack.parm'
 	include	'xcontext.cmn'
 	include	'xprog_state.cmn'
 
-* calling argument declarations:
-	INTEGER	status
-	REAL	memory( mem_blk_size, max_mem_blks )
-
 * internal variable declarations:
-	INTEGER	mr, cx
+	INTEGER	trans
+	INTEGER CGRID_SIZE, size
 
-* equivalences
-	REAL	cx_value( max_cx )
-	EQUIVALENCE ( cx_variable, cx_value )
 
-* --- end of introductory code ---
-* initialize
-	cx = is_cx( isp )
+* initiailize
+	trans = cx_trans( idim, res_cx )
+	size = CGRID_SIZE(res_cx)
+
+	IF ( trans .EQ. trans_average
+     .  .OR. trans .EQ. trans_4d_ave   
+     .  .OR. trans .EQ. trans_integ_def
+     .  .OR. trans .EQ. trans_4d_int_def  ) THEN
+* ... diagnostic mode output: " final --> VAR_NAME[x=lo:hi at TRN:n,D=#]"
+	   IF ( mode_diagnostic ) CALL DIAG_OP
+     .			( 'final', isact_class_trans, res_cx, idim )
+	   CALL FINALIZE_AVE_INT(trans, size,
+     .			         res_mr, res, res(size+1) )
+
+	ELSEIF ( trans .EQ. trans_sum
+     .      .OR. trans .EQ. trans_4d_sum
+     .      .OR. trans .EQ. trans_max
+     .      .OR. trans .EQ. trans_min   ) THEN
+
+	   CALL FINALIZE_SUMS_COUNTS(trans, size,
+     .			         res_mr, res, res(size+1) )
+
+	ELSEIF ( trans .EQ. trans_variance
+     .      .OR. trans .EQ. trans_4d_var
+     .	    .OR. trans .EQ. trans_std_dev
+     .      .OR. trans .EQ. trans_4d_std ) THEN
+
+	   IF ( mode_diagnostic ) CALL DIAG_OP
+     .			( 'final', isact_class_trans, res_cx, idim )
+	   CALL FINALIZE_VARIANCE(trans, size,
+     .			          res_mr, res, res(size+1), res(2*size+1) )
+
+
+	ELSE
+ 
+* trans_good_pt, trans_4d_good_pt, trans_bad_pt, trans_4d_bad_pt are simple 
+* counts, and do not need a finalization step.
 
-* reserve and catalog space for the result
-	CALL CREATE_TEMP_MEM_VAR( cx, mr, status )
-	IF ( status .NE. ferr_ok ) GOTO 5000
-	is_mr( isp ) = mr
+* all other transformations do not require initialization
+*      trans_locate - potentially could, but would need added machinery during
+*                     split gather since it is locating a result that lies
+*                     *between* two points
 
-* diagnostic output
-	IF (mode_diagnostic) CALL DIAGNOSTIC_OUT('constan',mr,point_to_mr)
 
-* insert the constant
-	memory( 1, mr_blk1(mr) ) = cx_value(cx)
+	   CONTINUE   ! TBD
 
-* set the bad data flag to an unusual number
-	mr_bad_data( mr ) = -2.1E34
+	ENDIF
 
-	RETURN 1
+	RETURN
 
-* error exit
- 5000	RETURN
-	END	
+	END
diff --git a/fer/doo/xylin_regrid.F b/fer/doo/xylin_regrid.F
index 6d42dfa..bd237e4 100644
--- a/fer/doo/xylin_regrid.F
+++ b/fer/doo/xylin_regrid.F
@@ -1,6 +1,7 @@
 	SUBROUTINE XYLIN_REGRID( cx_lims,
      .				 dst_lox, dst_hix, dst_loy, dst_hiy,
      .				 src, msrc, dst, mdst, src_cx, dst_cx, 
+     .			         isrc_lo, isrc_hi,
      .			         iss12, coefi, jss12, coefj, work)
 
 *
@@ -66,6 +67,10 @@
 * V68  *acm* 1/12   use TM_FPEQ for double-precision ferret.
 *        2/12 *kms* Add E and F dimensions (use nferdims in tmap_dims.parm);
 *                   removed unused bilinear interpolation code.
+* V702 *sh* 3/2017 Dynamic memory revealed a bug in array "work" dimensioning
+*		   It was dimensioned using the mr size instead of the cx
+*		   which is wrong when a larger object is re-used from cache
+*                  To address it we turned isrc_lo, isrc_hi into call arguments
 
         IMPLICIT NONE
         include 'tmap_dims.parm'
@@ -76,7 +81,8 @@
 
 * calling argument declarations:
 	INTEGER	cx_lims, msrc, mdst, dst_lox, dst_hix,
-     .          dst_loy, dst_hiy, src_cx, dst_cx 
+     .          dst_loy, dst_hiy, src_cx, dst_cx,
+     .	        isrc_lo, isrc_hi 
 	INTEGER	iss12(dst_lox:dst_hix+1), jss12(dst_loy:dst_hiy+1)
 
 	REAL    src( m1lox:m1hix,m1loy:m1hiy,m1loz:m1hiz,
@@ -84,17 +90,17 @@
      .          dst( m2lox:m2hix,m2loy:m2hiy,m2loz:m2hiz,
      .               m2lot:m2hit,m2loe:m2hie,m2lof:m2hif ),
      .		coefi( dst_lox:dst_hix ), coefj(dst_loy:dst_hiy)
+        REAL    work(isrc_lo:isrc_hi,dst_loy:dst_hiy)  ! srcx by dsty
 
 * local variable declarations:
 
         LOGICAL	TM_FPEQ
 	INTEGER	dim1, dim2, src_grid, dst_grid,
      .          i, j, k, l, m, n, iss, jss,
-     .          isrc_lo, isrc_hi, jsrc_lo, jsrc_hi,
+     .                            jsrc_lo, jsrc_hi,
      .          idst_lo ,idst_hi, jdst_lo, jdst_hi
 	REAL	bad_src, bad_dst, c1i, c1j, c2i, c2j, 
      .          z1, z2
-        REAL work(m1lox:m1hix,dst_loy:dst_hiy)  ! srcx by dsty
 ********************************************************************************
 
 * initialize
@@ -106,8 +112,8 @@
 	dim2     = y_dim
 
 * limits for calculation
-        isrc_lo = cx_lo_ss(src_cx,dim1)
-        isrc_hi = cx_hi_ss(src_cx,dim1)
+!        isrc_lo = cx_lo_ss(src_cx,dim1)	! 3/17 passed as arg
+!        isrc_hi = cx_hi_ss(src_cx,dim1)	! 3/17 passed as arg
         jsrc_lo = cx_lo_ss(src_cx,dim2)
         jsrc_hi = cx_hi_ss(src_cx,dim2)
 
diff --git a/fer/ef_utility/ef_get_one_val.c b/fer/ef_utility/ef_get_one_val.c
index f8275c0..c5f2d5c 100644
--- a/fer/ef_utility/ef_get_one_val.c
+++ b/fer/ef_utility/ef_get_one_val.c
@@ -1,7 +1,12 @@
 #include "EF_Util.h"
 
+/*
+ *sh 1/17 -- with dynamic memory management in Ferret this routine now
+    does nothing.  It could be removed, and the FORTRAN routine 
+    ef_get_one_val_sub could be renamed as ef_get_one_val
+*/
 void FORTRAN(ef_get_one_val)(int *id_ptr, int *arg_ptr, DFTYPE *val_ptr)
 {
-  FORTRAN(ef_get_one_val_sub)(id_ptr, GLOBAL_memory_ptr, arg_ptr, val_ptr);
+  FORTRAN(ef_get_one_val_sub)(id_ptr, arg_ptr, val_ptr);
 }
 
diff --git a/fer/ef_utility/ef_get_one_val_sub.F b/fer/ef_utility/ef_get_one_val_sub.F
index d8cb142..c20d177 100644
--- a/fer/ef_utility/ef_get_one_val_sub.F
+++ b/fer/ef_utility/ef_get_one_val_sub.F
@@ -50,7 +50,7 @@ c* called since the stacks would get re-initialized and the {,,,} would need
 c* to be parsed
 
 
-      SUBROUTINE EF_GET_ONE_VAL_SUB(id, memory, iarg, value)
+      SUBROUTINE EF_GET_ONE_VAL_SUB(id,  iarg, value)
 
       IMPLICIT NONE
       INCLUDE 'tmap_dims.parm'
@@ -64,7 +64,6 @@ c* to be parsed
 * calling argument declarations
       REAL    value
       INTEGER id, iarg
-      REAL    memory(mem_blk_size, max_mem_blks)
 
 * internal variable declarations
       INTEGER mr, cx, uv, status
@@ -77,7 +76,7 @@ c* to be accessible to the external function.
 
       IF (mr_list(1) .GT. 0 ) THEN
         mr = mr_list(iarg)
-        CALL EF_GET_ONE_VAL_SUB_SUB(memory(1, mr_blk1(mr)), 
+        CALL EF_GET_ONE_VAL_SUB_SUB(memry(mr)%ptr, 
      .                              lo_ss(iarg,1), hi_ss(iarg, 1),
      .                              lo_ss(iarg,2), hi_ss(iarg, 2),
      .                              lo_ss(iarg,3), hi_ss(iarg, 3),
diff --git a/fer/efi/SOURCE_FILES b/fer/efi/SOURCE_FILES
index 8bbc81c..9062f70 100644
--- a/fer/efi/SOURCE_FILES
+++ b/fer/efi/SOURCE_FILES
@@ -1,10 +1,6 @@
 SRCS_F = \
 ave_scat2grid_t.F\
 bin_index_wt.F\
-bcompressi.F\
-bxcat.F\
-bxsequence.F\
-bxsequence_str.F\
 compressi.F\
 compressj.F\
 compressk.F\
@@ -48,12 +44,13 @@ ereverse.F\
 expnd_by_len.F\
 expnd_by_len_str.F\
 expndi_by.F\
+expndi_by_m_counts.F\
+expndi_by_m_counts_str.F\
 expndi_by_t.F\
 expndi_by_z.F\
 expndi_by_z_counts.F\
 expndi_id_by_z_counts.F\
 expndi_to_et.F\
-expndi_by_m_counts.F\
 fc_isubset.F\
 fcat.F\
 fcat_str.F\
@@ -73,7 +70,14 @@ freverse.F\
 ft_to_orthogonal.F\
 gausswt.F\
 gausswt_v0.F\
+gridding_subs.F\
 heap2_str.F\
+dot_x.F\
+dot_y.F\
+dot_z.F\
+dot_t.F\
+dot_e.F\
+dot_f.F\
 is_element_of.F\
 is_element_of_str.F\
 is_element_of_str_n.F\
@@ -83,7 +87,7 @@ list_value_xml.F\
 lon_lat_time_string.F\
 lsl_lowpass.F\
 maxminmax.F\
-minmax.F\
+minmax_fcn.F\
 minminmax.F\
 minutes24.F\
 modscat.F\
@@ -104,12 +108,15 @@ samplei_multi.F\
 samplej_multi.F\
 samplek_multi.F\
 samplel_multi.F\
+samplem_multi.F\
+samplen_multi.F\
 samplet_date.F\
 samplexy.F\
 samplexy_closest.F\
 samplexy_curv.F\
 samplexy_curv_avg.F\
 samplexy_curv_nrst.F\
+samplexy_nrst.F\
 samplexyt.F\
 samplexyt_nrst.F\
 samplexz.F\
@@ -119,8 +126,10 @@ scat2grid_bin_xy.F\
 scat2grid_bin_xyt.F\
 scat2grid_bin_xyz.F\
 scat2grid_bin_xyzt.F\
+scat2grid_minmax_xyt.F\
 scat2grid_nbin_xy.F\
 scat2grid_nbin_xyt.F\
+scat2grid_std_xyt.F\
 scat2gridgauss_xt.F\
 scat2gridgauss_xy.F\
 scat2gridgauss_xz.F\
@@ -179,11 +188,23 @@ tcat.F\
 tcat_str.F\
 test_opendap.F\
 time_reformat.F\
+tracks2grid_mask_ave_xyt.F\
+tracks2grid_std_xyt.F\
+transpose_ef.F\
+transpose_xe.F\
+transpose_xf.F\
 transpose_xt.F\
 transpose_xy.F\
 transpose_xz.F\
+transpose_te.F\
+transpose_tf.F\
+transpose_ye.F\
+transpose_yf.F\
 transpose_yt.F\
 transpose_yz.F\
+transpose_ze.F\
+transpose_zf.F\
+transpose_zt.F\
 transpose_zt.F\
 treverse.F\
 unique_str2int.F\
diff --git a/fer/efi/bcompressi.F b/fer/efi/bcompressi.F
deleted file mode 100644
index 38d0471..0000000
--- a/fer/efi/bcompressi.F
+++ /dev/null
@@ -1,283 +0,0 @@
-*
-* bcompressi.F
-*
-*  This software was developed by the Thermal Modeling and Analysis
-*  Project(TMAP) of the National Oceanographic and Atmospheric
-*  Administration's (NOAA) Pacific Marine Environmental Lab(PMEL),
-*  hereafter referred to as NOAA/PMEL/TMAP.
-*
-*  Access and use of this software shall impose the following
-*  obligations and understandings on the user. The user is granted the
-*  right, without any fee or cost, to use, copy, modify, alter, enhance
-*  and distribute this software, and any derivative works thereof, and
-*  its supporting documentation for any purpose whatsoever, provided
-*  that this entire notice appears in all copies of the software,
-*  derivative works and supporting documentation.  Further, the user
-*  agrees to credit NOAA/PMEL/TMAP in any publications that result from
-*  the use of this software or in any product that includes this
-*  software. The names TMAP, NOAA and/or PMEL, however, may not be used
-*  in any advertising or publicity to endorse or promote any products
-*  or commercial entity unless specific written permission is obtained
-*  from NOAA/PMEL/TMAP. The user also understands that NOAA/PMEL/TMAP
-*  is not obligated to provide the user with any support, consulting,
-*  training or assistance of any kind with regard to the use, operation
-*  and performance of this software nor to provide the user with any
-*  updates, revisions, new versions or "bug fixes".
-*
-*  THIS SOFTWARE IS PROVIDED BY NOAA/PMEL/TMAP "AS IS" AND ANY EXPRESS
-*  OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-*  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-*  ARE DISCLAIMED. IN NO EVENT SHALL NOAA/PMEL/TMAP BE LIABLE FOR ANY SPECIAL,
-*  INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
-*  RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF
-*  CONTRACT, NEGLIGENCE OR OTHER TORTUOUS ACTION, ARISING OUT OF OR IN
-*  CONNECTION WITH THE ACCESS, USE OR PERFORMANCE OF THIS SOFTWARE. 
-* 
-* Ansley Manke
-* Dec 2015
-*
-* This function compresses data on X axis, ending with missing data. 
-* The result is on the same X axis as the input.
-*
-*
-* In this subroutine we provide information about
-* the function.  The user configurable information 
-* consists of the following:
-*
-* descr              Text description of the function
-*
-* num_args           Required number of arguments
-*
-* axis_inheritance   Type of axis for the result
-*                       ( CUSTOM, IMPLIED_BY_ARGS, NORMAL, ABSTRACT )
-*                       CUSTOM          - user defined axis
-*                       IMPLIED_BY_ARGS - same axis as the incoming argument
-*                       NORMAL          - the result is normal to this axis
-*                       ABSTRACT        - an axis which only has index values
-*
-* piecemeal_ok       For memory optimization:
-*                       axes where calculation may be performed piecemeal
-*                       ( YES, NO )
-* 
-*
-* For each argument we provide the following information:
-*
-* name               Text name for an argument
-*
-* unit               Text units for an argument
-*
-* desc               Text description of an argument
-*
-* axis_influence     Are this argument's axes the same as the result grid?
-*                       ( YES, NO )
-*
-* axis_extend       How much does Ferret need to extend arg limits relative to result 
-*
-
-
-      SUBROUTINE bcompressi_init(id)
-
-      IMPLICIT NONE
-      INCLUDE 'EF_Util.cmn'
-
-      INTEGER id, arg
-
-***********************************************************************
-*                                           USER CONFIGURABLE PORTION |
-*                                                                     |
-*                                                                     V
-
-      CHARACTER*100 fcn_desc
-
-      WRITE (fcn_desc, 10)
-   10 FORMAT ('Returns data, compressed along the original X axis: Missing ',
-     .        'points moved to the end.')
-      CALL ef_set_desc(id, fcn_desc)
-
-      CALL ef_set_num_args(id, 1)
-      CALL ef_set_has_vari_args(id, NO)
-      CALL ef_set_axis_inheritance_6d(id,
-     .                                IMPLIED_BY_ARGS, IMPLIED_BY_ARGS,
-     .                                IMPLIED_BY_ARGS, IMPLIED_BY_ARGS,
-     .                                IMPLIED_BY_ARGS, IMPLIED_BY_ARGS)
-
-      CALL ef_set_piecemeal_ok_6d(id, NO, NO, NO, NO, NO, NO)
-
-      arg = 1
-      CALL ef_set_arg_name(id, arg, 'DAT')
-      CALL ef_set_arg_desc(id, arg, 'variable to compress in I')
-      CALL ef_set_axis_influence_6d(id, arg,
-     .                              NO, YES, YES, YES, YES, YES)
-
-*                                                                     ^
-*                                                                     |
-*                                           USER CONFIGURABLE PORTION |
-***********************************************************************
-
-      RETURN 
-      END
-
-
-*
-* In this subroutine we provide information about the lo and hi
-* limits associated with each abstract or custom axis.   The user 
-* configurable information consists of the following:
-*
-* lo_ss               lo subscript for an axis
-*
-* hi_ss               hi subscript for an axis
-*
-
-      SUBROUTINE bcompressi_result_limits(id)
-
-      IMPLICIT NONE
-      INCLUDE 'EF_Util.cmn'
-
-      INTEGER id
-
-* **********************************************************************
-*                                           USER CONFIGURABLE PORTION |
-*                                                                     |
-*                                                                     V
-
-      INTEGER my_lo_l, my_hi_l
-
-      INTEGER arg
-      INTEGER arg_lo_ss(6,EF_MAX_ARGS),
-     .        arg_hi_ss(6,EF_MAX_ARGS),
-     .        arg_incr (6,EF_MAX_ARGS)
-
-*
-*     Use utility functions to get context information about the arguments.
-*
-
-      CALL ef_get_arg_subscripts_6d(id, arg_lo_ss, arg_hi_ss, arg_incr)
-
-      my_lo_l = 1
-      my_hi_l = 1
-
-      arg = 1
-
-      my_hi_l = arg_hi_ss(X_AXIS,arg) - arg_lo_ss(X_AXIS,arg) + 1
-
-
-      CALL ef_set_axis_limits(id, X_AXIS, my_lo_l, my_hi_l)
-*                                                                     ^
-*                                                                     |
-*                                           USER CONFIGURABLE PORTION |
-* **********************************************************************
-
-      RETURN 
-      END
-
-*
-* In this subroutine we compute the result
-*
-      SUBROUTINE bcompressi_compute(id, arg_1, result)
-
-      IMPLICIT NONE
-      INCLUDE 'EF_Util.cmn'
-      INCLUDE 'EF_mem_subsc.cmn'
-
-      INTEGER id
-
-      REAL arg_1(mem1lox:mem1hix, mem1loy:mem1hiy, mem1loz:mem1hiz, 
-     .           mem1lot:mem1hit, mem1loe:mem1hie, mem1lof:mem1hif)
-
-      REAL result(memreslox:memreshix, memresloy:memreshiy, 
-     .            memresloz:memreshiz, memreslot:memreshit,
-     .            memresloe:memreshie, memreslof:memreshif)
-
-* After initialization, the 'res_' arrays contain indexing information 
-* for the result axes.  The 'arg_' arrays will contain the indexing 
-* information for each variable's axes. 
-
-      INTEGER res_lo_ss(6),
-     .        res_hi_ss(6),
-     .        res_incr (6)
-      INTEGER arg_lo_ss(6,EF_MAX_ARGS),
-     .        arg_hi_ss(6,EF_MAX_ARGS),
-     .        arg_incr (6,EF_MAX_ARGS)
-
-      REAL bad_flag(EF_MAX_ARGS), bad_flag_result
-
-
-***********************************************************************
-*                                           USER CONFIGURABLE PORTION |
-*                                                                     |
-*                                                                     V
-
-      INTEGER ndx, nsrt, nbad
-      INTEGER i, j, k, l, m, n
-      INTEGER i1, j1, k1, l1, m1, n1
-
-*  Get subscript ranges
-
-      CALL ef_get_res_subscripts_6d(id, res_lo_ss, res_hi_ss, res_incr)
-      CALL ef_get_arg_subscripts_6d(id, arg_lo_ss, arg_hi_ss, arg_incr)
-      CALL ef_get_bad_flags(id, bad_flag, bad_flag_result)
-
-
-      n1 = arg_lo_ss(F_AXIS, ARG1)
-      DO 600 n = res_lo_ss(F_AXIS), res_hi_ss(F_AXIS)
-
-         m1 = arg_lo_ss(E_AXIS, ARG1)
-         DO 500 m = res_lo_ss(E_AXIS), res_hi_ss(E_AXIS)
-
-            l1 = arg_lo_ss(T_AXIS, ARG1)
-            DO 400 l = res_lo_ss(T_AXIS), res_hi_ss(T_AXIS)
-
-               k1 = arg_lo_ss(Z_AXIS, ARG1)
-               DO 300 k = res_lo_ss(Z_AXIS), res_hi_ss(Z_AXIS)
-
-                  j1 = arg_lo_ss(Y_AXIS, ARG1)
-                  DO 200 j = res_lo_ss(Y_AXIS), res_hi_ss(Y_AXIS)
-
-                     nsrt = 0
-                     nbad = 0
-
-                     i1 = arg_lo_ss(X_AXIS,ARG1)
-                     DO 100 i = res_lo_ss(X_AXIS), res_hi_ss(X_AXIS)
-
-                        IF ( arg_1(i1,j1,k1,l1,m1,n1)
-     .                               .NE. bad_flag(1) ) THEN
-                           nsrt = nsrt + 1
-                           result(nsrt,j,k,l,m,n) =
-     .                               arg_1(i1,j1,k1,l1,m1,n1)
-                        ELSE
-                           nbad = nbad + 1
-                        ENDIF
-
-                        i1 = i1 + arg_incr(X_AXIS,ARG1)
- 100                 CONTINUE
-
-*
-* bcompress argument, putting bad data at the end.
-*
-                     DO 150 ndx = 1, nbad
-                        nsrt = nsrt + 1
-                        result(nsrt,j,k,l,m,n) = bad_flag_result
- 150                 CONTINUE
-
-                     j1 = j1 + arg_incr(Y_AXIS, ARG1)
- 200              CONTINUE
-
-                  k1 = k1 + arg_incr(Z_AXIS, ARG1)
- 300           CONTINUE
-
-               l1 = l1 + arg_incr(T_AXIS, ARG1)
- 400        CONTINUE
-
-            m1 = m1 + arg_incr(E_AXIS, ARG1)
- 500     CONTINUE
-
-         n1 = n1 + arg_incr(F_AXIS, ARG1)
- 600  CONTINUE
-
-*                                                                     ^
-*                                                                     |
-*                                           USER CONFIGURABLE PORTION |
-***********************************************************************
-
-      RETURN 
-      END
diff --git a/fer/efi/bin_index_wt.F b/fer/efi/bin_index_wt.F
index c4b7beb..1284268 100644
--- a/fer/efi/bin_index_wt.F
+++ b/fer/efi/bin_index_wt.F
@@ -74,12 +74,12 @@
 
       arg = 2
       CALL ef_set_arg_name(id, arg, 'WT')
-      CALL ef_set_arg_desc(id, arg, 'Weight for with each index')
+      CALL ef_set_arg_desc(id, arg, 'Weight for each index')
       CALL ef_set_axis_influence_6d(id, arg, NO, NO, NO, NO, NO, NO)
 
       arg = 3
       CALL ef_set_arg_name(id, arg, 'INDXMAX')
-      CALL ef_set_arg_desc(id, arg, 'Maximum index value')
+      CALL ef_set_arg_desc(id, arg, 'Length of result axis')
       CALL ef_set_axis_influence_6d(id, arg, NO, NO, NO, NO, NO, NO)
 *                                                                     ^
 *                                                                     |
diff --git a/fer/efi/bxcat.F b/fer/efi/bxcat.F
deleted file mode 100644
index c988abe..0000000
--- a/fer/efi/bxcat.F
+++ /dev/null
@@ -1,326 +0,0 @@
-*
-* bxcat.F
-*
-* Ansley Manke
-* Dec 2015
-* 
-*
-* This function returns the X values of the two variables,
-* concatenated into one long list on a custom simple x axis. Other 
-* axes are unchanged.
-*
-*
-* In this subroutine we provide information about
-* the function.  The user configurable information 
-* consists of the following:
-*
-* descr              Text description of the function
-*
-* num_args           Required number of arguments
-*
-* axis_inheritance   Type of axis for the result
-*                       ( CUSTOM, IMPLIED_BY_ARGS, NORMAL, ABSTRACT )
-*                       CUSTOM          - user defined axis
-*                       IMPLIED_BY_ARGS - same axis as the incoming argument
-*                       NORMAL          - the result is normal to this axis
-*                       ABSTRACT        - an axis which only has index values
-*
-* piecemeal_ok       For memory optimization:
-*                       axes where calculation may be performed piecemeal
-*                       ( YES, NO )
-* 
-*
-* For each argument we provide the following information:
-*
-* name               Text name for an argument
-*
-* unit               Text units for an argument
-*
-* desc               Text description of an argument
-*
-* axis_influence     Are this argument''s axes the same as the result grid?
-*                       ( YES, NO )
-*
-* axis_extend       How much does Ferret need to extend arg limits relative to result 
-*
-
-
-      SUBROUTINE bxcat_init(id)
-
-      IMPLICIT NONE
-      INCLUDE 'EF_Util.cmn'
-
-      INTEGER id, arg
-
-* **********************************************************************
-*                                            USER CONFIGURABLE PORTION |
-*                                                                      |
-*                                                                      V
-
-      CHARACTER*100 descrip
-
-      WRITE (descrip, 100)
-  100 FORMAT ('Concatenates the X values of two variables into one ',
-     .        'list on an indexed X axis')
-      CALL ef_set_desc(id, descrip)
-
-* Tell Ferret to run the following instead, if the arguments are strings.
-      CALL ef_set_alt_fcn_name(id, 'bxcat_STR')
-
-      CALL ef_set_num_args(id, 2)
-      CALL ef_set_axis_inheritance_6d(id,
-     .                                CUSTOM,          IMPLIED_BY_ARGS,
-     .                                IMPLIED_BY_ARGS, IMPLIED_BY_ARGS,
-     .                                IMPLIED_BY_ARGS, IMPLIED_BY_ARGS)
-      CALL ef_set_piecemeal_ok_6d(id, NO, NO, NO, NO, NO, NO)
-
-      arg = 1
-      CALL ef_set_arg_name(id, arg, 'A')
-      CALL ef_set_arg_unit(id, arg, ' ')
-      CALL ef_set_arg_desc(id, arg, 'First variable to concatenate')
-      CALL ef_set_axis_influence_6d(id, arg,
-     .                              NO, YES, YES, YES, YES, YES)
-
-      arg = 2
-      CALL ef_set_arg_name(id, arg, 'B')
-      CALL ef_set_arg_unit(id, arg, ' ')
-      CALL ef_set_arg_desc(id, arg, 'Second variable to concatenate')
-      CALL ef_set_axis_influence_6d(id, arg,
-     .                              NO, YES, YES, YES, YES, YES)
-
-*                                                                      ^
-*                                                                      |
-*                                            USER CONFIGURABLE PORTION |
-* **********************************************************************
-
-      RETURN
-      END
-
-      
- 
-      SUBROUTINE bxcat_custom_axes(id)
- 
-      IMPLICIT NONE
-      INCLUDE 'EF_Util.cmn'
- 
-      INTEGER id
-      REAL size
-
-       INTEGER arg_lo_ss(6,EF_MAX_ARGS),
-     .         arg_hi_ss(6,EF_MAX_ARGS),
-     .         arg_incr (6,EF_MAX_ARGS)
-     
-       CHARACTER*16 axname(6), axunits(6)
-       LOGICAL bkw1(6), mod1(6), reg1(6)
-*
-*     Use utility functions to get context information about the arguments.
-*
-       CALL ef_get_arg_subscripts_6d(id, arg_lo_ss, arg_hi_ss, arg_incr)
-       
-*  If the variable is just a raw constant, then it's an all ABSTRACT grid
-*  and the axis length is 99999999.
-
-       CALL ef_get_axis_info_6d(id, ARG2, axname, axunits,
-     .                         bkw1, mod1, reg1)
-       IF (arg_hi_ss(X_AXIS,ARG1) .GE. 99999999 ) THEN  ! see abst. axis size in get_memory.F
-          CALL ef_get_axis_info_6d(id, ARG1, axname, axunits,
-     .                         bkw1, mod1, reg1)
-          IF (axname(1)(1:8) .EQ. 'ABSTRACT') arg_hi_ss(X_AXIS,ARG1) = 1
-       ENDIF
- 
-       IF (arg_hi_ss(X_AXIS,ARG2) .GE. 99999999 ) THEN  ! see abst. axis size in get_memory.F
-          CALL ef_get_axis_info_6d(id, ARG2, axname, axunits,
-     .                         bkw1, mod1, reg1)
-          IF (axname(2)(1:8) .EQ. 'ABSTRACT') arg_hi_ss(X_AXIS,ARG2) = 1
-       ENDIF
-
-* output X axis size
-
-      size = (arg_hi_ss(X_AXIS,ARG1) - arg_lo_ss(X_AXIS,ARG1) + 1) +
-     .       (arg_hi_ss(X_AXIS,ARG2) - arg_lo_ss(X_AXIS,ARG2) + 1)
-
-* If non-blank units, the framework calls this a LONGITUDE axis... Fix this.
-      CALL ef_set_custom_axis(id, X_AXIS, 1.0, size, 1.0, 'i', NO)
- 
-*                                                                     ^
-*                                                                     |
-*                                           USER CONFIGURABLE PORTION |
-* **********************************************************************
-
-      RETURN 
-      END
- 
-
-
-
-      SUBROUTINE bxcat_result_limits(id)
-
-      IMPLICIT NONE
-      INCLUDE 'EF_Util.cmn'
-
-      INTEGER id
-
-* **********************************************************************
-*                                            USER CONFIGURABLE PORTION |
-*                                                                      |
-*                                                                      V
-
-      INTEGER arg_lo_ss(6,EF_MAX_ARGS),
-     .        arg_hi_ss(6,EF_MAX_ARGS),
-     .        arg_incr (6,EF_MAX_ARGS)
-      INTEGER nx
-
-      CALL ef_get_arg_subscripts_6d(id, arg_lo_ss, arg_hi_ss, arg_incr)
-
-      nx = (arg_hi_ss(X_AXIS,ARG1) - arg_lo_ss(X_AXIS,ARG1) + 1) +
-     .     (arg_hi_ss(X_AXIS,ARG2) - arg_lo_ss(X_AXIS,ARG2) + 1)
-
-      CALL ef_set_axis_limits(id, X_AXIS, 1, nx)
-
-*                                                                      ^
-*                                                                      |
-*                                            USER CONFIGURABLE PORTION |
-* **********************************************************************
-
-      RETURN
-      END
-
-
-*
-* In this subroutine we compute the result
-*
-      SUBROUTINE bxcat_compute(id, arg_1, arg_2, result)
-
-      IMPLICIT NONE
-      INCLUDE 'EF_Util.cmn'
-      INCLUDE 'EF_mem_subsc.cmn'
-
-      INTEGER id
-
-      REAL arg_1(mem1lox:mem1hix, mem1loy:mem1hiy, mem1loz:mem1hiz,
-     .           mem1lot:mem1hit, mem1loe:mem1hie, mem1lof:mem1hif)
-      REAL arg_2(mem2lox:mem2hix, mem2loy:mem2hiy, mem2loz:mem2hiz,
-     .           mem2lot:mem2hit, mem2loe:mem2hie, mem2lof:mem2hif)
-
-      REAL result(memreslox:memreshix, memresloy:memreshiy,
-     .            memresloz:memreshiz, memreslot:memreshit,
-     .            memresloe:memreshie, memreslof:memreshif)
-
-* After initialization, the 'res_' arrays contain indexing information
-* for the result axes.  The 'arg_' arrays will contain the indexing
-* information for each variable''s axes.
-
-      INTEGER res_lo_ss(6),
-     .        res_hi_ss(6),
-     .        res_incr (6)
-      INTEGER arg_lo_ss(6,EF_MAX_ARGS),
-     .        arg_hi_ss(6,EF_MAX_ARGS),
-     .        arg_incr (6,EF_MAX_ARGS)
-
-      REAL bad_flag(EF_MAX_ARGS), bad_flag_result
-
-* **********************************************************************
-*                                            USER CONFIGURABLE PORTION |
-*                                                                      |
-*                                                                      V
-
-      INTEGER i, j, k, l, m, n
-      INTEGER i1, j1, k1, l1, m1, n1
-      INTEGER i2, j2, k2, l2, m2, n2
-
-      CALL ef_get_res_subscripts_6d(id, res_lo_ss, res_hi_ss, res_incr)
-      CALL ef_get_arg_subscripts_6d(id, arg_lo_ss, arg_hi_ss, arg_incr)
-      CALL ef_get_bad_flags(id, bad_flag, bad_flag_result)
-
-      i = res_lo_ss(X_AXIS)
-      DO 100 i1 = arg_lo_ss(X_AXIS,ARG1), arg_hi_ss(X_AXIS,ARG1)
-
-         n = res_lo_ss(F_AXIS)
-         DO 600 n1 = arg_lo_ss(F_AXIS,ARG1), arg_hi_ss(F_AXIS,ARG1)
-
-         m = res_lo_ss(E_AXIS)
-         DO 500 m1 = arg_lo_ss(E_AXIS,ARG1), arg_hi_ss(E_AXIS,ARG1)
-
-         l = res_lo_ss(T_AXIS)
-         DO 400 l1 = arg_lo_ss(T_AXIS,ARG1), arg_hi_ss(T_AXIS,ARG1)
-
-         k = res_lo_ss(Z_AXIS)
-         DO 300 k1 = arg_lo_ss(Z_AXIS,ARG1), arg_hi_ss(Z_AXIS,ARG1)
-
-         j = res_lo_ss(Y_AXIS)
-         DO 200 j1 = arg_lo_ss(Y_AXIS,ARG1), arg_hi_ss(Y_AXIS,ARG1)
-
-            IF ( arg_1(i1,j1,k1,l1,m1,n1) .EQ. bad_flag(ARG1) ) THEN
-               result(i,j,k,l,m,n) = bad_flag_result
-            ELSE
-               result(i,j,k,l,m,n) = arg_1(i1,j1,k1,l1,m1,n1)
-            ENDIF
-
-            j = j + res_incr(Y_AXIS)
- 200     CONTINUE
-
-            k = k + res_incr(Z_AXIS)
- 300     CONTINUE
-
-            l = l + res_incr(T_AXIS)
- 400     CONTINUE
-
-            m = m + res_incr(E_AXIS)
- 500     CONTINUE
-
-            n = n + res_incr(F_AXIS)
- 600     CONTINUE
-
-         i = i + res_incr(X_AXIS)
- 100  CONTINUE
-
-* concatenate in X - dont restart count of index I
-
-      DO 110 i2 = arg_lo_ss(X_AXIS,ARG2), arg_hi_ss(X_AXIS,ARG2)
-
-         n = res_lo_ss(F_AXIS)
-         DO 610 n2 = arg_lo_ss(F_AXIS,ARG2), arg_hi_ss(F_AXIS,ARG2)
-
-         m = res_lo_ss(E_AXIS)
-         DO 510 m2 = arg_lo_ss(E_AXIS,ARG2), arg_hi_ss(E_AXIS,ARG2)
-
-         l = res_lo_ss(T_AXIS)
-         DO 410 l2 = arg_lo_ss(T_AXIS,ARG2), arg_hi_ss(T_AXIS,ARG2)
-
-         k = res_lo_ss(Z_AXIS)
-         DO 310 k2 = arg_lo_ss(Z_AXIS,ARG2), arg_hi_ss(Z_AXIS,ARG2)
-
-         j = res_lo_ss(Y_AXIS)
-         DO 210 j2 = arg_lo_ss(Y_AXIS,ARG2), arg_hi_ss(Y_AXIS,ARG2)
-
-            IF ( arg_2(i2,j2,k2,l2,m2,n2) .EQ. bad_flag(ARG2) ) THEN
-               result(i,j,k,l,m,n) = bad_flag_result
-            ELSE
-               result(i,j,k,l,m,n) = arg_2(i2,j2,k2,l2,m2,n2)
-            ENDIF
-
-            j = j + res_incr(Y_AXIS)
- 210     CONTINUE
-
-            k = k + res_incr(Z_AXIS)
- 310     CONTINUE
-
-            l = l + res_incr(T_AXIS)
- 410     CONTINUE
-
-            m = m + res_incr(E_AXIS)
- 510     CONTINUE
-
-            n = n + res_incr(F_AXIS)
- 610     CONTINUE
-
-         i = i + res_incr(X_AXIS)
- 110  CONTINUE
-
-*                                                                      ^
-*                                                                      |
-*                                            USER CONFIGURABLE PORTION |
-* **********************************************************************
-
-      RETURN
-      END
diff --git a/fer/efi/bxsequence.F b/fer/efi/bxsequence.F
deleted file mode 100644
index 2aa87a1..0000000
--- a/fer/efi/bxsequence.F
+++ /dev/null
@@ -1,241 +0,0 @@
-*
-* bxsequence.F
-*
-* Ansley Manke
-* Dec 2015
-* 
-*
-* This function is an XSEQUENCE, returned on a custom index axis
-*
-*
-*
-* In this subroutine we provide information about
-* the function.  The user configurable information 
-* consists of the following:
-*
-* descr              Text description of the function
-*
-* num_args           Required number of arguments
-*
-* axis_inheritance   Type of axis for the result
-*                       ( CUSTOM, IMPLIED_BY_ARGS, NORMAL, ABSTRACT )
-*                       CUSTOM          - user defined axis
-*                       IMPLIED_BY_ARGS - same axis as the incoming argument
-*                       NORMAL          - the result is normal to this axis
-*                       ABSTRACT        - an axis which only has index values
-*
-* piecemeal_ok       For memory optimization:
-*                       axes where calculation may be performed piecemeal
-*                       ( YES, NO )
-* 
-*
-* For each argument we provide the following information:
-*
-* name               Text name for an argument
-*
-* unit               Text units for an argument
-*
-* desc               Text description of an argument
-*
-* axis_influence     Are this argument''s axes the same as the result grid?
-*                       ( YES, NO )
-*
-* axis_extend       How much does Ferret need to extend arg limits relative to result 
-*
-
-
-      SUBROUTINE bxsequence_init(id)
-
-      IMPLICIT NONE
-      INCLUDE 'EF_Util.cmn'
-
-      INTEGER id, arg
-
-* **********************************************************************
-*                                            USER CONFIGURABLE PORTION |
-*                                                                      |
-*                                                                      V
-
-      CHARACTER*100 descrip
-
-      WRITE (descrip, 100)
-  100 FORMAT ('unravel grid to a fixed length line in X')
-      CALL ef_set_desc(id, descrip)
-
-* Tell Ferret to run the following instead, if the arguments are strings.
-      CALL ef_set_alt_fcn_name(id, 'BXSEQUENCE_STR')
-
-      CALL ef_set_num_args(id, 1)
-      CALL ef_set_axis_inheritance_6d(id,
-     .                                CUSTOM, NORMAL,
-     .                                NORMAL, NORMAL,
-     .                                NORMAL, NORMAL)
-      CALL ef_set_piecemeal_ok_6d(id, NO, NO, NO, NO, NO, NO)
-
-      arg = 1
-      CALL ef_set_arg_name(id, arg, 'A')
-      CALL ef_set_arg_unit(id, arg, ' ')
-      CALL ef_set_arg_desc(id, arg, 'Variable to unravel')
-      CALL ef_set_axis_influence_6d(id, arg,
-     .                              YES, YES, YES, YES, YES, YES)
-
-*                                                                      ^
-*                                                                      |
-*                                            USER CONFIGURABLE PORTION |
-* **********************************************************************
-
-      RETURN
-      END
-
-
-      SUBROUTINE bxsequence_result_limits(id)
-
-      IMPLICIT NONE
-      INCLUDE 'EF_Util.cmn'
-
-      INTEGER id
-
-* **********************************************************************
-*                                            USER CONFIGURABLE PORTION |
-*                                                                      |
-*                                                                      V
-
-      INTEGER arg_lo_ss(6,EF_MAX_ARGS),
-     .        arg_hi_ss(6,EF_MAX_ARGS),
-     .        arg_incr (6,EF_MAX_ARGS)
-      INTEGER nx
-
-      CALL ef_get_arg_subscripts_6d(id, arg_lo_ss, arg_hi_ss, arg_incr)
-
-      nx = (arg_hi_ss(X_AXIS,ARG1) - arg_lo_ss(X_AXIS,ARG1) + 1) *
-     .     (arg_hi_ss(Y_AXIS,ARG1) - arg_lo_ss(Y_AXIS,ARG1) + 1) *
-     .     (arg_hi_ss(Z_AXIS,ARG1) - arg_lo_ss(Z_AXIS,ARG1) + 1) *
-     .     (arg_hi_ss(T_AXIS,ARG1) - arg_lo_ss(T_AXIS,ARG1) + 1) *
-     .     (arg_hi_ss(E_AXIS,ARG1) - arg_lo_ss(E_AXIS,ARG1) + 1) *
-     .     (arg_hi_ss(F_AXIS,ARG1) - arg_lo_ss(F_AXIS,ARG1) + 1)
-
-      CALL ef_set_axis_limits(id, X_AXIS, 1, nx)
-
-*                                                                      ^
-*                                                                      |
-*                                            USER CONFIGURABLE PORTION |
-* **********************************************************************
-
-      RETURN
-      END
-
-
- 
-      SUBROUTINE bxsequence_custom_axes(id)
- 
-      IMPLICIT NONE
-      INCLUDE 'EF_Util.cmn'
- 
-      INTEGER id
-      REAL size
-
-       INTEGER arg_lo_ss(6,EF_MAX_ARGS),
-     .         arg_hi_ss(6,EF_MAX_ARGS),
-     .         arg_incr (6,EF_MAX_ARGS)
-*
-*     Use utility functions to get context information about the arguments.
-*
-       CALL ef_get_arg_subscripts_6d(id, arg_lo_ss, arg_hi_ss, arg_incr)
- 
-* output X axis size
-
-      size = (arg_hi_ss(X_AXIS,ARG1) - arg_lo_ss(X_AXIS,ARG1) + 1) *
-     .     (arg_hi_ss(Y_AXIS,ARG1) - arg_lo_ss(Y_AXIS,ARG1) + 1) *
-     .     (arg_hi_ss(Z_AXIS,ARG1) - arg_lo_ss(Z_AXIS,ARG1) + 1) *
-     .     (arg_hi_ss(T_AXIS,ARG1) - arg_lo_ss(T_AXIS,ARG1) + 1) *
-     .     (arg_hi_ss(E_AXIS,ARG1) - arg_lo_ss(E_AXIS,ARG1) + 1) *
-     .     (arg_hi_ss(F_AXIS,ARG1) - arg_lo_ss(F_AXIS,ARG1) + 1)
-
-
-      CALL ef_set_custom_axis(id, X_AXIS, 1.0, size, 1.0, 'i', NO)
- 
-*                                                                     ^
-*                                                                     |
-*                                           USER CONFIGURABLE PORTION |
-* **********************************************************************
-
-      RETURN 
-      END
-*
-* In this subroutine we compute the result
-*
-      SUBROUTINE bxsequence_compute(id, arg_1, result)
-
-      IMPLICIT NONE
-      INCLUDE 'EF_Util.cmn'
-      INCLUDE 'EF_mem_subsc.cmn'
-
-      INTEGER id
-
-      REAL arg_1(mem1lox:mem1hix, mem1loy:mem1hiy, mem1loz:mem1hiz,
-     .           mem1lot:mem1hit, mem1loe:mem1hie, mem1lof:mem1hif)
-
-      REAL result(memreslox:memreshix, memresloy:memreshiy,
-     .            memresloz:memreshiz, memreslot:memreshit,
-     .            memresloe:memreshie, memreslof:memreshif)
-
-* After initialization, the 'res_' arrays contain indexing information
-* for the result axes.  The 'arg_' arrays will contain the indexing
-* information for each variable''s axes.
-
-      INTEGER res_lo_ss(6),
-     .        res_hi_ss(6),
-     .        res_incr (6)
-      INTEGER arg_lo_ss(6,EF_MAX_ARGS),
-     .        arg_hi_ss(6,EF_MAX_ARGS),
-     .        arg_incr (6,EF_MAX_ARGS)
-
-      REAL bad_flag(EF_MAX_ARGS), bad_flag_result
-
-* **********************************************************************
-*                                            USER CONFIGURABLE PORTION |
-*                                                                      |
-*                                                                      V
-
-      INTEGER i, j, k, l, m, n
-      INTEGER i1, j1, k1, l1, m1, n1
-
-      CALL ef_get_res_subscripts_6d(id, res_lo_ss, res_hi_ss, res_incr)
-      CALL ef_get_arg_subscripts_6d(id, arg_lo_ss, arg_hi_ss, arg_incr)
-      CALL ef_get_bad_flags(id, bad_flag, bad_flag_result)
-
-      j = res_lo_ss(Y_AXIS)
-      k = res_lo_ss(Z_AXIS)
-      l = res_lo_ss(T_AXIS)
-      m = res_lo_ss(E_AXIS)
-      n = res_lo_ss(F_AXIS)
-
-      i = res_lo_ss(X_AXIS)
-      DO 600 n1 = arg_lo_ss(F_AXIS,ARG1), arg_hi_ss(F_AXIS,ARG1)
-      DO 500 m1 = arg_lo_ss(E_AXIS,ARG1), arg_hi_ss(E_AXIS,ARG1)
-      DO 400 l1 = arg_lo_ss(T_AXIS,ARG1), arg_hi_ss(T_AXIS,ARG1)
-      DO 300 k1 = arg_lo_ss(Z_AXIS,ARG1), arg_hi_ss(Z_AXIS,ARG1)
-      DO 200 j1 = arg_lo_ss(Y_AXIS,ARG1), arg_hi_ss(Y_AXIS,ARG1)
-      DO 100 i1 = arg_lo_ss(X_AXIS,ARG1), arg_hi_ss(X_AXIS,ARG1)
-
-	IF ( arg_1(i1,j1,k1,l1,m1,n1) .EQ. bad_flag(ARG1) ) THEN
-	   result(i,j,k,l,m,n) = bad_flag_result
-	ELSE
-	   result(i,j,k,l,m,n) = arg_1(i1,j1,k1,l1,m1,n1)
-	ENDIF
-        i = i + res_incr(X_AXIS)
-
- 100  CONTINUE
- 200  CONTINUE
- 300  CONTINUE
- 400  CONTINUE
- 500  CONTINUE
- 600  CONTINUE
-
-*                                                                      ^
-*                                                                      |
-*                                            USER CONFIGURABLE PORTION |
-* **********************************************************************
-
-      RETURN
-      END
diff --git a/fer/efi/bxsequence_str.F b/fer/efi/bxsequence_str.F
deleted file mode 100644
index 4107959..0000000
--- a/fer/efi/bxsequence_str.F
+++ /dev/null
@@ -1,245 +0,0 @@
-*
-* bxsequence_str.F
-*
-* Ansley Manke
-* Dec 2015
-* 
-*
-* This function is the string XSEQUENCE, returned on a custom index axis
-*
-*
-*
-* In this subroutine we provide information about
-* the function.  The user configurable information 
-* consists of the following:
-*
-* descr              Text description of the function
-*
-* num_args           Required number of arguments
-*
-* axis_inheritance   Type of axis for the result
-*                       ( CUSTOM, IMPLIED_BY_ARGS, NORMAL, ABSTRACT )
-*                       CUSTOM          - user defined axis
-*                       IMPLIED_BY_ARGS - same axis as the incoming argument
-*                       NORMAL          - the result is normal to this axis
-*                       ABSTRACT        - an axis which only has index values
-*
-* piecemeal_ok       For memory optimization:
-*                       axes where calculation may be performed piecemeal
-*                       ( YES, NO )
-* 
-*
-* For each argument we provide the following information:
-*
-* name               Text name for an argument
-*
-* unit               Text units for an argument
-*
-* desc               Text description of an argument
-*
-* axis_influence     Are this argument''s axes the same as the result grid?
-*                       ( YES, NO )
-*
-* axis_extend       How much does Ferret need to extend arg limits relative to result 
-*
-
-
-      SUBROUTINE bxsequence_str_init(id)
-
-      IMPLICIT NONE
-      INCLUDE 'EF_Util.cmn'
-
-      INTEGER id, arg
-
-* **********************************************************************
-*                                            USER CONFIGURABLE PORTION |
-*                                                                      |
-*                                                                      V
-
-      CHARACTER*100 descrip
-
-      WRITE (descrip, 100)
-  100 FORMAT ('unravel string variable to a fixed length line in X')
-      CALL ef_set_desc(id, descrip)
-
-* Tell Ferret to run the following instead, if the arguments are strings.
-c     CALL ef_set_alt_fcn_name(id, 'bxsequence_str_STR')
-
-      CALL ef_set_num_args(id, 1)
-      CALL ef_set_axis_inheritance_6d(id,
-     .                                CUSTOM, NORMAL,
-     .                                NORMAL, NORMAL,
-     .                                NORMAL, NORMAL)
-      CALL ef_set_piecemeal_ok_6d(id, NO, NO, NO, NO, NO, NO)
-      CALL ef_set_result_type(id, STRING_RETURN)
-
-      arg = 1
-      CALL ef_set_arg_name(id, arg, 'A')
-      CALL ef_set_arg_unit(id, arg, ' ')
-      CALL ef_set_arg_type (id, arg, STRING_ARG)
-      CALL ef_set_arg_desc(id, arg, 'Variable to unravel')
-      CALL ef_set_axis_influence_6d(id, arg,
-     .                              YES, YES, YES, YES, YES, YES)
-
-*                                                                      ^
-*                                                                      |
-*                                            USER CONFIGURABLE PORTION |
-* **********************************************************************
-
-      RETURN
-      END
-
-
-      SUBROUTINE bxsequence_str_result_limits(id)
-
-      IMPLICIT NONE
-      INCLUDE 'EF_Util.cmn'
-
-      INTEGER id
-
-* **********************************************************************
-*                                            USER CONFIGURABLE PORTION |
-*                                                                      |
-*                                                                      V
-
-      INTEGER arg_lo_ss(6,EF_MAX_ARGS),
-     .        arg_hi_ss(6,EF_MAX_ARGS),
-     .        arg_incr (6,EF_MAX_ARGS)
-      INTEGER nx
-
-      CALL ef_get_arg_subscripts_6d(id, arg_lo_ss, arg_hi_ss, arg_incr)
-
-      nx = (arg_hi_ss(X_AXIS,ARG1) - arg_lo_ss(X_AXIS,ARG1) + 1) *
-     .     (arg_hi_ss(Y_AXIS,ARG1) - arg_lo_ss(Y_AXIS,ARG1) + 1) *
-     .     (arg_hi_ss(Z_AXIS,ARG1) - arg_lo_ss(Z_AXIS,ARG1) + 1) *
-     .     (arg_hi_ss(T_AXIS,ARG1) - arg_lo_ss(T_AXIS,ARG1) + 1) *
-     .     (arg_hi_ss(E_AXIS,ARG1) - arg_lo_ss(E_AXIS,ARG1) + 1) *
-     .     (arg_hi_ss(F_AXIS,ARG1) - arg_lo_ss(F_AXIS,ARG1) + 1)
-
-      CALL ef_set_axis_limits(id, X_AXIS, 1, nx)
-
-*                                                                      ^
-*                                                                      |
-*                                            USER CONFIGURABLE PORTION |
-* **********************************************************************
-
-      RETURN
-      END
-
-
- 
-      SUBROUTINE bxsequence_str_custom_axes(id)
- 
-      IMPLICIT NONE
-      INCLUDE 'EF_Util.cmn'
- 
-      INTEGER id
-      REAL size
-
-       INTEGER arg_lo_ss(6,EF_MAX_ARGS),
-     .         arg_hi_ss(6,EF_MAX_ARGS),
-     .         arg_incr (6,EF_MAX_ARGS)
-*
-*     Use utility functions to get context information about the arguments.
-*
-       CALL ef_get_arg_subscripts_6d(id, arg_lo_ss, arg_hi_ss, arg_incr)
- 
-* output X axis size
-
-      size = (arg_hi_ss(X_AXIS,ARG1) - arg_lo_ss(X_AXIS,ARG1) + 1) *
-     .     (arg_hi_ss(Y_AXIS,ARG1) - arg_lo_ss(Y_AXIS,ARG1) + 1) *
-     .     (arg_hi_ss(Z_AXIS,ARG1) - arg_lo_ss(Z_AXIS,ARG1) + 1) *
-     .     (arg_hi_ss(T_AXIS,ARG1) - arg_lo_ss(T_AXIS,ARG1) + 1) *
-     .     (arg_hi_ss(E_AXIS,ARG1) - arg_lo_ss(E_AXIS,ARG1) + 1) *
-     .     (arg_hi_ss(F_AXIS,ARG1) - arg_lo_ss(F_AXIS,ARG1) + 1)
-
-
-      CALL ef_set_custom_axis(id, X_AXIS, 1.0, size, 1.0, 'i', NO)
- 
-*                                                                     ^
-*                                                                     |
-*                                           USER CONFIGURABLE PORTION |
-* **********************************************************************
-
-      RETURN 
-      END
-*
-* In this subroutine we compute the result
-*
-      SUBROUTINE bxsequence_str_compute(id, arg_1, result)
-
-      IMPLICIT NONE
-      INCLUDE 'EF_Util.cmn'
-      INCLUDE 'EF_mem_subsc.cmn'
-
-      INTEGER id
-
-      REAL arg_1(mem1lox:mem1hix, mem1loy:mem1hiy,
-     .                  mem1loz:mem1hiz, mem1lot:mem1hit,
-     .                  mem1loe:mem1hie, mem1lof:mem1hif)
-
-      REAL result(memreslox:memreshix, memresloy:memreshiy,
-     .                   memresloz:memreshiz, memreslot:memreshit,
-     .                   memresloe:memreshie, memreslof:memreshif)
-
-
-* After initialization, the 'res_' arrays contain indexing information
-* for the result axes.  The 'arg_' arrays will contain the indexing
-* information for each variable''s axes.
-
-      INTEGER res_lo_ss(6),
-     .        res_hi_ss(6),
-     .        res_incr (6)
-      INTEGER arg_lo_ss(6,EF_MAX_ARGS),
-     .        arg_hi_ss(6,EF_MAX_ARGS),
-     .        arg_incr (6,EF_MAX_ARGS)
-
-      REAL bad_flag(EF_MAX_ARGS), bad_flag_result
-
-* **********************************************************************
-*                                            USER CONFIGURABLE PORTION |
-*                                                                      |
-*                                                                      V
-
-      INTEGER i, j, k, l, m, n, slen
-      INTEGER i1, j1, k1, l1, m1, n1
-      
-      CHARACTER*512 buff
-
-      CALL ef_get_res_subscripts_6d(id, res_lo_ss, res_hi_ss, res_incr)
-      CALL ef_get_arg_subscripts_6d(id, arg_lo_ss, arg_hi_ss, arg_incr)
-
-      j = res_lo_ss(Y_AXIS)
-      k = res_lo_ss(Z_AXIS)
-      l = res_lo_ss(T_AXIS)
-      m = res_lo_ss(E_AXIS)
-      n = res_lo_ss(F_AXIS)
-
-      i = res_lo_ss(X_AXIS)
-      DO 600 n1 = arg_lo_ss(F_AXIS,ARG1), arg_hi_ss(F_AXIS,ARG1)
-      DO 500 m1 = arg_lo_ss(E_AXIS,ARG1), arg_hi_ss(E_AXIS,ARG1)
-      DO 400 l1 = arg_lo_ss(T_AXIS,ARG1), arg_hi_ss(T_AXIS,ARG1)
-      DO 300 k1 = arg_lo_ss(Z_AXIS,ARG1), arg_hi_ss(Z_AXIS,ARG1)
-      DO 200 j1 = arg_lo_ss(Y_AXIS,ARG1), arg_hi_ss(Y_AXIS,ARG1)
-      DO 100 i1 = arg_lo_ss(X_AXIS,ARG1), arg_hi_ss(X_AXIS,ARG1)
-
-	CALL EF_GET_STRING_ARG_ELEMENT_6D(id, ARG1, arg_1,
-     .                             i1, j1, k1, l1, m1, n1, slen, buff)
-	CALL EF_PUT_STRING(buff, slen, result(i,j,k,l,m,n))
-
-        i = i + res_incr(X_AXIS)
-
- 100  CONTINUE
- 200  CONTINUE
- 300  CONTINUE
- 400  CONTINUE
- 500  CONTINUE
- 600  CONTINUE
-
-*                                                                      ^
-*                                                                      |
-*                                            USER CONFIGURABLE PORTION |
-* **********************************************************************
-
-      RETURN
-      END
diff --git a/fer/efi/curv_to_rect.F b/fer/efi/curv_to_rect.F
index efbd468..7c27566 100644
--- a/fer/efi/curv_to_rect.F
+++ b/fer/efi/curv_to_rect.F
@@ -254,4 +254,4 @@
       END  ! SUBROUTINE curv_to_rect_compute
 
 !#######################################################################
-            
\ No newline at end of file
+
diff --git a/fer/efi/dot_e.F b/fer/efi/dot_e.F
new file mode 100644
index 0000000..d88ac27
--- /dev/null
+++ b/fer/efi/dot_e.F
@@ -0,0 +1,204 @@
+*
+* dot_e.F
+*
+*  This software was developed by the Thermal Modeling and Analysis
+*  Project(TMAP) of the National Oceanographic and Atmospheric
+*  Administration's (NOAA) Pacific Marine Environmental Lab(PMEL),
+*  hereafter referred to as NOAA/PMEL/TMAP.
+*
+*  Access and use of this software shall impose the following
+*  obligations and understandings on the user. The user is granted the
+*  right, without any fee or cost, to use, copy, modify, alter, enhance
+*  and distribute this software, and any derivative works thereof, and
+*  its supporting documentation for any purpose whatsoever, provided
+*  that this entire notice appears in all copies of the software,
+*  derivative works and supporting documentation.  Further, the user
+*  agrees to credit NOAA/PMEL/TMAP in any publications that result from
+*  the use of this software or in any product that includes this
+*  software. The names TMAP, NOAA and/or PMEL, however, may not be used
+*  in any advertising or publicity to endorse or promote any products
+*  or commercial entity unless specific written permission is obtained
+*  from NOAA/PMEL/TMAP. The user also understands that NOAA/PMEL/TMAP
+*  is not obligated to provide the user with any support, consulting,
+*  training or assistance of any kind with regard to the use, operation
+*  and performance of this software nor to provide the user with any
+*  updates, revisions, new versions or "bug fixes".
+*
+*  THIS SOFTWARE IS PROVIDED BY NOAA/PMEL/TMAP "AS IS" AND ANY EXPRESS
+*  OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+*  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+*  ARE DISCLAIMED. IN NO EVENT SHALL NOAA/PMEL/TMAP BE LIABLE FOR ANY SPECIAL,
+*  INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
+*  RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF
+*  CONTRACT, NEGLIGENCE OR OTHER TORTUOUS ACTION, ARISING OUT OF OR IN
+*  CONNECTION WITH THE ACCESS, USE OR PERFORMANCE OF THIS SOFTWARE. 
+*
+* May 2017 Ansley Manke
+*
+* compute the dot product of two arguments along a shared axis
+*
+
+
+
+
+      SUBROUTINE dot_e_init(id)
+
+      IMPLICIT NONE
+      INCLUDE 'EF_Util.cmn'
+
+      INTEGER id, arg
+
+      CALL ef_set_desc(id, 'Compute the inner product of two variables along E-axis')
+      CALL ef_set_num_args(id, 2)
+      CALL ef_set_axis_inheritance_6d(id,
+     .                                IMPLIED_BY_ARGS, IMPLIED_BY_ARGS,
+     .                                IMPLIED_BY_ARGS, IMPLIED_BY_ARGS,
+     .                                NORMAL, IMPLIED_BY_ARGS)
+      CALL ef_set_piecemeal_ok_6d(id, NO, NO, NO, NO, NO, NO)
+
+      arg = 1
+      CALL ef_set_arg_name(id, arg, 'VAR1')
+      CALL ef_set_arg_desc(id, arg, 'Variable 1')
+      CALL ef_set_axis_influence_6d(id, arg,
+     .                                YES, YES, YES, YES, YES, YES)
+
+      arg = 2
+      CALL ef_set_arg_name(id, arg, 'VAR2')
+      CALL ef_set_arg_desc(id, arg, 'Variable 2')
+      CALL ef_set_axis_influence_6d(id, arg,
+     .                                YES, YES, YES, YES, YES, YES)
+
+      RETURN 
+      END
+
+*
+* In this subroutine we compute the result
+*
+      SUBROUTINE dot_e_compute(id, arg_1, arg_2, result)
+
+      IMPLICIT NONE
+      INCLUDE 'EF_Util.cmn'
+      INCLUDE 'EF_mem_subsc.cmn'
+
+      INTEGER id
+
+      REAL arg_1(mem1lox:mem1hix, mem1loy:mem1hiy, mem1loz:mem1hiz, 
+     .           mem1lot:mem1hit, mem1loe:mem1hie, mem1lof:mem1hif)
+      REAL arg_2(mem2lox:mem2hix, mem2loy:mem2hiy, mem2loz:mem2hiz, 
+     .           mem2lot:mem2hit, mem2loe:mem2hie, mem2lof:mem2hif)
+
+      REAL result(memreslox:memreshix, memresloy:memreshiy, 
+     .            memresloz:memreshiz, memreslot:memreshit,
+     .            memresloe:memreshie, memreslof:memreshif)
+
+* After initialization, the 'res_' arrays contain indexing information 
+* for the result axes.  The 'arg_' arrays will contain the indexing 
+* information for each variable''s axes. 
+
+      INTEGER res_lo_ss(6),
+     .        res_hi_ss(6),
+     .        res_incr (6)
+      INTEGER arg_lo_ss(6,EF_MAX_ARGS),
+     .        arg_hi_ss(6,EF_MAX_ARGS),
+     .        arg_incr (6,EF_MAX_ARGS)
+
+      REAL bad_flag(EF_MAX_ARGS), bad_flag_result
+
+      INTEGER i, j, k, l, m, n
+      INTEGER i1, j1, k1, l1, m1, n1, i2, j2, k2, l2, m2, n2
+      CHARACTER*100 errtxt
+
+      CALL ef_get_res_subscripts_6d(id, res_lo_ss, res_hi_ss, res_incr)
+      CALL ef_get_arg_subscripts_6d(id, arg_lo_ss, arg_hi_ss, arg_incr)
+      CALL ef_get_bad_flags(id, bad_flag, bad_flag_result)
+
+* check to make sure both variables share the common axis
+      IF ( (arg_lo_ss(E_AXIS, ARG1) .EQ. ef_unspecified_int4) .OR. 
+     .     (arg_hi_ss(E_AXIS, ARG1) .EQ. ef_unspecified_int4) .OR. 
+     .     (arg_lo_ss(E_AXIS, ARG2) .EQ. ef_unspecified_int4) .OR. 
+     .     (arg_hi_ss(E_AXIS, ARG2) .EQ. ef_unspecified_int4) 
+     .      ) THEN
+         WRITE(errtxt,*) 'E axis of arguments 1 and 2 cannot be a normal axis'
+         GOTO 999
+      ENDIF
+      IF ( arg_hi_ss(E_AXIS, ARG1) - arg_lo_ss(E_AXIS, ARG1) .NE. 
+     .     arg_hi_ss(E_AXIS, ARG2) - arg_lo_ss(E_AXIS, ARG2) ) THEN
+         WRITE(errtxt,*) 'E axis of Arguments 1 and 2 must be the same length'
+         GOTO 999
+      ENDIF
+
+* Initialize the result, F90 initialize whole array
+
+      result = bad_flag_result  
+
+* Compute the dot product
+
+      n1 = arg_lo_ss(F_AXIS,ARG1)
+      n2 = arg_lo_ss(F_AXIS,ARG2)
+      DO 600 n = res_lo_ss(F_AXIS), res_hi_ss(F_AXIS)
+
+       l1 = arg_lo_ss(T_AXIS,ARG1)
+       l2 = arg_lo_ss(T_AXIS,ARG2)
+       DO 500 l = res_lo_ss(T_AXIS), res_hi_ss(T_AXIS)
+
+        k1 = arg_lo_ss(Z_AXIS,ARG1)
+        k2 = arg_lo_ss(Z_AXIS,ARG2)
+        DO 400 k = res_lo_ss(Z_AXIS), res_hi_ss(Z_AXIS)
+
+         j1 = arg_lo_ss(Y_AXIS,ARG1)
+         j2 = arg_lo_ss(Y_AXIS,ARG2)
+         DO 300 j = res_lo_ss(Y_AXIS), res_hi_ss(Y_AXIS)
+
+          i1 = arg_lo_ss(X_AXIS,ARG1)
+          i2 = arg_lo_ss(X_AXIS,ARG2)
+          DO 200 i = res_lo_ss(X_AXIS), res_hi_ss(X_AXIS)
+
+	   m = res_lo_ss(E_AXIS)
+           m2 = arg_lo_ss(E_AXIS,ARG2)
+           DO 100 m1 = arg_lo_ss(E_AXIS,ARG1), arg_hi_ss(E_AXIS,ARG1)
+
+            IF ( arg_1(i1,j1,k1,l1,m1,n1) .NE. bad_flag(ARG1) .AND. 
+     .	         arg_2(i2,j2,k2,l2,m2,n2) .NE. bad_flag(ARG2) ) THEN
+
+               IF (result(i,j,k,l,m,n) .EQ. bad_flag_result) THEN
+	          result(i,j,k,l,m,n) =  
+     .	            arg_1(i1,j1,k1,l1,m1,n1)* arg_2(i2,j2,k2,l2,m2,n2)
+
+               ELSE
+
+	          result(i,j,k,l,m,n) =  result(i,j,k,l,m,n) + 
+     .	            arg_1(i1,j1,k1,l1,m1,n1)* arg_2(i2,j2,k2,l2,m2,n2)
+
+               ENDIF
+
+            ENDIF
+
+           m2 = m2 + arg_incr(E_AXIS,ARG2)
+ 100       CONTINUE
+
+           i1 = i1 + arg_incr(X_AXIS,ARG1)
+           i2 = i2 + arg_incr(X_AXIS,ARG2)
+ 200       CONTINUE
+
+          j1 = j1 + arg_incr(Y_AXIS,ARG1)
+          j2 = j2 + arg_incr(Y_AXIS,ARG2)
+ 300     CONTINUE
+
+         k1 = k1 + arg_incr(Z_AXIS,ARG1)
+         k2 = k2 + arg_incr(Z_AXIS,ARG2)
+ 400    CONTINUE
+
+        l1 = l1 + arg_incr(T_AXIS,ARG1)
+        l2 = l2 + arg_incr(T_AXIS,ARG2)
+ 500   CONTINUE
+
+       n1 = n1 + arg_incr(F_AXIS,ARG1)
+       n2 = n2 + arg_incr(F_AXIS,ARG2)
+ 600  CONTINUE
+
+      RETURN
+
+ 999  CALL EF_BAIL_OUT(id, errtxt)
+
+      RETURN 
+      END
diff --git a/fer/efi/dot_f.F b/fer/efi/dot_f.F
new file mode 100644
index 0000000..b6103f1
--- /dev/null
+++ b/fer/efi/dot_f.F
@@ -0,0 +1,205 @@
+*
+* dot_f.F
+*
+*  This software was developed by the Thermal Modeling and Analysis
+*  Project(TMAP) of the National Oceanographic and Atmospheric
+*  Administration's (NOAA) Pacific Marine Environmental Lab(PMEL),
+*  hereafter referred to as NOAA/PMEL/TMAP.
+*
+*  Access and use of this software shall impose the following
+*  obligations and understandings on the user. The user is granted the
+*  right, without any fee or cost, to use, copy, modify, alter, enhance
+*  and distribute this software, and any derivative works thereof, and
+*  its supporting documentation for any purpose whatsoever, provided
+*  that this entire notice appears in all copies of the software,
+*  derivative works and supporting documentation.  Further, the user
+*  agrees to credit NOAA/PMEL/TMAP in any publications that result from
+*  the use of this software or in any product that includes this
+*  software. The names TMAP, NOAA and/or PMEL, however, may not be used
+*  in any advertising or publicity to endorse or promote any products
+*  or commercial entity unless specific written permission is obtained
+*  from NOAA/PMEL/TMAP. The user also understands that NOAA/PMEL/TMAP
+*  is not obligated to provide the user with any support, consulting,
+*  training or assistance of any kind with regard to the use, operation
+*  and performance of this software nor to provide the user with any
+*  updates, revisions, new versions or "bug fixes".
+*
+*  THIS SOFTWARE IS PROVIDED BY NOAA/PMEL/TMAP "AS IS" AND ANY EXPRESS
+*  OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+*  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+*  ARE DISCLAIMED. IN NO EVENT SHALL NOAA/PMEL/TMAP BE LIABLE FOR ANY SPECIAL,
+*  INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
+*  RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF
+*  CONTRACT, NEGLIGENCE OR OTHER TORTUOUS ACTION, ARISING OUT OF OR IN
+*  CONNECTION WITH THE ACCESS, USE OR PERFORMANCE OF THIS SOFTWARE. 
+*
+* May 2017 Ansley Manke
+*
+* compute the dot product of two arguments along a shared axis
+*
+
+
+
+
+      SUBROUTINE dot_f_init(id)
+
+      IMPLICIT NONE
+      INCLUDE 'EF_Util.cmn'
+
+      INTEGER id, arg
+
+      CALL ef_set_desc(id, 'Compute the inner product of two variables along F-axis')
+      CALL ef_set_num_args(id, 2)
+      CALL ef_set_axis_inheritance_6d(id,
+     .                                IMPLIED_BY_ARGS, IMPLIED_BY_ARGS,
+     .                                IMPLIED_BY_ARGS, IMPLIED_BY_ARGS,
+     .                                IMPLIED_BY_ARGS, NORMAL)
+      CALL ef_set_piecemeal_ok_6d(id, NO, NO, NO, NO, NO, NO)
+
+      arg = 1
+      CALL ef_set_arg_name(id, arg, 'VAR1')
+      CALL ef_set_arg_desc(id, arg, 'Variable 1')
+      CALL ef_set_axis_influence_6d(id, arg,
+     .                                YES, YES, YES, YES, YES, YES)
+
+      arg = 2
+      CALL ef_set_arg_name(id, arg, 'VAR2')
+      CALL ef_set_arg_desc(id, arg, 'Variable 2')
+      CALL ef_set_axis_influence_6d(id, arg,
+     .                                YES, YES, YES, YES, YES, YES)
+
+      RETURN 
+      END
+
+*
+* In this subroutine we compute the result
+*
+      SUBROUTINE dot_f_compute(id, arg_1, arg_2, result)
+
+      IMPLICIT NONE
+      INCLUDE 'EF_Util.cmn'
+      INCLUDE 'EF_mem_subsc.cmn'
+
+      INTEGER id
+
+      REAL arg_1(mem1lox:mem1hix, mem1loy:mem1hiy, mem1loz:mem1hiz, 
+     .           mem1lot:mem1hit, mem1loe:mem1hie, mem1lof:mem1hif)
+      REAL arg_2(mem2lox:mem2hix, mem2loy:mem2hiy, mem2loz:mem2hiz, 
+     .           mem2lot:mem2hit, mem2loe:mem2hie, mem2lof:mem2hif)
+
+      REAL result(memreslox:memreshix, memresloy:memreshiy, 
+     .            memresloz:memreshiz, memreslot:memreshit,
+     .            memresloe:memreshie, memreslof:memreshif)
+
+* After initialization, the 'res_' arrays contain indexing information 
+* for the result axes.  The 'arg_' arrays will contain the indexing 
+* information for each variable''s axes. 
+
+      INTEGER res_lo_ss(6),
+     .        res_hi_ss(6),
+     .        res_incr (6)
+      INTEGER arg_lo_ss(6,EF_MAX_ARGS),
+     .        arg_hi_ss(6,EF_MAX_ARGS),
+     .        arg_incr (6,EF_MAX_ARGS)
+
+      REAL bad_flag(EF_MAX_ARGS), bad_flag_result
+
+      INTEGER i, j, k, l, m, n
+      INTEGER i1, j1, k1, l1, m1, n1, i2, j2, k2, l2, m2, n2
+      CHARACTER*100 errtxt
+
+      CALL ef_get_res_subscripts_6d(id, res_lo_ss, res_hi_ss, res_incr)
+      CALL ef_get_arg_subscripts_6d(id, arg_lo_ss, arg_hi_ss, arg_incr)
+      CALL ef_get_bad_flags(id, bad_flag, bad_flag_result)
+
+* check to make sure both variables share the common axis
+      IF ( (arg_lo_ss(F_AXIS, ARG1) .EQ. ef_unspecified_int4) .OR. 
+     .     (arg_hi_ss(F_AXIS, ARG1) .EQ. ef_unspecified_int4) .OR. 
+     .     (arg_lo_ss(F_AXIS, ARG2) .EQ. ef_unspecified_int4) .OR. 
+     .     (arg_hi_ss(F_AXIS, ARG2) .EQ. ef_unspecified_int4) 
+     .      ) THEN
+         WRITE(errtxt,*) 'F axis of arguments 1 and 2 cannot be a normal axis'
+         GOTO 999
+      ENDIF
+      IF ( arg_hi_ss(F_AXIS, ARG1) - arg_lo_ss(F_AXIS, ARG1) .NE. 
+     .     arg_hi_ss(F_AXIS, ARG2) - arg_lo_ss(F_AXIS, ARG2) ) THEN
+         WRITE(errtxt,*) 'F axis of Arguments 1 and 2 must be the same length'
+         GOTO 999
+      ENDIF
+
+* Initialize the result, F90 initialize whole array
+
+      result = bad_flag_result  
+
+* Compute the dot product
+
+      m1 = arg_lo_ss(E_AXIS,ARG1)
+      m2 = arg_lo_ss(E_AXIS,ARG2)
+      DO 600 m = res_lo_ss(E_AXIS), res_hi_ss(E_AXIS)
+
+       l1 = arg_lo_ss(T_AXIS,ARG1)
+       l2 = arg_lo_ss(T_AXIS,ARG2)
+       DO 500 l = res_lo_ss(T_AXIS), res_hi_ss(T_AXIS)
+
+        k1 = arg_lo_ss(Z_AXIS,ARG1)
+        k2 = arg_lo_ss(Z_AXIS,ARG2)
+        DO 400 k = res_lo_ss(Z_AXIS), res_hi_ss(Z_AXIS)
+
+         j1 = arg_lo_ss(Y_AXIS,ARG1)
+         j2 = arg_lo_ss(Y_AXIS,ARG2)
+         DO 300 j = res_lo_ss(Y_AXIS), res_hi_ss(Y_AXIS)
+
+          i1 = arg_lo_ss(X_AXIS,ARG1)
+          i2 = arg_lo_ss(X_AXIS,ARG2)
+          DO 200 i = arg_lo_ss(X_AXIS,ARG1), arg_hi_ss(X_AXIS,ARG1)
+
+           n  = res_lo_ss(F_AXIS)
+           n2 = arg_lo_ss(F_AXIS,ARG2)
+           DO 100 n1 = arg_lo_ss(F_AXIS,ARG1), arg_hi_ss(F_AXIS,ARG1)
+
+            IF ( arg_1(i1,j1,k1,l1,m1,n1) .NE. bad_flag(ARG1) .AND. 
+     .	         arg_2(i2,j2,k2,l2,m2,n2) .NE. bad_flag(ARG2) ) THEN
+
+               IF (result(i,j,k,l,m,n) .EQ. bad_flag_result) THEN
+	          result(i,j,k,l,m,n) =  
+     .	            arg_1(i1,j1,k1,l1,m1,n1)* arg_2(i2,j2,k2,l2,m2,n2)
+
+               ELSE
+
+	          result(i,j,k,l,m,n) =  result(i,j,k,l,m,n) + 
+     .	            arg_1(i1,j1,k1,l1,m1,n1)* arg_2(i2,j2,k2,l2,m2,n2)
+
+               ENDIF
+
+            ENDIF
+
+           n2 = n2 + arg_incr(F_AXIS,ARG2)
+ 100       CONTINUE
+
+            i1 = i1 + arg_incr(X_AXIS,ARG1)
+            i2 = i2 + arg_incr(X_AXIS,ARG2)
+ 200       CONTINUE
+
+           j1 = j1 + arg_incr(Y_AXIS,ARG1)
+           j2 = j2 + arg_incr(Y_AXIS,ARG2)
+ 300      CONTINUE
+
+          k1 = k1 + arg_incr(Z_AXIS,ARG1)
+          k2 = k2 + arg_incr(Z_AXIS,ARG2)
+ 400     CONTINUE
+
+         l1 = l1 + arg_incr(T_AXIS,ARG1)
+         l2 = l2 + arg_incr(T_AXIS,ARG2)
+ 500    CONTINUE
+
+        m1 = m1 + arg_incr(E_AXIS,ARG1)
+        m2 = m2 + arg_incr(E_AXIS,ARG2)
+ 600   CONTINUE
+
+
+      RETURN
+
+ 999  CALL EF_BAIL_OUT(id, errtxt)
+
+      RETURN 
+      END
diff --git a/fer/efi/dot_t.F b/fer/efi/dot_t.F
new file mode 100644
index 0000000..fe387c4
--- /dev/null
+++ b/fer/efi/dot_t.F
@@ -0,0 +1,204 @@
+*
+* dot_t.F
+*
+*  This software was developed by the Thermal Modeling and Analysis
+*  Project(TMAP) of the National Oceanographic and Atmospheric
+*  Administration's (NOAA) Pacific Marine Environmental Lab(PMEL),
+*  hereafter referred to as NOAA/PMEL/TMAP.
+*
+*  Access and use of this software shall impose the following
+*  obligations and understandings on the user. The user is granted the
+*  right, without any fee or cost, to use, copy, modify, alter, enhance
+*  and distribute this software, and any derivative works thereof, and
+*  its supporting documentation for any purpose whatsoever, provided
+*  that this entire notice appears in all copies of the software,
+*  derivative works and supporting documentation.  Further, the user
+*  agrees to credit NOAA/PMEL/TMAP in any publications that result from
+*  the use of this software or in any product that includes this
+*  software. The names TMAP, NOAA and/or PMEL, however, may not be used
+*  in any advertising or publicity to endorse or promote any products
+*  or commercial entity unless specific written permission is obtained
+*  from NOAA/PMEL/TMAP. The user also understands that NOAA/PMEL/TMAP
+*  is not obligated to provide the user with any support, consulting,
+*  training or assistance of any kind with regard to the use, operation
+*  and performance of this software nor to provide the user with any
+*  updates, revisions, new versions or "bug fixes".
+*
+*  THIS SOFTWARE IS PROVIDED BY NOAA/PMEL/TMAP "AS IS" AND ANY EXPRESS
+*  OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+*  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+*  ARE DISCLAIMED. IN NO EVENT SHALL NOAA/PMEL/TMAP BE LIABLE FOR ANY SPECIAL,
+*  INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
+*  RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF
+*  CONTRACT, NEGLIGENCE OR OTHER TORTUOUS ACTION, ARISING OUT OF OR IN
+*  CONNECTION WITH THE ACCESS, USE OR PERFORMANCE OF THIS SOFTWARE. 
+*
+* May 2017 Ansley Manke
+*
+* compute the dot product of two arguments along a shared axis
+*
+
+
+
+
+      SUBROUTINE dot_t_init(id)
+
+      IMPLICIT NONE
+      INCLUDE 'EF_Util.cmn'
+
+      INTEGER id, arg
+
+      CALL ef_set_desc(id, 'Compute the inner product of two variables along T-axis')
+      CALL ef_set_num_args(id, 2)
+      CALL ef_set_axis_inheritance_6d(id,
+     .                                IMPLIED_BY_ARGS, IMPLIED_BY_ARGS,
+     .                                IMPLIED_BY_ARGS, NORMAL,
+     .                                IMPLIED_BY_ARGS, IMPLIED_BY_ARGS)
+      CALL ef_set_piecemeal_ok_6d(id, NO, NO, NO, NO, NO, NO)
+
+      arg = 1
+      CALL ef_set_arg_name(id, arg, 'VAR1')
+      CALL ef_set_arg_desc(id, arg, 'Variable 1')
+      CALL ef_set_axis_influence_6d(id, arg,
+     .                                YES, YES, YES, YES, YES, YES)
+
+      arg = 2
+      CALL ef_set_arg_name(id, arg, 'VAR2')
+      CALL ef_set_arg_desc(id, arg, 'Variable 2')
+      CALL ef_set_axis_influence_6d(id, arg,
+     .                                YES, YES, YES, YES, YES, YES)
+
+      RETURN 
+      END
+
+*
+* In this subroutine we compute the result
+*
+      SUBROUTINE dot_t_compute(id, arg_1, arg_2, result)
+
+      IMPLICIT NONE
+      INCLUDE 'EF_Util.cmn'
+      INCLUDE 'EF_mem_subsc.cmn'
+
+      INTEGER id
+
+      REAL arg_1(mem1lox:mem1hix, mem1loy:mem1hiy, mem1loz:mem1hiz, 
+     .           mem1lot:mem1hit, mem1loe:mem1hie, mem1lof:mem1hif)
+      REAL arg_2(mem2lox:mem2hix, mem2loy:mem2hiy, mem2loz:mem2hiz, 
+     .           mem2lot:mem2hit, mem2loe:mem2hie, mem2lof:mem2hif)
+
+      REAL result(memreslox:memreshix, memresloy:memreshiy, 
+     .            memresloz:memreshiz, memreslot:memreshit,
+     .            memresloe:memreshie, memreslof:memreshif)
+
+* After initialization, the 'res_' arrays contain indexing information 
+* for the result axes.  The 'arg_' arrays will contain the indexing 
+* information for each variable''s axes. 
+
+      INTEGER res_lo_ss(6),
+     .        res_hi_ss(6),
+     .        res_incr (6)
+      INTEGER arg_lo_ss(6,EF_MAX_ARGS),
+     .        arg_hi_ss(6,EF_MAX_ARGS),
+     .        arg_incr (6,EF_MAX_ARGS)
+
+      REAL bad_flag(EF_MAX_ARGS), bad_flag_result
+
+      INTEGER i, j, k, l, m, n
+      INTEGER i1, j1, k1, l1, m1, n1, i2, j2, k2, l2, m2, n2
+      CHARACTER*100 errtxt
+
+      CALL ef_get_res_subscripts_6d(id, res_lo_ss, res_hi_ss, res_incr)
+      CALL ef_get_arg_subscripts_6d(id, arg_lo_ss, arg_hi_ss, arg_incr)
+      CALL ef_get_bad_flags(id, bad_flag, bad_flag_result)
+
+* check to make sure both variables share the common axis
+      IF ( (arg_lo_ss(T_AXIS, ARG1) .EQ. ef_unspecified_int4) .OR. 
+     .     (arg_hi_ss(T_AXIS, ARG1) .EQ. ef_unspecified_int4) .OR. 
+     .     (arg_lo_ss(T_AXIS, ARG2) .EQ. ef_unspecified_int4) .OR. 
+     .     (arg_hi_ss(T_AXIS, ARG2) .EQ. ef_unspecified_int4) 
+     .      ) THEN
+         WRITE(errtxt,*) 'T axis of arguments 1 and 2 cannot be a normal axis'
+         GOTO 999
+      ENDIF
+      IF ( arg_hi_ss(T_AXIS, ARG1) - arg_lo_ss(T_AXIS, ARG1) .NE. 
+     .     arg_hi_ss(T_AXIS, ARG2) - arg_lo_ss(T_AXIS, ARG2) ) THEN
+         WRITE(errtxt,*) 'T axis of Arguments 1 and 2 must be the same length'
+         GOTO 999
+      ENDIF
+
+* Initialize the result, F90 initialize whole array
+
+      result = bad_flag_result  
+
+* Compute the dot product
+
+      n1 = arg_lo_ss(F_AXIS,ARG1)
+      n2 = arg_lo_ss(F_AXIS,ARG2)
+      DO 600 n = res_lo_ss(F_AXIS), res_hi_ss(F_AXIS)
+
+       m1 = arg_lo_ss(E_AXIS,ARG1)
+       m2 = arg_lo_ss(E_AXIS,ARG2)
+       DO 500 m = res_lo_ss(E_AXIS), res_hi_ss(E_AXIS)
+
+        k1 = arg_lo_ss(Z_AXIS,ARG1)
+        k2 = arg_lo_ss(Z_AXIS,ARG2)
+        DO 400 k = res_lo_ss(Z_AXIS), res_hi_ss(Z_AXIS)
+
+         j1 = arg_lo_ss(Y_AXIS,ARG1)
+         j2 = arg_lo_ss(Y_AXIS,ARG2)
+         DO 300 j = res_lo_ss(Y_AXIS), res_hi_ss(Y_AXIS)
+
+          i1 = arg_lo_ss(X_AXIS,ARG1)
+          i2 = arg_lo_ss(X_AXIS,ARG2)
+          DO 200 i = res_lo_ss(X_AXIS), res_hi_ss(X_AXIS)
+
+	   l = res_lo_ss(T_AXIS)
+           l2 = arg_lo_ss(T_AXIS,ARG2)
+           DO 100 l1 = arg_lo_ss(T_AXIS,ARG1), arg_hi_ss(T_AXIS,ARG1)
+
+            IF ( arg_1(i1,j1,k1,l1,m1,n1) .NE. bad_flag(ARG1) .AND. 
+     .	         arg_2(i2,j2,k2,l2,m2,n2) .NE. bad_flag(ARG2) ) THEN
+
+               IF (result(i,j,k,l,m,n) .EQ. bad_flag_result) THEN
+	          result(i,j,k,l,m,n) =  
+     .	            arg_1(i1,j1,k1,l1,m1,n1)* arg_2(i2,j2,k2,l2,m2,n2)
+
+               ELSE
+
+	          result(i,j,k,l,m,n) =  result(i,j,k,l,m,n) + 
+     .	            arg_1(i1,j1,k1,l1,m1,n1)* arg_2(i2,j2,k2,l2,m2,n2)
+
+               ENDIF
+
+            ENDIF
+
+           l2 = l2 + arg_incr(T_AXIS,ARG2)
+ 100       CONTINUE
+
+           i1 = i1 + arg_incr(X_AXIS,ARG1)
+           i2 = i2 + arg_incr(X_AXIS,ARG2)
+ 200      CONTINUE
+
+          j1 = j1 + arg_incr(Y_AXIS,ARG1)
+          j2 = j2 + arg_incr(Y_AXIS,ARG2)
+ 300     CONTINUE
+
+         k1 = k1 + arg_incr(Z_AXIS,ARG1)
+         k2 = k2 + arg_incr(Z_AXIS,ARG2)
+ 400    CONTINUE
+
+        m1 = m1 + arg_incr(E_AXIS,ARG1)
+        m2 = m2 + arg_incr(E_AXIS,ARG2)
+ 500   CONTINUE
+
+       n1 = n1 + arg_incr(F_AXIS,ARG1)
+       n2 = n2 + arg_incr(F_AXIS,ARG2)
+ 600  CONTINUE
+
+      RETURN
+
+ 999  CALL EF_BAIL_OUT(id, errtxt)
+
+      RETURN 
+      END
diff --git a/fer/efi/dot_x.F b/fer/efi/dot_x.F
new file mode 100644
index 0000000..3e18cee
--- /dev/null
+++ b/fer/efi/dot_x.F
@@ -0,0 +1,170 @@
+*
+* dot_x.F
+*
+* compute the dot product of two arguments along a shared axis
+*
+
+
+
+
+      SUBROUTINE dot_x_init(id)
+
+      IMPLICIT NONE
+      INCLUDE 'EF_Util.cmn'
+
+      INTEGER id, arg
+
+      CALL ef_set_desc(id, 'Compute the inner product of two variables along X-axis')
+      CALL ef_set_num_args(id, 2)
+      CALL ef_set_axis_inheritance_6d(id,
+     .                                NORMAL, IMPLIED_BY_ARGS,
+     .                                IMPLIED_BY_ARGS, IMPLIED_BY_ARGS,
+     .                                IMPLIED_BY_ARGS, IMPLIED_BY_ARGS)
+      CALL ef_set_piecemeal_ok_6d(id, NO, NO, NO, NO, NO, NO)
+
+      arg = 1
+      CALL ef_set_arg_name(id, arg, 'VAR1')
+      CALL ef_set_arg_desc(id, arg, 'Variable 1')
+      CALL ef_set_axis_influence_6d(id, arg,
+     .                                YES, YES, YES, YES, YES, YES)
+
+      arg = 2
+      CALL ef_set_arg_name(id, arg, 'VAR2')
+      CALL ef_set_arg_desc(id, arg, 'Variable 2')
+      CALL ef_set_axis_influence_6d(id, arg,
+     .                                YES, YES, YES, YES, YES, YES)
+
+      RETURN 
+      END
+
+*
+* In this subroutine we compute the result
+*
+      SUBROUTINE dot_x_compute(id, arg_1, arg_2, result)
+
+      IMPLICIT NONE
+      INCLUDE 'EF_Util.cmn'
+      INCLUDE 'EF_mem_subsc.cmn'
+
+      INTEGER id
+
+      REAL arg_1(mem1lox:mem1hix, mem1loy:mem1hiy, mem1loz:mem1hiz, 
+     .           mem1lot:mem1hit, mem1loe:mem1hie, mem1lof:mem1hif)
+      REAL arg_2(mem2lox:mem2hix, mem2loy:mem2hiy, mem2loz:mem2hiz, 
+     .           mem2lot:mem2hit, mem2loe:mem2hie, mem2lof:mem2hif)
+
+      REAL result(memreslox:memreshix, memresloy:memreshiy, 
+     .            memresloz:memreshiz, memreslot:memreshit,
+     .            memresloe:memreshie, memreslof:memreshif)
+
+* After initialization, the 'res_' arrays contain indexing information 
+* for the result axes.  The 'arg_' arrays will contain the indexing 
+* information for each variable''s axes. 
+
+      INTEGER res_lo_ss(6),
+     .        res_hi_ss(6),
+     .        res_incr (6)
+      INTEGER arg_lo_ss(6,EF_MAX_ARGS),
+     .        arg_hi_ss(6,EF_MAX_ARGS),
+     .        arg_incr (6,EF_MAX_ARGS)
+
+      REAL bad_flag(EF_MAX_ARGS), bad_flag_result
+
+      INTEGER i, j, k, l, m, n
+      INTEGER i1, j1, k1, l1, m1, n1, i2, j2, k2, l2, m2, n2
+      CHARACTER*100 errtxt
+
+      CALL ef_get_res_subscripts_6d(id, res_lo_ss, res_hi_ss, res_incr)
+      CALL ef_get_arg_subscripts_6d(id, arg_lo_ss, arg_hi_ss, arg_incr)
+      CALL ef_get_bad_flags(id, bad_flag, bad_flag_result)
+
+* check to make sure both variables share the common axis
+      IF ( (arg_lo_ss(X_AXIS, ARG1) .EQ. ef_unspecified_int4) .OR. 
+     .     (arg_hi_ss(X_AXIS, ARG1) .EQ. ef_unspecified_int4) .OR. 
+     .     (arg_lo_ss(X_AXIS, ARG2) .EQ. ef_unspecified_int4) .OR. 
+     .     (arg_hi_ss(X_AXIS, ARG2) .EQ. ef_unspecified_int4) 
+     .      ) THEN
+         WRITE(errtxt,*) 'X axis of arguments 1 and 2 cannot be a normal axis'
+         GOTO 999
+      ENDIF
+      IF ( arg_hi_ss(X_AXIS, ARG1) - arg_lo_ss(X_AXIS, ARG1) .NE. 
+     .     arg_hi_ss(X_AXIS, ARG2) - arg_lo_ss(X_AXIS, ARG2) ) THEN
+         WRITE(errtxt,*) 'X axis of Arguments 1 and 2 must be the same length'
+         GOTO 999
+      ENDIF
+
+* Initialize the result, F90 initialize whole array
+
+      result = bad_flag_result  
+
+* Compute the dot product
+
+      n1 = arg_lo_ss(F_AXIS,ARG1)
+      n2 = arg_lo_ss(F_AXIS,ARG2)
+      DO 600 n = res_lo_ss(F_AXIS), res_hi_ss(F_AXIS)
+
+       m1 = arg_lo_ss(E_AXIS,ARG1)
+       m2 = arg_lo_ss(E_AXIS,ARG2)
+       DO 500 m = res_lo_ss(E_AXIS), res_hi_ss(E_AXIS)
+
+        l1 = arg_lo_ss(T_AXIS,ARG1)
+        l2 = arg_lo_ss(T_AXIS,ARG2)
+        DO 400 l = res_lo_ss(T_AXIS), res_hi_ss(T_AXIS)
+
+         k1 = arg_lo_ss(Z_AXIS,ARG1)
+         k2 = arg_lo_ss(Z_AXIS,ARG2)
+         DO 300 k = res_lo_ss(Z_AXIS), res_hi_ss(Z_AXIS)
+
+          j1 = arg_lo_ss(Y_AXIS,ARG1)
+          j2 = arg_lo_ss(Y_AXIS,ARG2)
+          DO 200 j = res_lo_ss(Y_AXIS), res_hi_ss(Y_AXIS)
+
+	    i = res_lo_ss(X_AXIS)
+           i2 = arg_lo_ss(X_AXIS,ARG2)
+           DO 100 i1 = arg_lo_ss(X_AXIS,ARG1), arg_hi_ss(X_AXIS,ARG1)
+
+            IF ( arg_1(i1,j1,k1,l1,m1,n1) .NE. bad_flag(ARG1) .AND. 
+     .	         arg_2(i2,j2,k2,l2,m2,n2) .NE. bad_flag(ARG2) ) THEN
+
+               IF (result(i,j,k,l,m,n) .EQ. bad_flag_result) THEN
+	          result(i,j,k,l,m,n) =  
+     .	            arg_1(i1,j1,k1,l1,m1,n1)* arg_2(i2,j2,k2,l2,m2,n2)
+
+               ELSE
+
+	          result(i,j,k,l,m,n) = result(i,j,k,l,m,n) + 
+     .	            arg_1(i1,j1,k1,l1,m1,n1)* arg_2(i2,j2,k2,l2,m2,n2)
+
+               ENDIF
+
+            ENDIF
+
+           i2 = i2 + arg_incr(X_AXIS,ARG2)
+ 100       CONTINUE
+
+           j1 = j1 + arg_incr(Y_AXIS,ARG1)
+           j2 = j2 + arg_incr(Y_AXIS,ARG2)
+ 200      CONTINUE
+
+          k1 = k1 + arg_incr(Z_AXIS,ARG1)
+          k2 = k2 + arg_incr(Z_AXIS,ARG2)
+ 300     CONTINUE
+
+         l1 = l1 + arg_incr(T_AXIS,ARG1)
+         l2 = l2 + arg_incr(T_AXIS,ARG2)
+ 400    CONTINUE
+
+        m1 = m1 + arg_incr(E_AXIS,ARG1)
+        m2 = m2 + arg_incr(E_AXIS,ARG2)
+ 500   CONTINUE
+
+       n1 = n1 + arg_incr(F_AXIS,ARG1)
+       n2 = n2 + arg_incr(F_AXIS,ARG2)
+ 600  CONTINUE
+
+      RETURN
+
+ 999  CALL EF_BAIL_OUT(id, errtxt)
+
+      RETURN 
+      END
diff --git a/fer/efi/dot_y.F b/fer/efi/dot_y.F
new file mode 100644
index 0000000..d556cf8
--- /dev/null
+++ b/fer/efi/dot_y.F
@@ -0,0 +1,203 @@
+*
+* dot_y.F
+*
+*  This software was developed by the Thermal Modeling and Analysis
+*  Project(TMAP) of the National Oceanographic and Atmospheric
+*  Administration's (NOAA) Pacific Marine Environmental Lab(PMEL),
+*  hereafter referred to as NOAA/PMEL/TMAP.
+*
+*  Access and use of this software shall impose the following
+*  obligations and understandings on the user. The user is granted the
+*  right, without any fee or cost, to use, copy, modify, alter, enhance
+*  and distribute this software, and any derivative works thereof, and
+*  its supporting documentation for any purpose whatsoever, provided
+*  that this entire notice appears in all copies of the software,
+*  derivative works and supporting documentation.  Further, the user
+*  agrees to credit NOAA/PMEL/TMAP in any publications that result from
+*  the use of this software or in any product that includes this
+*  software. The names TMAP, NOAA and/or PMEL, however, may not be used
+*  in any advertising or publicity to endorse or promote any products
+*  or commercial entity unless specific written permission is obtained
+*  from NOAA/PMEL/TMAP. The user also understands that NOAA/PMEL/TMAP
+*  is not obligated to provide the user with any support, consulting,
+*  training or assistance of any kind with regard to the use, operation
+*  and performance of this software nor to provide the user with any
+*  updates, revisions, new versions or "bug fixes".
+*
+*  THIS SOFTWARE IS PROVIDED BY NOAA/PMEL/TMAP "AS IS" AND ANY EXPRESS
+*  OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+*  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+*  ARE DISCLAIMED. IN NO EVENT SHALL NOAA/PMEL/TMAP BE LIABLE FOR ANY SPECIAL,
+*  INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
+*  RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF
+*  CONTRACT, NEGLIGENCE OR OTHER TORTUOUS ACTION, ARISING OUT OF OR IN
+*  CONNECTION WITH THE ACCESS, USE OR PERFORMANCE OF THIS SOFTWARE. 
+*
+* May 2017 Ansley Manke
+*
+* compute the dot product of two arguments along a shared axis
+*
+
+
+
+
+      SUBROUTINE dot_y_init(id)
+
+      IMPLICIT NONE
+      INCLUDE 'EF_Util.cmn'
+
+      INTEGER id, arg
+
+      CALL ef_set_desc(id, 'Compute the inner product of two variables along Y-axis')
+      CALL ef_set_num_args(id, 2)
+      CALL ef_set_axis_inheritance_6d(id,
+     .                                IMPLIED_BY_ARGS, NORMAL, 
+     .                                IMPLIED_BY_ARGS, IMPLIED_BY_ARGS,
+     .                                IMPLIED_BY_ARGS, IMPLIED_BY_ARGS)
+      CALL ef_set_piecemeal_ok_6d(id, NO, NO, NO, NO, NO, NO)
+
+      arg = 1
+      CALL ef_set_arg_name(id, arg, 'VAR1')
+      CALL ef_set_arg_desc(id, arg, 'Variable 1')
+      CALL ef_set_axis_influence_6d(id, arg,
+     .                                YES, YES, YES, YES, YES, YES)
+
+      arg = 2
+      CALL ef_set_arg_name(id, arg, 'VAR2')
+      CALL ef_set_arg_desc(id, arg, 'Variable 2')
+      CALL ef_set_axis_influence_6d(id, arg,
+     .                                YES, YES, YES, YES, YES, YES)
+
+      RETURN 
+      END
+
+*
+* In this subroutine we compute the result
+*
+      SUBROUTINE dot_y_compute(id, arg_1, arg_2, result)
+
+      IMPLICIT NONE
+      INCLUDE 'EF_Util.cmn'
+      INCLUDE 'EF_mem_subsc.cmn'
+
+      INTEGER id
+
+      REAL arg_1(mem1lox:mem1hix, mem1loy:mem1hiy, mem1loz:mem1hiz, 
+     .           mem1lot:mem1hit, mem1loe:mem1hie, mem1lof:mem1hif)
+      REAL arg_2(mem2lox:mem2hix, mem2loy:mem2hiy, mem2loz:mem2hiz, 
+     .           mem2lot:mem2hit, mem2loe:mem2hie, mem2lof:mem2hif)
+
+      REAL result(memreslox:memreshix, memresloy:memreshiy, 
+     .            memresloz:memreshiz, memreslot:memreshit,
+     .            memresloe:memreshie, memreslof:memreshif)
+
+* After initialization, the 'res_' arrays contain indexing information 
+* for the result axes.  The 'arg_' arrays will contain the indexing 
+* information for each variable''s axes. 
+
+      INTEGER res_lo_ss(6),
+     .        res_hi_ss(6),
+     .        res_incr (6)
+      INTEGER arg_lo_ss(6,EF_MAX_ARGS),
+     .        arg_hi_ss(6,EF_MAX_ARGS),
+     .        arg_incr (6,EF_MAX_ARGS)
+
+      REAL bad_flag(EF_MAX_ARGS), bad_flag_result
+
+      INTEGER i, j, k, l, m, n
+      INTEGER i1, j1, k1, l1, m1, n1, i2, j2, k2, l2, m2, n2
+      CHARACTER*100 errtxt
+
+      CALL ef_get_res_subscripts_6d(id, res_lo_ss, res_hi_ss, res_incr)
+      CALL ef_get_arg_subscripts_6d(id, arg_lo_ss, arg_hi_ss, arg_incr)
+      CALL ef_get_bad_flags(id, bad_flag, bad_flag_result)
+
+* check to make sure both variables share the common axis
+      IF ( (arg_lo_ss(Y_AXIS, ARG1) .EQ. ef_unspecified_int4) .OR. 
+     .     (arg_hi_ss(Y_AXIS, ARG1) .EQ. ef_unspecified_int4) .OR. 
+     .     (arg_lo_ss(Y_AXIS, ARG2) .EQ. ef_unspecified_int4) .OR. 
+     .     (arg_hi_ss(Y_AXIS, ARG2) .EQ. ef_unspecified_int4) 
+     .      ) THEN
+         WRITE(errtxt,*) 'Y axis of arguments 1 and 2 cannot be a normal axis'
+         GOTO 999
+      ENDIF
+      IF ( arg_hi_ss(Y_AXIS, ARG1) - arg_lo_ss(Y_AXIS, ARG1) .NE. 
+     .     arg_hi_ss(Y_AXIS, ARG2) - arg_lo_ss(Y_AXIS, ARG2) ) THEN
+         WRITE(errtxt,*) 'Y axis of Arguments 1 and 2 must be the same length'
+         GOTO 999
+      ENDIF
+
+* Initialize the result, F90 initialize whole array
+
+      result = bad_flag_result  
+
+* Compute the dot product
+
+      n1 = arg_lo_ss(F_AXIS,ARG1)
+      n2 = arg_lo_ss(F_AXIS,ARG2)
+      DO 600 n = res_lo_ss(F_AXIS), res_hi_ss(F_AXIS)
+
+       m1 = arg_lo_ss(E_AXIS,ARG1)
+       m2 = arg_lo_ss(E_AXIS,ARG2)
+       DO 500 m = res_lo_ss(E_AXIS), res_hi_ss(E_AXIS)
+
+        l1 = arg_lo_ss(T_AXIS,ARG1)
+        l2 = arg_lo_ss(T_AXIS,ARG2)
+        DO 400 l = res_lo_ss(T_AXIS), res_hi_ss(T_AXIS)
+
+         k1 = arg_lo_ss(Z_AXIS,ARG1)
+         k2 = arg_lo_ss(Z_AXIS,ARG2)
+         DO 300 k = res_lo_ss(Z_AXIS), res_hi_ss(Z_AXIS)
+
+          i1 = arg_lo_ss(X_AXIS,ARG1)
+          i2 = arg_lo_ss(X_AXIS,ARG2)
+          DO 200 i = res_lo_ss(X_AXIS), res_hi_ss(X_AXIS)
+
+	   j  = res_lo_ss(Y_AXIS)
+           j2 = arg_lo_ss(Y_AXIS,ARG2)
+           DO 100 j1 = arg_lo_ss(Y_AXIS,ARG1), arg_hi_ss(Y_AXIS,ARG1)
+
+            IF ( arg_1(i1,j1,k1,l1,m1,n1) .NE. bad_flag(ARG1) .AND. 
+     .	         arg_2(i2,j2,k2,l2,m2,n2) .NE. bad_flag(ARG2) ) THEN
+
+               IF (result(i,j,k,l,m,n) .EQ. bad_flag_result) THEN
+	          result(i,j,k,l,m,n) =  
+     .	            arg_1(i1,j1,k1,l1,m1,n1)* arg_2(i2,j2,k2,l2,m2,n2)
+
+               ELSE
+
+	          result(i,j,k,l,m,n) = result(i,j,k,l,m,n) + 
+     .	            arg_1(i1,j1,k1,l1,m1,n1)* arg_2(i2,j2,k2,l2,m2,n2)
+
+               ENDIF
+
+            ENDIF
+           j2 = j2 + arg_incr(Y_AXIS,ARG2)
+ 100       CONTINUE
+
+           i1 = i1 + arg_incr(X_AXIS,ARG1)
+           i2 = i2 + arg_incr(X_AXIS,ARG2)
+ 200      CONTINUE
+
+          k1 = k1 + arg_incr(Z_AXIS,ARG1)
+          k2 = k2 + arg_incr(Z_AXIS,ARG2)
+ 300     CONTINUE
+
+         l1 = l1 + arg_incr(T_AXIS,ARG1)
+         l2 = l2 + arg_incr(T_AXIS,ARG2)
+ 400    CONTINUE
+
+        m1 = m1 + arg_incr(E_AXIS,ARG1)
+        m2 = m2 + arg_incr(E_AXIS,ARG2)
+ 500   CONTINUE
+
+       n1 = n1 + arg_incr(F_AXIS,ARG1)
+       n2 = n2 + arg_incr(F_AXIS,ARG2)
+ 600  CONTINUE
+
+      RETURN
+
+ 999  CALL EF_BAIL_OUT(id, errtxt)
+
+      RETURN 
+      END
diff --git a/fer/efi/dot_z.F b/fer/efi/dot_z.F
new file mode 100644
index 0000000..8232856
--- /dev/null
+++ b/fer/efi/dot_z.F
@@ -0,0 +1,204 @@
+*
+* dot_z.F
+*
+*  This software was developed by the Thermal Modeling and Analysis
+*  Project(TMAP) of the National Oceanographic and Atmospheric
+*  Administration's (NOAA) Pacific Marine Environmental Lab(PMEL),
+*  hereafter referred to as NOAA/PMEL/TMAP.
+*
+*  Access and use of this software shall impose the following
+*  obligations and understandings on the user. The user is granted the
+*  right, without any fee or cost, to use, copy, modify, alter, enhance
+*  and distribute this software, and any derivative works thereof, and
+*  its supporting documentation for any purpose whatsoever, provided
+*  that this entire notice appears in all copies of the software,
+*  derivative works and supporting documentation.  Further, the user
+*  agrees to credit NOAA/PMEL/TMAP in any publications that result from
+*  the use of this software or in any product that includes this
+*  software. The names TMAP, NOAA and/or PMEL, however, may not be used
+*  in any advertising or publicity to endorse or promote any products
+*  or commercial entity unless specific written permission is obtained
+*  from NOAA/PMEL/TMAP. The user also understands that NOAA/PMEL/TMAP
+*  is not obligated to provide the user with any support, consulting,
+*  training or assistance of any kind with regard to the use, operation
+*  and performance of this software nor to provide the user with any
+*  updates, revisions, new versions or "bug fixes".
+*
+*  THIS SOFTWARE IS PROVIDED BY NOAA/PMEL/TMAP "AS IS" AND ANY EXPRESS
+*  OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+*  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+*  ARE DISCLAIMED. IN NO EVENT SHALL NOAA/PMEL/TMAP BE LIABLE FOR ANY SPECIAL,
+*  INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
+*  RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF
+*  CONTRACT, NEGLIGENCE OR OTHER TORTUOUS ACTION, ARISING OUT OF OR IN
+*  CONNECTION WITH THE ACCESS, USE OR PERFORMANCE OF THIS SOFTWARE. 
+*
+* May 2017 Ansley Manke
+*
+* compute the dot product of two arguments along a shared axis
+*
+
+
+
+
+      SUBROUTINE dot_z_init(id)
+
+      IMPLICIT NONE
+      INCLUDE 'EF_Util.cmn'
+
+      INTEGER id, arg
+
+      CALL ef_set_desc(id, 'Compute the inner product of two variables along Z-axis')
+      CALL ef_set_num_args(id, 2)
+      CALL ef_set_axis_inheritance_6d(id,
+     .                                IMPLIED_BY_ARGS, IMPLIED_BY_ARGS,
+     .                                NORMAL, IMPLIED_BY_ARGS,
+     .                                IMPLIED_BY_ARGS, IMPLIED_BY_ARGS)
+      CALL ef_set_piecemeal_ok_6d(id, NO, NO, NO, NO, NO, NO)
+
+      arg = 1
+      CALL ef_set_arg_name(id, arg, 'VAR1')
+      CALL ef_set_arg_desc(id, arg, 'Variable 1')
+      CALL ef_set_axis_influence_6d(id, arg,
+     .                                YES, YES, YES, YES, YES, YES)
+
+      arg = 2
+      CALL ef_set_arg_name(id, arg, 'VAR2')
+      CALL ef_set_arg_desc(id, arg, 'Variable 2')
+      CALL ef_set_axis_influence_6d(id, arg,
+     .                                YES, YES, YES, YES, YES, YES)
+
+      RETURN 
+      END
+
+*
+* In this subroutine we compute the result
+*
+      SUBROUTINE dot_z_compute(id, arg_1, arg_2, result)
+
+      IMPLICIT NONE
+      INCLUDE 'EF_Util.cmn'
+      INCLUDE 'EF_mem_subsc.cmn'
+
+      INTEGER id
+
+      REAL arg_1(mem1lox:mem1hix, mem1loy:mem1hiy, mem1loz:mem1hiz, 
+     .           mem1lot:mem1hit, mem1loe:mem1hie, mem1lof:mem1hif)
+      REAL arg_2(mem2lox:mem2hix, mem2loy:mem2hiy, mem2loz:mem2hiz, 
+     .           mem2lot:mem2hit, mem2loe:mem2hie, mem2lof:mem2hif)
+
+      REAL result(memreslox:memreshix, memresloy:memreshiy, 
+     .            memresloz:memreshiz, memreslot:memreshit,
+     .            memresloe:memreshie, memreslof:memreshif)
+
+* After initialization, the 'res_' arrays contain indexing information 
+* for the result axes.  The 'arg_' arrays will contain the indexing 
+* information for each variable''s axes. 
+
+      INTEGER res_lo_ss(6),
+     .        res_hi_ss(6),
+     .        res_incr (6)
+      INTEGER arg_lo_ss(6,EF_MAX_ARGS),
+     .        arg_hi_ss(6,EF_MAX_ARGS),
+     .        arg_incr (6,EF_MAX_ARGS)
+
+      REAL bad_flag(EF_MAX_ARGS), bad_flag_result
+
+      INTEGER i, j, k, l, m, n
+      INTEGER i1, j1, k1, l1, m1, n1, i2, j2, k2, l2, m2, n2
+      CHARACTER*100 errtxt
+
+      CALL ef_get_res_subscripts_6d(id, res_lo_ss, res_hi_ss, res_incr)
+      CALL ef_get_arg_subscripts_6d(id, arg_lo_ss, arg_hi_ss, arg_incr)
+      CALL ef_get_bad_flags(id, bad_flag, bad_flag_result)
+
+* check to make sure both variables share the common axis
+      IF ( (arg_lo_ss(Z_AXIS, ARG1) .EQ. ef_unspecified_int4) .OR. 
+     .     (arg_hi_ss(Z_AXIS, ARG1) .EQ. ef_unspecified_int4) .OR. 
+     .     (arg_lo_ss(Z_AXIS, ARG2) .EQ. ef_unspecified_int4) .OR. 
+     .     (arg_hi_ss(Z_AXIS, ARG2) .EQ. ef_unspecified_int4) 
+     .      ) THEN
+         WRITE(errtxt,*) 'Z axis of arguments 1 and 2 cannot be a normal axis'
+         GOTO 999
+      ENDIF
+      IF ( arg_hi_ss(Z_AXIS, ARG1) - arg_lo_ss(Z_AXIS, ARG1) .NE. 
+     .     arg_hi_ss(Z_AXIS, ARG2) - arg_lo_ss(Z_AXIS, ARG2) ) THEN
+         WRITE(errtxt,*) 'Z axis of Arguments 1 and 2 must be the same length'
+         GOTO 999
+      ENDIF
+
+* Initialize the result, F90 initialize whole array
+
+      result = bad_flag_result  
+
+* Compute the dot product
+
+      n1 = arg_lo_ss(F_AXIS,ARG1)
+      n2 = arg_lo_ss(F_AXIS,ARG2)
+      DO 600 n = res_lo_ss(F_AXIS), res_hi_ss(F_AXIS)
+
+       m1 = arg_lo_ss(E_AXIS,ARG1)
+       m2 = arg_lo_ss(E_AXIS,ARG2)
+       DO 500 m = res_lo_ss(E_AXIS), res_hi_ss(E_AXIS)
+
+        l1 = arg_lo_ss(T_AXIS,ARG1)
+        l2 = arg_lo_ss(T_AXIS,ARG2)
+        DO 400 l = res_lo_ss(T_AXIS), res_hi_ss(T_AXIS)
+
+         j1 = arg_lo_ss(Y_AXIS,ARG1)
+         j2 = arg_lo_ss(Y_AXIS,ARG2)
+         DO 300 j = res_lo_ss(Y_AXIS), res_hi_ss(Y_AXIS)
+
+          i1 = arg_lo_ss(X_AXIS,ARG1)
+          i2 = arg_lo_ss(X_AXIS,ARG2)
+          DO 200 i = res_lo_ss(X_AXIS), res_hi_ss(X_AXIS)
+
+	   k  = res_lo_ss(Z_AXIS)
+           k2 = arg_lo_ss(Z_AXIS,ARG2)
+           DO 100 k1 = arg_lo_ss(Z_AXIS,ARG1), arg_hi_ss(Z_AXIS,ARG1)
+
+            IF ( arg_1(i1,j1,k1,l1,m1,n1) .NE. bad_flag(ARG1) .AND. 
+     .	         arg_2(i2,j2,k2,l2,m2,n2) .NE. bad_flag(ARG2) ) THEN
+
+               IF (result(i,j,k,l,m,n) .EQ. bad_flag_result) THEN
+	          result(i,j,k,l,m,n) =  
+     .	            arg_1(i1,j1,k1,l1,m1,n1)* arg_2(i2,j2,k2,l2,m2,n2)
+
+               ELSE
+
+	          result(i,j,k,l,m,n) =  result(i,j,k,l,m,n) + 
+     .	            arg_1(i1,j1,k1,l1,m1,n1)* arg_2(i2,j2,k2,l2,m2,n2)
+
+               ENDIF
+
+            ENDIF
+
+           k2 = k2 + arg_incr(Z_AXIS,ARG2)
+ 100       CONTINUE
+
+           i1 = i1 + arg_incr(X_AXIS,ARG1)
+           i2 = i2 + arg_incr(X_AXIS,ARG2)
+ 200      CONTINUE
+
+          j1 = j1 + arg_incr(Y_AXIS,ARG1)
+          j2 = j2 + arg_incr(Y_AXIS,ARG2)
+ 300     CONTINUE
+
+         l1 = l1 + arg_incr(T_AXIS,ARG1)
+         l2 = l2 + arg_incr(T_AXIS,ARG2)
+ 400    CONTINUE
+
+        m1 = m1 + arg_incr(E_AXIS,ARG1)
+        m2 = m2 + arg_incr(E_AXIS,ARG2)
+ 500   CONTINUE
+
+       n1 = n1 + arg_incr(F_AXIS,ARG1)
+       n2 = n2 + arg_incr(F_AXIS,ARG2)
+ 600  CONTINUE
+
+      RETURN
+
+ 999  CALL EF_BAIL_OUT(id, errtxt)
+
+      RETURN 
+      END
diff --git a/fer/efi/expnd_by_len.F b/fer/efi/expnd_by_len.F
index a82a5e0..7812f00 100644
--- a/fer/efi/expnd_by_len.F
+++ b/fer/efi/expnd_by_len.F
@@ -63,6 +63,9 @@
       CALL ef_set_axis_inheritance_6d(id, ABSTRACT, NORMAL, 
      .     NORMAL, NORMAL, NORMAL, NORMAL)
 
+* Tell Ferret to run the following instead, if the arguments are strings.
+      CALL ef_set_alt_fcn_name(id, 'EXPND_BY_LEN_STR')
+
       arg = 1
       CALL ef_set_arg_name(id, arg, 'var')
       CALL ef_set_arg_unit(id, arg, ' ')
diff --git a/fer/efi/expndi_by_m_counts.F b/fer/efi/expndi_by_m_counts.F
index ddc9e69..a390179 100644
--- a/fer/efi/expndi_by_m_counts.F
+++ b/fer/efi/expndi_by_m_counts.F
@@ -62,29 +62,32 @@
 *                                                                      V
 
       CALL ef_set_desc(id,
-     .  'Expand arg1 into an XE grid. (split I variable into E-Rows)' )
+     .  'Expand arg1 into an XE grid. (Split I variable into E-Rows)' )
 
       CALL ef_set_num_args(id, 3)
       CALL ef_set_has_vari_args(id, NO)
-      CALL ef_set_axis_inheritance_6d(id, CUSTOM, NORMAL, 
-     .     NORMAL, NORMAL, CUSTOM, NORMAL)
+      CALL ef_set_axis_inheritance_6d(id, IMPLIED_BY_ARGS, NORMAL, 
+     .     NORMAL, NORMAL, IMPLIED_BY_ARGS, NORMAL)
+
+* Tell Ferret to run the following instead, if the arguments are strings.
+      CALL ef_set_alt_fcn_name(id, 'EXPNDI_BY_M_COUNTS_STR')
 
       arg = 1
-      CALL ef_set_arg_name(id, arg, 'dat')
+      CALL ef_set_arg_name(id, arg, 'Data')
       CALL ef_set_arg_desc(id, arg, '1-D variable to expand')
       CALL ef_set_axis_influence_6d(id, arg, NO, NO, NO, NO, NO, NO)
 
       arg = 2
-      CALL ef_set_arg_name(id, arg, 'counts')
+      CALL ef_set_arg_name(id, arg, 'Row Sizes')
       CALL ef_set_arg_desc(id, arg,
-     .          '1-D list on E axis: count of values in each trajectory')
-      CALL ef_set_axis_influence_6d(id, arg, NO, NO, NO, NO, NO, NO)
+     .          '1-D list on E axis: count of values in each feature')
+      CALL ef_set_axis_influence_6d(id, arg, NO, NO, NO, NO, YES, NO)
 
       arg = 3
-      CALL ef_set_arg_name(id, arg, 'max_row_len')
+      CALL ef_set_arg_name(id, arg, 'Result X axis')
       CALL ef_set_arg_desc(id, arg,
-     .          'I size of result (constant)')
-      CALL ef_set_axis_influence_6d(id, arg, NO, NO, NO, NO, NO, NO)
+     .          'Variable on a 1-D grid, axis of length max_row_len')
+      CALL ef_set_axis_influence_6d(id, arg, YES, NO, NO, NO, NO, NO)
 *                                                                      ^
 *                                                                      |
 *                                            USER CONFIGURABLE PORTION |
@@ -93,95 +96,6 @@
       RETURN 
       END
 
- 
-      SUBROUTINE expndi_by_m_counts_custom_axes(id)
- 
-      IMPLICIT NONE
-      INCLUDE 'EF_Util.cmn'
- 
-      INTEGER id
-
-      REAL size, ene
-      integer arg, idim, nm
-
-       INTEGER arg_lo_ss(6,EF_MAX_ARGS),
-     .        arg_hi_ss(6,EF_MAX_ARGS),
-     .        arg_incr (6,EF_MAX_ARGS)
-*
-*     Use utility functions to get context information about the arguments.
-*
-       CALL ef_get_arg_subscripts_6d(id, arg_lo_ss, arg_hi_ss, arg_incr)
- 
-* output X axis size: Longest feature
-
-      CALL ef_get_one_val(id, ARG3, size)
-      CALL ef_set_custom_axis(id, X_AXIS, 1.0, size, 1.0, 'Obs', NO)
-
-
-* output E axis size: Rowsize
-      arg = 2
-      nm = arg_hi_ss(E_AXIS,arg)-arg_lo_ss(E_AXIS,arg) + 1
-      ene = FLOAT(nm)
-      CALL ef_set_custom_axis(id, E_AXIS, 1., ene, 1., 'Row', NO)
- 
-*                                                                     ^
-*                                                                     |
-*                                           USER CONFIGURABLE PORTION |
-* **********************************************************************
-
-      RETURN 
-      END
- 
-*
-* In this subroutine we provide information about the lo and hi
-* limits associated with each abstract or custom axis.   The user 
-* configurable information consists of the following:
-*
-* lo_ss               lo subscript for an axis
-*
-* hi_ss               hi subscript for an axis
-*
-
-      SUBROUTINE expndi_by_m_counts_result_limits(id)
-
-      INCLUDE 'EF_Util.cmn'
-
-      INTEGER id
-
-* **********************************************************************
-*                                           USER CONFIGURABLE PORTION |
-*                                                                     |
-*                                                                     V
-
-      REAL size
-      integer nm, arg, idim
-      INTEGER arg_lo_ss(6,EF_MAX_ARGS),
-     .        arg_hi_ss(6,EF_MAX_ARGS),
-     .        arg_incr (6,EF_MAX_ARGS)
-
-*
-*     Use utility functions to get context information about the arguments.
-*
-      CALL ef_get_arg_subscripts_6d(id, arg_lo_ss, arg_hi_ss, arg_incr)
-
-* output X axis size: Longest feature
-      CALL ef_get_one_val(id, ARG3, size)
-      nm = INT(ABS(size))
-      CALL ef_set_axis_limits(id, X_AXIS, 1, nm)
-
-* output E axis size
-      arg = 1
-      nm = arg_hi_ss(E_AXIS,arg)-arg_lo_ss(E_AXIS,arg) + 1
-      CALL ef_set_axis_limits(id, E_AXIS, 1, nm)
-
-*                                                                     ^
-*                                                                     |
-*                                           USER CONFIGURABLE PORTION |
-* **********************************************************************
-
-      RETURN 
-      END
-
 * 
 *  In this subroutine we compute the result
 * 
@@ -288,9 +202,9 @@
          m1 = arg_lo_ss(E_AXIS,ARG1)
          m2 = arg_lo_ss(E_AXIS,ARG2)
  
-	    i1 = 1
+            i1 = 1
             DO 200 mout=arg_lo_ss(E_AXIS,ARG2),arg_hi_ss(E_AXIS,ARG2)
-               DO 100 iout = 1, arg_2(i2,j2,k2,l2,mout,n1)
+               DO 100 iout = 1, NINT(arg_2(i2,j2,k2,l2,mout,n1))
                  IF ( arg_1(i1,j1,k1,l1,m1,n1) .NE. bad_flag(1) )
      .             result(iout,j,k,l,mout,n) = arg_1(i1,j1,k1,l1,m1,n1)
 
diff --git a/fer/efi/expndi_by_m_counts.F b/fer/efi/expndi_by_m_counts_str.F
similarity index 63%
copy from fer/efi/expndi_by_m_counts.F
copy to fer/efi/expndi_by_m_counts_str.F
index ddc9e69..b7f61f1 100644
--- a/fer/efi/expndi_by_m_counts.F
+++ b/fer/efi/expndi_by_m_counts_str.F
@@ -1,5 +1,5 @@
 * 
-*  expndi_by_m_counts.F
+*  expndi_by_m_counts_str.F
 * 
 *  Ansley Manke (from expndi_by_z_counts)
 *  4/2014
@@ -50,7 +50,7 @@
 *
 
 
-      SUBROUTINE expndi_by_m_counts_init(id)
+      SUBROUTINE expndi_by_m_counts_str_init(id)
 
       INCLUDE 'EF_Util.cmn'
 
@@ -62,29 +62,31 @@
 *                                                                      V
 
       CALL ef_set_desc(id,
-     .  'Expand arg1 into an XE grid. (split I variable into E-Rows)' )
+     .  'Expand String-valued arg1 into an XE grid. (Split I variable into E-Rows)' )
 
       CALL ef_set_num_args(id, 3)
       CALL ef_set_has_vari_args(id, NO)
-      CALL ef_set_axis_inheritance_6d(id, CUSTOM, NORMAL, 
-     .     NORMAL, NORMAL, CUSTOM, NORMAL)
+      CALL ef_set_axis_inheritance_6d(id, IMPLIED_BY_ARGS, NORMAL, 
+     .     NORMAL, NORMAL, IMPLIED_BY_ARGS, NORMAL)
+      CALL ef_set_result_type(id, STRING_RETURN)
 
       arg = 1
-      CALL ef_set_arg_name(id, arg, 'dat')
+      CALL ef_set_arg_name(id, arg, 'Data')
       CALL ef_set_arg_desc(id, arg, '1-D variable to expand')
       CALL ef_set_axis_influence_6d(id, arg, NO, NO, NO, NO, NO, NO)
+      CALL ef_set_arg_type (id, arg, STRING_ARG)
 
       arg = 2
-      CALL ef_set_arg_name(id, arg, 'counts')
+      CALL ef_set_arg_name(id, arg, 'Row Sizes')
       CALL ef_set_arg_desc(id, arg,
-     .          '1-D list on E axis: count of values in each trajectory')
-      CALL ef_set_axis_influence_6d(id, arg, NO, NO, NO, NO, NO, NO)
+     .          '1-D list on E axis: count of values in each feature')
+      CALL ef_set_axis_influence_6d(id, arg, NO, NO, NO, NO, YES, NO)
 
       arg = 3
-      CALL ef_set_arg_name(id, arg, 'max_row_len')
+      CALL ef_set_arg_name(id, arg, 'Result X axis')
       CALL ef_set_arg_desc(id, arg,
-     .          'I size of result (constant)')
-      CALL ef_set_axis_influence_6d(id, arg, NO, NO, NO, NO, NO, NO)
+     .          'Variable on a 1-D grid, axis of length max_row_len')
+      CALL ef_set_axis_influence_6d(id, arg, YES, NO, NO, NO, NO, NO)
 *                                                                      ^
 *                                                                      |
 *                                            USER CONFIGURABLE PORTION |
@@ -93,99 +95,10 @@
       RETURN 
       END
 
- 
-      SUBROUTINE expndi_by_m_counts_custom_axes(id)
- 
-      IMPLICIT NONE
-      INCLUDE 'EF_Util.cmn'
- 
-      INTEGER id
-
-      REAL size, ene
-      integer arg, idim, nm
-
-       INTEGER arg_lo_ss(6,EF_MAX_ARGS),
-     .        arg_hi_ss(6,EF_MAX_ARGS),
-     .        arg_incr (6,EF_MAX_ARGS)
-*
-*     Use utility functions to get context information about the arguments.
-*
-       CALL ef_get_arg_subscripts_6d(id, arg_lo_ss, arg_hi_ss, arg_incr)
- 
-* output X axis size: Longest feature
-
-      CALL ef_get_one_val(id, ARG3, size)
-      CALL ef_set_custom_axis(id, X_AXIS, 1.0, size, 1.0, 'Obs', NO)
-
-
-* output E axis size: Rowsize
-      arg = 2
-      nm = arg_hi_ss(E_AXIS,arg)-arg_lo_ss(E_AXIS,arg) + 1
-      ene = FLOAT(nm)
-      CALL ef_set_custom_axis(id, E_AXIS, 1., ene, 1., 'Row', NO)
- 
-*                                                                     ^
-*                                                                     |
-*                                           USER CONFIGURABLE PORTION |
-* **********************************************************************
-
-      RETURN 
-      END
- 
-*
-* In this subroutine we provide information about the lo and hi
-* limits associated with each abstract or custom axis.   The user 
-* configurable information consists of the following:
-*
-* lo_ss               lo subscript for an axis
-*
-* hi_ss               hi subscript for an axis
-*
-
-      SUBROUTINE expndi_by_m_counts_result_limits(id)
-
-      INCLUDE 'EF_Util.cmn'
-
-      INTEGER id
-
-* **********************************************************************
-*                                           USER CONFIGURABLE PORTION |
-*                                                                     |
-*                                                                     V
-
-      REAL size
-      integer nm, arg, idim
-      INTEGER arg_lo_ss(6,EF_MAX_ARGS),
-     .        arg_hi_ss(6,EF_MAX_ARGS),
-     .        arg_incr (6,EF_MAX_ARGS)
-
-*
-*     Use utility functions to get context information about the arguments.
-*
-      CALL ef_get_arg_subscripts_6d(id, arg_lo_ss, arg_hi_ss, arg_incr)
-
-* output X axis size: Longest feature
-      CALL ef_get_one_val(id, ARG3, size)
-      nm = INT(ABS(size))
-      CALL ef_set_axis_limits(id, X_AXIS, 1, nm)
-
-* output E axis size
-      arg = 1
-      nm = arg_hi_ss(E_AXIS,arg)-arg_lo_ss(E_AXIS,arg) + 1
-      CALL ef_set_axis_limits(id, E_AXIS, 1, nm)
-
-*                                                                     ^
-*                                                                     |
-*                                           USER CONFIGURABLE PORTION |
-* **********************************************************************
-
-      RETURN 
-      END
-
 * 
 *  In this subroutine we compute the result
 * 
-      SUBROUTINE expndi_by_m_counts_compute(id, arg_1, arg_2, arg_3, 
+      SUBROUTINE expndi_by_m_counts_str_compute(id, arg_1, arg_2, arg_3, 
      .                               result)
 
       INCLUDE 'EF_Util.cmn'
@@ -224,7 +137,8 @@
       INTEGER i,j,k,l,m,n
       INTEGER i1, j1, k1, l1, m1, n1
       INTEGER i2, j2, k2, l2, m2, n2
-      INTEGER imax, iout, isum, mmax, mrow, mout
+      INTEGER imax, iout, isum, mmax, mrow, mout, slen
+      CHARACTER*2048 buff
 
       CALL ef_get_res_subscripts_6d(id, res_lo_ss, res_hi_ss, res_incr)
       CALL ef_get_arg_subscripts_6d(id, arg_lo_ss, arg_hi_ss, arg_incr)
@@ -253,16 +167,6 @@
      .         'arg 2 values (counts) must sum to x-dimension length of of arg1 ')
  20   CONTINUE
 
-* pre-fill the entire output result with missing value flags
-*  (since length of each profile may have different number of pts)
-      DO 50 n=res_lo_ss(F_AXIS), res_hi_ss(F_AXIS)
-      DO 50 m=res_lo_ss(E_AXIS), res_hi_ss(E_AXIS)
-      DO 50 l=res_lo_ss(T_AXIS), res_hi_ss(T_AXIS)
-      DO 50 j=res_lo_ss(Y_AXIS), res_hi_ss(Y_AXIS)
-      DO 50 k=res_lo_ss(Z_AXIS), res_hi_ss(Z_AXIS)
-      DO 50 i=res_lo_ss(X_AXIS), res_hi_ss(X_AXIS)
-         result(i,j,k,l,m,n) = bad_flag_result
- 50   CONTINUE
 
 * fill in the points as specified by the counts
 
@@ -288,14 +192,16 @@
          m1 = arg_lo_ss(E_AXIS,ARG1)
          m2 = arg_lo_ss(E_AXIS,ARG2)
  
-	    i1 = 1
+            i1 = 1
             DO 200 mout=arg_lo_ss(E_AXIS,ARG2),arg_hi_ss(E_AXIS,ARG2)
-               DO 100 iout = 1, arg_2(i2,j2,k2,l2,mout,n1)
-                 IF ( arg_1(i1,j1,k1,l1,m1,n1) .NE. bad_flag(1) )
-     .             result(iout,j,k,l,mout,n) = arg_1(i1,j1,k1,l1,m1,n1)
+               DO 100 iout = 1, NINT(arg_2(i2,j2,k2,l2,mout,n1))
+                  CALL EF_GET_STRING_ARG_ELEMENT_6D(id, ARG1, arg_1,
+     .                             i1,j1,k1,l1,m1,n1, slen, buff)
+                  CALL EF_PUT_STRING(buff, slen, result(iout,j,k,l,mout,n))
 
                   i1 = i1 + 1
  100           CONTINUE
+
  200        CONTINUE
 
          j1 = j1 + arg_incr(Y_AXIS,ARG1)
diff --git a/fer/efi/expndi_by_z_counts.F b/fer/efi/expndi_by_z_counts.F
index 13f4665..48ca17f 100644
--- a/fer/efi/expndi_by_z_counts.F
+++ b/fer/efi/expndi_by_z_counts.F
@@ -245,9 +245,9 @@
          j2 = arg_lo_ss(Y_AXIS,ARG2)
          DO 300 j=res_lo_ss(Y_AXIS), res_hi_ss(Y_AXIS)
 
-	    i1 = 1
+            i1 = 1
             DO 200 iout=arg_lo_ss(X_AXIS,ARG2),arg_hi_ss(X_AXIS,ARG2)
-               DO 100 kout = 1, arg_2(iout,j2,k2,l2)
+               DO 100 kout = 1, NINT(arg_2(iout,j2,k2,l2))
                  IF ( arg_1(i1,j1,k1,l1) .NE. bad_flag(1) )
      .             result(iout,j,kout,l) = arg_1(i1,j1,k1,l1)
                   i1 = i1 + 1
diff --git a/fer/efi/expndi_id_by_z_counts.F b/fer/efi/expndi_id_by_z_counts.F
index b55cfc8..d8f099f 100644
--- a/fer/efi/expndi_id_by_z_counts.F
+++ b/fer/efi/expndi_id_by_z_counts.F
@@ -213,9 +213,9 @@
          j1 = arg_lo_ss(Y_AXIS,ARG1)
          DO 300 j=res_lo_ss(Y_AXIS), res_hi_ss(Y_AXIS)
 
-	    i1 = 1
-            DO 200 iout = 1, xlen
-               DO 100 kout = 1, arg_1(iout,j1,k1,l1)
+            i1 = 1
+            DO 200 iout = 1, NINT(xlen)
+               DO 100 kout = 1, NINT(arg_1(iout,j1,k1,l1))
                   result(iout,j,kout,l) = iout
                   i1 = i1 + 1
  100           CONTINUE
diff --git a/fer/efi/gridding_subs.F b/fer/efi/gridding_subs.F
new file mode 100644
index 0000000..133587f
--- /dev/null
+++ b/fer/efi/gridding_subs.F
@@ -0,0 +1,277 @@
+c gridding_subs.F
+c Utility functions called by gridding functions
+
+
+c nobsxytv 
+c
+c***********************************************************************
+c...NOBS.....Based on gausswt, return only the # of obs in (x,y) gridbox
+c............method is to call this sub for each data value
+c............all calcs done in gridbox units
+c............xx/x1/xf all in same units
+c............yy/y1/yf all in same units
+
+c  i	xx,yy,tt=x/y/t location of data pt (data units)
+c  i	nx,ny,nt=size of grids
+c  i	xaxlo,xaxyi, etc bounds of destination grid cells
+c  o 	obs(nx,ny,nt) number of obs in each (x,y,t) gridbox
+c--------------------------------------------------------------------------
+
+	SUBROUTINE nobsxytv (obs_only, xx, yy, tt, vv, nx, ny, nt, 
+     .             xaxlo,xaxhi, yaxlo,yaxhi, taxlo,taxhi, indx, obs)
+
+
+* Argument declarations
+
+        INTEGER nx, ny, nt, obs_only, indx(4,2)
+	REAL xx, yy, tt, vv, xaxlo(*), xaxhi(*), 
+     .       yaxlo(*), yaxhi(*), taxlo(*), taxhi(*), obs(nx,ny,2,nt)
+
+* Local variable declarations
+
+        INTEGER i, j, l, ig, jg, Lg
+
+	lg = 1
+	DO l = 1, nt
+	   IF (tt.GE.taxlo(lg) .AND.
+     .         tt.LT.taxhi(lg)) THEN
+              jg = 1
+	      DO j = 1, ny
+		 IF (yy.GE.yaxlo(jg) .AND.
+     .	             yy.LT.yaxhi(jg)) THEN
+                    ig = 1
+		    DO i = 1, nx
+		       IF ( xx.GE.xaxlo(ig) .AND.
+     .                      xx.LT.xaxhi(ig)) THEN
+
+		          IF (obs_only .EQ. 0) THEN
+		             obs(ig,jg,1,Lg) = obs(ig,jg,1,Lg) + vv
+		             obs(ig,jg,2,Lg) = obs(ig,jg,2,Lg) + 1.
+		          ELSE
+		             obs(ig,jg,1,Lg) = obs(ig,jg,1,Lg) + 1.
+		             ENDIF
+
+* Store the min and max index used in this cruise
+		             indx(1,1) = MIN(indx(1,1), ig)
+		             indx(1,2) = MAX(indx(1,2), ig)
+		             indx(2,1) = MIN(indx(2,1), jg)
+		             indx(2,2) = MAX(indx(2,2), jg)
+		             indx(4,1) = MIN(indx(4,1), Lg)
+		             indx(4,2) = MAX(indx(4,2), Lg)
+		       ENDIF !xx in grid box
+		       ig = ig + 1
+		    ENDDO  ! nx
+
+		 ENDIF !yy in grid box
+		 jg = jg + 1
+	      ENDDO  ! ny
+
+	   ENDIF !tt in grid box
+	   lg = lg + 1
+	ENDDO  ! nt
+
+	RETURN
+	END
+
+
+c nobsxytv_var
+c
+c***********************************************************************
+c...NOBS.....Based on gausswt, return only the # of obs in (x,y) gridbox
+c............method is to call this sub for each data value
+c............all calcs done in gridbox units
+c............xx/x1/xf all in same units
+c............yy/y1/yf all in same units
+
+c this version returns the cell mean in obs(ig,jg,1,Lg)
+c this version returns the cell variance in obs(ig,jg,3,Lg)
+
+c  i	xx,yy,tt=x/y/t location of data pt (data units)
+c  i	nx,ny,nt=size of grids
+c  i	xaxlo,xaxyi, etc bounds of destination grid cells
+c  o 	obs(nx,ny,nt) number of obs in each (x,y,t) gridbox
+c--------------------------------------------------------------------------
+
+	SUBROUTINE nobsxytv_var (obs_only, xx, yy, tt, vv, nx, ny, nt, 
+     .             xaxlo,xaxhi, yaxlo,yaxhi, taxlo,taxhi, indx, obs)
+
+
+* Argument declarations
+
+        INTEGER nx, ny, nt, obs_only, indx(4,2)
+	REAL xx, yy, tt, vv,xaxlo(*), xaxhi(*), yaxlo(*), yaxhi(*), 
+     .       taxlo(*), taxhi(*), obs(nx,ny,3,nt)
+
+* Local variable declarations
+
+        REAL xxg, yyg, ttg, delta
+        INTEGER i, j, l, ig, jg, Lg 
+
+	lg = 1
+	DO l = 1, nt
+	   IF (tt.GE.taxlo(lg) .AND.
+     .         tt.LT.taxhi(lg)) THEN
+              jg = 1
+	      DO j = 1, ny
+		 IF (yy.GE.yaxlo(jg) .AND.
+     .	             yy.LT.yaxhi(jg)) THEN
+                    ig = 1
+		    DO i = 1, nx
+		       IF ( xx.GE.xaxlo(ig) .AND.
+     .                      xx.LT.xaxhi(ig)) THEN
+
+		          IF (obs_only .EQ. 0) THEN
+		             obs(ig,jg,2,Lg) = obs(ig,jg,2,Lg) + 1.	! count
+		             delta = vv - obs(ig,jg,1,Lg)
+		             obs(ig,jg,1,Lg) = obs(ig,jg,1,Lg) + 
+     .                          delta/obs(ig,jg,2,Lg) ! current est of mean
+		             obs(ig,jg,3,Lg) = obs(ig,jg,3,Lg) - 
+     .                          delta*(vv - obs(ig,jg,1,Lg)) !M2
+		          ELSE
+		             obs(ig,jg,1,Lg) = obs(ig,jg,1,Lg) + 1.
+		          ENDIF
+
+* Store the min and max index used in this cruise
+		             indx(1,1) = MIN(indx(1,1), ig)
+		             indx(1,2) = MAX(indx(1,2), ig)
+		             indx(2,1) = MIN(indx(2,1), jg)
+		             indx(2,2) = MAX(indx(2,2), jg)
+		             indx(4,1) = MIN(indx(4,1), Lg)
+		             indx(4,2) = MAX(indx(4,2), Lg)
+		       ENDIF !xx in grid box
+		       ig = ig + 1
+		    ENDDO  ! nx
+
+		 ENDIF !yy in grid box
+		 jg = jg + 1
+	      ENDDO  ! ny
+
+	   ENDIF !tt in grid box
+	   lg = lg + 1
+	ENDDO  ! nt
+
+
+	RETURN
+	END
+
+c ----------------
+c http://en.wikipedia.org/wiki/Algorithms_for_calculating_variance#On-line_algorithm
+c def online_variance(data):
+c     n = 0
+c     mean = 0
+c     M2 = 0
+c 
+c     for x in data:
+c         n = n + 1
+c         delta = x - mean
+c         mean = mean + delta/n
+c         M2 = M2 + delta*(x - mean)  # This expression uses the new value of mean
+c 
+c     variance_n = M2/n
+c     variance = M2/(n - 1)
+c     return variance
+c ------------------
+
+c pickoutxytcv
+c
+c***********************************************************************
+      SUBROUTINE pickoutxytcv (obs_only, vars, alon, alat, atimes,
+     .   cruises, n, vv, xx, yy, tt, ncc)
+
+*  Called from the scatter* family of gridding functions.
+*  Pick out nth item from a set of arrays, which are really 
+*  4-dimensioned arrays with normal axes on three of the four axes.
+
+      REAL alon(*), alat(*), atimes(*), cruises(*), vars(*)
+      REAL xx, yy, tt, vv
+      INTEGER obs_only, n, ncc
+
+      vv = 1.
+      IF (obs_only .EQ. 0) vv = vars(n)
+      xx = alon(n)
+      yy = alat(n)
+      tt = atimes(n)
+      ncc = cruises(n)
+
+      RETURN
+      END
+
+c
+c modscatminmax
+c
+c***********************************************************************
+
+      SUBROUTINE modscatminmax (axlo, axhi, nscat, scatm)
+*
+*  This software was developed by the Thermal Modeling and Analysis
+*  Project(TMAP) of the National Oceanographic and Atmospheric
+*  Administration's (NOAA) Pacific Marine Environmental Lab(PMEL),
+*  hereafter referred to as NOAA/PMEL/TMAP.
+*
+*  Access and use of this software shall impose the following
+*  obligations and understandings on the user. The user is granted the
+*  right, without any fee or cost, to use, copy, modify, alter, enhance
+*  and distribute this software, and any derivative works thereof, and
+*  its supporting documentation for any purpose whatsoever, provided
+*  that this entire notice appears in all copies of the software,
+*  derivative works and supporting documentation.  Further, the user
+*  agrees to credit NOAA/PMEL/TMAP in any publications that result from
+*  the use of this software or in any product that includes this
+*  software. The names TMAP, NOAA and/or PMEL, however, may not be used
+*  in any advertising or publicity to endorse or promote any products
+*  or commercial entity unless specific written permission is obtained
+*  from NOAA/PMEL/TMAP. The user also understands that NOAA/PMEL/TMAP
+*  is not obligated to provide the user with any support, consulting,
+*  training or assistance of any kind with regard to the use, operation
+*  and performance of this software nor to provide the user with any
+*  updates, revisions, new versions or "bug fixes".
+*
+*  THIS SOFTWARE IS PROVIDED BY NOAA/PMEL/TMAP "AS IS" AND ANY EXPRESS
+*  OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+*  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+*  ARE DISCLAIMED. IN NO EVENT SHALL NOAA/PMEL/TMAP BE LIABLE FOR ANY SPECIAL,
+*  INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
+*  RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF
+*  CONTRACT, NEGLIGENCE OR OTHER TORTUOUS ACTION, ARISING OUT OF OR IN
+*  CONNECTION WITH THE ACCESS, USE OR PERFORMANCE OF THIS SOFTWARE. 
+* 
+* ACM 11/00
+*  Called by scat2gridlaplace* gridding functions.
+*  If there is a modulo axis, apply modulo-ness to the coordinates in that 
+*  direction of the scattered points.
+
+*  ax           axlo, axhi outer box range of the modulo axis
+*  nscat        input: number of scattered points, output: updated number.
+*  scatm        scattered points coordinate array in the direction of the 
+*               modulo axis
+
+      REAL scatm(*)
+      REAL*8 axlo, axhi
+      INTEGER nscat, i
+      REAL ax1, axf, scatpt, diff, range
+
+      ax1 = axlo
+      axf = axhi
+      range = axf - ax1
+      IF (range .EQ. 0.) RETURN  ! else the WHILE loops are infinite !
+
+      DO 100 i = 1, nscat
+         scatpt = scatm(i)
+         diff = scatpt - axf
+         DO WHILE (diff .GE. 0)
+            scatpt = scatpt - range
+            diff = scatpt - axf
+         ENDDO
+
+         diff = scatpt - ax1 
+         DO WHILE (diff .LT. 0.)
+            scatpt = scatpt + range
+            diff = scatpt - ax1
+         ENDDO
+
+         scatm(i) = scatpt
+  100 CONTINUE
+
+      RETURN
+      END
+
diff --git a/fer/efi/is_element_of.F b/fer/efi/is_element_of.F
index cd152de..6e4df1c 100644
--- a/fer/efi/is_element_of.F
+++ b/fer/efi/is_element_of.F
@@ -92,11 +92,11 @@
 
       WRITE (fcn_desc, 10)
    10 FORMAT ('Returns 1 if first argument contains any of the ',
-     .        'values in argument 2, else 0')
+     .        'values in 2nd arg, else 0')
       CALL ef_set_desc(id, fcn_desc)
       
 * Tell Ferret to run the following instead, if the arguments are strings.
-      CALL ef_set_alt_fcn_name(id, 'IS_ELEMENT_OF_STR')
+      CALL ef_set_alt_fcn_name(id, 'IS_ELEMENT_OF_STR_CASE')
 
       CALL ef_set_num_args(id, 2)
       CALL ef_set_has_vari_args(id, NO)
diff --git a/fer/efi/is_element_of_str.F b/fer/efi/is_element_of_str.F
index 81e01db..4372633 100644
--- a/fer/efi/is_element_of_str.F
+++ b/fer/efi/is_element_of_str.F
@@ -94,7 +94,7 @@
 
       WRITE (fcn_desc, 10)
    10 FORMAT ('Returns 1 if first argument contains any of the ',
-     .        'values in 2nd argument (case sensitive), else 0')
+     .        'values in 2nd arg (case sensitive), else 0')
       CALL ef_set_desc(id, fcn_desc)
 
       CALL ef_set_num_args(id, 2)
diff --git a/fer/efi/minmax.F b/fer/efi/minmax_fcn.F
similarity index 99%
rename from fer/efi/minmax.F
rename to fer/efi/minmax_fcn.F
index 1164255..f3a9347 100644
--- a/fer/efi/minmax.F
+++ b/fer/efi/minmax_fcn.F
@@ -1,5 +1,5 @@
 *
-* minmax.F
+* minmax function
 *
 * Ansley Manke
 * May 2009
diff --git a/fer/efi/sample_fast_i.F b/fer/efi/sample_fast_i.F
index 109c5f5..7033fd2 100644
--- a/fer/efi/sample_fast_i.F
+++ b/fer/efi/sample_fast_i.F
@@ -96,7 +96,7 @@
 
       arg = 1
       CALL ef_set_arg_name(id, arg, 'V')
-      CALL ef_set_arg_desc(id, arg, 'Variable to sample')
+      CALL ef_set_arg_desc(id, arg, '1-D variable in X direction')
       CALL ef_set_axis_influence_6d(id, arg, NO, NO, NO, NO, NO, NO)
 
       arg = 2
diff --git a/fer/efi/sample_fast_i_str.F b/fer/efi/sample_fast_i_str.F
index 2278c7f..705645f 100644
--- a/fer/efi/sample_fast_i_str.F
+++ b/fer/efi/sample_fast_i_str.F
@@ -95,7 +95,7 @@
 
       arg = 1
       CALL ef_set_arg_name(id, arg, 'S')
-      CALL ef_set_arg_desc(id, arg, 'String Variable to sample')
+      CALL ef_set_arg_desc(id, arg, '1-D string variable in X direction')
       CALL ef_set_axis_influence_6d(id, arg, NO, NO, NO, NO, NO, NO)
       CALL ef_set_arg_type(id, arg, STRING_ARG)
 
diff --git a/fer/efi/samplem_multi.F b/fer/efi/samplem_multi.F
new file mode 100644
index 0000000..181d3f7
--- /dev/null
+++ b/fer/efi/samplem_multi.F
@@ -0,0 +1,255 @@
+*
+* samplem_multi.F
+*
+* Ansley Manke
+* Dec 1998
+*
+* This function samples data along the L axis using a set of indices
+* 4/5/99  Ansley Manke 
+*         Indices may be oriented along any axis; 
+*         Result is abstract on the sampled axis.
+*
+* 5/17  Make these functions 6-D.  Add E and F direction functions.
+*       Reverse the order of argumnets to beconsistent with the
+*       SAMPLEL etc functions. Fix the test for sample argument on 
+*       different axis than the sample direction.
+*
+
+      SUBROUTINE samplem_multi_init(id)
+
+      INCLUDE 'EF_Util.cmn'
+
+     
+* Local variable declarations
+      INTEGER id, arg
+
+      CHARACTER*100 fcn_desc
+
+      WRITE (fcn_desc, 10)
+   10 FORMAT ('Returns data sampled according to M indices which ',
+     . 'may be function of IJKLN')
+      CALL ef_set_desc(id, fcn_desc)
+
+      CALL ef_set_num_args(id, 2)
+      CALL ef_set_has_vari_args(id, NO)
+      CALL ef_set_axis_inheritance_6d(id, IMPLIED_BY_ARGS, 
+     .     IMPLIED_BY_ARGS, IMPLIED_BY_ARGS, IMPLIED_BY_ARGS, 
+     .     ABSTRACT, IMPLIED_BY_ARGS)
+
+      CALL ef_set_piecemeal_ok_6d(id, NO, NO, NO, NO, NO, NO)
+
+      arg = 1
+      CALL ef_set_arg_name(id, arg, 'DAT_TO_SAMPLE')
+      CALL ef_set_arg_desc(id, arg, 'data to sample using L indices')
+      CALL ef_set_axis_influence_6d(id, arg, YES, YES, YES, YES, NO, YES)
+
+      arg = 2
+      CALL ef_set_arg_name(id, arg, 'M_INDICES')
+      CALL ef_set_arg_desc(id, arg, 'ordered indices')
+      CALL ef_set_axis_influence_6d(id, arg, NO, NO, NO, NO, NO, NO)
+
+      RETURN 
+      END
+
+*
+* In this subroutine we provide information about the lo and hi
+* limits associated with each abstract or custom axis.  
+*
+
+      SUBROUTINE samplem_multi_result_limits(id)
+
+      INCLUDE 'EF_Util.cmn'
+* Declarations
+      INTEGER id
+      INTEGER arg_lo_ss(6,EF_MAX_ARGS), arg_hi_ss(6,EF_MAX_ARGS),
+     .     arg_incr(6,EF_MAX_ARGS)
+
+* Local variable declarations
+      INTEGER npts, idir, ndim
+      CHARACTER*100 errtxt
+
+      CALL ef_get_arg_subscripts_6d(id, arg_lo_ss, arg_hi_ss, arg_incr)
+
+      npts = arg_hi_ss(E_AXIS, ARG2) - arg_lo_ss(E_AXIS, ARG2) + 1
+
+* Count the dimensions in argument 2
+      ndim = 0
+      DO idir = X_AXIS, F_AXIS
+         IF (arg_lo_ss(idir, ARG2) .NE. ef_unspecified_int4) THEN
+	    ndim = ndim + 1
+         ENDIF
+      ENDDO
+
+* If they sent in a simple list as the 2nd argument, it might not be 
+* on the X axis. Allow that.
+
+      IF (arg_lo_ss(E_AXIS, ARG2) .EQ. ef_unspecified_int4) THEN
+         DO idir = X_AXIS, F_AXIS
+	    IF (arg_lo_ss(idir, ARG2) .NE. ef_unspecified_int4) THEN
+	       npts = arg_hi_ss(idir, ARG2) - arg_lo_ss(idir, ARG2) + 1
+	    ENDIF
+         ENDDO
+	 IF (ndim .NE. 1) THEN
+	    errtxt = 'Argument 2 has no E axis. When it has more than '//
+     .               '1 dimension, E axis is the sample dimension.' 
+	    GOTO 999
+	 ENDIF
+
+* If argument 2 is a multi-dimensioned variable, all but the sample dimension
+* must match the grid of argument 1
+      ELSE
+         IF (ndim .GT. 1) THEN
+         DO idir = X_AXIS, F_AXIS
+	   IF (idir .EQ. E_AXIS) cycle
+	   IF (arg_hi_ss(idir,ARG1)-arg_lo_ss(idir,ARG1) .NE. 
+     .         arg_hi_ss(idir,ARG2)-arg_lo_ss(idir,ARG2) ) THEN
+	      errtxt = 'Grid mismatch. Non-E dimensions of Arg 2 must be '//
+     .               'conformable with grid of Arg 1' 
+	      GOTO 999
+	   ENDIF
+         ENDDO
+	 ENDIF
+      ENDIF
+
+      CALL ef_set_axis_limits(id, E_AXIS, 1, npts)
+      RETURN
+  999 CONTINUE
+
+      CALL ef_bail_out(id, 'Argument 2 has no E axis. '//
+     .  'If it has >1 dimension, E axis is the sample dimension.' )
+ 
+      END
+*
+* In this subroutine we compute the result
+*
+      SUBROUTINE samplem_multi_compute(id, arg_1, arg_2, result)
+
+      INCLUDE 'EF_Util.cmn'
+      INCLUDE 'EF_mem_subsc.cmn'
+
+* Declarations
+     
+      INTEGER id
+      REAL bad_flag(EF_MAX_ARGS), bad_flag_result
+      REAL arg_1(mem1lox:mem1hix, mem1loy:mem1hiy, mem1loz:mem1hiz,
+     .      mem1lot:mem1hit, mem1loe:mem1hie, mem1lof:mem1hif)
+      REAL arg_2(mem2lox:mem2hix, mem2loy:mem2hiy, mem2loz:mem2hiz, 
+     .     mem2lot:mem2hit, mem2loe:mem2hie, mem2lof:mem2hif)
+      REAL result(memreslox:memreshix, memresloy:memreshiy, 
+     .     memresloz:memreshiz, memreslot:memreshit,
+     .      memresloe:memreshie, memreslof:memreshif)
+
+
+      INTEGER res_lo_ss(6), res_hi_ss(6), res_incr(6)
+      INTEGER arg_lo_ss(6,EF_MAX_ARGS), arg_hi_ss(6,EF_MAX_ARGS),
+     .     arg_incr(6,EF_MAX_ARGS)
+
+     
+* Local variable declarations
+      INTEGER i, j, k, l, m, n
+      INTEGER i1, j1, k1, l1, m1, n1
+      INTEGER i2, j2, k2, l2, m2, n2
+      INTEGER morder
+      REAL aorder
+
+      INTEGER nlen(3)
+      CHARACTER*8 lefint, aindex(3)
+      CHARACTER*100 errtxt
+
+      CALL ef_get_res_subscripts_6d(id, res_lo_ss, res_hi_ss, res_incr)
+      CALL ef_get_arg_subscripts_6d(id, arg_lo_ss, arg_hi_ss, arg_incr)
+      CALL ef_get_bad_flags(id, bad_flag, bad_flag_result)
+
+
+      n1 = arg_lo_ss(F_AXIS, ARG1)
+      n2 = arg_lo_ss(F_AXIS, ARG2)
+      DO 600 n = res_lo_ss(F_AXIS), res_hi_ss(F_AXIS) 
+
+      l1 = arg_lo_ss(T_AXIS, ARG1)
+      l2 = arg_lo_ss(T_AXIS, ARG2)
+      DO 500 l = res_lo_ss(T_AXIS), res_hi_ss(T_AXIS) 
+
+      k1 = arg_lo_ss(Z_AXIS, ARG1)
+      k2 = arg_lo_ss(Z_AXIS, ARG2)
+      DO 400 k = res_lo_ss(Z_AXIS), res_hi_ss(Z_AXIS) 
+
+         j1 = arg_lo_ss(Y_AXIS,ARG1)
+         j2 = arg_lo_ss(Y_AXIS,ARG2)
+         DO 300 j = res_lo_ss(Y_AXIS), res_hi_ss(Y_AXIS)
+
+            i1 = arg_lo_ss(X_AXIS,ARG1)
+            i2 = arg_lo_ss(X_AXIS,ARG2)
+            DO 200 i = res_lo_ss(X_AXIS), res_hi_ss(X_AXIS)
+
+               m2 = arg_lo_ss(E_AXIS,ARG2)
+               DO 100 m = res_lo_ss(E_AXIS), res_hi_ss(E_AXIS)
+
+*  Get the index to sample, whichever axis of arg_2 it is on.
+
+                  aorder = arg_2(i2,j2,k2,l2,m2,n2)
+                  IF (m2 .EQ. ef_unspecified_int4) 
+     .                  CALL pickindex(arg_2, m, aorder)
+                  morder = aorder
+
+*  Check that we do have an index of ARG_1; set the result
+
+                  IF (aorder .EQ. bad_flag(ARG2)) THEN
+                     result(i,j,k,l,m,n) = bad_flag_result
+                  ELSE
+
+                     IF (morder .LT. arg_lo_ss(E_AXIS,ARG1)  .OR.
+     .                   morder .GT. arg_hi_ss(E_AXIS,ARG1) ) THEN
+                        GO TO 999
+                     ELSE
+
+                        IF (arg_1(i1,j1,k1,l1,morder,n1) .EQ. bad_flag(ARG1)) THEN
+                           result(i,j,k,l,m,n) = bad_flag_result
+                        ELSE
+                           result(i,j,k,l,m,n) = arg_1(i1,j1,k1,l1,morder,n1)
+ 
+                        END IF
+                     END IF
+                  END IF
+
+                  m2 = m2 + arg_incr(E_AXIS,ARG2)
+ 100           CONTINUE
+
+               i1 = i1 + arg_incr(X_AXIS,ARG1)
+               i2 = i2 + arg_incr(X_AXIS,ARG2)
+ 200        CONTINUE
+
+            j1 = j1 + arg_incr(Y_AXIS,ARG1)
+            j2 = j2 + arg_incr(Y_AXIS,ARG2)
+ 300     CONTINUE
+
+         k1 = k1 + arg_incr(Z_AXIS,ARG1)
+         k2 = k2 + arg_incr(Z_AXIS,ARG2)
+ 400  CONTINUE
+
+
+         l1 = l1 + arg_incr(T_AXIS,ARG1)
+         l2 = l2 + arg_incr(T_AXIS,ARG2)
+ 500  CONTINUE
+
+
+         n1 = n1 + arg_incr(F_AXIS,ARG1)
+         n2 = n2 + arg_incr(F_AXIS,ARG2)
+ 600  CONTINUE
+
+      RETURN 
+
+999   CONTINUE
+
+      aindex(1) = LEFINT(morder,nlen(1))
+      aindex(2) = LEFINT(arg_lo_ss(T_AXIS,ARG2),nlen(2))
+      aindex(3) = LEFINT(arg_hi_ss(T_AXIS,ARG2),nlen(3))
+
+      WRITE (errtxt,*) 'Sampling index ', aindex(1)(1:nlen(1)), 
+     . ' in ARG1 is outside the range of L indices for ARG2 (', 
+     .  aindex(2)(1:nlen(2)), ':', aindex(3)(1:nlen(3)), ')'
+
+      CALL EF_BAIL_OUT(id, errtxt)
+
+      RETURN
+      END
+
diff --git a/fer/efi/samplen_multi.F b/fer/efi/samplen_multi.F
new file mode 100644
index 0000000..da074b6
--- /dev/null
+++ b/fer/efi/samplen_multi.F
@@ -0,0 +1,250 @@
+*
+* samplen_multi.F
+*
+* Ansley Manke
+* Dec 1998
+*
+* This function samples data along the L axis using a set of indices
+* 4/5/99  Ansley Manke 
+*         Indices may be oriented along any axis; 
+*         Result is abstract on the sampled axis.
+*
+* 5/17  Make these functions 6-D.  Add E and F direction functions.
+*       Reverse the order of argumnets to beconsistent with the
+*       SAMPLEL etc functions. Fix the test for sample argument on 
+*       different axis than the sample direction.
+*
+
+      SUBROUTINE samplen_multi_init(id)
+
+      INCLUDE 'EF_Util.cmn'
+
+* Declarations
+      INTEGER id, arg
+      CHARACTER*100 fcn_desc
+
+      WRITE (fcn_desc, 10)
+   10 FORMAT ('Returns data sampled according to N indices which ',
+     . 'may be function of IJKLM')
+      CALL ef_set_desc(id, fcn_desc)
+
+      CALL ef_set_num_args(id, 2)
+      CALL ef_set_has_vari_args(id, NO)
+      CALL ef_set_axis_inheritance_6d(id, IMPLIED_BY_ARGS, 
+     .     IMPLIED_BY_ARGS, IMPLIED_BY_ARGS, ABSTRACT, 
+     .     IMPLIED_BY_ARGS, IMPLIED_BY_ARGS)
+
+      CALL ef_set_piecemeal_ok_6d(id, NO, NO, NO, NO, NO, NO)
+
+      arg = 1
+      CALL ef_set_arg_name(id, arg, 'DAT_TO_SAMPLE')
+      CALL ef_set_arg_desc(id, arg, 'data to sample using L indices')
+      CALL ef_set_axis_influence_6d(id, arg, YES, YES, YES, YES, YES, NO)
+
+      arg = 2
+      CALL ef_set_arg_name(id, arg, 'N_INDICES')
+      CALL ef_set_arg_desc(id, arg, 'ordered indices')
+      CALL ef_set_axis_influence_6d(id, arg, NO, NO, NO, NO, NO, NO)
+
+      RETURN 
+      END
+
+* In this subroutine we provide information about the lo and hi
+* limits associated with each abstract or custom axis.  
+
+      SUBROUTINE samplen_multi_result_limits(id)
+
+      INCLUDE 'EF_Util.cmn'
+
+      INTEGER id
+      INTEGER arg_lo_ss(6,EF_MAX_ARGS), arg_hi_ss(6,EF_MAX_ARGS),
+     .     arg_incr(6,EF_MAX_ARGS)
+
+      INTEGER npts, idir, ndim
+      CHARACTER*100 errtxt
+
+*     Use utility functions to get context information about the 
+*     1st argument, to set the abstract axis lo and hi indices.
+
+      CALL ef_get_arg_subscripts_6d(id, arg_lo_ss, arg_hi_ss, arg_incr)
+
+      npts = arg_hi_ss(F_AXIS, ARG2) - arg_lo_ss(F_AXIS, ARG2) + 1
+
+* Count the dimensions in argument 2
+      ndim = 0
+      DO idir = X_AXIS, F_AXIS
+         IF (arg_lo_ss(idir, ARG2) .NE. ef_unspecified_int4) THEN
+	    ndim = ndim + 1
+         ENDIF
+      ENDDO
+
+* If they sent in a simple list as the 2nd argument, it might not be 
+* on the F axis. Allow that.
+
+      IF (arg_lo_ss(F_AXIS, ARG2) .EQ. ef_unspecified_int4) THEN
+         ndim = 0
+         DO idir = X_AXIS, F_AXIS
+	    IF (arg_lo_ss(idir, ARG2) .NE. ef_unspecified_int4) THEN
+	       npts = arg_hi_ss(idir, ARG2) - arg_lo_ss(idir, ARG2) + 1
+	       ndim = ndim + 1
+	    ENDIF
+         ENDDO
+	 IF (ndim .NE. 1) THEN
+	    errtxt = 'Argument 2 has no F axis. When it has more than '//
+     .               '1 dimension, F axis is the sample dimension.' 
+	    GOTO 999
+	 ENDIF
+
+* If argument 2 is a multi-dimensioned variable, all but the sample dimension
+* must match the grid of argument 1
+      ELSE
+         IF (ndim .GT. 1) THEN
+         DO idir = X_AXIS, E_AXIS
+	   IF (arg_hi_ss(idir,ARG1)-arg_lo_ss(idir,ARG1) .NE. 
+     .         arg_hi_ss(idir,ARG2)-arg_lo_ss(idir,ARG2) ) THEN
+	      errtxt = 'Grid mismatch. Non-F dimensions of Arg 2 must be '//
+     .               'conformable with grid of Arg 1' 
+	      GOTO 999
+	   ENDIF
+         ENDDO
+	 ENDIF
+      ENDIF
+
+      CALL ef_set_axis_limits(id, F_AXIS, 1, npts)
+      RETURN
+  999 CONTINUE
+
+      CALL ef_bail_out(id, 'Argument 2 hsd no F axis. '//
+     .  'If it has >1 dimension, F axis is the sample dimension.' )
+ 
+      END
+*
+* In this subroutine we compute the result
+*
+      SUBROUTINE samplen_multi_compute(id, arg_1, arg_2, result)
+
+      INCLUDE 'EF_Util.cmn'
+      INCLUDE 'EF_mem_subsc.cmn'
+
+* Declarations
+      INTEGER id
+      REAL bad_flag(EF_MAX_ARGS), bad_flag_result
+      REAL arg_1(mem1lox:mem1hix, mem1loy:mem1hiy, mem1loz:mem1hiz,
+     .      mem1lot:mem1hit, mem1loe:mem1hie, mem1lof:mem1hif)
+      REAL arg_2(mem2lox:mem2hix, mem2loy:mem2hiy, mem2loz:mem2hiz, 
+     .     mem2lot:mem2hit, mem2loe:mem2hie, mem2lof:mem2hif)
+      REAL result(memreslox:memreshix, memresloy:memreshiy, 
+     .     memresloz:memreshiz, memreslot:memreshit,
+     .      memresloe:memreshie, memreslof:memreshif)
+
+
+      INTEGER res_lo_ss(6), res_hi_ss(6), res_incr(6)
+      INTEGER arg_lo_ss(6,EF_MAX_ARGS), arg_hi_ss(6,EF_MAX_ARGS),
+     .     arg_incr(6,EF_MAX_ARGS)
+
+* Local variable declarations
+      INTEGER i, j, k, l, m, n
+      INTEGER i1, j1, k1, l1, m1, n1
+      INTEGER i2, j2, k2, l2, m2, n2
+      INTEGER norder
+      REAL aorder
+
+      INTEGER nlen(3)
+      CHARACTER*8 lefint, aindex(3)
+      CHARACTER*100 errtxt
+
+      CALL ef_get_res_subscripts_6d(id, res_lo_ss, res_hi_ss, res_incr)
+      CALL ef_get_arg_subscripts_6d(id, arg_lo_ss, arg_hi_ss, arg_incr)
+      CALL ef_get_bad_flags(id, bad_flag, bad_flag_result)
+
+
+      m1 = arg_lo_ss(E_AXIS, ARG1)
+      m2 = arg_lo_ss(E_AXIS, ARG2)
+      DO 600 m = res_lo_ss(E_AXIS), res_hi_ss(E_AXIS) 
+
+      l1 = arg_lo_ss(T_AXIS, ARG1)
+      l2 = arg_lo_ss(T_AXIS, ARG2)
+      DO 500 l = res_lo_ss(T_AXIS), res_hi_ss(T_AXIS) 
+
+      k1 = arg_lo_ss(Z_AXIS, ARG1)
+      k2 = arg_lo_ss(Z_AXIS, ARG2)
+      DO 400 k = res_lo_ss(Z_AXIS), res_hi_ss(Z_AXIS) 
+
+         j1 = arg_lo_ss(Y_AXIS,ARG1)
+         j2 = arg_lo_ss(Y_AXIS,ARG2)
+         DO 300 j = res_lo_ss(Y_AXIS), res_hi_ss(Y_AXIS)
+
+            i1 = arg_lo_ss(X_AXIS,ARG1)
+            i2 = arg_lo_ss(X_AXIS,ARG2)
+            DO 200 i = res_lo_ss(X_AXIS), res_hi_ss(X_AXIS)
+
+               n2 = arg_lo_ss(F_AXIS,ARG2)
+               DO 100 n = res_lo_ss(F_AXIS), res_hi_ss(F_AXIS)
+
+*  Get the index to sample, whichever axis of arg_2 it is on.
+
+                  aorder = arg_2(i2,j2,k2,l2,m2,n2)
+                  IF (n2 .EQ. ef_unspecified_int4) 
+     .                  CALL pickindex(arg_2, n, aorder)
+                  norder = aorder
+
+*  Check that we do have an index of ARG_1; set the result
+
+                  IF (aorder .EQ. bad_flag(ARG2)) THEN
+                     result(i,j,k,l,m,n) = bad_flag_result
+                  ELSE
+
+                     IF (norder .LT. arg_lo_ss(F_AXIS,ARG1)  .OR.
+     .                   norder .GT. arg_hi_ss(F_AXIS,ARG1) ) THEN
+                        GO TO 999
+                     ELSE
+
+                        IF (arg_1(i1,j1,k1,m1,n1,norder) .EQ. bad_flag(ARG1)) THEN
+                           result(i,j,k,l,m,n) = bad_flag_result
+                        ELSE
+                           result(i,j,k,l,m,n) = arg_1(i1,j1,k1,m1,n1,norder)
+ 
+                        END IF
+                     END IF
+                  END IF
+
+                  n2 = n2 + arg_incr(F_AXIS,ARG2)
+ 100           CONTINUE
+
+               i1 = i1 + arg_incr(X_AXIS,ARG1)
+               i2 = i2 + arg_incr(X_AXIS,ARG2)
+ 200        CONTINUE
+
+            j1 = j1 + arg_incr(Y_AXIS,ARG1)
+            j2 = j2 + arg_incr(Y_AXIS,ARG2)
+ 300     CONTINUE
+
+         k1 = k1 + arg_incr(Z_AXIS,ARG1)
+         k2 = k2 + arg_incr(Z_AXIS,ARG2)
+ 400  CONTINUE
+
+         l1 = l1 + arg_incr(T_AXIS,ARG1)
+         l2 = l2 + arg_incr(T_AXIS,ARG2)
+ 500  CONTINUE
+
+         m1 = m1 + arg_incr(E_AXIS,ARG1)
+         m2 = m2 + arg_incr(E_AXIS,ARG2)
+ 600  CONTINUE
+
+      RETURN 
+
+999   CONTINUE
+
+      aindex(1) = LEFINT(norder,nlen(1))
+      aindex(2) = LEFINT(arg_lo_ss(T_AXIS,ARG2),nlen(2))
+      aindex(3) = LEFINT(arg_hi_ss(T_AXIS,ARG2),nlen(3))
+
+      WRITE (errtxt,*) 'Sampling index ', aindex(1)(1:nlen(1)), 
+     . ' in ARG1 is outside the range of L indices for ARG2 (', 
+     .  aindex(2)(1:nlen(2)), ':', aindex(3)(1:nlen(3)), ')'
+
+      CALL EF_BAIL_OUT(id, errtxt)
+
+      RETURN
+      END
+
diff --git a/fer/efi/samplexy_closest.F b/fer/efi/samplexy_closest.F
index 57302be..e567829 100644
--- a/fer/efi/samplexy_closest.F
+++ b/fer/efi/samplexy_closest.F
@@ -105,8 +105,7 @@
       CHARACTER*100 fcn_desc
 
       WRITE (fcn_desc, 10)
-   10 FORMAT ('Returns data sampled at a set of (X,Y) points, ',
-     .        'using nearest grid intersection')
+   10 FORMAT ('This function is deprecated. It is renamed to SAMPLEXY_NRST')
       CALL ef_set_desc(id, fcn_desc)
 
       CALL ef_set_num_args(id, 3)
diff --git a/fer/efi/samplexy_closest.F b/fer/efi/samplexy_nrst.F
similarity index 99%
copy from fer/efi/samplexy_closest.F
copy to fer/efi/samplexy_nrst.F
index 57302be..f95431a 100644
--- a/fer/efi/samplexy_closest.F
+++ b/fer/efi/samplexy_nrst.F
@@ -1,5 +1,5 @@
 *
-* samplexy_closest.F
+* samplexy_nrst.F
 *
 *  This software was developed by the Thermal Modeling and Analysis
 *  Project(TMAP) of the National Oceanographic and Atmospheric
@@ -90,7 +90,7 @@
 *
 
 
-      SUBROUTINE samplexy_closest_init(id)
+      SUBROUTINE samplexy_nrst_init(id)
 
       IMPLICIT NONE
       INCLUDE 'EF_Util.cmn'
@@ -154,7 +154,7 @@
 * hiss               hi subscript for an axis
 *
 
-      SUBROUTINE samplexy_closest_result_limits(id)
+      SUBROUTINE samplexy_nrst_result_limits(id)
 
       IMPLICIT NONE
       INCLUDE 'EF_Util.cmn'
@@ -200,7 +200,7 @@
 * In this subroutine we request an amount of storage to be supplied
 * by Ferret and passed as an additional argument.
 *
-      SUBROUTINE samplexy_closest_work_size(id)
+      SUBROUTINE samplexy_nrst_work_size(id)
 
       IMPLICIT NONE
       INCLUDE 'EF_Util.cmn'
@@ -269,7 +269,7 @@
 *
 * In this subroutine we compute the result
 *
-      SUBROUTINE samplexy_closest_compute(id, arg_1, arg_2, arg_3,
+      SUBROUTINE samplexy_nrst_compute(id, arg_1, arg_2, arg_3,
      .        result, xaxdat, yaxdat, xboxlo, xboxhi, yboxlo, yboxhi)
 
       IMPLICIT NONE
diff --git a/fer/efi/scat2grid_minmax_xyt.F b/fer/efi/scat2grid_minmax_xyt.F
new file mode 100644
index 0000000..bfb310c
--- /dev/null
+++ b/fer/efi/scat2grid_minmax_xyt.F
@@ -0,0 +1,502 @@
+*
+*  scat2grid_minmax_xyt.F
+*
+*
+*  This software was developed by the Thermal Modeling and Analysis
+*  Project(TMAP) of the National Oceanographic and Atmospheric
+*  Administration's (NOAA) Pacific Marine Environmental Lab(PMEL),
+*  hereafter referred to as NOAA/PMEL/TMAP.
+*
+*  Access and use of this software shall impose the following
+*  obligations and understandings on the user. The user is granted the
+*  right, without any fee or cost, to use, copy, modify, alter, enhance
+*  and distribute this software, and any derivative works thereof, and
+*  its supporting documentation for any purpose whatsoever, provided
+*  that this entire notice appears in all copies of the software,
+*  derivative works and supporting documentation.  Further, the user
+*  agrees to credit NOAA/PMEL/TMAP in any publications that result from
+*  the use of this software or in any product that includes this
+*  software. The names TMAP, NOAA and/or PMEL, however, may not be used
+*  in any advertising or publicity to endorse or promote any products
+*  or commercial entity unless specific written permission is obtained
+*  from NOAA/PMEL/TMAP. The user also understands that NOAA/PMEL/TMAP
+*  is not obligated to provide the user with any support, consulting,
+*  training or assistance of any kind with regard to the use, operation
+*  and performance of this software nor to provide the user with any
+*  updates, revisions, new versions or "bug fixes".
+*
+*  THIS SOFTWARE IS PROVIDED BY NOAA/PMEL/TMAP "AS IS" AND ANY EXPRESS
+*  OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+*  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+*  ARE DISCLAIMED. IN NO EVENT SHALL NOAA/PMEL/TMAP BE LIABLE FOR ANY SPECIAL,
+*  INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
+*  RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF
+*  CONTRACT, NEGLIGENCE OR OTHER TORTUOUS ACTION, ARISING OUT OF OR IN
+*  CONNECTION WITH THE ACCESS, USE OR PERFORMANCE OF THIS SOFTWARE. 
+*
+* Ansley Manke
+* April 2011
+* 1/16/2016 Correctly work with irregular grids
+
+* In this subroutine we provide information about
+* the function.  The user configurable information 
+* consists of the following:
+*
+* descr              Text description of the function
+*
+* num_args           Required number of arguments
+*
+* axis_inheritance   Type of axis for the result
+*                       ( CUSTOM, IMPLIED_BY_ARGS, NORMAL, ABSTRACT )
+*                       CUSTOM          - user defined axis
+*                       IMPLIED_BY_ARGS - same axis as the incoming argument
+*                       NORMAL          - the result is normal to this axis
+*                       ABSTRACT        - an axis which only has index values
+*
+* piecemeal_ok       For memory optimization:
+*                       axes where calculation may be performed piecemeal
+*                       ( YES, NO )
+* 
+*
+* For each argument we provide the following information:
+*
+* name               Text name for an argument
+*
+* unit               Text units for an argument
+*
+* desc               Text description of an argument
+*
+* axis_influence     Are this argument's axes the same as the result grid?
+*                       ( YES, NO )
+*
+* axis_extend       How much does Ferret need to extend arg limits relative to result 
+*
+
+
+      SUBROUTINE  scat2grid_minmax_xyt_init(id)
+
+      INCLUDE 'EF_Util.cmn'
+
+      INTEGER id, arg
+
+************************************************************************
+*                                            USER CONFIGURABLE PORTION |
+*                                                                      |
+*                                                                      V
+
+      CHARACTER*126 buff
+      WRITE (buff, 10)
+   10 FORMAT 
+     .  ('Compute min/max per bin, putting scattered data into XYT grid')
+      CALL ef_set_desc(id, buff)
+
+      CALL ef_set_num_args(id, 7)
+      CALL ef_set_axis_inheritance(id, IMPLIED_BY_ARGS, 
+     .     IMPLIED_BY_ARGS,  ABSTRACT, IMPLIED_BY_ARGS)
+
+      CALL ef_set_piecemeal_ok(id, NO, NO, NO, NO)
+      CALL ef_set_num_work_arrays(id, 6)
+
+* Output grid is determined by arguments 5, 6, and 7, the result's x and y axes.
+
+      arg = 1
+      CALL ef_set_arg_name(id, arg, 'XPTS')
+      CALL ef_set_arg_desc(id, arg, 
+     .     'X coordinates of scattered input XYT')
+      CALL ef_set_axis_influence(id, arg, NO, NO, NO, NO)
+
+      arg = 2
+      CALL ef_set_arg_name(id, arg, 'YPTS')
+      CALL ef_set_arg_desc(id, arg, 
+     .     'Y coordinates of scattered input XYT')
+      CALL ef_set_axis_influence(id, arg, NO, NO, NO, NO)
+
+      arg = 3
+      CALL ef_set_arg_name(id, arg, 'TPTS')
+      CALL ef_set_arg_desc(id, arg,
+     .     'T coordinates of scattered input XYT')
+      CALL ef_set_axis_influence(id, arg, NO, NO, NO, NO)
+ 
+      arg = 4
+      CALL ef_set_arg_name(id, arg, 'F')
+      WRITE (buff, 20)
+  20  FORMAT ('F(X,Y,T) Data at scattered input XYT')
+      CALL ef_set_arg_desc(id, arg, buff)
+      CALL ef_set_axis_influence(id, arg, NO, NO, NO, NO)
+
+      arg = 5
+      CALL ef_set_arg_name(id, arg, 'XAXPTS')
+      CALL ef_set_arg_desc(id, arg,
+     .                   'X axis coordinates of the output grid')
+      CALL ef_set_axis_influence(id, arg, YES, NO, NO, NO)
+
+      arg = 6
+      CALL ef_set_arg_name(id, arg, 'YAXPTS')
+      CALL ef_set_arg_desc(id, arg,
+     .                   'Y axis coordinates of the output grid')
+      CALL ef_set_axis_influence(id, arg, NO, YES, NO, NO)
+
+      arg = 7
+      CALL ef_set_arg_name(id, arg, 'TAXPTS')
+      WRITE (buff, 30)
+  30  FORMAT ('T axis coordinates of the output grid, with same ',
+     .       'units and origin as tpts')
+      CALL ef_set_arg_desc(id, arg, buff)
+      CALL ef_set_axis_influence(id, arg, NO, NO, NO, YES)
+
+
+*                                                                      ^
+*                                                                      |
+*                                            USER CONFIGURABLE PORTION |
+************************************************************************
+
+      RETURN 
+      END
+      
+*
+* In this subroutine we provide information about the lo and hi
+* limits associated with each abstract or custom axis.   The user 
+* configurable information consists of the following:
+*
+* loss               lo subscript for an axis
+* hiss               hi subscript for an axis
+*
+
+      SUBROUTINE scat2grid_minmax_xyt_result_limits(id)
+
+      INCLUDE 'EF_Util.cmn'
+      INCLUDE 'EF_mem_subsc.cmn'
+
+
+      INTEGER id
+
+* **********************************************************************
+*                                           USER CONFIGURABLE PORTION |
+*                                                                     |
+*                                                                     V
+
+      CALL ef_set_axis_limits(id, Z_AXIS, 1, 2)
+
+*                                                                     ^
+*                                                                     |
+*                                           USER CONFIGURABLE PORTION |
+* **********************************************************************
+
+      RETURN 
+      END
+
+
+*
+* In this subroutine we request an amount of storage to be supplied
+* by Ferret and passed as an additional argument.
+*
+      SUBROUTINE scat2grid_minmax_xyt_work_size(id)
+
+      INCLUDE 'EF_Util.cmn'
+      INCLUDE 'EF_mem_subsc.cmn'
+
+      INTEGER id
+
+* **********************************************************************
+*                                            USER CONFIGURABLE PORTION |
+*                                                                      |
+* 
+* Set the work arrays,  X/Y/Z/T dimensions
+*
+* ef_set_work_array_dims(id,array #,xlo,ylo,zlo,tlo,xhi,yhi,zhi,thi)
+*
+      INTEGER nxout, nyout, ntout, i, k
+      INTEGER arg_lo_ss(4,1:EF_MAX_ARGS), arg_hi_ss(4,1:EF_MAX_ARGS),
+     .     arg_incr(4,1:EF_MAX_ARGS)
+
+      CALL ef_get_arg_subscripts(id, arg_lo_ss, arg_hi_ss, arg_incr)
+
+      nxout = 1 + arg_hi_ss(X_AXIS,ARG5) - arg_lo_ss(X_AXIS,ARG5)
+      nyout = 1 + arg_hi_ss(Y_AXIS,ARG6) - arg_lo_ss(Y_AXIS,ARG6)
+      ntout = 1 + arg_hi_ss(T_AXIS,ARG7) - arg_lo_ss(T_AXIS,ARG7)
+
+* xaxlo  output x axis
+      CALL ef_set_work_array_dims (id, 1, 1, 1, 1, 1, nxout, 1, 1, 1)
+* xaxhi  output x axis
+      CALL ef_set_work_array_dims (id, 2, 1, 1, 1, 1, nxout, 1, 1, 1)
+
+* yaxlo  output y axis
+      CALL ef_set_work_array_dims (id, 3, 1, 1, 1, 1, nyout, 1, 1, 1)
+* yaxhi  output y axis
+      CALL ef_set_work_array_dims (id, 4, 1, 1, 1, 1, nyout, 1, 1, 1)
+
+* taxlo  output t axis
+      CALL ef_set_work_array_dims (id, 5, 1, 1, 1, 1, ntout, 1, 1, 1)
+* taxhi  output t axis
+      CALL ef_set_work_array_dims (id, 6, 1, 1, 1, 1, ntout, 1, 1, 1)
+
+      RETURN
+      END
+
+* In this subroutine we compute the result
+*
+
+      SUBROUTINE scat2grid_minmax_xyt_compute(id, arg_1, arg_2, arg_3, 
+     .     arg_4, arg_5, arg_6, arg_7, result, xaxlo, xaxhi, 
+     .     yaxlo, yaxhi, taxlo, taxhi)
+
+*  arg_1  xpts  \
+*  arg_2  ypts  / Scattered x,y,t triples to be gridded.
+*  arg_3  tpts /
+*  arg_4  fpts /
+*  arg_5  xaxis of new grid   
+*  arg_6  yaxis of new grid 
+*  arg_7  taxis of new grid
+
+      INCLUDE 'EF_Util.cmn'
+      INCLUDE 'EF_mem_subsc.cmn'
+
+      INTEGER id
+      REAL bad_flag(EF_MAX_ARGS), bad_flag_result
+      REAL arg_1(mem1lox:mem1hix, mem1loy:mem1hiy, mem1loz:mem1hiz, 
+     .     mem1lot:mem1hit)
+      REAL arg_2(mem2lox:mem2hix, mem2loy:mem2hiy, mem2loz:mem2hiz, 
+     .     mem2lot:mem2hit)
+      REAL arg_3(mem3lox:mem3hix, mem3loy:mem3hiy, mem3loz:mem3hiz, 
+     .     mem3lot:mem3hit)
+      REAL arg_4(mem4lox:mem4hix, mem4loy:mem4hiy, mem4loz:mem4hiz, 
+     .     mem4lot:mem4hit)
+      REAL arg_5(mem5lox:mem5hix, mem5loy:mem5hiy, mem5loz:mem5hiz,
+     .     mem5lot:mem5hit)
+      REAL arg_6(mem6lox:mem6hix, mem6loy:mem6hiy, mem6loz:mem6hiz,
+     .     mem6lot:mem6hit)
+      REAL arg_7(mem7lox:mem7hix, mem7loy:mem7hiy, mem7loz:mem7hiz,
+     .     mem7lot:mem7hit)
+
+      REAL result(memreslox:memreshix, memresloy:memreshiy, 
+     .     memresloz:memreshiz, memreslot:memreshit)
+
+* After initialization, the 'res_' arrays contain indexing information 
+* for the result axes.  The 'arg_' arrays will contain the indexing 
+* information for each variable's axes. 
+
+      INTEGER res_lo_ss(4), res_hi_ss(4), res_incr(4)
+      INTEGER arg_lo_ss(4,EF_MAX_ARGS), arg_hi_ss(4,EF_MAX_ARGS),
+     .     arg_incr(4,EF_MAX_ARGS)
+
+
+************************************************************************
+*                                            USER CONFIGURABLE PORTION |
+*                                                                      |
+*                                                                      V
+
+*  Dimension the work arrays
+
+      REAL*8 xaxlo(wrk1lox:wrk1hix)
+      REAL*8 xaxhi(wrk2lox:wrk2hix)
+      REAL*8 yaxlo(wrk3lox:wrk3hix)
+      REAL*8 yaxhi(wrk4lox:wrk4hix)
+      REAL*8 taxlo(wrk5lox:wrk5hix)
+      REAL*8 taxhi(wrk6lox:wrk6hix)
+
+      INTEGER i, j, k, l, m, n
+      INTEGER i1, i2, j1, k1, l1
+      INTEGER i5, i5n, j6, j6n, l7, l7n
+
+      INTEGER nxpts, nypts, ntpts, nscat
+      INTEGER nx, ny, nt, i1n, i2n
+
+      REAL x1, y1, xf, yf
+      REAL xx, yy, tt, ff, a1, a2, big
+
+      CHARACTER*250 errtxt
+
+*  variables for checking axis characteristics (modulo axes)
+
+      CHARACTER ax_name(5)*16, ax_units(5)*16
+      LOGICAL backward(5), modulox(5), regular(5)
+
+      CALL ef_get_res_subscripts(id, res_lo_ss, res_hi_ss, res_incr)
+      CALL ef_get_arg_subscripts(id, arg_lo_ss, arg_hi_ss, arg_incr)
+      CALL ef_get_bad_flags(id, bad_flag, bad_flag_result)
+
+*  Check to see if output axes are modulo
+
+      CALL ef_get_axis_info (id, 5, ax_name, ax_units, backward, 
+     .                       modulox, regular)
+
+*  Find number of points in scattered input points.  1-D arrays defining the 
+*  scattered data points may lie on the X, Y, Z, or T axis of the input arguments.
+
+      nxpts = 0
+      nypts = 0
+      ntpts = 0
+
+      DO 110 m = X_AXIS, T_AXIS
+         IF (arg_lo_ss(m,ARG1) .GE. 1) THEN
+            i1 = arg_lo_ss(m,ARG1)
+            i1n = arg_hi_ss(m,ARG1)
+            if (i1n-i1 .NE. 0) nxpts = 1 + (i1n - i1)
+         ENDIF
+ 110  CONTINUE
+
+      DO 120 m = X_AXIS, T_AXIS
+         IF (arg_lo_ss(m,ARG2) .GE. 1) THEN
+            i2 = arg_lo_ss(m,ARG2)
+            i2n = arg_hi_ss(m,ARG2)
+            if (i2n-i2 .NE. 0) nypts = 1 + (i2n - i2)
+         ENDIF
+ 120  CONTINUE
+
+      DO 130 m = X_AXIS, T_AXIS
+         IF (arg_lo_ss(m,ARG3) .GE. 1) THEN
+            i2 = arg_lo_ss(m,ARG3)
+            i2n = arg_hi_ss(m,ARG3)
+            if (i2n-i2 .NE. 0) ntpts = 1 + (i2n - i2)
+         ENDIF 
+ 130  CONTINUE
+
+      IF (nxpts .NE. nypts .OR. nxpts .EQ. 0) GOTO 900
+      IF (nxpts .NE. ntpts) GOTO 900
+      nscat = nxpts
+
+*  Compute number of points in output axes.
+
+      i5 = arg_lo_ss(X_AXIS,ARG5)
+      i5n = arg_hi_ss(X_AXIS,ARG5)
+
+      j6 = arg_lo_ss(Y_AXIS,ARG6)
+      j6n = arg_hi_ss(Y_AXIS,ARG6)
+
+      l7 = arg_lo_ss(T_AXIS,ARG7)
+      l7n = arg_hi_ss(T_AXIS,ARG7)
+
+      nx = 1 + (i5n - i5)
+      ny = 1 + (j6n - j6)
+      nt = 1 + (l7n - l7)
+
+*  Check that xax is a X axis and yax a Y axis and tax a T axis
+
+      IF (i5 .EQ. ef_unspecified_int4) THEN
+         WRITE (errtxt, *) 'Fifth argument must be an X axis'
+         GO TO 999
+      ENDIF
+      IF (j6 .EQ. ef_unspecified_int4) THEN
+         WRITE (errtxt, *) 'Sixth argument must be a Y axis'
+         GO TO 999
+      ENDIF
+      IF (l7 .EQ. ef_unspecified_int4) THEN
+         WRITE (errtxt, *) 'Seventh argument must be a T axis'
+         GO TO 999
+      ENDIF
+
+C  Get coordinates of output axes.
+
+      CALL EF_GET_BOX_LIMITS(id, ARG5, X_AXIS,
+     .   arg_lo_ss(X_AXIS, ARG5), arg_hi_ss(X_AXIS, ARG5), xaxlo, xaxhi)
+
+      CALL EF_GET_BOX_LIMITS(id, ARG6, Y_AXIS,
+     .   arg_lo_ss(Y_AXIS, ARG6), arg_hi_ss(Y_AXIS, ARG6), yaxlo, yaxhi)
+
+      CALL EF_GET_BOX_LIMITS(id, ARG7, T_AXIS,
+     .   arg_lo_ss(T_AXIS, ARG7), arg_hi_ss(T_AXIS, ARG7), taxlo, taxhi)
+
+*  Compute result
+
+*  Initialize result.
+
+        big = ABS(bad_flag_result)
+
+        k = res_lo_ss(Z_AXIS)
+        DO l = res_lo_ss(T_AXIS), res_hi_ss(T_AXIS)
+           DO j = res_lo_ss(Y_AXIS), res_hi_ss(Y_AXIS)
+              DO i = res_lo_ss(X_AXIS), res_hi_ss(X_AXIS)
+                 result(i,j,1,l) = big
+                 result(i,j,2,l) = -1.*big
+              ENDDO
+           ENDDO
+        ENDDO
+
+
+*  Loop over x,y,t, placing the min and max function values in the cells.
+
+         DO 300 n = 1, nscat
+
+            CALL pickout4 (arg_1, arg_2, arg_3, arg_4, 
+     .                         n, xx, yy, tt, ff)
+
+*  If output X axis is modulo, apply modulo adjustment to that coordinate
+*  of the scattered point.
+
+            IF  (modulox(1) .AND. xx.NE.bad_flag(ARG1))
+     .         CALL modscatminmax (xaxlo(1), xaxhi(nx), 1, xx)
+
+*  Put fcn into result variable.
+
+            IF (ff .NE. bad_flag(ARG4)) THEN 
+
+            l1 = 1
+            DO 400 l = res_lo_ss(T_AXIS), res_hi_ss(T_AXIS)
+              IF ( tt .GE. taxlo(l1) .AND. tt .LT. taxhi(l1) ) THEN 
+
+            j1 = 1
+            DO 200 j = res_lo_ss(Y_AXIS), res_hi_ss(Y_AXIS)
+              IF ( yy .GE. yaxlo(j1) .AND. yy .LT. yaxhi(j1) ) THEN 
+
+            i1 = 1
+            DO 100 i = res_lo_ss(X_AXIS), res_hi_ss(X_AXIS)
+               IF ( xx .GE. xaxlo(i1) .AND. xx .LT. xaxhi(i1) ) THEN 
+
+                  result(i,j,1,L) = MIN(ff, result(i,j,1,L))
+                  result(i,j,2,L) = MAX(ff, result(i,j,2,L))
+
+               ENDIF 
+
+            i1 = i1 + 1
+ 100        CONTINUE
+
+            ENDIF 
+            j1 = j1 + 1
+ 200        CONTINUE
+
+            ENDIF 
+            l1 = l1 + 1
+ 400        CONTINUE
+
+           ENDIF  ! ff not bad 
+
+
+300   CONTINUE
+
+* Now set the missing-value flag for locations that had no data. 
+
+      i1 = 1
+      DO 620 i = res_lo_ss(X_AXIS), res_hi_ss(X_AXIS)
+         j1 = 1
+         DO 610 j = res_lo_ss(Y_AXIS), res_hi_ss(Y_AXIS)
+            l1 = 1
+            DO 600 l = res_lo_ss(T_AXIS), res_hi_ss(T_AXIS)
+
+               IF( result(i,j,1,l) .EQ. big) THEN
+                  result(i,j,1,l) = bad_flag_result
+               ENDIF
+
+600         CONTINUE
+            j1 = j1 + 1
+610      CONTINUE
+         i1 = i1 + 1
+620   CONTINUE
+
+
+      RETURN
+
+900   CONTINUE
+
+      IF (nxpts .NE. nypts) THEN
+         WRITE (errtxt,20) nxpts, nypts
+      ELSE IF (nxpts .EQ. 0) THEN
+         WRITE (errtxt, 30)
+      ENDIF
+ 20   FORMAT ('Input scattered x, y have different # of points', 2I8)
+ 30   FORMAT ('No data in scattered x, y points')
+      GOTO 999 
+
+ 999  CALL EF_BAIL_OUT(id, errtxt)
+
+      RETURN
+      END
diff --git a/fer/efi/scat2grid_std_xyt.F b/fer/efi/scat2grid_std_xyt.F
new file mode 100644
index 0000000..b5c598e
--- /dev/null
+++ b/fer/efi/scat2grid_std_xyt.F
@@ -0,0 +1,570 @@
+*
+*  scat2grid_std_xyt.F
+*
+*
+*  This software was developed by the Thermal Modeling and Analysis
+*  Project(TMAP) of the National Oceanographic and Atmospheric
+*  Administration's (NOAA) Pacific Marine Environmental Lab(PMEL),
+*  hereafter referred to as NOAA/PMEL/TMAP.
+*
+*  Access and use of this software shall impose the following
+*  obligations and understandings on the user. The user is granted the
+*  right, without any fee or cost, to use, copy, modify, alter, enhance
+*  and distribute this software, and any derivative works thereof, and
+*  its supporting documentation for any purpose whatsoever, provided
+*  that this entire notice appears in all copies of the software,
+*  derivative works and supporting documentation.  Further, the user
+*  agrees to credit NOAA/PMEL/TMAP in any publications that result from
+*  the use of this software or in any product that includes this
+*  software. The names TMAP, NOAA and/or PMEL, however, may not be used
+*  in any advertising or publicity to endorse or promote any products
+*  or commercial entity unless specific written permission is obtained
+*  from NOAA/PMEL/TMAP. The user also understands that NOAA/PMEL/TMAP
+*  is not obligated to provide the user with any support, consulting,
+*  training or assistance of any kind with regard to the use, operation
+*  and performance of this software nor to provide the user with any
+*  updates, revisions, new versions or "bug fixes".
+*
+*  THIS SOFTWARE IS PROVIDED BY NOAA/PMEL/TMAP "AS IS" AND ANY EXPRESS
+*  OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+*  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+*  ARE DISCLAIMED. IN NO EVENT SHALL NOAA/PMEL/TMAP BE LIABLE FOR ANY SPECIAL,
+*  INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
+*  RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF
+*  CONTRACT, NEGLIGENCE OR OTHER TORTUOUS ACTION, ARISING OUT OF OR IN
+*  CONNECTION WITH THE ACCESS, USE OR PERFORMANCE OF THIS SOFTWARE. 
+*
+* Ansley Manke
+* April 2011
+* 1/16/2016 Correctly work with irregular grids
+
+* In this subroutine we provide information about
+* the function.  The user configurable information 
+* consists of the following:
+*
+* descr              Text description of the function
+*
+* num_args           Required number of arguments
+*
+* axis_inheritance   Type of axis for the result
+*                       ( CUSTOM, IMPLIED_BY_ARGS, NORMAL, ABSTRACT )
+*                       CUSTOM          - user defined axis
+*                       IMPLIED_BY_ARGS - same axis as the incoming argument
+*                       NORMAL          - the result is normal to this axis
+*                       ABSTRACT        - an axis which only has index values
+*
+* piecemeal_ok       For memory optimization:
+*                       axes where calculation may be performed piecemeal
+*                       ( YES, NO )
+* 
+*
+* For each argument we provide the following information:
+*
+* name               Text name for an argument
+*
+* unit               Text units for an argument
+*
+* desc               Text description of an argument
+*
+* axis_influence     Are this argument's axes the same as the result grid?
+*                       ( YES, NO )
+*
+* axis_extend       How much does Ferret need to extend arg limits relative to result 
+*
+
+
+      SUBROUTINE  SCAT2GRID_STD_XYT_INIT(id)
+
+      INCLUDE 'EF_Util.cmn'
+
+      INTEGER id, arg
+
+************************************************************************
+*                                            USER CONFIGURABLE PORTION |
+*                                                                      |
+*                                                                      V
+
+      CHARACTER*126 buff
+      WRITE (buff, 10)
+   10 FORMAT ('Copmpute std putting scattered data into XYT grid by bins')
+      CALL ef_set_desc(id, buff)
+
+      CALL ef_set_num_args(id, 7)
+      CALL ef_set_axis_inheritance(id, IMPLIED_BY_ARGS, 
+     .     IMPLIED_BY_ARGS,  NORMAL, IMPLIED_BY_ARGS)
+
+      CALL ef_set_piecemeal_ok(id, NO, NO, NO, NO)
+      CALL ef_set_num_work_arrays(id, 7)
+
+* Output grid is determined by arguments 5, 6, and 7, the result's x and y axes.
+
+      arg = 1
+      CALL ef_set_arg_name(id, arg, 'XPTS')
+      CALL ef_set_arg_desc(id, arg, 
+     .     'X coordinates of scattered input XYT')
+      CALL ef_set_axis_influence(id, arg, NO, NO, NO, NO)
+
+      arg = 2
+      CALL ef_set_arg_name(id, arg, 'YPTS')
+      CALL ef_set_arg_desc(id, arg, 
+     .     'Y coordinates of scattered input XYT')
+      CALL ef_set_axis_influence(id, arg, NO, NO, NO, NO)
+
+      arg = 3
+      CALL ef_set_arg_name(id, arg, 'TPTS')
+      CALL ef_set_arg_desc(id, arg,
+     .     'T coordinates of scattered input XYT')
+      CALL ef_set_axis_influence(id, arg, NO, NO, NO, NO)
+ 
+      arg = 4
+      CALL ef_set_arg_name(id, arg, 'F')
+      WRITE (buff, 20)
+  20  FORMAT ('F(X,Y,T) Data at scattered input XYT')
+      CALL ef_set_arg_desc(id, arg, buff)
+      CALL ef_set_axis_influence(id, arg, NO, NO, NO, NO)
+
+      arg = 5
+      CALL ef_set_arg_name(id, arg, 'XAXPTS')
+      CALL ef_set_arg_desc(id, arg,
+     .                   'X axis coordinates of the output grid')
+      CALL ef_set_axis_influence(id, arg, YES, NO, NO, NO)
+
+      arg = 6
+      CALL ef_set_arg_name(id, arg, 'YAXPTS')
+      CALL ef_set_arg_desc(id, arg,
+     .                   'Y axis coordinates of the output grid')
+      CALL ef_set_axis_influence(id, arg, NO, YES, NO, NO)
+
+      arg = 7
+      CALL ef_set_arg_name(id, arg, 'TAXPTS')
+      WRITE (buff, 30)
+  30  FORMAT ('T axis coordinates of the output grid, with same ',
+     .       'units and origin as tpts')
+      CALL ef_set_arg_desc(id, arg, buff)
+      CALL ef_set_axis_influence(id, arg, NO, NO, NO, YES)
+
+
+*                                                                      ^
+*                                                                      |
+*                                            USER CONFIGURABLE PORTION |
+************************************************************************
+
+      RETURN 
+      END
+      
+*
+* In this subroutine we request an amount of storage to be supplied
+* by Ferret and passed as an additional argument.
+*
+      SUBROUTINE SCAT2GRID_STD_XYT_WORK_SIZE(id)
+
+      INCLUDE 'EF_Util.cmn'
+      INCLUDE 'EF_mem_subsc.cmn'
+
+      INTEGER id
+
+* **********************************************************************
+*                                            USER CONFIGURABLE PORTION |
+*                                                                      |
+* 
+* Set the work arrays,  X/Y/Z/T dimensions
+*
+* ef_set_work_array_dims(id,array #,xlo,ylo,zlo,tlo,xhi,yhi,zhi,thi)
+*
+      INTEGER nxout, nyout, ntout, i, k
+      INTEGER arg_lo_ss(4,1:EF_MAX_ARGS), arg_hi_ss(4,1:EF_MAX_ARGS),
+     .     arg_incr(4,1:EF_MAX_ARGS)
+
+      CALL ef_get_arg_subscripts(id, arg_lo_ss, arg_hi_ss, arg_incr)
+
+      nxout = 1 + arg_hi_ss(X_AXIS,ARG5) - arg_lo_ss(X_AXIS,ARG5)
+      nyout = 1 + arg_hi_ss(Y_AXIS,ARG6) - arg_lo_ss(Y_AXIS,ARG6)
+      ntout = 1 + arg_hi_ss(T_AXIS,ARG7) - arg_lo_ss(T_AXIS,ARG7)
+
+* xaxlo  output x axis
+      CALL ef_set_work_array_dims (id, 1, 1, 1, 1, 1, nxout, 1, 1, 1)
+* xaxhi  output x axis
+      CALL ef_set_work_array_dims (id, 2, 1, 1, 1, 1, nxout, 1, 1, 1)
+
+* yaxlo  output y axis
+      CALL ef_set_work_array_dims (id, 3, 1, 1, 1, 1, nyout, 1, 1, 1)
+* yaxhi  output y axis
+      CALL ef_set_work_array_dims (id, 4, 1, 1, 1, 1, nyout, 1, 1, 1)
+
+* taxlo  output t axis
+      CALL ef_set_work_array_dims (id, 5, 1, 1, 1, 1, ntout, 1, 1, 1)
+* taxhi  output t axis
+      CALL ef_set_work_array_dims (id, 6, 1, 1, 1, 1, ntout, 1, 1, 1)
+
+* counts
+      k = 2
+      CALL ef_set_work_array_dims 
+     .    (id, 7, 1, 1, 1, 1, nxout, nyout, k, ntout)
+
+      RETURN
+      END
+
+* In this subroutine we compute the result
+*
+
+      SUBROUTINE SCAT2GRID_STD_XYT_COMPUTE(id, arg_1, arg_2, arg_3, 
+     .     arg_4, arg_5, arg_6, arg_7, result, xaxlo, xaxhi, 
+     .     yaxlo, yaxhi, taxlo, taxhi, counts)
+
+*  arg_1  xpts  \
+*  arg_2  ypts  / Scattered x,y,t triples to be gridded.
+*  arg_3  tpts /
+*  arg_4  fpts /
+*  arg_5  xaxis of new grid   
+*  arg_6  yaxis of new grid 
+*  arg_7  taxis of new grid
+
+      INCLUDE 'EF_Util.cmn'
+      INCLUDE 'EF_mem_subsc.cmn'
+
+      INTEGER id
+      REAL bad_flag(EF_MAX_ARGS), bad_flag_result
+      REAL arg_1(mem1lox:mem1hix, mem1loy:mem1hiy, mem1loz:mem1hiz, 
+     .     mem1lot:mem1hit)
+      REAL arg_2(mem2lox:mem2hix, mem2loy:mem2hiy, mem2loz:mem2hiz, 
+     .     mem2lot:mem2hit)
+      REAL arg_3(mem3lox:mem3hix, mem3loy:mem3hiy, mem3loz:mem3hiz, 
+     .     mem3lot:mem3hit)
+      REAL arg_4(mem4lox:mem4hix, mem4loy:mem4hiy, mem4loz:mem4hiz, 
+     .     mem4lot:mem4hit)
+      REAL arg_5(mem5lox:mem5hix, mem5loy:mem5hiy, mem5loz:mem5hiz,
+     .     mem5lot:mem5hit)
+      REAL arg_6(mem6lox:mem6hix, mem6loy:mem6hiy, mem6loz:mem6hiz,
+     .     mem6lot:mem6hit)
+      REAL arg_7(mem7lox:mem7hix, mem7loy:mem7hiy, mem7loz:mem7hiz,
+     .     mem7lot:mem7hit)
+
+      REAL result(memreslox:memreshix, memresloy:memreshiy, 
+     .     memresloz:memreshiz, memreslot:memreshit)
+
+* After initialization, the 'res_' arrays contain indexing information 
+* for the result axes.  The 'arg_' arrays will contain the indexing 
+* information for each variable's axes. 
+
+      INTEGER res_lo_ss(4), res_hi_ss(4), res_incr(4)
+      INTEGER arg_lo_ss(4,EF_MAX_ARGS), arg_hi_ss(4,EF_MAX_ARGS),
+     .     arg_incr(4,EF_MAX_ARGS)
+
+
+************************************************************************
+*                                            USER CONFIGURABLE PORTION |
+*                                                                      |
+*                                                                      V
+
+*  Dimension the work arrays
+
+      REAL*8 xaxlo(wrk1lox:wrk1hix)
+      REAL*8 xaxhi(wrk2lox:wrk2hix)
+      REAL*8 yaxlo(wrk3lox:wrk3hix)
+      REAL*8 yaxhi(wrk4lox:wrk4hix)
+      REAL*8 taxlo(wrk5lox:wrk5hix)
+      REAL*8 taxhi(wrk6lox:wrk6hix)
+      REAL counts(wrk7lox:wrk7hix, wrk7loy:wrk7hiy,
+     .              wrk7loz:wrk7hiz, wrk7lot:wrk7hit) 
+
+      INTEGER i, j, k, l, m, n
+      INTEGER i1, i2, j1, k1, l1, i1n, i2n
+      INTEGER i5, i5n, j6, j6n, l7, l7n
+
+      INTEGER nxpts, nypts, ntpts, nscat
+      INTEGER nx, ny, nt
+
+      REAL x1, y1, xf, yf, tol, diff
+      REAL xx, yy, tt, ff, c, fac
+
+      CHARACTER*250 errtxt
+
+*  variables for checking axis characteristics (modulo axes)
+
+      CHARACTER ax_name(5)*16, ax_units(5)*16
+      LOGICAL backward(5), modulox(5), regular(5)
+
+      CALL ef_get_res_subscripts(id, res_lo_ss, res_hi_ss, res_incr)
+      CALL ef_get_arg_subscripts(id, arg_lo_ss, arg_hi_ss, arg_incr)
+      CALL ef_get_bad_flags(id, bad_flag, bad_flag_result)
+
+*  Check to see if output axes are modulo
+
+      CALL ef_get_axis_info (id, 5, ax_name, ax_units, backward, 
+     .                       modulox, regular)
+
+*  Find number of points in scattered input points.  1-D arrays defining the 
+*  scattered data points may lie on the X, Y, Z, or T axis of the input arguments.
+
+      nxpts = 0
+      nypts = 0
+      ntpts = 0
+
+      DO 110 m = X_AXIS, T_AXIS
+         IF (arg_lo_ss(m,ARG1) .GE. 1) THEN
+            i1 = arg_lo_ss(m,ARG1)
+            i1n = arg_hi_ss(m,ARG1)
+            if (i1n-i1 .NE. 0) nxpts = 1 + (i1n - i1)
+         ENDIF
+ 110  CONTINUE
+
+      DO 120 m = X_AXIS, T_AXIS
+         IF (arg_lo_ss(m,ARG2) .GE. 1) THEN
+            i2 = arg_lo_ss(m,ARG2)
+            i2n = arg_hi_ss(m,ARG2)
+            if (i2n-i2 .NE. 0) nypts = 1 + (i2n - i2)
+         ENDIF
+ 120  CONTINUE
+
+      DO 130 m = X_AXIS, T_AXIS
+         IF (arg_lo_ss(m,ARG3) .GE. 1) THEN
+            i2 = arg_lo_ss(m,ARG3)
+            i2n = arg_hi_ss(m,ARG3)
+            if (i2n-i2 .NE. 0) ntpts = 1 + (i2n - i2)
+         ENDIF
+130   CONTINUE
+
+      IF (nxpts .NE. nypts .OR. nxpts .EQ. 0) GOTO 900
+      IF (nxpts .NE. ntpts) GOTO 900
+      nscat = nxpts
+
+*  Compute number of points in output axes.
+
+      i5 = arg_lo_ss(X_AXIS,ARG5)
+      i5n = arg_hi_ss(X_AXIS,ARG5)
+
+      j6 = arg_lo_ss(Y_AXIS,ARG6)
+      j6n = arg_hi_ss(Y_AXIS,ARG6)
+
+      l7 = arg_lo_ss(T_AXIS,ARG7)
+      l7n = arg_hi_ss(T_AXIS,ARG7)
+
+      nx = 1 + (i5n - i5)
+      ny = 1 + (j6n - j6)
+      nt = 1 + (l7n - l7)
+
+*  Check that xax is a X axis and yax a Y axis and tax a T axis
+
+      IF (i5 .EQ. ef_unspecified_int4) THEN
+         WRITE (errtxt, *) 'Fifth argument must be an X axis'
+         GO TO 999
+      ENDIF
+      IF (j6 .EQ. ef_unspecified_int4) THEN
+         WRITE (errtxt, *) 'Sixth argument must be a Y axis'
+         GO TO 999
+      ENDIF
+      IF (l7 .EQ. ef_unspecified_int4) THEN
+         WRITE (errtxt, *) 'Seventh argument must be a T axis'
+         GO TO 999
+      ENDIF
+
+C  Get coordinates of output axes.
+
+      CALL EF_GET_BOX_LIMITS(id, ARG5, X_AXIS,
+     .   arg_lo_ss(X_AXIS, ARG5), arg_hi_ss(X_AXIS, ARG5), xaxlo, xaxhi)
+
+      CALL EF_GET_BOX_LIMITS(id, ARG6, Y_AXIS,
+     .   arg_lo_ss(Y_AXIS, ARG6), arg_hi_ss(Y_AXIS, ARG6), yaxlo, yaxhi)
+
+      CALL EF_GET_BOX_LIMITS(id, ARG7, T_AXIS,
+     .   arg_lo_ss(T_AXIS, ARG7), arg_hi_ss(T_AXIS, ARG7), taxlo, taxhi)
+ 
+*  Compute result
+
+*  Initialize result.
+
+        k = res_lo_ss(Z_AXIS)
+        DO l = res_lo_ss(T_AXIS), res_hi_ss(T_AXIS)
+           DO j = res_lo_ss(Y_AXIS), res_hi_ss(Y_AXIS)
+              DO i = res_lo_ss(X_AXIS), res_hi_ss(X_AXIS)
+                 result(i,j,k,l) = 0.0
+              ENDDO
+           ENDDO
+        ENDDO
+
+*  Initialize counts.
+
+        DO l = res_lo_ss(T_AXIS), res_hi_ss(T_AXIS)
+           DO j = res_lo_ss(Y_AXIS), res_hi_ss(Y_AXIS)
+              DO i = res_lo_ss(X_AXIS), res_hi_ss(X_AXIS)
+                 counts(i,j,1,L) = 0.0
+                 counts(i,j,2,L) = 0.0
+              ENDDO
+           ENDDO
+        ENDDO
+
+*  Loop over x,y,t, placing the function values in the appropriate slots
+*  in the grid. xpts and ypts may be on the X,Y,Z or T axis of ARG1 
+*  and ARG2, sending them to a subroutine collapses the extra dimensions so the
+*  value can be found.
+
+        DO 300 n = 1, nscat
+
+           CALL pickout4 (arg_1, arg_2, arg_3, arg_4, 
+     .                         n, xx, yy, tt, ff)
+
+*  If output X axis is modulo, apply modulo adjustment to that coordinate
+*  of the scattered point.
+
+           IF  (modulox(1) .AND. xx.NE.bad_flag(ARG1))
+     .         CALL modscatminmax (xaxlo(1), xaxhi(nx), 1, xx)
+
+*  Put fcn into result variable.
+
+           k = res_lo_ss(Z_AXIS)
+
+           IF (ff .NE. bad_flag(ARG4)) THEN
+
+           l1 = 1
+           DO 400 l = res_lo_ss(T_AXIS), res_hi_ss(T_AXIS)
+              IF ( tt .GE. taxlo(l1) .AND. tt .LT. taxhi(l1) ) THEN
+
+           j1 = 1
+           DO 200 j = res_lo_ss(Y_AXIS), res_hi_ss(Y_AXIS)
+              IF ( yy .GE. yaxlo(j1) .AND. yy .LT. yaxhi(j1) ) THEN
+
+           i1 = 1
+           DO 100 i = res_lo_ss(X_AXIS), res_hi_ss(X_AXIS)
+              IF ( xx .GE. xaxlo(i1) .AND. xx .LT. xaxhi(i1) ) THEN
+
+                 result(i,j,k,L) = result(i,j,k,L) + ff
+                 counts(i,j,1,L) = counts(i,j,1,L) + 1.0 
+              ENDIF
+
+           i1 = i1 + 1
+ 100       CONTINUE
+
+           ENDIF
+           j1 = j1 + 1
+ 200       CONTINUE
+
+           ENDIF
+           l1 = l1 + 1
+ 400       CONTINUE
+
+           ENDIF  ! ff not bad
+
+300     CONTINUE
+
+* Compute average in each bin.
+
+      i1 = 1
+      DO 620 i = res_lo_ss(X_AXIS), res_hi_ss(X_AXIS)
+         j1 = 1
+         DO 610 j = res_lo_ss(Y_AXIS), res_hi_ss(Y_AXIS)
+            l1 = 1
+            DO 600 l = res_lo_ss(T_AXIS), res_hi_ss(T_AXIS)
+
+               IF( counts(i,j,1,L) .GT. 0. ) THEN
+                  result(i,j,k,l) = result(i,j,k,l)/counts(i,j,1,L)
+               ELSE
+                  result(i,j,k,l) = bad_flag_result
+               ENDIF
+
+600         CONTINUE
+            j1 = j1 + 1
+610      CONTINUE
+         i1 = i1 + 1
+620   CONTINUE
+
+* Compute std in each bin.
+
+
+
+*  Loop over x,y,t, accumulating square of the function values minus bin 
+*  mean in the appropriate slots in the grid.
+
+         DO 800 n = 1, nscat
+
+            CALL pickout4 (arg_1, arg_2, arg_3, arg_4, 
+     .                         n, xx, yy, tt, ff)
+
+*  If output X axis is modulo, apply modulo adjustment to that coordinate
+*  of the scattered point.
+
+            IF  (modulox(1) .AND. xx.NE.bad_flag(ARG1))
+     .         CALL modscatminmax (xaxlo(1), xaxhi(nx), 1, xx)
+
+*  Accumulate obs-mean in cells; using counts[k=2]
+
+	 
+*  Put fcn into result variable.
+
+            k = res_lo_ss(Z_AXIS)
+
+            IF (ff .NE. bad_flag(ARG4)) THEN
+
+            l1 = 1
+            DO 1400 l = res_lo_ss(T_AXIS), res_hi_ss(T_AXIS)
+               IF ( tt .GE. taxlo(l1) .AND. tt .LT. taxhi(l1) ) THEN
+
+            j1 = 1
+            DO 1200 j = res_lo_ss(Y_AXIS), res_hi_ss(Y_AXIS)
+               IF ( yy .GE. yaxlo(j1) .AND. yy .LT. yaxhi(j1) ) THEN
+
+            i1 = 1
+            DO 1100 i = res_lo_ss(X_AXIS), res_hi_ss(X_AXIS)
+               IF ( xx .GE. xaxlo(i1) .AND. xx .LT. xaxhi(i1)  .AND.
+     .              result(i,j,k,l) .NE. bad_flag_result) THEN
+                  diff = ff - result(i,j,k,l)
+                  counts(i,j,2,L) = counts(i,j,2,L) + diff*diff
+               ENDIF
+
+            i1 = i1 + 1
+ 1100       CONTINUE
+
+            ENDIF
+            j1 = j1 + 1
+ 1200       CONTINUE
+
+            ENDIF
+            l1 = l1 + 1
+ 1400       CONTINUE
+
+            ENDIF  ! ff not bad
+
+800   CONTINUE
+
+
+* Compute std in each bin.
+
+      i1 = 1
+      DO 830 i = res_lo_ss(X_AXIS), res_hi_ss(X_AXIS)
+         j1 = 1
+         DO 820 j = res_lo_ss(Y_AXIS), res_hi_ss(Y_AXIS)
+            l1 = 1
+            DO 810 l = res_lo_ss(T_AXIS), res_hi_ss(T_AXIS)
+
+               IF( counts(i,j,1,L) .GT. 0. ) THEN
+	          c = counts(i,j,1,L)
+	          fac = c/(c-1)
+                  result(i,j,k,l) = fac*SQRT(counts(i,j,2,L)/c)
+               ELSE
+                  result(i,j,k,l) = bad_flag_result
+               ENDIF
+
+810         CONTINUE
+            j1 = j1 + 1
+820      CONTINUE
+         i1 = i1 + 1
+830   CONTINUE
+
+
+      RETURN
+
+900   CONTINUE
+
+      IF (nxpts .NE. nypts) THEN
+         WRITE (errtxt,20) nxpts, nypts
+      ELSE IF (nxpts .EQ. 0) THEN
+         WRITE (errtxt, 30)
+      ENDIF
+ 20   FORMAT ('Input scattered x, y have different # of points', 2I8)
+ 30   FORMAT ('No data in scattered x, y points')
+      GOTO 999 
+
+ 999  CALL EF_BAIL_OUT(id, errtxt)
+
+      RETURN
+      END
+
diff --git a/fer/efi/test_opendap.F b/fer/efi/test_opendap.F
index 9df1ff6..1b69e62 100644
--- a/fer/efi/test_opendap.F
+++ b/fer/efi/test_opendap.F
@@ -196,22 +196,14 @@
 *                                                                     |
 *                                                                     V
 
-#ifdef usingDODSf2cUnderscore 
-      INTEGER NF_OPEN_
-      CHARACTER*1024 NF_STRERROR_
-#else
-      INTEGER NF_OPEN
-      CHARACTER*1024 NF_STRERROR
-#endif 
-      EXTERNAL NCCLOS
+      include 'netcdf.inc'
+#include "netcdf_declareUnderscore.inc"
 
       INTEGER i, j, k, l, m, n
       INTEGER i1, j1, k1, l1, m1, n1
       INTEGER istatus, slen, cdfid
       CHARACTER*2048 filename
       CHARACTER*1024 errbuff
-      INTEGER nf_nowrite
-      PARAMETER (nf_nowrite = 0)
 
       CALL ef_get_res_subscripts_6d(id, res_lo_ss, res_hi_ss, res_incr)
       CALL ef_get_arg_subscripts_6d(id, arg_lo_ss, arg_hi_ss, arg_incr)
@@ -239,14 +231,14 @@
            istatus = NF_OPEN_(filename, NF_NOWRITE, cdfid) 
            IF ( istatus .NE. 0 ) errbuff = NF_STRERROR_(istatus)
 * close the netCDF file
-           IF ( istatus .EQ. 0 ) CALL NCCLOS(cdfid, istatus)
+           IF ( istatus .EQ. 0 ) istatus = NF_CLOSE_(cdfid)
 
 #else
 
            istatus = NF_OPEN(filename, NF_NOWRITE, cdfid) 
            IF ( istatus .NE. 0 ) errbuff = NF_STRERROR(istatus)
 * close the netCDF file
-           IF ( istatus .EQ. 0 ) CALL NCCLOS(cdfid, istatus)
+           IF ( istatus .EQ. 0 ) istatus = NF_CLOSE(cdfid)
 
 #endif 
 
diff --git a/fer/efi/tracks2grid_mask_ave_xyt.F b/fer/efi/tracks2grid_mask_ave_xyt.F
new file mode 100644
index 0000000..714543c
--- /dev/null
+++ b/fer/efi/tracks2grid_mask_ave_xyt.F
@@ -0,0 +1,685 @@
+*
+*  tracks2grid_mask_ave_xyt.F
+*
+*
+*  This software was developed by the Thermal Modeling and Analysis
+*  Project(TMAP) of the National Oceanographic and Atmospheric
+*  Administration's (NOAA) Pacific Marine Environmental Lab(PMEL),
+*  hereafter referred to as NOAA/PMEL/TMAP.
+*
+*  Access and use of this software shall impose the following
+*  obligations and understandings on the user. The user is granted the
+*  right, without any fee or cost, to use, copy, modify, alter, enhance
+*  and distribute this software, and any derivative works thereof, and
+*  its supporting documentation for any purpose whatsoever, provided
+*  that this entire notice appears in all copies of the software,
+*  derivative works and supporting documentation.  Further, the user
+*  agrees to credit NOAA/PMEL/TMAP in any publications that result from
+*  the use of this software or in any product that includes this
+*  software. The names TMAP, NOAA and/or PMEL, however, may not be used
+*  in any advertising or publicity to endorse or promote any products
+*  or commercial entity unless specific written permission is obtained
+*  from NOAA/PMEL/TMAP. The user also understands that NOAA/PMEL/TMAP
+*  is not obligated to provide the user with any support, consulting,
+*  training or assistance of any kind with regard to the use, operation
+*  and performance of this software nor to provide the user with any
+*  updates, revisions, new versions or "bug fixes".
+*
+*  THIS SOFTWARE IS PROVIDED BY NOAA/PMEL/TMAP "AS IS" AND ANY EXPRESS
+*  OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+*  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+*  ARE DISCLAIMED. IN NO EVENT SHALL NOAA/PMEL/TMAP BE LIABLE FOR ANY SPECIAL,
+*  INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
+*  RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF
+*  CONTRACT, NEGLIGENCE OR OTHER TORTUOUS ACTION, ARISING OUT OF OR IN
+*  CONNECTION WITH THE ACCESS, USE OR PERFORMANCE OF THIS SOFTWARE. 
+*
+* Ansley Manke
+* June 2009  from scatgrid_nobs_xyt
+*
+* 9/ 3/2015 Fix LAS/SOCAT ticket 1720, missingness patterns in cruise-weighted 
+*           vs unweighted gridded fields.
+* 1/27/2016 Apply modulo operation to scattered longitudes or time if the output
+*           axis is a modulo axis.
+*
+* The input data points are not a simple scatter.  They are cruise tracks 
+* strung one after another .  (Each track will be a contiguous block of points 
+* in the input data arrays. )  And the subtlety is that each cruise needs to 
+* receive the same weight when determining the average for a cell, rather than 
+* each individual data point.  Which means effectively that you need to have 
+* two averaging processes .  You need to have a buffer (the individual cruise 
+* buffer) that is the size and shape of the output grid in which you average 
+* each individual cruise.  And then when the final point of each cruise from 
+* the input data is encountered, you need to add (average) the points from the 
+* individual cruise buffer into the output buffer, re-zeroing the individual 
+* cruise buffer as you do so, so it is ready to average the next cruise. 
+*
+*
+* In this subroutine we provide information about
+* the function.  The user configurable information 
+* consists of the following:
+*
+* descr              Text description of the function
+*
+* num_args           Required number of arguments
+*
+* axis_inheritance   Type of axis for the result
+*                       ( CUSTOM, IMPLIED_BY_ARGS, NORMAL, ABSTRACT )
+*                       CUSTOM          - user defined axis
+*                       IMPLIED_BY_ARGS - same axis as the incoming argument
+*                       NORMAL          - the result is normal to this axis
+*                       ABSTRACT        - an axis which only has index values
+*
+* piecemeal_ok       For memory optimization:
+*                       axes where calculation may be performed piecemeal
+*                       ( YES, NO )
+* 
+*
+* For each argument we provide the following information:
+*
+* name               Text name for an argument
+*
+* unit               Text units for an argument
+*
+* desc               Text description of an argument
+*
+* axis_influence     Are this argument's axes the same as the result grid?
+*                       ( YES, NO )
+*
+* axis_extend       How much does Ferret need to extend arg limits relative to result 
+*
+
+
+      SUBROUTINE  tracks2grid_mask_ave_xyt_init(id)
+
+      INCLUDE 'EF_Util.cmn'
+
+      INTEGER id, arg
+
+************************************************************************
+*                                            USER CONFIGURABLE PORTION |
+*                                                                      |
+*                                                                      V
+
+      CHARACTER*126 buff
+      WRITE (buff, 10)
+   10 FORMAT ('Average by cruise, when gridding scattered ',
+     .        'data to XYT grid where output grid is masked.')
+      CALL ef_set_desc(id, buff)
+
+      CALL ef_set_num_args(id, 9)
+      CALL ef_set_axis_inheritance(id, IMPLIED_BY_ARGS,
+     .        IMPLIED_BY_ARGS, NORMAL, IMPLIED_BY_ARGS)
+
+      CALL ef_set_num_work_arrays(id, 8)
+
+* Output grid is determined by arguments 4, 5, 6, the result's x, y, t axes. 
+
+      arg = 1
+      CALL ef_set_arg_name(id, arg, 'VAR')
+      CALL ef_set_arg_desc(id, arg, 
+     .     'Variable at scattered input XYT. Enter a scalar to just count Obs.')
+      CALL ef_set_axis_influence(id, arg, NO, NO, NO, NO)
+
+      arg = 2
+      CALL ef_set_arg_name(id, arg, 'XPTS')
+      CALL ef_set_arg_desc(id, arg, 
+     .     'X coordinates of scattered input triples')
+
+      CALL ef_set_axis_influence(id, arg, NO, NO, NO, NO)
+
+      arg = 3
+      CALL ef_set_arg_name(id, arg, 'YPTS')
+      CALL ef_set_arg_desc(id, arg, 
+     .     'Y coordinates of scattered input triples')
+      CALL ef_set_axis_influence(id, arg, NO, NO, NO, NO)
+
+      arg = 4
+      CALL ef_set_arg_name(id, arg, 'TPTS')
+      CALL ef_set_arg_desc(id, arg, 
+     .     'T coordinates of scattered input triples')
+      CALL ef_set_axis_influence(id, arg, NO, NO, NO, NO)
+
+      arg = 5
+      CALL ef_set_arg_name(id, arg, 'ICRUISE')
+      CALL ef_set_arg_desc(id, arg, 
+     .     'Cruise ID at scattered input locations')
+      CALL ef_set_axis_influence(id, arg, NO, NO, NO, NO)
+
+      arg = 6
+      CALL ef_set_arg_name(id, arg, 'XAXPTS')
+      CALL ef_set_arg_desc(id, arg, 
+     . 'X axis coordinates of the output grid, with same units as xpts')
+      CALL ef_set_axis_influence(id, arg, YES, NO, NO, NO)
+
+      arg = 7
+      CALL ef_set_arg_name(id, arg, 'YAXPTS')
+      CALL ef_set_arg_desc(id, arg, 
+     . 'Y axis coordinates of the output grid, with same units as ypts')
+      CALL ef_set_axis_influence(id, arg, NO, YES, NO, NO)
+
+      arg = 8
+      CALL ef_set_arg_name(id, arg, 'TAXPTS')
+      WRITE (buff, 20)
+   20 FORMAT ('T axis coordinates, of the output grid, with same ',
+     .       'units and origin as tpts')
+      CALL ef_set_arg_desc(id, arg, buff)
+      CALL ef_set_axis_influence(id, arg, NO, NO, NO, YES)
+
+      arg = 9
+      CALL ef_set_arg_name(id, arg, 'MASK')
+      CALL ef_set_arg_desc(id, arg,  
+     .                   'XY mask on the output grid 1=valid, 0=ignore')
+      CALL ef_set_axis_influence(id, arg, YES, YES, NO, NO)
+
+*                                                                      ^
+*                                                                      |
+*                                            USER CONFIGURABLE PORTION |
+************************************************************************
+
+      RETURN 
+      END
+*
+* In this subroutine we request an amount of storage to be supplied
+* by Ferret and passed as an additional argument.
+*
+      SUBROUTINE tracks2grid_mask_ave_xyt_work_size(id)
+
+      INCLUDE 'EF_Util.cmn'
+      INCLUDE 'EF_mem_subsc.cmn'
+
+      INTEGER id
+
+* **********************************************************************
+*                                            USER CONFIGURABLE PORTION |
+*                                                                      |
+* 
+* Set the work arrays,  X/Y/Z/T dimensions
+*
+* ef_set_work_array_dims(id,array #,xlo,ylo,zlo,tlo,xhi,yhi,zhi,thi)
+*
+      INTEGER nxout, nyout, ntout, nx2, ny2, nt2
+      INTEGER arg_lo_ss(4,1:EF_MAX_ARGS), arg_hi_ss(4,1:EF_MAX_ARGS),
+     .     arg_incr(4,1:EF_MAX_ARGS)
+
+      CALL ef_get_arg_subscripts(id, arg_lo_ss, arg_hi_ss, arg_incr)
+
+      nxout = 1 + arg_hi_ss(X_AXIS,ARG6) - arg_lo_ss(X_AXIS,ARG6)
+      nyout = 1 + arg_hi_ss(Y_AXIS,ARG7) - arg_lo_ss(Y_AXIS,ARG7)
+      ntout = 1 + arg_hi_ss(T_AXIS,ARG8) - arg_lo_ss(T_AXIS,ARG8)
+
+* xaxlo  output x axis
+      CALL ef_set_work_array_dims (id, 1, 1, 1, 1, 1, nxout, 1, 1, 1)
+* xaxhi  output x axis
+      CALL ef_set_work_array_dims (id, 2, 1, 1, 1, 1, nxout, 1, 1, 1)
+
+* yaxlo  output y axis
+      CALL ef_set_work_array_dims (id, 3, 1, 1, 1, 1, nyout, 1, 1, 1)
+* yaxhi  output y axis
+      CALL ef_set_work_array_dims (id, 4, 1, 1, 1, 1, nyout, 1, 1, 1)
+
+* taxlo  output t axis
+      CALL ef_set_work_array_dims (id, 5, 1, 1, 1, 1, ntout, 1, 1, 1)
+* taxhi  output t axis
+      CALL ef_set_work_array_dims (id, 6, 1, 1, 1, 1, ntout, 1, 1, 1)
+
+* obs_cruise  work array - sum and counts of observations per cruise
+* x,y,t direction: output grid
+* z direction: 1..2
+      CALL ef_set_work_array_dims (id, 7, 1, 1, 1, 1, 
+     .                             nxout, nyout, 2, ntout)
+
+* obs  work array - work array - sum and counts of observations
+* x,y,t direction: output grid
+* z direction: 1..2
+      CALL ef_set_work_array_dims (id, 8, 1, 1, 1, 1, 
+     .                             nxout, nyout, 2, ntout)
+
+      RETURN
+      END
+
+
+*
+* In this subroutine we compute the result
+*
+
+      SUBROUTINE tracks2grid_mask_ave_xyt_compute(id, arg_1, arg_2, arg_3, 
+     .     arg_4, arg_5, arg_6, arg_7, arg_8, arg_9, result, 
+     .     xaxlo, xaxhi, yaxlo, yaxhi, taxlo, taxhi, obs_cruise, obs)
+
+*  arg_1  var
+*  arg_2  xpts  \
+*  arg_3  ypts   | Scattered x,y triples to be gridded.
+*  arg_4  tpts  / 
+*  arg_5  icruise
+*
+*  arg_6  xaxis of new grid   
+*  arg_7  yaxis of new grid
+*  arg_8  taxis of new grid
+*  arg_9  xy mask for output grid
+
+      INCLUDE 'EF_Util.cmn'
+      INCLUDE 'EF_mem_subsc.cmn'
+
+      INTEGER id
+
+      REAL bad_flag(EF_MAX_ARGS), bad_flag_result
+      REAL arg_1(mem1lox:mem1hix, mem1loy:mem1hiy, 
+     .     mem1loz:mem1hiz, mem1lot:mem1hit)
+      REAL arg_2(mem2lox:mem2hix, mem2loy:mem2hiy, 
+     .     mem2loz:mem2hiz, mem2lot:mem2hit)
+      REAL arg_3(mem3lox:mem3hix, mem3loy:mem3hiy, 
+     .     mem3loz:mem3hiz, mem3lot:mem3hit)
+      REAL arg_4(mem4lox:mem4hix, mem4loy:mem4hiy, 
+     .     mem4loz:mem4hiz, mem4lot:mem4hit)
+      REAL arg_5(mem5lox:mem5hix, mem5loy:mem5hiy, 
+     .     mem5loz:mem5hiz, mem5lot:mem5hit)
+      REAL arg_6(mem6lox:mem6hix, mem6loy:mem6hiy, 
+     .     mem6loz:mem6hiz, mem6lot:mem6hit)
+      REAL arg_7(mem7lox:mem7hix, mem7loy:mem7hiy, 
+     .     mem7loz:mem7hiz, mem7lot:mem7hit)
+      REAL arg_8(mem8lox:mem8hix, mem8loy:mem8hiy, 
+     .     mem8loz:mem8hiz, mem8lot:mem8hit)
+      REAL arg_9(mem9lox:mem9hix, mem9loy:mem9hiy, 
+     .     mem9loz:mem9hiz, mem9lot:mem9hit)
+
+      REAL result(memreslox:memreshix, memresloy:memreshiy, 
+     .     memresloz:memreshiz, memreslot:memreshit)
+
+* After initialization, the 'res_' arrays contain indexing information 
+* for the result axes.  The 'arg_' arrays will contain the indexing 
+* information for each variable's axes. 
+
+      INTEGER res_lo_ss(4), res_hi_ss(4), res_incr(4)
+      INTEGER arg_lo_ss(4,EF_MAX_ARGS), arg_hi_ss(4,EF_MAX_ARGS),
+     .     arg_incr(4,EF_MAX_ARGS)
+
+
+************************************************************************
+*                                            USER CONFIGURABLE PORTION |
+*                                                                      |
+*                                                                      V
+      INTEGER i, j, k, l, m, n
+      INTEGER i1, i2, j1, k1, l1, k2
+      INTEGER i6,j7,L8,i6n,j7n,L8n
+
+      INTEGER nxpts, npts
+      INTEGER nx, ny, nt
+      INTEGER i1n, i2n
+      INTEGER obs_only, ncc, nscat
+
+      REAL x1, y1, t1, icruise, ncruise, xf, yf, tf
+      REAL xx, yy, tt, vv
+
+*  variables for checking axis characteristics (modulo axes)
+      CHARACTER ax_name(6)*16, ax_units(6)*16
+      LOGICAL backward(6), mdulo(6), regular(6)
+      LOGICAL modulox, modulot
+      REAL*8 modxlen, modtlen
+
+*  Dimension the work arrays
+
+      REAL*8 xaxlo(wrk1lox:wrk1hix)
+      REAL*8 xaxhi(wrk2lox:wrk2hix)
+      REAL*8 yaxlo(wrk3lox:wrk3hix)
+      REAL*8 yaxhi(wrk4lox:wrk4hix)
+      REAL*8 taxlo(wrk5lox:wrk5hix)
+      REAL*8 taxhi(wrk6lox:wrk6hix)
+
+      REAL obs_cruise(wrk7lox:wrk7hix, wrk7loy:wrk7hiy,
+     .               wrk7loz:wrk7hiz, wrk7lot:wrk7hit)
+      REAL obs(wrk8lox:wrk8hix, wrk8loy:wrk8hiy,
+     .               wrk8loz:wrk8hiz, wrk8lot:wrk8hit)
+
+      CHARACTER*250 errtxt
+
+      REAL*8 dx, dy, dt, xxbeg, xxend, yybeg, yyend
+      REAL*8 xax1,xaxf, yax1,yaxf, tax1,taxf
+      INTEGER indx(4,2)
+
+      CALL ef_get_res_subscripts(id, res_lo_ss, res_hi_ss, res_incr)
+      CALL ef_get_arg_subscripts(id, arg_lo_ss, arg_hi_ss, arg_incr)
+      CALL ef_get_bad_flags(id, bad_flag, bad_flag_result)
+
+
+*  Check to see if the output X-axis is modulo (does not need to be regular)
+      CALL ef_get_axis_info_6d(id, ARG6, ax_name, ax_units,
+     .                         backward, mdulo, regular)
+      modulox = mdulo(X_AXIS)
+      IF ( modulox ) THEN
+         CALL ef_get_axis_modulo_len(id, ARG6, X_AXIS, modxlen)
+      ENDIF
+
+*  Check to see if the output T-axis is modulo (does not need to be regular)
+      CALL ef_get_axis_info_6d(id, ARG6, ax_name, ax_units,
+     .                         backward, mdulo, regular)
+      modulot = mdulo(T_AXIS)
+      IF ( modulot ) THEN
+         CALL ef_get_axis_modulo_len(id, ARG8, T_AXIS, modtlen)
+      ENDIF
+
+      obs_only = 0	! 0 = var 1 is a variable to average.
+                        ! 1 = Compute a count of cruises with an obs in the grid cells
+
+*  Find number of points in scattered input points.  1-D arrays defining the 
+*  scattered data points may lie on the X, Y, Z, or T axis of the input arguments.
+
+      nxpts = 0
+
+      DO 100 m = X_AXIS, T_AXIS
+         IF (arg_lo_ss(m,ARG2) .GE. 1) THEN
+            i1 = arg_lo_ss(m,ARG2)
+            i1n = arg_hi_ss(m,ARG2)
+            if (i1n-i1 .NE. 0) nxpts = 1 + (i1n - i1)
+            IF (nxpts .EQ. 0) GOTO 900
+         ENDIF
+ 100  CONTINUE
+
+      npts = 1
+      DO 110 m = X_AXIS, T_AXIS
+         IF (arg_lo_ss(m,ARG1) .GE. 1) THEN
+            i2 = arg_lo_ss(m,ARG1)
+            i2n = arg_hi_ss(m,ARG1)
+            npts = 1 + (i2n - i2)
+            IF ((npts.NE.1) .AND. (npts.NE.nxpts)) GOTO 900
+         ENDIF
+ 110  CONTINUE
+      IF (npts .EQ. 1) obs_only = 1  ! just count up the obs
+
+      DO 120 m = X_AXIS, T_AXIS
+         IF (arg_lo_ss(m,ARG3) .GE. 1) THEN
+            i2 = arg_lo_ss(m,ARG3)
+            i2n = arg_hi_ss(m,ARG3)
+            npts = 1 + (i2n - i2)
+            IF (npts .NE. nxpts) GOTO 900
+         ENDIF
+ 120  CONTINUE
+
+      DO 130 m = X_AXIS, T_AXIS
+         IF (arg_lo_ss(m,ARG4) .GE. 1) THEN
+            i2 = arg_lo_ss(m,ARG4)
+            i2n = arg_hi_ss(m,ARG4)
+            npts = 1 + (i2n - i2)
+            IF (npts .NE. nxpts) GOTO 900
+         ENDIF
+ 130  CONTINUE
+
+      DO 140 m = X_AXIS, T_AXIS
+         IF (arg_lo_ss(m,ARG5) .GE. 1) THEN
+            i2 = arg_lo_ss(m,ARG5)
+            i2n = arg_hi_ss(m,ARG5)
+            npts = 1 + (i2n - i2)
+            IF (npts .NE. nxpts) GOTO 900
+         ENDIF
+ 140  CONTINUE
+
+      nscat = nxpts
+
+*  Compute number of points in output axes.
+
+      i6 = ef_unspecified_int4
+      j7 = ef_unspecified_int4
+      L8 = ef_unspecified_int4
+
+      i6 = arg_lo_ss(X_AXIS,ARG6)
+      i6n = arg_hi_ss(X_AXIS,ARG6)
+
+      j7 = arg_lo_ss(Y_AXIS,ARG7)
+      j7n = arg_hi_ss(Y_AXIS,ARG7)
+
+      L8 = arg_lo_ss(T_AXIS,ARG8)
+      L8n = arg_hi_ss(T_AXIS,ARG8)
+
+      nx = 1 + (i6n - i6)
+      ny = 1 + (j7n - j7)
+      nt = 1 + (L8n - L8)
+
+*  Check that xax is a X axis and yax a Y axis
+
+      IF (i6 .EQ. ef_unspecified_int4) THEN
+         WRITE (errtxt, *) 'Sixth argument must be a X axis'
+         GO TO 999
+      ENDIF
+      IF (j7 .EQ. ef_unspecified_int4) THEN
+         WRITE (errtxt, *) 'Seventh argument must be a Y axis'
+         GO TO 999
+      ENDIF
+      IF (L8 .EQ. ef_unspecified_int4) THEN
+         WRITE (errtxt, *) 'Eighth argument must be a T axis'
+         GO TO 999
+      ENDIF
+
+C  Get coordinates of output axes.
+
+      CALL EF_GET_BOX_LIMITS(id, ARG6, X_AXIS,
+     .   arg_lo_ss(X_AXIS, ARG6), arg_hi_ss(X_AXIS, ARG6), xaxlo, xaxhi)
+
+      CALL EF_GET_BOX_LIMITS(id, ARG7, Y_AXIS,
+     .   arg_lo_ss(Y_AXIS, ARG7), arg_hi_ss(Y_AXIS, ARG7), yaxlo, yaxhi)
+
+      CALL EF_GET_BOX_LIMITS(id, ARG8, T_AXIS,
+     .   arg_lo_ss(T_AXIS, ARG8), arg_hi_ss(T_AXIS, ARG8), taxlo, taxhi)
+
+*  Get first coordinates of output axes.
+
+      call ef_get_coordinates(id, ARG6, X_AXIS, 
+     .   arg_lo_ss(X_AXIS, ARG6), arg_lo_ss(X_AXIS, ARG6), xax1)
+      call ef_get_coordinates(id, ARG7, X_AXIS, 
+     .   arg_lo_ss(Y_AXIS, ARG7), arg_lo_ss(Y_AXIS, ARG7), yax1)
+      x1 = xax1
+      y1 = yax1
+
+*  Compute result
+
+*  Initialize counts.
+
+      k2 = 2
+      IF (obs_only .EQ. 1) k2 = 1
+
+      DO L = 1, nt
+      DO k = 1, k2
+      DO j = 1, ny
+      DO i = 1, nx
+         obs(i,j,k,L) = 0.
+      ENDDO
+      ENDDO
+      ENDDO
+      ENDDO
+
+      DO L = 1, nt
+      DO k = 1, k2
+      DO j = 1, ny
+      DO i = 1, nx
+         obs_cruise(i,j,k,L) = 0.
+      ENDDO
+      ENDDO
+      ENDDO
+      ENDDO
+
+*  Loop over x and y, compute the number of observations for the gaussian-weighted 
+*  mapping onto the grid.  Lat and longitude may be on the X,Y,Z or T axis of ARG1 
+*  and ARG2, sending them to a subroutine collapses the extra dimensions so the
+*  value can be found.
+
+      n = 1
+      CALL pickoutxytcv (obs_only, arg_1, arg_2, arg_3, arg_4, arg_5,
+     .           n, vv, xx, yy, tt, ncc)
+      icruise = ncc
+
+*  If output axis is modulo, apply modulo adjustment to that coordinate
+*  of the scattered point.
+         IF ( modulox ) THEN
+            CALL modscat(xaxlo(1), xaxhi(nx), modxlen, 1, xx)
+         ENDIF
+         IF ( modulot ) THEN
+            CALL modscat(taxlo(1), taxhi(nt), modtlen, 1, tt)
+         ENDIF
+
+
+* For each cruise keep track of the index range it spans in the result grid
+* Then at the end of the cruise need only to process that subset of the grid.
+      indx(1,1) = nx
+      indx(1,2) = 1
+      indx(2,1) = ny
+      indx(2,2) = 1
+      indx(4,1) = nt
+      indx(4,2) = 1
+      
+      DO 300 n = 1, nscat
+
+         CALL pickoutxytcv (obs_only, arg_1, arg_2, arg_3, arg_4, arg_5,
+     .           n, vv, xx, yy, tt, ncc)
+         IF (vv .EQ. bad_flag(ARG1) .OR. xx .EQ. bad_flag(ARG2) .OR. 
+     .          yy .EQ. bad_flag(ARG3) .OR. tt .EQ. bad_flag(ARG4) ) GOTO 300
+     
+
+
+*  If output axis is modulo, apply modulo adjustment to that coordinate
+*  of the scattered point.
+         IF ( modulox ) THEN
+            CALL modscat(xaxlo(1), xaxhi(nx), modxlen, 1, xx)
+         ENDIF
+         IF ( modulot ) THEN
+            CALL modscat(taxlo(1), taxhi(nt), modtlen, 1, tt)
+         ENDIF
+
+
+	 if (xx.LT.xaxlo(1) .OR. xx.GT.xaxhi(nx)) GOTO 300
+	 if (yy.LT.yaxlo(1) .OR. yy.GT.yaxhi(ny)) GOTO 300
+	 if (tt.LT.taxlo(1) .OR. tt.GT.taxhi(nt)) GOTO 300
+
+         IF (ncc .NE. icruise) THEN
+	    
+            DO L = indx(4,1), indx(4,2)
+            DO j = indx(2,1), indx(2,2)
+            DO i = indx(1,1), indx(1,2)
+	       IF (obs_only .EQ. 0) THEN
+                  IF (obs_cruise(i,j,2,L) .GT. 0.) THEN
+                     obs(i,j,1,L) = obs(i,j,1,L) + 
+     .                 obs_cruise(i,j,1,L)/obs_cruise(i,j,2,L)
+                     obs(i,j,2,L) = obs(i,j,2,L) + 1.
+		  ENDIF
+                  obs_cruise(i,j,1,L) = 0.
+                  obs_cruise(i,j,2,L) = 0.
+               ELSE
+                  IF (obs_cruise(i,j,1,L) .GT. 0.) THEN
+                     obs(i,j,1,L) = obs(i,j,1,L) + 1.
+                  ENDIF
+                  obs_cruise(i,j,1,L) = 0.
+               ENDIF
+            ENDDO
+            ENDDO
+            ENDDO
+
+	    icruise = ncc
+
+* reset indices
+            indx(1,1) = nx
+            indx(1,2) = 1
+            indx(2,1) = ny
+            indx(2,2) = 1
+            indx(4,1) = nt
+            indx(4,2) = 1
+	    
+	 ENDIF
+
+         CALL nobsxytv (obs_only, xx, yy, tt, vv, nx, ny, nt, 
+     .           xaxlo,xaxhi, yaxlo,yaxhi, taxlo,taxhi, indx, obs_cruise)
+
+ 300     CONTINUE
+
+* Get data from the last cruise
+	    
+      DO L = indx(4,1), indx(4,2)
+      DO j = indx(2,1), indx(2,2)
+      DO i = indx(1,1), indx(1,2)
+         IF (obs_only .EQ. 0) THEN
+            IF (obs_cruise(i,j,2,L) .GT. 0.) THEN
+               obs(i,j,1,L) = obs(i,j,1,L) + 
+     .                 obs_cruise(i,j,1,L)/obs_cruise(i,j,2,L)
+               obs(i,j,2,L) = obs(i,j,2,L) + 1.
+            ENDIF
+            obs_cruise(i,j,1,L) = 0.
+            obs_cruise(i,j,2,L) = 0.
+         ELSE
+            IF (obs_cruise(i,j,1,L) .GT. 0.) THEN
+               obs(i,j,1,L) = obs(i,j,1,L) + 1.
+            ENDIF
+               obs_cruise(i,j,1,L) = 0.
+         ENDIF
+      ENDDO
+      ENDDO
+      ENDDO
+
+*  Put gridded fcn into result variable.
+
+      IF (obs_only .EQ. 0) THEN
+         k = res_lo_ss(Z_AXIS)
+         L1 = 1
+         DO 420 L = res_lo_ss(T_AXIS), res_hi_ss(T_AXIS)
+            j1 = 1
+            DO 410 j = res_lo_ss(Y_AXIS), res_hi_ss(Y_AXIS)
+               i1 = 1
+               DO 400 i = res_lo_ss(X_AXIS), res_hi_ss(X_AXIS)
+                  IF (obs(i1,j1,2,L1) .GT. 0.) THEN
+                     result(i,j,k,l) = obs(i1,j1,1,L1)/obs(i1,j1,2,L1)
+		  ELSE
+                     result(i,j,k,l) = bad_flag_result
+		  ENDIF
+
+                  i1 = i1 + 1
+ 400           CONTINUE
+               j1 = j1 + 1
+
+ 410        CONTINUE
+            L1 = L1 + 1
+ 420     CONTINUE
+
+      ELSE
+         k = res_lo_ss(Z_AXIS)
+         L1 = 1
+         DO 520 L = res_lo_ss(T_AXIS), res_hi_ss(T_AXIS)
+            j1 = 1
+            DO 510 j = res_lo_ss(Y_AXIS), res_hi_ss(Y_AXIS)
+               i1 = 1
+               DO 500 i = res_lo_ss(X_AXIS), res_hi_ss(X_AXIS)
+                  result(i,j,k,l) = obs(i1,j1,1,L1)
+                  i1 = i1 + 1
+ 500           CONTINUE
+               j1 = j1 + 1
+
+ 510        CONTINUE
+            l1 = l1 + 1
+ 520     CONTINUE
+
+      ENDIF
+
+      RETURN
+
+900   CONTINUE
+
+      IF (nxpts .NE. npts) THEN
+         WRITE (errtxt,20)
+      ELSE IF (nxpts .EQ. 0) THEN
+         WRITE (errtxt, 30)
+      ENDIF
+      GOTO 999 
+
+ 999  CALL EF_BAIL_OUT(id, errtxt)
+      RETURN
+
+   20 FORMAT 
+     . ('Input scattered var,x,y,t,cruiseID have different # of points')
+
+   30 FORMAT ('No data in scattered x,y,t points')
+
+
+*                                                                      ^
+*                                                                      |
+*                                            USER CONFIGURABLE PORTION |
+************************************************************************
+
+      END
+
+
+
diff --git a/fer/efi/tracks2grid_std_xyt.F b/fer/efi/tracks2grid_std_xyt.F
new file mode 100644
index 0000000..071df60
--- /dev/null
+++ b/fer/efi/tracks2grid_std_xyt.F
@@ -0,0 +1,787 @@
+*
+*  tracks2grid_std_xyt.F
+*
+*
+*  This software was developed by the Thermal Modeling and Analysis
+*  Project(TMAP) of the National Oceanographic and Atmospheric
+*  Administration's (NOAA) Pacific Marine Environmental Lab(PMEL),
+*  hereafter referred to as NOAA/PMEL/TMAP.
+*
+*  Access and use of this software shall impose the following
+*  obligations and understandings on the user. The user is granted the
+*  right, without any fee or cost, to use, copy, modify, alter, enhance
+*  and distribute this software, and any derivative works thereof, and
+*  its supporting documentation for any purpose whatsoever, provided
+*  that this entire notice appears in all copies of the software,
+*  derivative works and supporting documentation.  Further, the user
+*  agrees to credit NOAA/PMEL/TMAP in any publications that result from
+*  the use of this software or in any product that includes this
+*  software. The names TMAP, NOAA and/or PMEL, however, may not be used
+*  in any advertising or publicity to endorse or promote any products
+*  or commercial entity unless specific written permission is obtained
+*  from NOAA/PMEL/TMAP. The user also understands that NOAA/PMEL/TMAP
+*  is not obligated to provide the user with any support, consulting,
+*  training or assistance of any kind with regard to the use, operation
+*  and performance of this software nor to provide the user with any
+*  updates, revisions, new versions or "bug fixes".
+*
+*  THIS SOFTWARE IS PROVIDED BY NOAA/PMEL/TMAP "AS IS" AND ANY EXPRESS
+*  OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+*  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+*  ARE DISCLAIMED. IN NO EVENT SHALL NOAA/PMEL/TMAP BE LIABLE FOR ANY SPECIAL,
+*  INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
+*  RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF
+*  CONTRACT, NEGLIGENCE OR OTHER TORTUOUS ACTION, ARISING OUT OF OR IN
+*  CONNECTION WITH THE ACCESS, USE OR PERFORMANCE OF THIS SOFTWARE. 
+*
+* Ansley Manke
+* October 2010 from tracks2grid_ave_xyt.F
+*
+* 9/ 3/2015 Fix LAS/SOCAT ticket 1720, missingness patterns in cruise-weighted 
+*           vs unweighted gridded fields.
+* 1/14/2016 Fix LAS/SOCAT ticket 1721, missing/zero where there should be data in cell
+* 1/27/2016 Apply modulo operation to scattered longitudes or time if the output
+*           axis is a modulo axis.
+*
+* This is the description of the averaging function.
+* The input data points are not a simple scatter.  They are cruise tracks 
+* strung one after another.  (Each track will be a contiguous block of points 
+* in the input data arrays.)  And the subtlety is that each cruise needs to 
+* receive the same weight when determining the average for a cell, rather than 
+* each individual data point.  Which means effectively that you need to have 
+* two averaging processes.  You need to have a buffer (the individual cruise 
+* buffer) that is the size and shape of the output grid in which you average 
+* each individual cruise.  And then when the final point of each cruise from 
+* the input data is encountered, you need to add (average) the points from the 
+* individual cruise buffer into the output buffer, re-zeroing the individual 
+* cruise buffer as you do so, so it is ready to average the next cruise. 
+*
+* This function will return the std for the averages, based on weighted means,
+* for small samples, http://wapedia.mobi/en/Weighted_mean#6. and
+* http://wapedia.mobi/en/Weighted_mean#7.
+* 
+*
+* In this subroutine we provide information about
+* the function.  The user configurable information 
+* consists of the following:
+*
+* descr              Text description of the function
+*
+* num_args           Required number of arguments
+*
+* axis_inheritance   Type of axis for the result
+*                       ( CUSTOM, IMPLIED_BY_ARGS, NORMAL, ABSTRACT )
+*                       CUSTOM          - user defined axis
+*                       IMPLIED_BY_ARGS - same axis as the incoming argument
+*                       NORMAL          - the result is normal to this axis
+*                       ABSTRACT        - an axis which only has index values
+*
+* piecemeal_ok       For memory optimization:
+*                       axes where calculation may be performed piecemeal
+*                       ( YES, NO )
+* 
+*
+* For each argument we provide the following information:
+*
+* name               Text name for an argument
+*
+* unit               Text units for an argument
+*
+* desc               Text description of an argument
+*
+* axis_influence     Are this argument's axes the same as the result grid?
+*                       ( YES, NO )
+*
+* axis_extend       How much does Ferret need to extend arg limits relative to result 
+*
+
+
+      SUBROUTINE  tracks2grid_std_xyt_init(id)
+
+      INCLUDE 'EF_Util.cmn'
+
+      INTEGER id, arg
+
+************************************************************************
+*                                            USER CONFIGURABLE PORTION |
+*                                                                      |
+*                                                                      V
+
+      CHARACTER*126 buff
+      WRITE (buff, 10)
+   10 FORMAT ('Weighted std by cruise, when gridding scattered ',
+     .        'data to XYT grid')
+      CALL ef_set_desc(id, buff)
+
+      CALL ef_set_num_args(id, 8)
+      CALL ef_set_axis_inheritance(id, IMPLIED_BY_ARGS,
+     .        IMPLIED_BY_ARGS, NORMAL, IMPLIED_BY_ARGS)
+
+      CALL ef_set_num_work_arrays(id, 8)
+
+* Output grid is determined by arguments 4, 5, 6, the result's x, y, t axes. 
+
+      arg = 1
+      CALL ef_set_arg_name(id, arg, 'VARIABLE')
+      CALL ef_set_arg_desc(id, arg, 'Variable at scattered input XYT.')
+      CALL ef_set_axis_influence(id, arg, NO, NO, NO, NO)
+
+      arg = 2
+      CALL ef_set_arg_name(id, arg, 'XPTS')
+      CALL ef_set_arg_desc(id, arg, 
+     .     'X coordinates of scattered input triples')
+
+      CALL ef_set_axis_influence(id, arg, NO, NO, NO, NO)
+
+      arg = 3
+      CALL ef_set_arg_name(id, arg, 'YPTS')
+      CALL ef_set_arg_desc(id, arg, 
+     .     'Y coordinates of scattered input triples')
+      CALL ef_set_axis_influence(id, arg, NO, NO, NO, NO)
+
+      arg = 4
+      CALL ef_set_arg_name(id, arg, 'TPTS')
+      CALL ef_set_arg_desc(id, arg, 
+     .     'T coordinates of scattered input triples')
+      CALL ef_set_axis_influence(id, arg, NO, NO, NO, NO)
+
+      arg = 5
+      CALL ef_set_arg_name(id, arg, 'ICRUISE')
+      CALL ef_set_arg_desc(id, arg, 
+     .     'Cruise ID at scattered input locations')
+      CALL ef_set_axis_influence(id, arg, NO, NO, NO, NO)
+
+      arg = 6
+      CALL ef_set_arg_name(id, arg, 'XAXPTS')
+      CALL ef_set_arg_desc(id, arg, 
+     .                   'X axis coordinates of a regular output grid')
+      CALL ef_set_axis_influence(id, arg, YES, NO, NO, NO)
+
+      arg = 7
+      CALL ef_set_arg_name(id, arg, 'YAXPTS')
+      CALL ef_set_arg_desc(id, arg, 
+     .                   'Y axis coordinates of a regular output grid')
+      CALL ef_set_axis_influence(id, arg, NO, YES, NO, NO)
+
+      arg = 8
+      CALL ef_set_arg_name(id, arg, 'TAXPTS')
+      WRITE (buff, 20)
+   20 FORMAT ('T axis coordinates, of a regular output grid, with same ',
+     .       'units and origin as tpts')
+      CALL ef_set_arg_desc(id, arg, buff)
+      CALL ef_set_axis_influence(id, arg, NO, NO, NO, YES)
+
+
+
+*                                                                      ^
+*                                                                      |
+*                                            USER CONFIGURABLE PORTION |
+************************************************************************
+
+      RETURN 
+      END
+
+*
+* In this subroutine we request an amount of storage to be supplied
+* by Ferret and passed as an additional argument.
+*
+      SUBROUTINE tracks2grid_std_xyt_work_size(id)
+
+      INCLUDE 'EF_Util.cmn'
+      INCLUDE 'EF_mem_subsc.cmn'
+
+      INTEGER id
+
+* **********************************************************************
+*                                            USER CONFIGURABLE PORTION |
+*                                                                      |
+* 
+* Set the work arrays,  X/Y/Z/T dimensions
+*
+* ef_set_work_array_dims(id,array #,xlo,ylo,zlo,tlo,xhi,yhi,zhi,thi)
+*
+      INTEGER nxout, nyout, ntout, nx2, ny2, nt2
+      INTEGER arg_lo_ss(4,1:EF_MAX_ARGS), arg_hi_ss(4,1:EF_MAX_ARGS),
+     .     arg_incr(4,1:EF_MAX_ARGS)
+
+      CALL ef_get_arg_subscripts(id, arg_lo_ss, arg_hi_ss, arg_incr)
+
+      nxout = 1 + arg_hi_ss(X_AXIS,ARG6) - arg_lo_ss(X_AXIS,ARG6)
+      nyout = 1 + arg_hi_ss(Y_AXIS,ARG7) - arg_lo_ss(Y_AXIS,ARG7)
+      ntout = 1 + arg_hi_ss(T_AXIS,ARG8) - arg_lo_ss(T_AXIS,ARG8)
+
+* xax  output x axis cell edges
+      CALL ef_set_work_array_dims (id, 1, 1, 1, 1, 1, nxout, 2, 1, 1)
+
+* yax  output y axis cell edges
+      CALL ef_set_work_array_dims (id, 2, 1, 1, 1, 1, nyout, 2, 1, 1)
+
+* Tax  output t axis cell edges
+      CALL ef_set_work_array_dims (id, 3, 1, 1, 1, 1, ntout, 2, 1, 1)
+
+* obs_cruise  work array - sum and counts of observations per cruise
+* x,y,t direction: output grid
+* z direction: 1..3
+      CALL ef_set_work_array_dims (id, 4, 1, 1, 1, 1, 
+     .                             nxout, nyout, 3, ntout)
+
+* cell_avg  work array - work array - sum and counts over cruises for cell average
+* x,y,t direction: output grid
+* z direction: 1..2
+      CALL ef_set_work_array_dims (id, 5, 1, 1, 1, 1, 
+     .                             nxout, nyout, 2, ntout)
+
+* wi_sums k=1, sum of cruiseweight wi = sum of obs in the cells
+* x,y,t direction: output grid
+* z direction: 1
+      CALL ef_set_work_array_dims (id, 6, 1, 1, 1, 1, 
+     .                             nxout, nyout, 1, ntout)
+
+* cruisemean saving individual weighted cruise means. 
+* for computing s^2  sum of wi*(xi - weighted_mean)**2
+* x,y,t direction: output grid
+* z direction: 30 (max cruises per cell?)
+      CALL ef_set_work_array_dims (id, 7, 1, 1, 1, 1, 
+     .                             nxout, nyout, 30, ntout)
+
+* cruiseweight saving individual cruiseweight. 
+* for computing s^2  sum of wi*(xi - weighted_mean)**2
+* x,y,t direction: output grid
+* z direction: 30 (max cruises per cell?)
+      CALL ef_set_work_array_dims (id, 8, 1, 1, 1, 1, 
+     .                             nxout, nyout, 30, ntout)
+
+      RETURN
+      END
+
+*
+* In this subroutine we compute the result
+*
+
+      SUBROUTINE tracks2grid_std_xyt_compute(id, arg_1, arg_2, arg_3, 
+     .     arg_4, arg_5, arg_6, arg_7, arg_8, result, xax, yax, tax, 
+     .     obs_cruise, cell_avg, wi_sums, cruisemean, cruiseweight)
+
+*  arg_1  var
+*  arg_2  xpts  \
+*  arg_3  ypts   | Scattered x,y triples to be gridded.
+*  arg_4  tpts  / 
+*  arg_5  icruise
+*
+*  arg_6  xaxis of new grid   
+*  arg_7  yaxis of new grid
+*  arg_8  taxis of new grid
+
+      INCLUDE 'EF_Util.cmn'
+      INCLUDE 'EF_mem_subsc.cmn'
+
+      INTEGER id
+
+      REAL bad_flag(EF_MAX_ARGS), bad_flag_result
+      REAL arg_1(mem1lox:mem1hix, mem1loy:mem1hiy, 
+     .     mem1loz:mem1hiz, mem1lot:mem1hit)
+      REAL arg_2(mem2lox:mem2hix, mem2loy:mem2hiy, 
+     .     mem2loz:mem2hiz, mem2lot:mem2hit)
+      REAL arg_3(mem3lox:mem3hix, mem3loy:mem3hiy, 
+     .     mem3loz:mem3hiz, mem3lot:mem3hit)
+      REAL arg_4(mem4lox:mem4hix, mem4loy:mem4hiy, 
+     .     mem4loz:mem4hiz, mem4lot:mem4hit)
+      REAL arg_5(mem5lox:mem5hix, mem5loy:mem5hiy, 
+     .     mem5loz:mem5hiz, mem5lot:mem5hit)
+      REAL arg_6(mem6lox:mem6hix, mem6loy:mem6hiy, 
+     .     mem6loz:mem6hiz, mem6lot:mem6hit)
+      REAL arg_7(mem7lox:mem7hix, mem7loy:mem7hiy, 
+     .     mem7loz:mem7hiz, mem7lot:mem7hit)
+      REAL arg_8(mem8lox:mem8hix, mem8loy:mem8hiy, 
+     .     mem8loz:mem8hiz, mem8lot:mem8hit)
+      REAL arg_9(mem9lox:mem9hix, mem9loy:mem9hiy, 
+     .     mem9loz:mem9hiz, mem9lot:mem9hit)
+
+      REAL result(memreslox:memreshix, memresloy:memreshiy, 
+     .     memresloz:memreshiz, memreslot:memreshit)
+
+* After initialization, the 'res_' arrays contain indexing information 
+* for the result axes.  The 'arg_' arrays will contain the indexing 
+* information for each variable's axes. 
+
+      INTEGER res_lo_ss(4), res_hi_ss(4), res_incr(4)
+      INTEGER arg_lo_ss(4,EF_MAX_ARGS), arg_hi_ss(4,EF_MAX_ARGS),
+     .     arg_incr(4,EF_MAX_ARGS)
+
+
+************************************************************************
+*                                            USER CONFIGURABLE PORTION |
+*                                                                      |
+*                                                                      V
+      INTEGER i, j, k, l, m, n
+      INTEGER i6,j7,L8,i6n,j7n,L8n
+
+      INTEGER nxpts, npts
+      INTEGER nx, ny, nt
+      INTEGER i1, i2, i1n, i2n
+      INTEGER obs_only, icruise, ncc, nc_cell, nk
+
+      REAL x1, y1, t1, xf, yf, tf
+      REAL xx, yy, tt, vv
+
+*  variables for checking axis characteristics (modulo axes)
+      CHARACTER ax_name(6)*16, ax_units(6)*16
+      LOGICAL backward(6), mdulo(6), regular(6)
+      LOGICAL modulox, modulot
+      REAL*8 modxlen, modtlen
+
+      REAL dx, dy, xxbeg, xxend, yybeg, yyend
+      REAL cellmean, wt_cruise_mean, unwtd_mean,
+     .     wsumsq_ijl, wsumsq, diffsum, wtcruise,
+     .     denom, v1, v2, wtsq
+
+      REAL*8 xax1,xaxf, yax1,yaxf, tax1,taxf
+      INTEGER indx(4,2), icstart, icend, nscat
+
+*  Dimension the work arrays
+
+      REAL*8 xax(wrk1lox:wrk1hix, wrk1loy:wrk1hiy,
+     .               wrk1loz:wrk1hiz, wrk1lot:wrk1hit)
+      REAL*8 yax(wrk2lox:wrk2hix, wrk2loy:wrk2hiy,
+     .               wrk2loz:wrk2hiz, wrk2lot:wrk2hit)
+      REAL*8 tax(wrk3lox:wrk3hix, wrk3loy:wrk3hiy,
+     .               wrk3loz:wrk3hiz, wrk3lot:wrk3hit)
+      REAL obs_cruise(wrk4lox:wrk4hix, wrk4loy:wrk4hiy,
+     .               wrk4loz:wrk4hiz, wrk4lot:wrk4hit)
+      REAL cell_avg(wrk5lox:wrk5hix, wrk5loy:wrk5hiy,
+     .               wrk5loz:wrk5hiz, wrk5lot:wrk5hit)
+      REAL wi_sums(wrk6lox:wrk6hix, wrk6loy:wrk6hiy,
+     .               wrk6loz:wrk6hiz, wrk6lot:wrk6hit)
+      REAL cruisemean(wrk7lox:wrk7hix, wrk7loy:wrk7hiy,
+     .               wrk7loz:wrk7hiz, wrk7lot:wrk7hit)
+      REAL cruiseweight(wrk8lox:wrk8hix, wrk8loy:wrk8hiy,
+     .               wrk8loz:wrk8hiz, wrk8lot:wrk8hit)
+
+      CHARACTER*250 errtxt
+
+      CALL ef_get_res_subscripts(id, res_lo_ss, res_hi_ss, res_incr)
+      CALL ef_get_arg_subscripts(id, arg_lo_ss, arg_hi_ss, arg_incr)
+      CALL ef_get_bad_flags(id, bad_flag, bad_flag_result)
+
+*  Check to see if the output X-axis is modulo (does not need to be regular)
+      CALL ef_get_axis_info_6d(id, ARG6, ax_name, ax_units,
+     .                         backward, mdulo, regular)
+      modulox = mdulo(X_AXIS)
+      IF ( modulox ) THEN
+         CALL ef_get_axis_modulo_len(id, ARG6, X_AXIS, modxlen)
+      ENDIF
+
+*  Check to see if the output T-axis is modulo (does not need to be regular)
+      CALL ef_get_axis_info_6d(id, ARG6, ax_name, ax_units,
+     .                         backward, mdulo, regular)
+      modulot = mdulo(T_AXIS)
+      IF ( modulot ) THEN
+         CALL ef_get_axis_modulo_len(id, ARG8, T_AXIS, modtlen)
+      ENDIF
+
+      obs_only = 0	! Compute the std for average of variable (e.g. fco2)
+
+*  Find number of points in scattered input points.  1-D arrays defining the 
+*  scattered data points may lie on the X, Y, Z, or T axis of the input arguments.
+
+      nxpts = 0
+
+      DO 100 m = X_AXIS, T_AXIS
+         IF (arg_lo_ss(m,ARG2) .GE. 1) THEN
+            i1 = arg_lo_ss(m,ARG2)
+            i1n = arg_hi_ss(m,ARG2)
+            if (i1n-i1 .NE. 0) nxpts = 1 + (i1n - i1)
+            IF (nxpts .EQ. 0) GOTO 900
+         ENDIF
+ 100  CONTINUE
+
+      npts = 1
+      DO 110 m = X_AXIS, T_AXIS
+         IF (arg_lo_ss(m,ARG1) .GE. 1) THEN
+            i2 = arg_lo_ss(m,ARG1)
+            i2n = arg_hi_ss(m,ARG1)
+            npts = 1 + (i2n - i2)
+            IF (npts.NE.nxpts) GOTO 900
+         ENDIF
+ 110  CONTINUE
+
+      DO 120 m = X_AXIS, T_AXIS
+         IF (arg_lo_ss(m,ARG3) .GE. 1) THEN
+            i2 = arg_lo_ss(m,ARG3)
+            i2n = arg_hi_ss(m,ARG3)
+            npts = 1 + (i2n - i2)
+            IF (npts .NE. nxpts) GOTO 900
+         ENDIF
+ 120  CONTINUE
+
+      DO 130 m = X_AXIS, T_AXIS
+         IF (arg_lo_ss(m,ARG4) .GE. 1) THEN
+            i2 = arg_lo_ss(m,ARG4)
+            i2n = arg_hi_ss(m,ARG4)
+            npts = 1 + (i2n - i2)
+            IF (npts .NE. nxpts) GOTO 900
+         ENDIF
+ 130  CONTINUE
+
+      DO 140 m = X_AXIS, T_AXIS
+         IF (arg_lo_ss(m,ARG5) .GE. 1) THEN
+            i2 = arg_lo_ss(m,ARG5)
+            i2n = arg_hi_ss(m,ARG5)
+            npts = 1 + (i2n - i2)
+            IF (npts .NE. nxpts) GOTO 900
+         ENDIF
+ 140  CONTINUE
+
+      nscat = nxpts
+
+*  Compute number of points in output axes.
+
+      i6 = ef_unspecified_int4
+      j7 = ef_unspecified_int4
+      L8 = ef_unspecified_int4
+
+      i6 = arg_lo_ss(X_AXIS,ARG6)
+      i6n = arg_hi_ss(X_AXIS,ARG6)
+
+      j7 = arg_lo_ss(Y_AXIS,ARG7)
+      j7n = arg_hi_ss(Y_AXIS,ARG7)
+
+      L8 = arg_lo_ss(T_AXIS,ARG8)
+      L8n = arg_hi_ss(T_AXIS,ARG8)
+
+      nx = 1 + (i6n - i6)
+      ny = 1 + (j7n - j7)
+      nt = 1 + (L8n - L8)
+
+*  Check that xax is a X axis and yax a Y axis
+
+      IF (i6 .EQ. ef_unspecified_int4) THEN
+         WRITE (errtxt, *) 'Sixth argument must be a X axis'
+         GO TO 999
+      ENDIF
+      IF (j7 .EQ. ef_unspecified_int4) THEN
+         WRITE (errtxt, *) 'Seventh argument must be a Y axis'
+         GO TO 999
+      ENDIF
+      IF (L8 .EQ. ef_unspecified_int4) THEN
+         WRITE (errtxt, *) 'Eighth argument must be a T axis'
+         GO TO 999
+      ENDIF
+
+C  Get coordinates of output axes.
+
+      CALL EF_GET_BOX_LIMITS(id, ARG6, X_AXIS,
+     .   arg_lo_ss(X_AXIS, ARG6), arg_hi_ss(X_AXIS, ARG6), xax(1,1,1,1), xax(1,2,1,1))
+
+      CALL EF_GET_BOX_LIMITS(id, ARG7, Y_AXIS,
+     .   arg_lo_ss(Y_AXIS, ARG7), arg_hi_ss(Y_AXIS, ARG7), yax(1,1,1,1), yax(1,2,1,1))
+
+      CALL EF_GET_BOX_LIMITS(id, ARG8, T_AXIS,
+     .   arg_lo_ss(T_AXIS, ARG8), arg_hi_ss(T_AXIS, ARG8), tax(1,1,1,1), tax(1,2,1,1))
+
+*  Get first coordinates of output axes.
+
+      call ef_get_coordinates(id, ARG6, X_AXIS, 
+     .   arg_lo_ss(X_AXIS, ARG6), arg_lo_ss(X_AXIS, ARG6), xax1)
+      call ef_get_coordinates(id, ARG7, X_AXIS, 
+     .   arg_lo_ss(Y_AXIS, ARG7), arg_lo_ss(Y_AXIS, ARG7), yax1)
+      x1 = xax1
+      y1 = yax1
+
+*  Compute result
+
+*  Initialize counts.
+
+      DO L = 1, nt
+      DO k = 1, 2
+      DO j = 1, ny
+      DO i = 1, nx
+         cell_avg(i,j,k,L) = 0.
+      ENDDO
+      ENDDO
+      ENDDO
+      ENDDO
+
+      DO L = 1, nt
+      DO k = 1, 3
+      DO j = 1, ny
+      DO i = 1, nx
+         obs_cruise(i,j,k,L) = 0.
+      ENDDO
+      ENDDO
+      ENDDO
+      ENDDO
+
+      DO L = 1, nt
+      DO k = 1, 1
+      DO j = 1, ny
+      DO i = 1, nx
+         wi_sums(i,j,k,L) = 0.
+      ENDDO
+      ENDDO
+      ENDDO
+      ENDDO
+
+      DO L = 1, nt
+      DO k = 1, wrk7hiz
+      DO j = 1, ny
+      DO i = 1, nx
+         cruisemean(i,j,k,L) = 0.
+      ENDDO
+      ENDDO
+      ENDDO
+      ENDDO
+
+      DO L = 1, nt
+      DO k = 1, wrk7hiz
+      DO j = 1, ny
+      DO i = 1, nx
+         cruiseweight(i,j,k,L) = 0.
+      ENDDO
+      ENDDO
+      ENDDO
+      ENDDO
+
+*  Loop over x and y, compute the number of observations for the gaussian-weighted 
+*  mapping onto the grid.  Lat and longitude may be on the X,Y,Z or T axis of ARG1 
+*  and ARG2, sending them to a subroutine collapses the extra dimensions so the
+*  value can be found.
+
+      n = 1
+      CALL pickoutxytcv (obs_only, arg_1, arg_2, arg_3, arg_4, arg_5,
+     .           n, vv, xx, yy, tt, ncc)
+
+*  If output axis is modulo, apply modulo adjustment to that coordinate
+*  of the scattered point.
+      IF ( modulox ) THEN
+         CALL modscat(xax(1,1,1,1), xax(nx,2,1,1), modxlen, 1, xx)
+      ENDIF
+      IF ( modulot ) THEN
+         CALL modscat(tax(1,1,1,1), tax(nt,2,1,1), modtlen, 1, tt)
+      ENDIF
+
+      icruise = ncc
+
+* For each cruise keep track of the index range it spans in the result grid
+* Then at the end of the cruise need only to process that subset of the grid.
+      indx(1,1) = nx
+      indx(1,2) = 1
+      indx(2,1) = ny
+      indx(2,2) = 1
+      indx(4,1) = nt
+      indx(4,2) = 1
+
+      icstart = 1
+      DO 300 n = 1, nscat
+
+         CALL pickoutxytcv (obs_only, arg_1, arg_2, arg_3, arg_4, arg_5,
+     .           n, vv, xx, yy, tt, ncc)
+         IF (vv .EQ. bad_flag(ARG1) .OR. xx .EQ. bad_flag(ARG2) .OR. 
+     .          yy .EQ. bad_flag(ARG3) .OR. tt .EQ. bad_flag(ARG4) ) GOTO 300
+
+*  If output axis is modulo, apply modulo adjustment to that coordinate
+*  of the scattered point.
+         IF ( modulox ) THEN
+            CALL modscat(xax(1,1,1,1), xax(nx,2,1,1), modxlen, 1, xx)
+         ENDIF
+         IF ( modulot ) THEN
+            CALL modscat(tax(1,1,1,1), tax(nt,2,1,1), modtlen, 1, tt)
+         ENDIF
+
+* We have come to the end of a cruise loop over cells represented by the last cruise,
+* summing and counting the observations in the cruise, computing cruiseweight. 
+* cruisemean is weighted cruise mean in cell
+* cruiseweight are variances for cruise mean in cell
+* cell_avg(i,j,1,L) cruise mean averaged over cruises in cell
+* cell_avg(i,j,2,L) is count of cruises in cell
+* wi_sums(i,j,1,L) sum of cruiseweight wi in cell
+
+         IF (ncc .NE. icruise) THEN  
+	    icend = n-1
+
+            DO L = indx(4,1), indx(4,2)
+            DO j = indx(2,1), indx(2,2)
+            DO i = indx(1,1), indx(1,2)
+
+	       IF (obs_cruise(i,j,2,L).GT.0. .AND. obs_cruise(i,j,3,L).NE.0.) THEN
+
+                  wt_cruise_mean = obs_cruise(i,j,1,L)/obs_cruise(i,j,3,L)
+
+                  unwtd_mean = obs_cruise(i,j,1,L) ! nobsxytv_var returns mean already computed
+
+                  cell_avg(i,j,1,L) = cell_avg(i,j,1,L) + wt_cruise_mean
+                  cell_avg(i,j,2,L) = cell_avg(i,j,2,L) + 1.  
+
+		  wi_sums(i,j,1,l) = wi_sums(i,j,1,l) + 1./obs_cruise(i,j,3,L)
+
+		  nc_cell = cell_avg(i,j,2,L)
+		  IF (nc_cell.GT.wrk7hiz) THEN
+                     print *, 'Num_obs in cell at I,J,L = ', i,j,L, 
+     .               ' is', nc_cell
+		     CALL ef_bail_out (id,
+     .      'too many cruises in cell. increase K size of work array 7,8')
+		  ENDIF
+
+		  cruisemean(i,j,nc_cell,l) = unwtd_mean
+		  cruiseweight(i,j,nc_cell,l) = 1./obs_cruise(i,j,3,L)
+
+	       ENDIF
+
+
+            ENDDO
+            ENDDO
+            ENDDO
+
+	    icruise = ncc
+
+            DO L = indx(4,1), indx(4,2)
+            DO j = indx(2,1), indx(2,2)
+            DO i = indx(1,1), indx(1,2)
+	       obs_cruise(i,j,1,L) = 0.
+	       obs_cruise(i,j,2,L) = 0.
+	       obs_cruise(i,j,3,L) = 0.
+            ENDDO
+            ENDDO
+            ENDDO
+
+* reset indices
+            indx(1,1) = nx
+            indx(1,2) = 1
+            indx(2,1) = ny
+            indx(2,2) = 1
+            indx(4,1) = nt
+            indx(4,2) = 1
+
+	 ENDIF
+
+*  Count and add up observations in each cell, in this cruise. 
+     
+         CALL nobsxytv_var (obs_only, xx, yy, tt, vv, nx, ny, nt, 
+     .        xax(1,1,1,1), xax(1,2,1,1), yax(1,1,1,1), yax(1,2,1,1), 
+     .        tax(1,1,1,1), tax(1,2,1,1), indx, obs_cruise)
+
+ 300  CONTINUE
+
+* Get data from the last cruise
+
+      icend = n-1
+
+      DO L = indx(4,1), indx(4,2)
+         DO j = indx(2,1), indx(2,2)
+            DO i = indx(1,1), indx(1,2)
+
+	       IF (obs_cruise(i,j,2,L).GT.0. .AND. obs_cruise(i,j,3,L).NE.0.) THEN
+
+                  wt_cruise_mean = obs_cruise(i,j,1,L)/obs_cruise(i,j,3,L)
+
+                  unwtd_mean = obs_cruise(i,j,1,L) ! nobsxytv_var returns mean already computed
+
+                  cell_avg(i,j,1,L) = cell_avg(i,j,1,L) + wt_cruise_mean
+                  cell_avg(i,j,2,L) = cell_avg(i,j,2,L) + 1.  
+
+		  wi_sums(i,j,1,l) = wi_sums(i,j,1,l) + 1./obs_cruise(i,j,3,L)
+
+		  nc_cell = cell_avg(i,j,2,L)
+		  IF (nc_cell.GT.wrk7hiz) THEN
+                     print *, 'Num_obs in cell at I,J,L = ', i,j,L, 
+     .               ' is', nc_cell
+		     CALL ef_bail_out (id,
+     .      'too many cruises in cell. increase K size of work array 7,8')
+		  ENDIF
+
+		  cruisemean(i,j,nc_cell,l) = unwtd_mean
+		  cruiseweight(i,j,nc_cell,l) = 1./obs_cruise(i,j,3,L)
+
+	       ENDIF
+
+            ENDDO
+         ENDDO
+      ENDDO
+      
+*  Put gridded fcn into result variable.
+* wi_sums(i,j,1,L) sum of cruiseweight wi in cell
+* V1 sum of cruiseweight
+* V2 sum of cruiseweight squared
+* for s^2  wsumsq sum of wi*(xi - weighted_mean)**2
+
+      k = res_lo_ss(Z_AXIS)
+      DO 420 L = res_lo_ss(T_AXIS), res_hi_ss(T_AXIS)
+         DO 410 j = res_lo_ss(Y_AXIS), res_hi_ss(Y_AXIS)
+
+            DO 400 i = res_lo_ss(X_AXIS), res_hi_ss(X_AXIS)
+
+               nc_cell = cell_avg(i,j,2,L)
+
+               IF (nc_cell .EQ. 0) THEN
+                   result(i,j,k,l) = bad_flag_result
+               ELSE IF (nc_cell .EQ. 1) THEN
+                   result(i,j,k,l) = 0.
+c               ELSE IF (wi_sums(i,j,1,l).LE.1.e-6) THEN
+c                   result(i,j,k,l) = bad_flag_result
+
+* Compute sum of (cruise-cell-averages - weighted cell mean) squared\
+
+               ELSE IF (nc_cell.GT.1 .AND. wi_sums(i,j,1,l).NE.0.) THEN
+
+                  cellmean = cell_avg(i,j,1,L)/wi_sums(i,j,1,l)
+
+                  wsumsq_ijl = 0.
+                  wsumsq = 0.
+		  v1 = 0.
+                  DO 500, nk = 1, nc_cell
+                      wtcruise = cruiseweight(i,j,nk,L)
+		      unwtd_mean = cruisemean(i,j,nk,L)
+
+		      wtsq = wtcruise*wtcruise
+		      wsumsq = wsumsq + wtsq  
+
+* Sum the squares of difference of unweighted cruise means 
+* minus weighted cell mean
+
+		      diffsum = unwtd_mean - cellmean
+                      wsumsq_ijl = wsumsq_ijl + wtcruise*(diffsum)**2
+
+ 500              CONTINUE
+                  V1 = wi_sums(i,j,1,l)
+                  V2 = wsumsq
+                  denom = V1*V1 - V2
+		  
+c                  IF (ABS(denom).GT.1.e-6) THEN
+                  IF (ABS(denom).NE.0.) THEN
+                     result(i,j,k,l) = SQRT(wsumsq_ijl* V1/denom)
+                  ELSE
+                     result(i,j,k,l) = bad_flag_result
+                  ENDIF
+	       ENDIF
+
+ 400        CONTINUE
+
+ 410     CONTINUE
+ 420  CONTINUE
+
+      RETURN
+
+900   CONTINUE
+
+      IF (nxpts .NE. npts) THEN
+         WRITE (errtxt,20)
+      ELSE IF (nxpts .EQ. 0) THEN
+         WRITE (errtxt, 30)
+      ENDIF
+      GOTO 999 
+
+ 999  CALL EF_BAIL_OUT(id, errtxt)
+      RETURN
+
+   20 FORMAT 
+     . ('Input scattered var,x,y,t,cruiseID have different # of points')
+
+   30 FORMAT ('No data in scattered x,y,t points')
+
+
+*                                                                      ^
+*                                                                      |
+*                                            USER CONFIGURABLE PORTION |
+************************************************************************
+
+      END
diff --git a/fer/efi/transpose_ef.F b/fer/efi/transpose_ef.F
new file mode 100644
index 0000000..35a1854
--- /dev/null
+++ b/fer/efi/transpose_ef.F
@@ -0,0 +1,196 @@
+*
+* transpose_ef.F
+* 
+*  This software was developed by the Thermal Modeling and Analysis
+*  Project(TMAP) of the National Oceanographic and Atmospheric
+*  Administration's (NOAA) Pacific Marine Environmental Lab(PMEL),
+*  hereafter referred to as NOAA/PMEL/TMAP.
+*
+*  Access and use of this software shall impose the following
+*  obligations and understandings on the user. The user is granted the
+*  right, without any fee or cost, to use, copy, modify, alter, enhance
+*  and distribute this software, and any derivative works thereof, and
+*  its supporting documentation for any purpose whatsoever, provided
+*  that this entire notice appears in all copies of the software,
+*  derivative works and supporting documentation.  Further, the user
+*  agrees to credit NOAA/PMEL/TMAP in any publications that result from
+*  the use of this software or in any product that includes this
+*  software. The names TMAP, NOAA and/or PMEL, however, may not be used
+*  in any advertising or publicity to endorse or promote any products
+*  or commercial entity unless specific written permission is obtained
+*  from NOAA/PMEL/TMAP. The user also understands that NOAA/PMEL/TMAP
+*  is not obligated to provide the user with any support, consulting,
+*  training or assistance of any kind with regard to the use, operation
+*  and performance of this software nor to provide the user with any
+*  updates, revisions, new versions or "bug fixes".
+*
+*  THIS SOFTWARE IS PROVIDED BY NOAA/PMEL/TMAP "AS IS" AND ANY EXPRESS
+*  OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+*  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+*  ARE DISCLAIMED. IN NO EVENT SHALL NOAA/PMEL/TMAP BE LIABLE FOR ANY SPECIAL,
+*  INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
+*  RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF
+*  CONTRACT, NEGLIGENCE OR OTHER TORTUOUS ACTION, ARISING OUT OF OR IN
+*  CONNECTION WITH THE ACCESS, USE OR PERFORMANCE OF THIS SOFTWARE. 
+*
+* 3/2017 ACM completing the set of TRANSPOSE functions
+* 
+
+      SUBROUTINE transpose_ef_init(id)
+
+      IMPLICIT NONE
+      INCLUDE 'EF_Util.cmn'
+
+      INTEGER id, arg
+
+      CALL ef_set_desc(id, 'transposes E and F axes of given variable')
+      CALL ef_set_num_args(id, 1)
+      CALL ef_set_axis_inheritance_6d(id,
+     .                                IMPLIED_BY_ARGS, IMPLIED_BY_ARGS,
+     .                                IMPLIED_BY_ARGS, IMPLIED_BY_ARGS,
+     .                                ABSTRACT,        ABSTRACT)
+      CALL ef_set_piecemeal_ok_6d(id, NO, NO, NO, NO, NO, NO)
+
+      arg = 1
+      CALL ef_set_arg_name(id, arg, 'VAR')
+      CALL ef_set_arg_desc(id, arg, 'variable to transpose in E and F')
+      CALL ef_set_axis_influence_6d(id, arg,
+     .                              YES, YES, YES, YES, NO, NO)
+
+      RETURN 
+      END
+
+
+      SUBROUTINE transpose_ef_result_limits(id)
+
+      IMPLICIT NONE
+      INCLUDE 'EF_Util.cmn'
+
+      INTEGER id
+
+      INTEGER arg_lo_ss(6,EF_MAX_ARGS),
+     .        arg_hi_ss(6,EF_MAX_ARGS),
+     .        arg_incr (6,EF_MAX_ARGS)
+      INTEGER lo_e, hi_e, lo_f, hi_f, ne, nf
+
+*     Set the abstract E and F axes.
+
+      CALL ef_get_arg_subscripts_6d(id, arg_lo_ss, arg_hi_ss, arg_incr)
+
+      ne = arg_hi_ss(E_AXIS, ARG1) - arg_lo_ss(E_AXIS, ARG1) + 1
+      nf = arg_hi_ss(F_AXIS, ARG1) - arg_lo_ss(F_AXIS, ARG1) + 1
+
+*     The below has the effect of translating any sub-matrix so that
+*     the indices will always begin at 1 as expected for an abstract axis.
+
+      lo_e = 1
+      hi_e = nf
+      lo_f = 1
+      hi_f = ne
+
+      CALL ef_set_axis_limits(id, E_AXIS, lo_e, hi_e)
+      CALL ef_set_axis_limits(id, F_AXIS, lo_f, hi_f)
+
+      RETURN 
+
+      END
+
+*
+* In this subroutine we compute the result
+*
+      SUBROUTINE transpose_ef_compute(id, arg_1, result)
+
+      IMPLICIT NONE
+      INCLUDE 'EF_Util.cmn'
+      INCLUDE 'EF_mem_subsc.cmn'
+
+      INTEGER id
+
+      REAL arg_1(mem1lox:mem1hix, mem1loy:mem1hiy, mem1loz:mem1hiz, 
+     .           mem1lot:mem1hit, mem1loe:mem1hie, mem1lof:mem1hif)
+
+      REAL result(memreslox:memreshix, memresloy:memreshiy, 
+     .            memresloz:memreshiz, memreslot:memreshit,
+     .            memresloe:memreshie, memreslof:memreshif)
+
+* After initialization, the 'res_' arrays contain indexing information 
+* for the result axes.  The 'arg_' arrays will contain the indexing 
+* information for each variable''s axes. 
+
+      INTEGER res_lo_ss(6),
+     .        res_hi_ss(6),
+     .        res_incr (6)
+      INTEGER arg_lo_ss(6,EF_MAX_ARGS),
+     .        arg_hi_ss(6,EF_MAX_ARGS),
+     .        arg_incr (6,EF_MAX_ARGS)
+
+      REAL bad_flag(EF_MAX_ARGS), bad_flag_result
+
+      INTEGER i, j, k, l, m, n
+      INTEGER i1, j1, k1, l1, m1, n1
+      CHARACTER*100 errtxt
+
+      CALL ef_get_res_subscripts_6d(id, res_lo_ss, res_hi_ss, res_incr)
+      CALL ef_get_arg_subscripts_6d(id, arg_lo_ss, arg_hi_ss, arg_incr)
+      CALL ef_get_bad_flags(id, bad_flag, bad_flag_result)
+
+* check to make sure both axis have points to transpose
+      IF ( (arg_lo_ss(E_AXIS, ARG1) .EQ. ef_unspecified_int4) .OR. 
+     .     (arg_hi_ss(E_AXIS, ARG1) .EQ. ef_unspecified_int4) ) THEN
+         WRITE(errtxt,*) 'E axis cannot be a normal axis'
+         GOTO 999
+      ENDIF
+      IF ( (arg_lo_ss(F_AXIS, ARG1) .EQ. ef_unspecified_int4) .OR. 
+     .     (arg_hi_ss(F_AXIS, ARG1) .EQ. ef_unspecified_int4) ) THEN
+         WRITE(errtxt,*) 'F axis cannot be a normal axis'
+         GOTO 999
+      ENDIF
+
+      n1 = arg_lo_ss(F_AXIS, ARG1)
+      DO 600 m = res_lo_ss(E_AXIS), res_hi_ss(E_AXIS)
+
+      m1 = arg_lo_ss(E_AXIS, ARG1)
+      DO 500 n = res_lo_ss(F_AXIS), res_hi_ss(F_AXIS)
+
+      l1 = arg_lo_ss(T_AXIS, ARG1)
+      DO 400 l = res_lo_ss(T_AXIS), res_hi_ss(T_AXIS)
+
+      k1 = arg_lo_ss(Z_AXIS, ARG1)
+      DO 300 k = res_lo_ss(Z_AXIS), res_hi_ss(Z_AXIS)
+
+      j1 = arg_lo_ss(Y_AXIS, ARG1)
+      DO 200 j = res_lo_ss(Y_AXIS), res_hi_ss(Y_AXIS)  
+
+      i1 = arg_lo_ss(X_AXIS, ARG1)
+      DO 100 i = res_lo_ss(X_AXIS), res_hi_ss(X_AXIS)
+
+         IF ( arg_1(i1,j1,k1,l1,m1,n1) .NE. bad_flag(ARG1) ) THEN
+            result(i,j,k,l,m,n) = arg_1(i1,j1,k1,l1,m1,n1)
+         ELSE
+            result(i,j,k,l,m,n) = bad_flag_result
+         ENDIF
+
+         i1 = i1 + arg_incr(X_AXIS, ARG1)
+ 100  CONTINUE
+
+         j1 = j1 + arg_incr(Y_AXIS, ARG1)
+ 200  CONTINUE
+
+         k1 = k1 + arg_incr(Z_AXIS, ARG1)
+ 300  CONTINUE
+
+         l1 = l1 + arg_incr(T_AXIS, ARG1)
+ 400  CONTINUE
+
+         m1 = m1 + arg_incr(E_AXIS, ARG1)
+ 500  CONTINUE
+
+         n1 = n1 + arg_incr(F_AXIS, ARG1)
+ 600  CONTINUE
+
+      RETURN 
+
+ 999  CALL EF_BAIL_OUT(id, errtxt)
+
+      RETURN 
+      END
diff --git a/fer/efi/transpose_te.F b/fer/efi/transpose_te.F
new file mode 100644
index 0000000..35c7d77
--- /dev/null
+++ b/fer/efi/transpose_te.F
@@ -0,0 +1,197 @@
+*
+* transpose_te.F
+* 
+*  This software was developed by the Thermal Modeling and Analysis
+*  Project(TMAP) of the National Oceanographic and Atmospheric
+*  Administration's (NOAA) Pacific Marine Environmental Lab(PMEL),
+*  hereafter referred to as NOAA/PMEL/TMAP.
+*
+*  Access and use of this software shall impose the following
+*  obligations and understandings on the user. The user is granted the
+*  right, without any fee or cost, to use, copy, modify, alter, enhance
+*  and distribute this software, and any derivative works thereof, and
+*  its supporting documentation for any purpose whatsoever, provided
+*  that this entire notice appears in all copies of the software,
+*  derivative works and supporting documentation.  Further, the user
+*  agrees to credit NOAA/PMEL/TMAP in any publications that result from
+*  the use of this software or in any product that includes this
+*  software. The names TMAP, NOAA and/or PMEL, however, may not be used
+*  in any advertising or publicity to endorse or promote any products
+*  or commercial entity unless specific written permission is obtained
+*  from NOAA/PMEL/TMAP. The user also understands that NOAA/PMEL/TMAP
+*  is not obligated to provide the user with any support, consulting,
+*  training or assistance of any kind with regard to the use, operation
+*  and performance of this software nor to provide the user with any
+*  updates, revisions, new versions or "bug fixes".
+*
+*  THIS SOFTWARE IS PROVIDED BY NOAA/PMEL/TMAP "AS IS" AND ANY EXPRESS
+*  OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+*  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+*  ARE DISCLAIMED. IN NO EVENT SHALL NOAA/PMEL/TMAP BE LIABLE FOR ANY SPECIAL,
+*  INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
+*  RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF
+*  CONTRACT, NEGLIGENCE OR OTHER TORTUOUS ACTION, ARISING OUT OF OR IN
+*  CONNECTION WITH THE ACCESS, USE OR PERFORMANCE OF THIS SOFTWARE. 
+*
+* 3/2017 ACM completing the set of TRANSPOSE functions
+* 
+
+
+      SUBROUTINE transpose_te_init(id)
+
+      IMPLICIT NONE
+      INCLUDE 'EF_Util.cmn'
+
+      INTEGER id, arg
+
+      CALL ef_set_desc(id, 'transposes T and E axes of given variable')
+      CALL ef_set_num_args(id, 1)
+      CALL ef_set_axis_inheritance_6d(id,
+     .                                IMPLIED_BY_ARGS, IMPLIED_BY_ARGS,
+     .                                IMPLIED_BY_ARGS, ABSTRACT,
+     .                                ABSTRACT,        IMPLIED_BY_ARGS)
+      CALL ef_set_piecemeal_ok_6d(id, NO, NO, NO, NO, NO, NO)
+
+      arg = 1
+      CALL ef_set_arg_name(id, arg, 'VAR')
+      CALL ef_set_arg_desc(id, arg, 'variable to transpose in T and E')
+      CALL ef_set_axis_influence_6d(id, arg,
+     .                              YES, YES, YES, NO, NO, YES)
+
+      RETURN 
+      END
+
+
+      SUBROUTINE transpose_te_result_limits(id)
+
+      IMPLICIT NONE
+      INCLUDE 'EF_Util.cmn'
+
+      INTEGER id
+
+      INTEGER arg_lo_ss(6,EF_MAX_ARGS),
+     .        arg_hi_ss(6,EF_MAX_ARGS),
+     .        arg_incr (6,EF_MAX_ARGS)
+      INTEGER lo_t, hi_t, lo_e, hi_e, nt, ne
+
+*     Set the abstract T and E axes.
+
+      CALL ef_get_arg_subscripts_6d(id, arg_lo_ss, arg_hi_ss, arg_incr)
+
+      nt = arg_hi_ss(T_AXIS, ARG1) - arg_lo_ss(T_AXIS, ARG1) + 1
+      ne = arg_hi_ss(E_AXIS, ARG1) - arg_lo_ss(E_AXIS, ARG1) + 1
+
+*     The below has the effect of translating any sub-matrix so that
+*     the indices will always begin at 1 as expected for an abstract axis.
+
+      lo_t = 1
+      hi_t = ne
+      lo_e = 1
+      hi_e = nt
+
+      CALL ef_set_axis_limits(id, T_AXIS, lo_t, hi_t)
+      CALL ef_set_axis_limits(id, E_AXIS, lo_e, hi_e)
+      RETURN 
+
+      END
+
+
+*
+* In this subroutine we compute the result
+*
+      SUBROUTINE transpose_te_compute(id, arg_1, result)
+
+      IMPLICIT NONE
+      INCLUDE 'EF_Util.cmn'
+      INCLUDE 'EF_mem_subsc.cmn'
+
+      INTEGER id
+
+      REAL arg_1(mem1lox:mem1hix, mem1loy:mem1hiy, mem1loz:mem1hiz, 
+     .           mem1lot:mem1hit, mem1loe:mem1hie, mem1lof:mem1hif)
+
+      REAL result(memreslox:memreshix, memresloy:memreshiy, 
+     .            memresloz:memreshiz, memreslot:memreshit,
+     .            memresloe:memreshie, memreslof:memreshif)
+
+* After initialization, the 'res_' arrays contain indexing information 
+* for the result axes.  The 'arg_' arrays will contain the indexing 
+* information for each variable''s axes. 
+
+      INTEGER res_lo_ss(6),
+     .        res_hi_ss(6),
+     .        res_incr (6)
+      INTEGER arg_lo_ss(6,EF_MAX_ARGS),
+     .        arg_hi_ss(6,EF_MAX_ARGS),
+     .        arg_incr (6,EF_MAX_ARGS)
+
+      REAL bad_flag(EF_MAX_ARGS), bad_flag_result
+
+      INTEGER i, j, k, l, m, n
+      INTEGER i1, j1, k1, l1, m1, n1
+      CHARACTER*100 errtxt
+
+      CALL ef_get_res_subscripts_6d(id, res_lo_ss, res_hi_ss, res_incr)
+      CALL ef_get_arg_subscripts_6d(id, arg_lo_ss, arg_hi_ss, arg_incr)
+      CALL ef_get_bad_flags(id, bad_flag, bad_flag_result)
+
+* check to make sure both axis have points to transpose
+      IF ( (arg_lo_ss(T_AXIS, ARG1) .EQ. ef_unspecified_int4) .OR. 
+     .     (arg_hi_ss(T_AXIS, ARG1) .EQ. ef_unspecified_int4) ) THEN
+         WRITE(errtxt,*) 'T axis cannot be a normal axis'
+         GOTO 999
+      ENDIF
+      IF ( (arg_lo_ss(E_AXIS, ARG1) .EQ. ef_unspecified_int4) .OR. 
+     .     (arg_hi_ss(E_AXIS, ARG1) .EQ. ef_unspecified_int4) ) THEN
+         WRITE(errtxt,*) 'E axis cannot be a normal axis'
+         GOTO 999
+      ENDIF
+
+      n1 = arg_lo_ss(F_AXIS, ARG1)
+      DO 600 n = res_lo_ss(F_AXIS), res_hi_ss(F_AXIS)
+
+      m1 = arg_lo_ss(E_AXIS, ARG1)
+      DO 500 l = res_lo_ss(T_AXIS), res_hi_ss(T_AXIS)
+
+      l1 = arg_lo_ss(T_AXIS, ARG1)
+      DO 400 m = res_lo_ss(E_AXIS), res_hi_ss(E_AXIS)
+
+      k1 = arg_lo_ss(Z_AXIS, ARG1)
+      DO 300 k = res_lo_ss(Z_AXIS), res_hi_ss(Z_AXIS)
+
+      j1 = arg_lo_ss(Y_AXIS, ARG1)
+      DO 200 j = res_lo_ss(Y_AXIS), res_hi_ss(Y_AXIS)
+
+      i1 = arg_lo_ss(X_AXIS, ARG1)
+      DO 100 i = res_lo_ss(X_AXIS), res_hi_ss(X_AXIS) 
+
+         IF ( arg_1(i1,j1,k1,l1,m1,n1) .NE. bad_flag(ARG1) ) THEN
+            result(i,j,k,l,m,n) = arg_1(i1,j1,k1,l1,m1,n1)
+         ELSE
+            result(i,j,k,l,m,n) = bad_flag_result
+         ENDIF
+
+         i1 = i1 + arg_incr(X_AXIS, ARG1)
+ 100  CONTINUE
+
+         j1 = j1 + arg_incr(Y_AXIS, ARG1)
+ 200  CONTINUE
+
+         k1 = k1 + arg_incr(Z_AXIS, ARG1)
+ 300  CONTINUE
+
+         l1 = l1 + arg_incr(T_AXIS, ARG1)
+ 400  CONTINUE
+
+         m1 = m1 + arg_incr(E_AXIS, ARG1)
+ 500  CONTINUE
+
+         n1 = n1 + arg_incr(F_AXIS, ARG1)
+ 600  CONTINUE
+
+      RETURN 
+
+ 999  CALL EF_BAIL_OUT(id, errtxt)
+
+      RETURN 
+      END
diff --git a/fer/efi/transpose_tf.F b/fer/efi/transpose_tf.F
new file mode 100644
index 0000000..c27ea9a
--- /dev/null
+++ b/fer/efi/transpose_tf.F
@@ -0,0 +1,197 @@
+*
+* transpose_tf.F
+* 
+*  This software was developed by the Thermal Modeling and Analysis
+*  Project(TMAP) of the National Oceanographic and Atmospheric
+*  Administration's (NOAA) Pacific Marine Environmental Lab(PMEL),
+*  hereafter referred to as NOAA/PMEL/TMAP.
+*
+*  Access and use of this software shall impose the following
+*  obligations and understandings on the user. The user is granted the
+*  right, without any fee or cost, to use, copy, modify, alter, enhance
+*  and distribute this software, and any derivative works thereof, and
+*  its supporting documentation for any purpose whatsoever, provided
+*  that this entire notice appears in all copies of the software,
+*  derivative works and supporting documentation.  Further, the user
+*  agrees to credit NOAA/PMEL/TMAP in any publications that result from
+*  the use of this software or in any product that includes this
+*  software. The names TMAP, NOAA and/or PMEL, however, may not be used
+*  in any advertising or publicity to endorse or promote any products
+*  or commercial entity unless specific written permission is obtained
+*  from NOAA/PMEL/TMAP. The user also understands that NOAA/PMEL/TMAP
+*  is not obligated to provide the user with any support, consulting,
+*  training or assistance of any kind with regard to the use, operation
+*  and performance of this software nor to provide the user with any
+*  updates, revisions, new versions or "bug fixes".
+*
+*  THIS SOFTWARE IS PROVIDED BY NOAA/PMEL/TMAP "AS IS" AND ANY EXPRESS
+*  OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+*  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+*  ARE DISCLAIMED. IN NO EVENT SHALL NOAA/PMEL/TMAP BE LIABLE FOR ANY SPECIAL,
+*  INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
+*  RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF
+*  CONTRACT, NEGLIGENCE OR OTHER TORTUOUS ACTION, ARISING OUT OF OR IN
+*  CONNECTION WITH THE ACCESS, USE OR PERFORMANCE OF THIS SOFTWARE. 
+*
+* 3/2017 ACM completing the set of TRANSPOSE functions
+* 
+
+      SUBROUTINE transpose_tf_init(id)
+
+      IMPLICIT NONE
+      INCLUDE 'EF_Util.cmn'
+
+      INTEGER id, arg
+
+      CALL ef_set_desc(id, 'transposes T and F axes of given variable')
+      CALL ef_set_num_args(id, 1)
+      CALL ef_set_axis_inheritance_6d(id,
+     .                                IMPLIED_BY_ARGS, IMPLIED_BY_ARGS,
+     .                                IMPLIED_BY_ARGS, ABSTRACT,
+     .                                IMPLIED_BY_ARGS, ABSTRACT        )
+      CALL ef_set_piecemeal_ok_6d(id, NO, NO, NO, NO, NO, NO)
+
+      arg = 1
+      CALL ef_set_arg_name(id, arg, 'VAR')
+      CALL ef_set_arg_desc(id, arg, 'variable to transpose in T and F')
+      CALL ef_set_axis_influence_6d(id, arg,
+     .                              YES, YES, YES, NO, YES, NO)
+
+      RETURN 
+      END
+
+
+      SUBROUTINE transpose_tf_result_limits(id)
+
+      IMPLICIT NONE
+      INCLUDE 'EF_Util.cmn'
+
+      INTEGER id
+
+      INTEGER arg_lo_ss(6,EF_MAX_ARGS),
+     .        arg_hi_ss(6,EF_MAX_ARGS),
+     .        arg_incr (6,EF_MAX_ARGS)
+      INTEGER lo_t, hi_t, lo_f, hi_f, nt, nf
+
+*     Set the abstract T and F axes.
+
+      CALL ef_get_arg_subscripts_6d(id, arg_lo_ss, arg_hi_ss, arg_incr)
+
+      nt = arg_hi_ss(T_AXIS, ARG1) - arg_lo_ss(T_AXIS, ARG1) + 1
+      nf = arg_hi_ss(F_AXIS, ARG1) - arg_lo_ss(F_AXIS, ARG1) + 1
+
+*     The below has the effect of translating any sub-matrix so that
+*     the indices will always begin at 1 as expected for an abstract axis.
+
+      lo_t = 1
+      hi_t = nf
+      lo_f = 1
+      hi_f = nt
+
+      CALL ef_set_axis_limits(id, T_AXIS, lo_t, hi_t)
+      CALL ef_set_axis_limits(id, F_AXIS, lo_f, hi_f)
+
+      RETURN 
+
+      END
+
+
+*
+* In this subroutine we compute the result
+*
+      SUBROUTINE transpose_tf_compute(id, arg_1, result)
+
+      IMPLICIT NONE
+      INCLUDE 'EF_Util.cmn'
+      INCLUDE 'EF_mem_subsc.cmn'
+
+      INTEGER id
+
+      REAL arg_1(mem1lox:mem1hix, mem1loy:mem1hiy, mem1loz:mem1hiz, 
+     .           mem1lot:mem1hit, mem1loe:mem1hie, mem1lof:mem1hif)
+
+      REAL result(memreslox:memreshix, memresloy:memreshiy, 
+     .            memresloz:memreshiz, memreslot:memreshit,
+     .            memresloe:memreshie, memreslof:memreshif)
+
+* After initialization, the 'res_' arrays contain indexing information 
+* for the result axes.  The 'arg_' arrays will contain the indexing 
+* information for each variable''s axes. 
+
+      INTEGER res_lo_ss(6),
+     .        res_hi_ss(6),
+     .        res_incr (6)
+      INTEGER arg_lo_ss(6,EF_MAX_ARGS),
+     .        arg_hi_ss(6,EF_MAX_ARGS),
+     .        arg_incr (6,EF_MAX_ARGS)
+
+      REAL bad_flag(EF_MAX_ARGS), bad_flag_result
+
+      INTEGER i, j, k, l, m, n
+      INTEGER i1, j1, k1, l1, m1, n1
+      CHARACTER*100 errtxt
+
+      CALL ef_get_res_subscripts_6d(id, res_lo_ss, res_hi_ss, res_incr)
+      CALL ef_get_arg_subscripts_6d(id, arg_lo_ss, arg_hi_ss, arg_incr)
+      CALL ef_get_bad_flags(id, bad_flag, bad_flag_result)
+
+* check to make sure both axis have points to transpose
+      IF ( (arg_lo_ss(T_AXIS, ARG1) .EQ. ef_unspecified_int4) .OR. 
+     .     (arg_hi_ss(T_AXIS, ARG1) .EQ. ef_unspecified_int4) ) THEN
+         WRITE(errtxt,*) 'T axis cannot be a normal axis'
+         GOTO 999
+      ENDIF
+      IF ( (arg_lo_ss(F_AXIS, ARG1) .EQ. ef_unspecified_int4) .OR. 
+     .     (arg_hi_ss(F_AXIS, ARG1) .EQ. ef_unspecified_int4) ) THEN
+         WRITE(errtxt,*) 'F axis cannot be a normal axis'
+         GOTO 999
+      ENDIF
+
+      n1 = arg_lo_ss(F_AXIS, ARG1)
+      DO 600 l = res_lo_ss(T_AXIS), res_hi_ss(T_AXIS)
+
+      m1 = arg_lo_ss(E_AXIS, ARG1)
+      DO 500 m = res_lo_ss(E_AXIS), res_hi_ss(E_AXIS)
+
+      l1 = arg_lo_ss(T_AXIS, ARG1)
+      DO 400 n = res_lo_ss(F_AXIS), res_hi_ss(F_AXIS)
+
+      k1 = arg_lo_ss(Z_AXIS, ARG1)
+      DO 300 k = res_lo_ss(Z_AXIS), res_hi_ss(Z_AXIS)
+
+      j1 = arg_lo_ss(Y_AXIS, ARG1)
+      DO 200  j = res_lo_ss(Y_AXIS), res_hi_ss(Y_AXIS) 
+
+      i1 = arg_lo_ss(X_AXIS, ARG1)
+      DO 100 i = res_lo_ss(X_AXIS), res_hi_ss(X_AXIS)
+
+         IF ( arg_1(i1,j1,k1,l1,m1,n1) .NE. bad_flag(ARG1) ) THEN
+            result(i,j,k,l,m,n) = arg_1(i1,j1,k1,l1,m1,n1)
+         ELSE
+            result(i,j,k,l,m,n) = bad_flag_result
+         ENDIF
+
+         i1 = i1 + arg_incr(X_AXIS, ARG1)
+ 100  CONTINUE
+
+         j1 = j1 + arg_incr(Y_AXIS, ARG1)
+ 200  CONTINUE
+
+         k1 = k1 + arg_incr(Z_AXIS, ARG1)
+ 300  CONTINUE
+
+         l1 = l1 + arg_incr(T_AXIS, ARG1)
+ 400  CONTINUE
+
+         m1 = m1 + arg_incr(E_AXIS, ARG1)
+ 500  CONTINUE
+
+         n1 = n1 + arg_incr(F_AXIS, ARG1)
+ 600  CONTINUE
+
+      RETURN 
+
+ 999  CALL EF_BAIL_OUT(id, errtxt)
+
+      RETURN 
+      END
diff --git a/fer/efi/transpose_xe.F b/fer/efi/transpose_xe.F
new file mode 100644
index 0000000..c4ca327
--- /dev/null
+++ b/fer/efi/transpose_xe.F
@@ -0,0 +1,197 @@
+*
+* transpose_xe.F
+* 
+*  This software was developed by the Thermal Modeling and Analysis
+*  Project(TMAP) of the National Oceanographic and Atmospheric
+*  Administration's (NOAA) Pacific Marine Environmental Lab(PMEL),
+*  hereafter referred to as NOAA/PMEL/TMAP.
+*
+*  Access and use of this software shall impose the following
+*  obligations and understandings on the user. The user is granted the
+*  right, without any fee or cost, to use, copy, modify, alter, enhance
+*  and distribute this software, and any derivative works thereof, and
+*  its supporting documentation for any purpose whatsoever, provided
+*  that this entire notice appears in all copies of the software,
+*  derivative works and supporting documentation.  Further, the user
+*  agrees to credit NOAA/PMEL/TMAP in any publications that result from
+*  the use of this software or in any product that includes this
+*  software. The names TMAP, NOAA and/or PMEL, however, may not be used
+*  in any advertising or publicity to endorse or promote any products
+*  or commercial entity unless specific written permission is obtained
+*  from NOAA/PMEL/TMAP. The user also understands that NOAA/PMEL/TMAP
+*  is not obligated to provide the user with any support, consulting,
+*  training or assistance of any kind with regard to the use, operation
+*  and performance of this software nor to provide the user with any
+*  updates, revisions, new versions or "bug fixes".
+*
+*  THIS SOFTWARE IS PROVIDED BY NOAA/PMEL/TMAP "AS IS" AND ANY EXPRESS
+*  OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+*  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+*  ARE DISCLAIMED. IN NO EVENT SHALL NOAA/PMEL/TMAP BE LIABLE FOR ANY SPECIAL,
+*  INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
+*  RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF
+*  CONTRACT, NEGLIGENCE OR OTHER TORTUOUS ACTION, ARISING OUT OF OR IN
+*  CONNECTION WITH THE ACCESS, USE OR PERFORMANCE OF THIS SOFTWARE. 
+*
+* 3/2017 ACM completing the set of TRANSPOSE functions
+* 
+
+
+      SUBROUTINE transpose_xe_init(id)
+
+      IMPLICIT NONE
+      INCLUDE 'EF_Util.cmn'
+
+      INTEGER id, arg
+
+      CALL ef_set_desc(id, 'transposes X and E axes of given variable')
+      CALL ef_set_num_args(id, 1)
+      CALL ef_set_axis_inheritance_6d(id,
+     .                                ABSTRACT,        IMPLIED_BY_ARGS,        
+     .                                IMPLIED_BY_ARGS, IMPLIED_BY_ARGS,
+     .                                ABSTRACT,        IMPLIED_BY_ARGS)
+      CALL ef_set_piecemeal_ok_6d(id, NO, NO, NO, NO, NO, NO)
+
+      arg = 1
+      CALL ef_set_arg_name(id, arg, 'VAR')
+      CALL ef_set_arg_desc(id, arg, 'variable to transpose in X and E')
+      CALL ef_set_axis_influence_6d(id, arg, NO, YES, YES, YES, NO, YES)
+
+      RETURN 
+      END
+
+
+      SUBROUTINE transpose_xe_result_limits(id)
+
+      IMPLICIT NONE
+      INCLUDE 'EF_Util.cmn'
+
+      INTEGER id
+
+      INTEGER arg_lo_ss(6,EF_MAX_ARGS),
+     .        arg_hi_ss(6,EF_MAX_ARGS),
+     .        arg_incr (6,EF_MAX_ARGS)
+      INTEGER lo_x, hi_x, lo_e, hi_e, nx, ne
+
+*     Set the ABSTRACT X and E axes.
+
+      CALL ef_get_arg_subscripts_6d(id, arg_lo_ss, arg_hi_ss, arg_incr)
+
+      nx = arg_hi_ss(X_AXIS, ARG1) - arg_lo_ss(X_AXIS, ARG1) + 1
+      nE = arg_hi_ss(E_AXIS, ARG1) - arg_lo_ss(E_AXIS, ARG1) + 1
+
+*     The below has the effect of translating any sub-matrix so that
+*     the indices will always begin at 1 as expected for an abstract axis.
+
+      lo_x = 1
+      hi_x = ne
+      lo_E = 1
+      hi_E = nx
+
+      CALL ef_set_axis_limits(id, X_AXIS, lo_x, hi_x)
+      CALL ef_set_axis_limits(id, E_AXIS, lo_e, hi_e)
+
+      RETURN 
+
+      END
+
+
+*
+* In this subroutine we compute the result
+*
+      SUBROUTINE transpose_xe_compute(id, arg_1, result)
+
+      IMPLICIT NONE
+      INCLUDE 'EF_Util.cmn'
+      INCLUDE 'EF_mem_subsc.cmn'
+
+      INTEGER id
+
+      REAL arg_1(mem1lox:mem1hix, mem1loy:mem1hiy, mem1loz:mem1hiz, 
+     .           mem1lot:mem1hit, mem1loe:mem1hie, mem1lof:mem1hif)
+
+      REAL result(memreslox:memreshix, memresloy:memreshiy, 
+     .            memresloz:memreshiz, memreslot:memreshit,
+     .            memresloe:memreshie, memreslof:memreshif)
+
+* After initialization, the 'res_' arrays contain indexing information 
+* for the result axes.  The 'arg_' arrays will contain the indexing 
+* information for each variable''s axes. 
+
+      INTEGER res_lo_ss(6),
+     .        res_hi_ss(6),
+     .        res_incr (6)
+      INTEGER arg_lo_ss(6,EF_MAX_ARGS),
+     .        arg_hi_ss(6,EF_MAX_ARGS),
+     .        arg_incr (6,EF_MAX_ARGS)
+
+      REAL bad_flag(EF_MAX_ARGS), bad_flag_result
+
+      INTEGER i, j, k, l, m, n
+      INTEGER i1, j1, k1, l1, m1, n1
+      CHARACTER*100 errtxt
+
+      CALL ef_get_res_subscripts_6d(id, res_lo_ss, res_hi_ss, res_incr)
+      CALL ef_get_arg_subscripts_6d(id, arg_lo_ss, arg_hi_ss, arg_incr)
+      CALL ef_get_bad_flags(id, bad_flag, bad_flag_result)
+
+* check to make sure both axis have points to transpose
+      IF ( (arg_lo_ss(E_AXIS, ARG1) .EQ. ef_unspecified_int4) .OR. 
+     .     (arg_hi_ss(E_AXIS, ARG1) .EQ. ef_unspecified_int4) ) THEN
+         WRITE(errtxt,*) 'E axis cannot be a normal axis'
+         GOTO 999
+      ENDIF
+      IF ( (arg_lo_ss(X_AXIS, ARG1) .EQ. ef_unspecified_int4) .OR. 
+     .     (arg_hi_ss(X_AXIS, ARG1) .EQ. ef_unspecified_int4) ) THEN
+         WRITE(errtxt,*) 'X axis cannot be a normal axis'
+         GOTO 999
+      ENDIF
+
+      n1 = arg_lo_ss(F_AXIS, ARG1)
+      DO 600 n = res_lo_ss(F_AXIS), res_hi_ss(F_AXIS)
+
+      m1 = arg_lo_ss(E_AXIS, ARG1)
+      DO 500 i = res_lo_ss(X_AXIS), res_hi_ss(X_AXIS)
+
+      l1 = arg_lo_ss(T_AXIS, ARG1)
+      DO 400 l = res_lo_ss(T_AXIS), res_hi_ss(T_AXIS)
+
+      k1 = arg_lo_ss(Z_AXIS, ARG1)
+      DO 300 k = res_lo_ss(Z_AXIS), res_hi_ss(Z_AXIS)
+
+      j1 = arg_lo_ss(Y_AXIS, ARG1)
+      DO 200 j = res_lo_ss(Y_AXIS), res_hi_ss(Y_AXIS) 
+
+      i1 = arg_lo_ss(X_AXIS, ARG1)
+      DO 100 m = res_lo_ss(E_AXIS), res_hi_ss(E_AXIS) 
+
+         IF ( arg_1(i1,j1,k1,l1,m1,n1) .NE. bad_flag(ARG1) ) THEN
+            result(i,j,k,l,m,n) = arg_1(i1,j1,k1,l1,m1,n1)
+         ELSE
+            result(i,j,k,l,m,n) = bad_flag_result
+         ENDIF
+
+         i1 = i1 + arg_incr(X_AXIS, ARG1)
+ 100  CONTINUE
+
+         j1 = j1 + arg_incr(Y_AXIS, ARG1)
+ 200  CONTINUE
+
+         k1 = k1 + arg_incr(Z_AXIS, ARG1)
+ 300  CONTINUE
+
+         l1 = l1 + arg_incr(T_AXIS, ARG1)
+ 400  CONTINUE
+
+         m1 = m1 + arg_incr(E_AXIS, ARG1)
+ 500  CONTINUE
+
+         n1 = n1 + arg_incr(F_AXIS, ARG1)
+ 600  CONTINUE
+
+      RETURN 
+
+ 999  CALL EF_BAIL_OUT(id, errtxt)
+
+      RETURN 
+      END
diff --git a/fer/efi/transpose_xf.F b/fer/efi/transpose_xf.F
new file mode 100644
index 0000000..0fb8238
--- /dev/null
+++ b/fer/efi/transpose_xf.F
@@ -0,0 +1,198 @@
+*
+* transpose_xf.F
+* 
+*  This software was developed by the Thermal Modeling and Analysis
+*  Project(TMAP) of the National Oceanographic and Atmospheric
+*  Administration's (NOAA) Pacific Marine Environmental Lab(PMEL),
+*  hereafter referred to as NOAA/PMEL/TMAP.
+*
+*  Access and use of this software shall impose the following
+*  obligations and understandings on the user. The user is granted the
+*  right, without any fee or cost, to use, copy, modify, alter, enhance
+*  and distribute this software, and any derivative works thereof, and
+*  its supporting documentation for any purpose whatsoever, provided
+*  that this entire notice appears in all copies of the software,
+*  derivative works and supporting documentation.  Further, the user
+*  agrees to credit NOAA/PMEL/TMAP in any publications that result from
+*  the use of this software or in any product that includes this
+*  software. The names TMAP, NOAA and/or PMEL, however, may not be used
+*  in any advertising or publicity to endorse or promote any products
+*  or commercial entity unless specific written permission is obtained
+*  from NOAA/PMEL/TMAP. The user also understands that NOAA/PMEL/TMAP
+*  is not obligated to provide the user with any support, consulting,
+*  training or assistance of any kind with regard to the use, operation
+*  and performance of this software nor to provide the user with any
+*  updates, revisions, new versions or "bug fixes".
+*
+*  THIS SOFTWARE IS PROVIDED BY NOAA/PMEL/TMAP "AS IS" AND ANY EXPRESS
+*  OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+*  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+*  ARE DISCLAIMED. IN NO EVENT SHALL NOAA/PMEL/TMAP BE LIABLE FOR ANY SPECIAL,
+*  INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
+*  RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF
+*  CONTRACT, NEGLIGENCE OR OTHER TORTUOUS ACTION, ARISING OUT OF OR IN
+*  CONNECTION WITH THE ACCESS, USE OR PERFORMANCE OF THIS SOFTWARE. 
+*
+* 3/2017 ACM completing the set of TRANSPOSE functions
+* 
+
+
+      SUBROUTINE transpose_xf_init(id)
+
+      IMPLICIT NONE
+      INCLUDE 'EF_Util.cmn'
+
+      INTEGER id, arg
+
+      CALL ef_set_desc(id, 'transposes X and F axes of given variable')
+      CALL ef_set_num_args(id, 1)
+      CALL ef_set_axis_inheritance_6d(id,
+     .                                ABSTRACT,        IMPLIED_BY_ARGS,
+     .                                IMPLIED_BY_ARGS, IMPLIED_BY_ARGS,
+     .                                IMPLIED_BY_ARGS, ABSTRACT)
+      CALL ef_set_piecemeal_ok_6d(id, NO, NO, NO, NO, NO, NO)
+
+      arg = 1
+      CALL ef_set_arg_name(id, arg, 'VAR')
+      CALL ef_set_arg_desc(id, arg, 'variable to transpose in X and F')
+      CALL ef_set_axis_influence_6d(id, arg,
+     .                              NO, YES, YES, YES, YES, NO)
+
+      RETURN 
+      END
+
+
+      SUBROUTINE transpose_xf_result_limits(id)
+
+      IMPLICIT NONE
+      INCLUDE 'EF_Util.cmn'
+
+      INTEGER id
+
+      INTEGER arg_lo_ss(6,EF_MAX_ARGS),
+     .        arg_hi_ss(6,EF_MAX_ARGS),
+     .        arg_incr (6,EF_MAX_ARGS)
+      INTEGER lo_x, hi_x, lo_f, hi_f, nx, nf
+
+*     Set the ABSTRACT X and F axes.
+
+      CALL ef_get_arg_subscripts_6d(id, arg_lo_ss, arg_hi_ss, arg_incr)
+
+      nx = arg_hi_ss(X_AXIS, ARG1) - arg_lo_ss(X_AXIS, ARG1) + 1
+      nf = arg_hi_ss(F_AXIS, ARG1) - arg_lo_ss(F_AXIS, ARG1) + 1
+
+*     The below has the effect of translating any sub-matrix so that
+*     the indices will always begin at 1 as expected for an abstract axis.
+
+      lo_x = 1
+      hi_x = nf
+      lo_f = 1
+      hi_f = nx
+
+      CALL ef_set_axis_limits(id, X_AXIS, lo_x, hi_x)
+      CALL ef_set_axis_limits(id, F_AXIS, lo_f, hi_f)
+
+      RETURN 
+
+      END
+
+
+*
+* In this subroutine we compute the result
+*
+      SUBROUTINE transpose_xf_compute(id, arg_1, result)
+
+      IMPLICIT NONE
+      INCLUDE 'EF_Util.cmn'
+      INCLUDE 'EF_mem_subsc.cmn'
+
+      INTEGER id
+
+      REAL arg_1(mem1lox:mem1hix, mem1loy:mem1hiy, mem1loz:mem1hiz, 
+     .           mem1lot:mem1hit, mem1loe:mem1hie, mem1lof:mem1hif)
+
+      REAL result(memreslox:memreshix, memresloy:memreshiy, 
+     .            memresloz:memreshiz, memreslot:memreshit,
+     .            memresloe:memreshie, memreslof:memreshif)
+
+* After initialization, the 'res_' arrays contain indexing information 
+* for the result axes.  The 'arg_' arrays will contain the indexing 
+* information for each variable''s axes. 
+
+      INTEGER res_lo_ss(6),
+     .        res_hi_ss(6),
+     .        res_incr (6)
+      INTEGER arg_lo_ss(6,EF_MAX_ARGS),
+     .        arg_hi_ss(6,EF_MAX_ARGS),
+     .        arg_incr (6,EF_MAX_ARGS)
+
+      REAL bad_flag(EF_MAX_ARGS), bad_flag_result
+
+      INTEGER i, j, k, l, m, n
+      INTEGER i1, j1, k1, l1, m1, n1
+      CHARACTER*100 errtxt
+
+      CALL ef_get_res_subscripts_6d(id, res_lo_ss, res_hi_ss, res_incr)
+      CALL ef_get_arg_subscripts_6d(id, arg_lo_ss, arg_hi_ss, arg_incr)
+      CALL ef_get_bad_flags(id, bad_flag, bad_flag_result)
+
+* check to make sure both axis have points to transpose
+      IF ( (arg_lo_ss(F_AXIS, ARG1) .EQ. ef_unspecified_int4) .OR. 
+     .     (arg_hi_ss(F_AXIS, ARG1) .EQ. ef_unspecified_int4) ) THEN
+         WRITE(errtxt,*) 'F axis cannot be a normal axis'
+         GOTO 999
+      ENDIF
+      IF ( (arg_lo_ss(X_AXIS, ARG1) .EQ. ef_unspecified_int4) .OR. 
+     .     (arg_hi_ss(X_AXIS, ARG1) .EQ. ef_unspecified_int4) ) THEN
+         WRITE(errtxt,*) 'X axis cannot be a normal axis'
+         GOTO 999
+      ENDIF
+
+      n1 = arg_lo_ss(F_AXIS, ARG1)
+      DO 600 i = res_lo_ss(X_AXIS), res_hi_ss(X_AXIS)
+
+      m1 = arg_lo_ss(E_AXIS, ARG1)
+      DO 500 m = res_lo_ss(E_AXIS), res_hi_ss(E_AXIS)
+
+      l1 = arg_lo_ss(T_AXIS, ARG1)
+      DO 400 l = res_lo_ss(T_AXIS), res_hi_ss(T_AXIS)
+
+      k1 = arg_lo_ss(Z_AXIS, ARG1)
+      DO 300 k = res_lo_ss(Z_AXIS), res_hi_ss(Z_AXIS)
+
+      j1 = arg_lo_ss(Y_AXIS, ARG1)
+      DO 200 j = res_lo_ss(Y_AXIS), res_hi_ss(Y_AXIS)
+
+      i1 = arg_lo_ss(X_AXIS, ARG1)
+      DO 100 n = res_lo_ss(F_AXIS), res_hi_ss(F_AXIS)
+
+         IF ( arg_1(i1,j1,k1,l1,m1,n1) .NE. bad_flag(ARG1) ) THEN
+            result(i,j,k,l,m,n) = arg_1(i1,j1,k1,l1,m1,n1)
+         ELSE
+            result(i,j,k,l,m,n) = bad_flag_result
+         ENDIF
+
+         i1 = i1 + arg_incr(X_AXIS, ARG1)
+ 100  CONTINUE
+
+         j1 = j1 + arg_incr(Y_AXIS, ARG1)
+ 200  CONTINUE
+
+         k1 = k1 + arg_incr(Z_AXIS, ARG1)
+ 300  CONTINUE
+
+         l1 = l1 + arg_incr(T_AXIS, ARG1)
+ 400  CONTINUE
+
+         m1 = m1 + arg_incr(E_AXIS, ARG1)
+ 500  CONTINUE
+
+         n1 = n1 + arg_incr(F_AXIS, ARG1)
+ 600  CONTINUE
+
+      RETURN 
+
+ 999  CALL EF_BAIL_OUT(id, errtxt)
+
+      RETURN 
+      END
diff --git a/fer/efi/transpose_xt.F b/fer/efi/transpose_xt.F
index 076545f..fe11c6b 100644
--- a/fer/efi/transpose_xt.F
+++ b/fer/efi/transpose_xt.F
@@ -1,49 +1,40 @@
 *
 * transpose_xt.F
-*
 * 
+*  This software was developed by the Thermal Modeling and Analysis
+*  Project(TMAP) of the National Oceanographic and Atmospheric
+*  Administration's (NOAA) Pacific Marine Environmental Lab(PMEL),
+*  hereafter referred to as NOAA/PMEL/TMAP.
+*
+*  Access and use of this software shall impose the following
+*  obligations and understandings on the user. The user is granted the
+*  right, without any fee or cost, to use, copy, modify, alter, enhance
+*  and distribute this software, and any derivative works thereof, and
+*  its supporting documentation for any purpose whatsoever, provided
+*  that this entire notice appears in all copies of the software,
+*  derivative works and supporting documentation.  Further, the user
+*  agrees to credit NOAA/PMEL/TMAP in any publications that result from
+*  the use of this software or in any product that includes this
+*  software. The names TMAP, NOAA and/or PMEL, however, may not be used
+*  in any advertising or publicity to endorse or promote any products
+*  or commercial entity unless specific written permission is obtained
+*  from NOAA/PMEL/TMAP. The user also understands that NOAA/PMEL/TMAP
+*  is not obligated to provide the user with any support, consulting,
+*  training or assistance of any kind with regard to the use, operation
+*  and performance of this software nor to provide the user with any
+*  updates, revisions, new versions or "bug fixes".
+*
+*  THIS SOFTWARE IS PROVIDED BY NOAA/PMEL/TMAP "AS IS" AND ANY EXPRESS
+*  OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+*  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+*  ARE DISCLAIMED. IN NO EVENT SHALL NOAA/PMEL/TMAP BE LIABLE FOR ANY SPECIAL,
+*  INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
+*  RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF
+*  CONTRACT, NEGLIGENCE OR OTHER TORTUOUS ACTION, ARISING OUT OF OR IN
+*  CONNECTION WITH THE ACCESS, USE OR PERFORMANCE OF THIS SOFTWARE. 
+*
+* 3/2017 ACM completing the set of TRANSPOSE functions
 * 
-*
-* This function sets the second argument to be equal
-* to the first one with the X and T axes swiched.
-*
-
-
-*
-* In this subroutine we provide information about
-* the function.  The user configurable information 
-* consists of the following:
-*
-* descr              Text description of the function
-*
-* num_args           Required number of arguments
-*
-* axis_inheritance   Type of axis for the result
-*                       ( CUSTOM, IMPLIED_BY_ARGS, NORMAL, ABSTRACT )
-*                       CUSTOM          - user defined axis
-*                       IMPLIED_BY_ARGS - same axis as the incoming argument
-*                       NORMAL          - the result is normal to this axis
-*                       ABSTRACT        - an axis which only has index values
-*
-* piecemeal_ok       For memory optimization:
-*                       axes where calculation may be performed piecemeal
-*                       ( YES, NO )
-* 
-*
-* For each argument we provide the following information:
-*
-* name               Text name for an argument
-*
-* unit               Text units for an argument
-*
-* desc               Text description of an argument
-*
-* axis_influence     Are this argument''s axes the same as the result grid?
-*                       ( YES, NO )
-*
-* axis_extend       How much does Ferret need to extend arg limits relative to result 
-*
-
 
       SUBROUTINE transpose_xt_init(id)
 
@@ -52,11 +43,6 @@
 
       INTEGER id, arg
 
-* **********************************************************************
-*                                            USER CONFIGURABLE PORTION |
-*                                                                      |
-*                                                                      V
-
       CALL ef_set_desc(id, 'transposes X and T axes of given variable')
       CALL ef_set_num_args(id, 1)
       CALL ef_set_axis_inheritance_6d(id,
@@ -71,11 +57,6 @@
       CALL ef_set_axis_influence_6d(id, arg,
      .                              NO, YES, YES, NO, YES, YES)
 
-*                                                                      ^
-*                                                                      |
-*                                            USER CONFIGURABLE PORTION |
-* **********************************************************************
-
       RETURN 
       END
 
@@ -87,17 +68,12 @@
 
       INTEGER id
 
-* **********************************************************************
-*                                           USER CONFIGURABLE PORTION |
-*                                                                     |
-*                                                                     V
-
       INTEGER arg_lo_ss(6,EF_MAX_ARGS),
      .        arg_hi_ss(6,EF_MAX_ARGS),
      .        arg_incr (6,EF_MAX_ARGS)
-      INTEGER my_lo_x, my_hi_x, my_lo_t, my_hi_t, nx, nt
+      INTEGER lo_x, hi_x, lo_t, hi_t, nx, nt
 
-*     Set the abstract X and T axes.
+*     Set the ABSTRACT X and T axes.
 
       CALL ef_get_arg_subscripts_6d(id, arg_lo_ss, arg_hi_ss, arg_incr)
 
@@ -107,18 +83,13 @@
 *     The below has the effect of translating any sub-matrix so that
 *     the indices will always begin at 1 as expected for an abstract axis.
 
-      my_lo_x = 1
-      my_hi_x = nt
-      my_lo_t = 1
-      my_hi_t = nx
+      lo_x = 1
+      hi_x = nt
+      lo_t = 1
+      hi_t = nx
 
-      CALL ef_set_axis_limits(id, X_AXIS, my_lo_x, my_hi_x)
-      CALL ef_set_axis_limits(id, T_AXIS, my_lo_t, my_hi_t)
-
-*                                                                     ^
-*                                                                     |
-*                                           USER CONFIGURABLE PORTION |
-* **********************************************************************
+      CALL ef_set_axis_limits(id, X_AXIS, lo_x, hi_x)
+      CALL ef_set_axis_limits(id, T_AXIS, lo_t, hi_t)
 
       RETURN 
 
@@ -156,11 +127,6 @@
 
       REAL bad_flag(EF_MAX_ARGS), bad_flag_result
 
-* **********************************************************************
-*                                            USER CONFIGURABLE PORTION |
-*                                                                      |
-*                                                                      V
-
       INTEGER i, j, k, l, m, n
       INTEGER i1, j1, k1, l1, m1, n1
       CHARACTER*100 errtxt
@@ -227,10 +193,5 @@
 
  999  CALL EF_BAIL_OUT(id, errtxt)
 
-*                                                                      ^
-*                                                                      |
-*                                            USER CONFIGURABLE PORTION |
-* **********************************************************************
-
       RETURN 
       END
diff --git a/fer/efi/transpose_xy.F b/fer/efi/transpose_xy.F
index c08da2a..6aed4b7 100644
--- a/fer/efi/transpose_xy.F
+++ b/fer/efi/transpose_xy.F
@@ -1,49 +1,40 @@
 *
 * transpose_xy.F
-*
 * 
+*  This software was developed by the Thermal Modeling and Analysis
+*  Project(TMAP) of the National Oceanographic and Atmospheric
+*  Administration's (NOAA) Pacific Marine Environmental Lab(PMEL),
+*  hereafter referred to as NOAA/PMEL/TMAP.
+*
+*  Access and use of this software shall impose the following
+*  obligations and understandings on the user. The user is granted the
+*  right, without any fee or cost, to use, copy, modify, alter, enhance
+*  and distribute this software, and any derivative works thereof, and
+*  its supporting documentation for any purpose whatsoever, provided
+*  that this entire notice appears in all copies of the software,
+*  derivative works and supporting documentation.  Further, the user
+*  agrees to credit NOAA/PMEL/TMAP in any publications that result from
+*  the use of this software or in any product that includes this
+*  software. The names TMAP, NOAA and/or PMEL, however, may not be used
+*  in any advertising or publicity to endorse or promote any products
+*  or commercial entity unless specific written permission is obtained
+*  from NOAA/PMEL/TMAP. The user also understands that NOAA/PMEL/TMAP
+*  is not obligated to provide the user with any support, consulting,
+*  training or assistance of any kind with regard to the use, operation
+*  and performance of this software nor to provide the user with any
+*  updates, revisions, new versions or "bug fixes".
+*
+*  THIS SOFTWARE IS PROVIDED BY NOAA/PMEL/TMAP "AS IS" AND ANY EXPRESS
+*  OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+*  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+*  ARE DISCLAIMED. IN NO EVENT SHALL NOAA/PMEL/TMAP BE LIABLE FOR ANY SPECIAL,
+*  INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
+*  RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF
+*  CONTRACT, NEGLIGENCE OR OTHER TORTUOUS ACTION, ARISING OUT OF OR IN
+*  CONNECTION WITH THE ACCESS, USE OR PERFORMANCE OF THIS SOFTWARE. 
+*
+* 3/2017 ACM completing the set of TRANSPOSE functions
 * 
-*
-* This function sets the second argument to be equal
-* to the first one with the X and Y axes switched.
-*
-
-
-*
-* In this subroutine we provide information about
-* the function.  The user configurable information 
-* consists of the following:
-*
-* descr              Text description of the function
-*
-* num_args           Required number of arguments
-*
-* axis_inheritance   Type of axis for the result
-*                       ( CUSTOM, IMPLIED_BY_ARGS, NORMAL, ABSTRACT )
-*                       CUSTOM          - user defined axis
-*                       IMPLIED_BY_ARGS - same axis as the incoming argument
-*                       NORMAL          - the result is normal to this axis
-*                       ABSTRACT        - an axis which only has index values
-*
-* piecemeal_ok       For memory optimization:
-*                       axes where calculation may be performed piecemeal
-*                       ( YES, NO )
-* 
-*
-* For each argument we provide the following information:
-*
-* name               Text name for an argument
-*
-* unit               Text units for an argument
-*
-* desc               Text description of an argument
-*
-* axis_influence     Are this argument''s axes the same as the result grid?
-*                       ( YES, NO )
-*
-* axis_extend       How much does Ferret need to extend arg limits relative to result 
-*
-
 
       SUBROUTINE transpose_xy_init(id)
 
@@ -52,12 +43,7 @@
 
       INTEGER id, arg
 
-* **********************************************************************
-*                                            USER CONFIGURABLE PORTION |
-*                                                                      |
-*                                                                      V
-
-      CALL ef_set_desc(id, 'transposes x and y axes of given variable')
+      CALL ef_set_desc(id, 'transposes X and Y axes of given variable')
       CALL ef_set_num_args(id, 1)
       CALL ef_set_axis_inheritance_6d(id,
      .                                ABSTRACT,        ABSTRACT,
@@ -71,11 +57,6 @@
       CALL ef_set_axis_influence_6d(id, arg,
      .                              NO, NO, YES, YES, YES, YES)
 
-*                                                                      ^
-*                                                                      |
-*                                            USER CONFIGURABLE PORTION |
-* **********************************************************************
-
       RETURN 
       END
 
@@ -87,17 +68,12 @@
 
       INTEGER id
 
-* **********************************************************************
-*                                           USER CONFIGURABLE PORTION |
-*                                                                     |
-*                                                                     V
-
       INTEGER arg_lo_ss(6,EF_MAX_ARGS),
      .        arg_hi_ss(6,EF_MAX_ARGS),
      .        arg_incr (6,EF_MAX_ARGS)
-      INTEGER my_lo_x, my_hi_x, my_lo_y, my_hi_y, nx, ny
+      INTEGER lo_x, hi_x, lo_y, hi_y, nx, ny
 
-*     Set the abstract X and Y axes.
+*     Set the ABSTRACT X and Y axes.
 
       CALL ef_get_arg_subscripts_6d(id, arg_lo_ss, arg_hi_ss, arg_incr)
 
@@ -107,18 +83,13 @@
 *     The below has the effect of translating any sub-matrix so that
 *     the indices will always begin at 1 as expected for an abstract axis.
 
-      my_lo_x = 1
-      my_hi_x = ny
-      my_lo_y = 1
-      my_hi_y = nx
+      lo_x = 1
+      hi_x = ny
+      lo_y = 1
+      hi_y = nx
 
-      CALL ef_set_axis_limits(id, X_AXIS, my_lo_x, my_hi_x)
-      CALL ef_set_axis_limits(id, Y_AXIS, my_lo_y, my_hi_y)
-
-*                                                                     ^
-*                                                                     |
-*                                           USER CONFIGURABLE PORTION |
-* **********************************************************************
+      CALL ef_set_axis_limits(id, X_AXIS, lo_x, hi_x)
+      CALL ef_set_axis_limits(id, Y_AXIS, lo_y, hi_y)
 
       RETURN 
 
@@ -156,11 +127,6 @@
 
       REAL bad_flag(EF_MAX_ARGS), bad_flag_result
 
-* **********************************************************************
-*                                            USER CONFIGURABLE PORTION |
-*                                                                      |
-*                                                                      V
-
       INTEGER i, j, k, l, m, n
       INTEGER i1, j1, k1, l1, m1, n1
       CHARACTER*100 errtxt
@@ -227,10 +193,5 @@
 
  999  CALL EF_BAIL_OUT(id, errtxt)
 
-*                                                                      ^
-*                                                                      |
-*                                            USER CONFIGURABLE PORTION |
-* **********************************************************************
-
       RETURN 
       END
diff --git a/fer/efi/transpose_xz.F b/fer/efi/transpose_xz.F
index e910487..23d8489 100644
--- a/fer/efi/transpose_xz.F
+++ b/fer/efi/transpose_xz.F
@@ -1,49 +1,42 @@
 *
 * transpose_xz.F
-*
 * 
+*  This software was developed by the Thermal Modeling and Analysis
+*  Project(TMAP) of the National Oceanographic and Atmospheric
+*  Administration's (NOAA) Pacific Marine Environmental Lab(PMEL),
+*  hereafter referred to as NOAA/PMEL/TMAP.
+*
+*  Access and use of this software shall impose the following
+*  obligations and understandings on the user. The user is granted the
+*  right, without any fee or cost, to use, copy, modify, alter, enhance
+*  and distribute this software, and any derivative works thereof, and
+*  its supporting documentation for any purpose whatsoever, provided
+*  that this entire notice appears in all copies of the software,
+*  derivative works and supporting documentation.  Further, the user
+*  agrees to credit NOAA/PMEL/TMAP in any publications that result from
+*  the use of this software or in any product that includes this
+*  software. The names TMAP, NOAA and/or PMEL, however, may not be used
+*  in any advertising or publicity to endorse or promote any products
+*  or commercial entity unless specific written permission is obtained
+*  from NOAA/PMEL/TMAP. The user also understands that NOAA/PMEL/TMAP
+*  is not obligated to provide the user with any support, consulting,
+*  training or assistance of any kind with regard to the use, operation
+*  and performance of this software nor to provide the user with any
+*  updates, revisions, new versions or "bug fixes".
+*
+*  THIS SOFTWARE IS PROVIDED BY NOAA/PMEL/TMAP "AS IS" AND ANY EXPRESS
+*  OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+*  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+*  ARE DISCLAIMED. IN NO EVENT SHALL NOAA/PMEL/TMAP BE LIABLE FOR ANY SPECIAL,
+*  INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
+*  RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF
+*  CONTRACT, NEGLIGENCE OR OTHER TORTUOUS ACTION, ARISING OUT OF OR IN
+*  CONNECTION WITH THE ACCESS, USE OR PERFORMANCE OF THIS SOFTWARE. 
+*
+* 3/2017 ACM completing the set of TRANSPOSE functions
 * 
-*
-* This function sets the second argument to be equal
-* to the first one with the X and Z axes switched.
-*
 
 
-*
-* In this subroutine we provide information about
-* the function.  The user configurable information 
-* consists of the following:
-*
-* descr              Text description of the function
-*
-* num_args           Required number of arguments
-*
-* axis_inheritance   Type of axis for the result
-*                       ( CUSTOM, IMPLIED_BY_ARGS, NORMAL, ABSTRACT )
-*                       CUSTOM          - user defined axis
-*                       IMPLIED_BY_ARGS - same axis as the incoming argument
-*                       NORMAL          - the result is normal to this axis
-*                       ABSTRACT        - an axis which only has index values
-*
-* piecemeal_ok       For memory optimization:
-*                       axes where calculation may be performed piecemeal
-*                       ( YES, NO )
-* 
-*
-* For each argument we provide the following information:
-*
-* name               Text name for an argument
-*
-* unit               Text units for an argument
-*
-* desc               Text description of an argument
-*
-* axis_influence     Are this argument''s axes the same as the result grid?
-*                       ( YES, NO )
-*
-* axis_extend       How much does Ferret need to extend arg limits relative to result 
-*
-
 
       SUBROUTINE transpose_xz_init(id)
 
@@ -52,12 +45,7 @@
 
       INTEGER id, arg
 
-* **********************************************************************
-*                                            USER CONFIGURABLE PORTION |
-*                                                                      |
-*                                                                      V
-
-      CALL ef_set_desc(id, 'transposes x and z axes of given variable')
+      CALL ef_set_desc(id, 'transposes X and Z axes of given variable')
       CALL ef_set_num_args(id, 1)
       CALL ef_set_axis_inheritance_6d(id,
      .                                ABSTRACT,        IMPLIED_BY_ARGS,
@@ -71,11 +59,6 @@
       CALL ef_set_axis_influence_6d(id, arg,
      .                              NO, YES, NO, YES, YES, YES)
 
-*                                                                      ^
-*                                                                      |
-*                                            USER CONFIGURABLE PORTION |
-* **********************************************************************
-
       RETURN 
       END
 
@@ -87,17 +70,12 @@
 
       INTEGER id
 
-* **********************************************************************
-*                                           USER CONFIGURABLE PORTION |
-*                                                                     |
-*                                                                     V
-
       INTEGER arg_lo_ss(6,EF_MAX_ARGS),
      .        arg_hi_ss(6,EF_MAX_ARGS),
      .        arg_incr (6,EF_MAX_ARGS)
-      INTEGER my_lo_x, my_hi_x, my_lo_z, my_hi_z, nx, nz
+      INTEGER lo_x, hi_x, lo_z, hi_z, nx, nz
 
-*     Set the abstract X and Z axes.
+*     Set the ABSTRACT X and Z axes.
 
       CALL ef_get_arg_subscripts_6d(id, arg_lo_ss, arg_hi_ss, arg_incr)
 
@@ -107,18 +85,13 @@
 *     The below has the effect of translating any sub-matrix so that
 *     the indices will always begin at 1 as expected for an abstract axis.
 
-      my_lo_x = 1
-      my_hi_x = nz
-      my_lo_z = 1
-      my_hi_z = nx
-
-      CALL ef_set_axis_limits(id, X_AXIS, my_lo_x, my_hi_x)
-      CALL ef_set_axis_limits(id, Z_AXIS, my_lo_z, my_hi_z)
+      lo_x = 1
+      hi_x = nz
+      lo_z = 1
+      hi_z = nx
 
-*                                                                     ^
-*                                                                     |
-*                                           USER CONFIGURABLE PORTION |
-* **********************************************************************
+      CALL ef_set_axis_limits(id, X_AXIS, lo_x, hi_x)
+      CALL ef_set_axis_limits(id, Z_AXIS, lo_z, hi_z)
 
       RETURN 
 
@@ -156,11 +129,6 @@
 
       REAL bad_flag(EF_MAX_ARGS), bad_flag_result
 
-* **********************************************************************
-*                                            USER CONFIGURABLE PORTION |
-*                                                                      |
-*                                                                      V
-
       INTEGER i, j, k, l, m, n
       INTEGER i1, j1, k1, l1, m1, n1
       CHARACTER*100 errtxt
@@ -227,10 +195,5 @@
 
  999  CALL EF_BAIL_OUT(id, errtxt)
 
-*                                                                      ^
-*                                                                      |
-*                                            USER CONFIGURABLE PORTION |
-* **********************************************************************
-
       RETURN 
       END
diff --git a/fer/efi/transpose_ye.F b/fer/efi/transpose_ye.F
new file mode 100644
index 0000000..2322eae
--- /dev/null
+++ b/fer/efi/transpose_ye.F
@@ -0,0 +1,199 @@
+*
+* transpose_ye.F
+** 
+*  This software was developed by the Thermal Modeling and Analysis
+*  Project(TMAP) of the National Oceanographic and Atmospheric
+*  Administration's (NOAA) Pacific Marine Environmental Lab(PMEL),
+*  hereafter referred to as NOAA/PMEL/TMAP.
+*
+*  Access and use of this software shall impose the following
+*  obligations and understandings on the user. The user is granted the
+*  right, without any fee or cost, to use, copy, modify, alter, enhance
+*  and distribute this software, and any derivative works thereof, and
+*  its supporting documentation for any purpose whatsoever, provided
+*  that this entire notice appears in all copies of the software,
+*  derivative works and supporting documentation.  Further, the user
+*  agrees to credit NOAA/PMEL/TMAP in any publications that result from
+*  the use of this software or in any product that includes this
+*  software. The names TMAP, NOAA and/or PMEL, however, may not be used
+*  in any advertising or publicity to endorse or promote any products
+*  or commercial entity unless specific written permission is obtained
+*  from NOAA/PMEL/TMAP. The user also understands that NOAA/PMEL/TMAP
+*  is not obligated to provide the user with any support, consulting,
+*  training or assistance of any kind with regard to the use, operation
+*  and performance of this software nor to provide the user with any
+*  updates, revisions, new versions or "bug fixes".
+*
+*  THIS SOFTWARE IS PROVIDED BY NOAA/PMEL/TMAP "AS IS" AND ANY EXPRESS
+*  OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+*  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+*  ARE DISCLAIMED. IN NO EVENT SHALL NOAA/PMEL/TMAP BE LIABLE FOR ANY SPECIAL,
+*  INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
+*  RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF
+*  CONTRACT, NEGLIGENCE OR OTHER TORTUOUS ACTION, ARISING OUT OF OR IN
+*  CONNECTION WITH THE ACCESS, USE OR PERFORMANCE OF THIS SOFTWARE. 
+*
+* 3/2017 ACM completing the set of TRANSPOSE functions
+* 
+
+
+
+      SUBROUTINE transpose_ye_init(id)
+
+      IMPLICIT NONE
+      INCLUDE 'EF_Util.cmn'
+
+      INTEGER id, arg
+
+      CALL ef_set_desc(id, 'transposes Y and E axes of given variable')
+      CALL ef_set_num_args(id, 1)
+      CALL ef_set_axis_inheritance_6d(id,
+     .                                IMPLIED_BY_ARGS, ABSTRACT,
+     .                                IMPLIED_BY_ARGS, IMPLIED_BY_ARGS,
+     .                                ABSTRACT,        IMPLIED_BY_ARGS)
+      CALL ef_set_piecemeal_ok_6d(id, NO, NO, NO, NO, NO, NO)
+
+      arg = 1
+      CALL ef_set_arg_name(id, arg, 'VAR')
+      CALL ef_set_arg_desc(id, arg, 'variable to transpose in Y and E')
+      CALL ef_set_axis_influence_6d(id, arg,
+     .                              YES, NO, YES, YES, NO, YES)
+
+      RETURN 
+      END
+
+
+      SUBROUTINE transpose_ye_result_limits(id)
+
+      IMPLICIT NONE
+      INCLUDE 'EF_Util.cmn'
+
+      INTEGER id
+
+      INTEGER arg_lo_ss(6,EF_MAX_ARGS),
+     .        arg_hi_ss(6,EF_MAX_ARGS),
+     .        arg_incr (6,EF_MAX_ARGS)
+      INTEGER lo_y, hi_y, lo_e, hi_e, ny, ne
+
+*     Set the ABSTRACT Y and E axes.
+
+      CALL ef_get_arg_subscripts_6d(id, arg_lo_ss, arg_hi_ss, arg_incr)
+
+      ny = arg_hi_ss(Y_AXIS, ARG1) - arg_lo_ss(Y_AXIS, ARG1) + 1
+      ne = arg_hi_ss(E_AXIS, ARG1) - arg_lo_ss(E_AXIS, ARG1) + 1
+
+*     The below has the effect of translating any sub-matrix so that
+*     the indices will always begin at 1 as expected for an abstract axis.
+
+      lo_y = 1
+      hi_y = ne
+      lo_e = 1
+      hi_e = ny
+
+      CALL ef_set_axis_limits(id, Y_AXIS, lo_y, hi_y)
+      CALL ef_set_axis_limits(id, E_AXIS, lo_e, hi_e)
+
+      RETURN 
+
+      END
+
+
+*
+* In this subroutine we compute the result
+*
+      SUBROUTINE transpose_ye_compute(id, arg_1, result)
+
+      IMPLICIT NONE
+      INCLUDE 'EF_Util.cmn'
+      INCLUDE 'EF_mem_subsc.cmn'
+
+      INTEGER id
+
+      REAL arg_1(mem1lox:mem1hix, mem1loy:mem1hiy, mem1loz:mem1hiz, 
+     .           mem1lot:mem1hit, mem1loe:mem1hie, mem1lof:mem1hif)
+
+      REAL result(memreslox:memreshix, memresloy:memreshiy, 
+     .            memresloz:memreshiz, memreslot:memreshit,
+     .            memresloe:memreshie, memreslof:memreshif)
+
+* After initialization, the 'res_' arrays contain indexing information 
+* for the result axes.  The 'arg_' arrays will contain the indexing 
+* information for each variable''s axes. 
+
+      INTEGER res_lo_ss(6),
+     .        res_hi_ss(6),
+     .        res_incr (6)
+      INTEGER arg_lo_ss(6,EF_MAX_ARGS),
+     .        arg_hi_ss(6,EF_MAX_ARGS),
+     .        arg_incr (6,EF_MAX_ARGS)
+
+      REAL bad_flag(EF_MAX_ARGS), bad_flag_result
+
+      INTEGER i, j, k, l, m, n
+      INTEGER i1, j1, k1, l1, m1, n1
+      CHARACTER*100 errtxt
+
+      CALL ef_get_res_subscripts_6d(id, res_lo_ss, res_hi_ss, res_incr)
+      CALL ef_get_arg_subscripts_6d(id, arg_lo_ss, arg_hi_ss, arg_incr)
+      CALL ef_get_bad_flags(id, bad_flag, bad_flag_result)
+
+* check to make sure both axis have points to transpose
+      IF ( (arg_lo_ss(Y_AXIS, ARG1) .EQ. ef_unspecified_int4) .OR. 
+     .     (arg_hi_ss(Y_AXIS, ARG1) .EQ. ef_unspecified_int4) ) THEN
+         WRITE(errtxt,*) 'Y axis cannot be a normal axis'
+         GOTO 999
+      ENDIF
+      IF ( (arg_lo_ss(E_AXIS, ARG1) .EQ. ef_unspecified_int4) .OR. 
+     .     (arg_hi_ss(E_AXIS, ARG1) .EQ. ef_unspecified_int4) ) THEN
+         WRITE(errtxt,*) 'E axis cannot be a normal axis'
+         GOTO 999
+      ENDIF
+
+      n1 = arg_lo_ss(F_AXIS, ARG1)
+      DO 600 n = res_lo_ss(F_AXIS), res_hi_ss(F_AXIS)
+
+      m1 = arg_lo_ss(E_AXIS, ARG1)
+      DO 500 j = res_lo_ss(Y_AXIS), res_hi_ss(Y_AXIS)
+
+      l1 = arg_lo_ss(T_AXIS, ARG1)
+      DO 400 l = res_lo_ss(T_AXIS), res_hi_ss(T_AXIS)
+
+      k1 = arg_lo_ss(Z_AXIS, ARG1)
+      DO 300 k = res_lo_ss(Z_AXIS), res_hi_ss(Z_AXIS)
+
+      j1 = arg_lo_ss(Y_AXIS, ARG1)
+      DO 200 m = res_lo_ss(E_AXIS), res_hi_ss(E_AXIS)
+
+      i1 = arg_lo_ss(X_AXIS, ARG1)
+      DO 100 i = res_lo_ss(X_AXIS), res_hi_ss(X_AXIS)
+
+         IF ( arg_1(i1,j1,k1,l1,m1,n1) .NE. bad_flag(ARG1) ) THEN
+            result(i,j,k,l,m,n) = arg_1(i1,j1,k1,l1,m1,n1)
+         ELSE
+            result(i,j,k,l,m,n) = bad_flag_result
+         ENDIF
+
+         i1 = i1 + arg_incr(X_AXIS, ARG1)
+ 100  CONTINUE
+
+         j1 = j1 + arg_incr(Y_AXIS, ARG1)
+ 200  CONTINUE
+
+         k1 = k1 + arg_incr(Z_AXIS, ARG1)
+ 300  CONTINUE
+
+         l1 = l1 + arg_incr(T_AXIS, ARG1)
+ 400  CONTINUE
+
+         m1 = m1 + arg_incr(E_AXIS, ARG1)
+ 500  CONTINUE
+
+         n1 = n1 + arg_incr(F_AXIS, ARG1)
+ 600  CONTINUE
+
+      RETURN 
+
+ 999  CALL EF_BAIL_OUT(id, errtxt)
+
+      RETURN 
+      END
diff --git a/fer/efi/transpose_yf.F b/fer/efi/transpose_yf.F
new file mode 100644
index 0000000..84204e4
--- /dev/null
+++ b/fer/efi/transpose_yf.F
@@ -0,0 +1,197 @@
+*
+* transpose_yf.F
+* 
+*  This software was developed by the Thermal Modeling and Analysis
+*  Project(TMAP) of the National Oceanographic and Atmospheric
+*  Administration's (NOAA) Pacific Marine Environmental Lab(PMEL),
+*  hereafter referred to as NOAA/PMEL/TMAP.
+*
+*  Access and use of this software shall impose the following
+*  obligations and understandings on the user. The user is granted the
+*  right, without any fee or cost, to use, copy, modify, alter, enhance
+*  and distribute this software, and any derivative works thereof, and
+*  its supporting documentation for any purpose whatsoever, provided
+*  that this entire notice appears in all copies of the software,
+*  derivative works and supporting documentation.  Further, the user
+*  agrees to credit NOAA/PMEL/TMAP in any publications that result from
+*  the use of this software or in any product that includes this
+*  software. The names TMAP, NOAA and/or PMEL, however, may not be used
+*  in any advertising or publicity to endorse or promote any products
+*  or commercial entity unless specific written permission is obtained
+*  from NOAA/PMEL/TMAP. The user also understands that NOAA/PMEL/TMAP
+*  is not obligated to provide the user with any support, consulting,
+*  training or assistance of any kind with regard to the use, operation
+*  and performance of this software nor to provide the user with any
+*  updates, revisions, new versions or "bug fixes".
+*
+*  THIS SOFTWARE IS PROVIDED BY NOAA/PMEL/TMAP "AS IS" AND ANY EXPRESS
+*  OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+*  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+*  ARE DISCLAIMED. IN NO EVENT SHALL NOAA/PMEL/TMAP BE LIABLE FOR ANY SPECIAL,
+*  INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
+*  RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF
+*  CONTRACT, NEGLIGENCE OR OTHER TORTUOUS ACTION, ARISING OUT OF OR IN
+*  CONNECTION WITH THE ACCESS, USE OR PERFORMANCE OF THIS SOFTWARE. 
+*
+* 3/2017 ACM completing the set of TRANSPOSE functions
+* 
+
+      SUBROUTINE transpose_yf_init(id)
+
+      IMPLICIT NONE
+      INCLUDE 'EF_Util.cmn'
+
+      INTEGER id, arg
+
+      CALL ef_set_desc(id, 'transposes Y and F axes of given variable')
+      CALL ef_set_num_args(id, 1)
+      CALL ef_set_axis_inheritance_6d(id,
+     .                                IMPLIED_BY_ARGS, ABSTRACT,
+     .                                IMPLIED_BY_ARGS, IMPLIED_BY_ARGS,
+     .                                IMPLIED_BY_ARGS, ABSTRACT        )
+      CALL ef_set_piecemeal_ok_6d(id, NO, NO, NO, NO, NO, NO)
+
+      arg = 1
+      CALL ef_set_arg_name(id, arg, 'VAR')
+      CALL ef_set_arg_desc(id, arg, 'variable to transpose in Y and F')
+      CALL ef_set_axis_influence_6d(id, arg,
+     .                              YES, NO, YES, YES, YES, NO)
+
+      RETURN 
+      END
+
+
+      SUBROUTINE transpose_yf_result_limits(id)
+
+      IMPLICIT NONE
+      INCLUDE 'EF_Util.cmn'
+
+      INTEGER id
+
+      INTEGER arg_lo_ss(6,EF_MAX_ARGS),
+     .        arg_hi_ss(6,EF_MAX_ARGS),
+     .        arg_incr (6,EF_MAX_ARGS)
+      INTEGER lo_f, hi_f, lo_y, hi_y, nf, ny
+
+*     Set the ABSTRACT Y and F axes.
+
+      CALL ef_get_arg_subscripts_6d(id, arg_lo_ss, arg_hi_ss, arg_incr)
+
+      nf = arg_hi_ss(F_AXIS, ARG1) - arg_lo_ss(F_AXIS, ARG1) + 1
+      ny = arg_hi_ss(Y_AXIS, ARG1) - arg_lo_ss(Y_AXIS, ARG1) + 1
+
+*     The below has the effect of translating any sub-matrix so that
+*     the indices will always begin at 1 as expected for an abstract axis.
+
+      lo_y = 1
+      hi_y = nf
+      lo_f = 1
+      hi_f = ny
+
+      CALL ef_set_axis_limits(id, Y_AXIS, lo_y, hi_y)
+      CALL ef_set_axis_limits(id, F_AXIS, lo_f, hi_f)
+
+      RETURN 
+
+      END
+
+
+*
+* In this subroutine we compute the result
+*
+      SUBROUTINE transpose_yf_compute(id, arg_1, result)
+
+      IMPLICIT NONE
+      INCLUDE 'EF_Util.cmn'
+      INCLUDE 'EF_mem_subsc.cmn'
+
+      INTEGER id
+
+      REAL arg_1(mem1lox:mem1hix, mem1loy:mem1hiy, mem1loz:mem1hiz, 
+     .           mem1lot:mem1hit, mem1loe:mem1hie, mem1lof:mem1hif)
+
+      REAL result(memreslox:memreshix, memresloy:memreshiy, 
+     .            memresloz:memreshiz, memreslot:memreshit,
+     .            memresloe:memreshie, memreslof:memreshif)
+
+* After initialization, the 'res_' arrays contain indexing information 
+* for the result axes.  The 'arg_' arrays will contain the indexing 
+* information for each variable''s axes. 
+
+      INTEGER res_lo_ss(6),
+     .        res_hi_ss(6),
+     .        res_incr (6)
+      INTEGER arg_lo_ss(6,EF_MAX_ARGS),
+     .        arg_hi_ss(6,EF_MAX_ARGS),
+     .        arg_incr (6,EF_MAX_ARGS)
+
+      REAL bad_flag(EF_MAX_ARGS), bad_flag_result
+
+      INTEGER i, j, k, l, m, n
+      INTEGER i1, j1, k1, l1, m1, n1
+      CHARACTER*100 errtxt
+
+      CALL ef_get_res_subscripts_6d(id, res_lo_ss, res_hi_ss, res_incr)
+      CALL ef_get_arg_subscripts_6d(id, arg_lo_ss, arg_hi_ss, arg_incr)
+      CALL ef_get_bad_flags(id, bad_flag, bad_flag_result)
+
+* check to make sure both axis have points to transpose
+      IF ( (arg_lo_ss(Y_AXIS, ARG1) .EQ. ef_unspecified_int4) .OR. 
+     .     (arg_hi_ss(Y_AXIS, ARG1) .EQ. ef_unspecified_int4) ) THEN
+         WRITE(errtxt,*) 'Y axis cannot be a normal axis'
+         GOTO 999
+      ENDIF
+      IF ( (arg_lo_ss(F_AXIS, ARG1) .EQ. ef_unspecified_int4) .OR. 
+     .     (arg_hi_ss(F_AXIS, ARG1) .EQ. ef_unspecified_int4) ) THEN
+         WRITE(errtxt,*) 'F axis cannot be a normal axis'
+         GOTO 999
+      ENDIF
+
+      n1 = arg_lo_ss(F_AXIS, ARG1)
+      DO 600 j = res_lo_ss(Y_AXIS), res_hi_ss(Y_AXIS)
+
+      m1 = arg_lo_ss(E_AXIS, ARG1)
+      DO 500 m = res_lo_ss(E_AXIS), res_hi_ss(E_AXIS)
+
+      l1 = arg_lo_ss(T_AXIS, ARG1)
+      DO 400 l = res_lo_ss(T_AXIS), res_hi_ss(T_AXIS)
+
+      k1 = arg_lo_ss(Z_AXIS, ARG1)
+      DO 300  k = res_lo_ss(Z_AXIS), res_hi_ss(Z_AXIS)
+
+      j1 = arg_lo_ss(Y_AXIS, ARG1)
+      DO 200 n = res_lo_ss(F_AXIS), res_hi_ss(F_AXIS)
+
+      i1 = arg_lo_ss(X_AXIS, ARG1)
+      DO 100 i = res_lo_ss(X_AXIS), res_hi_ss(X_AXIS)
+
+         IF ( arg_1(i1,j1,k1,l1,m1,n1) .NE. bad_flag(ARG1) ) THEN
+            result(i,j,k,l,m,n) = arg_1(i1,j1,k1,l1,m1,n1)
+         ELSE
+            result(i,j,k,l,m,n) = bad_flag_result
+         ENDIF
+
+         i1 = i1 + arg_incr(X_AXIS, ARG1)
+ 100  CONTINUE
+
+         j1 = j1 + arg_incr(Y_AXIS, ARG1)
+ 200  CONTINUE
+
+         k1 = k1 + arg_incr(Z_AXIS, ARG1)
+ 300  CONTINUE
+
+         l1 = l1 + arg_incr(T_AXIS, ARG1)
+ 400  CONTINUE
+
+         m1 = m1 + arg_incr(E_AXIS, ARG1)
+ 500  CONTINUE
+
+         n1 = n1 + arg_incr(F_AXIS, ARG1)
+ 600  CONTINUE
+
+      RETURN 
+
+ 999  CALL EF_BAIL_OUT(id, errtxt)
+
+      RETURN 
+      END
diff --git a/fer/efi/transpose_yt.F b/fer/efi/transpose_yt.F
index c9c18ea..1231956 100644
--- a/fer/efi/transpose_yt.F
+++ b/fer/efi/transpose_yt.F
@@ -1,48 +1,40 @@
 *
 * transpose_yt.F
-*
-* 
 * 
-*
-* This function sets the second argument to be equal
-* to the first one with the Y and T axes switched.
-*
-
-
-*
-* In this subroutine we provide information about
-* the function.  The user configurable information 
-* consists of the following:
-*
-* descr              Text description of the function
-*
-* num_args           Required number of arguments
-*
-* axis_inheritance   Type of axis for the result
-*                       ( CUSTOM, IMPLIED_BY_ARGS, NORMAL, ABSTRACT )
-*                       CUSTOM          - user defined axis
-*                       IMPLIED_BY_ARGS - same axis as the incoming argument
-*                       NORMAL          - the result is normal to this axis
-*                       ABSTRACT        - an axis which only has index values
-*
-* piecemeal_ok       For memory optimization:
-*                       axes where calculation may be performed piecemeal
-*                       ( YES, NO )
+*  This software was developed by the Thermal Modeling and Analysis
+*  Project(TMAP) of the National Oceanographic and Atmospheric
+*  Administration's (NOAA) Pacific Marine Environmental Lab(PMEL),
+*  hereafter referred to as NOAA/PMEL/TMAP.
+*
+*  Access and use of this software shall impose the following
+*  obligations and understandings on the user. The user is granted the
+*  right, without any fee or cost, to use, copy, modify, alter, enhance
+*  and distribute this software, and any derivative works thereof, and
+*  its supporting documentation for any purpose whatsoever, provided
+*  that this entire notice appears in all copies of the software,
+*  derivative works and supporting documentation.  Further, the user
+*  agrees to credit NOAA/PMEL/TMAP in any publications that result from
+*  the use of this software or in any product that includes this
+*  software. The names TMAP, NOAA and/or PMEL, however, may not be used
+*  in any advertising or publicity to endorse or promote any products
+*  or commercial entity unless specific written permission is obtained
+*  from NOAA/PMEL/TMAP. The user also understands that NOAA/PMEL/TMAP
+*  is not obligated to provide the user with any support, consulting,
+*  training or assistance of any kind with regard to the use, operation
+*  and performance of this software nor to provide the user with any
+*  updates, revisions, new versions or "bug fixes".
+*
+*  THIS SOFTWARE IS PROVIDED BY NOAA/PMEL/TMAP "AS IS" AND ANY EXPRESS
+*  OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+*  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+*  ARE DISCLAIMED. IN NO EVENT SHALL NOAA/PMEL/TMAP BE LIABLE FOR ANY SPECIAL,
+*  INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
+*  RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF
+*  CONTRACT, NEGLIGENCE OR OTHER TORTUOUS ACTION, ARISING OUT OF OR IN
+*  CONNECTION WITH THE ACCESS, USE OR PERFORMANCE OF THIS SOFTWARE. 
+*
+* 3/2017 ACM completing the set of TRANSPOSE functions
 * 
-*
-* For each argument we provide the following information:
-*
-* name               Text name for an argument
-*
-* unit               Text units for an argument
-*
-* desc               Text description of an argument
-*
-* axis_influence     Are this argument''s axes the same as the result grid?
-*                       ( YES, NO )
-*
-* axis_extend       How much does Ferret need to extend arg limits relative to result 
-*
 
 
       SUBROUTINE transpose_yt_init(id)
@@ -52,11 +44,6 @@
 
       INTEGER id, arg
 
-* **********************************************************************
-*                                            USER CONFIGURABLE PORTION |
-*                                                                      |
-*                                                                      V
-
       CALL ef_set_desc(id, 'transposes Y and T axes of given variable')
       CALL ef_set_num_args(id, 1)
       CALL ef_set_axis_inheritance_6d(id,
@@ -71,11 +58,6 @@
       CALL ef_set_axis_influence_6d(id, arg,
      .                              YES, NO, YES, NO, YES, YES)
 
-*                                                                      ^
-*                                                                      |
-*                                            USER CONFIGURABLE PORTION |
-* **********************************************************************
-
       RETURN 
       END
 
@@ -87,17 +69,12 @@
 
       INTEGER id
 
-* **********************************************************************
-*                                           USER CONFIGURABLE PORTION |
-*                                                                     |
-*                                                                     V
-
       INTEGER arg_lo_ss(6,EF_MAX_ARGS),
      .        arg_hi_ss(6,EF_MAX_ARGS),
      .        arg_incr (6,EF_MAX_ARGS)
-      INTEGER my_lo_t, my_hi_t, my_lo_y, my_hi_y, nt, ny
+      INTEGER lo_t, hi_t, lo_y, hi_y, nt, ny
 
-*     Set the abstract T and Y axes.
+*     Set the ABSTRACT T and Y axes.
 
       CALL ef_get_arg_subscripts_6d(id, arg_lo_ss, arg_hi_ss, arg_incr)
 
@@ -107,18 +84,13 @@
 *     The below has the effect of translating any sub-matrix so that
 *     the indices will always begin at 1 as expected for an abstract axis.
 
-      my_lo_t = 1
-      my_hi_t = ny
-      my_lo_y = 1
-      my_hi_y = nt
+      lo_t = 1
+      hi_t = ny
+      lo_y = 1
+      hi_y = nt
 
-      CALL ef_set_axis_limits(id, T_AXIS, my_lo_t, my_hi_t)
-      CALL ef_set_axis_limits(id, Y_AXIS, my_lo_y, my_hi_y)
-
-*                                                                     ^
-*                                                                     |
-*                                           USER CONFIGURABLE PORTION |
-* **********************************************************************
+      CALL ef_set_axis_limits(id, T_AXIS, lo_t, hi_t)
+      CALL ef_set_axis_limits(id, Y_AXIS, lo_y, hi_y)
 
       RETURN 
 
@@ -156,11 +128,6 @@
 
       REAL bad_flag(EF_MAX_ARGS), bad_flag_result
 
-* **********************************************************************
-*                                            USER CONFIGURABLE PORTION |
-*                                                                      |
-*                                                                      V
-
       INTEGER i, j, k, l, m, n
       INTEGER i1, j1, k1, l1, m1, n1
       CHARACTER*100 errtxt
@@ -227,10 +194,5 @@
 
  999  CALL EF_BAIL_OUT(id, errtxt)
 
-*                                                                      ^
-*                                                                      |
-*                                            USER CONFIGURABLE PORTION |
-* **********************************************************************
-
       RETURN 
       END
diff --git a/fer/efi/transpose_yz.F b/fer/efi/transpose_yz.F
index 956af92..cd82044 100644
--- a/fer/efi/transpose_yz.F
+++ b/fer/efi/transpose_yz.F
@@ -1,48 +1,41 @@
 *
 * transpose_yz.F
-*
 * 
+*  This software was developed by the Thermal Modeling and Analysis
+*  Project(TMAP) of the National Oceanographic and Atmospheric
+*  Administration's (NOAA) Pacific Marine Environmental Lab(PMEL),
+*  hereafter referred to as NOAA/PMEL/TMAP.
+*
+*  Access and use of this software shall impose the following
+*  obligations and understandings on the user. The user is granted the
+*  right, without any fee or cost, to use, copy, modify, alter, enhance
+*  and distribute this software, and any derivative works thereof, and
+*  its supporting documentation for any purpose whatsoever, provided
+*  that this entire notice appears in all copies of the software,
+*  derivative works and supporting documentation.  Further, the user
+*  agrees to credit NOAA/PMEL/TMAP in any publications that result from
+*  the use of this software or in any product that includes this
+*  software. The names TMAP, NOAA and/or PMEL, however, may not be used
+*  in any advertising or publicity to endorse or promote any products
+*  or commercial entity unless specific written permission is obtained
+*  from NOAA/PMEL/TMAP. The user also understands that NOAA/PMEL/TMAP
+*  is not obligated to provide the user with any support, consulting,
+*  training or assistance of any kind with regard to the use, operation
+*  and performance of this software nor to provide the user with any
+*  updates, revisions, new versions or "bug fixes".
+*
+*  THIS SOFTWARE IS PROVIDED BY NOAA/PMEL/TMAP "AS IS" AND ANY EXPRESS
+*  OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+*  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+*  ARE DISCLAIMED. IN NO EVENT SHALL NOAA/PMEL/TMAP BE LIABLE FOR ANY SPECIAL,
+*  INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
+*  RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF
+*  CONTRACT, NEGLIGENCE OR OTHER TORTUOUS ACTION, ARISING OUT OF OR IN
+*  CONNECTION WITH THE ACCESS, USE OR PERFORMANCE OF THIS SOFTWARE. 
+*
+* 3/2017 ACM completing the set of TRANSPOSE functions
 * 
 *
-* This function sets the second argument to be equal
-* to the first one with the Y and Z axes switched.
-*
-
-
-*
-* In this subroutine we provide information about
-* the function.  The user configurable information 
-* consists of the following:
-*
-* descr              Text description of the function
-*
-* num_args           Required number of arguments
-*
-* axis_inheritance   Type of axis for the result
-*                       ( CUSTOM, IMPLIED_BY_ARGS, NORMAL, ABSTRACT )
-*                       CUSTOM          - user defined axis
-*                       IMPLIED_BY_ARGS - same axis as the incoming argument
-*                       NORMAL          - the result is normal to this axis
-*                       ABSTRACT        - an axis which only has index values
-*
-* piecemeal_ok       For memory optimization:
-*                       axes where calculation may be performed piecemeal
-*                       ( YES, NO )
-* 
-*
-* For each argument we provide the following information:
-*
-* name               Text name for an argument
-*
-* unit               Text units for an argument
-*
-* desc               Text description of an argument
-*
-* axis_influence     Are this argument''s axes the same as the result grid?
-*                       ( YES, NO )
-*
-* axis_extend       How much does Ferret need to extend arg limits relative to result 
-*
 
 
       SUBROUTINE transpose_yz_init(id)
@@ -52,11 +45,6 @@
 
       INTEGER id, arg
 
-* **********************************************************************
-*                                            USER CONFIGURABLE PORTION |
-*                                                                      |
-*                                                                      V
-
       CALL ef_set_desc(id, 'transposes Y and Z axes of given variable')
       CALL ef_set_num_args(id, 1)
       CALL ef_set_axis_inheritance_6d(id,
@@ -67,15 +55,10 @@
 
       arg = 1
       CALL ef_set_arg_name(id, arg, 'VAR')
-      CALL ef_set_arg_desc(id, arg, 'variable transposed in Y and Z')
+      CALL ef_set_arg_desc(id, arg, 'variable to transpose in Y and Z')
       CALL ef_set_axis_influence_6d(id, arg,
      .                              YES, NO, NO, YES, YES, YES)
 
-*                                                                      ^
-*                                                                      |
-*                                            USER CONFIGURABLE PORTION |
-* **********************************************************************
-
       RETURN 
       END
 
@@ -87,17 +70,12 @@
 
       INTEGER id
 
-* **********************************************************************
-*                                           USER CONFIGURABLE PORTION |
-*                                                                     |
-*                                                                     V
-
       INTEGER arg_lo_ss(6,EF_MAX_ARGS),
      .        arg_hi_ss(6,EF_MAX_ARGS),
      .        arg_incr (6,EF_MAX_ARGS)
-      INTEGER my_lo_z, my_hi_z, my_lo_y, my_hi_y, nz, ny
+      INTEGER lo_z, hi_z, lo_y, hi_y, nz, ny
 
-*     Set the abstract Z and Y axes.
+*     Set the ABSTRACT Z and Y axes.
 
       CALL ef_get_arg_subscripts_6d(id, arg_lo_ss, arg_hi_ss, arg_incr)
 
@@ -107,18 +85,13 @@
 *     The below has the effect of translating any sub-matrix so that
 *     the indices will always begin at 1 as expected for an abstract axis.
 
-      my_lo_z = 1
-      my_hi_z = ny
-      my_lo_y = 1
-      my_hi_y = nz
-
-      CALL ef_set_axis_limits(id, Z_AXIS, my_lo_z, my_hi_z)
-      CALL ef_set_axis_limits(id, Y_AXIS, my_lo_y, my_hi_y)
+      lo_z = 1
+      hi_z = ny
+      lo_y = 1
+      hi_y = nz
 
-*                                                                     ^
-*                                                                     |
-*                                           USER CONFIGURABLE PORTION |
-* **********************************************************************
+      CALL ef_set_axis_limits(id, Z_AXIS, lo_z, hi_z)
+      CALL ef_set_axis_limits(id, Y_AXIS, lo_y, hi_y)
 
       RETURN 
 
@@ -156,11 +129,6 @@
 
       REAL bad_flag(EF_MAX_ARGS), bad_flag_result
 
-* **********************************************************************
-*                                            USER CONFIGURABLE PORTION |
-*                                                                      |
-*                                                                      V
-
       INTEGER i, j, k, l, m, n
       INTEGER i1, j1, k1, l1, m1, n1
       CHARACTER*100 errtxt
@@ -227,10 +195,5 @@
 
  999  CALL EF_BAIL_OUT(id, errtxt)
 
-*                                                                      ^
-*                                                                      |
-*                                            USER CONFIGURABLE PORTION |
-* **********************************************************************
-
       RETURN 
       END
diff --git a/fer/efi/transpose_ze.F b/fer/efi/transpose_ze.F
new file mode 100644
index 0000000..5fb79de
--- /dev/null
+++ b/fer/efi/transpose_ze.F
@@ -0,0 +1,197 @@
+*
+* transpose_ze.F* 
+*  This software was developed by the Thermal Modeling and Analysis
+*  Project(TMAP) of the National Oceanographic and Atmospheric
+*  Administration's (NOAA) Pacific Marine Environmental Lab(PMEL),
+*  hereafter referred to as NOAA/PMEL/TMAP.
+*
+*  Access and use of this software shall impose the following
+*  obligations and understandings on the user. The user is granted the
+*  right, without any fee or cost, to use, copy, modify, alter, enhance
+*  and distribute this software, and any derivative works thereof, and
+*  its supporting documentation for any purpose whatsoever, provided
+*  that this entire notice appears in all copies of the software,
+*  derivative works and supporting documentation.  Further, the user
+*  agrees to credit NOAA/PMEL/TMAP in any publications that result from
+*  the use of this software or in any product that includes this
+*  software. The names TMAP, NOAA and/or PMEL, however, may not be used
+*  in any advertising or publicity to endorse or promote any products
+*  or commercial entity unless specific written permission is obtained
+*  from NOAA/PMEL/TMAP. The user also understands that NOAA/PMEL/TMAP
+*  is not obligated to provide the user with any support, consulting,
+*  training or assistance of any kind with regard to the use, operation
+*  and performance of this software nor to provide the user with any
+*  updates, revisions, new versions or "bug fixes".
+*
+*  THIS SOFTWARE IS PROVIDED BY NOAA/PMEL/TMAP "AS IS" AND ANY EXPRESS
+*  OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+*  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+*  ARE DISCLAIMED. IN NO EVENT SHALL NOAA/PMEL/TMAP BE LIABLE FOR ANY SPECIAL,
+*  INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
+*  RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF
+*  CONTRACT, NEGLIGENCE OR OTHER TORTUOUS ACTION, ARISING OUT OF OR IN
+*  CONNECTION WITH THE ACCESS, USE OR PERFORMANCE OF THIS SOFTWARE. 
+*
+* 3/2017 ACM completing the set of TRANSPOSE functions
+*
+
+
+      SUBROUTINE transpose_ze_init(id)
+
+      IMPLICIT NONE
+      INCLUDE 'EF_Util.cmn'
+
+      INTEGER id, arg
+
+      CALL ef_set_desc(id, 'transposes Z and E axes of given variable')
+      CALL ef_set_num_args(id, 1)
+      CALL ef_set_axis_inheritance_6d(id,
+     .                                IMPLIED_BY_ARGS, IMPLIED_BY_ARGS,
+     .                                ABSTRACT,        IMPLIED_BY_ARGS, 
+     .                                ABSTRACT,        IMPLIED_BY_ARGS)
+      CALL ef_set_piecemeal_ok_6d(id, NO, NO, NO, NO, NO, NO)
+
+      arg = 1
+      CALL ef_set_arg_name(id, arg, 'VAR')
+      CALL ef_set_arg_desc(id, arg, 'variable to transpose in Z and E')
+      CALL ef_set_axis_influence_6d(id, arg,
+     .                              YES, YES, NO, YES, NO, YES)
+
+      RETURN 
+      END
+
+
+      SUBROUTINE transpose_ze_result_limits(id)
+
+      IMPLICIT NONE
+      INCLUDE 'EF_Util.cmn'
+
+      INTEGER id
+
+      INTEGER arg_lo_ss(6,EF_MAX_ARGS),
+     .        arg_hi_ss(6,EF_MAX_ARGS),
+     .        arg_incr (6,EF_MAX_ARGS)
+      INTEGER lo_z, hi_z, lo_e, hi_e, nz, ne
+
+*     Set the ABSTRACT Z and E axes.
+
+      CALL ef_get_arg_subscripts_6d(id, arg_lo_ss, arg_hi_ss, arg_incr)
+
+      nz = arg_hi_ss(Z_AXIS, ARG1) - arg_lo_ss(Z_AXIS, ARG1) + 1
+      ne = arg_hi_ss(E_AXIS, ARG1) - arg_lo_ss(E_AXIS, ARG1) + 1
+
+*     The below has the effect of translating any sub-matrix so that
+*     the indices will always begin at 1 as expected for an abstract axis.
+
+      lo_z = 1
+      hi_z = ne
+      lo_e = 1
+      hi_e = nz
+
+      CALL ef_set_axis_limits(id, Z_AXIS, lo_z, hi_z)
+      CALL ef_set_axis_limits(id, E_AXIS, lo_e, hi_e)
+
+      RETURN 
+
+      END
+
+
+*
+* In this subroutine we compute the result
+*
+      SUBROUTINE transpose_ze_compute(id, arg_1, result)
+
+      IMPLICIT NONE
+      INCLUDE 'EF_Util.cmn'
+      INCLUDE 'EF_mem_subsc.cmn'
+
+      INTEGER id
+
+      REAL arg_1(mem1lox:mem1hix, mem1loy:mem1hiy, mem1loz:mem1hiz, 
+     .           mem1lot:mem1hit, mem1loe:mem1hie, mem1lof:mem1hif)
+
+      REAL result(memreslox:memreshix, memresloy:memreshiy, 
+     .            memresloz:memreshiz, memreslot:memreshit,
+     .            memresloe:memreshie, memreslof:memreshif)
+
+* After initialization, the 'res_' arrays contain indexing information 
+* for the result axes.  The 'arg_' arrays will contain the indexing 
+* information for each variable''s axes. 
+
+      INTEGER res_lo_ss(6),
+     .        res_hi_ss(6),
+     .        res_incr (6)
+      INTEGER arg_lo_ss(6,EF_MAX_ARGS),
+     .        arg_hi_ss(6,EF_MAX_ARGS),
+     .        arg_incr (6,EF_MAX_ARGS)
+
+      REAL bad_flag(EF_MAX_ARGS), bad_flag_result
+
+      INTEGER i, j, k, l, m, n
+      INTEGER i1, j1, k1, l1, m1, n1
+      CHARACTER*100 errtxt
+
+      CALL ef_get_res_subscripts_6d(id, res_lo_ss, res_hi_ss, res_incr)
+      CALL ef_get_arg_subscripts_6d(id, arg_lo_ss, arg_hi_ss, arg_incr)
+      CALL ef_get_bad_flags(id, bad_flag, bad_flag_result)
+
+* check to make sure both axis have points to transpose
+      IF ( (arg_lo_ss(E_AXIS, ARG1) .EQ. ef_unspecified_int4) .OR. 
+     .     (arg_hi_ss(E_AXIS, ARG1) .EQ. ef_unspecified_int4) ) THEN
+         WRITE(errtxt,*) 'E axis cannot be a normal axis'
+         GOTO 999
+      ENDIF
+      IF ( (arg_lo_ss(Z_AXIS, ARG1) .EQ. ef_unspecified_int4) .OR. 
+     .     (arg_hi_ss(Z_AXIS, ARG1) .EQ. ef_unspecified_int4) ) THEN
+         WRITE(errtxt,*) 'Z axis cannot be a normal axis'
+         GOTO 999
+      ENDIF
+
+      n1 = arg_lo_ss(F_AXIS, ARG1)
+      DO 600 n = res_lo_ss(F_AXIS), res_hi_ss(F_AXIS)
+
+      m1 = arg_lo_ss(E_AXIS, ARG1)
+      DO 500 k = res_lo_ss(Z_AXIS), res_hi_ss(Z_AXIS)
+
+      l1 = arg_lo_ss(T_AXIS, ARG1)
+      DO 400 l = res_lo_ss(T_AXIS), res_hi_ss(T_AXIS)
+
+      k1 = arg_lo_ss(Z_AXIS, ARG1)
+      DO 300 m = res_lo_ss(E_AXIS), res_hi_ss(E_AXIS)
+
+      j1 = arg_lo_ss(Y_AXIS, ARG1)
+      DO 200 j = res_lo_ss(Y_AXIS), res_hi_ss(Y_AXIS) 
+
+      i1 = arg_lo_ss(X_AXIS, ARG1)
+      DO 100 i = res_lo_ss(X_AXIS), res_hi_ss(X_AXIS)
+
+         IF ( arg_1(i1,j1,k1,l1,m1,n1) .NE. bad_flag(ARG1) ) THEN
+            result(i,j,k,l,m,n) = arg_1(i1,j1,k1,l1,m1,n1)
+         ELSE
+            result(i,j,k,l,m,n) = bad_flag_result
+         ENDIF
+
+         i1 = i1 + arg_incr(X_AXIS, ARG1)
+ 100  CONTINUE
+
+         j1 = j1 + arg_incr(Y_AXIS, ARG1)
+ 200  CONTINUE
+
+         k1 = k1 + arg_incr(Z_AXIS, ARG1)
+ 300  CONTINUE
+
+         l1 = l1 + arg_incr(T_AXIS, ARG1)
+ 400  CONTINUE
+
+         m1 = m1 + arg_incr(E_AXIS, ARG1)
+ 500  CONTINUE
+
+         n1 = n1 + arg_incr(F_AXIS, ARG1)
+ 600  CONTINUE
+
+      RETURN 
+
+ 999  CALL EF_BAIL_OUT(id, errtxt)
+
+      RETURN 
+      END
diff --git a/fer/efi/transpose_zf.F b/fer/efi/transpose_zf.F
new file mode 100644
index 0000000..5e016da
--- /dev/null
+++ b/fer/efi/transpose_zf.F
@@ -0,0 +1,200 @@
+*
+* transpose_zf.F
+*
+* 
+*  This software was developed by the Thermal Modeling and Analysis
+*  Project(TMAP) of the National Oceanographic and Atmospheric
+*  Administration's (NOAA) Pacific Marine Environmental Lab(PMEL),
+*  hereafter referred to as NOAA/PMEL/TMAP.
+*
+*  Access and use of this software shall impose the following
+*  obligations and understandings on the user. The user is granted the
+*  right, without any fee or cost, to use, copy, modify, alter, enhance
+*  and distribute this software, and any derivative works thereof, and
+*  its supporting documentation for any purpose whatsoever, provided
+*  that this entire notice appears in all copies of the software,
+*  derivative works and supporting documentation.  Further, the user
+*  agrees to credit NOAA/PMEL/TMAP in any publications that result from
+*  the use of this software or in any product that includes this
+*  software. The names TMAP, NOAA and/or PMEL, however, may not be used
+*  in any advertising or publicity to endorse or promote any products
+*  or commercial entity unless specific written permission is obtained
+*  from NOAA/PMEL/TMAP. The user also understands that NOAA/PMEL/TMAP
+*  is not obligated to provide the user with any support, consulting,
+*  training or assistance of any kind with regard to the use, operation
+*  and performance of this software nor to provide the user with any
+*  updates, revisions, new versions or "bug fixes".
+*
+*  THIS SOFTWARE IS PROVIDED BY NOAA/PMEL/TMAP "AS IS" AND ANY EXPRESS
+*  OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+*  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+*  ARE DISCLAIMED. IN NO EVENT SHALL NOAA/PMEL/TMAP BE LIABLE FOR ANY SPECIAL,
+*  INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
+*  RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF
+*  CONTRACT, NEGLIGENCE OR OTHER TORTUOUS ACTION, ARISING OUT OF OR IN
+*  CONNECTION WITH THE ACCESS, USE OR PERFORMANCE OF THIS SOFTWARE. 
+*
+* 3/2017 ACM completing the set of TRANSPOSE functions
+* 
+
+
+
+      SUBROUTINE transpose_zf_init(id)
+
+      IMPLICIT NONE
+      INCLUDE 'EF_Util.cmn'
+
+      INTEGER id, arg
+
+      CALL ef_set_desc(id, 'transposes Z and F axes of given variable')
+      CALL ef_set_num_args(id, 1)
+      CALL ef_set_axis_inheritance_6d(id,
+     .                                IMPLIED_BY_ARGS, IMPLIED_BY_ARGS,
+     .                                ABSTRACT,        IMPLIED_BY_ARGS, 
+     .                                IMPLIED_BY_ARGS, ABSTRACT)
+      CALL ef_set_piecemeal_ok_6d(id, NO, NO, NO, NO, NO, NO)
+
+      arg = 1
+      CALL ef_set_arg_name(id, arg, 'VAR')
+      CALL ef_set_arg_desc(id, arg, 'variable to transpose in Z and F')
+      CALL ef_set_axis_influence_6d(id, arg,
+     .                              YES, YES, NO, YES, YES, NO)
+
+      RETURN 
+      END
+
+
+      SUBROUTINE transpose_zf_result_limits(id)
+
+      IMPLICIT NONE
+      INCLUDE 'EF_Util.cmn'
+
+      INTEGER id
+
+      INTEGER arg_lo_ss(6,EF_MAX_ARGS),
+     .        arg_hi_ss(6,EF_MAX_ARGS),
+     .        arg_incr (6,EF_MAX_ARGS)
+      INTEGER lo_z, hi_z, lo_f, hi_f, nz, nf
+
+*     Set the ABSTRACT Z and F axes.
+
+      CALL ef_get_arg_subscripts_6d(id, arg_lo_ss, arg_hi_ss, arg_incr)
+
+      nz = arg_hi_ss(Z_AXIS, ARG1) - arg_lo_ss(Z_AXIS, ARG1) + 1
+      nf = arg_hi_ss(F_AXIS, ARG1) - arg_lo_ss(F_AXIS, ARG1) + 1
+
+*     The below has the effect of translating any sub-matrix so that
+*     the indices will always begin at 1 as expected for an abstract axis.
+
+      lo_z = 1
+      hi_z = nf
+      lo_f = 1
+      hi_f = nz
+
+      CALL ef_set_axis_limits(id, Z_AXIS, lo_z, hi_z)
+      CALL ef_set_axis_limits(id, F_AXIS, lo_f, hi_f)
+
+      RETURN 
+
+      END
+
+
+*
+* In this subroutine we compute the result
+*
+      SUBROUTINE transpose_zf_compute(id, arg_1, result)
+
+      IMPLICIT NONE
+      INCLUDE 'EF_Util.cmn'
+      INCLUDE 'EF_mem_subsc.cmn'
+
+      INTEGER id
+
+      REAL arg_1(mem1lox:mem1hix, mem1loy:mem1hiy, mem1loz:mem1hiz, 
+     .           mem1lot:mem1hit, mem1loe:mem1hie, mem1lof:mem1hif)
+
+      REAL result(memreslox:memreshix, memresloy:memreshiy, 
+     .            memresloz:memreshiz, memreslot:memreshit,
+     .            memresloe:memreshie, memreslof:memreshif)
+
+* After initialization, the 'res_' arrays contain indexing information 
+* for the result axes.  The 'arg_' arrays will contain the indexing 
+* information for each variable''s axes. 
+
+      INTEGER res_lo_ss(6),
+     .        res_hi_ss(6),
+     .        res_incr (6)
+      INTEGER arg_lo_ss(6,EF_MAX_ARGS),
+     .        arg_hi_ss(6,EF_MAX_ARGS),
+     .        arg_incr (6,EF_MAX_ARGS)
+
+      REAL bad_flag(EF_MAX_ARGS), bad_flag_result
+
+      INTEGER i, j, k, l, m, n
+      INTEGER i1, j1, k1, l1, m1, n1
+      CHARACTER*100 errtxt
+
+      CALL ef_get_res_subscripts_6d(id, res_lo_ss, res_hi_ss, res_incr)
+      CALL ef_get_arg_subscripts_6d(id, arg_lo_ss, arg_hi_ss, arg_incr)
+      CALL ef_get_bad_flags(id, bad_flag, bad_flag_result)
+
+* check to make sure both axis have points to transpose
+      IF ( (arg_lo_ss(Z_AXIS, ARG1) .EQ. ef_unspecified_int4) .OR. 
+     .     (arg_hi_ss(Z_AXIS, ARG1) .EQ. ef_unspecified_int4) ) THEN
+         WRITE(errtxt,*) 'Z axis cannot be a normal axis'
+         GOTO 999
+      ENDIF
+      IF ( (arg_lo_ss(F_AXIS, ARG1) .EQ. ef_unspecified_int4) .OR. 
+     .     (arg_hi_ss(F_AXIS, ARG1) .EQ. ef_unspecified_int4) ) THEN
+         WRITE(errtxt,*) 'F axis cannot be a normal axis'
+         GOTO 999
+      ENDIF
+
+      n1 = arg_lo_ss(F_AXIS, ARG1)
+      DO 600 k = res_lo_ss(Z_AXIS), res_hi_ss(Z_AXIS)
+
+      m1 = arg_lo_ss(E_AXIS, ARG1)
+      DO 500 m = res_lo_ss(E_AXIS), res_hi_ss(E_AXIS)
+
+      l1 = arg_lo_ss(T_AXIS, ARG1)
+      DO 400 l = res_lo_ss(T_AXIS), res_hi_ss(T_AXIS)
+
+      k1 = arg_lo_ss(Z_AXIS, ARG1)
+      DO 300 n = res_lo_ss(F_AXIS), res_hi_ss(F_AXIS)
+
+      j1 = arg_lo_ss(Y_AXIS, ARG1)
+      DO 200 j = res_lo_ss(Y_AXIS), res_hi_ss(Y_AXIS)
+
+      i1 = arg_lo_ss(X_AXIS, ARG1)
+      DO 100 i = res_lo_ss(X_AXIS), res_hi_ss(X_AXIS)
+
+         IF ( arg_1(i1,j1,k1,l1,m1,n1) .NE. bad_flag(ARG1) ) THEN
+            result(i,j,k,l,m,n) = arg_1(i1,j1,k1,l1,m1,n1)
+         ELSE
+            result(i,j,k,l,m,n) = bad_flag_result
+         ENDIF
+
+         i1 = i1 + arg_incr(X_AXIS, ARG1)
+ 100  CONTINUE
+
+         j1 = j1 + arg_incr(Y_AXIS, ARG1)
+ 200  CONTINUE
+
+         k1 = k1 + arg_incr(Z_AXIS, ARG1)
+ 300  CONTINUE
+
+         l1 = l1 + arg_incr(T_AXIS, ARG1)
+ 400  CONTINUE
+
+         m1 = m1 + arg_incr(E_AXIS, ARG1)
+ 500  CONTINUE
+
+         n1 = n1 + arg_incr(F_AXIS, ARG1)
+ 600  CONTINUE
+
+      RETURN 
+
+ 999  CALL EF_BAIL_OUT(id, errtxt)
+
+      RETURN 
+      END
diff --git a/fer/efi/transpose_zt.F b/fer/efi/transpose_zt.F
index 830593d..ead87ea 100644
--- a/fer/efi/transpose_zt.F
+++ b/fer/efi/transpose_zt.F
@@ -1,50 +1,40 @@
 *
 * transpose_zt.F
-*
 * 
+*  This software was developed by the Thermal Modeling and Analysis
+*  Project(TMAP) of the National Oceanographic and Atmospheric
+*  Administration's (NOAA) Pacific Marine Environmental Lab(PMEL),
+*  hereafter referred to as NOAA/PMEL/TMAP.
+*
+*  Access and use of this software shall impose the following
+*  obligations and understandings on the user. The user is granted the
+*  right, without any fee or cost, to use, copy, modify, alter, enhance
+*  and distribute this software, and any derivative works thereof, and
+*  its supporting documentation for any purpose whatsoever, provided
+*  that this entire notice appears in all copies of the software,
+*  derivative works and supporting documentation.  Further, the user
+*  agrees to credit NOAA/PMEL/TMAP in any publications that result from
+*  the use of this software or in any product that includes this
+*  software. The names TMAP, NOAA and/or PMEL, however, may not be used
+*  in any advertising or publicity to endorse or promote any products
+*  or commercial entity unless specific written permission is obtained
+*  from NOAA/PMEL/TMAP. The user also understands that NOAA/PMEL/TMAP
+*  is not obligated to provide the user with any support, consulting,
+*  training or assistance of any kind with regard to the use, operation
+*  and performance of this software nor to provide the user with any
+*  updates, revisions, new versions or "bug fixes".
+*
+*  THIS SOFTWARE IS PROVIDED BY NOAA/PMEL/TMAP "AS IS" AND ANY EXPRESS
+*  OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+*  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+*  ARE DISCLAIMED. IN NO EVENT SHALL NOAA/PMEL/TMAP BE LIABLE FOR ANY SPECIAL,
+*  INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
+*  RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF
+*  CONTRACT, NEGLIGENCE OR OTHER TORTUOUS ACTION, ARISING OUT OF OR IN
+*  CONNECTION WITH THE ACCESS, USE OR PERFORMANCE OF THIS SOFTWARE. 
+*
+* 3/2017 ACM completing the set of TRANSPOSE functions
 * 
-*
-* This function sets the second argument to be equal
-* to the first one with the Z and T axes switched.
-*
-
-
-*
-* In this subroutine we provide information about
-* the function.  The user configurable information 
-* consists of the following:
-*
-* descr              Text description of the function
-*
-* num_args           Required number of arguments
-*
-* axis_inheritance   Type of axis for the result
-*                       ( CUSTOM, IMPLIED_BY_ARGS, NORMAL, ABSTRACT )
-*                       CUSTOM          - user defined axis
-*                       IMPLIED_BY_ARGS - same axis as the incoming argument
-*                       NORMAL          - the result is normal to this axis
-*                       ABSTRACT        - an axis which only has index values
-*
-* piecemeal_ok       For memory optimization:
-*                       axes where calculation may be performed piecemeal
-*                       ( YES, NO )
-* 
-*
-* For each argument we provide the following information:
-*
-* name               Text name for an argument
-*
-* unit               Text units for an argument
-*
-* desc               Text description of an argument
-*
-* axis_influence     Are this argument''s axes the same as the result grid?
-*                       ( YES, NO )
-*
-* axis_extend       How much does Ferret need to extend arg limits relative to result 
-*
-
-
       SUBROUTINE transpose_zt_init(id)
 
       IMPLICIT NONE
@@ -52,11 +42,6 @@
 
       INTEGER id, arg
 
-* **********************************************************************
-*                                            USER CONFIGURABLE PORTION |
-*                                                                      |
-*                                                                      V
-
       CALL ef_set_desc(id, 'transposes Z and T axes of given variable')
       CALL ef_set_num_args(id, 1)
       CALL ef_set_axis_inheritance_6d(id,
@@ -71,11 +56,6 @@
       CALL ef_set_axis_influence_6d(id, arg,
      .                              YES, YES, NO, NO, YES, YES)
 
-*                                                                      ^
-*                                                                      |
-*                                            USER CONFIGURABLE PORTION |
-* **********************************************************************
-
       RETURN 
       END
 
@@ -87,17 +67,12 @@
 
       INTEGER id
 
-* **********************************************************************
-*                                           USER CONFIGURABLE PORTION |
-*                                                                     |
-*                                                                     V
-
       INTEGER arg_lo_ss(6,EF_MAX_ARGS),
      .        arg_hi_ss(6,EF_MAX_ARGS),
      .        arg_incr (6,EF_MAX_ARGS)
-      INTEGER my_lo_z, my_hi_z, my_lo_t, my_hi_t, nz, nt
+      INTEGER lo_z, hi_z, lo_t, hi_t, nz, nt
 
-*     Set the abstract Z and T axes.
+*     Set the ABSTRACT Z and T axes.
 
       CALL ef_get_arg_subscripts_6d(id, arg_lo_ss, arg_hi_ss, arg_incr)
 
@@ -107,18 +82,13 @@
 *     The below has the effect of translating any sub-matrix so that
 *     the indices will always begin at 1 as expected for an abstract axis.
 
-      my_lo_z = 1
-      my_hi_z = nt
-      my_lo_t = 1
-      my_hi_t = nz
+      lo_z = 1
+      hi_z = nt
+      lo_t = 1
+      hi_t = nz
 
-      CALL ef_set_axis_limits(id, Z_AXIS, my_lo_z, my_hi_z)
-      CALL ef_set_axis_limits(id, T_AXIS, my_lo_t, my_hi_t)
-
-*                                                                     ^
-*                                                                     |
-*                                           USER CONFIGURABLE PORTION |
-* **********************************************************************
+      CALL ef_set_axis_limits(id, Z_AXIS, lo_z, hi_z)
+      CALL ef_set_axis_limits(id, T_AXIS, lo_t, hi_t)
 
       RETURN 
 
@@ -156,11 +126,6 @@
 
       REAL bad_flag(EF_MAX_ARGS), bad_flag_result
 
-* **********************************************************************
-*                                            USER CONFIGURABLE PORTION |
-*                                                                      |
-*                                                                      V
-
       INTEGER i, j, k, l, m, n
       INTEGER i1, j1, k1, l1, m1, n1
       CHARACTER*100 errtxt
@@ -227,10 +192,5 @@
 
  999  CALL EF_BAIL_OUT(id, errtxt)
 
-*                                                                      ^
-*                                                                      |
-*                                            USER CONFIGURABLE PORTION |
-* **********************************************************************
-
       RETURN 
       END
diff --git a/fer/efi/unique_str2int.F b/fer/efi/unique_str2int.F
index 81acc90..e8b61c7 100644
--- a/fer/efi/unique_str2int.F
+++ b/fer/efi/unique_str2int.F
@@ -59,7 +59,7 @@
       CHARACTER*100 descrip
 
       WRITE (descrip, 100)
-  100 FORMAT ('Returns an ID number for each unique string',
+  100 FORMAT ('Returns an ID number for each unique string ',
      .        'in the input array of strings (case sensitive)')
       CALL ef_set_desc(id, descrip)
 
diff --git a/fer/efi/ycat.F b/fer/efi/ycat.F
index cd415b9..6ad9a68 100644
--- a/fer/efi/ycat.F
+++ b/fer/efi/ycat.F
@@ -199,7 +199,7 @@
          i = res_lo_ss(X_AXIS)
          DO 100 i1 = arg_lo_ss(X_AXIS,ARG1), arg_hi_ss(X_AXIS,ARG1)
 
-            IF ( arg_1(i1,j1,k1,l1,m1,n2) .EQ. bad_flag(ARG1) ) THEN
+            IF ( arg_1(i1,j1,k1,l1,m1,n1) .EQ. bad_flag(ARG1) ) THEN
                result(i,j,k,l,m,n) = bad_flag_result
             ELSE
                result(i,j,k,l,m,n) = arg_1(i1,j1,k1,l1,m1,n1)
diff --git a/fer/efn/SOURCE_FILES b/fer/efn/SOURCE_FILES
index 8c7138e..611da54 100644
--- a/fer/efn/SOURCE_FILES
+++ b/fer/efn/SOURCE_FILES
@@ -1,5 +1,5 @@
 SRCS_F = \
 efcn_copy_array_dims.F\
 efcn_get_custom_axis.F\
-efcn_get_workspace_addr.F \
+efcn_rqst_mr_ptrs.F\
 efcn_set_work_array_dims.F
diff --git a/fer/efn/efcn_get_workspace_addr.F b/fer/efn/efcn_get_workspace_addr.F
deleted file mode 100644
index 0d7bd5a..0000000
--- a/fer/efn/efcn_get_workspace_addr.F
+++ /dev/null
@@ -1,29 +0,0 @@
-c     
-c     efcn_get_workspace_addr.F
-c     
-c     Jonathan Callahan
-c     September 1998
-c     
-
-c     
-c     This subroutine is called by efcn_compute_ inside EF_ExternalUtil.c. 
-c     When workspace is requested by an external function it is created 
-c     inside of efcn_compute_ but efcn_compute_ doesn't know how to access
-c     variuos Ferret common areas.  (And I don't want to bother with
-c     the C/Fortran column major/row major stuff).  This subroutine accesses
-c     the common areas and passes back the appropriate address to efcn_compute_.
-c     
-
-      SUBROUTINE EFCN_GET_WORKSPACE_ADDR(memory, work_blk, workspace)
-
-      INCLUDE 'tmap_dims.parm'
-      INCLUDE 'ferret.parm'
-      INCLUDE 'xvariables.cmn'
-
-      INTEGER work_blk
-      REAL memory( mem_blk_size, max_mem_blks ), workspace
-
-      workspace = memory(work_blk, 1)
-
-      RETURN 
-      END
diff --git a/fer/efn/efcn_rqst_mr_ptrs.F b/fer/efn/efcn_rqst_mr_ptrs.F
new file mode 100644
index 0000000..a4b6a35
--- /dev/null
+++ b/fer/efn/efcn_rqst_mr_ptrs.F
@@ -0,0 +1,37 @@
+c     
+c     efcn_rqst_mr_ptrs.F
+c     
+c     Steve hankin
+c     19 Jan., 2017
+c     
+
+c     
+c     This subroutine is called by efcn_compute_ inside EF_ExternalUtil.c. 
+c     It passes the c pointers for the function arguments and result 
+c     from their storage in FORTRAN90 pointers back to c
+
+        SUBROUTINE EFCN_RQST_MR_PTRS(nargs, mr_list, mr_res)
+
+        IMPLICIT NONE
+        include 'tmap_dims.parm'
+	include 'ferret.parm'
+	include 'errmsg.parm'
+	include 'xvariables.cmn'
+	include 'xcontext.cmn'
+
+* calling argument declarations:
+	INTEGER	nargs, mr_list(nargs), mr_res
+
+* internal variable declarations
+        INTEGER i
+
+* pass the arg pointers to c
+        DO i = 1, nargs
+           CALL EFCN_PASS_ARG_PTR(i, memry(mr_list(i))%ptr )
+        ENDDO
+
+* pass the result pointer to c
+        CALL EFCN_PASS_RES_PTR(memry(mr_res)%ptr)
+
+        RETURN 
+        END
diff --git a/fer/fmt/SOURCE_FILES b/fer/fmt/SOURCE_FILES
index c58cc63..72c88ac 100644
--- a/fer/fmt/SOURCE_FILES
+++ b/fer/fmt/SOURCE_FILES
@@ -15,6 +15,7 @@ full_uvar_name_xml.F\
 full_var_title.F\
 var_title_only.F\
 geog_label.F\
+geog_label_vs.F\
 get_dset_name.F\
 get_dset_title.F\
 get_prec_digits.F\
@@ -25,6 +26,7 @@ get_sig_digits.F\
 get_user_offset.F\
 get_user_scale.F\
 lefint.F\
+lefint8.F\
 left_just.F\
 left_real.F\
 lohi_string.F\
@@ -38,4 +40,4 @@ var_data_fmt.F\
 var_title.F\
 var_title_mod.F\
 var_trans.F\
-var_units.F 
+var_units.F
diff --git a/fer/fmt/full_uvar_name.F b/fer/fmt/full_uvar_name.F
index 170b8e5..3dce61a 100644
--- a/fer/fmt/full_uvar_name.F
+++ b/fer/fmt/full_uvar_name.F
@@ -48,16 +48,15 @@
 *                  using original upper/lowercase spelling
 * V698  2/16 *acm* For ticket 2352: variables defined with LET/D are
 *                  added to that dataset in the attribute structure
+* V720 *acm* 5/17 Implement specific calls in place of CD_GET_VAR_INFO
 
 * calling argument declarations:
 	INTEGER	uvar
 
 * local variable declarations:
-	
-	LOGICAL coordvar
+
 	INTEGER TM_LENSTR1, len, len2
-	INTEGER dset, varid, vtype, nvdims, outflag, vdims(8), 
-     .		nvatts, status
+	INTEGER dset, varid, status
 
 	include 'tmap_dims.parm'
 	include 'xdset_info.cmn_text'
@@ -81,8 +80,7 @@
 	      CALL CD_GET_VAR_ID (dset, uvar_name_code(uvar), varid, status)
 	   ENDIF
 	   IF (status .EQ. ferr_ok) 
-     .      CALL CD_GET_VAR_INFO (dset, varid, FULL_UVAR_NAME, vtype, 
-     .            nvdims, vdims, nvatts, coordvar, outflag, status)
+     .      CALL CD_GET_ID_VARNAME (dset, varid, FULL_UVAR_NAME, status)
 	ENDIF
 
 	IF (uvar_dset(uvar) .GT. pdset_irrelevant) THEN
diff --git a/fer/fmt/full_uvar_name_xml.F b/fer/fmt/full_uvar_name_xml.F
index a0b64f6..08c3cc2 100644
--- a/fer/fmt/full_uvar_name_xml.F
+++ b/fer/fmt/full_uvar_name_xml.F
@@ -45,16 +45,15 @@
 * V 6.66
 * V698 2/16 *acm*  For ticket 1786: if mode_upcase is canceled write axis name
 *                  using original upper/lowercase spelling
+* V720 *acm* 5/17 Implement specific calls in place of CD_GET_VAR_INFO
 
 
 * calling argument declarations:
 	INTEGER	uvar
 
 * local variable declarations:
-	LOGICAL coordvar
 	INTEGER TM_LENSTR1, len, len2
-	INTEGER dset, varid, vtype, nvdims, outflag, vdims(8), 
-     .		nvatts, status
+	INTEGER dset, varid, status
 
 	include 'tmap_dims.parm'
 	include 'xdset_info.cmn_text'
@@ -74,8 +73,8 @@
 	   dset = pdset_uvars
 	   CALL CD_GET_VAR_ID (dset, uvar_name_code(uvar), varid, status)
 	   IF (status .EQ. ferr_ok) 
-     .      CALL CD_GET_VAR_INFO (dset, varid, FULL_UVAR_NAME_XML, vtype, 
-     .            nvdims, vdims, nvatts, coordvar, outflag, status)
+     .      CALL CD_GET_ID_VARNAME (dset, varid, FULL_UVAR_NAME_XML, status)
+
 	ENDIF
 
 	IF (uvar_dset(uvar) .GT. pdset_irrelevant) THEN
diff --git a/fmt/src/tm_its_subspan_modulo.F b/fer/fmt/geog_label_vs.F
similarity index 61%
copy from fmt/src/tm_its_subspan_modulo.F
copy to fer/fmt/geog_label_vs.F
index 00caf76..a83fd5b 100644
--- a/fmt/src/tm_its_subspan_modulo.F
+++ b/fer/fmt/geog_label_vs.F
@@ -1,5 +1,6 @@
-	LOGICAL FUNCTION TM_ITS_SUBSPAN_MODULO (axis)
+	SUBROUTINE GEOG_LABEL_VS (buff, iunits, dir_dim, formatted_dim)
 
+*
 *  This software was developed by the Thermal Modeling and Analysis
 *  Project(TMAP) of the National Oceanographic and Atmospheric
 *  Administration's (NOAA) Pacific Marine Environmental Lab(PMEL),
@@ -32,40 +33,45 @@
 *  CONTRACT, NEGLIGENCE OR OTHER TORTUOUS ACTION, ARISING OUT OF OR IN
 *  CONNECTION WITH THE ACCESS, USE OR PERFORMANCE OF THIS SOFTWARE. 
 *
-*
-* Return TRUE if the indicated axis is both modulo and has a modulo length
-* that is less than (or not equal to) its full span
+* This routine checks the units and the setting for formatted lon/lat (time?) axes
+* If the formatting has been turned off, resets iunits and flag mod_vs_x.
 
-* V541 *sh* 2/02
-* V552 *acm*6/03  Too precise a test. When modulo_axlen is from a cdf file, 
-*                 it is single precision. When put into double prec, the last 
-*                 several digits have random stuff, so got a return of TRUE  
-*                 from this fcn when it wasnt.  Do single-precision comparison.
+* 3/2017 Ansley Manke
+* for ticket 2517, correct labeling of lon/lat axes for PLOT/VS plots, and turn off
+* lon/lat axis formatting according to MODE long_label and MODE latit_label
 
 	include 'tmap_dims.parm'
-	include	'xtm_grid.cmn_text'
+	include 'ferret.parm'
+	include 'xprog_state.cmn'
+
+	INTEGER iunits, dir_dim, formatted_dim
+	CHARACTER*(*) buff
+	
+
+	LOGICAL TM_HAS_STRING
+
+	formatted_dim = no_dim
 
-* calling argument declarations
-	INTEGER axis
+* The units code has been set by a call to TM_FMT which already checks 
+* whether the units string indicated degrees temperature.
 
-* internal variable declarations
-	REAL*8 TM_WW_AXLEN, TM_MODULO_AXLEN
-        LOGICAL TM_FPEQ
-        REAL wwlen, modlen
+* If the units are explicitly defined as degrees east or degrees north,
+* set the formatted_dim flag.
 
-	IF ( axis .LT. 0 .OR. axis .GT. line_ceiling ) THEN
-	   TM_ITS_SUBSPAN_MODULO = .FALSE.
-	ELSEIF ( line_modulo(axis) ) THEN
+	IF (iunits .EQ. 4) THEN
 
-cc           TM_ITS_SUBSPAN_MODULO = TM_WW_AXLEN    (axis)
-cc     .                        .NE. TM_MODULO_AXLEN(axis)
+	   IF (TM_HAS_STRING(buff, '_e') .OR. TM_HAS_STRING(buff, 'lon')) THEN
+	     IF (ax_fmt(x_dim)) formatted_dim = x_dim
+	     IF (.NOT. ax_fmt(x_dim)) iunits = 0
+	   ELSEIF (TM_HAS_STRING(buff, '_n') .OR. TM_HAS_STRING(buff, 'lat') ) THEN
+	     IF (ax_fmt(y_dim)) formatted_dim = y_dim
+	     IF (.NOT. ax_fmt(y_dim)) iunits = 0
+	   ELSE
 
-           wwlen = TM_WW_AXLEN(axis)
-           modlen = TM_MODULO_AXLEN(axis) 
-	   TM_ITS_SUBSPAN_MODULO = (.NOT. TM_FPEQ(wwlen, modlen) )
+* If the lon or lat label mode has been turned off, unset the units 
+	      IF (.NOT. ax_fmt(dir_dim)) iunits = 0
+	   ENDIF
 
-	ELSE 
-	   TM_ITS_SUBSPAN_MODULO = .FALSE.
 	ENDIF
 
 	RETURN
diff --git a/fer/stk/exit_dependency_mode.F b/fer/fmt/lefint8.F
similarity index 77%
copy from fer/stk/exit_dependency_mode.F
copy to fer/fmt/lefint8.F
index 465bb80..4badf46 100644
--- a/fer/stk/exit_dependency_mode.F
+++ b/fer/fmt/lefint8.F
@@ -1,4 +1,4 @@
-	SUBROUTINE EXIT_DEPENDENCy_MODE
+	CHARACTER*(*) FUNCTION LEFINT8( ival, llen )
 
 *
 *
@@ -35,20 +35,32 @@
 *  CONNECTION WITH THE ACCESS, USE OR PERFORMANCE OF THIS SOFTWARE. 
 *
 *
-* reset COMMON values that indicate the special mode used for assesing 
-* user variable dependency trees
+* This routine identical to LEFINT, except geared for INTEGER*8 input
 
 * programmer - steve hankin
 * NOAA/PMEL, Seattle, WA - Tropical Modeling and Analysis Program
-*
-* V685+ 11/13 *sh*  
 
-	include 'tmap_dims.parm'
-	include	'ferret.parm'
-	include 'xdependency_tree.cmn'
+* V702: *sh* 2/17 - needed for dynamic memory management
+
+* calling argument declarations:
+	INTEGER	llen
+	INTEGER*8 ival
+
+* internal variable declarations:
+	CHARACTER*20 buff20
+	INTEGER	     first
+
+* create right-justified string of up to 20 digits
+	WRITE ( buff20, '(I20)' ) ival
 
-	dependency_tree_mode = .FALSE.
-	CALL RELEASE_WORK_SPC
+* find left-most non-blank
+	DO 100 first = 1, 19
+	   IF ( buff20(first:first) .NE. ' ' ) GOTO 200
+ 100	CONTINUE
+	first = 20
 
-     	RETURN
+* insert left-justified string
+ 200	LEFINT8 = buff20(first:20)
+	llen   = 21 - first
+	RETURN
 	END
diff --git a/fer/gnl/SOURCE_FILES b/fer/gnl/SOURCE_FILES
index 1a68742..38876e3 100644
--- a/fer/gnl/SOURCE_FILES
+++ b/fer/gnl/SOURCE_FILES
@@ -27,7 +27,6 @@ define_ef_aggregate_grid.F\
 define_special_grids.F\
 define_t_agg_mc_dset.F\
 define_u_aggregate_var.F\
-delete_one_line.F\
 do_query.F\
 dollar_arg.F\
 dollar_command.F\
@@ -116,6 +115,7 @@ show_grid_string_xml.F\
 show_line.F\
 show_line_xml.F\
 show_line_coords.F\
+show_mem_usage_line.F\
 show_mem_vars.F\
 show_region.F\
 show_regrid_transforms.F\
@@ -130,6 +130,5 @@ turnoff_verify.F\
 var_stat.F\
 version_only.F\
 warn.F\
-warn_occasionally.F\
 write_dods_fmt.F \
 write_multi.F 
diff --git a/fer/gnl/cdf_list.F b/fer/gnl/cdf_list.F
index 210f909..455ee18 100644
--- a/fer/gnl/cdf_list.F
+++ b/fer/gnl/cdf_list.F
@@ -1,4 +1,4 @@
-	SUBROUTINE CDF_LIST ( memory, fname, append, crecdim, nvars,
+	SUBROUTINE CDF_LIST ( fname, append, crecdim, nvars,
      .			      mr_list, cx_list, title, enhead, mode,
      .			      clobber, edges_flag, do_bounds, 
      .			      keepax_flag, out_type, quiet, status )
@@ -131,8 +131,10 @@
 * V698  2/16 *acm* For ticket 2352: variables defined with LET/D are
 *                  added to that dataset in the attribute structure
 * V7   *acm*  6/12 Add Union aggregations: DEFINE DATA/AGG/U, ds_type 'UNI'
+* V702 1/17 *sh* for trac enhancement #2369 -- dynamic memory management 
 
-#include "netcdf.inc"
+        include 'netcdf.inc'
+#include "netcdf_declareUnderscore.inc"
         include 'tmap_errors.parm'
         include 'cd_lib.parm'
         include 'cdf_tmap.parm'
@@ -154,7 +156,6 @@
         LOGICAL         append, enhead, clobber, quiet
 	INTEGER		nvars, mr_list(nvars), cx_list(nvars), mode,
      .			edges_flag, keepax_flag, do_bounds, status
-	REAL		memory( mem_blk_size, max_mem_blks )
         CHARACTER*(*)   fname, title, out_type
         CHARACTER*1     crecdim
 
@@ -1190,16 +1191,19 @@
            IF (interrupted) CALL ERRMSG(ferr_interrupt,status,' ',*5800)
 
 * write the data for this variable
-
-           CALL CD_WRITE_VAR ( memory, cdfid, dset_num, varcode, grid, 
-     .                        write_lo, write_hi, memory(1,mr_blk1(mr)), 
+           CALL CD_WRITE_VAR (cdfid, dset_num, varcode, grid, 
+     .                        write_lo, write_hi, memry(mr)%ptr, 
      .                        edges_flag, do_bounds, mode_upcase_output, 
      .                        keepax_flag, status )
            IF ( status .NE. merr_ok ) GOTO 5800
  500	CONTINUE
 
 * close the file
-        CALL NCCLOS(cdfid, cdfstat)
+#ifdef usingDODSf2cUnderscore 
+        cdfstat = NF_CLOSE_(cdfid)
+#else
+        cdfstat = NF_CLOSE(cdfid)
+#endif
         IF ( cdfstat .NE. NF_NOERR ) CALL TM_ERRMSG
      .     ( cdfstat+pcdferr, status, 'CDF_LIST', unspecified_int4,
      .     no_varid, 'could not close CDF output file: ',
@@ -1242,7 +1246,11 @@
  5800   CALL ERRMSG ( ferr_TMAP_error, final_status, ' ', *5810 )
  5810	nready = ivar - 1
 	IF (.NOT.flushed) GOTO 400 ! yea ... a bit of spagetti code ... 
-	CALL NCCLOS(cdfid, cdfstat)
+#ifdef usingDODSf2cUnderscore 
+        cdfstat = NF_CLOSE_(cdfid)
+#else
+        cdfstat = NF_CLOSE(cdfid)
+#endif
  5990   RETURN
 	END
 
diff --git a/fer/gnl/cdf_list_global_atts.F b/fer/gnl/cdf_list_global_atts.F
index 85009d2..6643676 100644
--- a/fer/gnl/cdf_list_global_atts.F
+++ b/fer/gnl/cdf_list_global_atts.F
@@ -40,6 +40,7 @@
 * V600  4/06 *acm* - additional declarations found by Solaris compiler
 * V600  6/06 *acm* - additional declarations found by Solaris compiler
 *       *acm* 3/12 cleanup ifdefs and unnecessary include files
+* V720 *acm* 5/17 Implement specific calls in place of CD_GET_VAR_INFO
 
 #include "netcdf.inc"
         include 'cd_lib.parm'
@@ -50,10 +51,9 @@
         INTEGER dset, cdfid, status
         
 * internal variable declarations:
-        LOGICAL MATCH_NAME, NC_GET_ATTRIB, coordvar, do_warn, got_it
-        INTEGER TM_LENSTR1, varid, vartype, nvdims, vdims(8), nvatts, 
-     .          all_outflag, iatt, slen, attype, attlen, attoutflag,
-     .          bufflen
+        LOGICAL MATCH_NAME, NC_GET_ATTRIB, do_warn, got_it
+        INTEGER TM_LENSTR1, varid, nvatts, iatt, slen, attype, attlen, 
+     .          attoutflag, bufflen
 	REAL	vals(100)
         CHARACTER*128 varname, attname, aname
         CHARACTER*10240 buff
@@ -65,8 +65,8 @@
 * Get global attributes from dset and if they have been marked for output,
 * write to the file cdfid
 
-        CALL CD_GET_VAR_INFO (dset, varid, varname, vartype, nvdims, 
-     .            vdims, nvatts, coordvar, all_outflag, status) 
+        varname = '.'
+        CALL CD_GET_VAR_NATTS (dset, varid, varname, nvatts, status) 
 
         DO 80 iatt = 1, nvatts
            CALL CD_GET_VAR_ATT_NAME( dset, varid, iatt, attname, status)
diff --git a/fer/gnl/check_memory.F b/fer/gnl/check_memory.F
index 4928856..84e94cd 100644
--- a/fer/gnl/check_memory.F
+++ b/fer/gnl/check_memory.F
@@ -1,5 +1,3 @@
-
-
 	SUBROUTINE CHECK_MEMORY ( lun )
 
 *
@@ -57,6 +55,7 @@
 *               declaration line.
 * V510: 10/99 *sh* - make checks on 
 *       *acm* 3/12 cleanup ifdefs and unnecessary include files
+* V702 *sh* Added dynamic memory checks.  Removed old block-oriented stuff
 
 	include 'tmap_dims.parm'
 	include 'xtm_grid.cmn_text'
@@ -68,53 +67,28 @@
 	INTEGER	lun
 
 * internal variable declarations:
-	INTEGER	mv, mb, mvfree, mvused, mbfree, mbused, mbmax,
-     .		nmvlost, nmblost, n, pile, last, size, test_next,
-     .		navail, nperm, mbperm, ntemp, ndel, slen, nn
-	CHARACTER LEFINT*8, buff*40, b12*12
-	PARAMETER (b12 = '            ')    !kob 12/96
-* check available bulk memory
-	n      = 0	! number of contiguous regions
-	mbfree = 0	! number of free blocks
-	mbmax  = 0	! biggest contiguous region
-	mb = mblk_flink( 0 )
- 100	IF ( mb .NE. 0 ) THEN
-	   n      = n + 1
-	   size   = mblk_size( mb ) 
-	   mbmax  = MAX( mbmax, size )
-	   mbfree = mbfree + size
-* * * * integrity check * * * * * * * * * * * * * * * * * * * *
-* ... no gaps should exist between sized regions - both free and used are sized
-	   test_next = mb + size
-	   IF ( test_next .EQ. max_mem_blks + 1 ) THEN
-	      CONTINUE
-	   ELSEIF ( test_next .GT. max_mem_blks + 1 
-     .     .OR.     mblk_size(test_next) .EQ. unspecified_int4 ) THEN
-	      CALL WARN('***** improper region size: '//LEFINT(mb,slen) )
-	   ENDIF
-* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-	   mb = mblk_flink( mb )
-	   GOTO 100
-	ENDIF	   
+	INTEGER	mv, mvfree, mvused, 
+     .		nmvlost, pile, last, size, test_next,
+     .		navail, nperm, ntemp, ndel, slen, nn
+        INTEGER*8 mem_in_use
+	CHARACTER LEFINT*8, buff*40, b04*4
+	PARAMETER (b04 = '    ')
+
+
+* check Ferret variable memory allocations
+        mem_in_use = 0
+        DO mv = 1, max_mrs
+           mem_in_use = mem_in_use + mr_size(mv)
+        ENDDO
+* ... no valid ws_size() work memory in use when this routine is called
+        IF (mem_in_use .NE. total_mem) THEN
+	      CALL WARN('***** corrupted total mem size: '
+     .                  //LEFINT(mem_in_use,slen) )
+        ENDIF
 	CALL SPLIT_LIST( pttmode_explct, lun, 
-     .			 b12//'total memory table slots: '//
+     .			 b04//'Total table slots: '//
      .			 LEFINT(max_mr_avail,slen), 0 )
-	CALL SPLIT_LIST( pttmode_explct, lun,
-     .			 b12//'total memory blocks: '//
-     .			 LEFINT(max_mem_blks,slen), 0 )
-	CALL SPLIT_LIST( pttmode_explct, lun,
-     .			 b12//'memory block size: '//
-     .			 LEFINT( mem_blk_size,slen), 0 )
-	CALL SPLIT_LIST( pttmode_explct, lun,' ', 1 )		! <CR>
-	CALL SPLIT_LIST( pttmode_explct, lun,
-     .			 b12//'number of free memory blocks: '//
-     .			 LEFINT(mbfree,slen), 0 )
-	CALL SPLIT_LIST( pttmode_explct, lun,
-     .			 b12//'largest free region: '//
-     .			 LEFINT(mbmax,slen), 0 )
-	CALL SPLIT_LIST( pttmode_explct, lun,
-     .			 b12//'number of free regions: '//
-     .			 LEFINT(n,slen), 0 )
+
 
 * check slots in memory variable table
 * ... free table slots
@@ -133,25 +107,22 @@
 	   GOTO 200
 	ENDIF
 	CALL SPLIT_LIST( pttmode_explct, lun,
-     .			 b12//'free memory table slots: '//
+     .			 b04//'Free table slots: '//
      .			 LEFINT(mvfree,slen), 0 )
 
 * * * * integrity check * * * * * * * * * * * * * * * * * * * *
 * check all the variables in all the hash piles
 	mvused = 0
-	mbused = 0
 	DO 310 pile = 1, pmv_npiles
 	   last = -pile
 	   mv = mv_flink( last )	! base pointer for slots in this hash #
  300	   IF ( mv .GT. 0 ) THEN
 	      IF ( mr_protected(mv) .EQ. mr_deleted
      .	      .OR. mr_protected(mv) .EQ. mr_in_progress
-     .	      .OR. mr_nblks    (mv) .NE. mblk_size( mr_blk1(mv) )
      .	      .OR. mv_blink(mv) .NE. last ) 	CALL WARN
      .			('CORRUPTION! improperly cataloged: '
      .						//LEFINT(mv,slen) )
 	      mvused = mvused + 1
-	      mbused = mbused + mr_nblks(mv)
 	      last   = mv
 	      mv     = mv_flink(mv)
 	      GOTO 300
@@ -167,19 +138,17 @@
  350	IF ( mv .GT. 0 ) THEN
 	   IF ( mr_protected(mv) .EQ. mr_deleted
      .	   .OR. mr_protected(mv) .EQ. mr_in_progress
-     .	   .OR. mr_nblks    (mv) .NE. mblk_size( mr_blk1(mv) )
      .	   .OR. mv_blink(mv) .NE. last ) 	CALL WARN
      .			('CORRUPTION! uncached variable error: '
      .						//LEFINT(mv,slen) )
 	   nn = nn + 1
 	   mvused = mvused + 1
-	   mbused = mbused + mr_nblks(mv)
 	   last   = mv
 	   mv     = mv_flink(mv)
 	   GOTO 350
 	ENDIF
 	CALL SPLIT_LIST( pttmode_explct, lun,
-     .			 b12//'number of UN-CACHED variables: '//
+     .			 b04//'Un-cached variables: '//
      .			 LEFINT(nn,slen), 0 )
 
 * * * * integrity check * * * * * * * * * * * * * * * * * * * *
@@ -190,7 +159,6 @@
  360	IF ( mv .GT. 0 ) THEN
 	   nn = nn + 1
 	   mvused = mvused + 1
-	   mbused = mbused + mr_nblks(mv)
 	   last   = mv
 	   mv     = mv_flink(mv)
 	   GOTO 360
@@ -203,13 +171,9 @@
 * * * * integrity check * * * * * * * * * * * * * * * * * * * *
 * make sure no table slots or memory blocks have been lost
 	nmvlost = max_mr_avail - ( mvfree+mvused )
-	nmblost = max_mem_blks   - ( mbfree+mbused )
 	IF ( nmvlost .NE. 0 ) CALL WARN
      .			('CORRUPTION! lost table slots: '
      .						//LEFINT(nmvlost,slen) )
-	IF ( nmblost .NE. 0 ) CALL WARN
-     .			('CORRUPTION! lost memory blocks: '
-     .						//LEFINT(nmblost,slen) )
 
 * * * * integrity check * * * * * * * * * * * * * * * * * * * * *
 * variable deletion priority chain
@@ -224,12 +188,12 @@
 	ENDIF
 	ndel   = 0
 	nperm  = 0
-	mbperm = 0
 	ntemp  = 0
+        mem_in_use = 0
 	DO 410 mv = 1, max_mr_avail
 	   IF ( mr_protected(mv) .EQ. mr_perm_protected ) THEN
 	      nperm  = nperm  + 1
-	      mbperm = mbperm + mr_nblks(mv)
+              mem_in_use = mem_in_use + mr_size(mv)
 	   ELSEIF ( mr_protected(mv) .EQ. mr_deleted ) THEN
 	      ndel = ndel + 1
 	   ELSEIF ( mr_protected(mv) .EQ. mr_temporary ) THEN
@@ -238,18 +202,18 @@
  410	CONTINUE
 	IF ( nperm .GT. 0 ) THEN
 	   CALL SPLIT_LIST( pttmode_explct, lun,
-     .			 b12//'number of /PERMANENT variables: '//
+     .			 b04//'number of /PERMANENT variables: '//
      .			 LEFINT(nperm,slen), 0 )
 	   CALL SPLIT_LIST( pttmode_explct, lun,
-     .			 b12//'number of blocks used /PERM: '//
-     .			 LEFINT(mbperm,slen), 0 )
+     .			 b04//'memory used for /PERM: '//
+     .			 LEFINT(mem_in_use,slen), 0 )
 	ENDIF
 	nmvlost = max_mr_avail - (navail+nperm+ndel+ntemp)
 	IF ( nmvlost .NE. 0 ) CALL WARN
      .		( 'CORRUPTION! Protected vars unaccountable: '
      .				//LEFINT(nmvlost,slen) )
-	n = ndel - mvfree
-	IF ( n .NE. 0 ) CALL WARN
+	nn = ndel - mvfree
+	IF ( nn .NE. 0 ) CALL WARN
      .		( 'CORRUPTION! Deleted vars unaccountable: '
      .				//LEFINT(nmvlost,slen) )
 
diff --git a/fer/gnl/define_ef_aggregate_grid.F b/fer/gnl/define_ef_aggregate_grid.F
index 08fc404..6ec3cce 100644
--- a/fer/gnl/define_ef_aggregate_grid.F
+++ b/fer/gnl/define_ef_aggregate_grid.F
@@ -48,6 +48,7 @@
 * V710 *acm* 10/16 Ticket 2422: variables uvar_grid, uvar_data_type, uvar_aux_cat, 
 *                  uvar_aux_var to be replaced with calls to LIST routines in NCF_Util.c 
 * v71  12/16 *acm* Ticket 2158: working with true monthly time axes.
+* v72   6/17 *acm* Variable type in aggregations should match what is in the member files
 
       IMPLICIT NONE
         include 'tmap_errors.parm'
@@ -81,7 +82,7 @@
      .		gap_size, max_gap_size, l,
      .		axcalt, axlagf, gg, ipt1, ipte, fax,
      .		nv_dummy, igrid_dummy, vtype_dummy, num_indices,
-     .		ef_time2d_dset, ef_time2d_grid, iaxis
+     .		ef_time2d_dset, ef_time2d_grid, iaxis, fvartype
 	REAL*8  TDEST_WORLD, TM_WORLD_AX, fdelta
 
 * Getting info back from the attribute-handling structure
@@ -98,6 +99,12 @@
 	ef_ordered_time2d = .FALSE.
 	ef_time2d_dset = ds_var_setnum(fvar)
 
+* Get the file-variable type
+        slen = TM_LENSTR1(vname)
+	varid = 0
+        CALL CD_GET_VAR_TYPE (ef_time2d_dset, varid, vname(:slen), 
+     .                        fvartype, status)
+
 * the 2D time variable in an E-aggregation of F-aggregations has special needs
 * its grid should not have the agg axis 
 	IF (agg_dim .EQ. E_dim) THEN
@@ -173,11 +180,11 @@
 	   ds_grid_number(nv) = agg_grid
 	ENDIF
 
-* Type should be NCFLOAT or NCCHAR
+* Type should be what is in the original file
 	IF (ds_var_type(nv) .EQ. ptype_string) THEN
 	   type = NCCHAR
 	ELSE
-	   type = NCFLOAT
+	   type = fvartype
 	ENDIF
 
 * Hook the aggregated variable into the linked list structures
@@ -362,7 +369,7 @@
 * ... save the sequence number of this variable, so we can cache it later
 	   it2d = nv
 
-	   type = NCFLOAT
+	   type = NCDOUBLE
 	   nvars = nvars + 1
       
 	   CALL CD_ADD_VAR( agg_dset, tcoordname, nvars, 
diff --git a/fer/gnl/delete_one_line.F b/fer/gnl/delete_one_line.F
deleted file mode 100644
index 6546a8d..0000000
--- a/fer/gnl/delete_one_line.F
+++ /dev/null
@@ -1,92 +0,0 @@
-
-	SUBROUTINE DELETE_ONE_LINE (axis, status)
-	
-*
-*  This software was developed by the Thermal Modeling and Analysis
-*  Project(TMAP) of the National Oceanographic and Atmospheric
-*  Administration's (NOAA) Pacific Marine Environmental Lab(PMEL),
-*  hereafter referred to as NOAA/PMEL/TMAP.
-*
-*  Access and use of this software shall impose the following
-*  obligations and understandings on the user. The user is granted the
-*  right, without any fee or cost, to use, copy, modify, alter, enhance
-*  and distribute this software, and any derivative works thereof, and
-*  its supporting documentation for any purpose whatsoever, provided
-*  that this entire notice appears in all copies of the software,
-*  derivative works and supporting documentation.  Further, the user
-*  agrees to credit NOAA/PMEL/TMAP in any publications that result from
-*  the use of this software or in any product that includes this
-*  software. The names TMAP, NOAA and/or PMEL, however, may not be used
-*  in any advertising or publicity to endorse or promote any products
-*  or commercial entity unless specific written permission is obtained
-*  from NOAA/PMEL/TMAP. The user also understands that NOAA/PMEL/TMAP
-*  is not obligated to provide the user with any support, consulting,
-*  training or assistance of any kind with regard to the use, operation
-*  and performance of this software nor to provide the user with any
-*  updates, revisions, new versions or "bug fixes".
-*
-*  THIS SOFTWARE IS PROVIDED BY NOAA/PMEL/TMAP "AS IS" AND ANY EXPRESS
-*  OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-*  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-*  ARE DISCLAIMED. IN NO EVENT SHALL NOAA/PMEL/TMAP BE LIABLE FOR ANY SPECIAL,
-*  INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
-*  RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF
-*  CONTRACT, NEGLIGENCE OR OTHER TORTUOUS ACTION, ARISING OUT OF OR IN
-*  CONNECTION WITH THE ACCESS, USE OR PERFORMANCE OF THIS SOFTWARE. 
-*
-
-* Delete a single axis (from xeq_cancel)
-
-	include 'tmap_dims.parm'
-#	include "tmap_dset.parm"
-	include 'tmap_errors.parm'
-	include	'ferret.parm'
-	include 'errmsg.parm'
-        include 'xtm_grid.cmn_text'
-
-	INTEGER axis, slen, status
-	CHARACTER*10 TM_FMT, buff
-	REAL	raxis
-
-	INTEGER TM_GET_GRID_OF_LINE, TM_GET_LINENUM, 
-     .		grid, num_protected_axes
-
-	raxis = axis
-	buff = TM_FMT(raxis, 6, 10, slen)
-	num_protected_axes = TM_GET_LINENUM( 'EZ' )  ! top protected axis
-
-	IF ( axis .EQ. unspecified_int4 ) GOTO 6210
-	IF ( axis .LE. num_protected_axes ) GOTO 6212
-	line_keep_flag(axis) = .FALSE.  ! see tm_garb_col_grids.F
-	IF (line_use_cnt(axis) .LE. 0) THEN
-	   IF ( axis .LE. max_lines ) THEN
-	      IF ( axis .LE. max_lines ) THEN
-	         IF (.NOT. line_regular(axis))
-     .                CALL PACK_LINE_STORAGE(axis)
-	         line_name(axis) = char_init16
-	      ELSE
-	         CALL TM_DEALLO_DYN_LINE(axis)
-	      ENDIF
-	   ENDIF
-	ELSE
-*     ... cannot delete - in use.  Locate the grid that is using it.
-	   grid = TM_GET_GRID_OF_LINE( axis )
-	   CALL WARN( 'Not deleted: '//line_name(axis))
-	   IF ( grid .NE. unspecified_int4 ) THEN
-	      CALL WARN( 
-     .		'Axis is in use by grid '//grid_name(grid))
-	   ELSE
-	      CALL ERRMSG(ferr_internal, status,
-     .				'axis use count err', *5000)
-	   ENDIF
-	ENDIF
-
- 5000	CONTINUE
-	RETURN
-
- 6210	CALL ERRMSG( ferr_invalid_command, status, 'unknown axis: '//
-     .		     buff(:slen), *5000 )
- 6212	CALL ERRMSG( ferr_invalid_command, status, 'protected axis: '//
-     .		     buff(:slen), *5000 )
-
-	END
diff --git a/fer/gnl/edit_attribute.F b/fer/gnl/edit_attribute.F
index 3e47cfd..57abb28 100644
--- a/fer/gnl/edit_attribute.F
+++ b/fer/gnl/edit_attribute.F
@@ -1,5 +1,3 @@
-
-
       SUBROUTINE EDIT_ATTRIBUTE( grid_data, mr, varattname, dset, 
      .         attype_spec, att_quiet, status )
 
@@ -44,6 +42,7 @@
 * 3/2006 Allow commands equivalent to SET AXIS/modulo/depth/units etc.
 * V600  4/06 *acm* - additional declarations found by Solaris compiler
 * V64  10/09 *acm* longer string length for grid_name
+* V720 *acm* 5/17 Implement specific calls in place of CD_GET_VAR_INFO
 
 	include 'tmap_dims.parm'
 *TMAP_DSET.PARM
@@ -65,6 +64,7 @@
 * v687 *acm*  3/14 Fix ticket 2161: editing long_name or units of var in ascii files
 * V695 *acm*  2/15 For Forecast aggregations, call the ds_type 'FCT'
 * V7   *acm*  6/12 Add Union aggregations: DEFINE DATA/AGG/U, ds_type 'UNI'
+* V702 *sh*   1/17 For dynamic memory -- use PURGE_ALL_UVARS_EXCEPT_EX
 
 * codes for data sets
 	INTEGER		set_not_open,set_open,file_not_open
@@ -246,7 +246,7 @@
 
 * calling argument declarations:
 
-      LOGICAL att_quiet
+      LOGICAL CD_ISIT_COORDVAR, coordvar, att_quiet
       INTEGER mr, attype_spec, dset, status
       REAL grid_data(mr_lo_ss(mr,1):mr_hi_ss(mr,1),
      .               mr_lo_ss(mr,2):mr_hi_ss(mr,2),
@@ -259,11 +259,10 @@
 * local variable declarations: 
       
       LOGICAL TM_HAS_STRING, 
-     .        valid, do_err, coordvar, have_mods, ez, ncfile
+     .        valid, do_err, have_mods, ez, ncfile
       INTEGER MR_DIM_LEN, TM_LENSTR1, STR_SAME, varid, idim, ndims,
      .        attlen, attype, span, lo(nferdims), hi(nferdims), del(nferdims), slen, vlen, 
-     .        attlen_old, attype_old, attoutflag, vartype, nvdims,
-     .        nvatts, vdims(8), all_outflag, cat, var, tmap_status,
+     .        attlen_old, attype_old, attoutflag, cat, var, tmap_status,
      .        grid, mod_cx, attid
       REAL dummy, bad, scalefac, offset
       CHARACTER GET_STRING_ELEMENT*2048, TM_FMT*2048, attbuff*2048, 
@@ -309,9 +308,7 @@
      .              attname, varid, do_err, status )
       IF (status .NE. ferr_ok) GOTO 5400
 
-      CALL CD_GET_VAR_INFO (dset, varid, varname, vartype, nvdims, 
-     .            vdims, nvatts, coordvar, all_outflag, status)
-
+      coordvar = CD_ISIT_COORDVAR (dset, varid, varname, status)
       IF (coordvar) THEN
 
 * Do not allow user to change the direction of an axis.
@@ -472,10 +469,14 @@
 *	 mr_grid, units, etc.  They need to be deleted only if they were on 
 * 	 non-standard grids or units.  The UVAR's need to be purged only if
 *	 they depend on the FVAR being changed)
+
+* 1/17 use PURGE_ALL_UVARS_EXCEPT_EX instead of PURGE_ALL_UVARS because EX#n
+*      was passed to this routine.  With dynamic memory we must not free
+*      a memory pointer that was passed in as an argument
 	IF ( ez ) THEN
 	   IF ( have_mods ) THEN
 	      CALL PURGE_FILE_VAR( var ) ! remove memory-resident variables
-	      CALL PURGE_ALL_UVARS	 ! delete (possibly dependent) uvars
+	      CALL PURGE_ALL_UVARS_EXCEPT_EX !delete (possibly dependent) uvars
 	      CALL EZ_MOD_VARS( dset,var,varid,
      .			        newname,title,units,grid,bad,tmap_status )
 	      IF ( tmap_status .NE. merr_ok ) THEN
@@ -488,7 +489,7 @@
 
 	   IF ( bad  .NE. real4_init  ) THEN
 	      CALL PURGE_FILE_VAR( var ) ! remove memory-resident variables
-	      CALL PURGE_ALL_UVARS	 ! delete (possibly dependent) uvars
+	      CALL PURGE_ALL_UVARS_EXCEPT_EX !delete (possibly dependent) uvars
 	      ds_missing_flag(var) = ds_bad_flag(var)
 	      ds_bad_flag    (var) = bad
 	   ENDIF
@@ -498,13 +499,13 @@
 
            IF ((scalefac .NE. real4_init) .AND. ncfile) THEN
 	      CALL PURGE_FILE_VAR( var ) ! remove memory-resident variables
-	      CALL PURGE_ALL_UVARS	 ! delete (possibly dependent) uvars
+	      CALL PURGE_ALL_UVARS_EXCEPT_EX
               ds_var_scale(var) = scalefac
               ds_var_scaleit(var)       = .TRUE.
            ENDIF
            IF ((offset .NE. real4_init) .AND. ncfile) THEN
 	      CALL PURGE_FILE_VAR( var ) ! remove memory-resident variables
-	      CALL PURGE_ALL_UVARS	 ! delete (possibly dependent) uvars
+	      CALL PURGE_ALL_UVARS_EXCEPT_EX
               ds_var_off(var)   = offset
               ds_var_scaleit(var)       = .TRUE.
            ENDIF
@@ -514,7 +515,7 @@
 	   IF ( units .NE. char_init16 ) uvar_units( var )  = units
 	   IF ( title .NE. char_init80 ) uvar_title( var )  = title
 	   IF ( bad  .NE. real4_init  ) THEN
-	      CALL PURGE_ALL_UVARS	 ! delete invalidated uvars
+	      CALL PURGE_ALL_UVARS_EXCEPT_EX	 ! delete invalidated uvars
 	      uvar_bad_data(var) = bad
 	   ENDIF
 
diff --git a/fer/gnl/get_fer_command.F b/fer/gnl/get_fer_command.F
index 1af11ad..47e22ea 100644
--- a/fer/gnl/get_fer_command.F
+++ b/fer/gnl/get_fer_command.F
@@ -1,4 +1,4 @@
-	SUBROUTINE GET_FER_COMMAND( memory, called_string, status, * )
+	SUBROUTINE GET_FER_COMMAND(  called_string, status, * )
 
 *  This software was developed by the Thermal Modeling and Analysis
 *  Project(TMAP) of the National Oceanographic and Atmospheric
@@ -116,7 +116,6 @@
 
 * calling argument declarations:
 	INTEGER		status
-	REAL		memory(*)
 	CHARACTER*(*)	called_string
 
 * internal variable declarations:
@@ -391,7 +390,7 @@ c        IF(has_more.NE.1) goto 210
 
 *************** PARSE THE COMMAND LINE ***************************************
 * 1/14 the command string now has no continuations and no comments
-	CALL PARSE_COMMAND ( memory, cmnd_buff,
+	CALL PARSE_COMMAND (  cmnd_buff,
      .			     max_arg_list, max_qual_list,
      .			     len_cmnd, cmnd_num, subcmnd_num, 
      .			     num_qualifiers, qualifier_list,
diff --git a/fer/gnl/get_mode_arg.F b/fer/gnl/get_mode_arg.F
index 0f75980..1c3de7d 100644
--- a/fer/gnl/get_mode_arg.F
+++ b/fer/gnl/get_mode_arg.F
@@ -66,6 +66,7 @@
 *                    and allow for a floating-point input
 *       *acm* 3/12 6D Ferret (common uses nferdims in tmap_dims.parm)
 * V698  *acm* 5/16 Ticket 2405: MODE CALENDAR:auto
+* V702  *sh*  2/17 Added mode frugal
 
 	include 'tmap_dims.parm'
 	include	'ferret.parm'
@@ -89,6 +90,7 @@
 	IF ( text .EQ. ' ' ) THEN
 	   IF ( mode .EQ. pmode_verify ) arg = 1   ! reset to "DEFAULT"
            IF ( mode .EQ. pmode_stupid ) arg = 2   ! same as unspecified_int4
+!           IF ( mode .EQ. pmode_frugal ) arg = 30
 	   RETURN
 	ENDIF
 
@@ -165,6 +167,11 @@
 	   IF ( iarg.LT.1 .OR. iarg .GT. 250 ) GOTO 5020
 	   arg = iarg
 
+	ELSEIF ( mode .EQ. pmode_frugal ) THEN
+	   READ ( text, '(BN,I10)', ERR=5040 ) iarg
+	   IF ( iarg.LT.0 .OR. iarg.GT.90) GOTO 5040
+	   arg = iarg
+
         ELSE
 	   GOTO 5010	! mode does not accept argument
 	ENDIF
@@ -182,7 +189,7 @@
  5020   tlen = TM_LENSTR1(text)
         risc_buff = text(:tlen)
         CALL ERRMSG( ferr_out_of_range, status,
-     .   'illegal mode argument must be in [1,250] '//risc_buff, *5500 )
+     .   'illegal mode argument. Must be in [1,250] '//risc_buff, *5500 )
  5030   tlen = TM_LENSTR1(text)
         risc_buff = text(:tlen)
         CALL ERRMSG( ferr_out_of_range, status,
@@ -193,11 +200,14 @@
      .   'illegal mode argument < 6 '//text(:tlen), *5500 )
  5020   tlen = TM_LENSTR1(text)
         CALL ERRMSG( ferr_out_of_range, status,
-     .   'illegal mode argument must be in [1,250] '//text(:tlen), *5500 )
+     .   'illegal mode argument. Must be in [1,250] '//text(:tlen), *5500 )
  5030   tlen = TM_LENSTR1(text)
         CALL ERRMSG( ferr_out_of_range, status,
      .   'illegal mode argument > 1.e+9, ', *5500 )
 #endif
+ 5040   CALL ERRMSG( ferr_out_of_range, status,
+     .   'illegal mode argument. Must be 0 to 90 percent '
+     .          //text(:tlen), *5000 )
  5500   IF ( mode .EQ. pmode_verify ) CALL WARN(
      .          'Legal VERIFY arguments are DEFAULT, ALL, and ALWAYS')
         GOTO 5000
diff --git a/fer/gnl/init_ef_aggregate_dset.F b/fer/gnl/init_ef_aggregate_dset.F
index 8133a0a..f8bf618 100644
--- a/fer/gnl/init_ef_aggregate_dset.F
+++ b/fer/gnl/init_ef_aggregate_dset.F
@@ -120,8 +120,7 @@
 * local variable declarations:
 	LOGICAL	OK_AS_AGG_VAR, ITSA_TRUEMONTH_AXIS, match, has_uvars
 	INTEGER	TM_LENSTR, TM_LENSTR1, STR_SAME,
-     .		NCF_ADD_AGG_MEMBER, NCF_GET_AGG_MEMBER_INFO, 
-     .          KNOWN_GRID,
+     .		NCF_ADD_AGG_MEMBER, KNOWN_GRID,
      .		iset, dset1, item, ii, nT, max_str_len,
      .		perm(nferdims), member_sets(nsets+pmaxgaps),
      .		imatch, nv, grid, igrid, idim, ivar, nvars, nuvars, iline, 
diff --git a/fer/gnl/init_memory.F b/fer/gnl/init_memory.F
index fc14a21..d7a5b81 100644
--- a/fer/gnl/init_memory.F
+++ b/fer/gnl/init_memory.F
@@ -1,6 +1,4 @@
-
-
-	SUBROUTINE INIT_MEMORY( block_size, number_of_blocks )
+	SUBROUTINE INIT_MEMORY (vmem_size_arg)
 
 *
 *
@@ -54,7 +52,10 @@
 * V606: 8/07 *acm* Set a symbol with the current memory setting
 * V62   5/09 *acm*- make FERRET_MEMORY a special symbol (remove 
 *                 code defining it from this routine)
-* V702: 11/16 *sh* - perform initial sanity check
+* V702: 1/17 *sh* for trac enhancement #2369 -- dynamic memory management 
+*                - perform initial sanity check
+* V72 : 5/17 *acm* rmem_size comes in as-is; handle it as in xeq_set for a 
+*                  SET MEM/SIZ=
 
 	include 'tmap_dims.parm'
 	include 'xtm_grid.cmn_text'
@@ -64,27 +65,13 @@
 	include 'xprog_state.cmn'
 
 * calling argument declarations:
-	INTEGER block_size, number_of_blocks
+	REAL vmem_size_arg
 
 * internal variable declarations
-	INTEGER	bigblk, mv
-      INTEGER i1, i2, len
-      CHARACTER*30 TM_FMT, sym_name, buff
-
-* initialize memory configuration
-	mem_blk_size = block_size
-	max_mem_blks = number_of_blocks
-
-* BULK MEMORY
-* note: arrays mblk_* are initialized by DATA to unspecified
-* ... designate all the rest as 1 giant free contiguous block
-	bigblk = 1
-	mblk_flink(0) = bigblk
-	mblk_blink(0) = bigblk
-	mblk_size (0) = 0
-	mblk_flink(bigblk) = 0
-	mblk_blink(bigblk) = 0
-	mblk_size (bigblk) = max_mem_blks
+	INTEGER	bigblk, mv, ws
+        INTEGER i1, i2, len
+	INTEGER*8 i8_val
+        CHARACTER*30 TM_FMT, sym_name, buff
 
 * LINKS IN MEMORY VARIABLE TABLE
 * ... all hash pile start pointers point to self (empty lists)
@@ -103,7 +90,35 @@
 * the reason so small is that Ferret memory management is not aware of
 * large hierarchies of definitions -- so a command like "LIST var"
 * may involve far more data than the transformations of "var" alone
-	mode_arg(pmode_desperate,1) = 0.1 *  block_size *  number_of_blocks
+	mode_arg(pmode_desperate,1) = 0.1 *  pmax_mem_default
+
+* initialize malloced dynamic memory management variables  (2/2017)
+        DO mv = 1, max_mrs
+           CALL NULLIFY_MR(mv)
+           mr_size(mv) = 0
+        ENDDO
+        DO ws = 1, max_ws
+           CALL NULLIFY_WS(ws)
+           ws_size(ws) = 0
+        ENDDO
+
+* SET MEMORY limit default
+* -memsize command-line argument passed in, handle as in xeq_set
+
+	IF (vmem_size_arg .NE. 0.) THEN 
+	   i8_val = (vmem_size_arg*1.0000000001D0) * 1000000  ! int tuncation issues ...
+	   max_mem_allowed = i8_val 
+	ELSE
+	   max_mem_allowed = pmax_mem_default
+	ENDIF
+
+* accounting variables (see xvariables.cmn)
+        total_mem = 0
+        peak_mem = 0
+        peak_essential_mem = 0
+	need_memlim_warning = .TRUE.
+	permanent_mem = 0
+	essential_mem = 0
 
 * sanity check
 #ifndef NDEBUG
diff --git a/fer/gnl/init_u_aggregate_dset.F b/fer/gnl/init_u_aggregate_dset.F
index 0a0018e..0ca8301 100644
--- a/fer/gnl/init_u_aggregate_dset.F
+++ b/fer/gnl/init_u_aggregate_dset.F
@@ -58,6 +58,9 @@
 * NOAA/PMEL, Seattle, WA - SDIG
 *
 * V7   5/12 *acm* Union aggregations: DEFINE DATA/AGG/U
+* V7.2 5/17 *acm* Ticket 2526 For SHOW DATA/MEMBERS of Union datasets need to 
+*                 have called NCF_ADD_AGG_MEMBERto list the dataset members in 
+*                 the linked-list structure for the union dataset
 
 * arguments:
 *	memb_dsetname_var - if have_expr, the variable of names (input)
@@ -101,7 +104,7 @@
 
 * local variable declarations:
 	LOGICAL match, itsa_uvar
-	INTEGER	TM_LENSTR1, STR_SAME,
+	INTEGER	TM_LENSTR1, STR_SAME, NCF_ADD_AGG_MEMBER,
      .		iset, dset1, item, ii, max_str_len,member_sets(nsets), 
      .		nv, nvars, iline, slen, jlen, un_vars(pmaxvarsperset),
      .		num_indices, j, member, ignored_status
@@ -280,6 +283,12 @@
 
 	IF (nvars .EQ. 0) GOTO 5500
 
+
+* register member datasets to aggregate dataset
+	DO iset = 1, nsets
+	   status = NCF_ADD_AGG_MEMBER (agg_dset, iset, member_sets(iset)) 
+	ENDDO
+
 * If user requested /HIDE, then mark the member datasets for hidden status
 	IF (agg_hide) THEN
  	   DO iset = 1, nsets
diff --git a/fer/gnl/line_facts.F b/fer/gnl/line_facts.F
index c3191c4..40c4cdd 100644
--- a/fer/gnl/line_facts.F
+++ b/fer/gnl/line_facts.F
@@ -64,6 +64,7 @@
 * V698 2/16 *acm*  For ticket 1786: if mode_upcase is canceled write axis name
 *                  using original upper/lowercase spelling
 * V71 12/16 *acm* For ticket 2158: working with true monthly time axes.
+* V72  3/17 *acm* Fix ticket 2518: The number of points reported in a subset was incorrect
 
 	include 'tmap_dims.parm'
 	include 'xtm_grid.cmn_text'
@@ -226,7 +227,7 @@
 	      IF (i1ss .EQ. inss) THEN
 	         uvar_desc = '1 pt'
 	      ELSE
-	         countstr = TM_FMT(FLOAT(inss-i1ss), 15, 20, slen)
+	         countstr = TM_FMT(FLOAT(inss-i1ss+1), 15, 20, slen)
 	         uvar_desc = countstr(:slen)//' pts'
 	      ENDIF
 	   ENDIF
diff --git a/fer/gnl/list_multi.F b/fer/gnl/list_multi.F
index 0f9ba7a..2ae8996 100644
--- a/fer/gnl/list_multi.F
+++ b/fer/gnl/list_multi.F
@@ -1,4 +1,4 @@
-	SUBROUTINE LIST_MULTI( memory, mr_list, cx_list,
+	SUBROUTINE LIST_MULTI(  mr_list, cx_list,
      .			       heading, perm, wsize, work, status )
 
 *
@@ -52,7 +52,7 @@
 * calling argument declarations:
 	LOGICAL	heading
 	INTEGER	mr_list(*), cx_list(*), perm(nferdims), wsize, status
-	REAL	memory(*), work(0:wsize)
+	REAL	work(0:wsize)
 	
 * internal variable declarations:
 	INTEGER ws
@@ -62,14 +62,14 @@
 *	work(0)	     is xact_range(nvar)
 *	work(ws)     is has_size(nferdims,nvar)
 *	work(7*ws)   is bad(nvar)
-*	work(8*ws)   is pt_blk(nvar)
+*	work(8*ws)   is pt_blk(nvar)   (not used after 2/12 changes)
 *	work(9*ws)   is size(nferdims,nvar)
 *	work(15*ws)  is msize(nvar)
 *	work(16*ws)  is width(nvar)
 *	work(17*ws)  is out(nvar)
 
 	ws = wsize / (2*nferdims+6)
-	CALL LIST_MULTI_SUB(memory,mr_list,cx_list,heading,perm, ws,
+	CALL LIST_MULTI_SUB(mr_list,cx_list,heading,perm, ws,
      .			work(0),     work(ws),   work(7*ws),
      .			work(8*ws),  work(9*ws), work(15*ws),
      .			work(16*ws), work(17*ws),
diff --git a/fer/gnl/list_multi_sub.F b/fer/gnl/list_multi_sub.F
index 9c4c49b..4cce2fb 100644
--- a/fer/gnl/list_multi_sub.F
+++ b/fer/gnl/list_multi_sub.F
@@ -1,4 +1,4 @@
-	SUBROUTINE LIST_MULTI_SUB(memory, mr_list,cx_list,heading,
+	SUBROUTINE LIST_MULTI_SUB( mr_list,cx_list,heading,
      .				  perm,ws,xact_range, has_size, bad,
      .				  pt_blk, size, msize, width, out,
      .				  status)
@@ -85,6 +85,7 @@
 *                    spreadsheets, so the user wants the missing flags in there.
 *       *acm* 3/12 Add E and F dimensions (use nferdims in tmap_dims.parm)
 * V691+ *acm* 9/14 Ticket 2199: for string variables don't list a BAD FLAG in the header.
+* V702: *sh*  2/17 Dynamic memory management (pt_blk no longer used)
 
 	include 'tmap_dims.parm'
 #	include "tmap_dset.parm"
@@ -111,7 +112,6 @@
 	LOGICAL	heading
 	INTEGER	mr_list(num_uvars_in_cmnd), cx_list(num_uvars_in_cmnd),
      .		perm(nferdims), ws, status
-	REAL	memory( mem_blk_size, max_mem_blks )
 * ... work arrays ...
 	LOGICAL		xact_range(ws), has_size(nferdims,ws)
 	INTEGER		pt_blk(ws), size(nferdims,ws), msize(ws), width(ws)
@@ -128,7 +128,7 @@
      .			w0, w, data_len, nleft, nright, alen, blen,
      .			idim, vlen, cleft, col_ax, col_dec,
      .			cx, slen1, slen2, slen3, i, 
-     .			ivar, point, word, block, iwd, iblk, dset, ax, new_ax,
+     .			ivar, point, iwd, dset, ax, new_ax,
      .			min_width, row_ww_wid, lp, prec_digits, ww,
      .			lo(nferdims), hi(nferdims), del(nferdims), 
      .			pt(nferdims), valid_ax(nferdims)
@@ -286,7 +286,6 @@
 	   cx = cx_list(ivar)
 	   vcode(ivar)  = VAR_CODE( cx_category(cx), cx_variable(cx) )
 	   bad(ivar)    = mr_bad_data(  mr_list(ivar) )
-	   pt_blk(ivar) = mr_blk1( mr_list(ivar) )	
  50	CONTINUE
 
 * * * * * * WRITE INTRODUCTORY LINES * * * * *
@@ -378,7 +377,7 @@
 * Note: cannot direct user format to GUI because records may be
 * arbitrarily long
  200	IF ( do_unform .OR. list_format_given ) THEN
-	   point = -1                    ! bug fix 4/93
+	   point = 0
 	   DO 300 i6 = lo6, hi6, del6
 	   DO 300 i5 = lo5, hi5, del5
 	   DO 300 i4 = lo4, hi4, del4
@@ -388,15 +387,13 @@
 	      IF ( interrupted ) RETURN
 * default memory pointer for full-region variables
 	      point = point + 1
-	      block = point / mem_blk_size
-	      word  = point - block*mem_blk_size
 
 * loop through all variables for each record
 	      DO 250 ivar = 1, num_uvars_in_cmnd
 	         IF (mr_type(mr_list(ivar)) .EQ. ptype_string) GOTO 5040
 * ... optimized calculation for full-region variables
 	         IF ( xact_range(ivar) ) THEN
-	            out(ivar) = memory( word+1, pt_blk(ivar)+block ) 
+	            out(ivar) = memry(mr_list(ivar))%ptr(point)
 	         ELSE
 * ... separate pointer calcs for non-full region variables
 * ... e.g. a 2D field listed with a 3D will replicate at each 3rd-D location
@@ -406,9 +403,7 @@
 	            iwd = iwd*size(i,ivar)
 		    IF ( has_size(i,ivar) ) iwd = iwd + (pt(i)-lo(i))
  240	            CONTINUE
-	            iblk = iwd / mem_blk_size
-	            iwd  = iwd - iblk*mem_blk_size
-	            out(ivar) = memory( iwd+1, pt_blk(ivar)+iblk ) 
+	            out(ivar) = memry(mr_list(ivar))%ptr(iwd+1)
 	         ENDIF
  250	      CONTINUE
 	      IF ( do_unform ) THEN
@@ -441,9 +436,9 @@
 	   IF ( mr_type(mr_list(ivar)) .EQ. ptype_string ) THEN
 	       nleft = GET_MAX_STRING_LEN(cx_list(ivar),
      .					  mr_list(ivar),
-     .					  memory(1,pt_blk(ivar)) )
+     .					  memry(mr_list(ivar))%ptr )
 	   ELSE 
-	      CALL MINMAX( memory(1,pt_blk(ivar)), msize(ivar),
+	      CALL MINMAX( memry(mr_list(ivar))%ptr, msize(ivar),
      .			   bad(ivar), small, big )
 	      all_bad = small .EQ. arbitrary_large_val4
 
@@ -538,7 +533,7 @@
 * If the /NOROWLAB qualifier was given, do not do the "coord/sub:" on each data line
 
  3050   FORMAT (1X,4('-'),1X,A)
-	point = -1                    ! bug fix 4/93
+	point = -1
 	DO 600 i6 = lo6, hi6, del6
 * label the block of block of blocks (6th dimension)
 	   risc_buff = ' '
@@ -608,8 +603,6 @@
 
 * default memory pointer for full-region variables
 	   point = point + 1
-	   block = point / mem_blk_size
-	   word  = point - block*mem_blk_size
 
 * loop through all variables for each record
            ww = w0 + 1
@@ -665,7 +658,7 @@
 * ... numerical variable
 * ... optimized calculation for full-region variables
 	        IF ( xact_range(ivar) ) THEN
-	           out(ivar) = memory( word+1, pt_blk(ivar)+block ) 
+	           out(ivar) = memry(mr_list(ivar))%ptr(point+1)
 	        ELSE
 * ... separate pointer calcs for non-full region variables
 * ... e.g. a 2D field listed with a 3D will replicate at each 3rd-D location
@@ -675,9 +668,7 @@
 	           iwd = iwd*size(i,ivar)
 	           IF ( has_size(i,ivar) ) iwd = iwd + (pt(i)-lo(i))
  540	           CONTINUE
-	           iblk = iwd / mem_blk_size
-	           iwd  = iwd - iblk*mem_blk_size
-	           out(ivar) = memory( iwd+1, pt_blk(ivar)+iblk ) 
+	           out(ivar) = memry(mr_list(ivar))%ptr(iwd+1)
 	        ENDIF
 	        IF ( out(ivar) .EQ. bad(ivar) ) THEN
                    IF (do_comma_del .OR. do_tab_del) THEN
diff --git a/fer/gnl/parse_command.F b/fer/gnl/parse_command.F
index 9642672..36900f6 100644
--- a/fer/gnl/parse_command.F
+++ b/fer/gnl/parse_command.F
@@ -1,4 +1,4 @@
-	SUBROUTINE PARSE_COMMAND ( memory, cmnd_buff,
+	SUBROUTINE PARSE_COMMAND (  cmnd_buff,
      .				   max_words, max_quals,
      .				   cmnd_len, cmnd_num, subcmnd_num,
      .				   num_quals, qualifier_list,
@@ -137,6 +137,7 @@
 *                  start of command on an error
 * V697  3/16 Ticket 2376: parsing backslash escapes within repeat loops.
 * V697  3/16  *acm* ticket 2356 scale back change for multiple slash at end of command
+* V73   7/17  *acm* ticket 2551 Report an error for unmatched parentheses in a REPEAT loop.
 
 * command, subcommand and qualifiers will be identified by number in
 *	 COMMON/XCOMMAND.  Arguments will be returned as positions in
@@ -161,7 +162,6 @@
 
 * declare calling arguments of SUBROUTINE
 	LOGICAL		reverify, arg1_quoted
-	REAL		memory(*)
 	CHARACTER*(*)	cmnd_buff
 	INTEGER		max_words,max_quals,cmnd_len,cmnd_num,subcmnd_num,
      .			num_quals,qualifier_list(max_quals),
@@ -942,6 +942,9 @@ cc  Allow zero-length null string in quotes
 	      ENDIF
  850	    CONTINUE
 *   ... no matching left paren ever found (probably a syntax error ...)
+*       It would be better to let the parsing of each command catch and report
+*       errors, but ticket 2551 shows a failure in that. Make it an error here.
+          GOTO 5080
 	  ENDIF
 	ENDIF
  890	CONTINUE
@@ -991,7 +994,7 @@ cc  Allow zero-length null string in quotes
 	      grave_end = cmnd_len
 	   ENDIF
            apply_cx = its_action_command(cmnd_num)
-	   CALL REPL_EXPRNS( memory, cmnd_buff, cmnd_len,
+	   CALL REPL_EXPRNS(  cmnd_buff, cmnd_len,
      .			     apply_cx, grave_start, grave_end,
      .                       grave_digits, subst, status  )
 	   IF ( status .NE. ferr_ok ) GOTO 5000	
@@ -1097,5 +1100,8 @@ cc  Allow zero-length null string in quotes
 
  5070	CALL ERRMSG
      .			( ferr_invalid_command, status, 'REPEAT what ?', *5000 )
+ 5080	CALL ERRMSG
+     .			( ferr_invalid_command, status, 
+     .		'Mismatched parentheses within REPEAT loop ', *5000 )
 	END
 
diff --git a/fer/gnl/redefine_ax_att.F b/fer/gnl/redefine_ax_att.F
index 90adcc4..e428821 100644
--- a/fer/gnl/redefine_ax_att.F
+++ b/fer/gnl/redefine_ax_att.F
@@ -49,6 +49,7 @@
 * V64  *acm*11/09 The ENDIF for name-is-an-axis-of-dset was in the wrong place:
 *                 check for changes in all the attribs.
 * V698  3/16 *acm* Remove unneeded xdset_parms.cmn
+* V720 *acm* 5/17 Implement specific calls in place of CD_GET_VAR_INFO
 
 	include 'tmap_dims.parm'
 #	include "tmap_dset.parm"
@@ -74,11 +75,10 @@
       
       INTEGER TM_LENSTR1, STR_SAME, 
      .        dset, varid, attlen, attype, attoutflag, 
-     .        vartype, nvdims, nvatts, vdims(8), all_outflag,
      .        attid, len, maxlen, status
       REAL dummy
       CHARACTER buff*128, varname*128, attbuff*10, attname*128, dir*4
-      LOGICAL	coordvar, do_warn, got_it
+      LOGICAL	CD_ISIT_COORDVAR, do_warn, got_it
 
       dummy = 0.
       do_warn = .FALSE.
@@ -101,10 +101,8 @@ c    user-defined axes. See if name exists as an axis name.
          IF (status .EQ. ferr_ok) THEN  ! name is an axis name in the dataset
 
 ! name is a variable; is it a coordinate variable of the dataset?
-
-            CALL CD_GET_VAR_INFO (dset, varid, name, vartype, 
-     .          nvdims, vdims, nvatts, coordvar, all_outflag, status) 
-            IF (.NOT. coordvar) goto 100
+ 
+            IF (.NOT. CD_ISIT_COORDVAR (dset, varid, name, status)) goto 100
 
 c ... If units attribute already exists, change it; otherwise add new
 c     If new units not defined, remove units attribute.
diff --git a/fer/gnl/repl_exprns.F b/fer/gnl/repl_exprns.F
index 88c4800..f1d30a4 100644
--- a/fer/gnl/repl_exprns.F
+++ b/fer/gnl/repl_exprns.F
@@ -1,4 +1,4 @@
-	SUBROUTINE REPL_EXPRNS( memory, cmnd, lencmnd, cmnd_num,
+	SUBROUTINE REPL_EXPRNS(  cmnd, lencmnd, cmnd_num,
      .				istart, max_check,
      .				digits, did_sub, status  )
 
@@ -119,8 +119,10 @@
 * v695 *acm* 5/16 Ticket 2389. When the user gives `var,prec=xx`, return the acutal number
 *                 of digits requested. Return exponential formats when that makes the
 *                 result shorter. Changes are only for positive values of ,prec=
-* v710 *acm* 9/16 Ticket 2469: For RETURN=shape, use the same logic as in SHOW GRID,
+* v701 *acm* 9/16 Ticket 2469: For RETURN=shape, use the same logic as in SHOW GRID,
 *                 for determining when a grid dimension is compressed by a transformation.
+* V702 1/17 *sh* for trac enhancement #2369 -- dynamic memory management 
+* V720 *acm* 5/17 Implement specific calls in place of CD_GET_VAR_INFO
 
 #include "netcdf.inc"
 	include 'tmap_dims.parm'
@@ -139,7 +141,6 @@
 * calling argument declarations:
 	LOGICAL	  did_sub, info_query, itsa_subsc, apply_cx
 	INTEGER	  cmnd_num, lencmnd, istart, max_check, digits, status
-	REAL	  memory( mem_blk_size, max_mem_blks )
 	CHARACTER cmnd*(*)
 
 * local parameter declarations 
@@ -156,8 +157,8 @@
      .		  str_len, lenbuff, iend, itmp, axis,
      .		  mr, cx, mr_temp, i, i1, i2, use_digits, true_end,
      .		  qual_end, brkt, idim, use_width, dset, varid, 
-     .            vartype, nvdims, vdims(8), nvatts, ist, ind,
-     .            attype, attlen, inxt, attoutflag,outflag, fertype, 
+     .            vartype, ist, ind,
+     .            attype, attlen, inxt, attoutflag, fertype, 
      .            attid, ieq, base_isp, base_cx, cat, var, uvar,  
      .            i1ss, inss, grid, ucode
 	REAL	  result, val
@@ -372,7 +373,7 @@
 *   given expression.
 	   IF (repl(1:4).EQ. 'STAT' .OR. repl(1:4) .EQ. 'ISRE') THEN
 	      get_ready = repl(1:4) .EQ. 'ISRE'
-	      CALL GET_DEPENDENCY_STATUS(memory, cmnd(istart:iend),
+	      CALL GET_DEPENDENCY_STATUS( cmnd(istart:iend),
      .					 repl, str_len, status) 
 	      CALL EXIT_DEPENDENCY_MODE
               IF (status.NE. ferr_ok) GOTO 5050
@@ -562,9 +563,8 @@
 	            CALL CD_GET_VAR_ID(dset, cmnd(istart:iend), varid, status)
 
 	            IF (status .EQ. ferr_ok)  
-     .                CALL CD_GET_VAR_INFO (dset, varid, cmnd(istart:iend), 
-     .                              vartype, nvdims, vdims, nvatts,
-     .                              coordvar, outflag, status )
+     .                CALL CD_GET_VAR_TYPE (dset, varid, cmnd(istart:iend), 
+     .                              vartype, status )
 
                     IF (vartype.EQ.0 ) GOTO 4000
 		    
@@ -718,7 +718,7 @@
 		    do_eval = (do_eval .OR. 
      .	                 CGRID_AXIS(idim, cx) .EQ. GET_ABSTRACT_LINE(idim) )
 	            IF ( do_eval .OR. has_uvar_gc .OR. is_uvar_const) THEN
-	               CALL EVAL_EXPR ( memory, cx_last,
+	               CALL EVAL_EXPR (  cx_last,
      .		                     cmnd(istart:iend), apply_cx, status )
 	               IF ( status .NE. ferr_ok ) GOTO 5000
 	               cx = is_cx(1)	! always comes back as the first context
@@ -731,7 +731,7 @@
 * nominal length of the abstract axis. This should not be a performance problem.
 
               CALL ISIT_CONST_ARR_VAR ( cx, const_arr_var, status )
-              IF (const_arr_var) CALL EVAL_EXPR ( memory, cx_last,
+              IF (const_arr_var) CALL EVAL_EXPR (  cx_last,
      .		                     cmnd(istart:iend), apply_cx, status )
 
 	   ENDIF
@@ -899,15 +899,14 @@
               CALL CD_GET_VAR_ID(dset, cmnd(istart:iend), varid, status)
 
               IF (status .EQ. ferr_ok)  
-     .          CALL CD_GET_VAR_INFO (dset, varid, cmnd(istart:iend), 
-     .                              vartype, nvdims, vdims, nvatts,
-     .                              coordvar, outflag, status )
+     .          CALL CD_GET_VAR_TYPE (dset, varid, cmnd(istart:iend), 
+     .                              vartype, status )
 
               IF (vartype.EQ.0 ) THEN  
 
 *  evaluate expr to get type and translate ferret type to netcdf
 
-	         CALL EVAL_EXPR ( memory, cx_last,
+	         CALL EVAL_EXPR (  cx_last,
      .		                     cmnd(istart:iend), apply_cx, status )
 	         IF ( status .NE. ferr_ok ) GOTO 5000
                  fertype = cx_type(cx)
@@ -1129,7 +1128,7 @@ c		    ENDIF
 	ELSE
 * single number answer desired
 * ... evaluate the expression
-	   CALL EVAL_EXPR ( memory, cx_last, cmnd(istart:iend), 
+	   CALL EVAL_EXPR (  cx_last, cmnd(istart:iend), 
      .        .TRUE., status )
 	   IF ( status .NE. ferr_ok ) GOTO 5000
 	   cx = is_cx(1)	! always comes back as the first context
@@ -1141,8 +1140,8 @@ c		    ENDIF
 * ... extract the result scalar from the (possibly larger) memory variable
 	   CALL CREATE_TEMP_MEM_VAR( cx, mr_temp, status )
 	   IF ( status .NE. ferr_ok ) RETURN
-	   CALL COPY_GRID( memory(1, mr_blk1(mr)     ), mr,
-     .                     memory(1, mr_blk1(mr_temp)), mr_temp )
+	   CALL COPY_GRID( memry(mr)%ptr, mr,
+     .                     memry(mr_temp)%ptr, mr_temp )
 
 	   IF (mr_type(mr_temp) .EQ. ptype_string ) THEN
 
@@ -1154,7 +1153,7 @@ c		    ENDIF
      .				mr_lo_s4(mr_temp), mr_hi_s4(mr_temp),
      .				mr_lo_s5(mr_temp), mr_hi_s5(mr_temp),
      .				mr_lo_s6(mr_temp), mr_hi_s6(mr_temp),
-     .				memory(1, mr_blk1(mr_temp)),
+     .				memry(mr_temp)%ptr,
      .				cx_lo_s1(cx), cx_lo_s2(cx),
      .				cx_lo_s3(cx), cx_lo_s4(cx),
      .				cx_lo_s5(cx), cx_lo_s6(cx),
@@ -1165,7 +1164,7 @@ c		    ENDIF
 *      Ticket 2389: TM_FMT_USER applies use_digits more strictly 
 *      than TM_FMT, returns results of exponentials more consistently. 
 
-	     result =  memory(1, mr_blk1(mr_temp))
+	     result =  memry(mr_temp)%ptr(1)
 	     IF ( result .EQ. mr_bad_data(mr) ) THEN
 	        repl = bad_str
 	        str_len = TM_LENSTR1(bad_str)
@@ -1219,7 +1218,7 @@ c		    ENDIF
 	RETURN
 
 * error exits
- 5050	CALL RELEASE_WORK_SPC
+ 5050	CALL RELEASE_DYN_WORK_SPACE
  5000   RETURN
  5100	risc_buff = cmnd(:lencmnd)
 	CALL ERRMSG( ferr_syntax, status,
diff --git a/fer/gnl/reset_ax_att.F b/fer/gnl/reset_ax_att.F
index f9bad38..f96bcca 100644
--- a/fer/gnl/reset_ax_att.F
+++ b/fer/gnl/reset_ax_att.F
@@ -43,6 +43,7 @@
 * V602  2/07 *acm* Fix bug 1492, changing attributes of coordinate variables 
 *                  Use pseudo-dataset of user-defined axes to keep track of attributes.
 * V698  3/16 *acm* Remove unneeded xdset_parms.cmn
+* V720 *acm* 5/17 Implement specific calls in place of CD_GET_VAR_INFO
 
 	include 'tmap_dims.parm'
 #	include "tmap_dset.parm"
@@ -67,12 +68,11 @@
 * local variable declarations: 
       
       INTEGER TM_LENSTR1, STR_SAME, 
-     .        dset, varid, attlen, attype, attoutflag, 
-     .        vartype, nvdims, nvatts, vdims(8), all_outflag,
+     .        dset, varid, attlen, attype, attoutflag,
      .        attid, len, maxlen, status
       REAL dummy
       CHARACTER buff*128, varname*128, attbuff*10, attname*128, dir*4
-      LOGICAL	coordvar, do_warn, got_it
+      LOGICAL	CD_ISIT_COORDVAR, do_warn, got_it
 
       dummy = 0.
       do_warn = .FALSE.
@@ -93,10 +93,8 @@ c    user-defined axes. See if name exists as an axis name.
 
          IF (status .EQ. ferr_ok) THEN  
 ! name is a variable; is it a coordinate variable of the dataset?
-
-            CALL CD_GET_VAR_INFO (dset, varid, name, vartype, 
-     .          nvdims, vdims, nvatts, coordvar, all_outflag, status) 
-            IF (.NOT. coordvar) goto 100
+     
+            IF (.NOT. CD_ISIT_COORDVAR (dset, varid, name, status)) goto 100
 
          ELSE
 	    GOTO 100
diff --git a/fer/gnl/sample.F b/fer/gnl/sample.F
deleted file mode 100644
index 660f651..0000000
--- a/fer/gnl/sample.F
+++ /dev/null
@@ -1,321 +0,0 @@
-	SUBROUTINE SAMPLE( memory, mr_list, cx_list, nvars,
-     .			   opt1_string, opt2_string, file_given,
-     .			   fname, fmt, binary, columns, status )
-
-*
-*
-*  This software was developed by the Thermal Modeling and Analysis
-*  Project(TMAP) of the National Oceanographic and Atmospheric
-*  Administration's (NOAA) Pacific Marine Environmental Lab(PMEL),
-*  hereafter referred to as NOAA/PMEL/TMAP.
-*
-*  Access and use of this software shall impose the following
-*  obligations and understandings on the user. The user is granted the
-*  right, without any fee or cost, to use, copy, modify, alter, enhance
-*  and distribute this software, and any derivative works thereof, and
-*  its supporting documentation for any purpose whatsoever, provided
-*  that this entire notice appears in all copies of the software,
-*  derivative works and supporting documentation.  Further, the user
-*  agrees to credit NOAA/PMEL/TMAP in any publications that result from
-*  the use of this software or in any product that includes this
-*  software. The names TMAP, NOAA and/or PMEL, however, may not be used
-*  in any advertising or publicity to endorse or promote any products
-*  or commercial entity unless specific written permission is obtained
-*  from NOAA/PMEL/TMAP. The user also understands that NOAA/PMEL/TMAP
-*  is not obligated to provide the user with any support, consulting,
-*  training or assistance of any kind with regard to the use, operation
-*  and performance of this software nor to provide the user with any
-*  updates, revisions, new versions or "bug fixes".
-*
-*  THIS SOFTWARE IS PROVIDED BY NOAA/PMEL/TMAP "AS IS" AND ANY EXPRESS
-*  OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-*  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-*  ARE DISCLAIMED. IN NO EVENT SHALL NOAA/PMEL/TMAP BE LIABLE FOR ANY SPECIAL,
-*  INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
-*  RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF
-*  CONTRACT, NEGLIGENCE OR OTHER TORTUOUS ACTION, ARISING OUT OF OR IN
-*  CONNECTION WITH THE ACCESS, USE OR PERFORMANCE OF THIS SOFTWARE. 
-*
-*
-* sample the given field at the specified XYZT coordinates
-* opt1_string contains special instructions
-*	"FILL" indicates to fill holes when the field contains missing values
-* opt2_string contains flags to indicate if the coordinates are given as
-*	world positions (C=Coordinate) or subscripts (I=index)
-
-*  USER/COMMAND=SAMPLE/OPT1=FILL,STANDARD_BAD/OPT2=CCII/FILE=outfile/FORM=(F10)
-
-* The format may be a FORTRAN FORMAT or "UNFORMATTED", or,
-* "UNFORMATTED:columns" - the latter produces condensed output (results, only)
-
-* Each output record will consist of
-*	value xcoord ycoord zcoord tcoord code
-* where "code" is 0=fully successful
-*		  1=successful with hole filling
-*              -1-4=failed due to beyond input data limits on axis -code
-*		 -9=failed due to hole in input data field
-*		-99=failed due to hole in input coordinates
-
-* programmer - steve hankin
-* NOAA/PMEL, Seattle, WA - Tropical Modeling and Analysis Program
-
-* V301:  1/94
-*
-* V312: 5/94 - array "memory" as a calling argument
-* V314: 8/22/94 *kob* IBM port: 1) ACCESS=APPEND not allowed in file opens - added
-*				   ifdef NO_ACCESS_APPEND check
-*				2) TM_HAS_STRING incorrectly defined as INTEGER
-*				3) inherited length string concats are not legal -
-*					use risc buff
-* Linux Port 5/97 *kob* - had to add ifdef F90_OPEN_FILE_APPEND because f90
-*			  uses "POSITION" instead of "ACCESS" to specify 
-*			  opening a file for append.
-* v552  4/03 *acm* up VAR_TRANS to 150 characters (variables are up to 128, plus
-*                  space for the transformation specifier)
-*       *acm* 3/12 6D Ferret (common uses nferdims in tmap_dims.parm)
-* V69+ *acm*  9/14 Ticket 1758. Memory request uses number of blocks not words
-
-	include 'tmap_dims.parm'
-	include 'ferret.parm'
-	include 'errmsg.parm'
-	include 'xvariables.cmn'
-	include 'xcontext.cmn'
-	include 'xprog_state.cmn'
-	include 'xtext_info.cmn'
-#ifdef NO_PASSED_CONCAT	
-	include 'xrisc.cmn'
-#endif
-
-* calling argument declarations:
-	LOGICAL	file_given, binary
-	INTEGER	nvars, mr_list(nvars), cx_list(nvars), columns, status
-	REAL	memory( mem_blk_size, max_mem_blks )
-	CHARACTER opt1_string*(*), opt2_string*(*), fname*(*), fmt*(*)
-
-* internal variable declarations:
-	LOGICAL	fill, standard_bad, tempx, tempy, tempz, tempt,
-     .		TM_HAS_STRING
-	INTEGER	TM_LENSTR1, CGRID_SIZE, STR_UPCASE,
-     .		CX_DIM_LEN,
-     .		mblk1, nblks, grid_blocks, col_mblk1, col_nblks, slen,
-     .		ssorww(4), out_lun,
-     .		i, flen, fmlen, npts, cx, ndim, dim(4), cxpts(2:5)
-	REAL	missing
-	CHARACTER VAR_TRANS*150, buff*150
-	
-* internal parameter definitions
-	INTEGER by_ss, by_ww, by_nothin
-	PARAMETER ( by_ss=1, by_ww=2, by_nothin=0 )
-
-* DECODE THE OPT1 COMMAND QUALIFIER:
-* /OPT1 = "FILL,STANDARD_BAD"
-	slen = TM_LENSTR1( opt1_string )
-	fill = TM_HAS_STRING(opt1_string(:slen),'FILL')
-	standard_bad = TM_HAS_STRING(opt1_string(:slen),'STANDARD')
-	IF ( .NOT.fill .AND. .NOT.standard_bad .AND. opt1_string.NE.' ' 
-     .	.AND. .NOT.TM_HAS_STRING(opt1_string(:slen),'HOLE') ) GOTO 5100
-
-* Must be exactly 5 arguments given
-* arguments 2-5 must be either same size or constants
-	IF ( nvars .NE. 5 ) GOTO 5200
-	npts = unspecified_int4
-	DO 100 i = 2, 5
-	   cx = cx_list(i)
-	   CALL GET_CX_DIMS( cx, ndim, dim ) 
-	   cxpts(i) = CGRID_SIZE( cx )	
-	   IF ( cxpts(i) .NE. 1 ) THEN
-	      IF ( npts .EQ. unspecified_int4 ) npts = cxpts(i)
-	      IF ( npts .NE. CGRID_SIZE( cx ) ) GOTO 5300
-	   ENDIF
- 100	CONTINUE
-	IF ( npts .EQ. unspecified_int4 ) npts = 1
-	
-* determine what to output for missing data points
-	IF ( standard_bad ) THEN
-	   missing = bad_val4
-	ELSE
-	   missing = mr_bad_data(mr_list(1))
-	ENDIF
-
-* Decode the specification of subscript or world coordinate
-* /OPT2 = "C" (all coordinates) or "I" (all indices) or "CCIN", ...
-	DO 200 i = 1, nferdims
- 200	ssorww(i) = by_ww			! default to "C"
-	IF ( opt2_string .NE. ' ' ) THEN
-	   i = STR_UPCASE( opt2_string, opt2_string )
-	   slen = TM_LENSTR1( opt2_string )
-	   IF ( slen.NE.1 .AND. slen.NE.4 ) GOTO 5400
-	   IF ( slen.EQ.1 ) THEN     ! replicate single char shorthand
-	      DO 210 i = 2, nferdims
- 210	      opt2_string(i:i) = opt2_string(1:1)
-	   ENDIF
-	   DO 220 i = 1, nferdims
-	      IF ( opt2_string(i:i) .EQ. 'C' ) THEN
-	         ssorww(i) = by_ww
-	      ELSEIF ( opt2_string(i:i) .EQ. 'I' ) THEN
-	         ssorww(i) = by_ss
-	      ELSEIF ( opt2_string(i:i) .EQ. 'N' ) THEN
-	         ssorww(i) = by_nothin
-	      ELSE
-	         GOTO 5400
-	      ENDIF
- 220	   CONTINUE
-	ENDIF
-
-* narrow the ssorww choices if only a bad_flag was given for a coord
-	DO 250 i = 2,5
-	   IF ( cxpts(i).EQ.1 .AND. ( memory(1,mr_blk1(mr_list(i)))
-     .		.EQ. mr_bad_data(mr_list(i)) )  ) ssorww(i-1) = by_nothin
- 250	CONTINUE
-
-* make sure the field of data provided doesn't create ambiguities on the
-* unsampled axes  (i.e. multiple points provided but no sampling coordinates)
-	cx = cx_list(1)
-	DO 300 i = 1, nferdims
-	   IF ( ssorww(i) .EQ. by_nothin
-     .	   .AND. CX_DIM_LEN(i, cx) .GT. 1 ) GOTO 5500
- 300	CONTINUE	
-
-* make sure there is no attempt to sample on a normal axis
-	DO 400 i = 1, nferdims
-	   IF ( ssorww(i) .NE. by_nothin
-     .	   .AND. cx_lo_ss(cx,i) .EQ. unspecified_int4 ) GOTO 5700
- 400	CONTINUE	
-
-* insert the default filename based on format type
-* or prepare for terminal output
-	IF ( file_given ) THEN
-	   IF ( fname .EQ. ' ' ) THEN
-	      IF ( binary ) THEN
-	         fname = 'fer_sample.unf'
-	      ELSE
-	         fname = 'fer_sample.dat'
-	      ENDIF
-	   ENDIF
-	ENDIF
-	IF ( .NOT.binary .AND. fmt.EQ.' ' )
-     .			fmt = '(5(1PG14.6),0PF5.0)'   ! "0P" for DEC bug
-	flen = TM_LENSTR1( fname )
-	fmlen = TM_LENSTR1( fmt )
-
-* allocate memory for consolidated 6D coordinates
-
-
-* COMPUTE # BLOCKS NEEDED
- 
-	grid_blocks = ( npts*nferdims + mem_blk_size - 1 ) / mem_blk_size
-
-	CALL GET_MEMORY( npts*nferdims, grid_blocks, mblk1, nblks, status )
-	IF ( status .NE. ferr_ok ) GOTO 5000
-
-* allocate memory for output record buffer if needed
-	IF ( columns .GT. 0 ) THEN
-	   grid_blocks = ( columns + mem_blk_size - 1 ) / mem_blk_size
-	   CALL GET_MEMORY( columns, grid_blocks, col_mblk1, col_nblks, status )
-	   IF ( status .NE. ferr_ok ) GOTO 5000
-	ELSE
-	   col_mblk1 = 1	! dummy, unused
-	ENDIF
-
-* Open the output file
-	IF ( file_given ) THEN
-	   IF ( fmt .EQ. ' ' ) THEN
-	      OPEN( UNIT        = default_list_lun,
-     .              FILE        = fname,
-     .              FORM        = 'UNFORMATTED',
-#ifdef NO_ACCESS_APPEND	
-#else
-#ifdef F90_OPEN_FILE_APPEND
-     .		    POSITION    = 'APPEND',
-#else
-     .              ACCESS      = 'APPEND',
-#endif
-#endif
-     .              STATUS      = 'UNKNOWN',
-     .              ERR         = 5600 )
-!	      WRITE (ttout_lun, 3000) 'binary', fname(:flen)
-	   ELSE
-	      OPEN( UNIT        = default_list_lun,
-     .              FILE        = fname,
-     .              FORM        = 'FORMATTED',
-#ifdef NO_ACCESS_APPEND	
-#else
-#ifdef F90_OPEN_FILE_APPEND
-     .		    POSITION    = 'APPEND',
-#else
-     .              ACCESS      = 'APPEND',
-#endif
-#endif
-     .              STATUS      = 'UNKNOWN',
-     .              ERR         = 5600 )
-!	      WRITE (ttout_lun, 3000) 'ASCII', fname(:flen)
-	   ENDIF
-! 3000	   FORMAT (' Sampled output is in ',A,' file ',A)
-	   out_lun = default_list_lun
-	ELSE
-	   out_lun = ttout_lun
-	ENDIF
-
-* call the SAMPLing work routine
-	CALL SAMPLE_SUB( memory, cx_list(2), mr_list(2), npts, cxpts,
-     .	memory(1, mr_blk1(mr_list(1))), mr_list(1), cx_list(1),
-     .	missing,
-     .	memory(1, mblk1), memory(1, col_mblk1), 
-     .  fmt(1:fmlen), fill, ssorww,
-     .	out_lun, binary, columns, status )
-     
-* close the output file
-	IF ( file_given ) CLOSE(UNIT=out_lun, ERR=5600)
-
-* cleanup
- 1000	CALL FREE_MEMORY( mblk1, nblks )
-	IF ( columns .GT. 0 ) THEN
-	   CALL FREE_MEMORY( col_mblk1, col_nblks )
-	ENDIF
-	RETURN
-
-* error exits
- 5000	RETURN
-#ifdef NO_PASSED_CONCAT
- 5100	risc_buff = opt1_string(:slen)
-	CALL ERRMSG( ferr_invalid_command, status,
-     .		    '/OPT1='//risc_buff//pCR//
-     .		    'May be "FILL" or "HOLES" with "STANDARD_BAD"',
-     .		     *5000 )
-#else
- 5100	CALL ERRMSG( ferr_invalid_command, status,
-     .		    '/OPT1='//opt1_string(:slen)//pCR//
-     .		    'May be "FILL" or "HOLES" with "STANDARD_BAD"',
-     .		     *5000 )
-#endif
- 5200	CALL ERRMSG( ferr_invalid_command, status,
-     .		    'arguments must be field,xpts,ypts,zpts,tpts', *5000 )
- 5300	CALL ERRMSG( ferr_invalid_command, status,
-     .		    '# of X,Y,Z, and T coordinates must each be same or 1',
-     .		    *5000 )
-#ifdef NO_PASSED_CONCAT
- 5400   risc_buff = opt2_string(:slen)
-	CALL ERRMSG( ferr_invalid_command, status,
-     .   '/OPT2='//risc_buff//pCR//
-     .   'Must be xxxx - 4 letters of "C"(coord),'
-     .   //' "I"(index) or "N"(N/A)',
-     .		    *5000 )
-#else
- 5400	CALL ERRMSG( ferr_invalid_command, status,
-     .   '/OPT2='//opt2_string(:slen)//pCR//
-     .   'Must be xxxx - 4 letters of "C"(coord),'
-     .   //' "I"(index) or "N"(N/A)',
-     .		    *5000 )
-#endif
- 5500	buff = VAR_TRANS(i, cx, slen )
-	CALL ERRMSG( ferr_invalid_command, status,
-     .  'Sampling of '//buff(:slen)//' is ambiguous on '//
-     .	ww_dim_name(i)//' axis', *5000 )
- 5600	CALL ERRMSG( ferr_erreq,status,fname,*1000 )
- 5700	buff = VAR_TRANS(i, cx, slen )
-	CALL ERRMSG( ferr_invalid_command, status,
-     .  'Attempt to sample normal '//ww_dim_name(i)//' axis of '//
-     .  buff(:slen), *5000 )
-
-	END
-
diff --git a/fer/gnl/sample_sub.F b/fer/gnl/sample_sub.F
deleted file mode 100644
index 4700313..0000000
--- a/fer/gnl/sample_sub.F
+++ /dev/null
@@ -1,346 +0,0 @@
-	SUBROUTINE SAMPLE_SUB(  memory, cx_list, mr_list, npts, cxpts,
-     .				field, mfield, cxfield, fill_value,
-     .				coords, out_buf,
-     .				fmt, fix_holes, ssorww,
-     .				out_lun, binary, columns, status )
-
-*  This software was developed by the Thermal Modeling and Analysis
-*  Project(TMAP) of the National Oceanographic and Atmospheric
-*  Administration's (NOAA) Pacific Marine Environmental Lab(PMEL),
-*  hereafter referred to as NOAA/PMEL/TMAP.
-*
-*  Access and use of this software shall impose the following
-*  obligations and understandings on the user. The user is granted the
-*  right, without any fee or cost, to use, copy, modify, alter, enhance
-*  and distribute this software, and any derivative works thereof, and
-*  its supporting documentation for any purpose whatsoever, provided
-*  that this entire notice appears in all copies of the software,
-*  derivative works and supporting documentation.  Further, the user
-*  agrees to credit NOAA/PMEL/TMAP in any publications that result from
-*  the use of this software or in any product that includes this
-*  software. The names TMAP, NOAA and/or PMEL, however, may not be used
-*  in any advertising or publicity to endorse or promote any products
-*  or commercial entity unless specific written permission is obtained
-*  from NOAA/PMEL/TMAP. The user also understands that NOAA/PMEL/TMAP
-*  is not obligated to provide the user with any support, consulting,
-*  training or assistance of any kind with regard to the use, operation
-*  and performance of this software nor to provide the user with any
-*  updates, revisions, new versions or "bug fixes".
-*
-*  THIS SOFTWARE IS PROVIDED BY NOAA/PMEL/TMAP "AS IS" AND ANY EXPRESS
-*  OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-*  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-*  ARE DISCLAIMED. IN NO EVENT SHALL NOAA/PMEL/TMAP BE LIABLE FOR ANY SPECIAL,
-*  INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
-*  RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF
-*  CONTRACT, NEGLIGENCE OR OTHER TORTUOUS ACTION, ARISING OUT OF OR IN
-*  CONNECTION WITH THE ACCESS, USE OR PERFORMANCE OF THIS SOFTWARE. 
-*
-*
-* sample the given field at the specified XYZTEF coordinates
-
-* Each output record will consist of
-*	value xcoord ycoord zcoord tcoord code
-* where "code" is 0=fully successful
-*		  1=successful with extrapolation
-*              -1-4=failed due to beyond input data limits on axis -code
-*		 -9=failed due to hole in input data field
-*		-99=failed due to hole in input coordinates
-
-* programmer - steve hankin
-* NOAA/PMEL, Seattle, WA - Tropical Modeling and Analysis Program
-
-* V301:  1/94
-* V312: 5/94 - array "memory" as a calling argument
-* V541: 2/02 *sh* - added support for modilo lengths
-*       *acm* 3/12 Add E and F dimensions (use nferdims in tmap_dims.parm)
-
-	include 'tmap_dims.parm'
-	include 'xtm_grid.cmn_text'
-	external xgt_grid_data
-	include 'ferret.parm'
-	include 'errmsg.parm'
-	include 'xvariables.cmn'
-	include 'xcontext.cmn'
-	include 'xprog_state.cmn'
-	include 'xmem_subsc.cmn'
-
-* calling argument declarations:
-	LOGICAL fix_holes, binary
-	INTEGER	cx_list(4), mr_list(4), npts, cxpts(4), columns,
-     .		mfield, cxfield, ssorww(4), out_lun, status
-	REAL	memory( mem_blk_size, max_mem_blks )
-	REAL	coords(npts, 4), out_buf(columns), fill_value,
-     .		field( m1lox:m1hix,m1loy:m1hiy,m1loz:m1hiz,m1lot:m1hit )
-	CHARACTER fmt*(*)
-
-* internal parameter definitions
-	INTEGER     by_ss, by_ww, by_nothin
-	PARAMETER ( by_ss=1, by_ww=2, by_nothin=0 )
-
-* internal variable declarations:
-	LOGICAL	extrapolate, condensed
-	INTEGER	TM_MODULO_LINE_DIM,
-     .		ii(4), di(4), ss(4,2), grid, idim, mr, mv_temp, ipt,
-     .		i, j, k, l, ix, jy, kz, lt, hi_surrnd(4), nbuf, llen,
-     .		nfix, ssfix(4,-1:1), ssp1(4), ssm1(4), line, lohi
-	REAL lin_fact(4), surrnd(2,2,2,2), result, missing, res_flag,
-     .		coord, missing_coord(4), sumfix
-	
-* equivalences
-	INTEGER ss_lo(4), ss_hi(4), ihi, jhi, khi, lhi
-	EQUIVALENCE (ss(1,1),ss_lo), (ss(1,2),ss_hi),
-     .		    (hi_surrnd(1), ihi), (hi_surrnd(2), jhi),
-     .		    (hi_surrnd(3), khi), (hi_surrnd(4), lhi)
-
-* *** INITIALIZE ***
-* background quantities
-	condensed = columns .GT. 0
-	nbuf = 0
-	missing = mr_bad_data(mfield)
-	grid = mr_grid(mfield)
-	DO 10 idim = 1, 4
- 10	missing_coord(idim) = mr_bad_data(mr_list(idim))
-
-* extract the 4 coordinate variables into a single 4D array
-	DO 100 idim = 1, 4
-	   mr = mr_list(idim)
-	   CALL CREATE_TEMP_MEM_VAR( cx_list(idim), mv_temp, status )
-	   IF ( status .NE. ferr_ok ) GOTO 5000
-	   CALL COPY_GRID(memory(1,mr_blk1(mr)),mr,
-     .		          coords(1,idim), mv_temp )
-	   CALL DELETE_VARIABLE( mv_temp )
- 100	CONTINUE
-
-* input sampling coordinates are a mix of single point and n point arrays
-* ... ii - sample coordinate pointers (increment by delta each loop)
-* ... di - delta for sample coordinate pointer (0 or 1)
-	DO 200 idim = 1, 4
-	   ii(idim) = 1
-	   IF ( cxpts(idim) .EQ. 1 ) THEN
-	      di(idim) = 0
-	   ELSE
-	      di(idim) = 1
-	   ENDIF
- 200	CONTINUE
-
-* prepare those axes on which there will be no interpolating
-* ... hi_surrnd - # of pts surrounding requested coord on each axis (1 or 2)
-* ... also preload the subscript limits to avoid redoing it npts times below
-	DO 210 idim = 1, 4
-	   IF ( ssorww(idim) .EQ. by_nothin ) THEN
-	      hi_surrnd(idim) = 1		! no interp on this axis
-	      ss_lo(idim) = cx_lo_ss(cxfield, idim)
-	      ss_hi(idim) = ss_lo(idim)			! needed to automate
-	      lin_fact(idim) = unspecified_int4		! not needed
-	   ELSE
-	      hi_surrnd(idim) = 2		! interpolate on this axis
-	      ss_lo(idim) = unspecified_int4
-	   ENDIF
- 210	CONTINUE
-
-* *** START OF LOOP OVER ALL SAMPLING POINTS ***
-	DO 2000 ipt = 1, npts
-
-* initialize next sample point
-	   res_flag = 0.
-
-* determine the lo and hi subscript bounds of the surrounding points
-* and the interpolation cooeficients for each axis
-	   DO 500 idim = 1, 4
-	      coord = coords(ii(idim), idim)
-	      IF ( ssorww(idim) .NE. by_nothin
-     .	     .AND. coord .EQ. missing_coord(idim) ) THEN
-	         res_flag = -idim
-	         result = fill_value
-	         GOTO 1000
-	      ELSEIF ( ssorww(idim) .EQ. by_ss ) THEN   ! e.g. j=55.2
-	         ss_lo(idim) = INT( coord )
-	         ss_hi(idim) = INT( coord + .99999 )
-	         lin_fact(idim) = ss_hi(idim) - coord
-	      ELSEIF ( ssorww(idim) .EQ. by_ww ) THEN
-	         CALL SS_NEIGHBORS( coord, grid, idim, extrapolate,
-     .				ss_lo(idim), ss_hi(idim), lin_fact(idim) )
-	         IF ( extrapolate ) THEN
-	            IF ( fix_holes ) THEN
-	               res_flag = 1.
-	            ELSE
-	               res_flag = -idim
-	               result = fill_value
-	               GOTO 1000
-	            ENDIF
-	         ENDIF
-	      ENDIF
- 500	   CONTINUE
-
-* check that all subscripts are within the given range of the field
-	   DO 600 idim = 1, 4
-	      IF ( ss_lo(idim) .LT. cx_lo_ss(cxfield, idim)
-     .	      .OR. ss_hi(idim) .GT. cx_hi_ss(cxfield, idim)
-     .        .OR. ss_lo(idim) .GT. ss_hi(idim)  ) THEN
-	         res_flag = -idim
-	         result = fill_value
-	         GOTO 1000
-	      ENDIF
- 600	   CONTINUE
-
-* pre-cleanse array if diagnostic testing in progress
-	   IF ( mode_diagnostic ) THEN
-	      DO 650 i = 1, ihi
-	      DO 650 j = 1, jhi
-	      DO 650 k = 1, khi
-	      DO 650 l = 1, lhi
- 650	      surrnd(i,j,k,l) = bad_val4
-	   ENDIF
-
-* assemble the 4-dimensional collection of surrounding points
-	   DO 700 i = 1, ihi
-	   DO 700 j = 1, jhi
-	   DO 700 k = 1, khi
-	   DO 700 l = 1, lhi
- 700	   surrnd(i,j,k,l) = field(ss(x_dim,i),
-     .				      ss(y_dim,j),
-     .				      ss(z_dim,k),
-     .				      ss(t_dim,l) )
-! diag	WRITE (6,'(A/,4(1PG15.6))') ' Surrounding: ',surrnd
-
-* check for missing values - try to fill them in if requested
-	   DO 850 l = 1, lhi
-	   DO 850 k = 1, khi
-	   DO 850 j = 1, jhi
-	   DO 850 i = 1, ihi
-	      IF ( surrnd(i,j,k,l) .EQ. missing ) THEN
-	         IF ( fix_holes ) THEN
-* ... Try to fill hole with the average of all surrounding values
-*     Procedure is to locate the subscripts surrounding the missing point
-*     that may contain valid data and to average all of the data found.
-*     The axes may be modulo - in which case wrap around the subscripts.
-*     The supplied data (context) may or may not provide the surrounding pts   
-	            nfix = 0
-	            sumfix = 0.0		
-	            DO 800 idim =  1, 4
-	            DO 800 lohi = -1, 1
- 800	            ssfix(idim,lohi) = ss(idim,i) + lohi
-	            DO 810 idim = 1, 4    	 ! modulo-based subscripts
-	               line = grid_line(idim,grid)
-	               llen = TM_MODULO_LINE_DIM(line)
-	               IF ( line.EQ.mnormal .OR. line.EQ.munknown ) GOTO 810
-	               IF ( line_modulo(line) ) THEN
-		          IF ( ssfix(idim,-1) .EQ. 0 )
-     .					ssfix(idim,-1) = llen
-		          IF ( ssfix(idim,+1) .GT. llen )
-     .					ssfix(idim,+1) = 1
-	               ENDIF
- 810	            CONTINUE
-	            DO 820 idim = 1, 4		! check context limits
-	               IF (ssfix(idim,-1).LT.cx_lo_ss(cxfield,idim)
-     .		       .OR.ssfix(idim,-1).GT.cx_hi_ss(cxfield,idim) ) THEN
-	                  ssm1(idim) = 0
-	               ELSE
-	                  ssm1(idim) = -1
-	               ENDIF
-	               IF (ssfix(idim,+1).LT.cx_lo_ss(cxfield,idim)
-     .		       .OR.ssfix(idim,+1).GT.cx_hi_ss(cxfield,idim) ) THEN
-	                  ssp1(idim) = 0
-	               ELSE
-	                  ssp1(idim) = +1
-	               ENDIF
- 820	            CONTINUE
-	            DO 830 lt = ssfix(t_dim,ssm1(t_dim)),
-     .				ssfix(t_dim,ssp1(t_dim))
-	            DO 830 kz = ssfix(z_dim,ssm1(z_dim)),
-     .				ssfix(z_dim,ssp1(z_dim))
-	            DO 830 jy = ssfix(y_dim,ssm1(y_dim)),
-     .				ssfix(y_dim,ssp1(y_dim))
-	            DO 830 ix = ssfix(x_dim,ssm1(x_dim)),
-     .				ssfix(x_dim,ssp1(x_dim))
-	               IF ( field(ix,jy,kz,lt) .NE. missing ) THEN
-	                  nfix = nfix + 1
-	                  sumfix = sumfix +  field(ix,jy,kz,lt)
-	               ENDIF
- 830	            CONTINUE
-	            IF ( nfix .GT. 0 ) THEN
-	               surrnd(i,j,k,l) = sumfix/nfix
-	               res_flag = 1.
-	            ELSE
-	               res_flag = -9.
-	               result = fill_value
-	               GOTO 1000  
-	            ENDIF
-	         ELSE
-* ... dont even try to fill the hole
-	            res_flag = -9.
-	            result = fill_value
-	            GOTO 1000
-	         ENDIF
-	      ENDIF
- 850	   CONTINUE
-
-* compute the interpolated value from the fully-specified surrounding points
-* ... interpolate on T axis 
-	   IF (ssorww(t_dim) .NE. by_nothin) THEN
-	      DO 910 i = 1,ihi
-	      DO 910 j = 1,jhi
-	      DO 910 k = 1,khi
- 910	      surrnd(i,j,k,1) =   lin_fact(t_dim)  * surrnd(i,j,k,1)
-     .			    + (1.-lin_fact(t_dim)) * surrnd(i,j,k,2)
-	   ENDIF
-* ... interpolate on Z axis 
-	   IF (ssorww(z_dim) .NE. by_nothin) THEN
-	      DO 920 i = 1,ihi
-	      DO 920 j = 1,jhi
- 920	      surrnd(i,j,1,1) =   lin_fact(z_dim)  * surrnd(i,j,1,1)
-     .			    + (1.-lin_fact(z_dim)) * surrnd(i,j,2,1)
-	   ENDIF
-* ... interpolate on Y axis 
-	   IF (ssorww(y_dim) .NE. by_nothin) THEN
-	      DO 930 i = 1,ihi
- 930	      surrnd(i,1,1,1) =   lin_fact(y_dim)  * surrnd(i,1,1,1)
-     .			    + (1.-lin_fact(y_dim)) * surrnd(i,2,1,1)
-	   ENDIF
-* ... interpolate on X axis 
-	   IF (ssorww(x_dim) .NE. by_nothin) THEN
-	      surrnd(1,1,1,1) =   lin_fact(x_dim)  * surrnd(1,1,1,1)
-     .			    + (1.-lin_fact(x_dim)) * surrnd(2,1,1,1)
-	   ENDIF
-	   result = surrnd(1,1,1,1)
-
-* output the result
- 1000	   IF ( binary ) THEN
-	      IF ( condensed ) THEN
-	         nbuf = nbuf + 1
-	         out_buf(nbuf) = result
-	         IF ( nbuf .EQ. columns ) THEN
-	            WRITE ( out_lun ) out_buf
-	            nbuf = 0
-	         ENDIF
-	      ELSE
-	         WRITE ( out_lun ) result,
-     .				(coords(ii(i),i),i=1,4), res_flag
-	      ENDIF
-	   ELSE
-	       WRITE ( out_lun, fmt ) result,
-     .				(coords(ii(i),i),i=1,4), res_flag
-	   ENDIF
-	
-! diag	   WRITE (6,*) 'Result: ',result
-! diag	   WRITE (6,*) 'lo/hi subscripts: ',((ss(idim,i),i=1,2),idim=1,4)
-! diag	   WRITE (6,*) 'factors: ',lin_fact
-
-* prepare for the next sample point
-	   DO 1100 idim = 1, 4
- 1100	   ii(idim) = ii(idim) + di(idim)
-
- 2000	CONTINUE
-
-* check for any output remaining in the output record buffer
-	IF ( condensed .AND. nbuf.GT.0 ) 
-     .		CALL WARN( 'Output columns didnt match sampling coordinates')
-
-* success!
-	RETURN
-
-* error exits
- 5000	RETURN
-
-	END
diff --git a/fer/gnl/sanity_check_memory.F b/fer/gnl/sanity_check_memory.F
index f044fa5..a5c1323 100644
--- a/fer/gnl/sanity_check_memory.F
+++ b/fer/gnl/sanity_check_memory.F
@@ -44,12 +44,14 @@
 *
 * V702: *sh* 11/16 This is an expanded version of CHECK_MEMORY intended 
 *      for use with -D debug copilations
+*            1/17 - output to stdout for easier debugging
 
 	include 'tmap_dims.parm'
 	include 'xtm_grid.cmn_text'
 	external xgt_grid_data
 	include 'ferret.parm'
 	include 'xvariables.cmn'
+	include 'xprog_state.cmn'
 	include 'xwork_space.cmn'
 
 * calling argument declarations:
@@ -58,16 +60,26 @@
 
 * internal variable declarations:
 	LOGICAL mv_accounted_for(max_mrs)
-	INTEGER	mv, mb, mvfree, mvused, mvuncached, mvwork,
-     .		mbfree, mbused, mbmax,
-     .		nmvlost, nmblost, n, pile, last, size, test_next,
+	INTEGER	mv, mvfree, mvused, mvuncached, mvwork,
+     .		nmvlost, n, pile, last, msize, test_next,
      .		ninuse, navail, nperm, mbperm, ntemp, ndel,
-     .		ninprogress, ntable_entries,
-     .		slen, mb_allocated(pmax_mem_blks), i, iblk
-	CHARACTER LEFINT*8, buff*40, b12*12
+     .		ninprogress, ntable_entries, 
+     .		slen, nn, i, ws, s1, s2
+	INTEGER*8 sum, mem_in_use
+	CHARACTER LEFINT*10, buff*40, b12*12
 	PARAMETER (b12 = '            ')    !kob 12/96
 
 ************************************
+* check Ferret variable memory allocations
+        mem_in_use = 0
+        DO mv = 1, max_mrs
+           mem_in_use = mem_in_use + mr_size(mv)
+        ENDDO
+        IF (mem_in_use .NE. total_mem) THEN
+	      CALL WARN('***** corrupted total mem size: '
+     .                  //LEFINT(mem_in_use,slen) )
+        ENDIF
+
 * 11/16 brute force check of memory table list integrity
 	DO mv = 1, max_mrs
 	   mv_accounted_for(mv) = .FALSE.
@@ -79,11 +91,12 @@
  10	IF ( mv .NE. 0 ) THEN
 	   n = n + 1  ! number of passes
 	   IF (n .GT. max_mrs + 5) THEN
-	      CALL WARN('SANITY ERR: Trapped in free list ...')
+	      CALL TM_NOTE('SANITY ERR: Trapped in free list ...'
+     .				, ttout_lun)
 	   ENDIF
 	   IF (mv_accounted_for(mv)) THEN
-	      CALL WARN('SANITY ERR: free mr list is corrupted: '
-     .	   			//LEFINT(mv,slen)//tag )  ! loop forever
+	      CALL TM_NOTE('SANITY ERR: free mr list is corrupted: '
+     .	   		//LEFINT(mv,slen)//tag, ttout_lun)   ! loop forever
 	   ENDIF
 	   mv_accounted_for(mv) = .TRUE.
 	   mvfree = mvfree + 1
@@ -99,17 +112,19 @@
  12	   IF ( mv .GT. 0 ) THEN
 	      n = n + 1  ! number of passes
 	      IF (n .GT. max_mrs + 5) THEN
-	         CALL WARN('SANITY ERR: Trapped in hash pile ...'
-     .			//LEFINT(-pile,slen))
+	         CALL TM_NOTE('SANITY ERR: Trapped in hash pile ...'
+     .			//LEFINT(-pile,slen), ttout_lun) 
 	      ENDIF
 	      IF (mv_accounted_for(mv)) THEN
-	         CALL WARN
+	         CALL TM_NOTE
      .			('SANITY ERR: cached mr slot found in multiple lists: '
-     .	   			//LEFINT(mv,slen)//LEFINT(-pile,slen)//tag )
+     .	   			//LEFINT(mv,slen)//LEFINT(-pile,slen)//tag,
+     .				ttout_lun) 
 	      ENDIF
 	      IF (mv_blink(mv) .NE. last) THEN
-	         CALL WARN ('SANITY ERR: hash pile back link error: '
-     .	   			//LEFINT(mv,slen)//LEFINT(-pile,slen)//tag )
+	         CALL TM_NOTE ('SANITY ERR: hash pile back link error: '
+     .	   			//LEFINT(mv,slen)//LEFINT(-pile,slen)//tag,
+     .				ttout_lun) 
 	      ENDIF
 	      mv_accounted_for(mv) = .TRUE.
 	      mvused = mvused + 1
@@ -126,16 +141,18 @@
  16	IF ( mv .GT. 0 ) THEN
 	   n = n + 1  ! number of passes
 	   IF (n .GT. max_mrs + 5) THEN
-	      CALL WARN('SANITY ERR: Trapped in work space chain ...')
+	      CALL TM_NOTE('SANITY ERR: Trapped in work space chain ...',
+     .				ttout_lun) 
+
 	   ENDIF
 	   IF (mv_accounted_for(mv)) THEN
-	      CALL WARN
+	      CALL TM_NOTE
      .		('SANITY ERR: work var mr slot found in multiple lists: '
-     .	   			//LEFINT(mv,slen)//tag )
+     .	   			//LEFINT(mv,slen)//tag, ttout_lun) 
 	   ENDIF
 	   IF (mv_blink(mv) .NE. last) THEN
-	      CALL WARN('SANITY ERR: work var back link error: '
-     .	   			//LEFINT(mv,slen)//tag )
+	      CALL TM_NOTE('SANITY ERR: work var back link error: '
+     .	   			//LEFINT(mv,slen)//tag, ttout_lun)
 	   ENDIF
 	   mv_accounted_for(mv) = .TRUE.
 	   mvwork = mvwork + 1
@@ -151,16 +168,17 @@
  18	IF ( mv .GT. 0 ) THEN
 	   n = n + 1  ! number of passes
 	   IF (n .GT. max_mrs + 5) THEN
-	      CALL WARN('SANITY ERR: Trapped in uncached chain ...')
+	      CALL TM_NOTE('SANITY ERR: Trapped in uncached chain ...',
+     .				ttout_lun)	
 	   ENDIF
 	   IF (mv_accounted_for(mv)) THEN
-	      CALL WARN
+	      CALL TM_NOTE
      .		('SANITY ERR: uncached mr slot found in multiple lists: '
-     .	   			//LEFINT(mv,slen)//tag )
+     .	   			//LEFINT(mv,slen)//tag, ttout_lun)
 	   ENDIF
 	   IF (mv_blink(mv) .NE. last) THEN
-	      CALL WARN('SANITY ERR: uncached back link error: '
-     .	   			//LEFINT(mv,slen)//tag )
+	      CALL TM_NOTE('SANITY ERR: uncached back link error: '
+     .	   			//LEFINT(mv,slen)//tag, ttout_lun)
 	   ENDIF
 	   mv_accounted_for(mv) = .TRUE.
 	   mvuncached = mvuncached + 1
@@ -169,13 +187,13 @@
 	   GOTO 18
 	ENDIF
 	IF (mvused+mvfree+mvwork+mvuncached .NE. max_mr_avail) THEN
-	   CALL WARN
-     .		('SANITY ERR: number of mr slots doesnt tally')
+	   CALL TM_NOTE
+     .		('SANITY ERR: number of mr slots doesnt tally', ttout_lun)
 	ENDIF
 	DO mv = 1, max_mr_avail
 	   IF( .NOT.mv_accounted_for(mv)) THEN
-	      CALL WARN('SANITY ERR: mr unaccounted in any list: '
-     .	   			//LEFINT(mv,slen)//tag )
+	      CALL TM_NOTE('SANITY ERR: mr unaccounted in any list: '
+     .	   			//LEFINT(mv,slen)//tag, ttout_lun)
 	   ENDIF
 	ENDDO
 
@@ -186,12 +204,13 @@
  19	IF ( mv .NE. 0 ) THEN
 	   n = n + 1  ! number of passes
 	   IF (n .GT. max_mrs + 5) THEN
-	      CALL WARN('SANITY ERR: Trapped in deleted chain ...'//tag)
+	      CALL TM_NOTE('SANITY ERR: Trapped in deleted chain ...'
+     .				//tag, ttout_lun)
 	      STOP 
 	   ENDIF
 	   IF (mr_del_blink(mv) .NE. last) THEN
-	      CALL WARN ('SANITY ERR: deletion chain back link error: '
-     .	   			//LEFINT(mv,slen)//tag )
+	      CALL TM_NOTE ('SANITY ERR: deletion chain back link error: '
+     .	   			//LEFINT(mv,slen)//tag, ttout_lun)
 	   ENDIF
 	   last = mv
 	   mv = mr_del_flink(mv)
@@ -200,41 +219,6 @@
 
 
 ************************************
-* initialize memory block allocation counts
-	DO mb = 1, pmax_mem_blks
-	   mb_allocated(mb) = 0
-	ENDDO
-
-* check available bulk memory
-	n      = 0	! number of contiguous regions
-	mbfree = 0	! number of free blocks
-	mbmax  = 0	! biggest contiguous region
-	mb = mblk_flink( 0 )
- 100	IF ( mb .NE. 0 ) THEN
-	   n      = n + 1
-	   size   = mblk_size( mb ) 
-	   mbmax  = MAX( mbmax, size )
-	   mbfree = mbfree + size
-* * * * integrity check * * * * * * * * * * * * * * * * * * * *
-* ... no gaps should exist between sized regions - both free and used are sized
-	   test_next = mb + size
-	   IF ( test_next .EQ. max_mem_blks + 1 ) THEN
-	      CONTINUE
-	   ELSEIF ( test_next .GT. max_mem_blks + 1 
-     .     .OR.     mblk_size(test_next) .EQ. unspecified_int4 ) THEN
-	      CALL WARN('SANITY ERR:  improper region size: '
-     .				//LEFINT(mb,slen)//tag )
-	   ENDIF
-* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-* flag memory blocks allocated to the free list
-	   DO i = 1, size
-	      iblk = mb+i-1
-	      mb_allocated(iblk) = mb_allocated(iblk) + 1
-	   ENDDO
-
-	   mb = mblk_flink( mb )
-	   GOTO 100
-	ENDIF	   
 
 * check slots in memory variable table
 * ... free table slots
@@ -244,8 +228,8 @@
 
 * * * * integrity check * * * * * * * * * * * * * * * * * * * *
 	   IF ( mr_protected(mv) .NE. mr_deleted ) THEN
-	      CALL WARN('SANITY ERR: improperly deleted: '
-     .				//LEFINT(mv,slen)//tag )
+	      CALL TM_NOTE('SANITY ERR: improperly deleted: '
+     .				//LEFINT(mv,slen)//tag, ttout_lun)
 	   ENDIF
 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
 
@@ -254,70 +238,36 @@
 	   GOTO 200
 	ENDIF
 
-* * * * SUMMARIZE MEMORY BLOCKS AND TABLE SLOTS IN USE * * * *
+* * * * SUMMARIZE MEMORY TABLE SLOTS IN USE * * * *
 * check all the variables in all the hash piles
 	mvused = 0
-	mbused = 0
 	DO 310 pile = 1, pmv_npiles
 	   last = -pile
 	   mv = mv_flink( last )	! base pointer for slots in this hash #
  300	   IF ( mv .GT. 0 ) THEN
 	      IF ( mr_protected(mv) .EQ. mr_deleted
-     .	      .OR. mr_nblks    (mv) .NE. mblk_size( mr_blk1(mv) )
      .	      .OR. mv_blink(mv) .NE. last ) THEN
-	          CALL WARN('SANITY ERR: improperly cataloged: '
-     .				//LEFINT(mv,slen)//tag )
+	          CALL TM_NOTE('SANITY ERR: improperly cataloged: '
+     .				//LEFINT(mv,slen)//tag, ttout_lun)
 	      ENDIF
 	      mvused = mvused + 1
-	      IF (mr_protected(mv) .NE. mr_table_entry_only) THEN
-	         mbused = mbused + mr_nblks(mv)
-	      ENDIF
-
-* flag memory blocks allocated to a variable in a hash pile
-	      IF (mr_protected(mv) .NE. mr_table_entry_only) THEN
-	         DO i = 1, mr_nblks(mv)
-	            iblk = mr_blk1(mv)+i-1
-	            mb_allocated(iblk) = mb_allocated(iblk) + 1
-	         ENDDO
-	      ENDIF
-
 	      last   = mv
 	      mv     = mv_flink(mv)
 	      GOTO 300
 	   ENDIF
  310	CONTINUE
 
-* flag memory blocks allocated to GET_WORK_SPACE (as most work storage handled)
-	   DO i = 1, sp_num_blocks
-	      iblk = sp_start_block+i-1
-	      mb_allocated(iblk) = mb_allocated(iblk) + 1
-	   ENDDO
-
 * check non-cached variables (10/99)
 	last = pmv_nocache_pile
 	mv = mv_flink( last )	! base pointer for slots in this hash #
  350	IF ( mv .GT. 0 ) THEN
 	   IF ( mr_protected(mv) .EQ. mr_deleted
      .	   .OR. mr_protected(mv) .EQ. mr_in_progress
-     .	   .OR. mr_nblks    (mv) .NE. mblk_size( mr_blk1(mv) )
      .	   .OR. mv_blink(mv) .NE. last ) THEN
-	      CALL WARN('SANITY ERR: uncached variable error: '
-     .				//LEFINT(mv,slen)//tag )
+	      CALL TM_NOTE('SANITY ERR: uncached variable error: '
+     .				//LEFINT(mv,slen)//tag, ttout_lun)
 	   ENDIF
 	   mvused = mvused + 1
-	   IF (mr_protected(mv) .NE. mr_table_entry_only) THEN
-	      mbused = mbused + mr_nblks(mv)
-	   ENDIF
-!	   mbused = mbused + mr_nblks(mv)
-
-* flag memory blocks allocated to a non-cached variable
-	   IF (mr_protected(mv) .NE. mr_table_entry_only) THEN
-	      DO i = 1, mr_nblks(mv)
-	         iblk = mr_blk1(mv)+i-1
-	         mb_allocated(iblk) = mb_allocated(iblk) + 1
-	      ENDDO
-	   ENDIF
-
 	   last   = mv
 	   mv     = mv_flink(mv)
 	   GOTO 350
@@ -329,22 +279,10 @@
  370	IF ( mv .GT. 0 ) THEN
 	   IF ( mr_protected(mv) .NE. mr_in_progress
      .	   .OR. mv_blink(mv) .NE. last ) THEN
-	      CALL WARN('SANITY ERR: table work storage variable error: '
-     .				//LEFINT(mv,slen)//tag )
+	      CALL TM_NOTE('SANITY ERR: table work storage variable error: '
+     .				//LEFINT(mv,slen)//tag, ttout_lun)
 	   ENDIF
 	   mvused = mvused + 1
-	   IF (mr_protected(mv) .NE. mr_table_entry_only) THEN
-	      mbused = mbused + mr_nblks(mv)
-	   ENDIF
-
-* flag memory blocks allocated to a table work storage variable
-	   IF (mr_protected(mv) .NE. mr_table_entry_only) THEN
-	      DO i = 1, mr_nblks(mv)
-	         iblk = mr_blk1(mv)+i-1
-	         mb_allocated(iblk) = mb_allocated(iblk) + 1
-	      ENDDO
-	   ENDIF
-
 	   last   = mv
 	   mv     = mv_flink(mv)
 	   GOTO 370
@@ -353,34 +291,20 @@
 * * * * integrity check * * * * * * * * * * * * * * * * * * * *
 * make sure no table slots or memory blocks have been lost
 	nmvlost = max_mr_avail - ( mvfree+mvused )
-	nmblost = max_mem_blks   - ( mbfree+mbused+sp_num_blocks )
 	IF ( nmvlost .NE. 0 ) THEN
-	   CALL WARN('SANITY ERR: lost table slots: '
-     .				//LEFINT(nmvlost,slen)//tag )
-	ENDIF
-	IF ( nmblost .NE. 0 ) THEN
-	   CALL WARN('SANITY ERR: lost memory blocks: '
-     .				//LEFINT(nmblost,slen)//tag )
+	   CALL TM_NOTE('SANITY ERR: lost table slots: '
+     .				//LEFINT(nmvlost,slen)//tag, ttout_lun)
 	ENDIF
 
 * * * * integrity check * * * * * * * * * * * * * * * * * * * * *
-* make sure that every memory block is allocated to exactly one purpose
-	DO mb = 1, pmax_mem_blks
-	   IF (mb_allocated(mb) .NE. 1) THEN
-	      CALL WARN('SANITY ERR: allocation of block: '
-     .				//LEFINT(mb,slen)//
-     .			  ' is '//LEFINT(mb_allocated(mb),slen)//tag )
-	   ENDIF
-	ENDDO
-
-* * * * integrity check * * * * * * * * * * * * * * * * * * * * *
 * variable deletion priority chain
 	navail = 0
 	mv = mr_del_flink(0)
  400	IF ( mv .NE. 0 ) THEN
 	   navail = navail + 1
 	   IF ( mr_protected(mv) .NE. mr_not_protected ) THEN
-	      CALL WARN('SANITY ERR: Protected variables deleted')
+	      CALL TM_NOTE('SANITY ERR: Protected variables deleted',
+     .				ttout_lun)
 	   ENDIF
 	   mv = mr_del_flink(mv)
 	   GOTO 400
@@ -388,7 +312,6 @@
 	ninuse = 0
 	ndel   = 0
 	nperm  = 0
-	mbperm = 0
 	ntemp  = 0
         ninprogress = 0
 	ntable_entries = 0
@@ -397,7 +320,6 @@
 	      ninuse = ninuse + 1
 	   ELSEIF ( mr_protected(mv) .EQ. mr_perm_protected ) THEN
 	      nperm  = nperm  + 1
-	      mbperm = mbperm + mr_nblks(mv)
 	   ELSEIF ( mr_protected(mv) .EQ. mr_deleted ) THEN
 	      ndel = ndel + 1
 	   ELSEIF ( mr_protected(mv) .EQ. mr_temporary ) THEN
@@ -408,28 +330,47 @@
 	      ntable_entries = ntable_entries + 1
 	   ENDIF
  410	CONTINUE
-!	IF ( nperm .GT. 0 ) THEN
-!	   CALL SPLIT_LIST( pttmode_explct, lun,
-!     .			 b12//'number of /PERMANENT variables: '//
-!     .			 LEFINT(nperm,slen), 0 )
-!	   CALL SPLIT_LIST( pttmode_explct, lun,
-!     .			 b12//'number of blocks used /PERM: '//
-!     .			 LEFINT(mbperm,slen), 0 )
-!	ENDIF
 	nmvlost = max_mr_avail
      .		- (ninuse+navail+nperm+ndel+ntemp+ninprogress+ntable_entries)
 	IF ( nmvlost .NE. 0 ) THEN
-	   CALL WARN( 'SANITY ERR: Unaccountable var protection: '
-     .				//LEFINT(nmvlost,slen)//tag )
+	   CALL TM_NOTE( 'SANITY ERR: Unaccountable var protection: '
+     .				//LEFINT(nmvlost,slen)//tag, ttout_lun)
 	ENDIF
 	n = ndel - mvfree
 	IF ( n .NE. 0 ) THEN
-	   CALL WARN( 'SANITY ERR: Deleted vars unaccountable: '
-     .				//LEFINT(nmvlost,slen)//tag )
+	   CALL TM_NOTE( 'SANITY ERR: Deleted vars unaccountable: '
+     .				//LEFINT(nmvlost,slen)//tag, ttout_lun)
+	ENDIF
+
+* * * * * * dynamic memory sanity check * * * * *
+	sum = 0
+	DO mv = 1, max_mr_avail
+	   s1 = mr_size(mv)
+	   s2 = SIZE(memry(mv)%ptr) 
+	   sum = sum + s1
+           IF (s1 .NE. s2) THEN
+	      CALL TM_NOTE( 'SANITY ERR: Dynamic mem size error: '
+     .			//LEFINT(mv,slen)//LEFINT(s1,slen)
+     .			//LEFINT(s2,slen)//tag, ttout_lun)
+	   ENDIF
+	ENDDO
+	IF (sum .NE. total_mem) THEN
+	   CALL TM_NOTE( 'SANITY ERR: Dynamic mem total: '
+     .			//LEFINT(sum,slen)//LEFINT(total_mem,slen)//tag,
+     .			 ttout_lun)
 	ENDIF
 
+* work storage
+	DO ws = 1, max_ws
+	   s1 = ws_size(ws)
+	   s2 = SIZE(workmem(ws)%ptr) 
+           IF (s1 .NE. s2) THEN
+	      CALL TM_NOTE( 'SANITY ERR: Dynamic work space size error: '
+     .			//LEFINT(ws,slen)//LEFINT(s1,slen)
+     .			//LEFINT(s2,slen)//tag, ttout_lun)
+	   ENDIF
+	ENDDO
+
 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
 	RETURN
 	END
-
-
diff --git a/fer/gnl/set_agg_var_atts.F b/fer/gnl/set_agg_var_atts.F
index 6ca30ff..635fe25 100644
--- a/fer/gnl/set_agg_var_atts.F
+++ b/fer/gnl/set_agg_var_atts.F
@@ -45,6 +45,7 @@
 * V698 *sh* 2/16 
 * V698 *acm* 2/16 LET/D variables are now stored with their associated datset
 *                 in the List structure so can get their attribute info
+* V720 *acm* 5/17 Implement specific calls in place of CD_GET_VAR_INFO
 
         INCLUDE 'tmap_dims.parm'
         INCLUDE 'ferret.parm'
@@ -73,13 +74,12 @@
         INTEGER maxlen
         PARAMETER (maxlen = 2048)
 
-        LOGICAL NC_GET_ATTRIB, coordvar, got_it
+        LOGICAL NC_GET_ATTRIB, got_it
         INTEGER TM_LENSTR1, vlen, ref_dset, ref_id, var_id,
-     .          vtype, nvdims, nvatts, vdims(8), iatt, imemb,
-     .          attype, attlen, attoutflag,
+     .          nvatts, att, imemb, attype, attlen, attoutflag,
      .          m_attid, m_attype, m_attlen, m_attoutflag,
      .          m_dset, m_cat, m_grid, m_var, m_ens_ax,
-     .          all_outflag, memb_id(nsets), i
+     .          all_outflag, memb_id(nsets), i, iatt
         REAL    attvals(50), m_attvals(50)
         CHARACTER attname*128
         CHARACTER*(maxlen) attstr, m_attstr
@@ -119,11 +119,8 @@
         ENDDO
 
 * Get number of attributes from the reference variable
-        CALL CD_GET_VAR_INFO (ref_dset, ref_id, vname(:vlen),
-     .                        vtype, nvdims, vdims,
-     .                        nvatts, coordvar, all_outflag, status)
-!       IF (coordvar) GOTO error
-
+        CALL CD_GET_VAR_NATTS (ref_dset, ref_id, vname(:vlen),
+     .                         nvatts, status)
 
 **** loop through the attribute list from the reference variable
         attloop: DO iatt = 1, nvatts
diff --git a/fer/gnl/set_var.F b/fer/gnl/set_var.F
index 2b9ff12..a89a7b4 100644
--- a/fer/gnl/set_var.F
+++ b/fer/gnl/set_var.F
@@ -89,6 +89,7 @@
 * V7   *acm* 5/16  Fix ticket 2432, see alsoticket 2352. For LET/D variables 
 *                  look for info under that dataset
 * V7   *acm*  6/12 Add Union aggregations: DEFINE DATA/AGG/U, ds_type 'UNI'
+* V720 *acm* 5/17 Implement specific calls in place of CD_GET_VAR_INFO
 
 	include 'tmap_dims.parm'
 #	include "tmap_dset.parm"
@@ -111,12 +112,11 @@
 * internal variable declarations:
 	LOGICAL		VALID_GRID, TM_LEGAL_NAME, TM_HAS_STRING,
      .			ACTS_LIKE_FVAR,
-     .                  have_mods, ez, gtts, ncfile, coordvar
+     .                  have_mods, ez, gtts, ncfile
 	INTEGER		GRID_FROM_NAME, TM_LENSTR1, STR_UPCASE, mod_cx,
      .			i, dset, grid, cat, var, loc, TMAP_status, 
      .			testvar, outtype_flag, varid, attid, attype, attlen, 
-     .			attoutflag, vartype, nvdims, nvatts, vdims(8), 
-     .			varoutflag, cx, idum
+     .			attoutflag, vartype, cx, idum
 	REAL		bad, scalefac, offset, val, dummy
 	CHARACTER	grid_name*64, title*128, units*128, newname*128,
      .                  is_nan*3, flag*10, typflag*10, varattname*512,
@@ -378,9 +378,7 @@
 
 * Get input type, store in variable outtype_flag
            IF (outtype_flag .EQ. 99) THEN
-              CALL CD_GET_VAR_INFO (dset, varid, varname, vartype, 
-     .                  nvdims, vdims, nvatts, coordvar, varoutflag, 
-     .                  status) 
+              CALL CD_GET_VAR_TYPE (dset, varid, vname, vartype, status)
               outtype_flag = vartype 
            ENDIF
 
diff --git a/fer/gnl/show_1_mr.F b/fer/gnl/show_1_mr.F
index fa03a47..d1aec4a 100644
--- a/fer/gnl/show_1_mr.F
+++ b/fer/gnl/show_1_mr.F
@@ -59,7 +59,8 @@
 *		  showing 5D or 6D variables
 * V7    acm  6/16 Ticket 2437: Deprecating mode_6d_lab. 
 *		  Adjust output to 6-D or 4-D grids
-
+* V702 *sh* 2/17  Reveal dynamic memory instead of block memory
+*		  Increase field widths for long axes
 
 	include	'tmap_dims.parm'
 	include	'xtm_grid.cmn_text'
@@ -82,13 +83,13 @@
 * local variable declarations:
 	LOGICAL	ITS_UN_CACHED, FOUR_D_GRID
 	INTEGER TM_LENSTR1, MR_DIM_LEN,
-     .		idim, ndim, mrlen, bk1len, nbklen, dset, listdims
+     .		idim, ndim, mrlen, mrsizelen, dset, listdims
 	CHARACTER VAR_CODE*128, ALG_TRANS_CODE*3, ARG_STRING*12, TM_FMT*8,
      .		  protection*4, shape*4, dname*14, gname*12, vname*128,
      .		  ww_lo(nferdims)*20, ww_hi(nferdims)*20, 
-     .		  ss_lo(nferdims)*6, ss_hi(nferdims)*6,
-     .		  mrbuf*4, bk1buf*4, 
-     .		  nbkbuf*4, cache_stat*8
+     .		  ss_lo(nferdims)*9, ss_hi(nferdims)*9,
+     .		  mrbuf*4, mrsizebuf*8,
+     .		  cache_stat*8
 
 * If mode 6d_lab has been canceled, we will list only the first 4 dimensions.
 
@@ -129,14 +130,15 @@
      .		     ax_dec_pt(idim), ww_hi(idim) )
 	   ENDIF
 	   IF ( mr_lo_ss(mr,idim) .EQ. unspecified_int4 ) THEN
-	      ss_lo(idim) = ' ...'
-	      ss_hi(idim) = ' ...'
+	      ss_lo(idim) = '     ...'
+	      ss_hi(idim) = '     ...'
 	   ELSEIF ( mr_hi_ss(mr,idim) .GT. 9999 ) THEN
-	      WRITE ( ss_lo(idim), '(I6)' ) mr_lo_ss(mr,idim)
-	      WRITE ( ss_hi(idim), '(I6)' ) mr_hi_ss(mr,idim)
+! not needed any longer ...
+	      WRITE ( ss_lo(idim), '(I9)' ) mr_lo_ss(mr,idim)
+	      WRITE ( ss_hi(idim), '(I9)' ) mr_hi_ss(mr,idim)
 	   ELSE
-	      WRITE ( ss_lo(idim), '(I4)' ) mr_lo_ss(mr,idim)
-	      WRITE ( ss_hi(idim), '(I4)' ) mr_hi_ss(mr,idim)
+	      WRITE ( ss_lo(idim), '(I9)' ) mr_lo_ss(mr,idim)
+	      WRITE ( ss_hi(idim), '(I9)' ) mr_hi_ss(mr,idim)
 	   ENDIF
  180	CONTINUE
 
@@ -166,17 +168,15 @@
 	ELSE
 	   gname = ']'
 	ENDIF
-	mrbuf  = TM_FMT( FLOAT(mr), 0, 4, mrlen )
-	nbkbuf = TM_FMT( FLOAT(mr_nblks(mr)),0,4,nbklen )
-	bk1buf = TM_FMT( FLOAT(mr_blk1(mr)),0,4,bk1len )
-	risc_buff = ' '
+	mrbuf      = TM_FMT( FLOAT(mr), 0, 4, mrlen )
+	mrsizebuf  = TM_FMT( FLOAT(mr_size(mr)), 0, 8, mrsizelen )
+	risc_buff  = ' '
 	WRITE ( risc_buff, 3010 )	vname(:TM_LENSTR1(vname)),
      .					dname(:TM_LENSTR1(dname)),
      .					gname(:TM_LENSTR1(gname)),
      .					shape,
      .					mrbuf(:mrlen),
-     .					bk1buf(:bk1len),
-     .					nbkbuf(:nbklen),
+     .					mrsizebuf(:mrsizelen),
      .					protection,
      .					cache_stat
 
@@ -201,9 +201,8 @@
 
 	CALL SPLIT_LIST(pttmode_explct, show_lun, risc_buff, 0)
 
- 3010	FORMAT(T2,A,'[',2A,T36,A4,'  mr:',A,'  blk1:',A,
-     .'  nblk:',A,1X,A4,1x,A8)
- 3020	FORMAT(T2,5(A6,'/',A12),A6,'/',A12)
+ 3010	FORMAT(T2,A,'[',2A,T36,A4,'  mr:',A, ' size:', A, 1X,A4,1x,A8)
+ 3020	FORMAT(T2,5(A9,'/',A12),A9,'/',A12)
  3030	FORMAT(T2,6(4X,A3,A12))
 
  5000	RETURN
diff --git a/fer/gnl/show_1_uvar_xml.F b/fer/gnl/show_1_uvar_xml.F
index 4a3c5b0..215dab3 100644
--- a/fer/gnl/show_1_uvar_xml.F
+++ b/fer/gnl/show_1_uvar_xml.F
@@ -48,6 +48,7 @@
 * V650  Write to lun which may be set to a file unit number rather than std out
 * V67  *acm* 2/11 XML fixes. New attribute formatting, ![CDATA] escape, upper/lowercase handling.
 * V67  *acm* 2/16 Fixes for getting extra attributes that may have been assigned
+* V720 *acm* 5/17 Implement specific calls in place of CD_GET_VAR_INFO
 
         include 'tmap_dims.parm'
 	include 'xdset_info.cmn_text'
@@ -66,11 +67,10 @@
         LOGICAL first
 	
 * local variable declarations:
-        LOGICAL NC_GET_ATTRIB, got_it, coordvar
+        LOGICAL NC_GET_ATTRIB, got_it
 	INTEGER TM_LENSTR1, GRID_FROM_NAME_XML, STR_SAME,
      .          slen, llen, grid, cx_expr, i, j, status,
-     .            varid, vtype, nvdims, vdims(8), nvatts, blen, 
-     .            len_attbuff, attoutflag, all_outflag, attid, 
+     .            varid, nvatts, blen, len_attbuff, attoutflag, attid, 
      .            attlen, attype, iatt, dset, alen, itype
 	CHARACTER FULL_UVAR_NAME_XML*150, FULL_UVAR_NAME*150, 
      .            TM_FMT*12,
@@ -200,8 +200,8 @@
         ENDIF
 	IF (status .NE. ferr_ok) GOTO 1000
 
-	CALL CD_GET_VAR_INFO (dset, varid, vname, vtype, nvdims, 
-     .            vdims, nvatts, coordvar, all_outflag, status)
+	CALL CD_GET_VAR_NATTS (dset, varid, vname, nvatts, status)
+
 	IF (status .NE. ferr_ok) GOTO 1000
 
 	DO 200 iatt = 1, nvatts
diff --git a/fer/gnl/show_data_files.F b/fer/gnl/show_data_files.F
index c45704b..b487517 100644
--- a/fer/gnl/show_data_files.F
+++ b/fer/gnl/show_data_files.F
@@ -58,6 +58,8 @@
 * V698 *sh*   2/16 insert blank line at conclusion of list
 * V702 *sh*  11/16 number the member files with the syntax (e.g.) "12.3"
 * V71 12/16 *acm* For ticket 2158: working with true monthly time axes.
+* V73  4/17 *acm* Change the text when showing members of a union aggregation,
+*                 implement dataset.member notation for unions, (e.g.) "12.3"
 
 	include 'tmap_dims.parm'
 #	include "tmap_dset.parm"
@@ -97,7 +99,8 @@
 
 * show aggregation members
         ELSEIF (ds_type(dset) .EQ. 'ENS'
-     .    .OR.  ds_type(dset) .EQ. 'FCT') THEN
+     .    .OR.  ds_type(dset) .EQ. 'FCT'
+     .    .OR.  ds_type(dset) .EQ. 'UNI') THEN
 
 * ... get parent aggregation dataset number in string form
 	   abuff = LEFINT(dset, alen )
diff --git a/fer/gnl/show_data_set_vars.F b/fer/gnl/show_data_set_vars.F
index e2a8e23..ad47244 100644
--- a/fer/gnl/show_data_set_vars.F
+++ b/fer/gnl/show_data_set_vars.F
@@ -82,6 +82,8 @@
 * V7   *acm*  6/12 Add Union aggregations: DEFINE DATA/AGG/U, ds_type 'UNI'
 * V7    acm  6/16 Ticket 2437: Deprecating mode_6d_lab. 
 *		  Adjust output to 6-D or 4-D grids
+* V720  3/17 *acm*  clean up long commented-out code referring to aggregations 
+* V720 *acm* 5/17 Implement specific calls in place of CD_GET_VAR_INFO
 
 	include 'tmap_dims.parm'
 #	include "tmap_dset.parm"
@@ -107,13 +109,12 @@
 	
 * local variable declarations:
 	LOGICAL		FOUR_D_GRID,
-     .			first_time, its_delimited, is_undetermined, coordvar
+     .			first_time, its_delimited, is_undetermined
 	INTEGER 	TM_LENSTR1, TM_LENSTR, TM_GET_CALENDAR_ID, GRID_FROM_NAME,
      .			ivar, i, dlen, len, grid, taxis, slen(nferdims), tlen, 
      .			nfields, kvar, field_types(maxezvars), 
      .			cal_id, len_cal, j, num_indices, rlen(nferdims), iok,
-     .			listdims, idim, igrid, nv, varid, vtype, nvdims, outflag,
-     .                  vdims(8),  nvatts
+     .			listdims, idim, igrid, nv, varid
 	CHARACTER	LEFINT*16, LOHI_STRING*48, TM_FMT*14, 
      .			TM_GET_CAL*32, 
      .			line*255, cal_name*32
@@ -226,7 +227,7 @@
 	         IF (status .NE. ferr_ok) GOTO 5000
 	         CALL TM_DEALLO_DYN_GRID (igrid)  
 
-*  Fill the grid in as in is_aggregate_grid
+*  Fill the grid in as in define_ef_aggregate_grid
 
 	         IF (igrid .NE. unspecified_int4) THEN
 	            DO 220 nv = 1, maxvars
@@ -271,8 +272,7 @@
 	   line = ds_var_code(ivar)
 	   IF (.NOT.mode_upcase_output) THEN  ! get original variable name
 	      CALL CD_GET_VAR_ID (dset, ds_var_code(ivar), varid, status)
-	      CALL CD_GET_VAR_INFO (dset, varid, line, vtype, 
-     .            nvdims, vdims, nvatts, coordvar, outflag, status)
+	      CALL CD_GET_VAR_VARNAME (dset, varid, line, status)
 	   ENDIF
 
 * ... separate into two lines if variable code is too long (11/92)
@@ -318,8 +318,7 @@
 	   line = ds_var_code(ivar)
 	   IF (.NOT.mode_upcase_output) THEN  ! get original variable name
 	      CALL CD_GET_VAR_ID (dset, ds_var_code(ivar), varid, status)
-	      CALL CD_GET_VAR_INFO (dset, varid, line, vtype, 
-     .            nvdims, vdims, nvatts, coordvar, outflag, status)
+	      CALL CD_GET_VAR_VARNAME (dset, varid, line, status)
 	   ENDIF
 * ... separate into two lines if variable code is too long (11/92)
            IF ( TM_LENSTR1( line ) .GT. 8 ) THEN
diff --git a/fer/gnl/show_line_xml.F b/fer/gnl/show_line_xml.F
index 08218b4..eaa1dde 100644
--- a/fer/gnl/show_line_xml.F
+++ b/fer/gnl/show_line_xml.F
@@ -84,12 +84,10 @@
 	INTEGER		TM_LENSTR1, TM_GET_CALENDAR_ID, cal_id, status
 	CHARACTER	TM_FMT*32, buff*80, outbuff*20
 
-        LOGICAL         coordvar, new
+        LOGICAL         new
         INTEGER         STR_SAME, 
-     .                  ivar,  llen,
-     .                  varid, vtype, nvdims, vdims(8), nvatts, blen, i, 
-     .                  len_attbuff, attoutflag, all_outflag, attid, 
-     .                  attlen, attype, iatt
+     .                  ivar, llen, varid, vtype, nvatts, blen, i, len_attbuff, 
+     .                  attoutflag, attid,  attlen, attype, iatt
         CHARACTER       vname*128, attname*128, attbuff*2048, 
      .                  outstring*2048, atype*10
 	REAL            vals(100)
@@ -237,9 +235,8 @@ C New form for attribute output, list values separately.
    50   dset = iset
 
 * other attributes
-
-        CALL CD_GET_VAR_INFO (dset, varid, vname, vtype, nvdims,
-     .           vdims, nvatts, coordvar, all_outflag, status)
+        CALL CD_GET_VAR_TYPE (dset, varid, vname, vtype, status)
+        CALL CD_GET_VAR_NATTS (dset, varid, vname, nvatts, status)
 
 * Data type of the axis in the file...
 
diff --git a/fer/mem/mr_available.F b/fer/gnl/show_mem_usage_line.F
similarity index 71%
copy from fer/mem/mr_available.F
copy to fer/gnl/show_mem_usage_line.F
index 5ad6b6d..d744e2a 100644
--- a/fer/mem/mr_available.F
+++ b/fer/gnl/show_mem_usage_line.F
@@ -1,10 +1,10 @@
-	SUBROUTINE MR_AVAILABLE ( mr )
+	SUBROUTINE SHOW_MEM_USAGE_LINE ( prefix, mem )
 
 *
 *
 *  This software was developed by the Thermal Modeling and Analysis
 *  Project(TMAP) of the National Oceanographic and Atmospheric
-*  Administration''s (NOAA) Pacific Marine Environmental Lab(PMEL),
+*  Administration's (NOAA) Pacific Marine Environmental Lab(PMEL),
 *  hereafter referred to as NOAA/PMEL/TMAP.
 *
 *  Access and use of this software shall impose the following
@@ -35,41 +35,42 @@
 *  CONNECTION WITH THE ACCESS, USE OR PERFORMANCE OF THIS SOFTWARE. 
 *
 *
-* flag that the specified variable is available to be used as a component and
-* to be deleted should memory space be tight
+* display a single line about memory usage with nice formatting
 
-* programmer - steve hankin
 * NOAA/PMEL, Seattle, WA - Tropical Modeling and Analysis Program
 * written for VAX computer under VMS operating system
-*
-* V200:  6/12/89
-*        2/12 *kms* Add E and F dimensions (use nferdims in tmap_dims.parm)
 
-        IMPLICIT NONE
-        include 'tmap_dims.parm'
+* V702  1/17 
+
+	include 'tmap_dims.parm'
 	include 'ferret.parm'
-	include 'xvariables.cmn'
+	include 'xprog_state.cmn'
+	include 'xrisc.cmn'
 
 * calling argument declarations:
-	INTEGER mr
+	INTEGER*8 mem
+	CHARACTER*(*)	prefix
 
 * internal variable declarations:
-	INTEGER last_head
+	INTEGER TM_LENSTR1, len, i1, prelen
+	CHARACTER TM_FMT*12,
+     .		  units*16, num_str*12
 
-* set flag that it is available for use and for deletion
-	mr_protected( mr ) = mr_not_protected
+        IF (mem .GT. 1000000) THEN
+           num_str = TM_FMT( mem/1.E6, 8, 12, len)
+           units = ' megawords'
+           i1 = 10
+        ELSE 
+           num_str = TM_FMT( FLOAT(mem), 8, 12, len)
+           units = ' words'
+           i1 = 6
+        ENDIF
 
-! temp diag
-	IF (mr_del_flink(mr) .NE. unspecified_int4) 
-     .		WRITE (6,*)' mr_avail_err'
-
-* insert the variable at the head of the deletion priority chain
-	last_head = mr_del_flink(0)
-	mr_del_blink(mr) = 0
-	mr_del_flink(mr) = last_head
-	mr_del_flink(0)  = mr
-	mr_del_blink(last_head) = mr
+	prelen = TM_LENSTR1(prefix)
+	
+        risc_buff = '    '//prefix(:prelen)//': '//
+     .		    num_str(:len)//units(:i1)
+	CALL SPLIT_LIST(pttmode_explct, show_lun, risc_buff, 0)
 
 	RETURN
 	END
-
diff --git a/fer/gnl/special_symbol.F b/fer/gnl/special_symbol.F
index 771ea43..9964ae1 100644
--- a/fer/gnl/special_symbol.F
+++ b/fer/gnl/special_symbol.F
@@ -67,6 +67,11 @@
 * V68   1/12 *acm*- Symbol FERRET_PRECISION is single or double.
 * V68   3/12 *acm*- Symbol SESSION_PID for the process ID
 * V68   2/13 *kms*- Symbol PROGRAM_NAME = Ferret or PyFerret
+* V702  3/17 *sh* - Dynamic memory calculation change for FERRET_MEMORY symbol
+*                 - added PEAK_MEMORY and SPAWN_STATUS
+* v720 7/17 *acm* ticket 2552 Make SPAWN_STATUS return the return status, so 0=succcess
+*                 SPAWN_OK -> SPAWN_OK, so 1=succcess, 0=failure
+*                 SPAWN_STATUS returns the status value
 
 * calling argument declarations:
 	INTEGER	  isym, slen
@@ -74,15 +79,17 @@
 
 * internal parameter declaration
 	INTEGER nspecial
-	PARAMETER (nspecial = 17)
+	PARAMETER (nspecial = 20)
 
 * internal variable declarations:
+	LOGICAL	IS_SECURE
 	INTEGER STR_UPCASE, TM_LENSTR, i, i1, ierr, wsid, 
      .          nxpix, nypix, llen, icount, irate, imax, iset
 c        REAL DTIME 
-        REAL TArray(2), dtime_res, clock_secs, count, cputime_now
+        REAL TArray(2), dtime_res, clock_secs, count, cputime_now, rstatus
 	CHARACTER special(nspecial)*16, upname*16
-	CHARACTER LEFINT*16, TM_FMT*12, NF_INQ_LIBVERS*80, NF_INQ_LIBVERS_*80
+	CHARACTER LEFINT*16, TM_FMT*12, NF_INQ_LIBVERS*80, NF_INQ_LIBVERS_*80,
+     .		  LEFINT8*16
         CHARACTER*10 current_date, current_time, zone
 	INTEGER itimes(8)
 
@@ -103,7 +110,10 @@ c        REAL DTIME
      .	     special(14)/ 'CURRENT_DATE' /,
      .	     special(15)/ 'CURRENT_TIME' /,
      .	     special(16)/ 'N_OPEN_DSETS' /,
-     .	     special(17)/ 'PROGRAM_NAME' /
+     .	     special(17)/ 'PROGRAM_NAME' /,
+     .	     special(18)/ 'PEAK_MEMORY' /,
+     .	     special(19)/ 'SPAWN_OK' /,
+     .	     special(20)/ 'SPAWN_STATUS' /
 
 	include 'tmap_dims.parm'
 	include 'ferret.parm'
@@ -114,6 +124,7 @@ c        REAL DTIME
 	include 'xvariables.cmn'
 #	include "tmap_dset.parm"
 	include 'xdset_info.cmn_text'
+	include 'xprog_state.cmn'	! for spawn_status
 
 * #ifdef for endianness info.
 #ifdef sun
@@ -146,7 +157,7 @@ c        REAL DTIME
 
  200	GOTO (1100, 1200, 1300, 1400, 1500, 1600, 1700, 1800, 
      .        1900, 2000, 2100, 2200, 2300, 2400, 2500, 2600,
-     .        2700) i
+     .        2700, 2800, 2900, 3000 ) i
 
 * PPL$XPIXEL, PPL$YPIXEL
  1100	CONTINUE
@@ -208,7 +219,7 @@ c        REAL DTIME
 	RETURN
 
 * FERRET_MEMORY
- 1800	value = TM_FMT(max_mem_blks*mem_blk_size/1.E6,3,12,llen)
+ 1800	value = TM_FMT(max_mem_allowed/1.E6,3,12,llen)
 	slen = llen
 	RETURN
 
@@ -306,5 +317,30 @@ c        CALL DTIME(TArray)
         slen = 6
         RETURN
 
+* PEAK_MEMORY
+ 2800	value = LEFINT8(peak_mem,slen)
+        RETURN
+
+* SPAWN_OK
+ 2900   IF (IS_SECURE()) THEN
+           rstatus = 0.
+        ELSEIF (spawn_status .EQ. 0.) THEN
+           rstatus = 1.
+	ELSE
+	   rstatus = 0.
+	ENDIF
+	value = TM_FMT(rstatus, 10, 10, slen)
+        RETURN
+
+* SPAWN_STATUS
+ 3000   IF (IS_SECURE()) THEN
+	   value = 'secure: spawn not allowed'
+	   slen = 25
+        ELSE
+           rstatus = spawn_status
+           value = TM_FMT(rstatus, 10, 10, slen)
+	ENDIf
+        RETURN
 
 	END
+
diff --git a/fer/gnl/var_stat.F b/fer/gnl/var_stat.F
index dc4569e..9305d20 100644
--- a/fer/gnl/var_stat.F
+++ b/fer/gnl/var_stat.F
@@ -1,4 +1,4 @@
-	SUBROUTINE VAR_STAT( dat, mv, cx, lun, full, status )
+	SUBROUTINE VAR_STAT( dat, mv, cx, lun, full, stat_digits, status )
 
 *  This software was developed by the Thermal Modeling and Analysis
 *  Project(TMAP) of the National Oceanographic and Atmospheric
@@ -73,6 +73,7 @@
 * V6.68  acm 3/14 ticket 2148: fix truncated ntot or nbad in stat listing
 * v6.931 acm 11/14 Delete ALL the stat* symbols that may be left over from 
 *                  a previous evaluation. STAT/BRIEF does not reset them all.
+* V720 *acm*  3/17 Ticket 2512: Add STAT/PRECICISION=
 
 	include 'tmap_dims.parm'
 	include 'errmsg.parm'
@@ -89,14 +90,14 @@
 
 * calling argument declarations:
 	LOGICAL	full
-	INTEGER	mv, cx, lun, status
+	INTEGER	mv, cx, lun, stat_digits, status
 	REAL    dat( m1lox:m1hix,m1loy:m1hiy,m1loz:m1hiz,m1lot:m1hit,m1loe:m1hie,m1lof:m1hif )
 
 * internal variable declarations:
 	INTEGER	TM_LENSTR1, CGRID_SIZE, GET_MAX_STRING_LEN,
      .		i, j, k, l, m, n, nbad, ngood, ntot, idim,
      .		len_line, len_set_name, grid, slen, i1, i2, nok, 
-     .		listdims, nfig
+     .		listdims, nfig, max_dig
 	REAL	datum, bad, std_dev, large, small, mean, sumsq_dev, dev
 	REAL*8	sum, sum2, xmean, zmean, x, xdelta, variance_c, diff
 
@@ -119,6 +120,13 @@
 	sum   = 0.0D0
         sumsq_dev = 0.0
 
+	max_dig = 0
+	IF (stat_digits .NE. 0) THEN
+	   max_dig = stat_digits
+	ELSE
+	   stat_digits = sig_fig
+	ENDIF
+
 	listdims = nferdims
 	IF ( .NOT. mode_6d_lab) listdims = 4
 
@@ -289,18 +297,18 @@
      .			' # flagged as bad  data: '//rbuff(1),0)
 	IF ( ngood .GT. 0 ) THEN
 	   nfig = 0
-           rbuff(1) = TM_FMT(small, sig_fig, 12, slen)
-           rbuff(2) = TM_FMT(large, sig_fig, 12, slen)
+           rbuff(1) = TM_FMT(small, stat_digits, 16, slen)
+           rbuff(2) = TM_FMT(large, stat_digits, 16, slen)
 	   diff = (large-small)/MAX( ABS(large), ABS(small) )
 	   IF (diff.LT.0.01 .AND. ngood.GT.1) THEN
-	      nfig = 4
-              rbuff(1) = TM_FMT(small, sig_fig+nfig, 20, slen)
-              rbuff(2) = TM_FMT(large, sig_fig+nfig, 20, slen)
+	      IF (max_dig .EQ. 0) nfig = 4
+              rbuff(1) = TM_FMT(small, stat_digits+nfig, 20, slen)
+              rbuff(2) = TM_FMT(large, stat_digits+nfig, 20, slen)
 	      diff = (large-small)/MAX( ABS(large), ABS(small) )
 	      IF (diff .LT. 1.e-7) THEN
-	        nfig = 16-sig_fig
-	        rbuff(1) = TM_FMT(small, sig_fig+nfig, 20, slen)
-	        rbuff(2) = TM_FMT(large, sig_fig+nfig, 20, slen)
+	       IF (max_dig .EQ. 0) nfig = 16-stat_digits
+	        rbuff(1) = TM_FMT(small, stat_digits+nfig, 20, slen)
+	        rbuff(2) = TM_FMT(large, stat_digits+nfig, 20, slen)
 	      ENDIF
 	   ENDIF
 
@@ -308,7 +316,7 @@
               rbuff(3) = '**too big**'
 	      slen = 11
            ELSE
-              rbuff(3) = TM_FMT(mean , sig_fig+nfig, 20, slen)
+              rbuff(3) = TM_FMT(mean , stat_digits+nfig, 20, slen)
            ENDIF
 	   CALL SPLIT_LIST(pttmode_explct, lun,
      .			' Minimum value: '//rbuff(1), 0)
@@ -371,7 +379,7 @@
            IF ( sumsq_dev .GE. 3.E35 ) THEN
               rbuff(1) = ' **too big**' 
            ELSE
-              rbuff(1) = TM_FMT(std_dev, sig_fig, 12, slen)
+              rbuff(1) = TM_FMT(std_dev, stat_digits, 16, slen)
            ENDIF
 	   CALL SPLIT_LIST(pttmode_explct, lun,
      .			' Standard deviation: '//rbuff(1), 0)
diff --git a/fer/ino/cdf_prep_cache.F b/fer/ino/cdf_prep_cache.F
index 60a0d8b..2d9a33d 100644
--- a/fer/ino/cdf_prep_cache.F
+++ b/fer/ino/cdf_prep_cache.F
@@ -1,4 +1,4 @@
-	SUBROUTINE CDF_PREP_CACHE( dflt_cx, filename, nvars, memory,
+	SUBROUTINE CDF_PREP_CACHE( dflt_cx, filename, nvars, 
      .			           mrlist, cxlist, clobber, status )
 
 *
@@ -66,7 +66,6 @@
 * calling argument declarations:
 	LOGICAL clobber
 	INTEGER dflt_cx, nvars, mrlist(*), cxlist(*), status
-	REAL	memory( mem_blk_size, max_mem_blks )
 	CHARACTER TM_INQ_PATH*2048, filename*(*)
 
 * local variable declarations
@@ -167,7 +166,7 @@
 	   CALL CREATE_TEMP_MEM_VAR( cx, mrlist(nvars), status )
 	   IF ( status .NE. ferr_ok ) GOTO 5000
 	   CALL UN_CACHE( mrlist(nvars) )
-	   memory(1, mr_blk1(mrlist(nvars))) = 0.0    ! just good house-keeping
+!	   memory(1, mr_blk1(mrlist(nvars))) = 0.0    ! just good house-keeping
  100	CONTINUE
 
 * echo the name of the output cache file
diff --git a/fer/ino/read_binary.F b/fer/ino/read_binary.F
index 99d63be..e7b1914 100644
--- a/fer/ino/read_binary.F
+++ b/fer/ino/read_binary.F
@@ -1,4 +1,4 @@
-	SUBROUTINE READ_BINARY ( memory, cx, mr, status )
+	SUBROUTINE READ_BINARY (  cx, mr, status )
 *
 *  This software was developed by the Thermal Modeling and Analysis
 *  Project(TMAP) of the National Oceanographic and Atmospheric
@@ -48,8 +48,10 @@
 * v604 *acm* 7/07 increase length of ds_name
 * V63  *acm* 10/09 Changes for gfortran build
 *       *acm* 3/12 cleanup old VMS ifdef
-* V685 *acm* 1/13  Ticket 2030: if we run out of memory, issue a new message
+* V685 *acm* 1/13  Ticket 2030: if we run out of  issue a new message
 * V702: *sh* 1/17 - bug fix: mr_protected must *end* at mr_not_in_use (=0)
+*		  - for trac enhancement #2369 -- dynamic memory management 
+*                 (it appears that dynamic work space is allocated but never used)
 
 	include	'tmap_errors.parm'
 	include	'tmap_dims.parm'
@@ -68,7 +70,7 @@
 
 * calling argument declarations:
 	INTEGER	cx, mr, status, fstatus
-	REAL	memory( mem_blk_size, max_mem_blks ), fdummy(1)
+	REAL	 fdummy(1)
 
 * functions
 	INTEGER BR_OPEN, BR_READ, BR_ADD_VAR
@@ -81,7 +83,7 @@
      .			fvar, nvar20, the_var, nleft, 
      .			cx0, cx1, cx20(20), mr20(20),
      .			mr1, rec1, scnt,
-     .			rec_to_read, nrepeat, columns, num_names, buffblk
+     .			rec_to_read, nrepeat, columns, num_names
 	INTEGER         lengths(nferdimsp1), permutes(nferdimsp1), skip, doRead
 	LOGICAL         firstTime
 	CHARACTER	VAR_CODE*128
@@ -172,10 +174,6 @@
 	   mr20(nleft) = dummy_mr
 	END DO
 	
-* allocate a buffer big enough for one record
-        CALL GET_WORK_SPC( columns, buffblk, status )	! was "nrepeat" B4 3/95
-	IF ( status .NE. merr_ok ) GOTO 5500
-
 * Get the current permutation list
 	CALL BR_GET_PERMUTES(permutes)
 
@@ -202,8 +200,8 @@
  		 IF (INDEX( ds_var_code(fvar),'-') .EQ. 0 ) THEN
 		    doRead = 1
 		    nvar20 = nvar20 + 1
-		    fstatus = BR_ADD_VAR(memory(1, mr_blk1(mr20(nvar20))),
-     1		                 doRead)
+		    fstatus = BR_ADD_VAR( memry(mr20(nvar20))%ptr,
+     1		                 doRead )
 		 ELSE
 		    doRead = 0
 		    fstatus = BR_ADD_VAR(fdummy, doRead)
@@ -217,17 +215,11 @@
 * read the data
 	if (BR_READ() .EQ. 0) goto 6000
 
-
-
-* free up the buffer space
-        CALL  RELEASE_WORK_SPC
-
 * flag that all the data is available
-	DO 800 ivar = 1, nvar20
+	DO ivar = 1, nvar20
 	   mr1 = mr20(ivar)
-	   mr_protected( mr1 ) = 1
-	   CALL MR_NOT_IN_USE( mr1 )	! decrement to 0=mr_not_in_use
- 800	CONTINUE
+	   CALL MR_AVAILABLE(mr1)
+	ENDDO
 
 * the data region obtained may be inadequate for the request
 * ("cx" is request, "cx1" is available)
@@ -264,7 +256,6 @@
  1000   FORMAT ('Binary file reading: Insufficient memory reading variable ', i4)
 	DO 5010 nleft = 1, nvar20-1	! delete all except last
  5010	CALL DELETE_VARIABLE(mr20(nleft))
-        CALL  RELEASE_WORK_SPC
 	CALL BR_CLOSE()
  5500	RETURN
  5600	CALL ERRMSG( ferr_limits, status,
diff --git a/fer/ino/read_delimited.F b/fer/ino/read_delimited.F
index 1317d7c..572b6fb 100644
--- a/fer/ino/read_delimited.F
+++ b/fer/ino/read_delimited.F
@@ -1,4 +1,4 @@
-	SUBROUTINE READ_DELIMITED( memory, cx, mr, status )
+	SUBROUTINE READ_DELIMITED(  cx, mr, status )
 
 *  This software was developed by the Thermal Modeling and Analysis
 *  Project(TMAP) of the National Oceanographic and Atmospheric
@@ -46,11 +46,12 @@
 * V500 *kob* 3/99- up VAR_CODE  to 64 chars
 * V552 *acm* 4/03- up VAR_CODE  to 128 chars
 *       *acm* 3/12 changes for 6D Ferret
-* V685 *acm* 1/13  Ticket 2030: if we run out of memory, issue a new message
+* V685 *acm* 1/13  Ticket 2030: if we run out of  issue a new message
 *                  and only clear the variables that had been initialized.
 * V701 *acm* 7/16  ticket 2449: report incorrect choice of date/ eurodate as an error
 * V702 *acm*11/16  handling read errors in date/time reading
 * V702: *sh* 1/17 - bug fix: mr_protected must *end* at mr_not_in_use (=0)
+*		  - for trac enhancement #2369 -- dynamic memory management 
 
 	include	'tmap_errors.parm'
 	include	'tmap_dims.parm'
@@ -69,7 +70,6 @@
 
 * calling argument declarations:
 	INTEGER	cx, mr, status
-	REAL	memory( mem_blk_size, max_mem_blks )
 
 * internal variable declarations:
 	INTEGER 	CGRID_SIZE, CX_DIM_LEN, TM_LENSTR1,
@@ -79,9 +79,11 @@
      .			cxlist(maxezvars), mrlist(maxezvars),
      .			field_type(maxezvars),
      .			mr1, ndim, las_dim, fst_dim, dims(nferdims),
-     .			rec_to_read, buffblk
+     .			rec_to_read
+	INTEGER*8	i8_size, c_ptr_array
 	CHARACTER	VAR_CODE*128, delims*80, errbuff*100
 
+
 * --- end of introductory code ---
 
 * nvar  and the_var - value from 1 to maxezvars --> variable # within EZ set
@@ -144,7 +146,6 @@
 
 * reserve and catalog space for the result
 	     CALL CREATE_MEM_VAR( cx_stack_ptr, mrlist(ivar), status )
-
 	     IF ( status .NE. ferr_ok ) GOTO 5000
 	   ENDIF
 
@@ -161,24 +162,29 @@
 	IF (mode_diagnostic) CALL DIAGNOSTIC_OUT('reading',mr,point_to_mr)
 
 * allocate a buffer big enough for one input ASCII record
-        CALL GET_WORK_SPC( 1024, buffblk, status ) ! really 4x1024
+	i8_size = 1024				
+        CALL GET_DYN_WORK_SPACE( i8_size, status )    
         IF ( status .NE. merr_ok ) GOTO 5500
 
 * create a null terminated string from the data set name (use record buffer)
 	CALL TM_FTOC_STRNG( ds_des_name(dset)
      .		     (:TM_LENSTR1(ds_des_name(dset))),
-     .		     memory(1,buffblk), 4*1024 )
+     .		     workmem(plegacy_work_buffer)%ptr, 4*1024 )
+
+* setup a c pointer array from the mrlist
+	CALL DYNMEM_MRLIST_C ( nvar, mrlist, c_ptr_array, status )
+        IF ( status .NE. merr_ok ) GOTO 5500
 
 * read the data via TMAP library routine
 * Status will report -1* variable number if the date/eurodate specification is wrong.
-
 	status = ferr_ok
 	CALL DECODE_FILE_JACKET (
-     .		  memory(1,buffblk), memory(1,buffblk),
+     .		  workmem(plegacy_work_buffer)%ptr,
+     .		  workmem(plegacy_work_buffer)%ptr,
      .		  delims, sf_skip(istep), rec_to_read, 4*1024, nvar,
-     .		  field_type, nread, mrlist, memory, mr_blk1,
-     .		  mem_blk_size, mr_bad_data, mr_c_pointer, status)
-
+     .		  field_type, nread, mrlist, c_ptr_array,
+     .		  mr_bad_data, mr_c_pointer, status)
+	CALL DYNMEM_FREE_PTR_ARRAY( c_ptr_array )
 	IF (status .NE. ferr_ok) GOTO 5800
 
 * update the variables with info about the number of records actually read
@@ -216,13 +222,12 @@
 	ENDIF
 
 * flag that all the data is available
-	DO 800 ivar = 1, nvar
+	DO ivar = 1, nvar
 	   IF (field_type(ivar) .NE. FTYP_MISSING) THEN
 	     mr1 = mrlist(ivar)
-	     mr_protected( mr1 ) = 1
-	     CALL MR_NOT_IN_USE( mr1 )	! decrement to 0=mr_not_in_use
+	     CALL MR_AVAILABLE(mr1)
 	   ENDIF
- 800	CONTINUE
+	ENDDO
 
 * the data region obtained may be inadequate for the request
 * ("cx" is request, "cx1" is available)
@@ -257,10 +262,12 @@
 	   WRITE ( errbuff, 1000 ) nvar20
            CALL WARN (errbuff)
 	ENDIF
- 1000   FORMAT ('Delimited file reading: Insufficient memory reading variable ', i4)
+ 1000   FORMAT ('Delimited file reading: Insufficient memory '
+     .        //'reading variable ', i4)
  1100	DO 5010 nleft = 1, nvar20-1	! delete all initialized so far
  5010	CALL DELETE_VARIABLE(mrlist(nleft))
-        CALL  RELEASE_WORK_SPC
+        CALL RELEASE_DYN_WORK_SPACE
+
  5500	RETURN
  5600	CALL ERRMSG( ferr_limits, status,
      .		ww_dim_name(idim)//' axis of '//VAR_CODE(cat_file_var,ask_var),
diff --git a/fer/ino/read_ez.F b/fer/ino/read_ez.F
index a7f816c..3abaef2 100644
--- a/fer/ino/read_ez.F
+++ b/fer/ino/read_ez.F
@@ -1,4 +1,4 @@
-	SUBROUTINE READ_EZ ( memory, cx, mr, status )
+	SUBROUTINE READ_EZ (  cx, mr, status )
 
 *
 *
@@ -61,8 +61,9 @@
 * V510: 6/00 *sh* - bug fix trap /COLUMNS= >grid size
 * V552 *acm* 4/03- up VAR_CODE  to 128 chars
 *       *acm* 3/12 cleanup old VMS ifdef
-* V685 *acm* 1/13  Ticket 2030: if we run out of memory, issue a new message
+* V685 *acm* 1/13  Ticket 2030: if we run out of  issue a new message
 * V702: *sh* 1/17 - bug fix: mr_protected must *end* at mr_not_in_use (=0)
+*		  - for trac enhancement #2369 -- dynamic memory management 
 
 	include	'tmap_errors.parm'
 	include	'tmap_dims.parm'
@@ -79,7 +80,6 @@
 
 * calling argument declarations:
 	INTEGER	cx, mr, status
-	REAL	memory( mem_blk_size, max_mem_blks )
 
 * internal variable declarations:
 	INTEGER 	CGRID_SIZE, CX_DIM_LEN,
@@ -87,7 +87,8 @@
      .			fvar, nvar20, the_var, nleft, nsize,
      .			cx0, cx1, cx20(20), mr20(20), nread,
      .			mr1, ndim, las_dim, fst_dim, dims(nferdims), rec1,
-     .			rec_to_read, nrepeat, columns, num_names, buffblk
+     .			rec_to_read, nrepeat, columns, num_names
+	INTEGER*8	i8_size
 	CHARACTER	VAR_CODE*128, errbuff*100
 
 * --- end of introductory code ---
@@ -168,7 +169,8 @@
  600	mr20(nleft) = dummy_mr
 	
 * allocate a buffer big enough for one record
-        CALL GET_WORK_SPC( columns, buffblk, status )	! was "nrepeat" B4 3/95
+	i8_size = columns
+        CALL GET_DYN_WORK_SPACE( i8_size, status )	! was "nrepeat" B4 3/95
 	IF ( status .NE. merr_ok ) GOTO 5500
 
 * diagnostic output
@@ -178,31 +180,31 @@
 	nread = rec_to_read
 
 	CALL EZ_READ( data_set, nread, nrepeat, columns,
-     .          memory( 1, buffblk), status,
-     .		memory( 1, mr_blk1(mr20( 1)) ),
-     .		memory( 1, mr_blk1(mr20( 2)) ),
-     .		memory( 1, mr_blk1(mr20( 3)) ),
-     .		memory( 1, mr_blk1(mr20( 4)) ),
-     .		memory( 1, mr_blk1(mr20( 5)) ),
-     .		memory( 1, mr_blk1(mr20( 6)) ),
-     .		memory( 1, mr_blk1(mr20( 7)) ),
-     .		memory( 1, mr_blk1(mr20( 8)) ),
-     .		memory( 1, mr_blk1(mr20( 9)) ),
-     .		memory( 1, mr_blk1(mr20(10)) ),
-     .		memory( 1, mr_blk1(mr20(11)) ),
-     .		memory( 1, mr_blk1(mr20(12)) ),
-     .		memory( 1, mr_blk1(mr20(13)) ),
-     .		memory( 1, mr_blk1(mr20(14)) ),
-     .		memory( 1, mr_blk1(mr20(15)) ),
-     .		memory( 1, mr_blk1(mr20(16)) ),
-     .		memory( 1, mr_blk1(mr20(17)) ),
-     .		memory( 1, mr_blk1(mr20(18)) ),
-     .		memory( 1, mr_blk1(mr20(19)) ),
-     .		memory( 1, mr_blk1(mr20(20)) )  )
+     .          workmem(plegacy_work_buffer)%ptr, status,
+     .		memry(mr20( 1))%ptr,
+     .		memry(mr20( 2))%ptr,
+     .		memry(mr20( 3))%ptr,
+     .		memry(mr20( 4))%ptr,
+     .		memry(mr20( 5))%ptr,
+     .		memry(mr20( 6))%ptr,
+     .		memry(mr20( 7))%ptr,
+     .		memry(mr20( 8))%ptr,
+     .		memry(mr20( 9))%ptr,
+     .		memry(mr20(10))%ptr,
+     .		memry(mr20(11))%ptr,
+     .		memry(mr20(12))%ptr,
+     .		memry(mr20(13))%ptr,
+     .		memry(mr20(14))%ptr,
+     .		memry(mr20(15))%ptr,
+     .		memry(mr20(16))%ptr,
+     .		memry(mr20(17))%ptr,
+     .		memry(mr20(18))%ptr,
+     .		memry(mr20(19))%ptr,
+     .		memry(mr20(20))%ptr  )
 	IF ( status .NE. merr_ok ) GOTO 5700
 
 * free up the buffer space
-        CALL  RELEASE_WORK_SPC
+        CALL  RELEASE_DYN_WORK_SPACE
 
 * update the variables with info about the number of records actually read
 * (for multi-dimensional grid reads just truncate the last axis best we can)
@@ -237,11 +239,10 @@
 	ENDIF
 
 * flag that all the data is available
-	DO 800 ivar = 1, nvar20
+	DO ivar = 1, nvar20
 	   mr1 = mr20(ivar)
-	   mr_protected( mr1 ) = 1
-	   CALL MR_NOT_IN_USE( mr1 )	! decrement to 0=mr_not_in_use
- 800	CONTINUE
+	   CALL MR_AVAILABLE(mr1)
+	ENDDO
 
 * the data region obtained may be inadequate for the request
 * ("cx" is request, "cx1" is available)
@@ -276,7 +277,7 @@
  1000   FORMAT ('ASCII file reading: Insufficient memory reading variable ', i4)
 	DO 5010 nleft = 1, nvar20-1	! delete all except last
  5010	CALL DELETE_VARIABLE(mr20(nleft))
-        CALL  RELEASE_WORK_SPC
+        CALL  RELEASE_DYN_WORK_SPACE
  5500	RETURN
  5600	CALL ERRMSG( ferr_limits, status,
      .		ww_dim_name(idim)//' axis of '//VAR_CODE(cat_file_var,ask_var),
diff --git a/fer/ino/read_perl.F b/fer/ino/read_perl.F
index c1ab794..9090970 100644
--- a/fer/ino/read_perl.F
+++ b/fer/ino/read_perl.F
@@ -1,6 +1,4 @@
-
-
-	SUBROUTINE READ_PERL ( memory, cx, mr, status )
+	SUBROUTINE READ_PERL (  cx, mr, status )
 *
 *  This software was developed by the Thermal Modeling and Analysis
 *  Project(TMAP) of the National Oceanographic and Atmospheric
@@ -50,6 +48,8 @@
 * V702: *sh* 1/17 - bug fix: mr_protected must *end* at mr_not_in_use (=0)
 *                   note: this fix was never tested -- applied blindly
 *                   by analogy with other ino/read*.F routines
+*		  - and for trac #2369 -- dynamic memory management 
+*		    (was dynamic memory ever used in this routine?)
 
 	include	'tmap_errors.parm'
 	include	'tmap_dims.parm'
@@ -68,7 +68,6 @@
 
 * calling argument declarations:
 	INTEGER	cx, mr, status, fstatus
-	REAL	memory( mem_blk_size, max_mem_blks )
 
 * functions
 	INTEGER PL_OPEN, PL_READ_VAR
@@ -81,7 +80,7 @@
      .			fvar, nvar20, the_var, nleft, 
      .			cx0, cx1, cx20(20), mr20(20),
      .			mr1, rec1, 
-     .			rec_to_read, nrepeat, columns, num_names, buffblk
+     .			rec_to_read, nrepeat, columns, num_names
 	INTEGER         lengths(nferdimsp1)
 	LOGICAL         firstTime
 	CHARACTER	VAR_CODE*128
@@ -169,10 +168,6 @@
 	DO nleft = nvar20+1, 20
 	   mr20(nleft) = dummy_mr
 	END DO
-	
-* allocate a buffer big enough for one record
-        CALL GET_WORK_SPC( columns, buffblk, status )	! was "nrepeat" B4 3/95
-	IF ( status .NE. merr_ok ) GOTO 5500
 
 * initialize the Perl reader
 	call toChar(ds_name(data_set), cname)
@@ -185,25 +180,19 @@
 	      IF ( ds_var_setnum( fvar ) .EQ. data_set ) then
  		 IF (INDEX( ds_var_code(fvar),'-') .EQ. 0 ) THEN
 		    nvar20 = nvar20 + 1
-		    fstatus = PL_READ_VAR(memory(1, mr_blk1(mr20(nvar20))),
-     1		                 lengths)
+		    fstatus = PL_READ_VAR( memry(mr20(nvar20))%ptr,
+     1		                 lengths )
 		 END IF
 		 if (fstatus .EQ. 0) goto 6000
 	      END IF
 	   END DO
 	END DO
 
-
-
-* free up the buffer space
-        CALL  RELEASE_WORK_SPC
-
 * flag that all the data is available
-	DO 800 ivar = 1, nvar20
+	DO ivar = 1, nvar20
 	   mr1 = mr20(ivar)
-	   mr_protected( mr1 ) = 1
-	   CALL MR_NOT_IN_USE( mr1 )    ! decrement to 0=mr_not_in_use
- 800	CONTINUE
+	   CALL MR_AVAILABLE(mr1)
+	ENDDO
 
 * the data region obtained may be inadequate for the request
 * ("cx" is request, "cx1" is available)
@@ -235,7 +224,6 @@
  5000	cx_stack_ptr = cx0
 	DO 5010 nleft = 1, nvar20-1	! delete all except last
  5010	CALL DELETE_VARIABLE(mr20(nleft))
-        CALL  RELEASE_WORK_SPC
 	CALL PL_CLOSE()
  5500	RETURN
  5600	CALL ERRMSG( ferr_limits, status,
diff --git a/fer/ino/read_remote.F b/fer/ino/read_remote.F
index 4c57d42..60fe0bc 100644
--- a/fer/ino/read_remote.F
+++ b/fer/ino/read_remote.F
@@ -1,4 +1,4 @@
-	SUBROUTINE READ_REMOTE ( memory, baddat, cx, mr, status )
+	SUBROUTINE READ_REMOTE (  baddat, cx, mr, status )
 
 *  This software was developed by the Thermal Modeling and Analysis
 *  Project(TMAP) of the National Oceanographic and Atmospheric
@@ -55,7 +55,7 @@
 
 * calling argument declarations:
 	INTEGER	cx, mr, status
-	REAL	memory( mem_blk_size, max_mem_blks ), baddat
+	REAL	 baddat
 
 * internal variable declarations:
 	LOGICAL	has_a_stride, has_strides(nferdims)
@@ -158,7 +158,7 @@
 	IF ( status .NE. ferr_ok ) GOTO 5900
 	IF (ds_var_type(uvar) .EQ. ptype_string)
      .		CALL INIT_C_STRING_ARRAY( MGRID_SIZE(mr),
-     .			                  memory(1,mr_blk1(mr)),
+     .			                  memry(mr)%ptr,
      .					  mr_c_pointer(mr)      )
 
 * un-cache it?
@@ -292,7 +292,7 @@
      .			grid_start,
      .			grid_end,
      .			grid_order,
-     .			memory( 1, mr_blk1( mr ) ),
+     .			memry( mr )%ptr,
      .			baddat, 
      .			sf_num,
      .			tmap_status		)
@@ -311,10 +311,11 @@
 * replace multiple bad data flags in some variables
 * IF ( ds_bad_flag( variable ) .NE. ds_missing_flag( variable ) )
 * *kob* 2/99 - call new routine to check for usage of NaN
-	IF (REPLACEABLE_BAD_FLAGS(ds_bad_flag(uvar), 
-     .                            ds_missing_flag(uvar)) .EQ. 1)
+	IF (mr_type(mr) .NE. ptype_string
+     .  .AND. REPLACEABLE_BAD_FLAGS(ds_bad_flag(uvar), 
+     .                              ds_missing_flag(uvar)) .EQ. 1)
      .	   CALL REPLACE_BAD_DATA
-     .		(memory(1,mr_blk1(mr)),mr,cx,ds_missing_flag(uvar))
+     .		(memry(mr)%ptr,mr,cx,ds_missing_flag(uvar))
 
 * successful completion
  	RETURN
diff --git a/fer/ino/read_tm.F b/fer/ino/read_tm.F
index 7982252..ccfaf8c 100644
--- a/fer/ino/read_tm.F
+++ b/fer/ino/read_tm.F
@@ -1,4 +1,4 @@
-	SUBROUTINE READ_TM ( memory, cx, mr, status )
+	SUBROUTINE READ_TM (  cx, mr, status )
 
 *  This software was developed by the Thermal Modeling and Analysis
 *  Project(TMAP) of the National Oceanographic and Atmospheric
@@ -55,6 +55,8 @@
 * v602  8/06 - *jli* native strides  replace cx_delta logic by the line_delta
 *       *acm* 3/12 cleanup old VMS ifdef
 *       *acm* 3/12 6D Ferret (common uses nferdims in tmap_dims.parm)
+* V702 1/17 *sh* as a part of conversion to dynamic memory fixed bug that 
+*                REPLACE_BAD_DATA was being called on string variables
 
 
 	include	'tmap_errors.parm'
@@ -71,11 +73,10 @@
 
 * calling argument declarations:
 	INTEGER	cx, mr, status
-	REAL	memory( mem_blk_size, max_mem_blks )
 
 * internal variable declarations:
 	LOGICAL	has_a_stride, has_strides(nferdims)
-	INTEGER MGRID_SIZE,
+	INTEGER MGRID_SIZE_DELTA,
      .			idim, variable, category, data_set, grid,
      .			sf_num, tmap_status, 
      .			lo_ss(nferdims), hi_ss(nferdims),
@@ -120,8 +121,8 @@
 	CALL CREATE_MEM_VAR( cx, mr, status )
 	IF ( status .NE. ferr_ok ) GOTO 5900
 	IF (ds_var_type(variable) .EQ. ptype_string)
-     .		CALL INIT_C_STRING_ARRAY( MGRID_SIZE(mr),
-     .			                  memory(1,mr_blk1(mr)),
+     .		CALL INIT_C_STRING_ARRAY( MGRID_SIZE_DELTA(mr),
+     .			                  memry(mr)%ptr,
      .					  mr_c_pointer(mr)      )
 
 * un-cache it?
@@ -250,7 +251,7 @@
      .			lo_ss,
      .			hi_ss,
      .			stride,
-     .			memory( 1, mr_blk1( mr ) ),
+     .			memry( mr )%ptr,
      .			sf_num,
      .			tmap_status		)
 	IF ( tmap_status .NE. merr_ok ) THEN
@@ -261,10 +262,13 @@
 * replace multiple bad data flags in some variables
 * IF ( ds_bad_flag( variable ) .NE. ds_missing_flag( variable ) )
 * *kob* 2/99 - call new routine to check for usage of NaN
-	IF (REPLACEABLE_BAD_FLAGS(ds_bad_flag(variable), 
-     .                            ds_missing_flag(variable)) .EQ. 1)
+! 1/17 *sh* check mr_type is needed here because missing data flags are not
+! properly initialized on string variables
+	IF ( mr_type(mr) .NE. ptype_string
+     . .AND. REPLACEABLE_BAD_FLAGS(ds_bad_flag(variable), 
+     .                             ds_missing_flag(variable)) .EQ. 1)
      .	   CALL REPLACE_BAD_DATA
-     .		(memory(1,mr_blk1(mr)),mr,cx,ds_missing_flag(variable))
+     .		(memry(mr)%ptr,mr,cx,ds_missing_flag(variable))
 
 * successful completion
 	RETURN
diff --git a/fer/mem/SOURCE_FILES b/fer/mem/SOURCE_FILES
index 193be1e..669bc51 100644
--- a/fer/mem/SOURCE_FILES
+++ b/fer/mem/SOURCE_FILES
@@ -4,8 +4,10 @@ assign_mr_cx.F\
 assign_temp_var.F\
 assign_variable.F\
 cgrid_size_delta.F\
+create_dyn_wrkspc.F\
 create_full_range_context.F\
 create_mem_var.F\
+create_mem_var_w_buffer.F\
 create_permutation.F\
 create_temp_mem_var.F\
 deallo_dyn_grid.F\
@@ -17,23 +19,28 @@ delete_un_cached_mvars.F\
 delete_user_var.F\
 delete_user_var_sub.F\
 delete_variable.F\
+dynmem_mrlist_c.F\
 erase_dset.F\
 fill_memory.F\
 find_mem_var.F\
 find_mem_var_incl_c_cache.F\
 find_mr_slot.F\
 find_var_name.F\
-free_memory.F\
+free_mr_dynmem.F\
+free_ws_dynmem.F\
 fvar_number.F\
-get_memory.F\
+get_dyn_work_space.F\
+get_mr_dynmem.F\
+get_ws_dynmem.F\
 get_work_mr.F\
-get_work_spc.F\
 hash_cx.F\
 hash_name.F\
+hook_mr_slot.F\
 init_grid.F\
 its_un_cached.F\
 mgrid_size.F\
 mgrid_size_delta.F\
+mr2freelist.F\
 mr_available.F\
 mr_dim_len.F\
 mr_in_use.F\
@@ -41,6 +48,7 @@ mr_not_in_use.F\
 mvar_num_dims.F\
 new_mr_w_edges.F\
 purge_all_uvars.F\
+purge_all_uvars_except_ex.F\
 purge_aux_var_dependents.F\
 purge_dset.F\
 purge_file_var.F\
@@ -51,7 +59,12 @@ purge_user_var.F\
 purge_all_memory.F\
 r_cgrid_size_delta.F\
 re_assign_variable.F\
-release_work_spc.F\
+release_dyn_work_space.F\
+show_aborted_mem_state.F\
+store_nul_mr_ptr.F\
+store_nul_ws_ptr.F\
+store_mr_ptr.F\
+store_ws_ptr.F\
 un_cache.F\
 unprotect_all_mrs.F\
 uvar_number.F\
diff --git a/fer/mem/assign_temp_var.F b/fer/mem/assign_temp_var.F
index 168c878..be02745 100644
--- a/fer/mem/assign_temp_var.F
+++ b/fer/mem/assign_temp_var.F
@@ -1,4 +1,4 @@
-	SUBROUTINE ASSIGN_TEMP_VAR ( cx, start_blk, num_blks, mr, status )
+	SUBROUTINE ASSIGN_TEMP_VAR ( cx, mr, status )
 
 *
 *
@@ -55,16 +55,12 @@
 	include	'xcontext.cmn'
 
 * calling arguments and local variables . . . . . . .
-	INTEGER	cx, start_blk, num_blks, mr, status
+	INTEGER	cx, mr, status
 
 * begin executable code:
 
 * assign the temporary variable into the memory variable list
-	CALL ASSIGN_VARIABLE  (	cx,
-     .				start_blk,
-     .				num_blks,
-     .				mr,
-     .				status		)
+	CALL ASSIGN_VARIABLE  (	cx, mr, status )
 	IF ( status .NE. ferr_ok ) GOTO 5000
 
 * modify assigned slot in memory table to reflect temporary nature of variable
diff --git a/fer/mem/assign_variable.F b/fer/mem/assign_variable.F
index 55f7e09..c9e93bd 100644
--- a/fer/mem/assign_variable.F
+++ b/fer/mem/assign_variable.F
@@ -1,9 +1,4 @@
-	SUBROUTINE ASSIGN_VARIABLE
-     .		      ( cx,
-     .			start_block,
-     .			num_blocks,
-     .			mr,
-     .			status      )
+	SUBROUTINE ASSIGN_VARIABLE( cx, mr, status )
 
 *
 *
@@ -60,6 +55,8 @@
 * V200:  5/18/89 - 4D symmetrical; using mr_del_ deletion chain
 *		 - context assignment in a separate routine
 *        2/12 *kms* Add E and F dimensions (use nferdims in tmap_dims.parm)
+* V702:  1/17 *sh* - dynamic memory management
+*                  - find MR slot outside of this routine 
 
         IMPLICIT NONE
         include 'tmap_dims.parm'
@@ -69,26 +66,24 @@
 	include 'xcontext.cmn'
 
 * calling argument declarations:
-	INTEGER		cx, start_block, num_blocks, mr, status
+	INTEGER		cx, mr, status
 
 * internal variable declarations:
 	CHARACTER*4	VAR_CODE
 
-* get a free slot in the memory variable table
-	CALL FIND_MR_SLOT( cx, mr, status )
-	IF ( status .NE. ferr_ok ) RETURN
-
-* point mr slot to data in bulk memory
-	mr_blk1     ( mr )	= start_block
-	mr_nblks    ( mr )	= num_blocks
-
 * flag it as "in progress"
-	mr_protected( mr )	= mr_in_progress
+	mr_protected( mr ) = mr_in_progress
+
+* since it is in progress it is "essential" (not safe to delete)
+	essential_mem = essential_mem + mr_size(mr)
+	IF (essential_mem.GT.peak_essential_mem) 
+     .		peak_essential_mem = essential_mem
 
 * assign variable context to slot
 	CALL ASSIGN_MR_CX( cx, mr )
 
 * success
+	status = ferr_ok    ! 1/17 no longer a failure possibility here
  5000	RETURN
 
 * error exit : no space available
diff --git a/fer/mem/fill_memory.F b/fer/mem/create_dyn_wrkspc.F
similarity index 73%
copy from fer/mem/fill_memory.F
copy to fer/mem/create_dyn_wrkspc.F
index 3b277a8..6160073 100644
--- a/fer/mem/fill_memory.F
+++ b/fer/mem/create_dyn_wrkspc.F
@@ -1,7 +1,5 @@
-	SUBROUTINE FILL_MEMORY ( memory, start_block, num_blocks, fill_word )
+	SUBROUTINE CREATE_DYN_WRKSPC( rqst_size, ws, status )
 
-*
-*
 *  This software was developed by the Thermal Modeling and Analysis
 *  Project(TMAP) of the National Oceanographic and Atmospheric
 *  Administration''s (NOAA) Pacific Marine Environmental Lab(PMEL),
@@ -35,32 +33,40 @@
 *  CONNECTION WITH THE ACCESS, USE OR PERFORMANCE OF THIS SOFTWARE. 
 *
 *
-* fill a memory region with the specified value
+* allocate the requested amount of dynamic memory (using c or python malloc)
+* return the index of the workmem buffer used
+
+* the hierarchy of calls is as follows
+*   create_dyn_wrkspc ==> get_ws_dynmem.F ==> get_ws_mem.c ==> store_ws_ptr.F
 
 * programmer - steve hankin
-* NOAA/PMEL, Seattle, WA - Tropical Modeling and Analysis Program
-* written for VAX computer under VMS operating system
-*
-* revision 0.0 - 4/23/86
-*        2/12 *kms* Add E and F dimensions (use nferdims in tmap_dims.parm)
+* V702 *sh*  1/17 trac enhancement ticket #2369 - dynamic memory
 
         IMPLICIT NONE
         include 'tmap_dims.parm'
+	include 'errmsg.parm'
 	include	'ferret.parm'
-	include	'xvariables.cmn'
+	include 'xvariables.cmn'
 
 * calling argument declarations:
-	INTEGER	start_block, num_blocks
-	REAL	memory( mem_blk_size, max_mem_blks )
-	REAL	fill_word
+	INTEGER	ws, status
+	INTEGER*8 rqst_size
 
 * internal variable declarations:
-	INTEGER	iword, iblock
 
-	DO 100 iblock = start_block, start_block+num_blocks-1
-	DO 100 iword  = 1, mem_blk_size
- 100	memory( iword, iblock ) = fill_word
 
-	RETURN
+* select the buffer to use
+* ... we can get away with a simplistic solution, because there are so few
+*     buffers to manage
+	DO ws = 2, max_ws
+	   IF (ws_size(ws) .EQ. 0) GOTO 10
+	ENDDO
+	CALL ERRMSG( ferr_internal, status, 'create_dyn_wrkspc', *5000)
+
+* allocate the memory
+ 10	CALL GET_WS_DYNMEM( rqst_size, ws, status )
+
+ 5000	RETURN
+
 	END
 
diff --git a/fer/mem/create_mem_var.F b/fer/mem/create_mem_var.F
index d9e1cc5..2f69592 100644
--- a/fer/mem/create_mem_var.F
+++ b/fer/mem/create_mem_var.F
@@ -33,82 +33,25 @@
 *  CONNECTION WITH THE ACCESS, USE OR PERFORMANCE OF THIS SOFTWARE. 
 *
 *
-* allocate and claim sufficient memory space, and assign and fill a slot in the 
-* memory variable table for the variable or expression indicated in the context
+* call CREATE_MEM_VAR_W_BUFFER, asking for only a single ("1") buffer
 
-* programmer - steve hankin
-* NOAA/PMEL, Seattle, WA - Tropical Modeling and Analysis Program
-* written for VAX computer under VMS operating system
-*
-* revision 0.0 - 2/19/87
-* V530   8/00 *sh* - double the memory allocation for string variables
-*			(to support 64 bit pointers)
-* V533   6/01 *sh* - use CGRID_SIZE_DELTA to allow mem vars with delta values
-* V68  *acm* 1/12  ifdef double_p for double-precision ferret.
-*        2/12 *kms* Add E and F dimensions (use nferdims in tmap_dims.parm)
-* V69+ *acm*  9/14 Ticket 1758. Memory request uses number of blocks not words
-* V702 1/16 *sh*: added sanity checking of memory when debugging
+* V702 *sh* 11/16  -- most code moved to CREATE_MEM_VAR_W_BUFFER
+*                     change needed for split-gather on compressed axis
 
         IMPLICIT NONE
-        include 'tmap_dims.parm'
-	include 'ferret.parm'
-	include 'errmsg.parm'
-	include 'xvariables.cmn'
-	include 'xcontext.cmn'
+	include 'tmap_dims.parm'
 	include 'xprog_state.cmn'
 
 * calling argument declarations:
-	INTEGER		cx, mr, status
-
-* internal variable declarations:
-	INTEGER	CGRID_SIZE_DELTA,
-     .		grid_size, start_block, num_blocks, num_slen, grid_blocks
-	REAL	R_CGRID_SIZE_DELTA, rgrid_size
-	CHARACTER  LEFINT*12, num_str*12
-
-* amount of storage space required
-* Compute as a real - grid sizes may overflow integer storage.
-
-	rgrid_size = R_CGRID_SIZE_DELTA( cx )  ! as a real
-
-* ... note: later we will want an array of word sizes indexed by type
-#ifdef double_p
-	IF (cx_type(cx) .EQ. ptype_string) rgrid_size = rgrid_size
-#else
-	IF (cx_type(cx) .EQ. ptype_string) rgrid_size = rgrid_size*2 ! 8 byte ptr
-#endif
-
-* COMPUTE # BLOCKS NEEDED
-	grid_blocks = INT( ( rgrid_size + mem_blk_size - 1 ) / mem_blk_size )
+	INTEGER	cx, mr, status
 
-* claim the storage space
-	CALL GET_MEMORY( INT(rgrid_size), grid_blocks, start_block, num_blocks, status )
-	IF ( status .NE. ferr_ok ) RETURN
+	CALL CREATE_MEM_VAR_W_BUFFER(cx, mr, 1, status )
 
-* catalog it in the memory variable table
-	CALL ASSIGN_VARIABLE
-     .		      ( cx,
-     .			start_block,
-     .			num_blocks,
-     .			mr,
-     .			status 	)
-	IF ( status .NE. ferr_ok ) RETURN
-
-* sanity check memory integrity after creating new variable
+* diagnostic sanity check of memory after creating new variable
 #ifndef NDEBUG
         IF ( mode_diagnostic ) CALL SANITY_CHECK_MEMORY("CREATE_MEM_VAR")
 #endif
 
-
-	RETURN
-
-5100	CONTINUE
-	num_str = LEFINT(INT((rgrid_size+0.99999E6)/1.0E6),num_slen)
-	CALL ERRMSG( ferr_insuff_memory,status,
-     .    num_str(:num_slen)//' Mwords were requested. ', *5130)
-5130    CALL WARN('You can use SET MEMORY/SIZE=xxx to increase memory.')
-	CALL WARN('The "Memory use" section of the FERRET '
-     .              //'Users Guide has further tips.') 
-
 	RETURN
 	END
+
diff --git a/fer/mem/create_mem_var.F b/fer/mem/create_mem_var_w_buffer.F
similarity index 76%
copy from fer/mem/create_mem_var.F
copy to fer/mem/create_mem_var_w_buffer.F
index d9e1cc5..36d8fd8 100644
--- a/fer/mem/create_mem_var.F
+++ b/fer/mem/create_mem_var_w_buffer.F
@@ -1,4 +1,4 @@
-	SUBROUTINE CREATE_MEM_VAR( cx, mr, status )
+	SUBROUTINE CREATE_MEM_VAR_W_BUFFER( cx, mr, nbuffer, status )
 
 *  This software was developed by the Thermal Modeling and Analysis
 *  Project(TMAP) of the National Oceanographic and Atmospheric
@@ -47,7 +47,10 @@
 * V68  *acm* 1/12  ifdef double_p for double-precision ferret.
 *        2/12 *kms* Add E and F dimensions (use nferdims in tmap_dims.parm)
 * V69+ *acm*  9/14 Ticket 1758. Memory request uses number of blocks not words
-* V702 1/16 *sh*: added sanity checking of memory when debugging
+* V702 11/16 *sh* based upon previous CREATE_MEM_VAR which had no nbuffer
+* V702  1/17 *sh*: added sanity checking of memory when debugging
+*     - find MR slot here, before calling ASSIGN_VARIABLE
+*     - for trac enhancement #2369 -- dynamic memory management 
 
         IMPLICIT NONE
         include 'tmap_dims.parm'
@@ -58,18 +61,21 @@
 	include 'xprog_state.cmn'
 
 * calling argument declarations:
-	INTEGER		cx, mr, status
+	INTEGER	cx, mr, nbuffer, status
 
 * internal variable declarations:
-	INTEGER	CGRID_SIZE_DELTA,
-     .		grid_size, start_block, num_blocks, num_slen, grid_blocks
+	INTEGER*8 i8_size
 	REAL	R_CGRID_SIZE_DELTA, rgrid_size
 	CHARACTER  LEFINT*12, num_str*12
 
+* get a free slot in the memory variable table -- delete another var if needed
+	CALL FIND_MR_SLOT( mr, status )
+	IF ( status .NE. ferr_ok ) RETURN
+
 * amount of storage space required
 * Compute as a real - grid sizes may overflow integer storage.
-
-	rgrid_size = R_CGRID_SIZE_DELTA( cx )  ! as a real
+* ?? won't it blow up in INT(rgrid_size) below in that case ?? *sh* 
+	rgrid_size = R_CGRID_SIZE_DELTA( cx ) * nbuffer  ! as a real
 
 * ... note: later we will want an array of word sizes indexed by type
 #ifdef double_p
@@ -78,37 +84,25 @@
 	IF (cx_type(cx) .EQ. ptype_string) rgrid_size = rgrid_size*2 ! 8 byte ptr
 #endif
 
-* COMPUTE # BLOCKS NEEDED
-	grid_blocks = INT( ( rgrid_size + mem_blk_size - 1 ) / mem_blk_size )
-
-* claim the storage space
-	CALL GET_MEMORY( INT(rgrid_size), grid_blocks, start_block, num_blocks, status )
-	IF ( status .NE. ferr_ok ) RETURN
+* claim the dynamic storage space needed
+	i8_size = rgrid_size
+	CALL GET_MR_DYNMEM( i8_size, mr, status )
+	IF ( status .NE. ferr_ok ) THEN
+	   CALL MR2FREELIST(mr)
+	   RETURN
+	ENDIF
 
 * catalog it in the memory variable table
-	CALL ASSIGN_VARIABLE
-     .		      ( cx,
-     .			start_block,
-     .			num_blocks,
-     .			mr,
-     .			status 	)
-	IF ( status .NE. ferr_ok ) RETURN
+	CALL ASSIGN_VARIABLE( cx, mr, status )
+	IF ( status .NE. ferr_ok ) RETURN  ! 1/17 no longer possible
 
-* sanity check memory integrity after creating new variable
+* hook it into the right cache lookup list
+	CALL HOOK_MR_SLOT(cx, mr)
+
+* diagnostic sanity check of memory after creating new variable
 #ifndef NDEBUG
         IF ( mode_diagnostic ) CALL SANITY_CHECK_MEMORY("CREATE_MEM_VAR")
 #endif
 
-
-	RETURN
-
-5100	CONTINUE
-	num_str = LEFINT(INT((rgrid_size+0.99999E6)/1.0E6),num_slen)
-	CALL ERRMSG( ferr_insuff_memory,status,
-     .    num_str(:num_slen)//' Mwords were requested. ', *5130)
-5130    CALL WARN('You can use SET MEMORY/SIZE=xxx to increase memory.')
-	CALL WARN('The "Memory use" section of the FERRET '
-     .              //'Users Guide has further tips.') 
-
 	RETURN
 	END
diff --git a/fer/mem/create_permutation.F b/fer/mem/create_permutation.F
index e171e2a..a988d2a 100644
--- a/fer/mem/create_permutation.F
+++ b/fer/mem/create_permutation.F
@@ -1,5 +1,5 @@
-	SUBROUTINE CREATE_PERMUTATION( memory,cx, msrc, perm, mdst, 
-     .				do_shrink, status )
+	SUBROUTINE CREATE_PERMUTATION( cx, msrc, perm, mdst, do_shrink,
+     .				       status )
 
 *
 *
@@ -53,6 +53,7 @@
 *v580  *acm* 11/04 transfer cx_cal_id, the calendar ID used when  
 *                  computing world coordinates
 *        2/12 *kms* Add E and F dimensions (use nferdims in tmap_dims.parm)
+* V702 1/17 *sh* for trac enhancement #2369 -- dynamic memory management 
 
 * ... Ticket 1480: When writing to netCDF, check whether the region 
 *     on modulo axes is just one grid-cell longer than the axis length,
@@ -69,7 +70,6 @@
 * calling argument declarations:
 	LOGICAL do_shrink
 	INTEGER	cx, msrc, perm(nferdims), mdst, status
-	REAL	memory( mem_blk_size, max_mem_blks )
 
 * internal variable declarations:
 	LOGICAL	table_entry_only
@@ -170,15 +170,19 @@
 * permute or kludge around permuting the data
 	IF ( table_entry_only .AND. .NOT.do_shrink) THEN
 * ... point to the original data using permuted limits
-	   CALL FREE_MEMORY( mr_blk1(mdst), mr_nblks(mdst) )
+* ... a duplicated pointer, only 
+*     mr_size of the table-entry-only mr will be zero
+*     total_mem need not be adjusted cuz no actual new memory is involved
+	   essential_mem = essential_mem - mr_size(mdst)
+	   CALL FREE_MR_DYNMEM( mdst )
+	   memry(mdst)%ptr => memry(msrc)%ptr
+
 	   mr_c_pointer(mdst) = mr_c_pointer(msrc)
-	   mr_blk1     (mdst) = mr_blk1(msrc)
-	   mr_nblks    (mdst) = mr_nblks(msrc)
 	   mr_protected(mdst) = mr_table_entry_only
 	ELSE
 * ... permute the data
-	   CALL PERMUTE( cx, memory(1, mr_blk1(msrc)), msrc,
-     .			     memory(1, mr_blk1(mdst)), mdst, perm )
+	   CALL PERMUTE( cx, memry(msrc)%ptr, msrc,
+     .			     memry(mdst)%ptr, mdst, perm )
 	ENDIF
 
 	RETURN
diff --git a/fer/mem/create_temp_mem_var.F b/fer/mem/create_temp_mem_var.F
index ee9753e..7e4e809 100644
--- a/fer/mem/create_temp_mem_var.F
+++ b/fer/mem/create_temp_mem_var.F
@@ -48,6 +48,8 @@
 * V68  *acm* 1/12  ifdef double_p for double-precision ferret.
 *        2/12 *kms* Add E and F dimensions (use nferdims in tmap_dims.parm)
 * V69+ *acm*  9/14 Ticket 1758. Memory request uses number of blocks not words
+* V702 1/16 *sh*: find MR slot here, before calling ASSIGN_VARIABLE
+*		  for trac enhancement #2369 -- dynamic memory management 
 
         IMPLICIT NONE
         include 'tmap_dims.parm'
@@ -57,13 +59,16 @@
 	include 'xcontext.cmn'
 
 * calling argument declarations:
-	INTEGER		cx, mr, status
+	INTEGER	cx, mr, status
 
 * internal variable declarations:
-	INTEGER	CGRID_SIZE_DELTA,
-     .		grid_size, start_block, num_blocks, grid_blocks
+	INTEGER*8 i8_size
 	REAL R_CGRID_SIZE_DELTA, rgrid_size
 
+* get a free slot in the memory variable table -- delete another var if needed
+	CALL FIND_MR_SLOT( mr, status )
+	IF ( status .NE. ferr_ok ) RETURN
+
 * amount of storage space required
 * Compute as a real - grid sizes may overflow integer storage.
 
@@ -76,22 +81,20 @@
 	IF (cx_type(cx) .EQ. ptype_string) rgrid_size = rgrid_size*2 ! 8 byte ptr
 #endif
 
-* claim the storage space
-
-* COMPUTE # BLOCKS NEEDED
-	grid_blocks = ( INT(rgrid_size) + mem_blk_size - 1 ) / mem_blk_size
-
-	CALL GET_MEMORY( INT(rgrid_size), grid_blocks, start_block, num_blocks, status )
-	IF ( status .NE. ferr_ok ) RETURN
+* claim the dynamic storage space needed
+	i8_size = rgrid_size
+	CALL GET_MR_DYNMEM( i8_size, mr, status )
+	IF ( status .NE. ferr_ok ) THEN
+	   CALL MR2FREELIST(mr)
+	   RETURN
+	ENDIF
 
 * catalog it in the memory variable table
-	CALL ASSIGN_TEMP_VAR
-     .		      ( cx,
-     .			start_block,
-     .			num_blocks,
-     .			mr,
-     .			status 	)
+	CALL ASSIGN_TEMP_VAR( cx, mr, status )
 	IF ( status .NE. ferr_ok ) RETURN
 
+* hook it into the right cache search list
+	CALL HOOK_MR_SLOT( cx, mr)
+
 	RETURN
 	END
diff --git a/fer/mem/delete_mrs_in_progress.F b/fer/mem/delete_mrs_in_progress.F
index 35dec19..e49a2ef 100644
--- a/fer/mem/delete_mrs_in_progress.F
+++ b/fer/mem/delete_mrs_in_progress.F
@@ -47,6 +47,7 @@
 * V200:  6/27/89 - delete temporary variables, too 
 * V420: 11/95 - also delete un-cached memory vars
 *        2/12 *kms* Add E and F dimensions (use nferdims in tmap_dims.parm)
+* V702:  3/17 *sh* dynamic memory
 
         IMPLICIT NONE
         include 'tmap_dims.parm'
@@ -56,15 +57,26 @@
 * internal variable declarations:
 	INTEGER	mr
 
-	DO 100 mr = 1, max_mrs
+	DO mr = 1, max_mrs
+
 	   IF ( mr_protected( mr ) .EQ. mr_in_progress
-     .	   .OR. mr_protected( mr ) .EQ. mr_temporary )
-     .						CALL DELETE_VARIABLE( mr )
- 100	CONTINUE
+     .	   .OR. mr_protected( mr ) .EQ. mr_temporary ) THEN
+	      CALL DELETE_VARIABLE( mr )
+	   ELSEIF ( mr_protected( mr ) .GT. mr_not_protected ) THEN
+	      CALL MR_AVAILABLE(mr) ! use count=0 and onto deletion chain
+	   ENDIF
+
+	ENDDO
 
 * also delete un-cached memory variables
 	CALL DELETE_UN_CACHED_MVARS
 
+* sanity check that memory management is working correctly
+	IF (essential_mem .NE. 0 ) THEN
+	   CALL WARN("crptn??: delete_mrs_in_progress")
+	   essential_mem = 0
+	ENDIF
+
 	RETURN
 	END
 
diff --git a/fer/mem/delete_variable.F b/fer/mem/delete_variable.F
index ad266e3..eb76130 100644
--- a/fer/mem/delete_variable.F
+++ b/fer/mem/delete_variable.F
@@ -61,7 +61,8 @@
 * V601 11/06 *acm*- fix bug 1466: memory for string vars is NOT allocated via malloc,
 *                   so do not FREE it here. 
 *        2/12 *kms* Add E and F dimensions (use nferdims in tmap_dims.parm)
-* V702 1/16 *sh*: added sanity checking of memory when debugging
+* V702 1/16 *sh*: dynamic memory management
+*                 (commented out) sanity checking of memory when debugging
 
         IMPLICIT NONE
         include 'tmap_dims.parm'
@@ -75,25 +76,22 @@
 * internal variable declarations:
 	INTEGER MGRID_SIZE_DELTA, size, idim, prev, next
 
+* diagnostic "delete" message
 	IF (mode_diagnostic) THEN
 	   IF ( mr_protected(mr) .NE. mr_table_entry_only )
      .			CALL DIAGNOSTIC_OUT( '-DELETE', mr, point_to_mr )
-
-	   IF     ( mr_protected( mr ) .EQ. mr_not_protected	) THEN
-	      CONTINUE
-	   ELSEIF ( mr_protected( mr ) .EQ. mr_temporary	) THEN
-	      CONTINUE
-	   ELSEIF ( mr_protected( mr ) .EQ. mr_table_entry_only	) THEN
-	      CONTINUE
-	   ELSEIF ( mr_protected( mr ) .EQ. mr_perm_protected	) THEN
+	   IF ( mr_protected( mr ) .EQ. mr_perm_protected	) THEN
 	      CALL SPLIT_LIST(pttmode_ops, ttout_lun,'PERMANENT', 9)
-	   ELSEIF ( mr_protected( mr ) .EQ. mr_in_progress	) THEN
-	      CONTINUE
-	   ELSE
-	      CALL WARN( 'CORRUPTION! mr_protected ????' )
 	   ENDIF
 	ENDIF
 
+* book keeping
+	   IF ( mr_protected( mr ) .EQ. mr_temporary	
+     .	  .OR.  mr_protected( mr ) .EQ. mr_in_progress
+     .	  .OR.  mr_protected( mr ) .GT. mr_not_protected    ) THEN
+	      essential_mem = essential_mem - mr_size(mr)
+	   ENDIF
+
 * if this is a string array variable then free the "C" memory allocated
 * if mr_table_entry_only, no memory was given to the variable
 	IF ( mr_type(mr)      .EQ. ptype_string  .AND.
@@ -102,17 +100,17 @@
 	   CALL FREE_C_STRING_ARRAY(mr_c_pointer(mr), size)
 	ENDIF
 
-* diagnostic "delete" message
 * remove variable slot from hash pile doubly linked list
-	prev = mv_blink( mr )
-	next = mv_flink( mr )
-	mv_flink( prev ) = next
-	mv_blink( next ) = prev
+        prev = mv_blink( mr )
+        next = mv_flink( mr )
+        mv_flink( prev ) = next
+        mv_blink( next ) = prev
 
 * return the slot to the memory variable free list
-	mv_flink( mr ) = mv_flink( 0 )	
-	mv_blink( mr ) = unspecified_int4		! temp diag
-	mv_flink( 0 ) = mr
+* this code is equivalent to MR2FREELIST. kept in-line here for speed
+        mv_flink( mr ) = mv_flink( 0 )
+        mv_blink( mr ) = unspecified_int4               ! house keeping
+        mv_flink( 0 ) = mr
 
 * remove the variable from the deletion chain if it is there
 	IF ( mr_protected(mr) .EQ. mr_not_protected ) THEN
@@ -125,10 +123,13 @@
 	ENDIF
 
 * release bulk memory that the variable used
-	IF ( mr_protected( mr ) .NE. mr_table_entry_only ) 
-     . 		CALL FREE_MEMORY( mr_blk1(mr), mr_nblks(mr) )
-
-
+	IF ( mr_protected( mr ) .NE. mr_table_entry_only ) THEN
+	   CALL FREE_MR_DYNMEM( mr )
+	ELSE
+* ... remove the table_entry_only pointer for good housekeeping
+	   CALL NULLIFY_MR(mr)
+	   mr_size(mr) = 0  
+	ENDIF
 * eliminate any stray indications that this variable points to a grid
 	mr_grid( mr ) = unspecified_int4
 
@@ -140,7 +141,9 @@
 ! When DELETE_VARIABLE is called due to the mr table being full during
 ! CREATE_MEM_VAR.  In that case GET_MEMORY reserves the memory, and then
 ! ASSIGN_VARIABLE (which calls FIND_MR_SLOT) deletes a variable to free up
-! a slot while the newly reserved memory has not yyet been assigned to an mr.
+! a slot while the newly reserved memory has not yet been assigned to an mr.
+! NOTE: this may no longer be true since code change to CREATE_MEM_VAR:
+!       FIND_MR_SLOT is now called before GET_MEMORY and ASSIGN_VARIABLE
 !#ifndef NDEBUG
 !        IF ( mode_diagnostic ) CALL SANITY_CHECK_MEMORY("DELETE_VARIABLE")
 !#endif
diff --git a/fer/mem/fill_memory.F b/fer/mem/dynmem_mrlist_c.F
similarity index 77%
copy from fer/mem/fill_memory.F
copy to fer/mem/dynmem_mrlist_c.F
index 3b277a8..22de8ec 100644
--- a/fer/mem/fill_memory.F
+++ b/fer/mem/dynmem_mrlist_c.F
@@ -1,4 +1,4 @@
-	SUBROUTINE FILL_MEMORY ( memory, start_block, num_blocks, fill_word )
+	SUBROUTINE DYNMEM_MRLIST_C ( n, mrlist, c_ptr_array, status )
 
 *
 *
@@ -35,31 +35,40 @@
 *  CONNECTION WITH THE ACCESS, USE OR PERFORMANCE OF THIS SOFTWARE. 
 *
 *
-* fill a memory region with the specified value
+* pass the list of pointers implies by the list of pointers in mrlist
+* into a c pointer list, where they will be readily accessible in c
 
 * programmer - steve hankin
 * NOAA/PMEL, Seattle, WA - Tropical Modeling and Analysis Program
-* written for VAX computer under VMS operating system
 *
-* revision 0.0 - 4/23/86
-*        2/12 *kms* Add E and F dimensions (use nferdims in tmap_dims.parm)
+* V702 1/17 *sh* 
 
         IMPLICIT NONE
         include 'tmap_dims.parm'
 	include	'ferret.parm'
+	include 'errmsg.parm'
 	include	'xvariables.cmn'
 
 * calling argument declarations:
-	INTEGER	start_block, num_blocks
-	REAL	memory( mem_blk_size, max_mem_blks )
-	REAL	fill_word
+	INTEGER	n, mrlist(n), status
+        INTEGER*8 c_ptr_array
 
 * internal variable declarations:
-	INTEGER	iword, iblock
+	INTEGER	i, mr
 
-	DO 100 iblock = start_block, start_block+num_blocks-1
-	DO 100 iword  = 1, mem_blk_size
- 100	memory( iword, iblock ) = fill_word
+* create the c pointer array
+	CALL DYNMEM_MAKE_PTR_ARRAY(n, c_ptr_array, status)
+	IF (status .NE. ferr_ok) RETURN
+
+* pass the FORTRAN pointers into c
+	DO i = 1, n
+	   mr = mrlist(i)
+	   IF (mr .EQ. 0) THEN
+	      CALL DYNMEM_PASS_1_PTR(i, memry(dummy_mr)%ptr, c_ptr_array)
+	   ELSE
+	      CALL DYNMEM_PASS_1_PTR(i, memry(mr)%ptr, c_ptr_array)
+	   ENDIF
+	ENDDO
 
 	RETURN
 	END
diff --git a/fer/mem/fill_memory.F b/fer/mem/fill_memory.F
index 3b277a8..a669312 100644
--- a/fer/mem/fill_memory.F
+++ b/fer/mem/fill_memory.F
@@ -1,4 +1,4 @@
-	SUBROUTINE FILL_MEMORY ( memory, start_block, num_blocks, fill_word )
+	SUBROUTINE FILL_MEMORY ( mr, fill_word )
 
 *
 *
@@ -35,7 +35,7 @@
 *  CONNECTION WITH THE ACCESS, USE OR PERFORMANCE OF THIS SOFTWARE. 
 *
 *
-* fill a memory region with the specified value
+* fill a memory resident variable with the specified value
 
 * programmer - steve hankin
 * NOAA/PMEL, Seattle, WA - Tropical Modeling and Analysis Program
@@ -43,6 +43,7 @@
 *
 * revision 0.0 - 4/23/86
 *        2/12 *kms* Add E and F dimensions (use nferdims in tmap_dims.parm)
+* V702 1/17 *sh* for trac enhancement #2369 -- dynamic memory management 
 
         IMPLICIT NONE
         include 'tmap_dims.parm'
@@ -50,16 +51,15 @@
 	include	'xvariables.cmn'
 
 * calling argument declarations:
-	INTEGER	start_block, num_blocks
-	REAL	memory( mem_blk_size, max_mem_blks )
+	INTEGER	mr
 	REAL	fill_word
 
 * internal variable declarations:
-	INTEGER	iword, iblock
+	INTEGER	i
 
-	DO 100 iblock = start_block, start_block+num_blocks-1
-	DO 100 iword  = 1, mem_blk_size
- 100	memory( iword, iblock ) = fill_word
+	DO i = 1, mr_size(mr)
+	   memry(mr)%ptr(i) = fill_word
+	ENDDO
 
 	RETURN
 	END
diff --git a/fer/mem/find_mem_var_incl_c_cache.F b/fer/mem/find_mem_var_incl_c_cache.F
index 479494f..d47442d 100644
--- a/fer/mem/find_mem_var_incl_c_cache.F
+++ b/fer/mem/find_mem_var_incl_c_cache.F
@@ -1,4 +1,4 @@
-	SUBROUTINE FIND_MEM_VAR_INCL_C_CACHE( cx, mr, by_value, memory )
+	SUBROUTINE FIND_MEM_VAR_INCL_C_CACHE( cx, mr, by_value )
 
 *  This software was developed by the Thermal Modeling and Analysis
 *  Project(TMAP) of the National Oceanographic and Atmospheric
@@ -58,7 +58,6 @@
 * calling argument declarations:
 	INTEGER cx, mr
 	LOGICAL by_value
-	REAL    memory( mem_blk_size, max_mem_blks )
 
 * internal variable declarations:
 	LOGICAL valid_search
@@ -92,7 +91,7 @@
 	   CALL CREATE_MEM_VAR( cx_buff, mr, status )
 	   IF (status .NE. ferr_ok) GOTO 5000
 	   npts = CGRID_SIZE(cx_buff)
-	   CALL RECOVER_CACHED_FULL_ARRAY(memory(1,mr_blk1(mr)),
+	   CALL RECOVER_CACHED_FULL_ARRAY(memry(mr)%ptr,
      .				npts, c_cache_ptr)
 	   IF (mode_diagnostic) CALL DIAGNOSTIC_OUT('c-found',mr,point_to_mr)
 	   RETURN  ! YAHOO!  Made a last didch cache hit.
diff --git a/fer/mem/find_mr_slot.F b/fer/mem/find_mr_slot.F
index 29a1adc..8e45b0e 100644
--- a/fer/mem/find_mr_slot.F
+++ b/fer/mem/find_mr_slot.F
@@ -1,4 +1,4 @@
-	SUBROUTINE FIND_MR_SLOT( cx, mr, status )
+	SUBROUTINE FIND_MR_SLOT( mr, status )
 
 *
 *
@@ -45,6 +45,8 @@
 * revision 0.0 - 7/21/88
 * V200:  6/12/89 - delete priorities handled through linked lists
 *        2/12 *kms* Add E and F dimensions (use nferdims in tmap_dims.parm)
+* V702 *sh* 1/17 - split half of the code into the new HOOK_MR_SLOT
+*                  as part of the new dynamic memory management
 
         IMPLICIT NONE
         include 'tmap_dims.parm'
@@ -54,35 +56,31 @@
 	include 'xcontext.cmn'
 
 * calling argument declarations:
-	INTEGER cx, mr, status
+	INTEGER mr, status
 
 * internal variable declarations:
-	INTEGER HASH_cx, pile, head
 
-* is there a slot in the free slot list ?
- 100	IF ( mv_flink( 0 ) . EQ. 0 ) THEN
-* ... no - delete lowest priority variable to make room and try again
+*****
+
+* start with the first entry on the free mr list
+	mr = mv_flink( 0 )
+
+* if it isn't free, then free the most vulnerable mr on the delete chain
+	IF ( mr . EQ. 0 ) THEN
 	   mr = mr_del_blink(0)
 	   IF ( mr .EQ. 0 ) GOTO 5010
 	   CALL DELETE_VARIABLE( mr )
 	ENDIF
 
-* transfer the slot from the free list to the cx hash pile
+* remove it from the free list to indicate 
 *    ... remove from free list head
-	mr = mv_flink( 0 )
+!	mr = mv_flink( 0 )
 	mv_flink( 0 ) = mv_flink( mr )
-*    ... add to head of hash pile
-	pile = HASH_cx( cx )
-	head = mv_flink( pile )
-	mv_flink( pile ) = mr
-	mv_flink( mr ) = head
-	mv_blink( mr ) = pile
-	mv_blink( head ) = mr
 
 * successful completion
 	status = ferr_ok
  5000	RETURN
 
-* error exit : no space available
+* error exit : no space available (empty delete chain)
  5010	CALL ERRMSG( ferr_too_many_vars, status,' ', *5000 )
 	END
diff --git a/fer/mem/free_memory.F b/fer/mem/free_memory.F
deleted file mode 100644
index ce8f359..0000000
--- a/fer/mem/free_memory.F
+++ /dev/null
@@ -1,144 +0,0 @@
-	SUBROUTINE FREE_MEMORY ( mblk, num_blocks )
-
-*
-*
-*  This software was developed by the Thermal Modeling and Analysis
-*  Project(TMAP) of the National Oceanographic and Atmospheric
-*  Administration''s (NOAA) Pacific Marine Environmental Lab(PMEL),
-*  hereafter referred to as NOAA/PMEL/TMAP.
-*
-*  Access and use of this software shall impose the following
-*  obligations and understandings on the user. The user is granted the
-*  right, without any fee or cost, to use, copy, modify, alter, enhance
-*  and distribute this software, and any derivative works thereof, and
-*  its supporting documentation for any purpose whatsoever, provided
-*  that this entire notice appears in all copies of the software,
-*  derivative works and supporting documentation.  Further, the user
-*  agrees to credit NOAA/PMEL/TMAP in any publications that result from
-*  the use of this software or in any product that includes this
-*  software. The names TMAP, NOAA and/or PMEL, however, may not be used
-*  in any advertising or publicity to endorse or promote any products
-*  or commercial entity unless specific written permission is obtained
-*  from NOAA/PMEL/TMAP. The user also understands that NOAA/PMEL/TMAP
-*  is not obligated to provide the user with any support, consulting,
-*  training or assistance of any kind with regard to the use, operation
-*  and performance of this software nor to provide the user with any
-*  updates, revisions, new versions or "bug fixes".
-*
-*  THIS SOFTWARE IS PROVIDED BY NOAA/PMEL/TMAP "AS IS" AND ANY EXPRESS
-*  OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-*  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-*  ARE DISCLAIMED. IN NO EVENT SHALL NOAA/PMEL/TMAP BE LIABLE FOR ANY SPECIAL,
-*  INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
-*  RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF
-*  CONTRACT, NEGLIGENCE OR OTHER TORTUOUS ACTION, ARISING OUT OF OR IN
-*  CONNECTION WITH THE ACCESS, USE OR PERFORMANCE OF THIS SOFTWARE. 
-*
-*
-* return a contiguous region of bulk memory to the free list merging it with
-* the surrounding free regions if they are contiguous
-* ( return the merged size via COMMON in mr_del_last_size )
-* see documentation in XVARIABLES.CMN
-
-* programmer - steve hankin
-* NOAA/PMEL, Seattle, WA - Tropical Modeling and Analysis Program
-* written for VAX computer under VMS operating system
-*
-* revision 0.0 - 4/1/86
-* revision 1.0 - 7/21/88 - complete re-write using linked list
-* V200:  6/12/89 - use doubly linked list; return mr_del_last_*
-*	 8/1/89  - corrected bug: mr_del_last* not set for not contig at all
-* V312: 5/94 - array "memory" as a calling argument
-*        2/12 *kms* Add E and F dimensions (use nferdims in tmap_dims.parm)
-
-        IMPLICIT NONE
-        include 'tmap_dims.parm'
-	include 'ferret.parm'
-	include 'xvariables.cmn'
-	include 'xprog_state.cmn'
-
-* calling argument declarations:
-	INTEGER	mblk, num_blocks, mem_blk, i
-
-* internal variable declarations:
-	INTEGER	prev, next, nex2
-	LOGICAL	contig_above, contig_below
-
-! temp diag
-	IF ( num_blocks .NE. mblk_size( mblk ) ) STOP ' FREE_MEMORY'
-
-!* as a diagnostic test - fill unused memory with a flag
-! removed 5/18/94 as "memory" is no longer in COMMON 
-!	IF ( mode_diagnostic ) THEN
-!	   DO 50 mem_blk = mblk, mblk+num_blocks-1
-!	   DO 50 i = 1, mem_blk_size
-! 50	   memory( i,mem_blk ) = bad_val4
-!	ENDIF
-
-* find the position of "mblk" in the ordered free memory list
-	prev = 0
-	next = mblk_flink( prev )
- 100	IF ( next .EQ. 0 ) THEN
-* ... end of list - this mblk value must be greater than anything in the list
-	   GOTO 200
-	ELSEIF ( next .LT. mblk ) THEN
-* ... keep looking further in the list
-	   prev = next
-	   next = mblk_flink( next )
-	   GOTO 100
-	ENDIF
-* ... found it - prev<mblk and next>mblk
-	nex2 = mblk_flink( next )
-
-* will the new region merge contiguously above or below ?
- 200	contig_above = mblk + num_blocks .EQ. next
-	contig_below = prev + mblk_size(prev) .EQ. mblk
-     .		 .AND. prev .NE. 0
-
-* insert the freed bulk memory region into the free list
-	IF ( contig_above .AND. contig_below ) THEN
-	   mr_del_last_mblk   = prev
-	   mr_del_last_size   = mblk_size( prev )
-     .			      + num_blocks
-     .			      + mblk_size( next )
-	   mblk_size ( prev ) = mr_del_last_size
-	   mblk_flink( prev ) = nex2
-	   mblk_blink( nex2 ) = prev
-	   mblk_flink( mblk ) = unspecified_int4	! temp diag
-	   mblk_blink( mblk ) = unspecified_int4	! temp diag
-	   mblk_size ( mblk ) = unspecified_int4	! temp diag
-	   mblk_flink( next ) = unspecified_int4	! temp diag
-	   mblk_blink( next ) = unspecified_int4	! temp diag
-	   mblk_size ( next ) = unspecified_int4	! temp diag
-
-	ELSEIF ( contig_above ) THEN
-	   mr_del_last_mblk   = mblk
-	   mr_del_last_size   = num_blocks + mblk_size( next )
-	   mblk_size ( mblk ) = mr_del_last_size
-	   mblk_flink( mblk ) = nex2
-	   mblk_blink( mblk ) = prev
-	   mblk_blink( nex2 ) = mblk
-	   mblk_flink( prev ) = mblk
-	   mblk_flink( next ) = unspecified_int4	! temp diag
-	   mblk_blink( next ) = unspecified_int4	! temp diag
-	   mblk_size ( next ) = unspecified_int4	! temp diag
-
-	ELSEIF ( contig_below ) THEN
-	   mr_del_last_mblk   = prev
-	   mr_del_last_size   = mblk_size( prev ) + num_blocks
-	   mblk_size ( prev ) = mr_del_last_size
-	   mblk_flink( mblk ) = unspecified_int4	! temp diag
-	   mblk_blink( mblk ) = unspecified_int4	! temp diag
-	   mblk_size ( mblk ) = unspecified_int4	! temp diag
-
-	ELSE
-	   mr_del_last_mblk   = mblk
-	   mr_del_last_size   = num_blocks
-	   mblk_flink( mblk ) = next
-	   mblk_blink( mblk ) = prev
-	   mblk_flink( prev ) = mblk
-	   mblk_blink( next ) = mblk
-
-	ENDIF
-	RETURN
-	END
diff --git a/fer/mem/release_work_spc.F b/fer/mem/free_mr_dynmem.F
similarity index 81%
copy from fer/mem/release_work_spc.F
copy to fer/mem/free_mr_dynmem.F
index 7f023d5..583f1f4 100644
--- a/fer/mem/release_work_spc.F
+++ b/fer/mem/free_mr_dynmem.F
@@ -1,4 +1,4 @@
-	SUBROUTINE RELEASE_WORK_SPC
+	SUBROUTINE FREE_MR_DYNMEM ( mr )
 
 *
 *
@@ -35,24 +35,29 @@
 *  CONNECTION WITH THE ACCESS, USE OR PERFORMANCE OF THIS SOFTWARE. 
 *
 *
-* releases claim to temporary work space allocated by GET_WORK_SPC
-
+* Free the memory associated with this mr slot by calling c routines
+*
 * programmer - steve hankin
 * NOAA/PMEL, Seattle, WA - Tropical Modeling and Analysis Program
-* written for VAX computer under VMS operating system
 *
-* revision 0.0 - 2/19/87
-* V702 *sh* 12/16  clear sp_num_blocks and sp_start_block for house-keeping
+* V702 1/17 *sh* for trac enhancement #2369 -- dynamic memory management 
 
         IMPLICIT NONE
-	include 'xwork_space.cmn'
+        include 'tmap_dims.parm'
+	include 'ferret.parm'
+	include 'xvariables.cmn'
+
+* calling argument declarations:
+	INTEGER	mr
+
+	CALL FREE_DYN_MEM(memry(mr)%ptr)
+
+* set the pointer to a zero length object (just for bookkeeping)
+	CALL NULLIFY_MR(mr)
 
-	IF ( sp_last_size .GT. 0 ) THEN
-	   CALL FREE_MEMORY( sp_start_block, sp_num_blocks )
-	   sp_last_size  = 0
-	   sp_num_blocks = 0
-	   sp_start_block = -12345
-	ENDIF
+* bookkeeping
+	total_mem = total_mem - mr_size(mr)
+	mr_size(mr) = 0
 
 	RETURN
 	END
diff --git a/fer/mem/mr_available.F b/fer/mem/free_ws_dynmem.F
similarity index 73%
copy from fer/mem/mr_available.F
copy to fer/mem/free_ws_dynmem.F
index 5ad6b6d..9df5fec 100644
--- a/fer/mem/mr_available.F
+++ b/fer/mem/free_ws_dynmem.F
@@ -1,4 +1,4 @@
-	SUBROUTINE MR_AVAILABLE ( mr )
+	SUBROUTINE FREE_WS_DYNMEM ( ws )
 
 *
 *
@@ -35,41 +35,41 @@
 *  CONNECTION WITH THE ACCESS, USE OR PERFORMANCE OF THIS SOFTWARE. 
 *
 *
-* flag that the specified variable is available to be used as a component and
-* to be deleted should memory space be tight
-
+* Free the memory associated with this ws slot by calling c routines
+*
 * programmer - steve hankin
 * NOAA/PMEL, Seattle, WA - Tropical Modeling and Analysis Program
-* written for VAX computer under VMS operating system
 *
-* V200:  6/12/89
-*        2/12 *kms* Add E and F dimensions (use nferdims in tmap_dims.parm)
+* V702 1/17 *sh* for trac enhancement #2369 -- dynamic memory management 
 
         IMPLICIT NONE
         include 'tmap_dims.parm'
 	include 'ferret.parm'
+	include 'errmsg.parm'
 	include 'xvariables.cmn'
 
 * calling argument declarations:
-	INTEGER mr
+	INTEGER	ws
 
 * internal variable declarations:
-	INTEGER last_head
+	INTEGER status
 
-* set flag that it is available for use and for deletion
-	mr_protected( mr ) = mr_not_protected
+* check for a possible *programming error* -- worm mem never requested
+* (return status is ignored, which is too bad, but the programming error
+*  at least gets announced)
+	IF (ws_size(ws) .EQ. 0) CALL ERRMSG(ferr_internal, status,
+     .		'FREE_DYN_WS_MEM', *5000)
 
-! temp diag
-	IF (mr_del_flink(mr) .NE. unspecified_int4) 
-     .		WRITE (6,*)' mr_avail_err'
+	CALL FREE_DYN_MEM(workmem(ws)%ptr)
 
-* insert the variable at the head of the deletion priority chain
-	last_head = mr_del_flink(0)
-	mr_del_blink(mr) = 0
-	mr_del_flink(mr) = last_head
-	mr_del_flink(0)  = mr
-	mr_del_blink(last_head) = mr
+* set the pointer to a zero length object (just for bookkeeping)
+	CALL NULLIFY_WS(ws)
+
+* bookkeeping
+! 3/17 - do not count work memory as part of the memory usage
+! it's a small matter, and it keeps the logic a little simpler
+! 5000	total_mem = total_mem - ws_size(ws)
+ 5000	ws_size(ws) = 0
 
 	RETURN
 	END
-
diff --git a/fer/mem/mr_available.F b/fer/mem/get_dyn_work_space.F
similarity index 68%
copy from fer/mem/mr_available.F
copy to fer/mem/get_dyn_work_space.F
index 5ad6b6d..b5aa390 100644
--- a/fer/mem/mr_available.F
+++ b/fer/mem/get_dyn_work_space.F
@@ -1,7 +1,5 @@
-	SUBROUTINE MR_AVAILABLE ( mr )
+	SUBROUTINE GET_DYN_WORK_SPACE( rqst_size, status )
 
-*
-*
 *  This software was developed by the Thermal Modeling and Analysis
 *  Project(TMAP) of the National Oceanographic and Atmospheric
 *  Administration''s (NOAA) Pacific Marine Environmental Lab(PMEL),
@@ -35,41 +33,41 @@
 *  CONNECTION WITH THE ACCESS, USE OR PERFORMANCE OF THIS SOFTWARE. 
 *
 *
-* flag that the specified variable is available to be used as a component and
-* to be deleted should memory space be tight
+* a convenience function to get the first slot in the work space table
+* replicates the legacy work space management previous to dynamic F90 memory
+
+* the hierarchy of calls is as follows
+*   get_dyn_work_space ==> get_ws_dynmem.F ==> get_ws_mem.c ==> store_ws_ptr.F
 
 * programmer - steve hankin
-* NOAA/PMEL, Seattle, WA - Tropical Modeling and Analysis Program
-* written for VAX computer under VMS operating system
-*
-* V200:  6/12/89
-*        2/12 *kms* Add E and F dimensions (use nferdims in tmap_dims.parm)
+* V702 *sh*  1/17 trac enhancement ticket #2369 - dynamic memory
 
         IMPLICIT NONE
+
         include 'tmap_dims.parm'
-	include 'ferret.parm'
+	include 'errmsg.parm'
+	include	'ferret.parm'
 	include 'xvariables.cmn'
 
 * calling argument declarations:
-	INTEGER mr
+	INTEGER status
+	INTEGER*8 rqst_size
 
-* internal variable declarations:
-	INTEGER last_head
 
-* set flag that it is available for use and for deletion
-	mr_protected( mr ) = mr_not_protected
+* slot 1 of working storage is managed specially
+* through convenience routines GET_DYN_WORK_SPACE and RELEASE_DYN_WORK_SPACE
 
-! temp diag
-	IF (mr_del_flink(mr) .NE. unspecified_int4) 
-     .		WRITE (6,*)' mr_avail_err'
+* If the work space that is currently allocated is already large enough, then
+* we will simply let it be re-used
+	IF (ws_size(plegacy_work_buffer) .GE. rqst_size) THEN
+	   status = ferr_ok
+	   RETURN
+	ELSEIF (ws_size(plegacy_work_buffer) .NE. 0) THEN
+	   CALL RELEASE_DYN_WORK_SPACE
+	ENDIF
 
-* insert the variable at the head of the deletion priority chain
-	last_head = mr_del_flink(0)
-	mr_del_blink(mr) = 0
-	mr_del_flink(mr) = last_head
-	mr_del_flink(0)  = mr
-	mr_del_blink(last_head) = mr
+* get the requested memory
+	CALL GET_WS_DYNMEM(rqst_size, plegacy_work_buffer, status)
 
-	RETURN
 	END
 
diff --git a/fer/mem/get_memory.F b/fer/mem/get_memory.F
deleted file mode 100644
index efa1c40..0000000
--- a/fer/mem/get_memory.F
+++ /dev/null
@@ -1,158 +0,0 @@
-	SUBROUTINE GET_MEMORY ( num_words, grid_blocks, mblk, num_blocks, status )
-
-*  This software was developed by the Thermal Modeling and Analysis
-*  Project(TMAP) of the National Oceanographic and Atmospheric
-*  Administration''s (NOAA) Pacific Marine Environmental Lab(PMEL),
-*  hereafter referred to as NOAA/PMEL/TMAP.
-*
-*  Access and use of this software shall impose the following
-*  obligations and understandings on the user. The user is granted the
-*  right, without any fee or cost, to use, copy, modify, alter, enhance
-*  and distribute this software, and any derivative works thereof, and
-*  its supporting documentation for any purpose whatsoever, provided
-*  that this entire notice appears in all copies of the software,
-*  derivative works and supporting documentation.  Further, the user
-*  agrees to credit NOAA/PMEL/TMAP in any publications that result from
-*  the use of this software or in any product that includes this
-*  software. The names TMAP, NOAA and/or PMEL, however, may not be used
-*  in any advertising or publicity to endorse or promote any products
-*  or commercial entity unless specific written permission is obtained
-*  from NOAA/PMEL/TMAP. The user also understands that NOAA/PMEL/TMAP
-*  is not obligated to provide the user with any support, consulting,
-*  training or assistance of any kind with regard to the use, operation
-*  and performance of this software nor to provide the user with any
-*  updates, revisions, new versions or "bug fixes".
-*
-*  THIS SOFTWARE IS PROVIDED BY NOAA/PMEL/TMAP "AS IS" AND ANY EXPRESS
-*  OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-*  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-*  ARE DISCLAIMED. IN NO EVENT SHALL NOAA/PMEL/TMAP BE LIABLE FOR ANY SPECIAL,
-*  INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
-*  RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF
-*  CONTRACT, NEGLIGENCE OR OTHER TORTUOUS ACTION, ARISING OUT OF OR IN
-*  CONNECTION WITH THE ACCESS, USE OR PERFORMANCE OF THIS SOFTWARE. 
-*
-*
-* find and reserve a section of contiguous memory sufficient to hold grid_blocks 
-* procedure:
-* first check the list of free memory regions to see if there is one big enough
-* if not then delete variables working from the tail of the priority chain
-* when an adequate region is found pluck what it needed of it from the free list
-
-* programmer - steve hankin
-* NOAA/PMEL, Seattle, WA - Tropical Modeling and Analysis Program
-* written for VAX computer under VMS operating system
-*
-* revision 0.0 - 3/31/86
-* revision 0.1 - 7/21/88 - no special call to "CLAIM_MEMORY" since FIND_MEMORY
-*			   claims it, too, now
-* V200:  6/12/89 - delete priorities handled through linked lists
-*		 - eliminated FIND_MEMORY
-*	  4/5/90 - spruced up error message
-* V230:  4/30/92 - added coaching to error message
-* V500:  3.20.99 Make sure num_words >= 0 (absurdly large grids can overflow
-*                integer) js
-* V520: 6/00 *sh* - improved error message
-* V522: 7/00 *sh* corrected typo in previous ... 
-* V530: 5/01 - further improved error mesages (for 9999999 words)
-* v553: 9/03 *kob* - need to update error calls to include alternate return
-*                    label.  Bug showed up on IRIX with missing elements
-*		     of error statement
-*        2/12 *kms* Add E and F dimensions (use nferdims in tmap_dims.parm)
-* V685 *acm*  6/13 Increase nominal length of abstract axis
-* V69+ *acm*  9/14 Ticket 1758. Memory request uses number of blocks not words
-* V697 *acm*  1/16 Ticket 2354. Never adjusted for double-precision Ferret. Also
-*                  round up the integer value of needed Mwords shown.
-
-        IMPLICIT NONE
-        include 'tmap_dims.parm'
-	include 'errmsg.parm'
-	include	'ferret.parm'
-	include 'xvariables.cmn'
-
-* calling argument declarations:
-	INTEGER	num_words, grid_blocks, mblk, num_blocks, status
-
-* internal variable declarations:
-	INTEGER	mr, next, prev, size, new_mblk, num_slen
-	REAL	rgrid_blocks
-	CHARACTER  LEFINT*12, num_str*12
-
-* Check for unspecified limits on abstract axis
-	IF ( num_words .EQ. 99999999 ) GOTO 5100
-
-* LOOK FOR A MEMORY REGION ALREADY AVAILABLE
-* ... use linked list into free memory regions
-	mblk = mblk_flink( 0 )
-
-* ... nothing more to check ?
- 100	IF ( mblk .EQ. 0 ) GOTO 200
-
-* ... another region to check out - is it big enough ?
-	size = mblk_size ( mblk )
-	IF ( size .LT. grid_blocks ) THEN
-	   mblk = mblk_flink( mblk )
-	   GOTO 100
-	ELSE
-	   GOTO 500
-	ENDIF
-	   
-* NOTHING BIG ENOUGH IS AVAILABLE AT PRESENT
-* delete from tail of deletion priority chain looking for something big enough
- 200	mr = mr_del_blink(0)
-	IF ( mr .EQ. 0 ) GOTO 5200
-	CALL DELETE_VARIABLE( mr )
-	size = mr_del_last_size
-	IF ( size .LT. grid_blocks ) THEN
-	   GOTO 200
-	ELSE
-	   mblk = mr_del_last_mblk
-	ENDIF
-
-* WE HAVE GOT A REGION AT LEAST BIG ENOUGH
- 500	prev = mblk_blink( mblk )
-	next = mblk_flink( mblk )
-
-	IF ( size .EQ. grid_blocks ) THEN
-* ... perfect size - remove it from the free list
-	   mblk_flink( prev ) = next
-	   mblk_blink( next ) = prev
-
-	ELSE
-* ... unnecessarily big - bite off only what we need
-	   new_mblk = mblk + grid_blocks
-	   mblk_flink( new_mblk ) = next
-	   mblk_blink( new_mblk ) = prev
-	   mblk_size ( new_mblk ) = size - grid_blocks
-	   mblk_flink( prev )     = new_mblk
-	   mblk_blink( next )     = new_mblk
-	ENDIF
-
-* success - set up the requested region and give it to them
-        num_blocks = grid_blocks
-	mblk_size ( mblk ) = num_blocks
-	status = ferr_ok
-
-	mblk_flink( mblk ) = unspecified_int4	! temp diag
-	mblk_blink( mblk ) = unspecified_int4	! temp diag
-
- 5000	RETURN
- 5100	num_str = LEFINT(num_words,num_slen)
-	CALL ERRMSG( ferr_dim_underspec, status,
-     .    num_str(:num_slen)//' words were requested. ', *5105)
- 5105	CALL WARN('Check for unspecified limits on an ABSTRACT axis')
-	CALL WARN('Use the SHOW GRID command to see the axes')
-	RETURN
- 5200	CONTINUE
-        rgrid_blocks = FLOAT(mem_blk_size)* FLOAT(grid_blocks)/ 1.e6
-	num_str = LEFINT(CEILING(2.*rgrid_blocks),num_slen)
-
-	CALL ERRMSG( ferr_insuff_memory,status,
-     .	  num_str(:num_slen)//' Mwords were requested. ', *5130)
- 5130	CALL WARN('You can use SET MEMORY/SIZE=xxx to increase memory.')
-	CALL WARN('The "Memory use" section of the FERRET '
-     .              //'Users Guide has further tips.') 
-        GOTO 5000
-	RETURN
-	END
-
diff --git a/fer/mem/get_mr_dynmem.F b/fer/mem/get_mr_dynmem.F
new file mode 100644
index 0000000..adfb1d3
--- /dev/null
+++ b/fer/mem/get_mr_dynmem.F
@@ -0,0 +1,122 @@
+	SUBROUTINE GET_MR_DYNMEM( rqst_size, mr, status )
+
+*  This software was developed by the Thermal Modeling and Analysis
+*  Project(TMAP) of the National Oceanographic and Atmospheric
+*  Administration''s (NOAA) Pacific Marine Environmental Lab(PMEL),
+*  hereafter referred to as NOAA/PMEL/TMAP.
+*
+*  Access and use of this software shall impose the following
+*  obligations and understandings on the user. The user is granted the
+*  right, without any fee or cost, to use, copy, modify, alter, enhance
+*  and distribute this software, and any derivative works thereof, and
+*  its supporting documentation for any purpose whatsoever, provided
+*  that this entire notice appears in all copies of the software,
+*  derivative works and supporting documentation.  Further, the user
+*  agrees to credit NOAA/PMEL/TMAP in any publications that result from
+*  the use of this software or in any product that includes this
+*  software. The names TMAP, NOAA and/or PMEL, however, may not be used
+*  in any advertising or publicity to endorse or promote any products
+*  or commercial entity unless specific written permission is obtained
+*  from NOAA/PMEL/TMAP. The user also understands that NOAA/PMEL/TMAP
+*  is not obligated to provide the user with any support, consulting,
+*  training or assistance of any kind with regard to the use, operation
+*  and performance of this software nor to provide the user with any
+*  updates, revisions, new versions or "bug fixes".
+*
+*  THIS SOFTWARE IS PROVIDED BY NOAA/PMEL/TMAP "AS IS" AND ANY EXPRESS
+*  OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+*  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+*  ARE DISCLAIMED. IN NO EVENT SHALL NOAA/PMEL/TMAP BE LIABLE FOR ANY SPECIAL,
+*  INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
+*  RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF
+*  CONTRACT, NEGLIGENCE OR OTHER TORTUOUS ACTION, ARISING OUT OF OR IN
+*  CONNECTION WITH THE ACCESS, USE OR PERFORMANCE OF THIS SOFTWARE. 
+*
+*
+* allocate the requested amount of dynamic emory (using c or python malloc)
+* malloc is done in c (or python), but has to call back into F90 to set pointer
+* the hierarchy of calls is as follows
+*   get_mr_dynmem.F ==> get_mr_mem.c ==> store_mr_ptr.F
+
+* programmer - steve hankin
+* V702 *sh*  1/17 trac enhancement ticket #2369 - dynamic memory
+
+        IMPLICIT NONE
+        include 'tmap_dims.parm'
+	include 'errmsg.parm'
+	include	'ferret.parm'
+	include 'xvariables.cmn'
+	include 'xprog_state.cmn'
+
+* calling argument declarations:
+	INTEGER	mr, status
+	INTEGER*8 rqst_size
+
+* internal variable declarations:
+	INTEGER	num_slen, mr_del
+	INTEGER*8 available_mem
+	CHARACTER  LEFINT8*20, TM_FMT*12, num_str*20
+
+* Check for unspecified limits on abstract axis
+	IF ( rqst_size .EQ. 99999999 ) GOTO 5100
+
+* if we know there isn't room to accommodate this new object then
+* we can error out without compromising the current contents of the cache
+	available_mem = max_mem_allowed-(permanent_mem+essential_mem)
+	IF ( rqst_size .GT. available_mem) GOTO 5200
+
+* will this new allocation push us over the specified memory size limit?
+	IF (total_mem+rqst_size .GT. max_mem_allowed) THEN
+* ... delete from tail of deletion priority chain until there's room
+ 100	  mr_del = mr_del_blink(0)
+	    IF ( mr_del .EQ. 0 ) THEN
+* ... unable to clear out enough memory for this request
+* ... should never get here because of pre-check above
+	      CALL WARN("crptn??: get_mr_dynmem")
+	      GOTO 5200   ! abort
+	    ENDIF
+	    CALL DELETE_VARIABLE( mr_del )   ! reduces total_mem
+	  IF  (total_mem+rqst_size .GT. max_mem_allowed) GOTO 100 !delete more 
+	ENDIF
+
+* allocate the dynamic memory
+ 200	CALL GET_MR_MEM(mr, rqst_size, status)
+        IF (status .NE. ferr_ok) GOTO 5300
+
+* bookkeeping
+        mr_size(mr) = rqst_size
+        total_mem = total_mem + rqst_size
+	IF (total_mem .GT. peak_mem) peak_mem = total_mem
+	RETURN
+
+
+***********************
+* error exits
+ 5000	RETURN
+ 5100	num_str = LEFINT8(rqst_size,num_slen)
+	CALL ERRMSG( ferr_dim_underspec, status,
+     .    num_str(:num_slen)//' words were requested. ', *5110)
+ 5110	CALL SPLIT_LIST(pttmode_explct, show_lun,
+     .		'    Check for unspecified limits on an ABSTRACT axis',0 )
+	CALL SPLIT_LIST(pttmode_explct, show_lun,
+     .		'    Use the SHOW GRID command to see the axes',0 )
+	GOTO 5000
+
+ 5200	CALL ERRMSG( ferr_insuff_memory,status,' ', *5210)
+ 5210	num_str = TM_FMT( max_mem_allowed/1.E6, 6, 12, num_slen)
+	CALL SPLIT_LIST(pttmode_explct, show_lun,
+     .		'    To fulfill this request would exceed the current '//
+     .		  'SET MEMORY/SIZE= limit of '//num_str(:num_slen)
+     .	          //' megawords',0 )
+	CALL SHOW_ABORTED_MEM_STATE(rqst_size)
+        GOTO 5000
+
+ 5300	CALL ERRMSG( ferr_insuff_memory,status,' ', *5310)
+ 5310	CALL SPLIT_LIST(pttmode_explct, show_lun,
+     .		'    The OS refuses to supply this much memory',0 )
+	CALL SHOW_ABORTED_MEM_STATE(rqst_size)
+        GOTO 5000
+
+	END
+
+
diff --git a/fer/mem/get_work_mr.F b/fer/mem/get_work_mr.F
index e085e4c..d80a306 100644
--- a/fer/mem/get_work_mr.F
+++ b/fer/mem/get_work_mr.F
@@ -1,4 +1,4 @@
-	SUBROUTINE GET_WORK_MR ( size, mr, status )
+	SUBROUTINE GET_WORK_MR ( i8_size, mr, status )
 
 *  This software was developed by the Thermal Modeling and Analysis
 *  Project(TMAP) of the National Oceanographic and Atmospheric
@@ -59,28 +59,24 @@
 	include 'xcontext.cmn'
 
 * calling argument declarations:
-	INTEGER	size, mr, status
+	INTEGER	mr, status
+	INTEGER*8 i8_size
 
 * internal variable declarations
-	INTEGER start_block, num_blocks, grid_blocks, idim
+	INTEGER idim
 
 * --- end of introductory code ---
 
-* COMPUTE # BLOCKS NEEDED
-	grid_blocks = ( size + mem_blk_size - 1 ) / mem_blk_size
-	CALL GET_MEMORY( size, grid_blocks, start_block, num_blocks, status )
-
 * get a free slot in the memory variable table
-	CALL STACK_PTR_UP( cx_stack_ptr, max_context, status )
-	IF ( status .NE. ferr_ok ) RETURN
-	cx_category(cx_stack_ptr) = cat_work_mr
-	CALL FIND_MR_SLOT( cx_stack_ptr, mr, status )
+	CALL FIND_MR_SLOT( mr, status )
 	IF ( status .NE. ferr_ok ) RETURN
-	cx_stack_ptr = cx_stack_ptr - 1
 
-* point mr slot to data in bulk memory
-	mr_blk1     ( mr )	= start_block
-	mr_nblks    ( mr )	= num_blocks
+* allocate memory
+	CALL GET_MR_DYNMEM( i8_size, mr, status )
+	IF ( status .NE. ferr_ok ) THEN
+	   CALL MR2FREELIST(mr)
+	   RETURN
+	ENDIF
 
 * always set its data type to float
 	mr_type( mr ) = ptype_float
@@ -91,16 +87,28 @@
 * flag it as "in progress"
 	mr_protected( mr )	= mr_in_progress
 
+* book keeping about memory usage
+	essential_mem = essential_mem + mr_size(mr)
+	IF (essential_mem.GT.peak_essential_mem) 
+     .		peak_essential_mem = essential_mem
+
 * work arrays do not use any grids
 	mr_grid( mr ) = unspecified_int4
 
 * for good house-keeping, set the mr subscripts
 	mr_lo_ss(mr,x_dim) = 1
-	mr_hi_ss(mr,x_dim) = size
+	mr_hi_ss(mr,x_dim) = i8_size
 	DO 100 idim = 2, nferdims
 	   mr_lo_ss(mr,idim) = unspecified_int4
 	   mr_hi_ss(mr,idim) = unspecified_int4
  100	CONTINUE
 
+* hook it into the cacke search list (just to be consistent with other vars)
+	CALL STACK_PTR_UP( cx_stack_ptr, max_context, status )
+	IF ( status .NE. ferr_ok ) RETURN
+	cx_category(cx_stack_ptr) = cat_work_mr
+	CALL HOOK_MR_SLOT( cx_stack_ptr, mr )
+	cx_stack_ptr = cx_stack_ptr - 1
+
 	RETURN
 	END
diff --git a/fer/mem/find_mr_slot.F b/fer/mem/get_ws_dynmem.F
similarity index 62%
copy from fer/mem/find_mr_slot.F
copy to fer/mem/get_ws_dynmem.F
index 29a1adc..fa5c35e 100644
--- a/fer/mem/find_mr_slot.F
+++ b/fer/mem/get_ws_dynmem.F
@@ -1,7 +1,5 @@
-	SUBROUTINE FIND_MR_SLOT( cx, mr, status )
+	SUBROUTINE GET_WS_DYNMEM( rqst_size, ws, status )
 
-*
-*
 *  This software was developed by the Thermal Modeling and Analysis
 *  Project(TMAP) of the National Oceanographic and Atmospheric
 *  Administration''s (NOAA) Pacific Marine Environmental Lab(PMEL),
@@ -35,54 +33,55 @@
 *  CONNECTION WITH THE ACCESS, USE OR PERFORMANCE OF THIS SOFTWARE. 
 *
 *
-* locate an unused slot in the memory variable table and assign it to the
-* hash pile associated with the given context (cx)
+* allocate the requested amount of dynamic memory (using c or python malloc)
+* malloc is done in c (or python), but has to call back into F90 to set pointer
+* the hierarchy of calls is as follows
+*   get_ws_dynmem.F ==> get_ws_mem.c ==> store_ws_ptr.F
 
 * programmer - steve hankin
-* NOAA/PMEL, Seattle, WA - Tropical Modeling and Analysis Program
-* written for VAX computer under VMS operating system
-*
-* revision 0.0 - 7/21/88
-* V200:  6/12/89 - delete priorities handled through linked lists
-*        2/12 *kms* Add E and F dimensions (use nferdims in tmap_dims.parm)
+* V702 *sh*  1/17 trac enhancement ticket #2369 - dynamic memory
 
         IMPLICIT NONE
         include 'tmap_dims.parm'
-	include 'ferret.parm'
 	include 'errmsg.parm'
+	include	'ferret.parm'
 	include 'xvariables.cmn'
-	include 'xcontext.cmn'
+	include 'xprog_state.cmn'
 
 * calling argument declarations:
-	INTEGER cx, mr, status
+	INTEGER	ws, status
+	INTEGER*8 rqst_size
 
 * internal variable declarations:
-	INTEGER HASH_cx, pile, head
+	INTEGER	mr_del, num_slen
+	CHARACTER  LEFINT8*20, num_str*20
 
-* is there a slot in the free slot list ?
- 100	IF ( mv_flink( 0 ) . EQ. 0 ) THEN
-* ... no - delete lowest priority variable to make room and try again
-	   mr = mr_del_blink(0)
-	   IF ( mr .EQ. 0 ) GOTO 5010
-	   CALL DELETE_VARIABLE( mr )
-	ENDIF
+* Check for unspecified limits on abstract axis
+	IF ( rqst_size .EQ. 99999999 ) GOTO 5100
 
-* transfer the slot from the free list to the cx hash pile
-*    ... remove from free list head
-	mr = mv_flink( 0 )
-	mv_flink( 0 ) = mv_flink( mr )
-*    ... add to head of hash pile
-	pile = HASH_cx( cx )
-	head = mv_flink( pile )
-	mv_flink( pile ) = mr
-	mv_flink( mr ) = head
-	mv_blink( mr ) = pile
-	mv_blink( head ) = mr
+* allocate the dynamic memory
+ 200	CALL GET_WS_MEM(ws, rqst_size, status)
+        IF (status .NE. ferr_ok) GOTO 5300
 
-* successful completion
-	status = ferr_ok
+* bookkeeping
+        ws_size(ws) = rqst_size
+	RETURN
+
+***********************
+* error exits
  5000	RETURN
+ 5100	num_str = LEFINT8(rqst_size,num_slen)
+	CALL ERRMSG( ferr_dim_underspec, status,
+     .    num_str(:num_slen)//' words were requested. ', *5110)
+ 5110	CALL WARN('Check for unspecified limits on an ABSTRACT axis')
+	CALL WARN('Use the SHOW GRID command to see the axes')
+	GOTO 5000
+
+ 5300	num_str = LEFINT8(rqst_size,num_slen)
+	CALL ERRMSG( ferr_insuff_memory,status,
+     .	  num_str(:num_slen)//' words were requested. ', *5310)
+ 5310	CALL WARN('The system is refusing to supply this much memory')
+        GOTO 5000
 
-* error exit : no space available
- 5010	CALL ERRMSG( ferr_too_many_vars, status,' ', *5000 )
 	END
+
diff --git a/fer/mem/find_mr_slot.F b/fer/mem/hook_mr_slot.F
similarity index 78%
copy from fer/mem/find_mr_slot.F
copy to fer/mem/hook_mr_slot.F
index 29a1adc..dbcf3bf 100644
--- a/fer/mem/find_mr_slot.F
+++ b/fer/mem/hook_mr_slot.F
@@ -1,4 +1,4 @@
-	SUBROUTINE FIND_MR_SLOT( cx, mr, status )
+	SUBROUTINE HOOK_MR_SLOT( cx, mr )
 
 *
 *
@@ -35,16 +35,15 @@
 *  CONNECTION WITH THE ACCESS, USE OR PERFORMANCE OF THIS SOFTWARE. 
 *
 *
-* locate an unused slot in the memory variable table and assign it to the
-* hash pile associated with the given context (cx)
+* assign this mr slot to the hash pile associated with the given context (cx)
 
 * programmer - steve hankin
 * NOAA/PMEL, Seattle, WA - Tropical Modeling and Analysis Program
-* written for VAX computer under VMS operating system
 *
 * revision 0.0 - 7/21/88
 * V200:  6/12/89 - delete priorities handled through linked lists
 *        2/12 *kms* Add E and F dimensions (use nferdims in tmap_dims.parm)
+* V702 - extracted from FIND_MR_SLOT as part of new dynamic memory management
 
         IMPLICIT NONE
         include 'tmap_dims.parm'
@@ -54,23 +53,13 @@
 	include 'xcontext.cmn'
 
 * calling argument declarations:
-	INTEGER cx, mr, status
+	INTEGER cx, mr
 
 * internal variable declarations:
 	INTEGER HASH_cx, pile, head
 
-* is there a slot in the free slot list ?
- 100	IF ( mv_flink( 0 ) . EQ. 0 ) THEN
-* ... no - delete lowest priority variable to make room and try again
-	   mr = mr_del_blink(0)
-	   IF ( mr .EQ. 0 ) GOTO 5010
-	   CALL DELETE_VARIABLE( mr )
-	ENDIF
-
 * transfer the slot from the free list to the cx hash pile
-*    ... remove from free list head
-	mr = mv_flink( 0 )
-	mv_flink( 0 ) = mv_flink( mr )
+
 *    ... add to head of hash pile
 	pile = HASH_cx( cx )
 	head = mv_flink( pile )
@@ -79,10 +68,5 @@
 	mv_blink( mr ) = pile
 	mv_blink( head ) = mr
 
-* successful completion
-	status = ferr_ok
- 5000	RETURN
-
-* error exit : no space available
- 5010	CALL ERRMSG( ferr_too_many_vars, status,' ', *5000 )
+	RETURN
 	END
diff --git a/fer/mem/release_work_spc.F b/fer/mem/mr2freelist.F
similarity index 79%
copy from fer/mem/release_work_spc.F
copy to fer/mem/mr2freelist.F
index 7f023d5..1232a7e 100644
--- a/fer/mem/release_work_spc.F
+++ b/fer/mem/mr2freelist.F
@@ -1,7 +1,5 @@
-	SUBROUTINE RELEASE_WORK_SPC
+	SUBROUTINE MR2FREELIST ( mr )
 
-*
-*
 *  This software was developed by the Thermal Modeling and Analysis
 *  Project(TMAP) of the National Oceanographic and Atmospheric
 *  Administration''s (NOAA) Pacific Marine Environmental Lab(PMEL),
@@ -35,24 +33,27 @@
 *  CONNECTION WITH THE ACCESS, USE OR PERFORMANCE OF THIS SOFTWARE. 
 *
 *
-* releases claim to temporary work space allocated by GET_WORK_SPC
+* return an mr slot to the free list
+* (this routine normally called after an error condition aborts mr creation)
 
 * programmer - steve hankin
 * NOAA/PMEL, Seattle, WA - Tropical Modeling and Analysis Program
-* written for VAX computer under VMS operating system
 *
-* revision 0.0 - 2/19/87
-* V702 *sh* 12/16  clear sp_num_blocks and sp_start_block for house-keeping
+* V702 1/16 *sh*: lines copied from DELETE_VARIABLE
 
         IMPLICIT NONE
-	include 'xwork_space.cmn'
+        include 'tmap_dims.parm'
+	include 'ferret.parm'
+	include 'xvariables.cmn'
+	include 'xprog_state.cmn'
+
+* calling argument declarations:
+	INTEGER mr
 
-	IF ( sp_last_size .GT. 0 ) THEN
-	   CALL FREE_MEMORY( sp_start_block, sp_num_blocks )
-	   sp_last_size  = 0
-	   sp_num_blocks = 0
-	   sp_start_block = -12345
-	ENDIF
+* return the slot to the memory variable free list
+        mv_flink( mr ) = mv_flink( 0 )
+        mv_blink( mr ) = unspecified_int4               ! house keeping
+        mv_flink( 0 ) = mr
 
 	RETURN
 	END
diff --git a/fer/mem/mr_available.F b/fer/mem/mr_available.F
index 5ad6b6d..c5ce5e3 100644
--- a/fer/mem/mr_available.F
+++ b/fer/mem/mr_available.F
@@ -56,12 +56,19 @@
 * internal variable declarations:
 	INTEGER last_head
 
+* if this variable held "essential" data, flag that it no longer is essential
+	   IF ( mr_protected( mr ) .EQ. mr_temporary	
+     .	  .OR.  mr_protected( mr ) .EQ. mr_in_progress
+     .	  .OR.  mr_protected( mr ) .GT. mr_not_protected    ) THEN
+	      essential_mem = essential_mem - mr_size(mr)
+	   ENDIF
+
 * set flag that it is available for use and for deletion
 	mr_protected( mr ) = mr_not_protected
 
 ! temp diag
 	IF (mr_del_flink(mr) .NE. unspecified_int4) 
-     .		WRITE (6,*)' mr_avail_err'
+     .		WRITE (6,*)' crptn: mr_available'
 
 * insert the variable at the head of the deletion priority chain
 	last_head = mr_del_flink(0)
diff --git a/fer/mem/mr_in_use.F b/fer/mem/mr_in_use.F
index 526bde9..76929e6 100644
--- a/fer/mem/mr_in_use.F
+++ b/fer/mem/mr_in_use.F
@@ -67,6 +67,14 @@
 	   mr_del_blink(next) = prev
 	   mr_del_flink(mr)   = unspecified_int4	! important 12/16
 	   mr_del_blink(mr)   = unspecified_int4	! important 12/16
+* ... changing to "in use" makes it "essential memory"
+	   essential_mem = essential_mem + mr_size(mr)
+	   IF (essential_mem.GT.peak_essential_mem) 
+     .		peak_essential_mem = essential_mem
+
+	ELSEIF ( mr_protected(mr) .EQ. mr_in_progress ) THEN
+	   mr_protected(mr) = mr_not_protected  ! to be incremented just below
+* ... mr_in_progress vars are already considered "essential memory"
 	ENDIF
 
 * bump claims counter
diff --git a/fer/mem/mr_not_in_use.F b/fer/mem/mr_not_in_use.F
index faa4e22..212b3f8 100644
--- a/fer/mem/mr_not_in_use.F
+++ b/fer/mem/mr_not_in_use.F
@@ -66,9 +66,16 @@
 
 	IF ( mr_protected(mr) .GT. mr_not_protected ) THEN
 	   mr_protected(mr) = mr_protected(mr) - 1
+* ... if no one needs this variable any longer it is no longer "essential"
+	   IF ( mr_protected(mr) .EQ. mr_not_protected ) THEN
+	      essential_mem = essential_mem - mr_size(mr)
+	   ENDIF
+
 	ELSEIF ( mr_protected(mr) .LT. mr_not_protected ) THEN
-* ... see the list of possible mr_* states in ferret.parm
+* ... mr_temporary variables can end up here during immediate mode evaluations
+*     see the list of possible mr_* states in ferret.parm
 	   RETURN
+
 	ELSE
 * ... over-freeing of the mr -- should never happen
 	   CALL ERRMSG( ferr_internal, status, 'xtra MR_NOT_IN_USE', *5000)
diff --git a/fer/mem/new_mr_w_edges.F b/fer/mem/new_mr_w_edges.F
index 0fb11d8..ab3a749 100644
--- a/fer/mem/new_mr_w_edges.F
+++ b/fer/mem/new_mr_w_edges.F
@@ -1,4 +1,4 @@
-	SUBROUTINE NEW_MR_W_EDGES(memory,cx_valid,cx_model,mr,status)
+	SUBROUTINE NEW_MR_W_EDGES(cx_valid,cx_model,mr,status)
 
 *  This software was developed by the Thermal Modeling and Analysis
 *  Project(TMAP) of the National Oceanographic and Atmospheric
@@ -54,7 +54,6 @@
 
 * calling argument declarations:
 	INTEGER	cx_valid, cx_model, mr, status
-	REAL	memory( mem_blk_size, max_mem_blks )
 
 * internal variable declarations
 	INTEGER MGRID_SIZE
@@ -65,12 +64,12 @@
 
 	IF ( mr_type(mr) .EQ. ptype_string ) THEN
            CALL INIT_C_STRING_ARRAY( MGRID_SIZE(mr),
-     .                               memory(1, mr_blk1(mr)),
+     .                               memry(mr)%ptr,
      .                               mr_c_pointer(mr)      )
 	ENDIF
 
 * fill edges
-	CALL BAD_EDGES( cx_valid, memory(1, mr_blk1(mr)), mr )
+	CALL BAD_EDGES( cx_valid, memry(mr)%ptr, mr )
 
 	RETURN
 	END
diff --git a/fer/mem/get_work_spc.F b/fer/mem/purge_all_uvars_except_ex.F
similarity index 63%
rename from fer/mem/get_work_spc.F
rename to fer/mem/purge_all_uvars_except_ex.F
index 7b0abe9..cb89586 100644
--- a/fer/mem/get_work_spc.F
+++ b/fer/mem/purge_all_uvars_except_ex.F
@@ -1,4 +1,4 @@
-	SUBROUTINE GET_WORK_SPC ( size, start_block, status )
+	SUBROUTINE PURGE_ALL_UVARS_EXCEPT_EX
 
 *
 *
@@ -35,49 +35,53 @@
 *  CONNECTION WITH THE ACCESS, USE OR PERFORMANCE OF THIS SOFTWARE. 
 *
 *
-* provide a region of temporary working space to the calling routine.
-* For greatest speed simply reuse the last provided if it is large enough
+* eliminate all stored user variables from memory except for the current EX#
+* expression
 
 * programmer - steve hankin
 * NOAA/PMEL, Seattle, WA - Tropical Modeling and Analysis Program
-* written for VAX computer under VMS operating system
-*
-* revision 0.0 - 2/19/87
-* V510: *sh 1/2000 - bug fix when unable to allocate requested work space
-*        2/12 *kms* Add E and F dimensions (use nferdims in tmap_dims.parm)
-* V69+ *acm*  9/14 Ticket 1758. Memory request uses number of blocks not words
+
+* V702 *sh* 1/17 - for dynamic memory -- based upon PURGE_ALL_UVARS
 
         IMPLICIT NONE
         include 'tmap_dims.parm'
 	include 'ferret.parm'
 	include 'errmsg.parm'
 	include 'xvariables.cmn'
-	include 'xwork_space.cmn'
-
-* calling argument declarations:
-	INTEGER	size, start_block, status
 
 * internal variable declarations:
-	INTEGER grid_blocks
+	INTEGER	uvar, i, j, num_indices
+
+        CALL deleted_list_get_undel(uvar_num_items_head, 
+     .                          deleted_list_result(1),
+     .                          max_uvar, num_indices )
+        DO j = 1, num_indices
+           uvar = deleted_list_result(j)
+
+* do not delete EX#n variables as they may be actively in use
+* as in "set att temp.missing_value = 12"
+	   IF (uvar_name_code(uvar)(1:3) .EQ. 'EX#'    ) CYCLE
 
-* --- end of introductory code ---
+* eliminate all memory resident instances of this variable
+	   CALL PURGE_USER_VAR( uvar )
 
-	IF ( size .LE. sp_last_size ) THEN
-	   status = ferr_ok
+* back to initial defaults (see INIT_UVAR)
+* (eliminate all grid information that may have been rendered incorrect)
+	   CALL DEALLO_UVAR_GRIDS(uvar)
 
-	ELSE
-	   CALL RELEASE_WORK_SPC
-* COMPUTE # BLOCKS NEEDED
-	   grid_blocks = ( size + mem_blk_size - 1 ) / mem_blk_size
-	   CALL GET_MEMORY( size, grid_blocks, sp_start_block, sp_num_blocks, status )
-	   IF ( status .EQ. ferr_ok ) THEN
-	      sp_last_size = sp_num_blocks * mem_blk_size
-	   ELSE
-	      sp_last_size = 0
-	   ENDIF
-	ENDIF
+*       bug fix: 11/91 *************
+* must reset ALL of the state variables as set up in INIT_UVAR
+* by default assume the definition requires an external data set specification
+           uvar_need_dset( uvar ) = .TRUE.
+
+* by default assume that all limits are irrelevant
+           DO 320 i = 1, nferdims
+ 320       uvar_given(i,uvar) = uvlim_irrelevant
+* end of bug fix: 11/91 *************
+
+	ENDDO
+
+	CALL PURGE_AUX_VAR_DEPENDENTS
 
-	start_block = sp_start_block
 	RETURN
 	END
-
diff --git a/fer/mem/re_assign_variable.F b/fer/mem/re_assign_variable.F
index 7f4a3d3..bdd66da 100644
--- a/fer/mem/re_assign_variable.F
+++ b/fer/mem/re_assign_variable.F
@@ -47,6 +47,7 @@
 *		 - variable is assumed NOT to be in deletion chain
 *		 - use ASSIGN_MR_CX
 *        2/12 *kms* Add E and F dimensions (use nferdims in tmap_dims.parm)
+* V702:  3/17 *sh* dynamic memory management
 
         IMPLICIT NONE
         include 'tmap_dims.parm'
@@ -61,7 +62,15 @@
 * internal variable declarations:
 	INTEGER HASH_CX, prev, next, pile, head
 
-* flag the variable as "in progress"
+* this should never happen, but to be safe ...
+	IF (mr_protected(mr) .EQ. mr_not_protected) THEN
+	   CALL WARN("crptn??: re_assign_variable")
+	   essential_mem = essential_mem + mr_size(mr)
+	   IF (essential_mem.GT.peak_essential_mem) 
+     .		peak_essential_mem = essential_mem
+	ENDIF
+
+* flag the variabe as in progress
 	mr_protected(mr) = mr_in_progress
 
 * make this mem var the property of the new context
diff --git a/fer/mem/release_work_spc.F b/fer/mem/release_dyn_work_space.F
similarity index 82%
copy from fer/mem/release_work_spc.F
copy to fer/mem/release_dyn_work_space.F
index 7f023d5..9521003 100644
--- a/fer/mem/release_work_spc.F
+++ b/fer/mem/release_dyn_work_space.F
@@ -1,4 +1,4 @@
-	SUBROUTINE RELEASE_WORK_SPC
+	SUBROUTINE RELEASE_DYN_WORK_SPACE
 
 *
 *
@@ -35,23 +35,22 @@
 *  CONNECTION WITH THE ACCESS, USE OR PERFORMANCE OF THIS SOFTWARE. 
 *
 *
-* releases claim to temporary work space allocated by GET_WORK_SPC
-
+* A convenience function to call FREE_DYN_WS_MEM for slot 1
+*
 * programmer - steve hankin
 * NOAA/PMEL, Seattle, WA - Tropical Modeling and Analysis Program
-* written for VAX computer under VMS operating system
 *
-* revision 0.0 - 2/19/87
-* V702 *sh* 12/16  clear sp_num_blocks and sp_start_block for house-keeping
+* V702 1/17 *sh* for trac enhancement #2369 -- dynamic memory management 
 
         IMPLICIT NONE
-	include 'xwork_space.cmn'
+	include 'tmap_dims.parm'
+	include	'ferret.parm'
+	include 'xvariables.cmn'
 
-	IF ( sp_last_size .GT. 0 ) THEN
-	   CALL FREE_MEMORY( sp_start_block, sp_num_blocks )
-	   sp_last_size  = 0
-	   sp_num_blocks = 0
-	   sp_start_block = -12345
+* The IF test allows this routine to get called legally even when the
+* work space was never actually allocated.
+	IF (ws_size(1) .NE. 0) THEN
+	   CALL FREE_WS_DYNMEM(1)
 	ENDIF
 
 	RETURN
diff --git a/fer/mem/show_aborted_mem_state.F b/fer/mem/show_aborted_mem_state.F
new file mode 100644
index 0000000..bee7c4f
--- /dev/null
+++ b/fer/mem/show_aborted_mem_state.F
@@ -0,0 +1,120 @@
+	SUBROUTINE SHOW_ABORTED_MEM_STATE(rqst_size)
+
+*
+*
+*  This software was developed by the Thermal Modeling and Analysis
+*  Project(TMAP) of the National Oceanographic and Atmospheric
+*  Administration's (NOAA) Pacific Marine Environmental Lab(PMEL),
+*  hereafter referred to as NOAA/PMEL/TMAP.
+*
+*  Access and use of this software shall impose the following
+*  obligations and understandings on the user. The user is granted the
+*  right, without any fee or cost, to use, copy, modify, alter, enhance
+*  and distribute this software, and any derivative works thereof, and
+*  its supporting documentation for any purpose whatsoever, provided
+*  that this entire notice appears in all copies of the software,
+*  derivative works and supporting documentation.  Further, the user
+*  agrees to credit NOAA/PMEL/TMAP in any publications that result from
+*  the use of this software or in any product that includes this
+*  software. The names TMAP, NOAA and/or PMEL, however, may not be used
+*  in any advertising or publicity to endorse or promote any products
+*  or commercial entity unless specific written permission is obtained
+*  from NOAA/PMEL/TMAP. The user also understands that NOAA/PMEL/TMAP
+*  is not obligated to provide the user with any support, consulting,
+*  training or assistance of any kind with regard to the use, operation
+*  and performance of this software nor to provide the user with any
+*  updates, revisions, new versions or "bug fixes".
+*
+*  THIS SOFTWARE IS PROVIDED BY NOAA/PMEL/TMAP "AS IS" AND ANY EXPRESS
+*  OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+*  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+*  ARE DISCLAIMED. IN NO EVENT SHALL NOAA/PMEL/TMAP BE LIABLE FOR ANY SPECIAL,
+*  INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
+*  RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF
+*  CONTRACT, NEGLIGENCE OR OTHER TORTUOUS ACTION, ARISING OUT OF OR IN
+*  CONNECTION WITH THE ACCESS, USE OR PERFORMANCE OF THIS SOFTWARE. 
+*
+*
+* This routine is called following a ferr_insuff_memory error to display
+* diagnostic information about the state of memory at the time of the failure.
+* Specifically, how much memory was tied up for what purposes
+
+* V702 3/17 *sh*
+
+	include 'tmap_dims.parm'
+	include	'ferret.parm'
+	include 'errmsg.parm'
+	include 'xprog_state.cmn'
+	include 'xvariables.cmn'
+	include 'xinterrupt.cmn'
+
+* calling argument declarations:
+	INTEGER*8 rqst_size
+
+* local variable declarations:
+	INTEGER UVAR_NUMBER, TM_LENSTR1, uvar, slen, slen2, slen3
+	INTEGER*8 object_mem
+	CHARACTER LEFINT*8, LEFINT8*16, EXPR_NAME*8, TM_FMT*8,
+     .		arg_num*8, name_code*8, mem_int*16, percent*8
+	REAL*8 rmax_mem
+
+* initialize
+	rmax_mem = max_mem_allowed  ! so percentages become floating point
+
+* write introductory line
+	CALL SPLIT_LIST(pttmode_explct, show_lun,
+     .		'    At the moment that the memory limit was reached',0 )
+
+* write "Argument 2 of the command was being evaluated:" expression
+	IF (num_uvars_in_cmnd .GT. 1) THEN
+	   arg_num = LEFINT(current_cmnd_uvar, slen)
+	   name_code = EXPR_NAME(current_cmnd_uvar)
+	   uvar = UVAR_NUMBER( name_code )
+	   slen2 = TM_LENSTR1(uvar_text(uvar))
+	   CALL SPLIT_LIST(pttmode_explct, show_lun,
+     .		'    argument '//arg_num(:slen)//' was being evaluated: '//
+     .		uvar_text(uvar)(:slen2), 0)
+	ENDIF
+
+* summarize how memory was allocated
+	CALL SPLIT_LIST(pttmode_explct, show_lun,
+     .		'    memory was committed as follows:',0 )
+
+	IF (permanent_mem .GT. 0) THEN
+	   mem_int = LEFINT8(permanent_mem, slen2)
+	   percent = TM_FMT (permanent_mem/rmax_mem*100, 2, 8, slen3)
+	   CALL SPLIT_LIST(pttmode_explct, show_lun,
+     .		'        - to LOAD/PERM storage: '//
+     .		mem_int(:slen2)//' ('//percent(:slen3)//'%)' ,0 )
+	ENDIF
+
+	IF (current_cmnd_uvar .GT. 1) THEN
+	   arg_num = LEFINT(current_cmnd_uvar-1, slen)
+	   mem_int = LEFINT8(completed_args_mem, slen2)
+	   percent = TM_FMT (completed_args_mem/rmax_mem*100, 2, 8, slen3)
+	   CALL SPLIT_LIST(pttmode_explct, show_lun,
+     .		'        - to arguments 1-'//arg_num(:slen)//
+     .		': '//mem_int(:slen2)//' ('//percent(:slen3)//'%)' ,0 )
+	ENDIF
+
+	object_mem = essential_mem-completed_args_mem
+	mem_int = LEFINT8(object_mem, slen2)
+	percent = TM_FMT (object_mem/rmax_mem*100, 2, 8, slen3)
+	CALL SPLIT_LIST(pttmode_explct, show_lun,
+     .		'        - to objects used in computation: '//
+     .		': '//mem_int(:slen2)//' ('//percent(:slen3)//'%)' ,0 )
+
+
+* Report the size of the requested object
+	mem_int = LEFINT8(rqst_size, slen2)
+	percent = TM_FMT (rqst_size/rmax_mem*100, 2, 8, slen3)
+	CALL SPLIT_LIST(pttmode_explct, show_lun,
+     .		'    The size of the requested object was: '//
+     .		': '//mem_int(:slen2)//' ('//percent(:slen3)//'%)' ,0 )
+
+* report the activity that was underway
+* ... could optionally investigate the is_act states of isp and isp-1 to report
+*  "reading dtaa while gathering for average" or whatever ...
+
+	RETURN
+	END
diff --git a/fer/mem/release_work_spc.F b/fer/mem/store_mr_ptr.F
similarity index 78%
copy from fer/mem/release_work_spc.F
copy to fer/mem/store_mr_ptr.F
index 7f023d5..10b841a 100644
--- a/fer/mem/release_work_spc.F
+++ b/fer/mem/store_mr_ptr.F
@@ -1,7 +1,5 @@
-	SUBROUTINE RELEASE_WORK_SPC
+        SUBROUTINE STORE_MR_PTR(mr, size, array)
 
-*
-*
 *  This software was developed by the Thermal Modeling and Analysis
 *  Project(TMAP) of the National Oceanographic and Atmospheric
 *  Administration''s (NOAA) Pacific Marine Environmental Lab(PMEL),
@@ -35,24 +33,24 @@
 *  CONNECTION WITH THE ACCESS, USE OR PERFORMANCE OF THIS SOFTWARE. 
 *
 *
-* releases claim to temporary work space allocated by GET_WORK_SPC
-
-* programmer - steve hankin
-* NOAA/PMEL, Seattle, WA - Tropical Modeling and Analysis Program
-* written for VAX computer under VMS operating system
+* this routine is called from C
+* store pointer to malloc-allocated memory into an F90 pointer in the mr table
 *
-* revision 0.0 - 2/19/87
-* V702 *sh* 12/16  clear sp_num_blocks and sp_start_block for house-keeping
+* V702 1/17 *sh* for trac enhancement #2369 -- dynamic memory management 
 
         IMPLICIT NONE
-	include 'xwork_space.cmn'
 
-	IF ( sp_last_size .GT. 0 ) THEN
-	   CALL FREE_MEMORY( sp_start_block, sp_num_blocks )
-	   sp_last_size  = 0
-	   sp_num_blocks = 0
-	   sp_start_block = -12345
-	ENDIF
+* calling argumemnts
+        INTEGER mr, size
+        REAL(8), TARGET :: array(size)
+
+        include 'tmap_dims.parm'
+	include	'ferret.parm'
+	include 'xvariables.cmn'
+
+* store the pointer
+        memry(mr)%ptr => array
+
+        RETURN
 
-	RETURN
 	END
diff --git a/fer/stk/exit_dependency_mode.F b/fer/mem/store_nul_mr_ptr.F
similarity index 78%
copy from fer/stk/exit_dependency_mode.F
copy to fer/mem/store_nul_mr_ptr.F
index 465bb80..8d3dbf1 100644
--- a/fer/stk/exit_dependency_mode.F
+++ b/fer/mem/store_nul_mr_ptr.F
@@ -1,10 +1,8 @@
-	SUBROUTINE EXIT_DEPENDENCy_MODE
+        SUBROUTINE STORE_NUL_MR_PTR(mr, array)
 
-*
-*
 *  This software was developed by the Thermal Modeling and Analysis
 *  Project(TMAP) of the National Oceanographic and Atmospheric
-*  Administration's (NOAA) Pacific Marine Environmental Lab(PMEL),
+*  Administration''s (NOAA) Pacific Marine Environmental Lab(PMEL),
 *  hereafter referred to as NOAA/PMEL/TMAP.
 *
 *  Access and use of this software shall impose the following
@@ -35,20 +33,24 @@
 *  CONNECTION WITH THE ACCESS, USE OR PERFORMANCE OF THIS SOFTWARE. 
 *
 *
-* reset COMMON values that indicate the special mode used for assesing 
-* user variable dependency trees
-
-* programmer - steve hankin
-* NOAA/PMEL, Seattle, WA - Tropical Modeling and Analysis Program
+* this routine is called from C
+* store pointer to a zero-length array into an F90 pointer in the mr table
 *
-* V685+ 11/13 *sh*  
+* V702 1/17 *sh* for trac enhancement #2369 -- dynamic memory management 
 
-	include 'tmap_dims.parm'
+        IMPLICIT NONE
+
+* calling argumemnts
+        INTEGER mr
+        REAL(8), TARGET :: array(0)
+
+        include 'tmap_dims.parm'
 	include	'ferret.parm'
-	include 'xdependency_tree.cmn'
+	include 'xvariables.cmn'
+
+* store the pointer
+        memry(mr)%ptr => array
 
-	dependency_tree_mode = .FALSE.
-	CALL RELEASE_WORK_SPC
+        RETURN
 
-     	RETURN
 	END
diff --git a/fer/stk/exit_dependency_mode.F b/fer/mem/store_nul_ws_ptr.F
similarity index 78%
copy from fer/stk/exit_dependency_mode.F
copy to fer/mem/store_nul_ws_ptr.F
index 465bb80..3a48af6 100644
--- a/fer/stk/exit_dependency_mode.F
+++ b/fer/mem/store_nul_ws_ptr.F
@@ -1,10 +1,8 @@
-	SUBROUTINE EXIT_DEPENDENCy_MODE
+        SUBROUTINE STORE_NUL_WS_PTR(ws, array)
 
-*
-*
 *  This software was developed by the Thermal Modeling and Analysis
 *  Project(TMAP) of the National Oceanographic and Atmospheric
-*  Administration's (NOAA) Pacific Marine Environmental Lab(PMEL),
+*  Administration''s (NOAA) Pacific Marine Environmental Lab(PMEL),
 *  hereafter referred to as NOAA/PMEL/TMAP.
 *
 *  Access and use of this software shall impose the following
@@ -35,20 +33,24 @@
 *  CONNECTION WITH THE ACCESS, USE OR PERFORMANCE OF THIS SOFTWARE. 
 *
 *
-* reset COMMON values that indicate the special mode used for assesing 
-* user variable dependency trees
-
-* programmer - steve hankin
-* NOAA/PMEL, Seattle, WA - Tropical Modeling and Analysis Program
+* this routine is called from C
+* store pointer to a zero-length array into an F90 pointer in the ws table
 *
-* V685+ 11/13 *sh*  
+* V702 1/17 *sh* for trac enhancement #2369 -- dynamic memory management 
 
-	include 'tmap_dims.parm'
+        IMPLICIT NONE
+
+* calling argumemnts
+        INTEGER ws
+        REAL(8), TARGET :: array(0)
+
+        include 'tmap_dims.parm'
 	include	'ferret.parm'
-	include 'xdependency_tree.cmn'
+	include 'xvariables.cmn'
+
+* store the pointer
+        workmem(ws)%ptr => array
 
-	dependency_tree_mode = .FALSE.
-	CALL RELEASE_WORK_SPC
+        RETURN
 
-     	RETURN
 	END
diff --git a/fer/mem/release_work_spc.F b/fer/mem/store_ws_ptr.F
similarity index 78%
rename from fer/mem/release_work_spc.F
rename to fer/mem/store_ws_ptr.F
index 7f023d5..2dabc6e 100644
--- a/fer/mem/release_work_spc.F
+++ b/fer/mem/store_ws_ptr.F
@@ -1,7 +1,5 @@
-	SUBROUTINE RELEASE_WORK_SPC
+        SUBROUTINE STORE_WS_PTR(ws, size, array)
 
-*
-*
 *  This software was developed by the Thermal Modeling and Analysis
 *  Project(TMAP) of the National Oceanographic and Atmospheric
 *  Administration''s (NOAA) Pacific Marine Environmental Lab(PMEL),
@@ -35,24 +33,24 @@
 *  CONNECTION WITH THE ACCESS, USE OR PERFORMANCE OF THIS SOFTWARE. 
 *
 *
-* releases claim to temporary work space allocated by GET_WORK_SPC
-
-* programmer - steve hankin
-* NOAA/PMEL, Seattle, WA - Tropical Modeling and Analysis Program
-* written for VAX computer under VMS operating system
+* this routine is called from C
+* store pointer to malloc memory into an F90 pointer in work storage table
 *
-* revision 0.0 - 2/19/87
-* V702 *sh* 12/16  clear sp_num_blocks and sp_start_block for house-keeping
+* V702 1/17 *sh* for trac enhancement #2369 -- dynamic memory management 
 
         IMPLICIT NONE
-	include 'xwork_space.cmn'
 
-	IF ( sp_last_size .GT. 0 ) THEN
-	   CALL FREE_MEMORY( sp_start_block, sp_num_blocks )
-	   sp_last_size  = 0
-	   sp_num_blocks = 0
-	   sp_start_block = -12345
-	ENDIF
+* calling argumemnts
+        INTEGER ws, size
+        REAL(8), TARGET :: array(size)
+
+        include 'tmap_dims.parm'
+	include	'ferret.parm'
+	include 'xvariables.cmn'
+
+* store the pointer
+        workmem(ws)%ptr => array
+
+        RETURN
 
-	RETURN
 	END
diff --git a/fer/plt/axis_ends.F b/fer/plt/axis_ends.F
index f9f3455..8627b67 100644
--- a/fer/plt/axis_ends.F
+++ b/fer/plt/axis_ends.F
@@ -1,5 +1,5 @@
 	SUBROUTINE AXIS_ENDS( plot_ax, dat_ax, grid, first, last, delta,
-     .                        is_log,  axtp, status )
+     .                        is_log, axtp, versus, status )
 
 *
 *
@@ -58,6 +58,9 @@
 * V695+ *sh* 4/15 format long longitude axes using a delta based upon 15 deg
 * V710  *acm* 11/16 Ticket 2483: Fix the axis-end symbols that are defined 
 *                   for time axis plots
+* V720  *acm*  2/17 Ticket 2246. If the plot is a PLOT/VS plot (or polygon plot?),
+*                   then axis-backwards is not relevant. The plot axis is drawn
+*                   from the data values not the grid.
 
 	include 'tmap_dims.parm'
 	include 'ferret.parm'
@@ -69,7 +72,7 @@
 * kob 12/96
 	EXTERNAL RANGE
 * calling argument declarations:
-	LOGICAL		is_log
+	LOGICAL		is_log, versus
 	CHARACTER*1	plot_ax		! X (horiz) or Y (vert) axis of plot
 	INTEGER		dat_ax, grid	! X,Y,Z,... axis of data
 	REAL*8		first, last, delta
@@ -93,7 +96,7 @@
 * Check for negative or too-tiny values of range
 	   IF (first .LT. epsilon .OR. last  .LT. epsilon) GO TO 5000
 
-	   IF ( BKWD_AXIS(dat_ax, grid) ) THEN
+	   IF (.NOT.versus .AND. BKWD_AXIS(dat_ax, grid) ) THEN
 	      axtp = 4		! inverse log axis (leave type 3 as is in PPLUS)
            ELSE
 	      axtp = 2		! log axis
@@ -110,8 +113,10 @@
 
            IF (lastl .GE. firstl ) THEN
 	      IF (ABS(lastl - last) .GT. eps2) last = last + 1.
+	      IF (ABS(lastl - last) .GT. 1.) last = last - 1.
 	   ELSE
              IF (ABS(firstl - first) .GT. eps2) first = first + 1.
+	      IF (ABS(firstl - first) .GT. 1.) first = first - 1.
 	   ENDIF
        ENDIF
        span = ABS(last-first)
@@ -119,7 +124,7 @@
 * Convert to single precision and reverse order if a depth plot on Y axis
 
 #ifdef double_p
-	IF ( plot_ax .EQ. 'Y'  .AND.  BKWD_AXIS(dat_ax, grid) ) THEN
+	IF ( plot_ax .EQ. 'Y'  .AND. .NOT.versus .AND. BKWD_AXIS(dat_ax, grid) ) THEN
 	   x2 = (first)
 	   x1 = (last)
 	ELSE
@@ -127,7 +132,7 @@
 	   x2 = (last)
 	ENDIF
 #else	
-	IF ( plot_ax .EQ. 'Y'  .AND.  BKWD_AXIS(dat_ax, grid) ) THEN
+	IF ( plot_ax .EQ. 'Y'  .AND. NOT.versus .AND. BKWD_AXIS(dat_ax, grid) ) THEN
 	   x2 = SNGL(first)
 	   x1 = SNGL(last)
 	ELSE
@@ -140,7 +145,7 @@
 	IF ( delta .EQ. unspecified_val8 ) THEN
 	   IF (dat_ax .EQ. x_dim
      .   .AND. GEOG_LABEL(x_dim,grid)
-     .	 .AND. span .GT. 75.  ) THEN
+     .	 .AND. span .GT. 75. .AND..NOT.versus ) THEN
 * ... use 15-degree delta for long longitude axes
 	      IF (span .GT. 180.) THEN
 	         delta = 30.
@@ -157,7 +162,8 @@
 	ENDIF
 
 * if its a time axis, correct the  the actual axis ends that PPLUS will use.
-	IF (.NOT.adjust_time .AND. (dat_ax .EQ. t_dim .AND. GEOG_LABEL(t_dim,grid)) ) THEN
+	IF (.NOT.versus .AND. .NOT.adjust_time .AND. 
+     .      (dat_ax .EQ. t_dim .AND. GEOG_LABEL(t_dim,grid)) ) THEN
 	   taxis = grid_line(t_dim,grid)
            cal_id = TM_GET_CALENDAR_ID ( line_cal_name(taxis) )
 
diff --git a/fer/plt/disp_data_set_up.F b/fer/plt/disp_data_set_up.F
index 00e0fb4..44cdd99 100644
--- a/fer/plt/disp_data_set_up.F
+++ b/fer/plt/disp_data_set_up.F
@@ -1,5 +1,4 @@
-	SUBROUTINE DISP_DATA_SET_UP
-     .	( memory, ax1_start, ax1_blks, ax2_start, ax2_blks, status )
+	SUBROUTINE DISP_DATA_SET_UP(  ax1_work, ax2_work, status )
 
 *  This software was developed by the Thermal Modeling and Analysis
 *  Project(TMAP) of the National Oceanographic and Atmospheric
@@ -59,6 +58,7 @@
 *	            only if PLOT/VS
 *       *acm* 3/12 Add E and F dimensions (use nferdims in tmap_dims.parm)
 * V69+ *acm*  9/14 Ticket 1758. Memory request uses number of blocks not words
+* V702 1/17 *sh* for trac enhancement #2369 -- dynamic memory management 
 
 	include 'tmap_dims.parm'
 	include	'ferret.parm'
@@ -70,14 +70,14 @@
 	include 'xprog_state.cmn'
 	
 * calling argument declarations:
-	INTEGER	ax1_blks, ax1_start, ax2_blks, ax2_start, status
-	REAL memory(*)
+	INTEGER	ax1_work, ax2_work, status
 
 * internal variable declarations:
 	LOGICAL plot_vs
 	INTEGER	MR_DIM_LEN, CX_DIM_LEN, CGRID_SIZE,
-     .		idim, ndim, dim(nferdims), mr1, ax_len, cx, ivar,
-     .		factor, loc, grid_blocks
+     .		idim, ndim, dim(nferdims), mr1, cx, ivar,
+     .		factor, loc
+	INTEGER*8 i8_ax_len
 	CHARACTER buff*4
 
 * check for PLOT/VS -- significant in axis buffer sizes
@@ -85,7 +85,7 @@
      .	.AND. qual_given(slash_plot_vs) .GT. 0
 
 * get the requested data somehow  (and leave it protected 1/94)
-	CALL GET_PROT_CMND_DATA ( memory, cx_last, ptype_float, status )
+	CALL GET_PROT_CMND_DATA (  cx_last, ptype_float, status )
 	IF ( status .NE. ferr_ok ) GOTO 5100
 
 * PLOT/ALONG -- reinterpret a multi-D data block as a collection of lines
@@ -121,9 +121,9 @@
 *     missing polygons on a time axis
 	   cx = is_cx(1)
 	   CALL GET_CX_DIMS(cx, ndim, dim)
-	   ax_len = 1
+	   i8_ax_len = 1
 	   DO 100 idim = 1, ndim
- 100	   ax_len = 2* MAX(ax_len,
+ 100	   i8_ax_len = 2* MAX(i8_ax_len,
      .			cx_hi_ss(cx,dim(idim)) - 
      .			cx_lo_ss(cx,dim(idim)) + 1 )
 	ELSE
@@ -131,37 +131,34 @@
 *     make them each equal to MAX in case /TRANSPOSE or mulit-dim PLOT/VS
 * (2/99: loop over all arguments to find largest requirement)
 * ?? why is CGRID_SIZE needed ... could get very large ??
-	   ax_len = 1
+	   i8_ax_len = 1
 	   DO 200 ivar = 1, num_uvars_in_cmnd
 	      mr1 = is_mr( ivar )
 	      CALL GET_CX_DIMS( is_cx(ivar), ndim, dim )
-	      ax_len = MAX( ax_len,
+	      i8_ax_len = MAX( i8_ax_len,
      .			    MR_DIM_LEN( dim(1), mr1 ),
      .		            MR_DIM_LEN( dim(2), mr1 ),
      .			    factor*CX_DIM_LEN(dim(1), is_cx(ivar)),
      .			    factor*CX_DIM_LEN(dim(2), is_cx(ivar)) )
-	      IF (plot_vs) ax_len =
-     .		       MAX( ax_len,
+	      IF (plot_vs) i8_ax_len =
+     .		       MAX( i8_ax_len,
      .		            CGRID_SIZE(is_cx(ivar))  )
  200	   CONTINUE
 	ENDIF
 
 * allocate working storage
-
-* COMPUTE # BLOCKS NEEDED
-	grid_blocks = ( ax_len + mem_blk_size - 1 ) / mem_blk_size
-
-	CALL GET_MEMORY( ax_len, grid_blocks, ax1_start, ax1_blks, status )
+* the somewhat odd logic is cuz we're making minimal changes to the 
+* pre-dynamic memory code
+	CALL CREATE_DYN_WRKSPC( i8_ax_len, ax1_work, status )
 	IF ( status .NE. ferr_ok ) GOTO 5020
-	CALL GET_MEMORY( ax_len, grid_blocks, ax2_start, ax2_blks, status )
+	CALL CREATE_DYN_WRKSPC( i8_ax_len, ax2_work, status )
 	IF ( status .NE. ferr_ok ) GOTO 5010
 
 * successful completion
 	RETURN
 
 * error exits - release the memory used for axis buffers
-! 5000	CALL FREE_MEMORY( ax2_start, ax2_blks )
- 5010	CALL FREE_MEMORY( ax1_start, ax2_blks )
+ 5010	CALL FREE_WS_DYNMEM( ax1_work )
  5020	CALL UNPROTECT_CMND_DATA	! added 2/99
  5100	RETURN
 	END
diff --git a/fer/plt/disp_set_up.F b/fer/plt/disp_set_up.F
index ddbba3e..9e6ab9d 100644
--- a/fer/plt/disp_set_up.F
+++ b/fer/plt/disp_set_up.F
@@ -1,4 +1,4 @@
-	SUBROUTINE DISP_SET_UP( memory,
+	SUBROUTINE DISP_SET_UP( 
      .				vector, shade, use_cell, aspect, overlay, 
      .				transpz, no_labels, no_x_rng, valx1, 
      .				density, is_logx, is_logy, mr_list, nmv, 
@@ -171,6 +171,7 @@
 * V71 12/16 *acm* For ticket 2158: working with true monthly time axes.
 * V71  1/17 *acm* For ticket 2494: Single-cell SHADE plots allowed. 
 *                 Handle degenerate region info.
+* V72  3/17 *acm* Changes for ticket 2517, call to AXIS_ENDS changed.
 
 C replace includes with those from plot_set_up, 
 C plus those starting w/ xbox_bounds:
@@ -210,7 +211,6 @@ C plus those starting w/ xbox_bounds:
      .			is_logx, is_logy, flows, shade, inc_grid
 	INTEGER		nmv, mr_list( nmv ), cx_list( nmv ), uvar,
      .			density, pen, status
-	REAL		memory( mem_blk_size, max_mem_blks )
 	REAL 		aspect, valx1, s1_axis(*), s2_axis(*)
 
 * internal variable declarations:
@@ -229,11 +229,11 @@ C plus those starting w/ xbox_bounds:
      .			user_title, time_axis, time_axis_dim1, timeax_both, 
      .			regrid_1, regrid_2, no_y_rng, edges_ok,
      .			ITS_GIF_GRAPHICS, its_gif, REGULARLY_SPACED,
-     .                  irregular, use_cell, valid
+     .                  irregular, use_cell, valid, vflag
 
 	INTEGER		TM_LENSTR1, CX_DIM_LEN, CGRID_SIZE,
      .			dim1, dim2, mvx, mvx_temp, mvy, mvy_temp,
-     .			ctx, cty, xblk1, yblk1, plot_mem_used, nvars,
+     .			ctx, cty, plot_mem_used, nvars,
      .			lo1, lo2, hi1, hi2, size1, size2, size,
      .			n1_regrid, n2_regrid, grid, slen, pxlim, pylim,
      .			style, justify, ipen, ndim, dims(nferdims), ptitl,
@@ -241,7 +241,7 @@ C plus those starting w/ xbox_bounds:
      .			phlim, pvlim, slen2, cal_id, tax,
      .			x_axtyp, y_axtyp, iscl, siz, nsiz, 
      .			TM_GET_CALENDAR_ID, mode_num, axis1, axis2,
-     .                  hblk1, mvh_temp
+     .                  mvh_temp
 	REAL		s, w1_lo, w1_hi, w2_lo, w2_hi, valy1,
      .			d1_regrid, d2_regrid, bad_x, bad_y, rlo, rhi,
      .			xkeypos, ykeypos, xkeysize, ykeysize, lab_ht,
@@ -266,6 +266,7 @@ C plus those starting w/ xbox_bounds:
         plot_mem_used = 0
 	mvx_temp  = 0
 	adjust_time = .FALSE.
+	vflag     = .FALSE.
 
 	IF ( vector ) THEN
 	   mvy	  = mr_list( 2 )
@@ -406,28 +407,26 @@ C   set up memory for the flag grid
 * create temporary buffers to contain the plot data
 	CALL CREATE_TEMP_MEM_VAR( ctx, mvx_temp, status )
 	IF ( status .NE. ferr_ok ) RETURN
-	xblk1 = mr_blk1( mvx_temp )
 	IF ( vector ) THEN
 	   CALL CREATE_TEMP_MEM_VAR( cty, mvy_temp, status )
 	   IF ( status .NE. ferr_ok ) GOTO 5010
-	   yblk1 = mr_blk1( mvy_temp )
 	ENDIF
 
 * copy the plot data to the buffer(s) - possibly transposing
 	IF ( transpz ) THEN
 	   CALL COPY_GRID_TRANS( size1, size2,
-     .				 memory(1, mr_blk1(mvx)), mvx,
-     .				 memory(1, xblk1       ), mvx_temp )
+     .				 memry(mvx)%ptr, mvx,
+     .				 memry(mvx_temp)%ptr, mvx_temp )
 	   IF ( vector )
      .		CALL COPY_GRID_TRANS(   size1, size2,
-     .					memory(1, mr_blk1(mvy)), mvy,
-     .					memory(1, yblk1       ), mvy_temp )
+     .					memry(mvy)%ptr, mvy,
+     .					memry(mvy_temp)%ptr, mvy_temp )
 	ELSE
-	   CALL COPY_GRID( memory(1, mr_blk1(mvx)), mvx,
-     .			   memory(1, xblk1       ), mvx_temp )
+	   CALL COPY_GRID( memry(mvx)%ptr, mvx,
+     .			   memry(mvx_temp)%ptr, mvx_temp )
 	   IF ( vector )
-     .		CALL COPY_GRID(	memory(1, mr_blk1(mvy)), mvy,
-     .				memory(1, yblk1       ), mvy_temp )
+     .		CALL COPY_GRID(	memry(mvy)%ptr, mvy,
+     .				memry(mvy_temp)%ptr, mvy_temp )
 	ENDIF
 	
 * determine plotting limits
@@ -475,10 +474,10 @@ C   set up memory for the flag grid
 	ENDIF
 
 * check that there is some valid data
-	no_x_rng = NO_GRID_RANGE( memory(1,xblk1), size, mvx_temp, valx1 )
+	no_x_rng = NO_GRID_RANGE( memry(mvx_temp)%ptr, size, mvx_temp, valx1 )
 	IF ( no_x_rng .AND. valx1 .EQ. bad_x ) valx1 = bad_val4
 	IF ( vector ) THEN
-	   no_y_rng = NO_GRID_RANGE( memory(1,yblk1), size, mvy_temp, valy1 )
+	   no_y_rng = NO_GRID_RANGE( memry(mvy_temp)%ptr, size, mvy_temp, valy1 )
 	   IF ( no_y_rng .AND. valy1 .EQ. bad_y  ) THEN
 	      valx1 = bad_val4
 	      no_x_rng = no_y_rng	! need both to have either
@@ -634,7 +633,7 @@ C   set up memory for the flag grid
      .				 cal_id, status )
 	      IF ( status .NE. ferr_OK ) GOTO 5000
 	   ELSEIF ( curvilinear ) THEN
-	      CALL FIELD_MINMAX( memory(1,mr_blk1(mr_xpos) ), 
+	      CALL FIELD_MINMAX( memry(mr_xpos)%ptr, 
      .				mr_xpos, cx_xpos, rlo, rhi )
 
 	      IF (rlo .EQ. arbitrary_large_val4) THEN ! all missing
@@ -667,7 +666,7 @@ C   set up memory for the flag grid
 	   haxhi = xaxhi	! will know them
 
 	   CALL AXIS_ENDS  ( 'X', dim1, grid, xaxlo, xaxhi, delta, is_logx,
-     .			      x_axtyp, status )
+     .			      x_axtyp, vflag, status )
 	   IF ( status .NE. ferr_ok ) THEN
               first = xaxlo
               last  = xaxhi
@@ -716,7 +715,7 @@ C ACM added 8/2001 save cal id if vertical time axis
      .				 cal_id, status )
 	      IF ( status .NE. ferr_OK ) GOTO 5000
 	   ELSEIF ( curvilinear ) THEN
-	      CALL FIELD_MINMAX( memory(1,mr_blk1(mr_ypos) ),
+	      CALL FIELD_MINMAX( memry(mr_ypos)%ptr,
      .				mr_ypos, cx_ypos, rlo, rhi )
 	      IF (rlo .EQ. arbitrary_large_val4) THEN ! all missing
 	         yaxlo = -1
@@ -749,7 +748,7 @@ C ACM added 8/2001 save cal id if vertical time axis
 	   vaxhi = yaxhi	! will know them
 
 	   CALL AXIS_ENDS  ( 'Y', dim2, grid, yaxlo, yaxhi, delta, is_logy,
-     .			      y_axtyp, status )
+     .			      y_axtyp, vflag, status )
 	   IF ( status .NE. ferr_ok ) THEN
               first = xaxlo
               last  = xaxhi
@@ -775,8 +774,8 @@ C ACM added 8/2001 save cal id if vertical time axis
 	IF ( vector .AND. aspect.GT.0. ) CALL RE_ORIENT(
      .			haxlo, haxhi, vaxlo, vaxhi, dim1, dim2,
      .			size1, size2, transpz, aspect,
-     .			memory(1, xblk1), mvx_temp,
-     .			memory(1, yblk1), mvy_temp, s )
+     .			memry(mvx_temp)%ptr, mvx_temp,
+     .			memry(mvy_temp)%ptr, mvy_temp, s )
 	if (overlay) SOVER = .true.
 
 
@@ -789,7 +788,7 @@ C ACM added 8/2001 save cal id if vertical time axis
 	rw1lo = w1_lo
 	rw2lo = w2_lo
 
-	CALL PPLLDC_envelope ( icode, memory(1, xblk1), size1, size2,
+	CALL PPLLDC_envelope ( icode, memry(mvx_temp)%ptr, size1, size2,
      .		      1, size1, 1, size2, s1_axis, s2_axis, 
      .		      n1_regrid, n2_regrid, rw1lo, rw2lo,
      .		      d1_regrid, d2_regrid, plot_mem_used)
@@ -800,8 +799,8 @@ C ACM added 8/2001 save cal id if vertical time axis
 	   wwxmax = xaxhi
 	   wwymin = yaxlo
 	   wwymax = yaxhi
-	   CALL LOAD_CURVILINEAR( memory(1,mr_blk1(mr_xpos)),
-     .				  memory(1,mr_blk1(mr_ypos)),
+	   CALL LOAD_CURVILINEAR( memry(mr_xpos)%ptr,
+     .				  memry(mr_ypos)%ptr,
      .				  dim1, dim2, arg_xpos,
      .				  edges_ok, mr_xpos, mr_ypos,
      .				  cx_xpos, cx_ypos, ctx, status)
@@ -815,7 +814,7 @@ C ACM added 8/2001 save cal id if vertical time axis
 
        nsiz = size1* size2
        rbad = bad_val4
-       CALL COMPUTE_MNSTD (memory(1, xblk1), bad_x, need_std, 
+       CALL COMPUTE_MNSTD (memry(mvx_temp)%ptr, bad_x, need_std, 
      .       nsiz, rbad, status)
        IF (need_std .AND. status.NE.ferr_ok) THEN
 * ... set up for automatic levels
@@ -831,10 +830,9 @@ C ACM added 8/2001 save cal id if vertical time axis
 * create temporary buffer to contain workspace
 	  CALL CREATE_TEMP_MEM_VAR( ctx, mvh_temp, status )
 	  IF ( status .NE. ferr_ok ) RETURN
-	  hblk1 = mr_blk1( mvh_temp )
           plot_mem_used = plot_mem_used + nsiz
 
-	  CALL compute_histo_bins (memory(1,xblk1), memory(1,hblk1), 
+	  CALL compute_histo_bins (memry(mvx_temp)%ptr, memry(mvh_temp)%ptr, 
      .       bad_x, nsiz, status) 
      
 * ... clean up temporary variable
@@ -853,7 +851,7 @@ C ACM added 8/2001 save cal id if vertical time axis
 
 	IF ( vector ) THEN
 * load the Y vector component
-	   CALL PPLLDV_envelope ( icode, memory(1,yblk1), size1, size2,
+	   CALL PPLLDV_envelope ( icode, memry(mvy_temp)%ptr, size1, size2,
      .		      1, size1, 1, size2)
 	   CALL DELETE_VARIABLE( mvy_temp )
 	ENDIF
diff --git a/fer/plt/line_plot_labels.F b/fer/plt/line_plot_labels.F
index d75983e..33d104a 100644
--- a/fer/plt/line_plot_labels.F
+++ b/fer/plt/line_plot_labels.F
@@ -45,6 +45,8 @@
 * V71  *acm* 2/17  More on ticket 2231. Label set of line plots with their units
 *                  if units are different. If PLOT/KEY=title given, use the variable
 *                  title in the legend labels for both PLOT and PLOT/VS plots.
+* v7.2 *acm* 4/2017 ticket 2446 Drawing formatted time axes on a PLOT/VS, label
+*                  at the top with the year if needed.
 
 	include 'tmap_dims.parm'
 	include 'ferret.parm'
@@ -134,7 +136,13 @@
                  ppl_buff = SECS_TO_DATE( ind_min, cal_id_1 ) 
                  year = ppl_buff(8:11) 
               ENDIF 
-           ENDIF 
+           ELSE
+              IF ( tstyle.EQ.'MON' .OR. tstyle.EQ.'DAY' ) THEN  ! plot/vs with time variable
+	         i = ind_min
+                 WRITE (year, '(I4)') i
+              ENDIF 
+	   ENDIF
+
 * *ACM* if time axis, then cal_id_1 is set to the calendar.  Label the
 *       plot with the calendar name if there is non-standard calendar
 	   CALL DISP_LABELS( cx_plot, year, cal_id_1 )
@@ -285,6 +293,11 @@
                  ppl_buff = SECS_TO_DATE( ind_min, cal_id_1 ) 
                  year = ppl_buff(8:11) 
 	      ENDIF 
+           ELSE
+              IF ( tstyle.EQ.'MON' .OR. tstyle.EQ.'DAY' ) THEN  ! plot/vs with time variable
+	         i = ind_min
+                 WRITE (year, '(I4)') i
+              ENDIF 
 	   ENDIF 
 
 * *ACM* if time axis, then cal_id_1 is set to the calendar.  Label the
diff --git a/fer/plt/plot_set_up.F b/fer/plt/plot_set_up.F
index 3dc8ca5..894fdd2 100644
--- a/fer/plt/plot_set_up.F
+++ b/fer/plt/plot_set_up.F
@@ -1,4 +1,4 @@
-        SUBROUTINE PLOT_SET_UP( memory,
+        SUBROUTINE PLOT_SET_UP( 
      .				overlay, transpz, versus, no_labels,
      .				symbol, sym_size, color, color1, use_line,
      .				step_inc, do_dash, dashstyle,
@@ -151,7 +151,7 @@
 * V685+ *acm  12/13 In dependent axis setup, make sure variable the_taxis is set.
 * V691  *acm*  5/14 For ribbon line plots, set up for histogram levels
 * V691  *acm*  7/14 Fix ticket 2187: axis labels for PLOT/VS plots.
-* V693  *acm* 10/14 Fix 2122: Check for a valid axis if they've asked for a 
+* V693  *acm* 10/14 Fix 2212: Check for a valid axis if they've asked for a 
 *                   log axis before proceeding with vlimits or hlimits
 * V694  *acm*  1/15 Changes to allow two time axes on plot (F-T)
 * V695+ *sh*  3/15 if an FMRC dataset disambiguate T and F axes with labels
@@ -173,10 +173,25 @@
 * V701  *acm* 8/16 Fix ticket 2468: Symbols AX_HORIZ and AX_VERT are not reset on an /OVERLAY plot
 * V702  *acm* 10/16 Test the results of MINMAX routine before use; if all data is 
 *                   all-missing it returns arbitrary_large_val4.
+* V71 12/16 *acm* For ticket 2158: working with true monthly time axes.
 * V710  *acm* 11/16 Ticket 2483: Fix the axis-end symbols that are defined 
 *                   for time axis plots
 * V71 12/16 *acm* For ticket 2158: working with true monthly time axes.
+* V702 *sh* 1/17 bug fix - ensure only 1D data goes to EXTRACT_LINE if not a
+*                      PLOT/VERSUS
 * V71  *acm* 2/17  More on ticket 2231. New argument to FULL_VAR_TITLE to control units labels
+* V720 *acm* 3/2017 Ticket 2517: Bugs in PLOT/VS when the units are degrees. Axis formatting
+*                   needs to be consistent and controlled by modes long_label and latit_label
+* v7.2 *acm* 2/2017 ticket 2446 Drawing formatted time axes on a PLOT/VS when a variable has
+*                   units of e.g. "days since datestring". The datestring can be in a recognized
+*                   format: 01-jan-2011, or 2011-01-01. MM:HH:SS if present can be written
+*                   separated by a space, or a colon, or Z.
+* V7.2 *acm* 4/2017 Ticket 2318: for constant-value data on a line plot, make the axis
+*                   range +/- 10% of the value instead of +/- 1. For very large or small
+*                   values the +/- 1 corrupted the labels or the location of the plot.
+* V7.2 *acm* 4/2017 In fix for 2212, make sure ind_min,ind_max are defined before using them 
+*                   to check log limits on log axis.  Make sure the limits are actually applied.
+* V7.2 *acm* 5/2017 restore correct longitude moduloing for PLOT/VS overlay plots
 
 	include 'tmap_dims.parm'
 	include 'xtm_grid.cmn_text'
@@ -194,6 +209,8 @@
 	include 'xtext_info.cmn'
         include 'axis_inc.decl'    ! with axis lengths
         include 'AXIS.INC'         ! with axis lengths	
+	include 'taxis_inc.decl'
+	include 'TAXIS.INC'
 	include 'PPLDAT.INC'
         include 'switch_inc.decl'
         include 'SWITCH.INC'
@@ -203,49 +220,51 @@
      .			is_logx, is_logy, nokey, all_1_dep, addgaps
 	INTEGER		symbol, color, color1, step_inc, do_dash, skipsym,
      .			nmv, mv_list( nmv ), cx_list( nmv ), status
-	REAL		memory( mem_blk_size, max_mem_blks ), sym_size,
+	REAL		 sym_size,
      .                  dashstyle(*), only_val
 	REAL		indep_dat(*), dep_dat(*)     ! dynamic space allocation
  
 * V500 *kob* 3/99- up VAR_CODE and VAR_UNITS to 64 chars
 * internal variable declarations:
-	LOGICAL		NO_LINE_RANGE, GEOG_LABEL, TM_HAS_STRING, ITS_FMRC,
-     .                  ITSA_TRUEMONTH_AXIS,
+	LOGICAL		NO_LINE_RANGE, GEOG_LABEL, ITS_FMRC,
+     .                  ITSA_TRUEMONTH_AXIS, TM_HAS_STRING,
      .			flip, time_axis,
      .			all_1_ind, formatted,
      .			indep_is_log, dep_is_log, use_nice,
      .                  this_no_range(max_line_on_plot), set_axis,
-     .                  timeax_both, do_units
+     .                  timeax_both, do_units, doing_ribbon_color,
+     .                  x_is_time, y_is_time
 	CHARACTER*2040	FULL_VAR_TITLE,  KEY_STRING, plot_title
 	CHARACTER	INTERNAL_WHOI_DATE*14, VAR_UNITS*64,
      .			SECS_TO_DATE*20, LEFINT*8, MERGED_WHOI_DATE*14, 
      .			LEFT_REAL*16, TM_GET_CALENDAR_NAME*32, 
      .			indep_ax*1, dep_ax*1, tstyle*3, xtra_lab*24,
-     .			buff1*16, buff2*16, buff3*8, t1_date*14, tref*14,
+     .			buff1*40, buff2*16, buff3*8, t1_date*14, tref*14,
      .                  cal_name*32, cal_name_new*32, val_buff*32, fmt*4,
      .			whoimin*14, whoimax*14, 
      .			whoimin_axlo*14, whoimax_axhi*14
-
-	INTEGER		TM_LENSTR1, CX_DIM_LEN, CGRID_SIZE, CGRID_AXIS,
+	INTEGER		TM_LENSTR1, CX_DIM_LEN, CGRID_SIZE, CGRID_AXIS, 
      .			mv, cx, slen, ito, indep_lab, dep_lab, nline_in_mem,
      .			indep_dim, npts, dep_dim, npts2, ndv, var1,
      .			grid, grid1, ipl, ndim, dims(6),
      .			slen2, slen3, tax, plot_mem_used, nload, i,
      .			pxlim, pylim, phlim, pvlim,pindeplim, pdeplim,
      .			dep_axtyp, indep_axtyp, the_taxis, ribbon_var, 
-     .			gap_var, junits, iaxis, hblk1, mvh_temp, nkey_entries, t_axtyp
+     .			gap_var, iiunits, iaxis, hblk1, mvh_temp, 
+     .			nkey_entries, t_axtyp, since_T0, itmp, igrd_save, 
+     .			icode
 
 	INTEGER         TM_GET_CALENDAR_ID, cal_id_1, cal_id_2,
      .			cal_id_old, cal_id_new
-        INTEGER         TM_UNIT_ID, cx_x , cx_y, iunits
+        INTEGER         TM_UNIT_ID, cx_x , cx_y, iunits, junits, axis_x_dir, axis_y_dir
 	CHARACTER*1     axdir(6), ax1
 
 	REAL		val1, dt_min, lo, hi, dep_len, 
      .			ind_len, first, last, hlen, hrs, 
      .			bc_min, bc_max, step_lo, step_hi
-	REAL*8		TSTEP_TO_SECS, SECS_TO_TSTEP, DATE_TO_TSTEP, 
+	REAL		TSTEP_TO_SECS, SECS_TO_TSTEP, DATE_TO_TSTEP, 
      .			WHOI2BC,ind_min, ind_max, dep_min, dep_max, 
-     .			delta, tmp
+     .			delta, tmp, dum, ww_save, cen, yr
 	REAL*4 rbad
 
 * local parameter declarations:
@@ -284,11 +303,18 @@
 	indep_axtyp = 1
 	mod_vs_x = .FALSE.
 	mod_vs_y = .FALSE.
+	axis_x_dir = no_dim
+	axis_y_dir = no_dim
 	adjust_time = .FALSE.
         cx_x = cx_list(1)
 	xtra_lab = ' '
         nkey_entries = nmv
+	itmp = mnormal
 	do_units = .TRUE.
+	x_is_time = .FALSE.
+	y_is_time = .FALSE.
+	tstyle = ' '
+	icode = 0
 
 * set limit on the number of plot keys
         IF (.NOT.nokey  .AND.  nmv.GT.max_key_entries) THEN
@@ -396,7 +422,7 @@ c        IF ( plot_mem_used .GT. 0.999*pplmem_nsize ) GOTO 5150  ! test is now i
 	   time_axis =	.FALSE.
 	   adjust_time = .TRUE.  ! (Says, do not try to further adjust time...)
 	   CALL EXTRACT_LINE ( cx,
-     .			    memory( 1, mr_blk1(mv) ),
+     .			    memry(mv)%ptr,
      .			    mv,
      .			    indep_dat,
      .			    indep_dim,
@@ -407,12 +433,75 @@ c        IF ( plot_mem_used .GT. 0.999*pplmem_nsize ) GOTO 5150  ! test is now i
 	   var1 = 2		! since first var is independent axis
 	   ndv  = nmv - 1	! # of dependent variables
 	   use_keys = .FALSE.
-	   plot_title = FULL_VAR_TITLE( cx_list(1), do_units, slen )
+	   plot_title = FULL_VAR_TITLE( cx_list(1), .TRUE., slen )
 
 * ... label the independent axis as the first var given
-	   IF ( .NOT.no_labels ) THEN
+	   IF ( .NOT.no_labels) THEN
 	      buff1 = VAR_UNITS(cx_x)
 	      iunits = TM_UNIT_ID(buff1)
+	      
+* Does it have time units? If so draw a formatted time axis
+	      x_is_time = .FALSE.
+	      since_T0 = MAX( INDEX(buff1,'since'), INDEX(buff1,'SINCE') )
+	      slen = TM_LENSTR1(buff1)
+	      IF (since_T0.GT.0 .AND. slen.GT.since_T0+5) THEN
+	         cal_id_1 = 1
+	         CALL TM_ALLO_DYN_LINE( itmp, status )	
+	         CALL CD_GET_TIME_UNITS ( buff1, cal_id_1, line_units(itmp), 
+     .			                   line_t0(itmp), dum, status )
+		 IF (status .EQ. ferr_ok) THEN
+		    x_is_time = .TRUE.
+		    iunits = TM_UNIT_ID( line_units(itmp) )
+		    line_unit_code(itmp) = TM_UNIT_ID( line_units(itmp) )
+		    line_tunit(itmp) = un_convert(line_unit_code(itmp))
+		    line_cal_name(itmp) = 'GREGORIAN'
+		    line_direction( itmp ) = 'TI'
+
+	            CALL MINMAX( indep_dat, npts, mr_bad_data(mv), lo, hi )
+		    grid_line(t_dim, mgrid_buff) = itmp
+		 
+		    igrd_save =  cx_grid(cx_list(1))
+		    cx_grid(cx_list(1)) = mgrid_buff
+		    ww_save = cx_lo_ww(t_dim,cx_list(1) ) 
+		    cx_lo_ww(t_dim,cx_list(1)) = lo
+
+		    ind_min = TSTEP_TO_SECS (mgrid_buff, t_dim, lo)
+		    ind_max = TSTEP_TO_SECS (mgrid_buff, t_dim, hi)
+
+* Plotting short time range? If so recompute tref     
+* axis length in hours from time since BC in seconds
+		    IF (.NOT.overlay) THEN
+                       hrs = ( ind_max - ind_min ) / 3600.
+                       IF (hrs.LT.24)tref = 
+     .                  MERGED_WHOI_DATE( cx_list(var1), t_dim, nmv, .TRUE. )
+
+                       all_1_ind = ind_min .EQ. ind_max
+                       IF ( all_1_ind ) THEN
+                          ind_min = ind_min - 1.
+                          ind_max = ind_max + 1.
+                       ENDIF
+		    
+                       CALL TAXIS_STYLE( indep_ax, ind_min, ind_max, tstyle, xtra_lab )
+* 11/16 Get the min and max as used by PPLUS.  That function uses WHOI formatted time
+                      CALL TPLOT_AXIS_ENDS (ind_min, ind_max, cal_id_1, tstyle)
+ 
+                      CALL AXIS_END_SYMS( indep_ax,
+     .                          SECS_TO_TSTEP( mgrid_buff, t_dim, ind_min ),
+     .                          SECS_TO_TSTEP( mgrid_buff, t_dim, ind_max ) )
+
+		    ENDIF
+
+	         ELSE
+		    IF (itmp .NE. mnormal) CALL TM_DEALLO_DYN_LINE( itmp )
+		    itmp = mnormal
+	         ENDIF
+	      ELSE  ! not time axis
+	      
+	         CALL MINMAX( indep_dat, npts, mr_bad_data(mv), ind_min, ind_max )
+	      ENDIF
+
+	      slen = TM_LENSTR1(plot_title)
+
 	      IF (iunits .NE. 4) 
      .           CALL BOX_LABEL( indep_lab,
      .			   plot_title(:slen),
@@ -436,29 +525,40 @@ c        IF ( plot_mem_used .GT. 0.999*pplmem_nsize ) GOTO 5150  ! test is now i
               cal_name = line_cal_name(tax)
               cal_id_1 = TM_GET_CALENDAR_ID ( cal_name )
 
+	      CALL EQUAL_RANGE(
+     .			cmnd_buff(qual_start(pindeplim):qual_end(pindeplim)),
+     .			indep_dim, ind_min, ind_max, delta,
+     .			formatted, range_rqd, cal_id_1, status )
+
 * Check for a valid axis if they've asked for a log axis before proceeding
+
 	      IF (indep_is_log) THEN
 	         CALL AXIS_ENDS(indep_ax,indep_dim,grid1,ind_min,ind_max,
-     .                       delta, indep_is_log, indep_axtyp, status)
+     .                       delta, indep_is_log, indep_axtyp, versus, status)
 	         IF ( status .NE. ferr_OK ) THEN
                     first = ind_min
                     last  = ind_max
                     GOTO 5170
                  ENDIF
-	      ENDIF
 
-	      CALL EQUAL_RANGE(
+* Get requested ends in data units again
+	         IF (versus) CALL EQUAL_RANGE(
      .			cmnd_buff(qual_start(pindeplim):qual_end(pindeplim)),
      .			indep_dim, ind_min, ind_max, delta,
      .			formatted, range_rqd, cal_id_1, status )
+
+	      ENDIF
+
 	      IF ( status .NE. ferr_OK ) GOTO 5000
 	   ELSEIF ( all_1_ind .AND. .NOT.overlay ) THEN
 	      IF ( val1 .EQ. mr_bad_data(mv) ) THEN
+		 delta = 1.
 	         ind_min = 0.D0
 	         ind_max = 1.D0
 	      ELSE
-	         ind_min = val1 - 1.
-	         ind_max = val1 + 1.
+	         delta = 0.1* val1
+	         ind_min = val1 - delta
+	         ind_max = val1 + delta
 	      ENDIF
 	   ELSE
 	      CALL MINMAX( indep_dat, npts, mr_bad_data(mv), lo, hi )
@@ -474,73 +574,78 @@ c        IF ( plot_mem_used .GT. 0.999*pplmem_nsize ) GOTO 5150  ! test is now i
 * Set up modulo longitude handling if /vs and variable has units
 * of longitude
 
+	   
 	   cx_x = cx_list(1)	 
 	   cx_y = cx_list(2)
 	   buff1 = VAR_UNITS(cx_x)
-	   iunits = TM_UNIT_ID(buff1)
-	   IF (iunits .EQ. 4) THEN
-	      mod_vs_x = (TM_HAS_STRING(buff1, '_e') .OR.
-     .                   TM_HAS_STRING(buff1, 'lon') )
-	         
-	   ENDIF
+	   IF (iunits .GE. 0) iunits = TM_UNIT_ID(buff1)
+	   
 
-	   buff1 = VAR_UNITS(cx_y)	 
-	   junits = TM_UNIT_ID(buff1)
-	   IF (junits .EQ. 4) THEN
-               mod_vs_y = (TM_HAS_STRING(buff1, '_e') .OR.
-     .                     TM_HAS_STRING(buff1, 'lon') ) 
-	   ENDIF
 
 	   IF (.NOT.overlay) THEN
 	      CALL AXIS_ENDS(indep_ax,indep_dim,grid1,ind_min,ind_max,
-     .                       delta, indep_is_log, indep_axtyp, status)
+     .                       delta, indep_is_log, indep_axtyp, versus, status)
 	      IF ( status .NE. ferr_ok ) THEN
                  first = ind_min
                  last  = ind_max
                  GOTO 5170
               ENDIF
 
+* This routine checks the units and the setting for formatted lon/lat (time?) axes
+* If the formatting has been turned off, resets iunits and flag mod_vs_x.
+
+              CALL GEOG_LABEL_VS (buff1, iunits, x_dim, axis_x_dir)
+
               IF (iunits .EQ. 4) THEN
                  CALL GET_AXIS_FORMAT( ind_min, ind_max, delta, 
      .                  fmt, use_nice )
                  IF (use_nice) THEN
-                    IF (mod_vs_x) THEN
+                    IF (axis_x_dir .EQ. x_dim) THEN
                        ppl_buff = 'XFOR,('//fmt(:TM_LENSTR1(fmt))//
      .                  ',''''LONE'''')'
                        CALL PPLCMD ( from, line, 0, ppl_buff, 1, 1 )
                        CALL LON_LAT_FMT (x_dim, 'X')
-                    ELSE
+		       mod_vs_x = .TRUE.
+                    ELSEIF (axis_x_dir .EQ. y_dim) THEN
                        ppl_buff = 'XFOR,('//fmt(:TM_LENSTR1(fmt))//
      .                  ',''''LAT'''')'
                        CALL PPLCMD ( from, line, 0, ppl_buff, 1, 1 )
                        CALL LON_LAT_FMT (y_dim, 'Y')
-                    ENDIF
-                 ENDIF
-              ELSE	 
-                 CALL PPLCMD ( from, line, 0, 'XFOR 0', 1, 1 )	 
-              ENDIF	 
-		  
-              IF (junits .EQ. 4) THEN
-                 CALL GET_AXIS_FORMAT( ind_min, ind_max, delta, 
-     .                  fmt, use_nice )
-                 IF (use_nice) THEN
-                    IF (mod_vs_y) THEN
-                       ppl_buff = 'YFOR,('//fmt(:TM_LENSTR1(fmt))//
-     .                  ',''''LONE'''')'
-                       CALL PPLCMD ( from, line, 0, ppl_buff, 1, 1 )
-                       CALL LON_LAT_FMT (x_dim, 'Y')
                     ELSE
-                       ppl_buff = 'YFOR,('//fmt(:TM_LENSTR1(fmt))//
-     .                  ',''''LAT'''')'
+                       ppl_buff = 'XFOR,('//fmt(:TM_LENSTR1(fmt))//
+     .                  ',''''LONE'''')' 
                        CALL PPLCMD ( from, line, 0, ppl_buff, 1, 1 )
-                       CALL LON_LAT_FMT (y_dim, 'Y')
+                       CALL LON_LAT_FMT (x_dim, 'X')
                     ENDIF
                  ENDIF
-              ELSE	 
-                 CALL PPLCMD ( from, line, 0, 'YFOR 0', 1, 1 )	 
+              ELSEIF (iunits .LT. 0) THEN ! time axis formatting
+                 CALL PPLCMD ( from, line, 0, 'TIME', 1, 1 )
+                 CALL PPLCMD ( from, line, 0, 'TAXIS 60,ON', 1, 1 )
+	         ppl_buff = ' '
+	         WRITE ( ppl_buff, 3004 ) 'GREGORIAN'
+                 CALL PPLCMD (from, line, 0, ppl_buff, 1, 1)
+	      ELSE
+                 CALL PPLCMD ( from, line, 0, 'XFOR 0', 1, 1 )	 
               ENDIF	 
-           ELSE
+		  
+              CALL PPLCMD ( from, line, 0, 'YFOR 0', 1, 1 ) ! for now, anyway	
+	      
+           ELSE ! overlay
               CALL PPLCMD ( from, line, 0, indep_ax//'FOR 0', 1, 1 )
+
+              IF (iunits .EQ. 4) THEN
+	         mod_vs_x = (TM_HAS_STRING(buff1, '_e') .OR.
+     .                   TM_HAS_STRING(buff1, 'lon') )
+	         
+              ENDIF
+
+              buff1 = VAR_UNITS(cx_y)	 
+              junits = TM_UNIT_ID(buff1)
+              IF (junits .EQ. 4) THEN
+                  mod_vs_y = (TM_HAS_STRING(buff1, '_e') .OR.
+     .                        TM_HAS_STRING(buff1, 'lon') ) 
+              ENDIF
+
 	   ENDIF
 
 	ELSE	! (not VERSUS)
@@ -642,9 +747,14 @@ c        IF ( plot_mem_used .GT. 0.999*pplmem_nsize ) GOTO 5150  ! test is now i
 	   mv   = mv_list( ipl )
 	   cx   = cx_list( ipl )
 	   grid = cx_grid( cx )
+           IF (.NOT.versus) THEN 
+              CALL GET_CX_DIMS( cx, ndim, dims )
+              IF (ndim .GT. 1) GOTO 5110
+           ENDIF
+
 * set up a dependent variable
 	   CALL EXTRACT_LINE (	cx,
-     .				memory( 1, mr_blk1(mv) ),
+     .				memry(mv)%ptr,
      .				mv,
      .				dep_dat,
      .				dep_dim,
@@ -654,6 +764,7 @@ c        IF ( plot_mem_used .GT. 0.999*pplmem_nsize ) GOTO 5150  ! test is now i
            iaxis = CGRID_AXIS(dep_dim,cx)
  
 	   IF ( status .NE. ferr_ok ) GOTO 5000
+
 * ... replicate points to create a "step" plot if requested  (1/01)
 	   nload = npts2 * step_inc
            IF (step_inc .EQ. 2) THEN
@@ -671,6 +782,9 @@ c        IF ( plot_mem_used .GT. 0.999*pplmem_nsize ) GOTO 5150  ! test is now i
 * set up corresponding independent axis
 * ( note - each variable may have different points on the indep. axis )
 
+
+	   doing_ribbon_color = ribbon_plot .AND. ipl.EQ.ribbon_var
+
 	   IF ( versus ) THEN
 * ... number of values must be equal in independ. and depend. for ordered pairs
 	      IF ( npts2 .NE. npts ) GOTO 5130
@@ -679,42 +793,134 @@ c        IF ( plot_mem_used .GT. 0.999*pplmem_nsize ) GOTO 5150  ! test is now i
 
 	      set_axis = .TRUE.
 	      IF (ribbon_plot .OR. addgaps) set_axis = (ipl .EQ. var1)
-              IF (set_axis .AND. .NOT.overlay) THEN
- 	         CALL MINMAX( dep_dat, npts, mr_bad_data(mv), lo, hi )
- 	         IF (lo .EQ. arbitrary_large_val4) THEN ! all missing
-		    dep_min = -1
-		    dep_max =  1
-		 ELSE
- 	            dep_min = lo
-	            dep_max = hi
-                 ENDIF
-		 cx_y = cx_list(2) 	
+              IF (set_axis) THEN
+	         IF (.NOT.overlay) THEN
+	            CALL MINMAX( dep_dat, npts, mr_bad_data(mv), lo, hi )
+ 	            IF (lo .EQ. arbitrary_large_val4) THEN ! all missing
+ 	               dep_min = -1
+ 	               dep_max =  1
+ 	            ELSE
+ 	               dep_min = lo
+ 	               dep_max = hi
+ 	            ENDIF
+		 ENDIF
+
+                 cx_y = cx_list(2) 	
                  buff1 = VAR_UNITS(cx_y)
-                 iunits = TM_UNIT_ID(buff1)
+		 IF (doing_ribbon_color) buff1 = ' '
+		 
+		 iunits = TM_UNIT_ID(buff1)
+
+	         IF (.NOT.overlay) THEN
+
+* Does it have time units? If so draw a formatted time axis
+                 y_is_time = .FALSE.
+                 since_T0 = MAX( INDEX(buff1,'since'), INDEX(buff1,'SINCE') )
+                 slen = TM_LENSTR1(buff1)
+                 IF (.NOT.x_is_time .AND. since_T0.GT.0 .AND. slen.GT.since_T0+5) THEN
+	            cal_id_1 = 1
+	            CALL TM_ALLO_DYN_LINE( itmp, status )	
+	            CALL CD_GET_TIME_UNITS ( buff1, cal_id_1, line_units(itmp), 
+     .			                   line_t0(itmp), dum, status )
+		    IF (status .EQ. ferr_ok) THEN
+		       y_is_time = .TRUE.
+		       time_axis = .TRUE.
+		       has_time_axis = .TRUE.
+		       iunits = TM_UNIT_ID( line_units(itmp) )
+		       line_unit_code(itmp) = TM_UNIT_ID( line_units(itmp) )
+		       line_tunit(itmp) = un_convert(line_unit_code(itmp))
+		       line_cal_name(itmp) = 'GREGORIAN'
+		       line_direction( itmp ) = 'TI'
+
+		       grid_line(t_dim, mgrid_buff) = itmp
+		 
+		       igrd_save =  cx_grid(cx_list(1))
+		       cx_grid(cx_list(1)) = mgrid_buff
+		       ww_save = cx_lo_ww(t_dim,cx_list(1) ) 
+		       cx_lo_ww(t_dim,cx_list(1)) = lo
+
+		       dep_min = TSTEP_TO_SECS (mgrid_buff, t_dim, lo)
+		       dep_max = TSTEP_TO_SECS (mgrid_buff, t_dim, hi)
+		    
+		       CALL TAXIS_STYLE( dep_ax, dep_min, dep_max, tstyle, xtra_lab )
+* 11/16 Get the min and max as used by PPLUS.  That function uses WHOI formatted time
+		       CALL TPLOT_AXIS_ENDS (dep_min, dep_max, cal_id_1, tstyle)
+ 
+		       CALL AXIS_END_SYMS( dep_ax,
+     .                          SECS_TO_TSTEP( mgrid_buff, t_dim, dep_min ),
+     .                          SECS_TO_TSTEP( mgrid_buff, t_dim, dep_max ) )
+
+
+		    ENDIF
+
+		 ENDIF
+
+* This routine checks the units and the setting for formatted lon/lat (time?) axes
+* If the formatting has been turned off, resets iunits and flag mod_vs_x.
+
+		 CALL GEOG_LABEL_VS (buff1, iunits, y_dim, axis_y_dir)
+
                  IF (iunits .EQ. 4) THEN
 	            delta = unspecified_val8
 		    
 	            CALL AXIS_ENDS(dep_ax,dep_dim,grid1,dep_min,dep_max,
-     .                      delta, dep_is_log, dep_axtyp, status)
+     .                      delta, dep_is_log, dep_axtyp, versus, status)
 
 	            CALL GET_AXIS_FORMAT( dep_min, dep_max, delta, 
      .                 fmt, use_nice )
+
                     IF (use_nice) THEN
-                       IF (TM_HAS_STRING(buff1, '_e') .OR.
-     .                      TM_HAS_STRING(buff1, 'lon') ) THEN
-                           ppl_buff = 'YFOR,('//fmt(:TM_LENSTR1(fmt))//
+
+* Make sure if we are using lon/lat labeling that we have just one of each direction.
+* e.g. if they said just degrees_n for the x dir, but just "degrees" for the y var, 
+* use east for the vert. If they said degrees_e for the y var but just degrees for the x,
+* use lon for the y axis.
+
+
+                       IF (axis_x_dir.EQ.y_dim .AND. axis_y_dir.EQ.no_dim) THEN
+		          IF (iunits .EQ. 4) ppl_buff = 'YFOR,('//fmt(:TM_LENSTR1(fmt))//
      .                       ',''''LONE'''')' 
-                       ELSE
+                       ELSEIF (axis_y_dir .EQ. x_dim) THEN
+		          ppl_buff = 'YFOR,('//fmt(:TM_LENSTR1(fmt))//
+     .                       ',''''LONE'''')' 
+		          mod_vs_y = .TRUE.
+		          IF (axis_x_dir .EQ. no_dim) THEN
+		             buff1 = VAR_UNITS(cx_x)
+		             iiunits = TM_UNIT_ID(buff1)
+		             CALL GEOG_LABEL_VS (buff1, iiunits, x_dim, axis_x_dir)
+		             IF (iiunits .EQ. 4) ppl_buff = 'XFOR,('//fmt(:TM_LENSTR1(fmt))//
+     .                           ',''''LAT'''')'
+		          ENDIF
+                       ELSEIF (axis_y_dir .EQ. y_dim) THEN
                            ppl_buff = 'YFOR,('//fmt(:TM_LENSTR1(fmt))//
      .                       ',''''LAT'''')'
+                       ELSE
+		          ppl_buff = 'YFOR,('//fmt(:TM_LENSTR1(fmt))//
+     .                       ',''''LAT'''')' 
                        ENDIF
+
                        CALL PPLCMD ( from, line, 0, ppl_buff, 1, 1 )
                     ENDIF
-                 ENDIF
-              ENDIF
+		 
+		 
+                 ELSEIF (iunits .LT. 0) THEN ! time axis formatting
+                    CALL PPLCMD ( from, line, 0, 'TIME', 1, 1 )
+                    CALL PPLCMD ( from, line, 0, 'TAXIS/YAXIS 60,ON', 1, 1 )
+	            ppl_buff = ' '
+	            WRITE ( ppl_buff, 3004 ) 'GREGORIAN'
+                    CALL PPLCMD (from, line, 0, ppl_buff, 1, 1)
+
+
+	         ELSE
+                 CALL PPLCMD ( from, line, 0, 'YFOR 0', 1, 1 )	 
+                 ENDIF	
+	         ENDIF  ! not overlay
+              ENDIF  ! set_axis
+
+	   ELSE  ! versus
 
-	   ELSE
 * ... in PLOT TEMP , SALT , U all vars must be along same ww dimension
+
 	      IF ( ndim .GT. 1 ) GOTO 5110
 	      IF ( dep_dim .NE. indep_dim ) GOTO 5140
 	      CALL MAKE_STEP_AXIS( grid, dep_dim, step_inc,
@@ -739,8 +945,10 @@ c        IF ( plot_mem_used .GT. 0.999*pplmem_nsize ) GOTO 5150  ! test is now i
 	      ENDIF
 	      all_1_ind = ind_min .EQ. ind_max
 	      IF ( all_1_ind ) THEN
-	         ind_min = ind_min - 1.
-	         ind_max = ind_max + 1.
+	         delta = 1.0
+		 IF (ind_min .NE. 0) delta = 0.1* ind_min
+	         ind_min = ind_min - delta
+	         ind_max = ind_max + delta
 	      ENDIF
 	   ENDIF
 
@@ -751,16 +959,14 @@ c        IF ( plot_mem_used .GT. 0.999*pplmem_nsize ) GOTO 5150  ! test is now i
 * send REAL*4 rbad to compare with lev_max, lev_min inside compute_mnstd
 * If the user set some /LEVELS then compute_mnstd just returns 
 
-	   IF (ribbon_plot .AND. ipl.EQ.ribbon_var) THEN
+	   IF (doing_ribbon_color) THEN
 
               IF (need_histo) THEN
 * create temporary buffer to contain workspace
                  CALL CREATE_TEMP_MEM_VAR( cx, mvh_temp, status )
                  IF ( status .NE. ferr_ok ) RETURN
-                 hblk1 = mr_blk1( mvh_temp )
                  plot_mem_used = plot_mem_used + npts
-
-                 CALL compute_histo_bins (dep_dat, memory(1,hblk1), 
+                 CALL COMPUTE_HISTO_BINS (dep_dat, memry(mvh_temp)%ptr, 
      .            mr_bad_data(mv), npts, status) 
      
 * ... clean up temporary variable
@@ -831,7 +1037,7 @@ c        IF ( plot_mem_used .GT. 0.999*pplmem_nsize ) GOTO 5150  ! test is now i
 	      IF (overlay .AND. has_time_axis) THEN
 	         dt_min  = saved_dt_min
 	         t1_date = saved_t1_date
-	      ELSE
+	      ELSEIF (.NOT.ribbon_plot) THEN
                  dt_min  = 1.0
                  t1_date = ' '
 	      ENDIF
@@ -848,8 +1054,8 @@ c        IF ( plot_mem_used .GT. 0.999*pplmem_nsize ) GOTO 5150  ! test is now i
 	      ENDIF
 	   ENDIF
 
-! put colorvar in the right place
-	   IF (ribbon_plot .AND. ipl.EQ.ribbon_var) THEN
+* put colorvar in the right place
+	   IF (doing_ribbon_color) THEN
 	      flip = .FALSE.
 	      IF (indep_dim .EQ. z_dim) THEN
 	         WRITE ( ppl_buff, 3005 ) mr_bad_data( mv ), indep_ax
@@ -866,11 +1072,77 @@ c        IF ( plot_mem_used .GT. 0.999*pplmem_nsize ) GOTO 5150  ! test is now i
 	      ENDIF
 	   ENDIF
 
+
+* If a /vs plot has a variable with units of time, put the itmp line into 
+* the scratch grid mgrid_buff, so the WHOI_DATE functions can get at the 
+* line_* information stored above after calls to CD_GET_TIME_UNITS. 
+
+	   IF (versus) THEN
+	      IF (x_is_time) THEN
+		 dt_min = line_tunit(itmp)/ 60.
+		 
+		 adjust_time = .FALSE.
+		 CALL AXIS_ENDS(indep_ax,t_dim,mgrid_buff,ind_min,ind_max,
+     .                       delta, indep_is_log, indep_axtyp, versus, status)
+
+                 tref = MERGED_WHOI_DATE( cx_list(1), t_dim, 1, .FALSE. )
+                 t1_date = INTERNAL_WHOI_DATE( mgrid_buff, t_dim, 1.0D0 )
+
+		 cx_grid(cx_list(1)) = igrd_save
+		 cx_lo_ww(t_dim,cx_list(1) ) = ww_save 
+		 IF (ipl .EQ. nmv) THEN
+		    IF (itmp .NE. mnormal) CALL TM_DEALLO_DYN_LINE( itmp )
+		    itmp = mnormal
+		 ENDIF
+
+	      ENDIF
+	      
+	      IF (y_is_time .AND. .NOT.doing_ribbon_color) THEN
+	      
+		 dt_min = line_tunit(itmp)/ 60.
+		 
+		 adjust_time = .FALSE.
+		 CALL AXIS_ENDS(dep_ax,t_dim,mgrid_buff,dep_min,dep_max,
+     .                       delta, indep_is_log, indep_axtyp, versus, status)
+
+                 tref = MERGED_WHOI_DATE( cx_list(1), t_dim, 1, .FALSE. )
+                 t1_date = INTERNAL_WHOI_DATE( mgrid_buff, t_dim, 1.0D0 )
+
+		 cx_grid(cx_list(1)) = igrd_save
+		 cx_lo_ww(t_dim,cx_list(1) ) = ww_save 
+		 IF (ipl .EQ. nmv) THEN
+		    IF (itmp .NE. mnormal) CALL TM_DEALLO_DYN_LINE( itmp )
+		    itmp = mnormal
+		 ENDIF
+
+
+		 IF (.NOT.overlay) THEN
+	            saved_dt_min  = dt_min		! to re-use on PLOT/VS or POLYGON
+	            saved_t1_date = t1_date
+	            saved_calendar_id = cal_id_1
+	         ENDIF
+
+		 IF (iunits .LT. 0) THEN
+	            dt_min = saved_dt_min
+	            t1_date = saved_t1_date
+	            cal_id_1 = saved_calendar_id
+		 ENDIF 
+		         
+	      ENDIF
+
+	   ENDIF
+
+* See pplldx comments. When loading the color-by variable lon vertical time axis
+* this forces the right combination of settings.
+
+	   IF (doing_ribbon_color) icode = 2
+	   IF (y_is_time .AND. doing_ribbon_color) icode = 7
+
 	   IF ( flip ) THEN
-	      CALL PPLLDX_envelope(0,dep_dat,indep_dat,nload,
+	      CALL PPLLDX_envelope(icode,dep_dat,indep_dat,nload,
      .                             t1_date, tref, dt_min, plot_mem_used)
 	   ELSE
-	      CALL PPLLDX_envelope(0,indep_dat,dep_dat,nload,
+	      CALL PPLLDX_envelope(icode,indep_dat,dep_dat,nload,
      .                             t1_date, tref, dt_min, plot_mem_used)
 	   ENDIF
 * ... increment number of lines on plot
@@ -879,11 +1151,15 @@ c        IF ( plot_mem_used .GT. 0.999*pplmem_nsize ) GOTO 5150  ! test is now i
 * ... assign line style for the data plotting:
 	   CALL LINE_STYLE(symbol, sym_size, skipsym, color, color1, use_line,
      .			   do_dash, dashstyle, nline_in_mem, nline_on)
+
+
  200	CONTINUE
+
         nline_on = nline_on + color1 - 1
 
 * axis scaling and formatting
 * ... independent axis
+
 	IF ( .NOT.overlay ) THEN
 	   IF ( .NOT. versus ) THEN
 	      delta = unspecified_val8
@@ -893,23 +1169,31 @@ c        IF ( plot_mem_used .GT. 0.999*pplmem_nsize ) GOTO 5150  ! test is now i
 	            CALL WARN( 'Use /HLIMITS and /VLIMITS instead.')
 	            denig_xylim_msg_done = .TRUE.
 	         ENDIF
+	         CALL EQUAL_RANGE(
+     .			cmnd_buff(qual_start(pindeplim):qual_end(pindeplim)),
+     .			indep_dim, ind_min, ind_max, delta,
+     .			formatted, range_rqd, cal_id_1, status )
+	         IF ( status .NE. ferr_OK ) GOTO 5000
 		 
 *  Check for valid log axis before proceeding
 	         IF (indep_is_log) THEN
 	         CALL AXIS_ENDS  ( indep_ax, indep_dim, grid1,
      .				   ind_min, ind_max, delta, 
-     .				   indep_is_log, indep_axtyp, status )
+     .				   indep_is_log, indep_axtyp, versus, status )
 	            IF ( status .NE. ferr_OK ) THEN
                        first = ind_min
                        last  = ind_max
                        GOTO 5170
                     ENDIF
-	         ENDIF
-	         CALL EQUAL_RANGE(
+
+* Get requested ends in data units again    
+	            CALL EQUAL_RANGE(
      .			cmnd_buff(qual_start(pindeplim):qual_end(pindeplim)),
      .			indep_dim, ind_min, ind_max, delta,
      .			formatted, range_rqd, cal_id_1, status )
-	         IF ( status .NE. ferr_OK ) GOTO 5000
+
+	         ENDIF
+
 * convert time given in time steps to absolute units	   
 	         IF ( time_axis .AND. .NOT.formatted ) THEN
 * time limits given as tstep range although mode calendar is true
@@ -946,7 +1230,7 @@ c        IF ( plot_mem_used .GT. 0.999*pplmem_nsize ) GOTO 5150  ! test is now i
 	      ELSE
 	         CALL AXIS_ENDS  ( indep_ax, indep_dim, grid1,
      .				   ind_min, ind_max, delta, 
-     .				   indep_is_log, indep_axtyp, status )
+     .				   indep_is_log, indep_axtyp, versus, status )
 	         IF ( status .NE. ferr_OK ) THEN
                     first = ind_min
                     last  = ind_max
@@ -983,7 +1267,7 @@ c        IF ( plot_mem_used .GT. 0.999*pplmem_nsize ) GOTO 5150  ! test is now i
 	         dep_max = hi
 	         
 	         CALL AXIS_ENDS( dep_ax, the_taxis, grid, dep_min, dep_max, 
-     .                        delta, dep_is_log, dep_axtyp, status )
+     .                        delta, dep_is_log, dep_axtyp, versus, status )
 	         IF ( status .NE. ferr_OK ) THEN
                     first = dep_min
                     last  = dep_max
@@ -998,7 +1282,7 @@ c        IF ( plot_mem_used .GT. 0.999*pplmem_nsize ) GOTO 5150  ! test is now i
 	      IF ( status .NE. ferr_OK ) GOTO 5000
 
 	      CALL AXIS_ENDS( dep_ax, the_taxis, grid, dep_min, dep_max, 
-     .                        delta, dep_is_log, dep_axtyp, status )
+     .                        delta, dep_is_log, dep_axtyp, versus, status )
 	      IF ( status .NE. ferr_OK ) THEN
                  first = dep_min
                  last  = dep_max
@@ -1007,12 +1291,14 @@ c        IF ( plot_mem_used .GT. 0.999*pplmem_nsize ) GOTO 5150  ! test is now i
 
 	   ELSEIF ( all_1_dep ) THEN
 	      IF (only_val .EQ. bad_val4) val1 = 0.0	! 10/99
+	      delta = 1.
+	      IF (val1 .NE. 0) delta = 0.1* val1
 	      
-	      CALL AXIS_ENDS( dep_ax, the_taxis, grid,val1-1.D0,val1+1.D0,1.D0,
-     .                        dep_is_log, dep_axtyp, status )   
+	      CALL AXIS_ENDS( dep_ax, the_taxis, grid,val1-delta,val1+delta,delta,
+     .                        dep_is_log, dep_axtyp, versus, status )   
 	      IF ( status .NE. ferr_OK ) THEN
-                  first = val1-1.0
-		  last  = val1+1.0
+                  first = val1-delta
+		  last  = val1+delta
 		  GOTO 5170
 	      ENDIF   
 	   ELSEIF (dep_is_log) THEN	! get dependent var scaling and set up log axis
@@ -1022,7 +1308,7 @@ c        IF ( plot_mem_used .GT. 0.999*pplmem_nsize ) GOTO 5150  ! test is now i
 	      dep_max = hi
 	      
 	      CALL AXIS_ENDS( dep_ax, the_taxis, grid, dep_min, dep_max, 
-     .                        delta, dep_is_log, dep_axtyp, status )
+     .                        delta, dep_is_log, dep_axtyp, versus, status )
 	      IF ( status .NE. ferr_OK ) THEN
                  first = dep_min
                  last  = dep_max
@@ -1044,9 +1330,6 @@ c        IF ( plot_mem_used .GT. 0.999*pplmem_nsize ) GOTO 5150  ! test is now i
               CALL PPLCMD ( from, line, 0, val_buff, 1, 1)
 	   ENDIF
 
-	ENDIF
-
-	IF (.NOT.overlay) THEN
            ax1 = axdir(indep_dim)
   	   IF (flip) THEN
               CALL PPLCMD ( from, line, 0, 'SET AX_VERT '//ax1, 1, 1 )
@@ -1060,6 +1343,13 @@ c        IF ( plot_mem_used .GT. 0.999*pplmem_nsize ) GOTO 5150  ! test is now i
 * or a "Colored by var2" label for the ribbon color variable
 *
 	hlen = xlen ! single-precision xlen from PPLUS common -> double prec. var
+
+        IF (x_is_time .OR. y_is_time) THEN
+           ul_dolab(t_dim) = .FALSE.
+           READ (t1_date(13:14), *) cen
+           READ (t1_date(1:2), *) yr
+           ind_min = 100*cen + yr 
+        ENDIF
 	IF ( .NOT.no_labels ) 
      .          CALL LINE_PLOT_LABELS (var1, nkey_entries, ndv, cx_list, 
      .		this_no_range, overlay, versus, nokey, time_axis, 
@@ -1072,6 +1362,7 @@ c        IF ( plot_mem_used .GT. 0.999*pplmem_nsize ) GOTO 5150  ! test is now i
 
 * error exit
  5000	CALL PPLCMD ( from, line, 0, 'NLINES', 1, 1 )	! wipe buffers clean
+ 	IF (itmp .NE. mnormal) CALL TM_DEALLO_DYN_LINE( itmp )
 	RETURN
  5050	buff1 = LEFINT( max_line_on_plot,  slen  )
 	CALL ERRMSG( ferr_invalid_command, status, 'cannot plot more than '
diff --git a/fer/plt/polygon_set_up.F b/fer/plt/polygon_set_up.F
index a82fc05..c0dc19a 100644
--- a/fer/plt/polygon_set_up.F
+++ b/fer/plt/polygon_set_up.F
@@ -1,5 +1,5 @@
 	SUBROUTINE POLYGON_SET_UP
-     .			      ( memory,
+     .			      ( 
      .				overlay, transpz, coord_ax, no_labels,
      .				no_range, only_val,
      .				symbol, line_type, use_line,
@@ -139,6 +139,7 @@
 * V702  *acm* 10/16 Test the results of MINMAX routine before use; if all data is 
 *                   all-missing it returns arbitrary_large_val4.
 * V71  *acm* 2/17  More on ticket 2231. New argument to FULL_VAR_TITLE to control units labels
+* V72  *acm* 3/17  For ticket 2517, changes to arguments in calls to AXIS_ENDS
 
 	include 'tmap_dims.parm'
 	include 'xtm_grid.cmn_text'
@@ -173,7 +174,6 @@
      .			do_units
 	INTEGER		symbol, line_type, coord_ax, iunits, do_dash,
      .			nmv, mr_list( nmv ), cx_list( nmv ), status
-	REAL		memory( mem_blk_size, max_mem_blks )
 	REAL		x_dat(*), y_dat(*)     ! dynamic space allocation 
 	REAL            only_val, dashstyle(4), add_lon
 
@@ -181,7 +181,7 @@
 	LOGICAL         missing_polygon, first_polygon, use_nice
 	LOGICAL		NO_LINE_RANGE, ambiguous_coord_axis,
      .			formatted, user_title, oneD_form, stack_up,
-     .			x_is_log, y_is_log
+     .			x_is_log, y_is_log, vflag
 	CHARACTER*2048	KEY_STRING, FULL_VAR_TITLE, plot_title
 * 3/99 *kob* - upped VAR_UNITS from 32 to 64 chars
 	CHARACTER	VAR_UNITS*64, LEFINT*6, TM_GET_CALENDAR_NAME*32, 
@@ -200,8 +200,8 @@
      .			cx_buff_x, cx_buff_y,
      .			phlim, pvlim, pxdenig, pydenig,
      .                  cal_id, tax, x_axtyp, y_axtyp, n,
-     .                  ss_x_save, ss_y_save, hblk1, mvh_temp, ier, nc, 
-     .                  skipsym, nsiz, ngood
+     .			ss_x_save, ss_y_save, mvh_temp, ier, nc, skipsym,
+     .			nsiz, ngood
 
 	REAL		x_len, y_len, lo, hi, lox, hix, loy, hiy,
      .			xkeypos, ykeypos, xkeysize, ykeysize, lab_ht,
@@ -220,6 +220,7 @@
 	PARAMETER     ( epsilon = 1.E-45 )
 
 	do_units = .TRUE.
+	vflag = .FALSE.  ! argument to axis_ends
 
 * signal that plot set-up has begun
 	IF ( mode_diagnostic ) CALL SPLIT_LIST(pttmode_ops, ttout_lun,
@@ -478,7 +479,7 @@ c	ind_dim = plot_axis(1)
 * ... extract 1-dimensional arrays -- possibly with embedded missing values
 * ... x coordinates
 	   CALL EXTRACT_LINE (	cx_buff_x,
-     .				memory( 1, mr_blk1(mr_x) ),
+     .				memry(mr_x)%ptr,
      .				mr_x,
      .				x_dat,
      .				coord_dim,
@@ -488,7 +489,7 @@ c	ind_dim = plot_axis(1)
 	   IF ( status .NE. ferr_ok ) GOTO 5000
 * ... y coordinates
 	   CALL EXTRACT_LINE (	cx_buff_y,
-     .				memory( 1, mr_blk1(mr_y) ),
+     .				memry(mr_y)%ptr,
      .				mr_y,
      .				y_dat,
      .				coord_dim,
@@ -505,7 +506,7 @@ c	ind_dim = plot_axis(1)
 
 	   IF (first_polygon .AND. .NOT.oneD_form) THEN
               plot_mem_used = 4* npts* npoly
-              CALL reallo_envelope(plot_mem_used)
+              CALL REALLO_ENVELOPE(plot_mem_used)
 
               first_polygon = .FALSE.
               plot_mem_used = 0
@@ -758,7 +759,7 @@ c	   IF ( npoly         .GE. NPOLYGON   ) GOTO 5160
 	   x_dat(1) = 0.0
 	else
 	   CALL EXTRACT_LINE (	cx_color,
-     .				memory( 1, mr_blk1(mr_color) ),
+     .				memry(mr_color)%ptr,
      .				mr_color,
      .				x_dat,
      .				color_dim,
@@ -819,10 +820,9 @@ c	   IF ( npoly         .GE. NPOLYGON   ) GOTO 5160
 
 	  CALL CREATE_TEMP_MEM_VAR( cx_x, mvh_temp, status )
 	  IF ( status .NE. ferr_ok ) RETURN
-	  hblk1 = mr_blk1( mvh_temp )
           plot_mem_used = plot_mem_used + ncolor
 
-	  CALL compute_histo_bins (x_dat, memory(1,hblk1), 
+	  CALL COMPUTE_HISTO_BINS (x_dat, memry(mvh_temp)%ptr, 
      .       mr_bad_data(mr_color), ncolor, status) 
 
 * ... clean up temporary variable
@@ -872,7 +872,7 @@ c	   IF ( npoly         .GE. NPOLYGON   ) GOTO 5160
 * ... extract 1-dimensional arrays -- possibly with embedded missing values
 * ... x coordinates
 	   CALL EXTRACT_LINE (	cx_buff_x,
-     .				memory( 1, mr_blk1(mr_x) ),
+     .				memry(mr_x)%ptr,
      .				mr_x,
      .				x_dat,
      .				coord_dim,
@@ -882,7 +882,7 @@ c	   IF ( npoly         .GE. NPOLYGON   ) GOTO 5160
 	   IF ( status .NE. ferr_ok ) GOTO 5000
 * ... y coordinates
 	   CALL EXTRACT_LINE (	cx_buff_y,
-     .				memory( 1, mr_blk1(mr_y) ),
+     .				memry(mr_y)%ptr,
      .				mr_y,
      .				y_dat,
      .				coord_dim,
@@ -1015,7 +1015,7 @@ c	   IF ( npoly         .GE. NPOLYGON   ) GOTO 5160
 *  Check for valid log axis before proceeding if log and limits are given
 	      IF (is_logx) THEN
 	          CALL AXIS_ENDS(x_ax, coord_dim, cx_grid(cx_x), vmin, 
-     .			     vmax, delta, x_is_log, x_axtyp, status )
+     .			     vmax, delta, x_is_log, x_axtyp, vflag, status )
 	         IF ( status .NE. ferr_ok ) THEN
                     first = vmin
                     last  = vmax
@@ -1030,7 +1030,7 @@ c	   IF ( npoly         .GE. NPOLYGON   ) GOTO 5160
 	      IF ( status .NE. ferr_OK ) GOTO 5000
 
               CALL AXIS_ENDS(x_ax, coord_dim, cx_grid(cx_x), vmin, 
-     .			     vmax, delta, x_is_log, x_axtyp, status )
+     .			     vmax, delta, x_is_log, x_axtyp, vflag, status )
 		 IF ( status .NE. ferr_ok ) THEN
 		 first = vmin
 		 last = vmax
@@ -1042,7 +1042,7 @@ c	   IF ( npoly         .GE. NPOLYGON   ) GOTO 5160
 * ... no data range -- provide artifical axis limits
               CALL AXIS_ENDS(x_ax, coord_dim, cx_grid(cx_x),
      .			DBLE(lox-1.0), DBLE(lox+1.0), 0.5D0, x_is_log, 
-     .			x_axtyp, status )
+     .			x_axtyp, vflag, status )
 	      IF ( status .NE. ferr_ok ) THEN
 		 first = lox-1.0
 		 last = lox+1.0
@@ -1050,7 +1050,7 @@ c	   IF ( npoly         .GE. NPOLYGON   ) GOTO 5160
 	      ENDIF
 	   ELSE
               CALL AXIS_ENDS(x_ax,coord_dim,cx_grid(cx_x),
-     .	       DBLE(lox),DBLE(hix), delta, x_is_log, x_axtyp, status )
+     .	       DBLE(lox),DBLE(hix), delta, x_is_log, x_axtyp, vflag, status )
 	      IF ( status .NE. ferr_ok ) THEN
 		 first = lox
 		 last = hix
@@ -1091,7 +1091,7 @@ c	   IF ( npoly         .GE. NPOLYGON   ) GOTO 5160
 *  Check for valid log axis before proceeding if log and limits are given
 	      IF (y_is_log) THEN 
                  CALL AXIS_ENDS(y_ax,coord_dim,cx_grid(cx_y),
-     .			     vmin,vmax,delta, y_is_log, y_axtyp, status )
+     .			     vmin,vmax,delta, y_is_log, y_axtyp, vflag, status )
 	         IF ( status .NE. ferr_ok ) THEN
 		    first = vmin
 		    last = vmax
@@ -1105,7 +1105,7 @@ c	   IF ( npoly         .GE. NPOLYGON   ) GOTO 5160
      .			formatted, range_rqd, cal_id, status )
 	      IF ( status .NE. ferr_OK ) GOTO 5000
               CALL AXIS_ENDS(y_ax,coord_dim,cx_grid(cx_y),
-     .			     vmin,vmax,delta, y_is_log, y_axtyp, status )
+     .			     vmin,vmax,delta, y_is_log, y_axtyp, vflag, status )
 	      IF ( status .NE. ferr_ok ) THEN
 		 first = vmin
 		 last = vmax
@@ -1116,7 +1116,7 @@ c	   IF ( npoly         .GE. NPOLYGON   ) GOTO 5160
 * ... no data range -- provide artifical axis limits
               CALL AXIS_ENDS(y_ax,coord_dim,cx_grid(cx_y),
      .			DBLE(loy-1.0),DBLE(loy+1.0), 0.5D0, y_is_log, 
-     .			y_axtyp, status )
+     .			y_axtyp, vflag, status )
 	      IF ( status .NE. ferr_ok ) THEN
 		 first = loy-1.0
 		 last = loy+1.0
@@ -1124,7 +1124,7 @@ c	   IF ( npoly         .GE. NPOLYGON   ) GOTO 5160
 	      ENDIF
 	   ELSE
               CALL AXIS_ENDS(y_ax,coord_dim,cx_grid(cx_y),
-     .		DBLE(loy),DBLE(hiy), delta, y_is_log, y_axtyp, status )
+     .		DBLE(loy),DBLE(hiy), delta, y_is_log, y_axtyp, vflag, status )
 	      IF ( status .NE. ferr_ok ) THEN
 		 first = loy
 		 last = hiy
diff --git a/fer/plt/put_annotation.F b/fer/plt/put_annotation.F
index ee6f4b2..bd3f2ab 100644
--- a/fer/plt/put_annotation.F
+++ b/fer/plt/put_annotation.F
@@ -94,4 +94,4 @@
  3200	FORMAT('LABS/NOUSER ', I3)
  3300	FORMAT('LABS/USER ', I3)
 
-	END
\ No newline at end of file
+	END
diff --git a/fer/rpn/alg_id.F b/fer/rpn/alg_id.F
index b32ba84..9478211 100644
--- a/fer/rpn/alg_id.F
+++ b/fer/rpn/alg_id.F
@@ -66,6 +66,7 @@
 *       *acm* 3/12 6D Ferret (common uses nferdims in tmap_dims.parm)
 * V685+ 12/13 *acm*  bounds checking: tm_digit needs more care in the argument sent in.
 * V693+ 12/14 *sh* allow _QD_ and _SQ_ for quotation alternatives 
+* V720: 4/17 *acm* Add direction-changing functions as a subset of grid-changing ones
 
         include 'tmap_dims.parm'
 	include 'ferret.parm'
@@ -81,7 +82,8 @@
 	CHARACTER*(*)	text
 
 * internal variable declarations:
-	LOGICAL		TM_DIGIT, TM_LEGAL_NAME, is_digit, single_quoted
+	LOGICAL		TM_DIGIT, TM_LEGAL_NAME, ITSA_DIRC_FCN, 
+     .			is_digit, single_quoted
 	INTEGER		STR_MATCH, GCF_FIND_FCN, TM_LENSTR1,
      .			imatch, i, i2, j, brac_pos, aend,
      .			num_indices, dot, new_nat, first, second, slen
@@ -122,6 +124,7 @@
 	   imatch = GCF_FIND_FCN( text(at_start(i):at_end(i)) )
 	   IF ( imatch .NE. unspecified_int4 ) THEN
 	      at_type(i) = alg_grid_chg_fcn
+	      IF (ITSA_DIRC_FCN(imatch) ) at_type(i) = alg_dir_chg_fcn
 	      at_id(i)   = imatch
 	      GOTO 100
 	   ENDIF
diff --git a/fer/rpn/init_uvar.F b/fer/rpn/init_uvar.F
index ec4bbea..e2f7c1b 100644
--- a/fer/rpn/init_uvar.F
+++ b/fer/rpn/init_uvar.F
@@ -96,6 +96,9 @@
 * V694  *acm* 1214 Fixing ticket 2220: a variablename.attname argument to a function
 *                  needs to be added as a child variable
 * V699 *sh* 6/16 bail out code at 5900 needs to clean up child LIST structures
+* V720: 4/17 *acm* Add direction-changing functions as a subset of grid-changing ones
+*                  A new grid is defined for these at grid initialization time; it
+*                  will be changed later.
 
 	include 'tmap_dims.parm'
 	include 'ferret.parm'	
@@ -149,7 +152,7 @@
 * grid cannot necessarily be inferred from the component arguments.
  200	paren_level = 0
 	DO 300 iat = gcf_start(gcfstk)+1, natom
-	   IF ( at_type(iat).EQ. alg_grid_chg_fcn ) THEN
+	   IF ( at_type(iat).EQ.alg_grid_chg_fcn .OR.  at_type(iat).EQ.alg_dir_chg_fcn ) THEN
 * ... find the variable number for this "child variable"
 *     Note that for the simple non-nested case of LET v = GCF(arg, arg, ...)
 *     no child variables are needed - so at the end of this routine we clean
@@ -243,7 +246,8 @@
  800	CALL GCF_CHILD_VAR_NAME( uvar,
      .				 at_start(child_start)-(at_start(1)-1),
      .				 child_name )
-	itsa_gc = at_type(child_start) .EQ. alg_grid_chg_fcn
+	itsa_gc = at_type(child_start) .EQ. alg_grid_chg_fcn .OR. 
+     .            at_type(child_start) .EQ. alg_dir_chg_fcn
 
 	IF ( itsa_gc ) THEN
 	   uvar_child = gcf_uvar(gcfstk)
diff --git a/fer/rpn/not_rpn.F b/fer/rpn/not_rpn.F
index 6bc5cec..5954f5e 100644
--- a/fer/rpn/not_rpn.F
+++ b/fer/rpn/not_rpn.F
@@ -52,6 +52,7 @@
 * V554 1/04 *acm* - add counter variables for named REPEAT/RANGE control
 * V671 7/11  *acm* Ticket 1868 IFV - masking expressions with ifValid, treating 
 *		   zero as valid. 
+* V720: 4/17 *acm* add direction-changing functions as a subset of grid-changing ones
 
 	include 'ferret.parm'
 	include 'errmsg.parm'
@@ -92,6 +93,7 @@
      .	   .OR.  atom_type(atom) .EQ. alg_function
      .	   .OR.  atom_type(atom) .EQ. alg_operator
      .	   .OR.  atom_type(atom) .EQ. alg_grid_chg_fcn
+     .	   .OR.  atom_type(atom) .EQ. alg_dir_chg_fcn
      .	   .OR.  atom_type(atom) .EQ. alg_child_var
      .	   .OR.  atom_type(atom) .EQ. alg_string
      .	   .OR.  atom_type(atom) .EQ. alg_const_var
diff --git a/fer/rpn/ok_juxtapo.F b/fer/rpn/ok_juxtapo.F
index d8b6f5f..4e8107e 100644
--- a/fer/rpn/ok_juxtapo.F
+++ b/fer/rpn/ok_juxtapo.F
@@ -51,6 +51,7 @@
 *                   varname.attname
 * V671 7/11  *acm* Ticket 1868 IFV - masking expressions with ifValid, treating 
 *		   zero as valid. 
+* V720: 4/17 *acm* add direction-changing functions as a subset of grid-changing ones
 
 	include		'ferret.parm'
 	include		'rpn.parm'
@@ -129,7 +130,8 @@
 
 *	   FUNCTION
 	   if (atom_type(atom(i)) .eq. alg_function
-     .	  .OR. atom_type(atom(i)) .eq. alg_grid_chg_fcn) then
+     .	  .OR. atom_type(atom(i)) .eq. alg_grid_chg_fcn
+     .	  .OR. atom_type(atom(i)) .eq. alg_dir_chg_fcn) then
 	      ndx(i) = 8
 	      goto 100
 	   end if
diff --git a/fer/rpn/prcd.F b/fer/rpn/prcd.F
index 2302055..cc5b112 100644
--- a/fer/rpn/prcd.F
+++ b/fer/rpn/prcd.F
@@ -50,6 +50,7 @@
 * V600 8/05 *acm* - Add variable type attrib_val 
 * V671 7/11  *acm* Ticket 1868 IFV - masking expressions with ifValid, treating 
 *		   zero as valid. 
+* V720: 4/17 *acm* add direction-changing functions as a subset of grid-changing ones
 
 	include		'ferret.parm'
 	include		'rpn.parm'
@@ -76,6 +77,7 @@
      .		(atom_prc(i,alg_log_struct),i=1,2)/1,2/,
      .		(atom_prc(i,alg_operand),i=1,2)/21,22/,
      .		(atom_prc(i,alg_finished),i=1,2)/0,-999/,
+     .		(atom_prc(i,alg_dir_chg_fcn),i=1,2)/17,18/,
      .		(atom_prc(i,alg_grid_chg_fcn),i=1,2)/17,18/,
      .		(atom_prc(i,alg_child_var),i=1,2)/21,22/,
      .		(atom_prc(i,alg_const_var),i=1,2)/21,22/,
diff --git a/fer/rpn/rpn.F b/fer/rpn/rpn.F
index 76e5512..b96d6bf 100644
--- a/fer/rpn/rpn.F
+++ b/fer/rpn/rpn.F
@@ -57,6 +57,7 @@
 *		   to enable IF cond THEN string1 ELSE string2 
 * V671 7/11  *acm* Ticket 1868 IFV - masking expressions with ifValid, treating 
 *		   zero as valid. 
+* V720: 4/17 *acm* add direction-changing functions as a subset of grid-changing ones
 
 	include 'ferret.parm'
 	include 'errmsg.parm'
@@ -120,6 +121,7 @@
 
 	   if (.not. OK_JUXTAPO (las_ptr,inf_ptr,atom_type,atom_id)) goto 5200
 	   if (atom_type(inf_ptr) .eq. alg_grid_chg_fcn
+     .	  .OR. atom_type(inf_ptr) .eq. alg_dir_chg_fcn
      .	  .OR. atom_type(inf_ptr) .eq. alg_function )
      .						fcn_ndx = fcn_ndx + 1
 	
@@ -180,7 +182,8 @@
 		    if (arg_cnt(fcn_ndx) .ne. narg)  goto 5400
 		    arg_cnt(fcn_ndx) = 1
 		    fcn_ndx 	     = fcn_ndx - 1
-	         ELSEif (atom_type(tmp_ptr) .eq. alg_grid_chg_fcn) then
+	         ELSEif (atom_type(tmp_ptr) .eq. alg_grid_chg_fcn .OR.
+     .		         atom_type(tmp_ptr) .eq. alg_dir_chg_fcn ) then
 *                   ==> grid changing Ferret function
 *		        variable arguments?
 	            narg = GCF_NUM_ARGS( atom_id(tmp_ptr) )
diff --git a/fer/special/ferret_dispatch.F b/fer/special/ferret_dispatch.F
index 666f603..18b483e 100644
--- a/fer/special/ferret_dispatch.F
+++ b/fer/special/ferret_dispatch.F
@@ -1,4 +1,4 @@
-	SUBROUTINE FERRET_DISPATCH( memory, command, rtn_flags, nflags,
+	SUBROUTINE FERRET_DISPATCH(  command, rtn_flags, nflags,
      .					rtn_chars, nchars, nerrlines )
 
 *
@@ -119,6 +119,7 @@
 *       *acm* 3/12 removing use USER command
 * V685 *acm* 11/13 Issue an ERROR not a NOTE if USER command is tried.
 * V695 *acm*  6/16 New ANNOTATE command.
+* V702 *sh*   2/17 dynamic memory management - no return for SET MEMORY
 
 	include 'tmap_dims.parm'
 	include 'xalt_messages.cmn_text'
@@ -164,7 +165,6 @@
 * temporarily we simply declare the "memory" array right here
 * calling argument declarations
 	INTEGER nflags, nchars, rtn_flags(nflags), nerrlines
-	REAL memory(*)
 #ifdef NEED_BYTE
         BYTE       command(*), rtn_chars(nchars)
 #else
@@ -191,55 +191,54 @@ c	DO 2 i = 1, 200
 	   IF ( command(i) .EQ. 0 ) GOTO 5
  2	cmnd_buff(i:i) = CHAR( command(i) )
 
- 5	CALL GET_FER_COMMAND( memory, cmnd_buff, status, *300 )
+ 5	CALL GET_FER_COMMAND(  cmnd_buff, status, *300 )
 
 	GOTO (	 10, 20, 30, 40, 50, 60, 70, 80, 90,100,
      .		110,120,130,140,150,160,170,180,190,200,
      .          210,220,230,240,250,260,270,280 ) cmnd_num
 
- 10	CALL XEQ_SET( memory, reconfig )
-	IF ( reconfig .NE. 0 ) GOTO 400
+ 10	CALL XEQ_SET
 	GOTO 300
- 20	CALL XEQ_SHOW( memory )
+ 20	CALL XEQ_SHOW
 	GOTO 300
- 30	CALL XEQ_CANCEL( memory )
+ 30	CALL XEQ_CANCEL
 	GOTO 300
- 40	CALL XEQ_CONTOUR( memory )	! after rev 1.00 1/5/87
+ 40	CALL XEQ_CONTOUR	! after rev 1.00 1/5/87
 	GOTO 300
- 50	CALL XEQ_LIST( memory )
+ 50	CALL XEQ_LIST
 	GOTO 300
- 60	CALL XEQ_PLOT( memory )
+ 60	CALL XEQ_PLOT
 	GOTO 300
  70	CALL XEQ_GO
 	GOTO 300
  80	CALL XEQ_HELP
 	GOTO 300
- 90	CALL XEQ_LOAD( memory )
+ 90	CALL XEQ_LOAD
 	GOTO 300
- 100	CALL XEQ_DEFINE( memory )
+ 100	CALL XEQ_DEFINE
 	GOTO 300
  110	CALL XEQ_EXIT( *500, *450 )
 	GOTO 300			! command file xit or error
  120	CALL XEQ_MESSAGE
 	GOTO 300
- 130	CALL XEQ_VECTOR( memory )
+ 130	CALL XEQ_VECTOR
 	GOTO 300
  140	CALL XEQ_PPLUS
 	GOTO 300
- 150	CALL XEQ_FRAME( memory )
+ 150	CALL XEQ_FRAME
 	GOTO 300
  160	CALL XEQ_REPEAT
 	GOTO 300
- 170	CALL XEQ_STAT( memory )
+ 170	CALL XEQ_STAT
 	GOTO 300
- 180	CALL XEQ_SHADE( memory )
+ 180	CALL XEQ_SHADE
 	GOTO 300
  190	CALL XEQ_SPAWN
 	GOTO 300
- 200	CONTINUE! CALL XEQ_USER_COMMAND( memory )
+ 200	CONTINUE! CALL XEQ_USER_COMMAND
         CALL ERRMSG(ferr_syntax, status, 
      .    'USER command not available in this Ferret version ', *300)
- 210	CALL XEQ_WIRE( memory )
+ 210	CALL XEQ_WIRE
 	GOTO 300
  220	CALL XEQ_QUERY
 	GOTO 300
@@ -251,7 +250,7 @@ c	DO 2 i = 1, 200
 	GOTO 300
  260	CALL XEQ_ENDIF
 	GOTO 300
- 270	CALL XEQ_POLYGON( memory )
+ 270	CALL XEQ_POLYGON
 	GOTO 300
  280	CALL XEQ_ANNOTATE
 	GOTO 300
@@ -317,13 +316,6 @@ c	DO 2 i = 1, 200
 	   RETURN
 	ENDIF
 	   
-* reconfigure main memory
- 400	rtn_flags(frtn_control) = fctrl_in_ferret
-	rtn_flags(frtn_status)  = gui_status
-	rtn_flags(frtn_action)  = factn_mem_reconfigure
-	rtn_flags(frtn_idata1)  = reconfig
-	RETURN
-
 * exit the dispatch loop - if from pfyrret, to return control to python
 *                          if from ferret_c, just re-enter the dispatch loop
  450    rtn_flags(frtn_control) = fctrl_in_ferret
diff --git a/fer/stk/SOURCE_FILES b/fer/stk/SOURCE_FILES
index 92fad5b..7817010 100644
--- a/fer/stk/SOURCE_FILES
+++ b/fer/stk/SOURCE_FILES
@@ -11,6 +11,7 @@ conformable_agg_grid.F\
 constant_context.F\
 const_var_context.F\
 crawl_dependencies.F\
+define_next_chunk_cx.F\
 diagnostic_out.F\
 eval_context.F\
 eval_expr.F\
@@ -30,7 +31,6 @@ init_random_seed.F\
 interp_context.F\
 interp_stack.F\
 is_aggregate_gather.F\
-is_aggregate_grid.F\
 is_algebra.F\
 is_auxvar_regrid.F\
 is_attrib_val.F\
@@ -64,6 +64,7 @@ non_array_subsc.F\
 offset_ss.F\
 operate.F\
 pass_ambig_lims.F\
+potent_ax_lims.F\
 potent_size.F\
 push_interp_stack.F\
 randn.F\
@@ -72,6 +73,7 @@ randu.F\
 rcvd_regrid.F\
 regrid_lims.F\
 rqst_regrid.F\
+setup_gather.F\
 setup_sample.F\
 stack_ptr_dn.F\
 stack_ptr_up.F\
@@ -79,6 +81,7 @@ string_context.F\
 string_operate.F\
 string_concatenate.F\
 string_conditional.F\
+trans_init_value.F\
 transfer_isp.F\
 unprotect_cmnd_data.F\
 xerror.F 
diff --git a/fer/stk/crawl_dependencies.F b/fer/stk/crawl_dependencies.F
index 216e868..e26c6b2 100644
--- a/fer/stk/crawl_dependencies.F
+++ b/fer/stk/crawl_dependencies.F
@@ -1,5 +1,5 @@
 	SUBROUTINE CRAWL_DEPENDENCIES
-     .		( memory, expression, base_cx, status )
+     .		(  expression, base_cx, status )
 
 *
 *
@@ -57,7 +57,6 @@
 
 * calling argument declarations
 	INTEGER	base_cx, status
-	REAL	memory( mem_blk_size, max_mem_blks )
 	CHARACTER*(*) expression
 
 * local variable declarations
@@ -89,7 +88,8 @@
 	
 * when called the request is ALWAYS for an untransformed implicitly defined
            CALL GET_DEPENDENCIES( uvar_pointer,
-     .		dependency_dflt_dset, memory(1,dependency_block1), status )
+     .		dependency_dflt_dset, workmem(plegacy_work_buffer)%ptr,
+     .		status )
            IF ( status .NE. ferr_ok ) GOTO 5000
 
 ! temp diagnostic
diff --git a/fer/stk/is_dummy.F b/fer/stk/define_next_chunk_cx.F
similarity index 70%
copy from fer/stk/is_dummy.F
copy to fer/stk/define_next_chunk_cx.F
index edd6362..8de99f7 100644
--- a/fer/stk/is_dummy.F
+++ b/fer/stk/define_next_chunk_cx.F
@@ -1,7 +1,5 @@
-	SUBROUTINE IS_DUMMY( memory, *, status )
+	SUBROUTINE DEFINE_NEXT_CHUNK_CX(idim, com_cx, dflt_cx, frag, status)
 
-*
-*
 *  This software was developed by the Thermal Modeling and Analysis
 *  Project(TMAP) of the National Oceanographic and Atmospheric
 *  Administration's (NOAA) Pacific Marine Environmental Lab(PMEL),
@@ -35,47 +33,40 @@
 *  CONNECTION WITH THE ACCESS, USE OR PERFORMANCE OF THIS SOFTWARE. 
 *
 *
-* create a "dummy" result -- all missing values
-* for use with forecast aggregations, in cases of a missing forecast
+* increment com_cx so that it becomes the context describing the next chunk
+* needed in a gather operation
 
 * programmer - steve hankin
 * NOAA/PMEL, Seattle, WA - Tropical Modeling and Analysis Program
 *
-* V698  12/15 - *sh*
- 
-	include 'tmap_dims.parm'
+* V702: *sh* 11/16 - code pulled from IS_GATHER
+
+	include	'tmap_dims.parm'
 	include	'ferret.parm'
 	include	'errmsg.parm'
-	include	'interp_stack.parm'
-	include	'xvariables.cmn'
 	include	'xcontext.cmn'
-	include	'xprog_state.cmn'
 
 * calling argument declarations:
-	INTEGER	status
-	REAL	memory( mem_blk_size, max_mem_blks )
-
-* internal variable declarations:
-	INTEGER	mr, cx
+	INTEGER idim, com_cx, dflt_cx, frag, status
 
-* --- end of introductory code ---
-* initialize
-	cx = is_cx( isp )
+* calling argument definitions:
+*	idim - the axis of the gather operation
+*	com_cx - the context to be updated (the next component of the gather)
+*	dflt_cx - the target context, with transforms, pre-split/gather
+*	frag - the fragment (a.k.a increment) size
 
-* reserve and catalog space for the result
-	CALL CREATE_TEMP_MEM_VAR( cx, mr, status )
-	IF ( status .NE. ferr_ok ) GOTO 5000
-	is_mr( isp ) = mr
-
-* diagnostic output
-	IF (mode_diagnostic) CALL DIAGNOSTIC_OUT('dummy',mr,point_to_mr)
-
-* insert a block of missing value flags
-	CALL FILL_MEMORY( memory, mr_blk1(mr),
-     .			  mr_nblks(mr), mr_bad_data(mr) )
+* internal variable declarations:
+	INTEGER top_ss, lo_ss
 
-	RETURN 1
+* increment the subscript range by fragment size
+	top_ss = cx_hi_ss(com_cx,idim)
+	CALL TRANSFER_CONTEXT( dflt_cx, com_cx )
+	cx_lo_ss(com_cx,idim) = top_ss + 1
+	cx_hi_ss(com_cx,idim) = MIN( top_ss+frag, cx_hi_ss(dflt_cx,idim))
+	cx_by_ss(idim,com_cx) = .TRUE.
+	CALL FLESH_OUT_AXIS( idim, com_cx, status )       ! ignore status
 
-* error exit
- 5000	RETURN
+* same exit whether success or failure
+	RETURN
 	END	
+
diff --git a/fer/stk/diagnostic_out.F b/fer/stk/diagnostic_out.F
index f18e2b4..f486391 100644
--- a/fer/stk/diagnostic_out.F
+++ b/fer/stk/diagnostic_out.F
@@ -58,6 +58,7 @@
 *                 output will not list info for E,F dimensions.
 * V7    acm  6/16 Ticket 2437: Deprecating mode_6d_lab. 
 *		  Adjust output to 6-D or 4-D grids
+* V702 *sh* 1/17  7 digit integer output fields instead of 5
 
 * calling argument declarations:
 	INTEGER		isub, pointer_type
@@ -152,9 +153,9 @@
       ENDIF
 
  3000	FORMAT (1X,A,1X,A8,1X,A1,':',I3,' dset:',i4,
-     . ' I:',2I5,'  J:',2I5,'  K:',2I5,'  L:',2I5,'  M:',2I5,'  N:',2I5)
+     . ' I:',2I7,'  J:',2I5,'  K:',2I5,'  L:',2I7,'  M:',2I5,'  N:',2I5)
  3100	FORMAT (1X,A,1X,A8,1X,A1,':',I3,' dset:',i4,
-     . ' I:',2I5,'  J:',2I5,'  K:',2I5,'  L:',2I5)
+     . ' I:',2I7,'  J:',2I5,'  K:',2I5,'  L:',2I7)
 
 	RETURN
 	END	
diff --git a/fer/stk/eval_expr.F b/fer/stk/eval_expr.F
index 945905e..8c50194 100644
--- a/fer/stk/eval_expr.F
+++ b/fer/stk/eval_expr.F
@@ -1,4 +1,4 @@
-	SUBROUTINE EVAL_EXPR ( memory, dflt_cx, expression, apply_cx, 
+	SUBROUTINE EVAL_EXPR (  dflt_cx, expression, apply_cx, 
      .              status )
 
 *
@@ -66,6 +66,7 @@
 *                     of immed. mode expressions in the command.
 * V600 *acm* 3/06  fixing bugs 439&1390, pass apply_cx to get_new_cx to say whether
 *                  to apply command context to grave-accent expressions.
+* V702 *sh*  3/17 Dynamic memory
 
 	include 'tmap_dims.parm'
 	include	'ferret.parm'
@@ -79,7 +80,6 @@
 * calling argument declarations
         LOGICAL apply_cx
 	INTEGER	dflt_cx, status
-	REAL	memory(*) 
 	CHARACTER*(*) expression
 
 * local variable declarations
@@ -91,6 +91,12 @@
 	tlen = LEN(expression)
 	grd_stk_ptr = max_grids
 
+* initialize memory usage diagnostic
+	completed_args_mem = 0
+	current_cmnd_uvar = 1
+	deferred_committed_mem = 0
+	nsplits = 0
+
 * delete any memory left-overs from last command
 	CALL DELETE_MRS_IN_PROGRESS
 
@@ -113,7 +119,7 @@
 
 * evaluate the expression
 	CALL TRANSFER_CONTEXT( cx_cmnd, cx_expr )
-	CALL INTERP_STACK( memory, 1, cx_expr, EXPR_NAME(1), status )
+	CALL INTERP_STACK(  1, cx_expr, EXPR_NAME(1), status )
 	IF ( status .NE. ferr_ok ) GOTO 5000
 
 ! temp diagnostic
diff --git a/fer/stk/exit_dependency_mode.F b/fer/stk/exit_dependency_mode.F
index 465bb80..2c17033 100644
--- a/fer/stk/exit_dependency_mode.F
+++ b/fer/stk/exit_dependency_mode.F
@@ -42,13 +42,14 @@
 * NOAA/PMEL, Seattle, WA - Tropical Modeling and Analysis Program
 *
 * V685+ 11/13 *sh*  
+* V702 1/17 *sh* for trac enhancement #2369 -- dynamic memory management 
 
 	include 'tmap_dims.parm'
 	include	'ferret.parm'
 	include 'xdependency_tree.cmn'
 
 	dependency_tree_mode = .FALSE.
-	CALL RELEASE_WORK_SPC
+        CALL RELEASE_DYN_WORK_SPACE ! ?? needed ??
 
      	RETURN
 	END
diff --git a/fer/stk/get_cmnd_data.F b/fer/stk/get_cmnd_data.F
index 6e0337e..3678a46 100644
--- a/fer/stk/get_cmnd_data.F
+++ b/fer/stk/get_cmnd_data.F
@@ -1,4 +1,4 @@
-	SUBROUTINE GET_CMND_DATA ( memory, dflt_cx, dtype, status )
+	SUBROUTINE GET_CMND_DATA (  dflt_cx, dtype, status )
 
 *
 *
@@ -69,12 +69,11 @@
 
 * calling argument declarations
 	INTEGER	dflt_cx, dtype, status
-	REAL	memory(*)
 
 * local variable declarations
 * ...
 
-        CALL GET_PROT_CMND_DATA( memory, dflt_cx, dtype, status )
+        CALL GET_PROT_CMND_DATA(  dflt_cx, dtype, status )
         IF ( status .NE. ferr_ok ) RETURN
 
         CALL UNPROTECT_CMND_DATA
diff --git a/fer/stk/get_prot_cmnd_data.F b/fer/stk/get_prot_cmnd_data.F
index 72c4b03..46fd996 100644
--- a/fer/stk/get_prot_cmnd_data.F
+++ b/fer/stk/get_prot_cmnd_data.F
@@ -1,4 +1,4 @@
-	SUBROUTINE GET_PROT_CMND_DATA ( memory, dflt_cx, dtype, status )
+	SUBROUTINE GET_PROT_CMND_DATA (  dflt_cx, dtype, status )
 
 *  This software was developed by the Thermal Modeling and Analysis
 *  Project(TMAP) of the National Oceanographic and Atmospheric
@@ -97,6 +97,8 @@
 *                  saving a modulo-regridded variable to netCDF
 * V702 *acm* 11/16 Ticket 2489: Do not try to add the attribute when
 *                  it's an expression instead of a user-defined variable
+*		   - And trac enhancement #2369 -- dynamic memory management 
+* V702 *sh*  3/17 Dynamic memory
 
 	include 'tmap_dims.parm'
 	include	'ferret.parm'
@@ -111,7 +113,6 @@
 
 * calling argument declarations
 	INTEGER	dflt_cx, dtype, status
-	REAL	memory(*) 
 
 * local variable declarations
 	LOGICAL		auto_auxvar_changed
@@ -129,6 +130,10 @@
 	max_usable_intrp = max_intrp
 	max_context = max_noframe_context  ! just to be clear (not needed)
 
+* initialize memory usage diagnostic
+	completed_args_mem = 0
+	nsplits = 0
+
 * determine if in auto-curvilinear mode
 	CALL SET_AUTO_CURVI_MODES( auto_auxvar_changed )
 
@@ -200,17 +205,24 @@
 !	      is_cx(max_usable_intrp+idim) = unspecified_int4  ! bookkeeping
 !	   ENDDO
 
+* ... initialize memory diagnostics
+	   current_cmnd_uvar = nu
+	   deferred_committed_mem = 0
+
 * ... evaluate the next sub-expression
 	   CALL TRANSFER_CONTEXT( cx_cmnd, cx_expr )
-	   CALL INTERP_STACK( memory, nu, cx_expr,
+	   CALL INTERP_STACK(  nu, cx_expr,
      .			      EXPR_NAME(nu), status )
 	   IF ( status .NE. ferr_ok ) GOTO 5000
 
-* check for legal data type
+* ... check for legal data type
 	   IF ( dtype .NE. ptype_native ) THEN
 	      IF (mr_type(is_mr(isp)) .NE. dtype ) GOTO 5100
 	   ENDIF
 
+* ... add memory occupied by this result to the on-hold total of arguments
+	   completed_args_mem = completed_args_mem + mr_size(is_mr(isp))
+
 * tag the result for what it is
 * note that since aux vars may now be returned on the ISP stack, isp may be GT nu
 	   is_act(isp) = isact_var_ready
@@ -286,7 +298,7 @@
  5000	RETURN
  5100	buff = VAR_CODE(mr_category(is_mr(nu)),mr_variable(is_mr(nu)))
 * ... copied from INTERP_STACK error exit ... probably over-kill
-	CALL RELEASE_WORK_SPC
+	CALL RELEASE_DYN_WORK_SPACE
         CALL DELETE_MRS_IN_PROGRESS
         CALL UNPROTECT_ALL_MRS
         CALL DEALLO_ALL_GRIDS
diff --git a/fer/stk/init_dependencies.F b/fer/stk/init_dependencies.F
index a4149ef..392f106 100644
--- a/fer/stk/init_dependencies.F
+++ b/fer/stk/init_dependencies.F
@@ -49,6 +49,7 @@
 * NOAA/PMEL, Seattle, WA - Tropical Modeling and Analysis Program
 *
 * V685+ 9/13 *sh*  
+* V702 1/17 *sh* for trac enhancement #2369 -- dynamic memory management 
 
 	include 'tmap_dims.parm'
 	include	'ferret.parm'
@@ -62,7 +63,8 @@
 	INTEGER	dflt_cx, base_isp, status
 
 * local variable declarations
-	INTEGER		mr, num_indices, j, uv, wkblk, total_items
+	INTEGER		mr, num_indices, j, uv, total_items
+	INTEGER*8	i8_size
 
 * initialize grid stack pointer (pushes down from top)
 	dependency_tree_mode = .TRUE.
@@ -95,14 +97,14 @@
 	dependency_max_recs = total_items/2
 	dependency_max_recs = (dependency_max_recs*dependency_max_recs)/4
 	dependency_max_recs = MAX(dependency_max_recs, 1000)
-	CALL GET_WORK_SPC( dependency_max_recs*dependency_nfields,
-     .			   wkblk, status )
+	i8_size = dependency_max_recs*dependency_nfields
+	CALL GET_DYN_WORK_SPACE( i8_size, status )
 	IF (status .NE. ferr_ok) GOTO 5000
 
 * initialize dependency COMMON
 	dependency_nrows      = 0
 	dependency_root_level = base_isp
-	dependency_block1     = wkblk
+!	dependency_block1     = wkblk    ! 1/17 pre-dynamic memory
 	dependency_status     = df_valid_var
 	IF (cx_data_set(cx_cmnd) .EQ. unspecified_int4) THEN
 	   dependency_dflt_dset  = pdset_irrelevant
diff --git a/fer/stk/interp_context.F b/fer/stk/interp_context.F
index 1e75acf..5fdb11c 100644
--- a/fer/stk/interp_context.F
+++ b/fer/stk/interp_context.F
@@ -50,6 +50,7 @@
 * V532: 6/01 *sh* bug fix:  CALL DEALLO_UNFORMED_GRID instead of DEALLO_GRID
 *       *acm* 3/12 Add E and F dimensions (use nferdims in tmap_dims.parm)
 * V685: 1/13 *sh* ensure that sst[L=@ave] is recognized as a compressed axis
+* V702 1/17 *sh* for trac enhancement #2369 -- dynamic memory management
 
 	include 'tmap_dims.parm'
 	include	'ferret.parm'
@@ -166,7 +167,7 @@
 	RETURN
 
 * error exit - clean up
- 5000	CALL RELEASE_WORK_SPC
+ 5000	CALL RELEASE_DYN_WORK_SPACE
 	CALL DELETE_MRS_IN_PROGRESS
 	CALL UNPROTECT_ALL_MRS
 	CALL DEALLO_ALL_GRIDS
@@ -174,6 +175,3 @@
 	RETURN
 	END
 
-
-
-
diff --git a/fer/stk/interp_stack.F b/fer/stk/interp_stack.F
index 473e295..56c8bad 100644
--- a/fer/stk/interp_stack.F
+++ b/fer/stk/interp_stack.F
@@ -1,4 +1,4 @@
-	SUBROUTINE INTERP_STACK ( memory, isp_base, dflt_cx,
+	SUBROUTINE INTERP_STACK (  isp_base, dflt_cx,
      .				  name_code, status )
 
 *  This software was developed by the Thermal Modeling and Analysis
@@ -108,7 +108,9 @@
 *                  variables, pre-defined axes and grids, cat_calc_var.
 * V680 *acm* 5/16  Fix ticket 2366, putting the subspan void point and modulo
 *                  replications before transformations.
-* V7   5/12 *acm* Union aggregations: DEFINE DATA/AGG/U
+* V7    5/12 *acm* Union aggregations: DEFINE DATA/AGG/U
+* V702 11/16 *sh*  split/gather on compressed axes -- see IS_TRANS calls
+* V702  1/17 *sh*  for trac enhancement #2369 -- dynamic memory management
 
 	include 'tmap_dims.parm'
 	include	'ferret.parm'
@@ -117,11 +119,11 @@
 	include	'xcontext.cmn'
 	include	'xvariables.cmn'
 	include	'xinterrupt.cmn'
+	include	'xprog_state.cmn'
 	include	'xfr_grid.cmn'
 
 * calling argument declarations:
 	INTEGER		isp_base, dflt_cx, status
-	REAL		memory(*)
 	CHARACTER*(*)	name_code
 
 * internal variable declarations:
@@ -129,10 +131,12 @@
      .			ITSA_MODULO_GCF, TM_ITS_SUBSPAN_MODULO,
      .			look_again, modulo_axes(nferdims), 
      .			explicit_qualifiers, is_remote_var
-	INTEGER		UVAR_NUMBER, KNOWN_GRID, CGRID_AXIS, 
+	INTEGER		UVAR_NUMBER, KNOWN_GRID, CGRID_AXIS,
      .			CAXIS_MODLEN, TM_AXES_REVERSED, rev_axes(nferdims),
      .			cx, mr, idim, cat, act, uvar_pointer,
-     .			com_mr, var, dset
+     .			com_mr, var, dset, slen, slen2
+!	INTEGER*8	CGRID_SIZE8, cxsize
+	CHARACTER	TM_FMT*12, num_str*12, num_str2*12
 
 * external routines passed
 	EXTERNAL	DO_SHIFT, DO_SMTH_BOX, DO_FILL_AVE, DO_AVERAGE,
@@ -292,20 +296,24 @@
 	var  = cx_variable( cx )
 	dset = cx_data_set( cx )
 
+! check that there are no corrupted string arrays in memory
+! use for help diagnosing string pointer errors
+!	CALL SANITY_CHECK_STRING_ARRAYS("INTERP_STACK")
+
 * constants and pseudo-variables and counter variables may be handled immediately
 * ... get user variable grids if unknown
 	IF     ( dset .EQ. pdset_dummy ) THEN
-	   CALL IS_DUMMY ( memory, *2000, status )
+	   CALL IS_DUMMY (  *2000, status )
 	   GOTO 5000
 	ELSEIF ( cat .EQ. cat_pseudo_var ) THEN
-	   CALL IS_PSEUDO ( memory, *2000, status )
+	   CALL IS_PSEUDO (  *2000, status )
 	   GOTO 5000
 	ELSEIF ( cat .EQ. cat_constant ) THEN
-	   CALL IS_CONSTANT( memory, *2000, status )
+	   CALL IS_CONSTANT(  *2000, status )
 	   GOTO 5000
 * ... get a counter variable
 	ELSEIF ( cat .EQ. cat_counter_var ) THEN
-	   CALL IS_COUNTER_VAR   (var, memory, *2000, status )
+	   CALL IS_COUNTER_VAR   (var,  *2000, status )
 	   GOTO 5000
 
         ENDIF
@@ -323,7 +331,7 @@
         CALL COMPLETE_MISSING_LIMITS( cx )
 
 * check in memory to see if we already have the data 
-	CALL FIND_MEM_VAR_INCL_C_CACHE( cx, mr, search_by_value, memory )
+	CALL FIND_MEM_VAR_INCL_C_CACHE( cx, mr, search_by_value )
 	IF ( mr .GT. mr_nonexist ) THEN
 * ... yes - already in memory
 	   is_mr( isp ) = mr
@@ -334,6 +342,31 @@
 	   GOTO 2000						! pop stack
 	ENDIF
 
+* check to make sure that this result can fit into memory.
+*   added 2/2017 just in order to generate earlier, friendlier error message
+! problem: the context, at least when a pseudo-variable is being evaluated
+! may contain context limits (inherited from SET REGION or command qualifiers)
+! that are actually irrelevant to the variable being evaluated.  The result is
+! that CGRID_SIZE8 may return a result that is much larger than what is correct
+! I left this block of code in just in case someone ever wants to follow this
+! path.  It would be nicer to issue an error message at this early point.
+!	IF (.NOT.mode_state(pmode_greedy,1)) THEN
+!	   cxsize = CGRID_SIZE8( cx )
+!	   IF (cxsize .GT. max_mem_allowed) THEN
+!	      IF (cxsize .EQ. 99999999 ) THEN
+!	         CALL ERRMSG(ferr_limits,status,
+!     .		"Did you use an ABSTRACT axis without specifying limits?",
+!     .			*5000)
+!	      ELSE
+!	         num_str  = TM_FMT( max_mem_allowed/1.E6, 3, 12, slen)
+!		 num_str2 = TM_FMT( cxsize/1.E6,          3, 12, slen2)
+!	         CALL ERRMSG( ferr_insuff_memory,status,
+!     .		 "Size of request="//num_str2(:slen2)//
+!     .		 " but currently SET MEMORY/SIZE="//num_str(:slen), *5000)
+!	      ENDIF
+!	   ENDIF
+!	ENDIF
+
 ******************************************************************************
 * * * * * * * * STRIP AWAY TRANSFORMATIONS ONTO STACK * * * * * * * * * * * * 
 ******************************************************************************
@@ -452,11 +485,11 @@
 	   is_remote_var = ( uvar_remote(var) )
 
 	   IF (.NOT. is_remote_var) THEN
-	      CALL IS_ALGEBRA( memory, *10, *2000, isp_base, status )
+	      CALL IS_ALGEBRA(  *10, *2000, isp_base, status )
 	   ELSE
 	   
 	      CALL INIT_FTDS_DSET ( cx_data_set(cx), var, status)
-	      CALL IS_READ_REMOTE( memory, *10, *2000, status )
+	      CALL IS_READ_REMOTE(  *10, *2000, status )
 	   ENDIF
 
 	   GOTO 5000
@@ -482,8 +515,7 @@
  300	      CONTINUE
 	      IF ( look_again ) THEN
 * ...         check again in memory - maybe we already have it after all
-	         CALL FIND_MEM_VAR_INCL_C_CACHE( cx, mr,
-     .						search_by_value, memory )
+	         CALL FIND_MEM_VAR_INCL_C_CACHE( cx, mr, search_by_value)
 	         IF ( mr .GT. mr_nonexist ) THEN
 * ...            yes - already in memory ... worth the trouble
 	            is_mr( isp ) = mr
@@ -498,27 +530,27 @@
 	      ENDIF
 	   ENDIF
 
-	   CALL IS_READ( memory, *10, *2000, status )
+	   CALL IS_READ(  *10, *2000, status )
 	   GOTO 5000
 
 * ... get a "constant variable" (say, "{1,3,5}")
 	ELSEIF ( cat .EQ. cat_const_var	) THEN
-	   CALL IS_CONST_VAR   ( memory, *10, *2000, status )
+	   CALL IS_CONST_VAR   (  *10, *2000, status )
 	   GOTO 5000
 
 * ... get a string in qouble quotes
 	ELSEIF ( cat .EQ. cat_string	) THEN
-	   CALL IS_STRING   ( memory, *10, *2000, status )
+	   CALL IS_STRING   (  *10, *2000, status )
 	   GOTO 5000
 
 * ... get an attribute value
 	ELSEIF ( cat .EQ. cat_attrib_val ) THEN
-	   CALL IS_ATTRIB_VAL   ( memory, *10, *2000, status )
+	   CALL IS_ATTRIB_VAL   (  *10, *2000, status )
 	   GOTO 5000
 
 * ... get a counter variable
 c	ELSEIF ( cat .EQ. cat_counter_var ) THEN
-c	   CALL IS_COUNTER_VAR   ( var, memory, *10, *2000, status )
+c	   CALL IS_COUNTER_VAR   ( var,  *10, *2000, status )
 c	   GOTO 5000
 
 	ELSE
@@ -553,7 +585,7 @@ c	   GOTO 5000
 	   STOP 'isp_undfl'	! IS stack underflowed
 	ELSEIF ( isp .EQ. isp_base ) THEN
 * ... yes - clean up and go home
-	   CALL RELEASE_WORK_SPC
+	   CALL RELEASE_DYN_WORK_SPACE
 	   RETURN
 	ELSE
 *    ... since the stack activity at this level is now completed it contains a
@@ -573,122 +605,122 @@ c	   GOTO 5000
 	   IF     ( act .EQ. isact_request		) THEN
 	      GOTO 10					! grid just obtained
 	   ELSEIF ( act .EQ. isact_reconcile		) THEN
-	      CALL IS_RECONCILE( memory, *10, *2500, status ) ! 11/95
+	      CALL IS_RECONCILE(  *10, *2500, status ) ! 11/95
 	   ELSEIF ( act .EQ. isact_algebra		) THEN
-	      CALL IS_ALGEBRA( memory, *10, *2500, isp_base, status )
+	      CALL IS_ALGEBRA(  *10, *2500, isp_base, status )
 	   ELSEIF ( act .EQ. isact_modulo		) THEN
-	      CALL IS_MODULO( memory, *10, *2500, status )     ! 12/94
+	      CALL IS_MODULO(  *10, *2500, status )     ! 12/94
 	   ELSEIF ( act .EQ. isact_subspan_fill		) THEN
-	      CALL IS_SUBSPAN_FILL( memory, *10, *2500, status )! 7/02
+	      CALL IS_SUBSPAN_FILL(  *10, *2500, status )! 7/02
 	   ELSEIF ( act .EQ. isact_reverse		) THEN
-	      CALL IS_REVERSE( memory, *10, *2500, status )     ! 2/95
+	      CALL IS_REVERSE(  *10, *2500, status )     ! 2/95
 	   ELSEIF ( act .EQ. isact_gather		) THEN
-	      CALL IS_GATHER( memory, *10, *2500, status )
+	      CALL IS_GATHER(  *10, *2500, status )
 	   ELSEIF ( act .EQ. isact_aggregate_gather	) THEN
-	      CALL IS_AGGREGATE_GATHER( memory, *10, *2500, status )
+	      CALL IS_AGGREGATE_GATHER(  *10, *2500, status )
 	   ELSEIF ( act .EQ. isact_get_union_member	) THEN
-	      CALL IS_UNION_MEMBER( memory, *10, *2500, status )
+	      CALL IS_UNION_MEMBER(  *10, *2500, status )
 	   ELSEIF ( act .EQ. isact_sample		) THEN
-	      CALL IS_SAMPLE( memory, *10, *2500, status )
+	      CALL IS_SAMPLE(  *10, *2500, status )
 	   ELSEIF ( act .EQ. isact_interp		) THEN
-	      CALL IS_TRANS( memory, DO_INTERPOLATE, *2500, status )
+	      CALL IS_TRANS(  DO_INTERPOLATE, *10, *2500, status )
 	   ELSEIF ( act .EQ. isact_average		) THEN
-	      CALL IS_TRANS( memory, DO_AVERAGE, *2500, status )
+	      CALL IS_TRANS(  DO_AVERAGE, *10, *2500, status )
 	   ELSEIF ( act .EQ. isact_avg_wgt		) THEN
-	      CALL IS_TRANS( memory, DO_AVG_WGT, *2500, status )
+	      CALL IS_TRANS(  DO_AVG_WGT, *10, *2500, status )
 	   ELSEIF ( act .EQ. isact_4d_ave		) THEN	! 7/96
-	      CALL IS_TRANS( memory, DO_4D_AVE, *2500, status )
+	      CALL IS_TRANS(  DO_4D_AVE, *10, *2500, status )
 	   ELSEIF ( act .EQ. isact_avg_4d_wgt		) THEN	
-	      CALL IS_TRANS( memory, DO_4D_AVE_WGT, *2500, status )
+	      CALL IS_TRANS(  DO_4D_AVE_WGT, *10, *2500, status )
 	   ELSEIF ( act .EQ. isact_integ_def		) THEN	! 7/96
-	      CALL IS_TRANS( memory, DO_INTEG_DEF, *2500, status )
+	      CALL IS_TRANS(  DO_INTEG_DEF, *10, *2500, status )
 	   ELSEIF ( act .EQ. isact_4d_int_def		) THEN
-	      CALL IS_TRANS( memory, DO_4D_INT_DEF, *2500, status )
+	      CALL IS_TRANS(  DO_4D_INT_DEF, *10, *2500, status )
 	   ELSEIF ( act .EQ. isact_shift		) THEN
-	      CALL IS_TRANS( memory, DO_SHIFT, *2500, status )
+	      CALL IS_TRANS(  DO_SHIFT, *10, *2500, status )
 	   ELSEIF ( act .EQ. isact_smth_box		) THEN
-	      CALL IS_TRANS( memory, DO_SMTH_BOX, *2500, status )
+	      CALL IS_TRANS(  DO_SMTH_BOX, *10, *2500, status )
 	   ELSEIF ( act .EQ. isact_smth_box_p		) THEN
-	      CALL IS_TRANS( memory, DO_SMTH_BOX_P, *2500, status )
+	      CALL IS_TRANS(  DO_SMTH_BOX_P, *10, *2500, status )
 	   ELSEIF ( act .EQ. isact_smth_binml		) THEN
-	      CALL IS_TRANS( memory, DO_SMTH_BINML, *2500, status )
+	      CALL IS_TRANS(  DO_SMTH_BINML, *10, *2500, status )
 	   ELSEIF ( act .EQ. isact_smth_hanng		) THEN
-	      CALL IS_TRANS( memory, DO_SMTH_HANNG, *2500, status )
+	      CALL IS_TRANS(  DO_SMTH_HANNG, *10, *2500, status )
 	   ELSEIF ( act .EQ. isact_smth_max		) THEN
-	      CALL IS_TRANS( memory, DO_SMTH_MAX, *2500, status )
+	      CALL IS_TRANS(  DO_SMTH_MAX, *10, *2500, status )
 	   ELSEIF ( act .EQ. isact_smth_median		) THEN
-	      CALL IS_TRANS( memory, DO_SMTH_MEDIAN, *2500, status )
+	      CALL IS_TRANS(  DO_SMTH_MEDIAN, *10, *2500, status )
 	   ELSEIF ( act .EQ. isact_smth_min		) THEN
-	      CALL IS_TRANS( memory, DO_SMTH_MIN, *2500, status )
+	      CALL IS_TRANS(  DO_SMTH_MIN, *10, *2500, status )
 	   ELSEIF ( act .EQ. isact_smth_parzn		) THEN
-	      CALL IS_TRANS( memory, DO_SMTH_PARZN, *2500, status )
+	      CALL IS_TRANS(  DO_SMTH_PARZN, *10, *2500, status )
 	   ELSEIF ( act .EQ. isact_smth_welch		) THEN
-	      CALL IS_TRANS( memory, DO_SMTH_WELCH, *2500, status )
+	      CALL IS_TRANS(  DO_SMTH_WELCH, *10, *2500, status )
 	   ELSEIF ( act .EQ. isact_fill_ave		) THEN
-	      CALL IS_TRANS( memory, DO_FILL_AVE, *2500, status )
+	      CALL IS_TRANS(  DO_FILL_AVE, *10, *2500, status )
 	   ELSEIF ( act .EQ. isact_fill_interp		) THEN
-	      CALL IS_TRANS( memory, DO_FILL_INTERP, *2500, status )
+	      CALL IS_TRANS(  DO_FILL_INTERP, *10, *2500, status )
 	   ELSEIF ( act .EQ. isact_fill_near		) THEN
-	      CALL IS_TRANS( memory, DO_FILL_NEAR, *2500, status )
+	      CALL IS_TRANS(  DO_FILL_NEAR, *10, *2500, status )
 	   ELSEIF ( act .EQ. isact_deriv_fwrd		) THEN
-	      CALL IS_TRANS( memory, DO_DERIV_FRWD, *2500, status )
+	      CALL IS_TRANS(  DO_DERIV_FRWD, *10, *2500, status )
 	   ELSEIF ( act .EQ. isact_deriv_cntr		) THEN
-	      CALL IS_TRANS( memory, DO_DERIV_CNTR, *2500, status )
+	      CALL IS_TRANS(  DO_DERIV_CNTR, *10, *2500, status )
 	   ELSEIF ( act .EQ. isact_deriv_bkwd		) THEN
-	      CALL IS_TRANS( memory, DO_DERIV_BKWD, *2500, status )
+	      CALL IS_TRANS(  DO_DERIV_BKWD, *10, *2500, status )
 	   ELSEIF ( act .EQ. isact_min			) THEN
-	      CALL IS_TRANS( memory, DO_MIN, *2500, status )
+	      CALL IS_TRANS(  DO_MIN, *10, *2500, status )
 	   ELSEIF ( act .EQ. isact_max			) THEN
-	      CALL IS_TRANS( memory, DO_MAX, *2500, status )
+	      CALL IS_TRANS(  DO_MAX, *10, *2500, status )
 	   ELSEIF ( act .EQ. isact_integ_indef		) THEN
-	      CALL IS_TRANS( memory, DO_INT_INDEF, *2500, status )
+	      CALL IS_TRANS(  DO_INT_INDEF, *10, *2500, status )
 	   ELSEIF ( act .EQ. isact_locate		) THEN
-	      CALL IS_TRANS( memory, DO_LOCATE, *2500, status )
+	      CALL IS_TRANS(  DO_LOCATE, *10, *2500, status )
 	   ELSEIF ( act .EQ. isact_sum  		) THEN
-	      CALL IS_TRANS( memory, DO_SUM, *2500, status )
+	      CALL IS_TRANS(  DO_SUM, *10, *2500, status )
 	   ELSEIF ( act .EQ. isact_run_sum		) THEN
-	      CALL IS_TRANS( memory, DO_RUN_SUM, *2500, status )
+	      CALL IS_TRANS(  DO_RUN_SUM, *10, *2500, status )
 	   ELSEIF ( act .EQ. isact_variance		) THEN
-	      CALL IS_TRANS( memory, DO_VARIANCE, *2500, status )
+	      CALL IS_TRANS(  DO_VARIANCE, *10, *2500, status )
 	   ELSEIF ( act .EQ. isact_std_dev		) THEN
-	      CALL IS_TRANS( memory, DO_STDDEV, *2500, status )
+	      CALL IS_TRANS(  DO_STDDEV, *10, *2500, status )
 	   ELSEIF ( act .EQ. isact_good_pt		) THEN
-	      CALL IS_TRANS( memory, DO_NGOOD, *2500, status )
+	      CALL IS_TRANS(  DO_NGOOD, *10, *2500, status )
 	   ELSEIF ( act .EQ. isact_bad_pt		) THEN
-	      CALL IS_TRANS( memory, DO_NBAD, *2500, status )
+	      CALL IS_TRANS(  DO_NBAD, *10, *2500, status )
 	   ELSEIF ( act .EQ. isact_wgted_eq		) THEN
-	      CALL IS_TRANS( memory, DO_DIST_LOC, *2500, status )
+	      CALL IS_TRANS(  DO_DIST_LOC, *10, *2500, status )
 	   ELSEIF ( act .EQ. isact_regrid		) THEN
-	      CALL IS_REGRID( memory, *2500, status )
+	      CALL IS_REGRID( *2500, status )
 	   ELSEIF ( act .EQ. isact_auxvar_regrid
      .         .OR. act .EQ. isact_aux_plot_vars	) THEN
-	      CALL IS_AUXVAR_REGRID( memory, *10, *2500, status )
+	      CALL IS_AUXVAR_REGRID(  *10, *2500, status )
 	   ELSEIF ( act .EQ. isact_autogrid		) THEN
 	      CALL IS_AUTOGRID( *2500, status )
 	   ELSEIF ( act .EQ. isact_4d_var		) THEN	! 7/96
-	      CALL IS_TRANS( memory, DO_4D_VAR, *2500, status )
+	      CALL IS_TRANS(  DO_4D_VAR, *10, *2500, status )
 	   ELSEIF ( act .EQ. isact_4d_good_pt		) THEN	! 7/96
-	      CALL IS_TRANS( memory, DO_4D_NGD, *2500, status )
+	      CALL IS_TRANS(  DO_4D_NGD, *10, *2500, status )
 	   ELSEIF ( act .EQ. isact_4d_bad_pt		) THEN	! 7/96
-	      CALL IS_TRANS( memory, DO_4D_NBD, *2500, status )
+	      CALL IS_TRANS(  DO_4D_NBD, *10, *2500, status )
 	   ELSEIF ( act .EQ. isact_4d_sum		) THEN	! 11/10
-	      CALL IS_TRANS( memory, DO_4D_SUM, *2500, status )
+	      CALL IS_TRANS(  DO_4D_SUM, *10, *2500, status )
 	   ELSEIF ( act .EQ. isact_std_4d		) THEN
-	      CALL IS_TRANS( memory, DO_4D_STD, *2500, status )
+	      CALL IS_TRANS(  DO_4D_STD, *10, *2500, status )
 	   ELSEIF ( act .EQ. isact_nrst_dist_abv	) THEN	! 9/97
-	      CALL IS_TRANS( memory, DO_NEAREST_DIST_ABOVE, *2500, status )
+	      CALL IS_TRANS(  DO_NEAREST_DIST_ABOVE, *10, *2500, status )
 	   ELSEIF ( act .EQ. isact_nrst_dist_blw	) THEN	! 9/97
-	      CALL IS_TRANS( memory, DO_NEAREST_DIST_BELOW, *2500, status )
+	      CALL IS_TRANS(  DO_NEAREST_DIST_BELOW, *10, *2500, status )
 	   ELSEIF ( act .EQ. isact_nrst_indx_abv	) THEN	! 9/97
-	      CALL IS_TRANS( memory, DO_NEAREST_INDEX_ABOVE, *2500, status )
+	      CALL IS_TRANS(  DO_NEAREST_INDEX_ABOVE, *10, *2500, status )
 	   ELSEIF ( act .EQ. isact_nrst_indx_blw	) THEN	! 9/97
-	      CALL IS_TRANS( memory, DO_NEAREST_INDEX_BELOW, *2500, status )
+	      CALL IS_TRANS(  DO_NEAREST_INDEX_BELOW, *10, *2500, status )
 	   ELSEIF ( act .EQ. isact_event_mask		) THEN	! 6/01
-	      CALL IS_TRANS( memory, DO_EVENT, *2500, status )
+	      CALL IS_TRANS(  DO_EVENT, *10, *2500, status )
 	   ELSEIF ( act .EQ. isact_read			) THEN
 	      WRITE (6,*) 'Tell FERRET programmer to check INTERP_STACK'
 * ...	      could set "cat" and branch to above IS_READ
-	      CALL IS_READ( memory, *10, *2000, status )    ! temp ?? needed ?
+	      CALL IS_READ(  *10, *2000, status )    ! temp ?? needed ?
 	   ELSE
               CALL ERRMSG( ferr_internal, status,
      .             'unknown transform', *5000 )
@@ -710,7 +742,7 @@ c	   GOTO 5000
 	GOTO 2000
 
 * error exit - clean up
- 5000	CALL RELEASE_WORK_SPC
+ 5000	CALL RELEASE_DYN_WORK_SPACE
 	CALL DELETE_MRS_IN_PROGRESS
 	CALL UNPROTECT_ALL_MRS
 	CALL DEALLO_ALL_GRIDS
diff --git a/fer/stk/is_aggregate_gather.F b/fer/stk/is_aggregate_gather.F
index 62398ba..fb98ff5 100644
--- a/fer/stk/is_aggregate_gather.F
+++ b/fer/stk/is_aggregate_gather.F
@@ -1,4 +1,4 @@
-	SUBROUTINE IS_AGGREGATE_GATHER( memory, *, *, status )
+	SUBROUTINE IS_AGGREGATE_GATHER(  *, *, status )
 
 *
 *
@@ -61,7 +61,6 @@
 
 * calling argument declarations:
 	INTEGER	status
-	REAL	memory( mem_blk_size, max_mem_blks )
 * normal return is for error conditions
 * exit #1 is to request another member ( stack has been pushed )
 * exit #2 is to signal completion of the activity at this stack level
@@ -122,8 +121,8 @@
 
 * copy data just received into the result
 * bad data flag differences are resolved during this COPY operation
-	CALL COPY_AGG_INTO( memory(1,mr_blk1(com_mr)), com_mr, com_cx, agg_dim,
-     .			memory(1,mr_blk1(res_mr)), res_mr, is_phase(isp) )
+	CALL COPY_AGG_INTO( memry(com_mr)%ptr, com_mr, com_cx, agg_dim,
+     .			memry(res_mr)%ptr, res_mr, is_phase(isp) )
 
 * ... remove the component protection that signaled we needed it here
 	IF (cx_data_set(com_cx) .NE. pdset_dummy) THEN
diff --git a/fer/stk/is_aggregate_grid.F b/fer/stk/is_aggregate_grid.F
deleted file mode 100644
index de72409..0000000
--- a/fer/stk/is_aggregate_grid.F
+++ /dev/null
@@ -1,286 +0,0 @@
-	SUBROUTINE IS_AGGREGATE_GRID(uvar, dset, cx, status )
-
-*  This software was developed by the Thermal Modeling and Analysis
-*  Project(TMAP) of the National Oceanographic and Atmospheric
-*  Administration's (NOAA) Pacific Marine Environmental Lab(PMEL),
-*  hereafter referred to as NOAA/PMEL/TMAP.
-*
-*  Access and use of this software shall impose the following
-*  obligations and understandings on the user. The user is granted the
-*  right, without any fee or cost, to use, copy, modify, alter, enhance
-*  and distribute this software, and any derivative works thereof, and
-*  its supporting documentation for any purpose whatsoever, provided
-*  that this entire notice appears in all copies of the software,
-*  derivative works and supporting documentation.  Further, the user
-*  agrees to credit NOAA/PMEL/TMAP in any publications that result from
-*  the use of this software or in any product that includes this
-*  software. The names TMAP, NOAA and/or PMEL, however, may not be used
-*  in any advertising or publicity to endorse or promote any products
-*  or commercial entity unless specific written permission is obtained
-*  from NOAA/PMEL/TMAP. The user also understands that NOAA/PMEL/TMAP
-*  is not obligated to provide the user with any support, consulting,
-*  training or assistance of any kind with regard to the use, operation
-*  and performance of this software nor to provide the user with any
-*  updates, revisions, new versions or "bug fixes".
-*
-*  THIS SOFTWARE IS PROVIDED BY NOAA/PMEL/TMAP "AS IS" AND ANY EXPRESS
-*  OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-*  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-*  ARE DISCLAIMED. IN NO EVENT SHALL NOAA/PMEL/TMAP BE LIABLE FOR ANY SPECIAL,
-*  INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
-*  RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF
-*  CONTRACT, NEGLIGENCE OR OTHER TORTUOUS ACTION, ARISING OUT OF OR IN
-*  CONNECTION WITH THE ACCESS, USE OR PERFORMANCE OF THIS SOFTWARE. 
-*
-*
-* examine members of an aggregate datset, getting grids for 
-* elements that are user-defined (LET/D) variables. Use the 
-* interpretation stack in order to determine a defining grid for the
-* overall aggregate dataset.
-* Detailed description of the underlying logic is in MERGE_CONTEXT
-* Note: When pseudo-variables are used (eg. LIST U/Z[K=1:3]) the grids for them
-*	may not be known until all other components are examined.  In this
-*	case a 2nd pass is required
-
-* programmer - Ansley Manke (from is_uvar_grid)
-* NOAA/PMEL, Seattle, WA - Tropical Modeling and Analysis Program
-* V6.83 *acm* 11/30/2012 If variable isn't a file variable, get the right definition.
-
-* V685  4/13 *acm* Better grid handling.
-* V685 10/13 *acm* Fix ticket 1098, error defining ensemble when LET/D variables are present.
-* V698  3/16 *acm* Remove unneeded xdset_parms.cmn
-* V699  6/16 *sh*  replace variable uvar_grid with calls to c LIST structures
-* V710 *acm* 10/16 Ticket 2422: variables uvar_grid, uvar_data_type, uvar_aux_cat, 
-*                  uvar_aux_var to be replaced with calls to LIST routines in NCF_Util.c 
-
-* calling argument declarations:
-* uvar and dset point to the variable in the aggregate dataset
-* And cx_orig points to the context for that variable.
-
-	INTEGER	uvar, dset, cx, status
-
-* internal variable declarations:
-	LOGICAL its_dynamic
-	INTEGER NCF_GET_AGG_COUNT, TM_LENSTR1, STR_SAME, KNOWN_GRID,
-     .		cx_orig, agg_cx, hi_cx, big_cx, isp_orig, agg_dset, 
-     .		agg_len, imemb, fer_uvar, memb_dset, memb_grid, iline, 
-     .		nv, test_grid, this_grid, len_name, agg_dim, gnum, var,
-     .		varid, idim, i, igrid, lo_cx, slen
-
-	CHARACTER vname*512, buff*512, nm*3
-
-#include "netcdf.inc"
-	include	'tmap_errors.parm'
-	include 'tmap_dims.parm'
-	include	'xtm_grid.cmn_text'
-	external xgt_grid_data
-	include	'ferret.parm'
-	include	'errmsg.parm'
-	include	'interp_stack.parm'
-	include	'xcontext.cmn'
-	include	'xvariables.cmn'
-	include	'xprog_state.cmn'
-	include	'xfr_grid.cmn'
-	include 'xdset_info.cmn_text'
-	external xdset_info_data
-	include 'xdset_info.cd_equiv'
-
-*        ... interpretation stack setup at the time this is called ...
-*	stack level		stack contents
-*	isp+1	<--	level to get grids for components
-*	 isp	<--	current level: evaluate user-variable grid
-
-* --- end of introductory code ---
-
-* initialize
-
-	IF (ds_type(dset) .EQ. 'ENS') agg_dim = e_dim
-	IF (ds_type(dset) .EQ. 'FCT') agg_dim = f_dim
-
-	test_grid = unspecified_int4
-
-	agg_dset = dset
-	status = NCF_GET_AGG_COUNT (agg_dset, agg_len)
-
-	agg_cx = cx
-
-	vname = uvar_text(uvar)
-	len_name = TM_LENSTR1(vname)
-
-* are we pointing at a "LET var = [some expr with an agg var]"
-* If so then the vname is not in the agg dset. Find the 
-* var in the list of uvar_code, and get the right uvar_text
-* (this is a hack, something is wrong with my stack handling)
-
-	CALL CD_GET_VAR_ID (agg_dset, vname, varid, status)
-	IF (status .NE. ferr_ok) THEN 
-	   DO 30, i = uvar, 1, -1
- 	      IF (STR_SAME(vname, uvar_name_code(i)) .EQ. 0) THEN
-	         vname =  uvar_text(i)
-	         len_name = TM_LENSTR1(vname)
-	         CALL CD_GET_VAR_ID (agg_dset, vname, varid, status)
-	         IF (status .NE. ferr_ok) GOTO 5010 
-	         GOTO 40
-               ENDIF
-   30	   CONTINUE
-	   GOTO 5010 
-   40	   CONTINUE
-	ENDIF
-
-	DO 90 imemb = 1, agg_len
-
-* See if the previous two members have matching grids (except for aggretage direction)
-	   IF (test_grid.NE.unspecified_int4 .AND. test_grid.NE.this_grid) THEN
-	      DO 80 idim = 1, nferdims
-	         IF ( (idim .NE. agg_dim) .AND. 
-     .	              (grid_line(idim,this_grid) .NE. grid_line(idim,test_grid)) ) GOTO 5300
-
-   80	      CONTINUE
-	   ENDIF
-
-	   CALL CD_GET_AGG_VAR_INFO (agg_dset, vname, imemb, 
-     .         fer_uvar, memb_dset, memb_grid, iline, nv, status)
-	   IF (fer_uvar .EQ. cat_user_var .AND. memb_grid .EQ. unspecified_int4) 
-     .           memb_grid = KNOWN_GRID(memb_dset, cat_user_var, nv) 
-	   IF (memb_grid .NE. unspecified_int4) THEN
-	      test_grid = memb_grid
-	      this_grid = memb_grid
-	      GOTO 90
-	   ENDIF
-
-* Get ready to call is_uvar_grid. 
-* pre-load the variable info onto the CX stack
-
-	   cx_orig = cx_stack_ptr
-	   CALL STACK_PTR_UP( cx_stack_ptr, max_context, status )
-	   IF ( status .NE. ferr_ok ) GOTO 5000
-	   lo_cx  = is_cx( isp )
-	   hi_cx = cx_stack_ptr
-	   CALL GET_VAR_CONTEXT (  vname(:len_name),
-     .				lo_cx,
-     .				hi_cx,
-     .				status )
-
-	   cx_data_set(hi_cx) = memb_dset
-	   cx_grid(hi_cx) = memb_grid
-	   cx_variable(hi_cx) = nv
-	   cx_category(hi_cx) = cat_user_var
-
-* pre-load the variable info onto the IS stack
-	   isp_orig = isp
-	   CALL PUSH_INTERP_STACK( isp, status )
-	   IF ( status .NE. ferr_ok ) GOTO 5000
-	   is_cx   ( isp ) = hi_cx
-	   is_uvar ( isp ) = nv
-	   is_act  ( isp ) = isact_get_grid
-
-* initialize the stacks - (repeated for each component)
-
- 100	   CALL IS_GRID_MODE( status )
-           hi_cx = is_big_cx(isp) + 1  ! ???
-	   IF ( status .NE. ferr_ok ) GOTO 5000
-
-* evaluate the grid by merging component grids
-*  ... exit 100 is to evaluate the grid for a component uvar
-*  ... exit 300 means that a grid has been obtained
-*  ... "normal" return indicates an error has occurred
- 200	   CALL IS_UVAR_GRID( *100, *300, status )
-	   GOTO 5000
-
-* a grid has been obtained.  Are we done ?
- 300	   IF ( isp .EQ. isp_orig ) THEN
-* ... yes - clean up and go home
-              this_grid = cx_grid(hi_cx) 
-	      IF ( cx_stack_ptr .NE. cx_orig ) WRITE (6,*) 'agg_v_gd'	! temp
-	      GOTO 90
-	   ELSE
-* ... no - go back for more
-	      GOTO 200
-	   ENDIF
-
- 90	CONTINUE
-
-* Test that the grids match for the last aggregate member (except for ensemble direction)
-
-	IF (test_grid.NE.unspecified_int4 .AND. test_grid.NE.this_grid) THEN
-	   DO 180 idim = 1, nferdims
-	      IF ( (idim .NE. agg_dim) .AND. 
-     .	           (grid_line(idim,this_grid) .NE. grid_line(idim,test_grid)) ) GOTO 5300
- 180	CONTINUE
-	ENDIF
-
-* Define the aggregrate grid here. Need a new context?  Should this be done when
-* we get back to is_uvar_grid?
-
-	big_cx = is_big_cx( isp )
-	
-	igrid = cx_grid(big_cx)
-	DO 400 idim = 1, nferdims
-	   grid_line(idim, igrid) = grid_line(idim,test_grid)
-  400	CONTINUE
-	grid_line(agg_dim, igrid) = iline
-
-* catalog this result checking for matching previously existing grid
-	CALL TM_GET_LIKE_DYN_GRID(igrid, its_dynamic, gnum, 
-     .				grd_stk_ptr, status ) 
-
-* set context for aggregate grid
-	cx_grid(agg_cx) = gnum
-	CALL SAVE_UVAR_GRID(uvar, gnum, ptype_float, dset)
-
-	cx_grid(agg_cx) = gnum
-	cx_data_set(agg_cx) = agg_dset
-	IF (agg_dim .EQ. e_dim) cx_category(agg_cx) = cat_agg_e_var
-	IF (agg_dim .EQ. f_dim) cx_category(agg_cx) = cat_agg_f_var
-
-	uvar_dset( uvar ) = dset
-	uvar_need_dset( uvar ) = .TRUE.
-
-	var = cx_variable(agg_cx)
-	ds_grid_number(var) = gnum 
-
-* Get ds_grid_start, ds_grid_end, ds_ordering from the last file variable
-
-	IF (test_grid .NE. unspecified_int4) THEN
-	   DO 720 nv = 1, maxvars
-	       IF (ds_grid_number(nv) .EQ. test_grid)  GOTO 725
- 720	   CONTINUE
- 725	   CONTINUE
-        ENDIF
-
-	IF (nv .GT. maxvars) GOTO 5010
-
-        DO 730 idim = 1, nferdims
-	   ds_grid_start(idim,var)= ds_grid_start(idim,nv)
-	   ds_grid_end(idim,var)  = ds_grid_end(idim,nv)
-	   ds_ordering(idim,var)  = ds_ordering(idim,nv)
- 730	CONTINUE
-        ds_ordering(agg_dim,var) = agg_dim
-        ds_grid_start(agg_dim,var) = 1
-        ds_grid_end(agg_dim,var) = line_dim(iline)
-
-	is_cx(isp) = agg_cx
-	is_uvar ( isp ) = uvar
-
-* Now we have the grid for the variable in the agg. dataset. Store the grid 
-* number for future use.
-
-CC dont think this is right. should be the MEMBER grids not the aggregate var grid.
-	DO 800 imemb = 1, agg_len
-	   CALL CD_PUT_AGG_MEMB_GRID (agg_dset, vname, imemb, gnum, status)
- 800	CONTINUE
-
-	RETURN
-
-* error exit
- 5000	CALL DEALLO_ALL_GRIDS
-	RETURN
- 5300	CALL ERRMSG( ferr_aggregate_error, status,
-     .   'grids for LET/D variables do not match for aggregate dataset'
-     .   //vname,*5000 )
- 5010	vname = uvar_text(uvar)
-	CALL ERRMSG( ferr_aggregate_error, status,
-     .   'error defining grid for variable in aggregate dataset'
-     .   //vname,*5000 )
-
-	END	
diff --git a/fer/stk/is_algebra.F b/fer/stk/is_algebra.F
index 9d67ef0..422cfb6 100644
--- a/fer/stk/is_algebra.F
+++ b/fer/stk/is_algebra.F
@@ -1,4 +1,4 @@
-	SUBROUTINE IS_ALGEBRA( memory, *, *, isp_base, status )
+	SUBROUTINE IS_ALGEBRA(  *, *, isp_base, status )
 
 *  This software was developed by the Thermal Modeling and Analysis
 *  Project(TMAP) of the National Oceanographic and Atmospheric
@@ -107,6 +107,9 @@
 *                  return info about coordinate-variables in datasets
 * V7    5/16 *acm* See ticket 2352. For LET/D variables look for info under that dataset
 * V710 9/16  *acm* ticket 2465: Parsing expressions including attribute references.
+* V702 1/17 *sh* as a part of conversion to dynamic memory fixed bug that 
+*                CHECK_NAN_DATA_SUB was being called on string variables
+* V720: 4/17 *acm* Add direction-changing functions as a subset of grid-changing ones
 
 	include 'tmap_dims.parm'
 #include "netcdf.inc"
@@ -122,8 +125,7 @@
 
 * calling argument declarations:
 	INTEGER	isp_base, status
-!	REAL	memory( mem_blk_size, max_mem_blks )  ! old
-	REAL	memory( mem_blk_size, * )             ! experimental change
+!	REAL	memory( mem_blk_size, * )             ! experimental change
 * normal return is for error conditions
 * exit #1 is to request another grid ( stack has been pushed )
 * exit #2 is to signal completion of the activity at this stack level
@@ -283,7 +285,8 @@
      .	    .OR. itype .EQ. alg_log_struct
      .	    .OR. itype .EQ. alg_log_vstruct   ) THEN
 	   GOTO 500
-	ELSEIF ( itype .EQ. alg_grid_chg_fcn ) THEN
+	ELSEIF ( itype .EQ. alg_grid_chg_fcn
+     .	    .OR. itype .EQ. alg_dir_chg_fcn ) THEN
 	   GOTO 600
 	ELSEIF ( itype .EQ. alg_const_var ) THEN
 	   GOTO 700
@@ -457,7 +460,7 @@
 * ...compute new value replacing component(s) (if any) on stack
 * ...and changing variable protections appropriately
 * ...also pop the space they used on the context stack
- 500	CALL IS_DO_OP( memory, itype, uvar_text(uvar)(start:end),
+ 500	CALL IS_DO_OP(  itype, uvar_text(uvar)(start:end),
      .		       lo_isp, uvar_ifv(uvar), status )
 	IF ( status .NE. ferr_ok ) RETURN
 	GOTO 100
@@ -472,7 +475,7 @@
 * CALL ADD_RDC_XFORM is a test to see if we can get the right
 * context onto the context which will be used for the result
  600    CALL ADD_RDC_XFORM(is_big_cx(lo_isp), status)
-	CALL IS_DO_GC_FCN( memory, uvar, uvar_text(uvar)(start:end),
+	CALL IS_DO_GC_FCN(  uvar, uvar_text(uvar)(start:end),
      .		       lo_isp, status )
 	IF ( status .NE. ferr_ok ) RETURN
 	GOTO 100
@@ -828,11 +831,11 @@
 * at this point the list of indices has been evaluated and is on the isp stack
 * (at lo_isp+1). Setup "sampling" activity on the stack, using that list to
 * guide obtaining the other arg
- 900	CALL SETUP_SAMPLE( memory, is_cx(lo_isp+1), is_mr(lo_isp+1),
+ 900	CALL SETUP_SAMPLE(  is_cx(lo_isp+1), is_mr(lo_isp+1),
      .			   ifcn, big_cx, status )
 	IF ( status .NE. ferr_ok ) GOTO 5000
 * ... setup to grab first chunk of sampling data
-	CALL IS_SAMPLE( memory, *910, *5900, status ) !	RETURN 2 means all done
+	CALL IS_SAMPLE(  *910, *5900, status ) !	RETURN 2 means all done
 	GOTO 5900
  910	RETURN 1
 
@@ -892,18 +895,19 @@
 * flags removed (otherwise done when they're used as operands)
 * (ticket 2291) Handle variables from attribute information the same way.
 
-	IF ( mr_category( hi_mr ) .EQ. cat_temp_var .OR.
-     .	     mr_category(hi_mr) .EQ. cat_attrib_val) THEN
+	IF ( mr_type(hi_mr) .NE. ptype_string
+     .	.AND. (mr_category(hi_mr) .EQ. cat_temp_var .OR.
+     .	       mr_category(hi_mr) .EQ. cat_attrib_val)    ) THEN
 * ... result of algebraic computation
 * ... if user set the missing value flag make sure it is used
 	   IF ( cx_bad_data(big_cx) .NE. mr_bad_data(hi_mr) ) THEN
 	      size = MGRID_SIZE( hi_mr )
 	      CALL REPLACE_BAD_DATA_SUB ( mr_bad_data(hi_mr),
-     .			                  memory(1,mr_blk1(hi_mr)), size,
+     .			                  memry(hi_mr)%ptr, size,
      .                                    cx_bad_data(big_cx)  )
 	   ENDIF
 
-c Tentative fix for ticket 2234
+c Tentative fix for ticket 2234.  See also ticket 2547.
 	   cx_type(big_cx) = cx_type(hi_cx)
 	   CALL RE_ASSIGN_VARIABLE( hi_mr, big_cx )
 
@@ -922,8 +926,8 @@ c Tentative fix for ticket 2234
 	   CALL CREATE_MEM_VAR( big_cx, new_mr, status )
 	   IF ( status .NE. ferr_ok ) GOTO 5000
 	   is_mr( lo_isp ) = new_mr
-	   CALL COPY_GRID( memory(1,mr_blk1(hi_mr)),  hi_mr,
-     .			   memory(1,mr_blk1(new_mr)), new_mr )
+	   CALL COPY_GRID( memry(hi_mr)%ptr,  hi_mr,
+     .			   memry(new_mr)%ptr, new_mr )
 	   CALL PASS_AMBIG_LIMS( lo_cx, new_mr, status )
 	   IF ( status .NE. ferr_ok ) GOTO 5000
 * component no longer needed
@@ -949,19 +953,20 @@ c Tentative fix for ticket 2234
 	ENDIF
 
 * if user set the missing value flag make sure it is used
-	IF ( mr_category(hi_mr) .NE. cat_attrib_val) THEN 
+	IF ( mr_category(hi_mr) .NE. cat_attrib_val
+     .	.AND.mr_type    (hi_mr) .NE. ptype_string   ) THEN 
 	   IF ( cx_bad_data(lo_cx) .NE. mr_bad_data(is_mr(lo_isp))) THEN  
 	      new_mr = is_mr(lo_isp)
 	      size = MGRID_SIZE( new_mr )
 	      CALL REPLACE_BAD_DATA_SUB ( mr_bad_data(new_mr),
-     .			               memory(1,mr_blk1(new_mr)), size,
+     .			               memry(new_mr)%ptr, size,
      .                                  cx_bad_data(lo_cx)  )
 	      mr_bad_data(new_mr) = cx_bad_data(lo_cx)
 
 	   ELSE
 	      new_mr = is_mr(lo_isp)
 	      size = MGRID_SIZE( new_mr )
-	      CALL CHECK_NAN_DATA_SUB ( memory(1,mr_blk1(new_mr)), size,
+	      CALL CHECK_NAN_DATA_SUB ( memry(new_mr)%ptr, size,
      .                                 mr_bad_data(new_mr) )
 	   ENDIF
 	ENDIF
diff --git a/fer/stk/is_attrib_val.F b/fer/stk/is_attrib_val.F
index ccb651d..69e4cce 100644
--- a/fer/stk/is_attrib_val.F
+++ b/fer/stk/is_attrib_val.F
@@ -1,4 +1,4 @@
-	SUBROUTINE IS_ATTRIB_VAL( memory, *, *, status )
+	SUBROUTINE IS_ATTRIB_VAL(  *, *, status )
 
 *  This software was developed by the Thermal Modeling and Analysis
 *  Project(TMAP) of the National Oceanographic and Atmospheric
@@ -53,6 +53,7 @@
 * v698 5/16  *acm* ticket 2413: New attribute keywords ncoordvars, coordnames
 *                  return info about coordinate-variables in datasets
 * V710 9/16  *acm* ticket 2465: Parsing expressions including attribute references.
+* 712 2/17 *sh* fix latent bug when shifting an array of attribute values
 
         include 'tmap_dims.parm'
 #       include "tmap_dset.parm"
@@ -67,7 +68,6 @@
 
 * calling argument declarations:
 	INTEGER	status
-	REAL	memory( mem_blk_size, max_mem_blks )
 
 * internal variable declarations:
         CHARACTER*512 varname, name
@@ -81,7 +81,9 @@
      .          vdims(8), dsdims(200), iatt, nvatts, idim, nd, vd, na,
      .          attoutflag, all_outflag, xdim, i1, i2, slen,
      .          i, indx, nv, dot, cat, attid, npts, dimid, nddims, 
-     .          iitem, start, end
+     .          iitem, start, end, wk_buff
+
+	INTEGER*8 n8
 
 * --- end of introductory code ---
 * initialize
@@ -155,7 +157,7 @@
 
               n = i2 - i1 + 1
               CALL INIT_C_STRING_ARRAY( n,
-     .				     memory(1,mr_blk1(mr)),
+     .				     memry(mr)%ptr,
      .				     mr_c_pointer(mr)    )
               n = 0
               nv = 0
@@ -181,7 +183,7 @@
 
               n = i2 - i1 + 1
               CALL INIT_C_STRING_ARRAY( n,
-     .				     memory(1,mr_blk1(mr)),
+     .				     memry(mr)%ptr,
      .				     mr_c_pointer(mr)    )
               n = 0
               nv = 0
@@ -208,7 +210,7 @@
 
               n = i2 - i1 + 1
 	      CALL INIT_C_STRING_ARRAY( n,
-     .				     memory(1,mr_blk1(mr)),
+     .				     memry(mr)%ptr,
      .				     mr_c_pointer(mr)    )
                 IF (ds_type(dset).NE.'CDF' .AND. ds_type(dset).NE.'ECDF') GOTO 5200
 
@@ -235,7 +237,7 @@
                  CALL CD_GET_VAR_ID (dset, '.', varid, status)
 
 	         CALL INIT_C_STRING_ARRAY( ngatts,
-     .				     memory(1,mr_blk1(mr)),
+     .				     memry(mr)%ptr,
      .				     mr_c_pointer(mr)    )
                  n = 0
                  DO 300 iatt = i1, i2
@@ -251,11 +253,11 @@
            ELSE IF (STR_SAME(attname, 'ndims') .EQ. 0 ) THEN
               IF (ds_type(dset).NE.'CDF' .AND. ds_type(dset).NE.'ECDF') GOTO 5200
 
-              memory( 1, mr_blk1(mr)) = ndims
+              memry(mr)%ptr(1) = ndims
               got_it = .TRUE.
 
            ELSE IF (STR_SAME(attname, 'nattrs') .EQ. 0 ) THEN
-              memory( 1, mr_blk1(mr)) = ngatts
+              memry(mr)%ptr(1) = ngatts
               got_it = .TRUE.
 
            ELSE IF (STR_SAME(attname, 'nvars') .EQ. 0 .OR.
@@ -270,7 +272,7 @@
                  IF (.NOT. coordvar) n = n + 1
  400          CONTINUE
               IF (STR_SAME(attname, 'ncoordvars') .EQ. 0) n = nvars-n
-              memory( 1, mr_blk1(mr)) = n
+              memry(mr)%ptr(1) = n
               got_it = .TRUE.
            ENDIF
 
@@ -293,7 +295,7 @@
 * ... set up FORTRAN-independent pointer
 
 	            CALL INIT_C_STRING_ARRAY( 1,
-     .				     memory(1,mr_blk1(mr)),
+     .				     memry(mr)%ptr,
      .				     mr_c_pointer(mr)    )
 
 * ... string
@@ -301,7 +303,7 @@
      .			         varname, attname, status)
 	         ELSE
 * ... array of numbers
-	            CALL ATTRIB_VALS (memory( 1, mr_blk1(mr)), 
+	            CALL ATTRIB_VALS (memry(mr)%ptr, 
      .                size, n, dset, varid, varname, attname, status)
 	         ENDIF
                  IF ( status .NE. ferr_ok ) GOTO 5000
@@ -316,7 +318,7 @@
                  IF (attname(1:1) .EQ. "'" .AND. 
      .               attname(slen:slen) .EQ. "'" ) THEN
 
-	            CALL ATTRIB_VALS (memory( 1, mr_blk1(mr)), 
+	            CALL ATTRIB_VALS (memry(mr)%ptr, 
      .                 size, n, dset, varid, varname, attname, status)
                     IF (status .NE. ferr_ok ) CALL ATTRIB_STRING (cx, mr, 
      .	                      dset, varid,  varname, attname, status)
@@ -343,7 +345,7 @@
                  IF (nvatts .GT. 0) THEN
 
 	           CALL INIT_C_STRING_ARRAY( nvatts,
-     .				     memory(1,mr_blk1(mr)),
+     .				     memry(mr)%ptr,
      .				     mr_c_pointer(mr)    )
                    n = 0
                    DO 600 iatt = i1, i2
@@ -363,7 +365,7 @@
                 IF (nvdims .GT. 0) THEN
 
 	           CALL INIT_C_STRING_ARRAY( nvdims,
-     .				     memory(1,mr_blk1(mr)),
+     .				     memry(mr)%ptr,
      .				     mr_c_pointer(mr)    )
                 IF (ds_type(dset).NE.'CDF' .AND. ds_type(dset).NE.'ECDF') GOTO 5200
 
@@ -381,16 +383,16 @@
              ELSE IF (STR_SAME(attname, 'ndims') .EQ. 0 ) THEN
                 IF (ds_type(dset).NE.'CDF' .AND. ds_type(dset).NE.'ECDF') GOTO 5200
 
-                memory( 1, mr_blk1(mr)) = nvdims
+                memry(mr)%ptr(1) = nvdims
                 got_it = .TRUE.
 
              ELSE IF (STR_SAME(attname, 'nctype') .EQ. 0 ) THEN
 
-                memory( 1, mr_blk1(mr)) = vartype
+                memry(mr)%ptr(1) = vartype
                 got_it = .TRUE.
 
              ELSE IF (STR_SAME(attname, 'nattrs') .EQ. 0 ) THEN
-                memory( 1, mr_blk1(mr)) = nvatts
+                memry(mr)%ptr(1) = nvatts
                 got_it = .TRUE.
 
              ENDIF
@@ -421,7 +423,7 @@
  900	      IF ( attype .EQ. NCCHAR ) THEN
 * ... set up FORTRAN-independent pointer
 	         CALL INIT_C_STRING_ARRAY( 1,
-     .				     memory(1,mr_blk1(mr)),
+     .				     memry(mr)%ptr,
      .				     mr_c_pointer(mr)    )
 
 * ... string
@@ -429,15 +431,26 @@
      .			          status)
 	      ELSE
 * ... array of numbers
-	         CALL ATTRIB_VALS (memory( 1, mr_blk1(mr)), size, n, dset, 
+
+* 2/17 - for a case like 
+*	define att v.att = {1, 2, 3, 4, 5}
+*	load v.att[i=3:5]
+* the allocated memory will not be large enough to accommodate the full array
+* of attribute values, so we need to allocate a work array
+! since other calls are ignoring return status, we will, too ...
+	         n8 = attlen
+	         CALL CREATE_DYN_WRKSPC( n8, wk_buff, status )
+	         CALL ATTRIB_VALS (workmem(wk_buff)%ptr, size, n, dset, 
      .                varid, varname, attname, status)
      
-                 indx = 1
+* ... left-shift the results to start a context low limit
+                 indx = 0
                  DO 800 i = i1, i2
-                    memory(indx, mr_blk1(mr)) = memory(i,mr_blk1(mr))
                     indx = indx + 1
+                    memry(mr)%ptr(indx) = workmem(wk_buff)%ptr(i)
 800              CONTINUE
-                    
+
+	         CALL FREE_WS_DYNMEM( wk_buff )
 
 	      ENDIF
 	      IF ( status .NE. ferr_ok ) GOTO 5000
diff --git a/fer/stk/is_auxvar_regrid.F b/fer/stk/is_auxvar_regrid.F
index 04e7652..bc05d57 100644
--- a/fer/stk/is_auxvar_regrid.F
+++ b/fer/stk/is_auxvar_regrid.F
@@ -1,4 +1,4 @@
-	SUBROUTINE IS_AUXVAR_REGRID( memory, *, *, status )
+	SUBROUTINE IS_AUXVAR_REGRID(  *, *, status )
 
 *  This software was developed by the Thermal Modeling and Analysis
 *  Project(TMAP) of the National Oceanographic and Atmospheric
@@ -67,7 +67,6 @@
 
 * calling argument declarations:
 	INTEGER	status
-	REAL	memory( mem_blk_size, max_mem_blks )
 * normal exit is for error conditions
 * exit #1 is to signal completion of the activity at this stack level
 
@@ -219,9 +218,9 @@
 
 * create the context for the source data needed to perform the regrid
               CALL AUX_REGRID_LIMS( lo_cx, hi_cx, axis_list, naxis,
-     .                memory( 1, mr_blk1(mr1) ), mr1, cx1,
-     .                memory( 1, mr_blk1(mr2) ), mr2, cx2,
-     .                memory( 1, mr_blk1(mr3) ), mr3, cx3,
+     .                memry(mr1)%ptr, mr1, cx1,
+     .                memry(mr2)%ptr, mr2, cx2,
+     .                memry(mr3)%ptr, mr3, cx3,
      .                status )
               IF (status .NE. ferr_ok) GOTO 5000
 	   ENDIF
@@ -358,9 +357,7 @@
 	   is_mr( lo_isp ) = dst_mr
 
 * auxiliary regridding often creates ragged edges, so pre-fill with missing values
-           CALL FILL_MEMORY ( memory, mr_blk1 (dst_mr),
-     .                        mr_nblks(dst_mr),
-     .                        mr_bad_data(dst_mr) )
+           CALL FILL_MEMORY ( dst_mr, mr_bad_data(dst_mr) )
 
 * diagnostic message ?
 	   IF (mode_diagnostic) THEN
@@ -372,12 +369,12 @@
 	   aux_mr_list(5) = dst_mr
            CALL NON_ARRAY_SUBSC( aux_mr_list, 5 )    ! 5 arguments to pass
 
-	   CALL DO_AUX_VAR_REGRID( memory, axis_list, naxis, aux_has_cell_pts,
-     .	   		memory(1,mr_blk1(src_mr )), src_mr,  src_cx,
-     .			memory(1,mr_blk1(dst_mr )), dst_mr,  dst_cx,
-     .			memory(1,mr_blk1(mr1)), mr1, cx1,
-     .			memory(1,mr_blk1(mr2)), mr2, cx2,
-     .			memory(1,mr_blk1(mr3)), mr3, cx3,
+	   CALL DO_AUX_VAR_REGRID(  axis_list, naxis, aux_has_cell_pts,
+     .	   		memry(src_mr )%ptr, src_mr,  src_cx,
+     .			memry(dst_mr )%ptr, dst_mr,  dst_cx,
+     .			memry(mr1)%ptr, mr1, cx1,
+     .			memry(mr2)%ptr, mr2, cx2,
+     .			memry(mr3)%ptr, mr3, cx3,
      .			status )
 
 	   IF (status .NE. ferr_ok) GOTO 5000
diff --git a/fer/stk/is_const_var.F b/fer/stk/is_const_var.F
index 258830d..4940aed 100644
--- a/fer/stk/is_const_var.F
+++ b/fer/stk/is_const_var.F
@@ -1,4 +1,4 @@
-	SUBROUTINE IS_CONST_VAR( memory, *, *, status )
+	SUBROUTINE IS_CONST_VAR(  *, *, status )
 
 * create a constant valued array  "variable" in memory
 
@@ -21,7 +21,6 @@
 
 * calling argument declarations:
 	INTEGER	status
-	REAL	memory( mem_blk_size, max_mem_blks )
 
 * internal variable declarations:
 	INTEGER	CGRID_SIZE,
@@ -57,7 +56,7 @@
      .	.OR. INDEX(uvar_text(uvar)(start:end), "_SQ_") .GT. 0 ) THEN
 * ... set up FORTRAN-independent pointer
 	   CALL INIT_C_STRING_ARRAY( size,
-     .				     memory(1,mr_blk1(mr)),
+     .				     memry(mr)%ptr,
      .				     mr_c_pointer(mr)      )
 
 * ... array of strings
@@ -71,7 +70,7 @@
 * ... array of numbers
 ! ... as-of 12/98 limited to one block max array lentgh
 	   CALL PARSE_NUMBER_LIST(uvar_text(uvar)(start:end),
-     .			          memory( 1, mr_blk1(mr)),
+     .			          memry(mr)%ptr,
      .			          size,
      .			          n,
      .			          status)
diff --git a/fer/stk/is_constant.F b/fer/stk/is_constant.F
index 7abd025..feb2c14 100644
--- a/fer/stk/is_constant.F
+++ b/fer/stk/is_constant.F
@@ -1,4 +1,4 @@
-	SUBROUTINE IS_CONSTANT( memory, *, status )
+	SUBROUTINE IS_CONSTANT(  *, status )
 
 *
 *
@@ -59,7 +59,6 @@
 
 * calling argument declarations:
 	INTEGER	status
-	REAL	memory( mem_blk_size, max_mem_blks )
 
 * internal variable declarations:
 	INTEGER	mr, cx
@@ -81,7 +80,7 @@
 	IF (mode_diagnostic) CALL DIAGNOSTIC_OUT('constan',mr,point_to_mr)
 
 * insert the constant
-	memory( 1, mr_blk1(mr) ) = cx_value(cx)
+	memry(mr)%ptr(1) = cx_value(cx)
 
 * set the bad data flag to an unusual number
 	mr_bad_data( mr ) = -2.1E34
diff --git a/fer/stk/is_counter_var.F b/fer/stk/is_counter_var.F
index 07380fc..274bbd3 100644
--- a/fer/stk/is_counter_var.F
+++ b/fer/stk/is_counter_var.F
@@ -1,4 +1,4 @@
-	SUBROUTINE IS_COUNTER_VAR( var, memory, *, status )
+	SUBROUTINE IS_COUNTER_VAR( var,  *, status )
 *
 *
 *  This software was developed by the Thermal Modeling and Analysis
@@ -55,7 +55,6 @@
 
 * calling argument declarations:
 	INTEGER	var, status
-	REAL	memory( mem_blk_size, max_mem_blks )
 
 * internal variable declarations:
 	INTEGER	mr, cx, csp1, idim
@@ -99,7 +98,7 @@
 	IF (mode_diagnostic) CALL DIAGNOSTIC_OUT('constan',mr,point_to_mr)
 
 * insert the constant
-	memory( 1, mr_blk1(mr) ) = counter_const
+	memry(mr)%ptr(1) = counter_const
 
 * set context data
 	cx_bad_data( cx ) = bad_val4
diff --git a/fer/stk/is_dependencies.F b/fer/stk/is_dependencies.F
index 44291db..5b8b287 100644
--- a/fer/stk/is_dependencies.F
+++ b/fer/stk/is_dependencies.F
@@ -49,6 +49,7 @@
 *       later same month: tweak the repair to fix bug #2225
 *	and always report TWO (or more) dependency lines when regridding occurs
 * V695+ 2/15 *sh* - report target of regrid even if auxvar is involved 
+* V720  3/17 *acm*  clean up long commented-out code referring to aggregations 
 
 * calling argument declarations:
 	INTEGER	status
@@ -323,22 +324,6 @@
 	   cx_stack_ptr = cx_stack_ptr - 1
 	   GOTO 100
 	ENDIF
-
-* more aggregate variable support
-!* grid for this aggregate dataset is not known.  Back to get_uvar_grid and call
-!* is_aggregate_grid to get it
-!* ... repeat this phase again when we get back
-! 990	is_phase(isp) = is_phase(isp) - 1
-!* load the new variable info onto the IS stack
-!	CALL PUSH_INTERP_STACK( isp, status )
-!	IF ( status .NE. ferr_ok ) RETURN
-!c	is_sum( isp ) = isalg_merge_n
-!
-!	is_cx   ( isp ) = hi_cx
-!	is_uvar ( isp ) = cx_variable( hi_cx )
-!	is_act  ( isp ) = isact_get_agg_grid	! get aggregate grid on return.
-!
-!	RETURN 1
 	
 * clean up: release context and isp stack space
  1000	CONTINUE
diff --git a/fer/stk/is_do_gc_fcn.F b/fer/stk/is_do_gc_fcn.F
index 16df672..09235bf 100644
--- a/fer/stk/is_do_gc_fcn.F
+++ b/fer/stk/is_do_gc_fcn.F
@@ -1,5 +1,5 @@
 	SUBROUTINE IS_DO_GC_FCN
-     .			( memory, uvar, alg_text, lo_isp, status )
+     .			(  uvar, alg_text, lo_isp, status )
 
 *  This software was developed by the Thermal Modeling and Analysis
 *  Project(TMAP) of the National Oceanographic and Atmospheric
@@ -61,6 +61,11 @@
 * V694  *acm* 1214 Fixing ticket 2220: varname.attname in a function argument
 * V710 *acm* 10/16 Ticket 2422: variables uvar_grid, uvar_data_type, uvar_aux_cat, 
 *                  uvar_aux_var to be replaced with calls to LIST routines in NCF_Util.c
+* V710 *acm*  4/17 Implement ability to run one of a family of functions based on 
+*                  arguments that indicate the coordinate directions to operate on,
+*                  e.g. DOT(VAR1,VAR2,2) to compute the inner product of the 
+*                  variables in the Y direction by running dot_y
+
 
         IMPLICIT NONE
 	include 'tmap_dims.parm'
@@ -78,21 +83,22 @@
 
 * calling arguments
 	INTEGER		uvar, lo_isp, status
-	REAL		memory( mem_blk_size, max_mem_blks )
 	CHARACTER*(*)	alg_text
 
 * local variables
 	LOGICAL	ITS_UN_CACHED, not_reusable, check_alt_fcn
-	INTEGER	GCF_FIND_FCN, GCF_NUM_ARGS, GCF_ARG_TYPE,
+	INTEGER	GCF_FIND_FCN, GCF_find_dir_fcn, GCF_NUM_ARGS, GCF_ARG_TYPE,
      .		MGRID_SIZE_DELTA, GCF_ARG_EVAL_ORDER, EFCN_GET_RTN_TYPE,
      .		ifcn, icom, iarg, num_com, mr, res_cx,
      .		mr1, mr2, mr3, mr4, mr5, mr6, mr7, mr8, mr9, impl_grid,
      .          typ1, typ2, typ3, typ4, typ5, typ6, typ7, typ8, typ9,
      .          typr, pdim1, pdim2, pdim3, pdim4, pdim5, pdim6, pdim7,
      .          pdim8, pdim9, pdimr, frame_bottom, com_cx, res_mr,
-     .          itype, arg_first_mismatch, slen, iset, igrid,
-     .          aux_cat(nferdims), aux_var(nferdims)
-        CHARACTER*40 TM_FMT, alt_name
+     .          itype, arg_first_mismatch, slen, iset, igrid, idim,
+     .          aux_cat(nferdims), aux_var(nferdims), 
+     .          idir_args(nferdims), idir_vals(nferdims), num_dirs, ival
+        CHARACTER*40 TM_FMT, GCF_NAME*40, alt_name
+	REAL	oneval
 
 * convenience equivalences
 	INTEGER	com(10), typ(9), pdim(9)
@@ -149,6 +155,15 @@
 	IF ( frame_bottom .LE. lo_isp ) CALL ERRMSG
      .		( ferr_syntax, status, 'RPN', *5000 )
 
+* point to the memory resident components
+* (if fewer than 9 components default extras to dummy)
+	DO icom = 1, num_com
+	   com(icom) = is_mr(frame_bottom+icom-1)
+	ENDDO
+	DO icom = num_com+1, 9
+	   com(icom) = dummy_mr
+	ENDDO
+
 * trap attempts to pass arguments of the wrong type (1/99)
 
         arg_first_mismatch = 0
@@ -202,7 +217,43 @@
  101	   CONTINUE
         ENDIF
 
-!* the merged context is already nearly complete
+
+* Does the function designate an alternate function depending on a 'direction' argument?
+* If so update alg_text and ifcn
+
+        has_uvar_dc = .FALSE.
+        IF ( ifcn .LE. GFCN_NUM_INTERNAL ) THEN
+
+	   CALL GCF_GET_ALT_FCN_DIR_ARG ( ifcn, idir_args )
+	   num_dirs = 0
+	   DO idim = 1, nferdims
+	      idir_vals(idim) = 0
+	   ENDDO
+
+* Collect the directions to use in determing the alt fcn. 
+* allow them to be out of dimension order.
+	   DO idim = 1, nferdims 
+	      IF (idir_args(idim) .GT. 0) THEN
+	         CALL RETURN_ONE_VAL (memry(com(idir_args(idim)))%ptr, oneval)
+	         ival = INT(oneval)
+		 IF (ival.GE.1 .AND. ival.LE.nferdims) THEN
+		    IF (idir_vals(ival) .NE. 0) GOTO 5300
+		    num_dirs = num_dirs + 1
+	            idir_vals(ival) = ival
+		 ELSE
+		    GOTO 5300  ! invalid value for a direction-setting arg
+		 ENDIF
+	      ENDIF
+	   ENDDO
+
+	   IF (num_dirs .GT. 0) THEN
+	      CALL GCF_SET_ALT_FCN_FOR_DIR (ifcn, idir_vals, num_dirs)
+	      IF (ifcn .EQ. unspecified_int4 ) GOTO 5400
+	      has_uvar_dc = .TRUE.
+	   ENDIF
+        ENDIF
+
+* the merged context is already nearly complete
 	res_cx = is_big_cx(lo_isp)
 
 * determine data type of result - and set pdimr and typr
@@ -260,7 +311,7 @@
         ENDIF
 
 * need to fill in those axes that the function "imposes"
-	CALL GCF_IMPOSE_RESULT_LIMS( ifcn, memory, is_mr(lo_isp+1),
+	CALL GCF_IMPOSE_RESULT_LIMS( ifcn,  is_mr(lo_isp+1),
      .			 is_cx(lo_isp+1), res_cx, status )
 	IF ( status .NE. ferr_ok ) GOTO 5000
         
@@ -272,17 +323,10 @@
 	mr_variable( res_mr ) = res_mr	! cat_temp_var vars point to themselves
 	IF (cx_type(res_cx) .EQ. ptype_string) THEN
 	   CALL INIT_C_STRING_ARRAY( MGRID_SIZE_DELTA(res_mr),
-     .                               memory(1, mr_blk1(res_mr)),
+     .                               memry(res_mr)%ptr,
      .                               mr_c_pointer(res_mr)      )
 	ENDIF
 
-* point to the memory resident components
-* (if fewer than 9 components default extras to dummy)
-	DO 300 icom = 1, num_com
- 300	com(icom) = is_mr(frame_bottom+icom-1)
-	DO 310 icom = num_com+1, 9
- 310	com(icom) = dummy_mr
-
 * set up 6D array limits as unsubscripted variables in COMMON
 	CALL NON_ARRAY_SUBSC( com, 10 )
 
@@ -290,39 +334,38 @@
 
 	IF (IFCN .LE. GFCN_NUM_INTERNAL) THEN
 
-	  CALL DO_INTERNAL_GC_FCN( memory,
+	  CALL DO_INTERNAL_GC_FCN( 
      .		ifcn, num_com, is_cx(frame_bottom),
-     .		memory(1, mr_blk1(mr1) ), mr1, pdim1, typ1,
-     .		memory(1, mr_blk1(mr2) ), mr2, pdim2, typ2,
-     .		memory(1, mr_blk1(mr3) ), mr3, pdim3, typ3,
-     .		memory(1, mr_blk1(mr4) ), mr4, pdim4, typ4,
-     .		memory(1, mr_blk1(mr5) ), mr5, pdim5, typ5,
-     .		memory(1, mr_blk1(mr6) ), mr6, pdim6, typ6,
-     .		memory(1, mr_blk1(mr7) ), mr7, pdim7, typ7,
-     .		memory(1, mr_blk1(mr8) ), mr8, pdim8, typ8,
-     .		memory(1, mr_blk1(mr9) ), mr9, pdim9, typ9,
-     .		memory(1, mr_blk1(res_mr)), res_mr, pdimr, typr,
+     .		memry(mr1)%ptr, mr1, pdim1, typ1,
+     .		memry(mr2)%ptr, mr2, pdim2, typ2,
+     .		memry(mr3)%ptr, mr3, pdim3, typ3,
+     .		memry(mr4)%ptr, mr4, pdim4, typ4,
+     .		memry(mr5)%ptr, mr5, pdim5, typ5,
+     .		memry(mr6)%ptr, mr6, pdim6, typ6,
+     .		memry(mr7)%ptr, mr7, pdim7, typ7,
+     .		memry(mr8)%ptr, mr8, pdim8, typ8,
+     .		memry(mr9)%ptr, mr9, pdim9, typ9,
+     .		memry(res_mr)%ptr, res_mr, pdimr, typr,
      .		res_cx, status )
-	  IF ( status .NE. ferr_ok ) GOTO 5100
 
 	ELSE 
 
-	  CALL DO_EXTERNAL_GC_FCN( memory,
+	  CALL DO_EXTERNAL_GC_FCN( 
      .			ifcn, num_com, com, is_cx(frame_bottom),
-     .			memory(1, mr_blk1(mr1) ), mr1,
-     .			memory(1, mr_blk1(mr2) ), mr2,
-     .			memory(1, mr_blk1(mr3) ), mr3,
-     .			memory(1, mr_blk1(mr4) ), mr4,
-     .			memory(1, mr_blk1(mr5) ), mr5,
-     .			memory(1, mr_blk1(mr6) ), mr6,
-     .			memory(1, mr_blk1(mr7) ), mr7,
-     .			memory(1, mr_blk1(mr8) ), mr8,
-     .			memory(1, mr_blk1(mr9) ), mr9,
-     .			memory(1, mr_blk1(res_mr)), res_mr,
+     .			memry(mr1)%ptr, mr1,
+     .			memry(mr2)%ptr, mr2,
+     .			memry(mr3)%ptr, mr3,
+     .			memry(mr4)%ptr, mr4,
+     .			memry(mr5)%ptr, mr5,
+     .			memry(mr6)%ptr, mr6,
+     .			memry(mr7)%ptr, mr7,
+     .			memry(mr8)%ptr, mr8,
+     .			memry(mr9)%ptr, mr9,
+     .			memry(res_mr)%ptr, res_mr,
      .			status )
 
-
 	ENDIF
+	IF ( status .NE. ferr_ok ) GOTO 5100
 
 * clean up 
  
@@ -359,6 +402,7 @@
 * save the result context at the cx level previously used by the 1st component
 	cx_stack_ptr = cx_stack_ptr + 1
 	CALL TRANSFER_CONTEXT( res_cx, cx_stack_ptr )
+
 	is_cx( isp ) = cx_stack_ptr
 
 	RETURN
@@ -375,5 +419,21 @@
 	CALL ERRMSG( ferr_invalid_command, status,
      .		'string/numeric data type mix-up. Argument '//
      .		alt_name(:slen)//' : '//risc_buff, *5000 )
+
+ 5300	CONTINUE
+* Invalid value for for direction
+        risc_buff = alg_text
+	CALL ERRMSG( ferr_invalid_command, status,
+     . 'Arguments for direction of function must not repeat and be between 1 and 6 '//
+     .  risc_buff, *5000 )
+
+
+ 5400	CONTINUE
+* Could not find alternative function for direction
+        risc_buff = alg_text
+	CALL ERRMSG( ferr_invalid_command, status,
+     .		'Could not find alternative function for directions given '//
+     .		risc_buff, *5000 )
+
 	END
 
diff --git a/fer/stk/is_do_op.F b/fer/stk/is_do_op.F
index 0275af1..6f86982 100644
--- a/fer/stk/is_do_op.F
+++ b/fer/stk/is_do_op.F
@@ -1,4 +1,4 @@
-	SUBROUTINE IS_DO_OP( memory, alg_type, alg_text, lo_isp, 
+	SUBROUTINE IS_DO_OP(  alg_type, alg_text, lo_isp, 
      ,                       ifv, status )
 
 *  This software was developed by the Thermal Modeling and Analysis
@@ -96,7 +96,6 @@
 * calling arguments
 	LOGICAL		ifv
 	INTEGER		alg_type, lo_isp, status
-	REAL		memory( mem_blk_size, max_mem_blks )
 	CHARACTER*(*)	alg_text
 
 * local variables
@@ -224,7 +223,7 @@
 * special HACK to support "a"+"b" (see MERGE_GRID)
 	IF ( mr_type(res_mr) .EQ. ptype_string ) THEN
            CALL INIT_C_STRING_ARRAY( MGRID_SIZE_DELTA(res_mr),
-     .                               memory(1, mr_blk1(res_mr)),
+     .                               memry(res_mr)%ptr,
      .                               mr_c_pointer(res_mr)      )
 	ENDIF
 
@@ -248,9 +247,7 @@
 
 	IF (.NOT.arg_types_matched ) THEN 
 * ... allow mix of float and string arguments (lets us use symbols as numbers)
-	    CALL FILL_MEMORY ( memory, mr_blk1 (res_mr),
-     .                       mr_nblks(res_mr),
-     .                       mr_bad_data(res_mr) )
+	    CALL FILL_MEMORY ( res_mr, mr_bad_data(res_mr) )
 
 	ELSEIF ( arg_type.EQ.ptype_string .AND. numerical_op ) THEN 
 * ... inappropriate use of string arguments
@@ -262,33 +259,33 @@
 	  IF (op_num .EQ. 1 ) THEN  ! "+"
 	    CALL STRING_CONCATENATE
      .		       ( is_cx(frame_bottom),
-     .			 memory(1, mr_blk1(mr1) ),   mr1,
-     .			 memory(1, mr_blk1(mr2) ),   mr2,
-     .			 memory(1, mr_blk1(res_mr)), res_mr )
+     .			 memry(mr1)%ptr,   mr1,
+     .			 memry(mr2)%ptr,   mr2,
+     .			 memry(res_mr)%ptr, res_mr )
 	  ELSEIF (op_num .GT. offset_logic_struc) THEN
 	    CALL STRING_CONDITIONAL
      .		       ( op_num-offset_logic_struc,
      .			 num_com, is_cx(frame_bottom),
-     .			 memory(1, mr_blk1(mr1) ),   mr1,
-     .			 memory(1, mr_blk1(mr2) ),   mr2,
-     .			 memory(1, mr_blk1(mr3) ),   mr3,
-     .			 memory(1, mr_blk1(res_mr)), res_mr )
+     .			 memry(mr1)%ptr,   mr1,
+     .			 memry(mr2)%ptr,   mr2,
+     .			 memry(mr3)%ptr,   mr3,
+     .			 memry(res_mr)%ptr, res_mr )
 	  ELSE  ! "EQ", "NE", "LT", ...
 	    CALL STRING_OPERATE
      .		       ( op_num, is_cx(frame_bottom),
-     .			 memory(1, mr_blk1(mr1) ),   mr1,
-     .			 memory(1, mr_blk1(mr2) ),   mr2,
-     .			 memory(1, mr_blk1(res_mr)), res_mr )
+     .			 memry(mr1)%ptr,   mr1,
+     .			 memry(mr2)%ptr,   mr2,
+     .			 memry(res_mr)%ptr, res_mr )
             cx_type(res_cx) = ptype_float
             mr_type(res_mr) = ptype_float
 	  ENDIF
 	ELSE
 	  CALL OPERATE ( op_num, num_com, ifv, is_cx(frame_bottom),
-     .			 memory(1, mr_blk1(mr1) ),   mr1,
-     .			 memory(1, mr_blk1(mr2) ),   mr2,
-     .			 memory(1, mr_blk1(mr3) ),   mr3,
-     .			 memory(1, mr_blk1(mr4) ),   mr4,
-     .			 memory(1, mr_blk1(res_mr)), res_mr )
+     .			 memry(mr1)%ptr,   mr1,
+     .			 memry(mr2)%ptr,   mr2,
+     .			 memry(mr3)%ptr,   mr3,
+     .			 memry(mr4)%ptr,   mr4,
+     .			 memry(res_mr)%ptr, res_mr )
 	ENDIF
 
 * clean up 
diff --git a/fer/stk/is_dummy.F b/fer/stk/is_dummy.F
index edd6362..790acb2 100644
--- a/fer/stk/is_dummy.F
+++ b/fer/stk/is_dummy.F
@@ -1,4 +1,4 @@
-	SUBROUTINE IS_DUMMY( memory, *, status )
+	SUBROUTINE IS_DUMMY(  *, status )
 
 *
 *
@@ -53,7 +53,6 @@
 
 * calling argument declarations:
 	INTEGER	status
-	REAL	memory( mem_blk_size, max_mem_blks )
 
 * internal variable declarations:
 	INTEGER	mr, cx
@@ -71,8 +70,7 @@
 	IF (mode_diagnostic) CALL DIAGNOSTIC_OUT('dummy',mr,point_to_mr)
 
 * insert a block of missing value flags
-	CALL FILL_MEMORY( memory, mr_blk1(mr),
-     .			  mr_nblks(mr), mr_bad_data(mr) )
+	CALL FILL_MEMORY( mr, mr_bad_data(mr) )
 
 	RETURN 1
 
diff --git a/fer/stk/is_gather.F b/fer/stk/is_gather.F
index 25e865e..2b3b7d6 100644
--- a/fer/stk/is_gather.F
+++ b/fer/stk/is_gather.F
@@ -1,4 +1,4 @@
-	SUBROUTINE IS_GATHER( memory, *, *, status )
+	SUBROUTINE IS_GATHER(  *, *, status )
 
 *
 *
@@ -56,7 +56,6 @@
 
 * calling argument declarations:
 	INTEGER	status
-	REAL	memory( mem_blk_size, max_mem_blks )
 * normal return is for error conditions
 * exit #1 is to request another grid ( stack has been pushed )
 * exit #2 is to signal completion of the activity at this stack level
@@ -100,8 +99,8 @@
 	ENDIF
 
 * copy data just received into the result
-	CALL COPY_INTO( memory(1,mr_blk1(com_mr)), com_mr, com_cx,
-     .			memory(1,mr_blk1(res_mr)), res_mr )
+	CALL COPY_INTO( memry(com_mr)%ptr, com_mr, com_cx,
+     .			memry(res_mr)%ptr, res_mr )
 
 * ... remove the component protection that signaled we needed it here
 	CALL MR_NOT_IN_USE( com_mr )
@@ -115,12 +114,7 @@
 	ENDIF
 
 * no - set up com_cx to get the next component grid
-	top = cx_hi_ss(com_cx,idim)
-	CALL TRANSFER_CONTEXT( dflt_cx, com_cx )
-	cx_lo_ss(com_cx,idim) = top + 1
-	cx_hi_ss(com_cx,idim) = MIN( top+frag, cx_hi_ss(dflt_cx,idim)	)
-	cx_by_ss(idim,com_cx) = .TRUE.
-	CALL FLESH_OUT_AXIS( idim, com_cx, status )
+	CALL DEFINE_NEXT_CHUNK_CX(idim, com_cx, dflt_cx, frag, status)
 	IF ( status .NE. ferr_ok ) GOTO 5000
 
 * push the interpretation stack and go get it
diff --git a/fer/stk/is_modulo.F b/fer/stk/is_modulo.F
index d9f38cc..49cedf3 100644
--- a/fer/stk/is_modulo.F
+++ b/fer/stk/is_modulo.F
@@ -1,4 +1,4 @@
-	SUBROUTINE IS_MODULO( memory, *, *, status )
+	SUBROUTINE IS_MODULO(  *, *, status )
 
 *  This software was developed by the Thermal Modeling and Analysis
 *  Project(TMAP) of the National Oceanographic and Atmospheric
@@ -64,7 +64,6 @@
 
 * calling argument declarations:
 	INTEGER	status
-	REAL	memory( mem_blk_size, max_mem_blks )
 * normal return is for error conditions
 * exit #1 is to request another grid ( stack has been pushed )
 * exit #2 is to signal completion of the activity at this stack level
@@ -153,7 +152,7 @@
 
 	   IF ( mr_type(res_mr) .EQ. ptype_string ) THEN
 	      CALL INIT_C_STRING_ARRAY( MGRID_SIZE_DELTA(res_mr),
-     .                               memory(1, mr_blk1(res_mr)),
+     .                               memry(res_mr)%ptr,
      .                               mr_c_pointer(res_mr)      )
 	      CALL SET_NULL_C_STRING_ARRAY(mr_c_pointer(res_mr),
      .                                     MGRID_SIZE_DELTA(res_mr) )
@@ -162,8 +161,7 @@
 * 11/95: if there might be voids in the result pre-fill with missing data flags
 	   IF ( CX_DIM_LEN(idim,com_cx) .LT. npts
      .	  .AND. mr_type(res_mr) .EQ. ptype_float  ) CALL FILL_MEMORY
-     .				( memory,mr_blk1(res_mr),mr_nblks(res_mr),
-     .                            mr_bad_data(res_mr) )
+     .				( res_mr, mr_bad_data(res_mr) )
 
 	   ENDIF
 
@@ -182,15 +180,17 @@
 * range(s) of the result.  For this purpose dual memory table entries are
 * created that will describe the component data.  The dual version will be
 * deleted before exiting this routine.
-	CALL FIND_MR_SLOT( com_cx, tmp_mr, status )
+! (could probably factor this code into CREATE_PERMUTATION for cleanup)
+	CALL FIND_MR_SLOT( tmp_mr, status )
 	IF ( status .NE. ferr_ok ) GOTO 5910
+	CALL HOOK_MR_SLOT( com_cx, tmp_mr )     ! 1/17 was inside FIND_MR_SLOT
 	CALL ASSIGN_MR_CX( com_cx, tmp_mr )     ! affects diag output, only
 	DO 100 i = 1, nferdims
 	   mr_lo_ss(tmp_mr,i) = mr_lo_ss(com_mr,i)
 	   mr_hi_ss(tmp_mr,i) = mr_hi_ss(com_mr,i)
  100	CONTINUE
-	mr_blk1 (tmp_mr) = mr_blk1 (com_mr)    ! just for good house-keeping
-	mr_nblks(tmp_mr) = mr_nblks(com_mr)    ! just for good house-keeping
+	mr_size(tmp_mr)   =  mr_size(com_mr)
+	memry(tmp_mr)%ptr => memry(com_mr)%ptr 
 	mr_protected(tmp_mr) = mr_table_entry_only
 
 * * * * *
@@ -205,7 +205,7 @@
 	   lo_parity = MODULO_PARITY(res_lo, npts, idel)
 	   res_hi = MIN(res_lo+(((npts-lo_parity)/idel)*idel),
      .		        cx_hi_ss(res_cx,idim))
-	   CALL SHORT_MOD_COPY( memory,
+	   CALL SHORT_MOD_COPY( 
      .				res_lo, res_hi, idim,
      .				com_cx, tmp_mr, res_cx, res_mr)
  300	CONTINUE
diff --git a/fer/stk/is_pseudo.F b/fer/stk/is_pseudo.F
index e9529fa..11a7e93 100644
--- a/fer/stk/is_pseudo.F
+++ b/fer/stk/is_pseudo.F
@@ -1,4 +1,4 @@
-	SUBROUTINE IS_PSEUDO( memory, *, status )
+	SUBROUTINE IS_PSEUDO(  *, status )
 
 *
 *
@@ -48,6 +48,7 @@
 * V312: 5/94 - array "memory" as a calling argument
 *       *acm* 3/12 6D Ferret (common uses nferdims in tmap_dims.parm)
 *       *acm* 4/12 Add new MODE FOURDEE to allow E,F,M,N,etc as user-vars
+*       *sh*  2/17 pre-check for 99999999 in order to issue nicer error message
 
 	include	'tmap_dims.parm'
 	include	'ferret.parm'
@@ -60,10 +61,9 @@
 
 * calling argument declarations:
 	INTEGER	status
-	REAL	memory( mem_blk_size, max_mem_blks )
 
 * internal variable declarations:
-	INTEGER	mr, cx, idim
+	INTEGER	CX_DIM_LEN, mr, cx, idim, pvlen
 
 * --- end of introductory code ---
 * initialize
@@ -74,6 +74,13 @@
 * is no regridding)
 	cx_unstand_grid( cx ) = .FALSE.
 
+* Get the direction of the pseudo-variable.
+	idim = MOD( cx_variable(cx)-1, nferdims ) + 1
+
+* pre-check to make sure limits were given
+	pvlen = CX_DIM_LEN(idim, cx)
+	IF (pvlen .EQ. 99999999) GOTO 5100
+
 * reserve and catalog space for the result
 	CALL CREATE_TEMP_MEM_VAR( cx, mr, status )
 	IF ( status .NE. ferr_ok ) GOTO 5000
@@ -84,15 +91,16 @@
 
 * fill the space with the desired data
 
-* Get the direction of the pseudo-variable.
-
-	idim = MOD( cx_variable(cx)-1, nferdims ) + 1
 
-	CALL MAKE_PSEUDO_VAR( cx, idim, memory(1, mr_blk1(mr)), mr,
+	CALL MAKE_PSEUDO_VAR( cx, idim, memry(mr)%ptr, mr,
      .			      mr_lo_ss(mr,idim), mr_hi_ss(mr,idim) )
 
 	RETURN 1
 
 * error exit
  5000	RETURN
+
+ 5100	CALL ERRMSG(ferr_limits,status,
+     .         "Limits must be provided for pseudo-variable.", *5000)
+     .		
 	END	
diff --git a/fer/stk/is_read.F b/fer/stk/is_read.F
index b43d8fb..94fe120 100644
--- a/fer/stk/is_read.F
+++ b/fer/stk/is_read.F
@@ -1,4 +1,4 @@
-	SUBROUTINE IS_READ ( memory, *, *, status )
+	SUBROUTINE IS_READ (  *, *, status )
 
 *
 *
@@ -64,7 +64,6 @@
 
 * calling argument declarations:
 	INTEGER	status
-	REAL	memory(*)
 * normal exit is for error conditions
 * exit #1 is to request another grid ( stack has been pushed )
 * exit #2 is to signal completion of the activity at this stack level
@@ -118,17 +117,17 @@
 	IF ( ds_type( dset_num ) .EQ. pds_type_ez ) THEN
 * all stream formatted files now read with new fast binary reads
 	   IF ( ds_parm_text(1,dset_num)(:3) .eq. 'STR') THEN
-	      CALL READ_BINARY( memory, cx, is_mr(isp), status)
+	      CALL READ_BINARY(  cx, is_mr(isp), status)
 	   ELSEIF ( ds_parm_text(1,dset_num)(:4) .eq. 'DELI') THEN
-	      CALL READ_DELIMITED( memory, cx, is_mr(isp), status)
+	      CALL READ_DELIMITED(  cx, is_mr(isp), status)
 	   ELSEIF ( ds_parm_text(1,dset_num)(:4) .eq. 'PERL') THEN
-	      CALL READ_PERL( memory, cx, is_mr(isp), status)
+	      CALL READ_PERL(  cx, is_mr(isp), status)
 	   ELSE
-	      CALL READ_EZ( memory, cx, is_mr(isp), status )
+	      CALL READ_EZ(  cx, is_mr(isp), status )
 	   ENDIF
 	   IF ( status .EQ. ferr_ok ) GOTO 2
 	ELSE
-	   CALL READ_TM( memory, cx, is_mr(isp), status )
+	   CALL READ_TM(  cx, is_mr(isp), status )
 	   IF ( status .EQ. ferr_ok ) GOTO 2
 	ENDIF
 
diff --git a/fer/stk/is_read_remote.F b/fer/stk/is_read_remote.F
index a2a8db6..e48c27c 100644
--- a/fer/stk/is_read_remote.F
+++ b/fer/stk/is_read_remote.F
@@ -1,4 +1,4 @@
-	SUBROUTINE IS_READ_REMOTE ( memory, *, *, status )
+	SUBROUTINE IS_READ_REMOTE (  *, *, status )
 
 *
 *
@@ -44,7 +44,6 @@
 
 * calling argument declarations:
 	INTEGER	status
-	REAL	memory(*)
 	REAL	baddat
 
 * normal exit is for error conditions
@@ -72,7 +71,7 @@
 	cat = cx_category(cx)
 	cx_category(cx) = cat_user_var
 
-	CALL READ_REMOTE(memory, baddat, cx, is_mr(isp), status )
+	CALL READ_REMOTE( baddat, cx, is_mr(isp), status )
         IF ( status .EQ. ferr_ok ) GOTO 2
 
 * error exit
diff --git a/fer/stk/is_reconcile.F b/fer/stk/is_reconcile.F
index 243ce33..684863f 100644
--- a/fer/stk/is_reconcile.F
+++ b/fer/stk/is_reconcile.F
@@ -1,4 +1,4 @@
-	SUBROUTINE IS_RECONCILE( memory, *, *, status )
+	SUBROUTINE IS_RECONCILE(  *, *, status )
 
 *
 *
@@ -57,7 +57,6 @@
 
 * calling argument declarations:
 	INTEGER	status
-	REAL	memory( mem_blk_size, max_mem_blks )
 * normal return is for error conditions
 * exit #1 is to request another grid ( stack has been pushed )
 * exit #2 is to signal completion of the activity at this stack level
diff --git a/fer/stk/is_regrid.F b/fer/stk/is_regrid.F
index ce6b589..7df7442 100644
--- a/fer/stk/is_regrid.F
+++ b/fer/stk/is_regrid.F
@@ -1,4 +1,4 @@
-	SUBROUTINE IS_REGRID( memory, *, status )
+	SUBROUTINE IS_REGRID(  *, status )
 
 *  This software was developed by the Thermal Modeling and Analysis
 *  Project(TMAP) of the National Oceanographic and Atmospheric
@@ -88,6 +88,8 @@
 * V696 *acm* 11/15 Added @BIN and @NBIN regridding transforms
 * V698 *acm*  3/16 Ticket 2278: add an attribute with time range when
 *                  saving a modulo-regridded variable to netCDF
+* V702 3/17 *sh* for trac enhancement #2369 -- dynamic memory management 
+* V720: 6/17 *acm* Ticket 2346: new @IIN regridding transform
 
 	include 'tmap_dims.parm'
 	include	'ferret.parm'
@@ -100,7 +102,6 @@
 
 * calling argument declarations:
 	INTEGER	status
-	REAL	memory( mem_blk_size, max_mem_blks )
 * normal exit is for error conditions
 * exit #1 is to signal completion of the activity at this stack level
 
@@ -111,7 +112,8 @@
 	INTEGER hi_isp, lo_isp, axis, cx_valid, idim,
      .		rgrd_trans, mrlist(5), wk_size, wk_size2,
      .		dst_cx, src_cx, dst_mr, src_mr, ngd_mr, ave_mr,
-     .		blk1, axis_list(nferdims), naxis, i, nbd_mr, nxsrc
+     .		axis_list(nferdims), naxis, i, nbd_mr, nxsrc
+	INTEGER*8 i8_size
 	CHARACTER dtype*4
 
 *        ... interpretation stack setup at the time this is called ...
@@ -228,7 +230,7 @@ c     .    .AND. cx_has_impl_grid(dst_cx)
 	ENDIF
 
 * create a space for the new result possibly with the edges flagged as bad
-	CALL NEW_MR_W_EDGES( memory, cx_valid, dst_cx, dst_mr, status )
+	CALL NEW_MR_W_EDGES(  cx_valid, dst_cx, dst_mr, status )
 	IF ( status .NE. ferr_ok ) GOTO 5000
 	is_mr( lo_isp ) = dst_mr
 
@@ -251,52 +253,54 @@ c     .    .AND. cx_has_impl_grid(dst_cx)
 
 * reserve working array space
 	IF ( rgrd_trans .EQ. prgrd_xy_ave) THEN
-	   CALL GET_WORK_SPC( wk_size+wk_size2, blk1, status )
+	   i8_size = wk_size+wk_size2
 	ELSEIF (rgrd_trans .EQ. prgrd_xy_lin) THEN
 	   nxsrc = cx_hi_ss(src_cx,x_dim)-cx_lo_ss(src_cx,x_dim) + 1
-	   CALL GET_WORK_SPC( nxsrc*wk_size2+2*(wk_size+wk_size2), blk1, status )
+	   i8_size = nxsrc*wk_size2+2*(wk_size+wk_size2)
 	ELSE
-	   CALL GET_WORK_SPC( 2*wk_size, blk1, status )
+	   i8_size = 2*wk_size
 	ENDIF
+	CALL GET_DYN_WORK_SPACE( i8_size, status )
 	IF ( status .NE. ferr_ok ) GOTO 5000
 
 * do the regridding
 	IF ( done_by_strides ) THEN
-	   CALL COPY_GRID( memory(1,mr_blk1(src_mr)),  src_mr,
-     .			   memory(1,mr_blk1(dst_mr)),  dst_mr )
+	   CALL COPY_GRID( memry(src_mr)%ptr,  src_mr,
+     .			   memry(dst_mr)%ptr,  dst_mr )
 	ELSEIF ( rgrd_trans .EQ. prgrd_linear_interp ) THEN
 	   IF ( itsa_string ) GOTO 5010
 	   CALL DO_LIN_REGRID( cx_valid, axis,
-     .			memory(1,mr_blk1(src_mr)), src_mr,
-     .			memory(1,mr_blk1(dst_mr)), dst_mr,
-     .			memory(1, blk1), wk_size+1, 2*wk_size )
+     .			memry(src_mr)%ptr, src_mr,
+     .			memry(dst_mr)%ptr, dst_mr,
+     .			workmem(plegacy_work_buffer)%ptr,
+     .			wk_size+1, 2*wk_size )
 	ELSEIF ( rgrd_trans .EQ. prgrd_associate ) THEN
 	   CALL DO_ASN_REGRID( cx_valid, axis,
-     .			memory(1,mr_blk1(src_mr)), src_mr,
-     .			memory(1,mr_blk1(dst_mr)), dst_mr )
+     .			memry(src_mr)%ptr, src_mr,
+     .			memry(dst_mr)%ptr, dst_mr )
 	ELSEIF ( rgrd_trans .EQ. prgrd_average
      .	 .OR.    rgrd_trans .EQ. prgrd_variance
      .	 .OR.    rgrd_trans .EQ. prgrd_sum
      .	 .OR.    rgrd_trans .EQ. prgrd_good_pt ) THEN
 	   IF ( itsa_string ) GOTO 5010
 	   CALL DO_AVE_REGRID( cx_valid, axis, rgrd_trans,
-     .			memory(1,mr_blk1(src_mr)), src_mr,
-     .			memory(1,mr_blk1(dst_mr)), dst_mr,
-     .			memory(1, blk1), src_cx, dst_cx,
+     .			memry(src_mr)%ptr, src_mr,
+     .			memry(dst_mr)%ptr, dst_mr,
+     .			workmem(plegacy_work_buffer)%ptr, src_cx, dst_cx,
      .                  wk_size+1 )
 	ELSEIF ( rgrd_trans .EQ. prgrd_xy_ave ) THEN
 	   IF ( itsa_string ) GOTO 5010
 	   CALL DO_XYAVE_REGRID( cx_valid,
-     .			memory(1,mr_blk1(src_mr)), src_mr,
-     .			memory(1,mr_blk1(dst_mr)), dst_mr,
-     .			memory(1, blk1), src_cx, dst_cx,
+     .			memry(src_mr)%ptr, src_mr,
+     .			memry(dst_mr)%ptr, dst_mr,
+     .			workmem(plegacy_work_buffer)%ptr, src_cx, dst_cx,
      .                  wk_size+1, wk_size+wk_size2 )
 	ELSEIF ( rgrd_trans .EQ. prgrd_xy_lin ) THEN
 	   IF ( itsa_string ) GOTO 5010
 	   CALL DO_XYLIN_REGRID( cx_valid,
-     .			memory(1,mr_blk1(src_mr)), src_mr,
-     .			memory(1,mr_blk1(dst_mr)), dst_mr,
-     .			memory(1, blk1), src_cx, dst_cx,
+     .			memry(src_mr)%ptr, src_mr,
+     .			memry(dst_mr)%ptr, dst_mr,
+     .			workmem(plegacy_work_buffer)%ptr, src_cx, dst_cx,
      .                  wk_size+1, 2*wk_size+1, 
      .                  2*wk_size+wk_size2+1, 2*(wk_size+wk_size2)+1, 
      .                  nxsrc*wk_size2+2*(wk_size+wk_size2) )
@@ -304,26 +308,37 @@ c     .    .AND. cx_has_impl_grid(dst_cx)
      .	   .OR. rgrd_trans.EQ.prgrd_max ) THEN
 	   IF ( itsa_string ) GOTO 5010
 	   CALL DO_WINDOW_REGRID( cx_valid, axis, rgrd_trans,
-     .			memory(1,mr_blk1(src_mr)), src_mr,
-     .			memory(1,mr_blk1(dst_mr)), dst_mr,
-     .			memory(1, blk1), wk_size+1)
+     .			memry(src_mr)%ptr, src_mr,
+     .			memry(dst_mr)%ptr, dst_mr,
+     .			workmem(plegacy_work_buffer)%ptr, wk_size+1)
 	ELSEIF ( rgrd_trans .EQ. prgrd_xact_pts ) THEN
 	   CALL DO_XACT_REGRID( cx_valid, axis,
-     .			memory(1,mr_blk1(src_mr)), src_mr,
-     .			memory(1,mr_blk1(dst_mr)), dst_mr,
-     .			memory(1, blk1), wk_size+1, 2*wk_size )
+     .			memry(src_mr)%ptr, src_mr,
+     .			memry(dst_mr)%ptr, dst_mr,
+     .			workmem(plegacy_work_buffer)%ptr, wk_size+1,
+     .			2*wk_size )
 	ELSEIF ( rgrd_trans .EQ. prgrd_nearest ) THEN
 	   CALL DO_NEAREST_REGRID( cx_valid, axis,
-     .			memory(1,mr_blk1(src_mr)), src_mr,
-     .			memory(1,mr_blk1(dst_mr)), dst_mr,
-     .			memory(1, blk1), wk_size+1, 2*wk_size )
+     .			memry(src_mr)%ptr, src_mr,
+     .			memry(dst_mr)%ptr, dst_mr,
+     .			workmem(plegacy_work_buffer)%ptr, wk_size+1,
+     .			2*wk_size )
 	ELSEIF ( rgrd_trans .EQ. prgrd_bin
      .	 .OR.    rgrd_trans .EQ. prgrd_nbin ) THEN
 	   CALL DO_BIN_REGRID( cx_valid, axis, rgrd_trans,
-     .			memory(1,mr_blk1(src_mr)), src_mr,
-     .			memory(1,mr_blk1(dst_mr)), dst_mr,
-     .			memory(1, blk1), src_cx, dst_cx,
+     .			memry(src_mr)%ptr, src_mr,
+     .			memry(dst_mr)%ptr, dst_mr,
+     .			workmem(plegacy_work_buffer)%ptr, src_cx, dst_cx,
      .                  wk_size+1 )
+
+	ELSEIF ( rgrd_trans .EQ. prgrd_iin ) THEN
+	   CALL DO_IIN_REGRID( cx_valid, axis,
+     .			memry(src_mr)%ptr, src_mr,
+     .			memry(dst_mr)%ptr, dst_mr,
+     .			workmem(plegacy_work_buffer)%ptr, wk_size+1, status )
+     
+	   IF ( status .NE. ferr_ok ) GOTO 5100
+
 * modulo regridding
 	ELSE
 	   IF ( itsa_string ) GOTO 5010
@@ -337,15 +352,15 @@ c     .    .AND. cx_has_impl_grid(dst_cx)
 	   ave_mr = dummy_mr	! component 3 default
 
 	   CALL CREATE_TEMP_MEM_VAR(cx_valid,ngd_mr,status)
-	   IF ( status .NE. ferr_ok ) GOTO 5200
+	   IF ( status .NE. ferr_ok ) GOTO 5100
 	   mr_regrid_trans ( axis, ngd_mr ) =  prgrd_modngd
 
 	   CALL CREATE_TEMP_MEM_VAR(cx_valid,nbd_mr,status)
-	   IF ( status .NE. ferr_ok ) GOTO 5300
+	   IF ( status .NE. ferr_ok ) GOTO 5100
 	   mr_regrid_trans ( axis, nbd_mr ) =  prgrd_modnbd
 
 	   IF ( rgrd_trans .EQ. prgrd_modvar ) THEN
-	      CALL NEW_MR_W_EDGES(memory,cx_valid,dst_cx,ave_mr,status)
+	      CALL NEW_MR_W_EDGES(cx_valid,dst_cx,ave_mr,status)
 	      IF ( status .NE. ferr_ok ) GOTO 5100
 !	      mr_regrid_trans ( axis, ave_mr ) = prgrd_modulo	! bookkeeping
 	   ENDIF
@@ -356,11 +371,11 @@ c     .    .AND. cx_has_impl_grid(dst_cx)
 	   mrlist(5) = ave_mr
 	   CALL NON_ARRAY_SUBSC( mrlist, 5 )
 	   CALL MODULO_REGRID( cx_valid, axis, rgrd_trans,
-     .			memory(1,mr_blk1(src_mr)), src_mr,
-     .			memory(1,mr_blk1(dst_mr)), dst_mr,
-     .			memory(1,mr_blk1(ngd_mr)), ngd_mr,
-     .			memory(1,mr_blk1(nbd_mr)), nbd_mr,
-     .			memory(1,mr_blk1(ave_mr)), ave_mr )
+     .			memry(src_mr)%ptr, src_mr,
+     .			memry(dst_mr)%ptr, dst_mr,
+     .			memry(ngd_mr)%ptr, ngd_mr,
+     .			memry(nbd_mr)%ptr, nbd_mr,
+     .			memry(ave_mr)%ptr, ave_mr )
 
 * ... For modulo regrid in time, add an attribute listing the source dates
 
@@ -374,7 +389,7 @@ c     .    .AND. cx_has_impl_grid(dst_cx)
 	   ENDIF
 
 	ENDIF
-	CALL RELEASE_WORK_SPC
+        CALL  RELEASE_DYN_WORK_SPACE
 
 * indicate we are done with the component
  1000   CALL MR_NOT_IN_USE( src_mr )
@@ -397,9 +412,7 @@ c     .    .AND. cx_has_impl_grid(dst_cx)
  5010	CALL ERRMSG( ferr_invalid_command, status,
      .		'cant use this regrid transform on strings: @'
      .		//alg_regrid_code(rgrd_trans), *5000)
- 5100	CALL DELETE_VARIABLE( dst_mr )
- 5200	CALL DELETE_VARIABLE( ngd_mr )
- 5300	CALL DELETE_VARIABLE( nbd_mr )
+ 5100	CALL DELETE_MRS_IN_PROGRESS
 	GOTO 5000
 	END	
 
diff --git a/fer/stk/is_reverse.F b/fer/stk/is_reverse.F
index 2931f95..6cd1530 100644
--- a/fer/stk/is_reverse.F
+++ b/fer/stk/is_reverse.F
@@ -1,4 +1,4 @@
-	SUBROUTINE IS_REVERSE( memory, *, *, status )
+	SUBROUTINE IS_REVERSE(  *, *, status )
 
 *  This software was developed by the Thermal Modeling and Analysis
 *  Project(TMAP) of the National Oceanographic and Atmospheric
@@ -63,7 +63,6 @@
 
 * calling argument declarations:
 	INTEGER	status
-	REAL	memory( mem_blk_size, max_mem_blks )
 * normal return is for error conditions
 * exit #1 is to request another grid ( stack has been pushed )
 * exit #2 is to signal completion of the activity at this stack level
@@ -159,13 +158,13 @@
 
 * copy the source data into the result
 	CALL COPY_INTO(
-     .    memory( 1, mr_blk1(com_mr) ), com_mr, com_cx,
-     .    memory( 1, mr_blk1(res_mr) ), res_mr   )
+     .    memry(com_mr)%ptr, com_mr, com_cx,
+     .    memry(res_mr)%ptr, res_mr   )
 
 * reverse the result along all of the required axes
 	DO 400 i = 1, nrev
 	   CALL REVERSE_GRID_AXIS
-     .		( reversed(i), res_cx, res_mr,memory(1, mr_blk1(res_mr)) )
+     .		( reversed(i), res_cx, res_mr,memry(res_mr)%ptr )
  400	CONTINUE
 
 * successful completion of modulo operation
diff --git a/fer/stk/is_sample.F b/fer/stk/is_sample.F
index 9124e88..ccdcf76 100644
--- a/fer/stk/is_sample.F
+++ b/fer/stk/is_sample.F
@@ -1,4 +1,4 @@
-	SUBROUTINE IS_SAMPLE( memory, *, *, status )
+	SUBROUTINE IS_SAMPLE(  *, *, status )
 
 *  This software was developed by the Thermal Modeling and Analysis
 *  Project(TMAP) of the National Oceanographic and Atmospheric
@@ -56,7 +56,6 @@
 
 * calling argument declarations:
 	INTEGER	status
-	REAL	memory( mem_blk_size, max_mem_blks )
 * normal return is for error conditions
 * exit #1 is to request another grid ( stack has been pushed )
 * exit #2 is to signal completion of the activity at this stack level
@@ -114,15 +113,13 @@
 * pre-fill output with missing flags, in case a missing index was given
 	      IF ( mr_type(hold_mr) .EQ. ptype_string ) THEN
 	        CALL INIT_C_STRING_ARRAY( MGRID_SIZE_DELTA(hold_mr),
-     .                                    memory(1, mr_blk1(hold_mr)),
+     .                                    memry(hold_mr)%ptr,
      .                                    mr_c_pointer(hold_mr)      )
 	        CALL SET_NULL_C_STRING_ARRAY(mr_c_pointer(hold_mr),
      .					     MGRID_SIZE_DELTA(hold_mr) )
 
 	      ELSE
-	        CALL FILL_MEMORY ( memory, mr_blk1 (hold_mr),
-     .				   mr_nblks(hold_mr),
-     .				   mr_bad_data(hold_mr) )
+	        CALL FILL_MEMORY ( hold_mr, mr_bad_data(hold_mr) )
 	      ENDIF
 
 	   ENDIF
@@ -132,7 +129,7 @@
 * the ADJUST_COPY_LIMITS routine will modify "phase" to use all available data
 	     n = phase
 	     CALL ADJUST_COPY_LIMITS(axis, chunk_mr,
-     .				     memory(1,mr_blk1(mr_sorted_indices)),
+     .				     memry(mr_sorted_indices)%ptr,
      .				     phase, nvalid )
 	     IF (phase .GT. n) THEN
 * ... apply the optimization
@@ -145,10 +142,10 @@
 
 * copy data just received into the result
 	     CALL COPY_INTO_MAPPED(
-     .			memory(1,mr_blk1(chunk_mr)), chunk_mr, chunk_cx,
-     .			memory(1,mr_blk1(mr_sorted_indices)),
-     .			memory(1,mr_blk1(mr_index_map)), phase, axis,
-     .			memory(1,mr_blk1(hold_mr)), hold_mr )
+     .			memry(chunk_mr)%ptr, chunk_mr, chunk_cx,
+     .			memry(mr_sorted_indices)%ptr,
+     .			memry(mr_index_map)%ptr, phase, axis,
+     .			memry(hold_mr)%ptr, hold_mr )
 
 * ... remove the component protection that signaled we needed it here
 	   ENDIF
@@ -193,7 +190,7 @@
 	   hi_cx_lim = cx_hi_ss(chunk_cx,axis)
 	ELSE
 	   is_phase(hold_isp) = DENSE_CONTIG_REGION(
-     .				memory(1,mr_blk1(mr_sorted_indices)), 
+     .				memry(mr_sorted_indices)%ptr, 
      .				phase+1, nvalid,
      .				mr_bad_data(mr_sorted_indices),
      .				lo_cx_lim, hi_cx_lim )
diff --git a/fer/stk/is_string.F b/fer/stk/is_string.F
index 346e532..526fd43 100644
--- a/fer/stk/is_string.F
+++ b/fer/stk/is_string.F
@@ -1,4 +1,4 @@
-	SUBROUTINE IS_STRING( memory, *, *, status )
+	SUBROUTINE IS_STRING(  *, *, status )
 
 * create a string  "variable" in memory
 
@@ -20,7 +20,6 @@
 
 * calling argument declarations:
 	INTEGER	status
-	REAL	memory( mem_blk_size, max_mem_blks )
 
 * internal variable declarations:
 	INTEGER	MGRID_SIZE, mr, cx, uvar, item, start, end
@@ -47,7 +46,7 @@
 
 * save the pointer array address in cx_c_pointer
 	CALL INIT_C_STRING_ARRAY( MGRID_SIZE(mr),
-     .				  memory(1,mr_blk1(mr)),
+     .				  memry(mr)%ptr,
      .				  mr_c_pointer(mr)      )
 
 * determine the string to be stored
diff --git a/fer/stk/is_strip.F b/fer/stk/is_strip.F
index 8d16227..1c73d74 100644
--- a/fer/stk/is_strip.F
+++ b/fer/stk/is_strip.F
@@ -76,8 +76,8 @@
 *		 alter agg setup to detect LET/D vars at eval time
 *      4/16 *sh* Allow that SET VAR/NAME= has altered the agg varname
 * V7   5/12 *acm* Union aggregations: DEFINE DATA/AGG/U
-* V71  *acm* 1/17 Ticket 2493 When checking splitting of calculation, check that the
-*                 info has been set.
+* V702 11/16 *sh* Allow split/gather logic to be used on axis of a compressing
+*                 transform.
 
 	include 'tmap_dims.parm'
 	include	'ferret.parm'
@@ -107,12 +107,12 @@
      .		nrev, reversed(nferdims), idel,
      .		trans, grid, dset, lo_off, hi_off, aclass,
      .		lo_cx, hi_cx, big_cx, lo_isp, i, axis,
-     .		cxsize, split_ax, split_ax_len, frag, var, ss, lo_ss,
-     .		hi_ss, nmod, nmodhi, npts, xlate, dup_cx, i4d,
-     .          line, imemb, imemb_dset, grids_dset, len,
+     .		var, ss, lo_ss, hi_ss, res_size,
+     .		nmod, nmodhi, npts, xlate, dup_cx, i4d,
+     .          line, imemb, imemb_dset, grids_dset, len, ncomp,
      .		orig_grid, iline, attlen, maxlen, orig_cat, orig_var,
      .		memb_dset, hi_cat, hi_var, hi_grid, agg_vlen, memb_vlen, slen
-	REAL	ax_frac
+	INTEGER*8 available_mem, biggest_allowed
 	REAL*8	TM_WORLD, ww_given, ww_nrst
 	CHARACTER*128 VAR_CODE, agg_vname, memb_vname
 	CHARACTER*128 buff
@@ -131,6 +131,8 @@
 	is_sum  ( lo_isp ) = unspecified_int4	! diag housekeeping
 	itsa_uvar = cx_category(lo_cx) .EQ. cat_user_var
 	modulo_dest_regrid = .FALSE.		! if regrid requires modulo
+	big_cx = lo_cx   ! initialize default. Used in compressed split/gather
+	trans  = trans_no_transform
 
 * set up a context buffer to be modified for various grids needed
 	CALL CREATE_NEW_CONTEXT( lo_cx, hi_cx, status )	! pushes stack
@@ -308,7 +310,8 @@ c	   CALL TRANSFER_CONTEXT( hi_cx, lo_cx )
 
 * SET UP FOR A TRANSFORMATION
 	   trans  = cx_trans( axis, lo_cx )
-	   is_act( lo_isp ) = isact_trans_code + trans
+	   is_act  ( lo_isp ) = isact_trans_code + trans
+	   is_phase( lo_isp ) = isphase_allatonce
 	   cx_trans    ( axis, hi_cx ) = trans_no_transform
 	   cx_trans_arg( axis, hi_cx ) = bad_val4
 
@@ -413,7 +416,6 @@ c	   CALL TRANSFER_CONTEXT( hi_cx, lo_cx )
 	   ENDIF
 	   aclass = isact_class_regrid
 
-
 	ELSEIF( aclass .EQ. isact_class_aux_plot_vars ) THEN
 * SET UP TO GET AUXILIARY ARGUMETS FOR 3-ARG PLOTS ONTO THE STACK
 * ...  set up to get the first aux var
@@ -574,74 +576,22 @@ c	   CALL TRANSFER_CONTEXT( hi_cx, lo_cx )
 * size limits then try to split the calculation into fragments.
 * For example, TEMP[I=1:100 at DIN,J=1:100 at AVE,K=1:25 at AVE,L=1:100 at AVE]
 * the required data is 100x100x25x100 - TOO BIG !!
-* after the L and K transforms have been split off we will have
-* TEMP[I=1:100 at DIN,J=1:100 at AVE,K=1:25,L=1:100] which is a reasonable 2500 pts.
-* after the next strip, however, the request will be 100 times larger.  At this
-* time we would be better to split up the context, say, along the L axis so
-* that each requested component is a manageable size.
-* 11/95: similarly, modulo regrids may involve source data greatly in excess
+* Similarly, modulo regrids may involve source data greatly in excess
 * of the result
- 300	IF ( aclass.EQ.isact_class_trans
+	IF ( aclass.EQ.isact_class_trans
      .		.AND. trans.GT.trans_compress_code
+     .		.AND. trans.NE.trans_interpolate
      . .OR.  aclass.EQ.isact_class_regrid
      .		.AND. ITSA_MODULO_REGRID(lo_cx, axis)		) THEN
-	   IF ( aclass.EQ.isact_class_trans ) THEN 
-	      cxsize = CGRID_SIZE( hi_cx )	! well tested of old (11/95)
-	   ELSE
-	      cxsize = CGRID_SIZE_MAX( hi_cx )	! unknown lims get len=line_dim
-	   ENDIF
-
-* do we have a size problem ?
-	   IF ( cxsize .LE. mode_arg( pmode_desperate,1 ) ) GOTO 800
-* yes, too big ! can we split the calculation along some axis ?
-*  ( try to split along a slow access axis of the data )
-	   DO 500 i = nferdims, 1, -1
-	      IF ( dset.GT.pdset_irrelevant .AND. dset.LE.maxdsets ) THEN
-	         split_ax = ds_ax_speed(i, dset)
-	      ELSE
-	         split_ax = i
-	      ENDIF
-	      IF ( split_ax .EQ. 0 ) GOTO 500  ! ds_ax_speed is not yet set for an aggregation(?)
-	      IF ( cx_trans(split_ax,lo_cx) .NE. trans_no_transform ) GOTO 500
-	      IF ( ITSA_MODULO_REGRID(lo_cx,split_ax) ) GOTO 500
-* ... beware user-defined vars with limits specified in definition
-	      IF ( itsa_uvar ) THEN
-	         IF ( uvar_given(split_ax,var) .NE. uvlim_needed ) GOTO 500
-	      ENDIF
-	      split_ax_len = CX_DIM_LEN(split_ax,lo_cx)
-	      IF ( split_ax_len .EQ. 1 ) GOTO 500
-* ... in desparation, only, consider splitting along the fastest access axis
-	      IF ( i.EQ.1 .AND. .NOT.mode_desperate )  GOTO 500
-	      GOTO 510
- 500	   CONTINUE	   
-* no way to split up the calculation
-	   GOTO 800
-* OK - lets divvie this baby up !
- 510	   aclass = isact_class_gather
-	   is_act(lo_isp) = isact_gather
-	   axis = split_ax
-* save the default context so it can be re-used at each chunk
-	   CALL CREATE_NEW_CONTEXT( lo_cx, big_cx, status )	! pushes stack
-	   IF ( status .NE. ferr_ok ) GOTO 5000
-	   is_big_cx( lo_isp ) = big_cx
-* cancel result pointer to indicate no result yet
-	   is_mr( lo_isp ) = unspecified_int4
-* determine the largest fragment satisfying the "desperate mode" argument
-* for compressing transforms consider here ALL of the axes that may expand 
-	   IF ( aclass.EQ.isact_class_trans ) cxsize = POTENT_SIZE(lo_cx)
-	   ax_frac = FLOAT(mode_arg(pmode_desperate,1)) / cxsize
-	   frag = MAX( 1, INT(split_ax_len*ax_frac) )
-	   is_sum( lo_isp ) = frag
-* set up context to get the first fragment
-	   CALL TRANSFER_CONTEXT( big_cx, hi_cx )
-	   cx_hi_ss(hi_cx,axis) = cx_lo_ss(hi_cx,axis) + frag - 1
-	   cx_by_ss(axis,hi_cx) = .TRUE.
-	   CALL FLESH_OUT_AXIS( axis, hi_cx, status )
-	   IF ( status .NE. ferr_ok ) GOTO 5000
+* ... create the context of the first chunk, if possible
+*     SETUP_GATHER may change nothing, or it may set up split/gather
+*     in hi_cx, axis and the is_* variables
+	   CALL SETUP_GATHER(aclass, lo_cx, hi_cx, lo_isp, axis, status)
+	   IF (status .NE. ferr_ok) GOTO 5000
 	ENDIF
 
 * diagnostic mode output: "strip --> VAR_NAME[x=lo:hi at TRN:n,D=#]"
- 800	IF ( mode_diagnostic ) 	CALL DIAG_OP('strip', aclass, lo_cx, axis)
+	IF ( mode_diagnostic ) 	CALL DIAG_OP('strip', aclass, lo_cx, axis)
 
 * push stack to go after the requested component
 	is_axis ( lo_isp ) = axis
diff --git a/fer/stk/is_subspan_fill.F b/fer/stk/is_subspan_fill.F
index 7d36a56..13bca2d 100644
--- a/fer/stk/is_subspan_fill.F
+++ b/fer/stk/is_subspan_fill.F
@@ -1,4 +1,4 @@
-	SUBROUTINE IS_SUBSPAN_FILL( memory, *, *, status )
+	SUBROUTINE IS_SUBSPAN_FILL(  *, *, status )
 
 *  This software was developed by the Thermal Modeling and Analysis
 *  Project(TMAP) of the National Oceanographic and Atmospheric
@@ -54,7 +54,6 @@
 
 * calling argument declarations:
 	INTEGER	status
-	REAL	memory( mem_blk_size, max_mem_blks )
 * normal return is for error conditions
 * exit #1 is to request another grid ( stack has been pushed )
 * exit #2 is to signal completion of the activity at this stack level
@@ -114,7 +113,7 @@
 
 	IF ( mr_type(res_mr) .EQ. ptype_string ) THEN
 	   CALL INIT_C_STRING_ARRAY( MGRID_SIZE_DELTA(res_mr),
-     .                               memory(1, mr_blk1(res_mr)),
+     .                               memry(res_mr)%ptr,
      .                               mr_c_pointer(res_mr)      )
 	   CALL SET_NULL_C_STRING_ARRAY(mr_c_pointer(res_mr),
      .                                  MGRID_SIZE_DELTA(res_mr) )
@@ -124,14 +123,13 @@
 * 11/95: if there might be voids in the result pre-fill with missing data flags
 * to-do: could make this more efficient and fill only the "N+1" virtual point.
 	IF ( mr_type(res_mr) .EQ. ptype_float  ) CALL FILL_MEMORY
-     .				( memory,mr_blk1(res_mr),mr_nblks(res_mr),
-     .                            mr_bad_data(res_mr) )
+     .				( res_mr, mr_bad_data(res_mr) )
 
 * Copy the component data into the result (unless the silly user
 *  requested the void point, alone
 	IF ( cx_lo_ss(res_cx, idim) .LT. npts ) CALL COPY_INTO
-     .		       ( memory(1, mr_blk1(com_mr)), com_mr, com_cx,
-     .			 memory(1, mr_blk1(res_mr)) ,res_mr )
+     .		       ( memry(com_mr)%ptr, com_mr, com_cx,
+     .			 memry(res_mr)%ptr ,res_mr )
 
 * Successful completion of modulo operation
 	CALL MR_NOT_IN_USE( com_mr )	! remove memory protection on component
diff --git a/fer/stk/is_trans.F b/fer/stk/is_trans.F
index 26c2c86..fa7c6f2 100644
--- a/fer/stk/is_trans.F
+++ b/fer/stk/is_trans.F
@@ -1,4 +1,4 @@
-	SUBROUTINE IS_TRANS( memory, ROUTINE, *, status )
+	SUBROUTINE IS_TRANS(  ROUTINE, *, status )
 
 *  This software was developed by the Thermal Modeling and Analysis
 *  Project(TMAP) of the National Oceanographic and Atmospheric
@@ -69,16 +69,22 @@
 *		variables
 * V530:  8/00 *sh* changed string trap to be based on data type, not category
 * V533:  7/01 *sh* transform @SHF supported for strings
-* v552   4/03 *acm* up VAR_TRANS to 150 characters (variables are up to 128, plus
-*                   space for the transformation specifier)
-* V600  10/05 *acm* Fis bug 899: rather than the ungraceful STOP, issue an error
-*                   message if a 4-D transform was requested but the dimensions 
-*                   are not available in the grid.
+* v552   4/03 *acm* up VAR_TRANS to 150 characters (variables are up to 128,
+*                   plus space for the transformation specifier)
+* V600  10/05 *acm* is bug 899: rather than the ungraceful STOP, issue an
+*		    error message if a 4-D transform was requested but the
+*		    dimensions are not available in the grid.
 *       *acm* 3/12 Add E and F dimensions (use nferdims in tmap_dims.parm)
-* V691+ *acm* 8/14 Fix ticket 2196. Fill transformations component index range should 
-*                  be limited to the range of the axis.
-* V710  *acm* 9/16 For ticket 2469: Allow an average of an average and likewise @SUM, @MIN, @MAX 
-
+* V691+ *acm* 8/14 Fix ticket 2196. Fill transformations component index range
+*		   should be limited to the range of the axis.
+* V710  *acm* 9/16 For ticket 2469: Allow an average of an average and likewise
+*		   @SUM, @MIN, @MAX 
+* V702 *sh* 11/16 mods for trac #2428 - calculation in gathered fragments
+*		   Compute transformations in 3 phases: i)initialize,
+*		   ii) accumulate, and iii) finalize so that compressed axes
+*		   may be split/gathered (in IS_STRIP and IS_GATHER)
+* V702 *sh*  1/17 for trac enhancement #2369 -- dynamic memory management 
+	
 	include 'tmap_dims.parm'
 	include 'xtm_grid.cmn_text'
 	include	'ferret.parm'
@@ -89,10 +95,10 @@
 	include	'xtext_info.cmn'
 	include	'xalgebra.cmn'
 	include	'xfr_grid.cmn'
+	include 'xprog_state.cmn'
 
 * calling argument declarations:
 	INTEGER	status
-	REAL	memory( mem_blk_size, max_mem_blks )
 * normal exit is for error conditions
 * exit #1 is to signal completion of the activity at this stack level
 	INTEGER	ROUTINE		! (returns status )
@@ -100,30 +106,37 @@
 
 * internal variable declarations:
 * ... "res"="result" , "com"="component"
-	LOGICAL	ITSA_FILL_TRANS, ITSA_MODULO_AXIS, its_4d, string_bad_good, string_com
+	LOGICAL	ITSA_FILL_TRANS, ITSA_MODULO_AXIS, its_4d, string_bad_good,
+     .		string_com, need_init
 	INTEGER CX_DIM_LEN, MGRID_SIZE_DELTA, DO_4D_STRING_TRANS, CAXIS_LEN,
      .		slen, cx_valid,
      .		res_isp, com_isp, res_cx, com_cx, com_mr, res_mr, idim,
-     .		trans, grid, lo_off, hi_off, ss_lo, ss_hi, wksiz, wkblk,
-     .		mrlist(2), axes(nferdims), idim1, i, ndim, axis
+     .		trans, grid, lo_off, hi_off, ss_lo, ss_hi,
+     .		mrlist(2), axes(nferdims), idim1, i, ndim, axis, nbuffer,
+     .		dflt_cx, frag
+	INTEGER*8 i8_size
 	REAL	arg
-	REAL*8	TM_WORLD, ww, ww_lo, ww_hi
+	REAL*8	TM_WORLD, ww, ww_lo, ww_hi, init_val
 	CHARACTER VAR_TRANS*150, buff*150
 
 * --- end of introductory code ---
 
-* initialize
+* ***** initial set up and error checks *****
 	res_isp	= isp
 	com_isp	= res_isp + 1
 	res_cx  = is_cx( res_isp )
 	com_cx  = is_cx( com_isp )
+        res_mr  = is_mr( res_isp ) ! gets set in isphase_initialize_transform
 	com_mr	= is_mr( com_isp )
+ 	dflt_cx = is_big_cx( res_isp )
+	frag    = is_sum   ( res_isp )
 	idim1	= is_axis( res_isp )
 	trans	= cx_trans( idim1, res_cx )
 	arg	= cx_trans_arg( idim1, res_cx )
 	grid    = cx_grid( com_cx )
 	string_bad_good = .FALSE.
 	string_com = .FALSE.
+	need_init = .FALSE.
 
 * determine if this is a 1D or a 4D (multiple axis) transformation
 	its_4d = .FALSE.
@@ -175,17 +188,24 @@
               CALL CREATE_MEM_VAR( res_cx, res_mr, status )
               IF ( status .NE. ferr_ok ) GOTO 5000
               CALL COPY_GRID(
-     .           memory( 1, mr_blk1(com_mr) ) , com_mr,
-     .           memory( 1, mr_blk1(res_mr) ) , res_mr )
-              is_mr( res_isp ) = res_mr
+     .           memry(com_mr)%ptr , com_mr,
+     .           memry(res_mr)%ptr , res_mr )
+              is_mr   (res_isp) = res_mr
               GOTO 1000
             ENDIF
          ENDIF
 
+* ***** end of initial set up and error checks *****
+
+* This is_phase branch occurs only when additional data has arrived to be
+* accumulated in a split/gather operation
+	IF (is_phase(res_isp) .EQ. isphase_accumulate_transform) GOTO 500
+* 11111 start of isphase_initialize_transform 11111 *
+
 * create a result context based on the received component
 	cx_valid= cx_buff
 	CALL TRANSFER_CONTEXT( com_cx, cx_valid )
-		DO 300 i = 1, ndim
+	DO 300 i = 1, ndim
 	   idim = axes(i)
 * ... if the requested region was unknown use the component region
 
@@ -193,13 +213,22 @@
 
 	   IF ( cx_lo_ss(res_cx,idim).EQ.unspecified_int4
      .	   .AND.cx_lo_ww(idim,res_cx).NE.unspecified_val8 ) THEN
-	      IF (cx_grid(com_cx) .GE. mgrid_abstract .AND. cx_grid(com_cx) .LE. mgrid_fabstract ) THEN  
+	      IF (cx_grid(com_cx) .GE. mgrid_abstract
+     .	    .AND. cx_grid(com_cx) .LE. mgrid_fabstract ) THEN  
 	         cx_lo_ss( res_cx, idim ) = cx_lo_ss(com_cx,idim)
 	         cx_hi_ss( res_cx, idim ) = cx_hi_ss(com_cx,idim)
               ENDIF
 	   ENDIF
 
-	   IF ( cx_lo_ss(res_cx,idim).EQ.unspecified_int4
+	   IF (is_phase(res_isp) .EQ. isphase_initialize_transform
+     .	.AND. idim.EQ.idim1 ) THEN
+* 11/16 - we are initializing a result to be determined by a gather operation
+* along the transformed axis
+	      CONTINUE  ! leave result ax-s as-is
+! note that this is an imperfect solution.  Might the requested result region
+! be incorrect?  eg. LIST V[l=@ave], where v = v2[L=100:200]
+! check with totalview whether the result incorrectly has full axis span
+	   ELSEIF ( cx_lo_ss(res_cx,idim).EQ.unspecified_int4
      .	   .AND.cx_lo_ww(idim,res_cx).EQ.unspecified_val8 ) THEN
 * 11/95 - FLESH_OUT_AXIS cannot be trusted to flesh this out.
 *	  It puts responsibility for redundant limits onto the various interp
@@ -214,8 +243,8 @@
 	         cx_by_ss( idim, res_cx ) = .FALSE.
 	      ENDIF
 ! pre=11/95cx_lo_ss(res_cx,idim) = cx_lo_ss(com_cx,idim)
-!	      cx_hi_ss(res_cx,idim) = cx_hi_ss(com_cx,idim)
-!	      cx_by_ss(idim,res_cx) = .TRUE.
+!	         cx_hi_ss(res_cx,idim) = cx_hi_ss(com_cx,idim)
+!	         cx_by_ss(idim,res_cx) = .TRUE.
 
 * 11/95 - is interpolation the only case of a compressing transform
 * where the component ww range normally doesn't match the result?
@@ -257,22 +286,37 @@
      .         trans .EQ. trans_bad_pt     .OR.
      .         trans .EQ. trans_4d_good_pt .OR.
      .         trans .EQ. trans_4d_bad_pt ) THEN
-              string_bad_good = .TRUE.
-              cx_type(res_cx) = ptype_float
+               string_bad_good = .TRUE.
+               cx_type(res_cx) = ptype_float
            ENDIF
         ENDIF
 
-	CALL CREATE_MEM_VAR( res_cx, res_mr, status )
+* 11/16: allow extra buffer space for accumulating weight values or counts?
+	CALL TRANS_INIT_VALUE(idim1, res_cx,
+     .			             need_init, init_val, nbuffer)
+
+* allocate memory for the result
+	CALL CREATE_MEM_VAR_W_BUFFER( res_cx, res_mr, nbuffer, status )
 	IF ( status .NE. ferr_ok ) GOTO 5000
-	is_mr( res_isp ) = res_mr
+* ... no nonger deferred.  Memory allocation for result has just been done.
+	is_deferred_mem(res_isp  ) = 0  ! chunk  memory no longer deferred
+	IF (res_isp .GT.1) is_deferred_mem(res_isp-1) = 0  ! result mem
+	is_mr(res_isp) = res_mr
 	IF ( mr_type(res_mr) .EQ. ptype_string .AND.
-     .       (.NOT.string_bad_good)) THEN
+     .     (.NOT.string_bad_good)                    ) THEN
 * ... only applicable to @SHF transformation; else will return a null string.
            CALL INIT_C_STRING_ARRAY( MGRID_SIZE_DELTA(res_mr),
-     .                               memory(1, mr_blk1(res_mr)),
+     .                               memry(res_mr)%ptr,
      .                               mr_c_pointer(res_mr)      )
 	ENDIF
 
+* 11/16: pre-fill the result with an initialization value
+	IF (need_init) CALL FILL_MEMORY( res_mr, init_val )
+
+* if starting up a split/gather ...
+	IF (is_phase(res_isp).EQ.isphase_initialize_transform) 
+     .	    is_phase(res_isp)  = isphase_accumulate_transform
+
 !* diagnostic message ?
 !	IF (mode_diagnostic) CALL DIAGNOSTIC_OUT(
 !     .		'@'//ALG_TRANS_CODE(trans)//'   ', res_mr, point_to_mr )
@@ -308,24 +352,27 @@
 	   IF  ( .NOT. ITSA_MODULO_AXIS(com_cx, idim) ) THEN
 	      cx_lo_ss( cx_valid, idim ) = MAX(1,cx_lo_ss( cx_valid, idim ))
 	      cx_hi_ss( cx_valid, idim ) = MAX(1,cx_hi_ss( cx_valid, idim ))
-	      cx_lo_ss( cx_valid, idim ) = MIN(CAXIS_LEN(idim,com_cx), cx_lo_ss( cx_valid, idim ))
-	      cx_hi_ss( cx_valid, idim ) = MIN(CAXIS_LEN(idim,com_cx), cx_hi_ss( cx_valid, idim ))
+	      cx_lo_ss( cx_valid, idim ) = MIN(CAXIS_LEN(idim,com_cx),
+     .					       cx_lo_ss( cx_valid, idim ))
+	      cx_hi_ss( cx_valid, idim ) = MIN(CAXIS_LEN(idim,com_cx),
+     .					       cx_hi_ss( cx_valid, idim ))
 	   ENDIF 
 
+* insufficient component data to compute anything?
 	   IF ( cx_lo_ss(cx_valid,idim) .GT. cx_hi_ss(cx_valid,idim) ) THEN
-* ... insufficient component data to compute anything
 	      IF ( mr_type(res_mr) .EQ. ptype_string ) THEN
 	        CALL SET_NULL_C_STRING_ARRAY(mr_c_pointer(res_mr),
      .                                       MGRID_SIZE_DELTA(res_mr) )
 	      ELSE
-	        CALL FILL_MEMORY( memory,mr_blk1(res_mr),mr_nblks(res_mr),
-     .		  		  mr_bad_data(res_mr) )
+	        CALL FILL_MEMORY( res_mr, mr_bad_data(res_mr) )
 	      ENDIF
 	      GOTO 1000
-	   ELSEIF (  cx_lo_ss(res_cx,idim) .LT. cx_lo_ss(cx_valid,idim)
+	   ENDIF
+
+	   IF (  cx_lo_ss(res_cx,idim) .LT. cx_lo_ss(cx_valid,idim)
      .		.OR. cx_hi_ss(res_cx,idim) .GT. cx_hi_ss(cx_valid,idim) ) THEN
 * ... insufficient component data to compute the entire requested region
-	      CALL BAD_EDGES( cx_valid, memory(1,mr_blk1(res_mr)), res_mr )
+	      CALL BAD_EDGES( cx_valid, memry(res_mr)%ptr, res_mr )
 	   ELSEIF (  cx_lo_ss(res_cx,idim) .GT. cx_lo_ss(cx_valid,idim)
      .		.OR. cx_hi_ss(res_cx,idim) .LT. cx_hi_ss(cx_valid,idim) ) THEN
 * ... *1/98* component data is BIGGER than expected for requested result
@@ -353,8 +400,10 @@
 
 	      axis = grid_line( idim, cx_grid(com_cx) )
 	      IF (.NOT. line_modulo(axis)) THEN
-	         cx_lo_ss(com_cx,idim) = MAX(1, cx_lo_ss(com_cx,idim))
-	         cx_hi_ss(com_cx,idim) = MIN(line_dim(axis), cx_hi_ss(com_cx,idim))
+	         cx_lo_ss(com_cx,idim) = MAX(1,
+     .					     cx_lo_ss(com_cx,idim))
+	         cx_hi_ss(com_cx,idim) = MIN(line_dim(axis),
+     .				             cx_hi_ss(com_cx,idim))
 	      ENDIF
 
 	      cx_by_ss(idim,res_cx) = .TRUE.
@@ -363,6 +412,11 @@
 	   ENDIF
 	ENDIF
 
+* 11111 end of isphase_initialize_transform 11111 *
+
+ 500	CONTINUE
+* 22222 start of isphase_accumulate_transform 22222 *
+
 * set up 4D array limits as unsubscripted variables in COMMON
 	mrlist(1) = com_mr
 	mrlist(2) = res_mr
@@ -372,19 +426,19 @@
 	IF ( string_com ) THEN
 	   IF (trans .EQ. trans_shift) THEN
 	      CALL DO_STRING_SHIFT ( idim, arg,
-     .		memory( 1, mr_blk1(com_mr) ), com_mr, com_cx, ! component
-     .		memory( 1, mr_blk1(res_mr) ), res_mr, res_cx) ! result
+     .		memry(com_mr)%ptr, com_mr, com_cx, ! component
+     .		memry(res_mr)%ptr, res_mr, res_cx) ! result
 	   ELSEIF (string_bad_good) THEN
 	   
 	      IF (its_4d) THEN
 	         status = DO_4D_STRING_TRANS( trans,
-     .		 memory( 1, mr_blk1(com_mr) ), com_mr, com_cx, ! component
-     .		 memory( 1, mr_blk1(res_mr) ), res_mr, res_cx) ! result
+     .		 memry(com_mr)%ptr, com_mr, com_cx, ! component
+     .		 memry(res_mr)%ptr, res_mr, res_cx) ! result
 	         IF ( status .NE. ferr_ok ) GOTO 5000
               ELSE
  	         CALL DO_STRING_GOODBAD ( idim, trans,
-     .		 memory( 1, mr_blk1(com_mr) ), com_mr, com_cx, ! component
-     .		 memory( 1, mr_blk1(res_mr) ), res_mr, res_cx) ! result                            ! result
+     .		 memry(com_mr)%ptr, com_mr, com_cx, ! component
+     .		 memry(res_mr)%ptr, res_mr, res_cx) ! result                            ! result
 	      ENDIF
 	   ELSE
 	     CALL SET_NULL_C_STRING_ARRAY(mr_c_pointer(res_mr),
@@ -396,37 +450,65 @@
 * reserve working space for the transformation
 * Note: this logic is a loose hodge-podge to get an upper bound size for all
 * the different cases: 4D, 1D, with arguments, etc.
-	wksiz = 1
-	DO 500 i = 1, ndim
+	i8_size = 1
+	DO i = 1, ndim
 	   idim = axes(i)
-	   wksiz = wksiz + CX_DIM_LEN(idim,com_cx)
- 500	CONTINUE
+	   i8_size = i8_size + CX_DIM_LEN(idim,com_cx)
+	ENDDO
+
 * ... allow room for COS(lat) array during 4D transforms (8/96)
-	IF (ndim .GT. 1 )  wksiz = wksiz + CX_DIM_LEN(y_dim,com_cx)
+	IF (ndim .GT. 1 )  i8_size = i8_size + CX_DIM_LEN(y_dim,com_cx)
 * ... set minimum work size
-	wksiz = MAX( iswksiz, wksiz )
+	i8_size = MAX( iswksiz, i8_size )
 * ... for transforms like smoothers allow extra slop on each end 
-	IF ( arg .NE. bad_val4 )  wksiz =
-     .			MAX( wksiz, CX_DIM_LEN(idim1,res_cx)+INT(arg) )
-	CALL GET_WORK_SPC( wksiz, wkblk, status )
+	IF ( arg .NE. bad_val4 )  i8_size =
+     .			MAX( i8_size, CX_DIM_LEN(idim1,res_cx)+INT(arg) )
+	CALL GET_DYN_WORK_SPACE( i8_size, status )
 	IF ( status .NE. ferr_ok ) GOTO 5000
 
-* do the transform
-
+* do the transform (or at least accumulate results in preparation to finalize)
 	status = ROUTINE( idim, arg,
-     .		memory( 1, mr_blk1(com_mr) ), com_mr, com_cx, ! component
-     .		memory( 1, mr_blk1(res_mr) ), res_mr, res_cx, ! result
-     .		memory( 1, wkblk )			    ) ! work space
+     .		memry(com_mr)%ptr, com_mr, com_cx, ! component
+     .		memry(res_mr)%ptr, res_mr, res_cx, ! result
+     .		workmem(plegacy_work_buffer)%ptr ) ! work space
 	IF ( status .NE. ferr_ok ) GOTO 5000
 
+* go back for more input data to compress into the transform?
+	IF ( is_phase(res_isp) .EQ. isphase_accumulate_transform ) THEN
+
+	   IF (cx_hi_ss(com_cx,idim1).LT.cx_hi_ss(dflt_cx,idim1) ) THEN
+* yes - get next fragment
+
+* ... remove component protections that signaled this calculation needed it
+	      CALL MR_NOT_IN_USE( com_mr )	
+
+* ... adjust the component limits to get the next fragment as setup by IS_STRIP
+	      CALL DEFINE_NEXT_CHUNK_CX(idim1, com_cx, dflt_cx, frag, status)
+	      IF ( status .NE. ferr_ok ) GOTO 5000
+	      IF ( mode_diagnostic )
+     .		   CALL DIAG_OP('doing', isact_class_cmp_gather_dummy,
+     .							com_cx, idim1)
+* ... push the interpretation stack and go get it
+	      isp = com_isp
+	      RETURN 1
+	   ELSE
+* no - all fragments have been processed.  Get ready to finalize
+	      cx_stack_ptr = cx_stack_ptr - 1   ! free big_cx
+	   ENDIF
+	ENDIF
+
+* finialize (e.g. average = WEIGHTED_SUM(values) / SUM(weights)
+	CALL TRANS_FINALIZE( idim, arg,
+     .		memry(res_mr)%ptr, res_mr, res_cx )
+
 * remove component protections that signaled this calculation needed it
  1000	CALL MR_NOT_IN_USE( com_mr )	
 
-* free the context stack space
+* ... successful completion
+*     free the context stack space
 	cx_stack_ptr = cx_stack_ptr - 1
-
-* success
-	RETURN 1
+	is_phase(res_isp)  =   isphase_completed_transform ! housekeeping
+	RETURN 2
 
 * error exit
  5000	RETURN
diff --git a/fer/stk/is_union_member.F b/fer/stk/is_union_member.F
index 693c258..fd7fb66 100644
--- a/fer/stk/is_union_member.F
+++ b/fer/stk/is_union_member.F
@@ -1,4 +1,4 @@
-	SUBROUTINE IS_UNION_MEMBER( memory, *, *, status )
+	SUBROUTINE IS_UNION_MEMBER(  *, *, status )
 
 *
 *
@@ -53,7 +53,6 @@
 
 * calling argument declarations:
 	INTEGER	status
-	REAL	memory( mem_blk_size, max_mem_blks )
 * normal return is for error conditions
 * exit #2 is to signal completion of the activity at this stack level
 
@@ -102,8 +101,8 @@
 
 * copy data just received into the result
 * bad data flag differences are resolved during this COPY operation
-	CALL COPY_INTO( memory(1,mr_blk1(com_mr)), com_mr, com_cx,
-     .			memory(1,mr_blk1(res_mr)), res_mr )
+	CALL COPY_INTO( memry(com_mr)%ptr, com_mr, com_cx,
+     .			memry(res_mr)%ptr, res_mr )
 
 * ... remove the component protection that signaled we needed it here
 	IF (cx_data_set(com_cx) .NE. pdset_dummy) THEN
diff --git a/fer/stk/is_uvar_grid.F b/fer/stk/is_uvar_grid.F
index f04ef41..cd5ffc5 100644
--- a/fer/stk/is_uvar_grid.F
+++ b/fer/stk/is_uvar_grid.F
@@ -118,6 +118,10 @@
 * V699  5/16 *sh*  replace variable uvar_grid with calls to c LIST structures
 * V710 *acm* 10/16 Ticket 2422: variables uvar_grid, uvar_data_type, uvar_aux_cat, 
 *                  uvar_aux_var to be replaced with calls to LIST routines in NCF_Util.c 
+* V720  3/17 *acm*  clean up long commented-out code referring to aggregations 
+* V720: 4/17 *acm* Add direction-changing functions as a subset of grid-changing ones
+* V720: 6/17 *acm* Fix ticket 2547: the grid and type of uvars are stored, but the
+*                  information may be collected on different passes through this routine.
 
 * calling argument declarations:
 	INTEGER	status
@@ -139,10 +143,10 @@
 	include	'xfr_grid.cmn'
 
 * internal variable declarations:
-	LOGICAL	ITSA_GCVAR, ITSA_CONST_VAR,
+	LOGICAL	ITSA_GCVAR, ITSA_CONST_VAR, ITSA_DCVAR,
      .		its_dynamic, its_gc, need_another_pass,
      .		saved_ifthen_type, do_err, ok_remote,
-     .		getting_aux_var, its_const_var
+     .		getting_aux_var, its_const_var, its_dc
 	INTEGER KNOWN_GRID, STR_SAME,
      .		TM_LENSTR1, GCF_PARENT_UVAR, GCF_PARENT_CHAR, 
      .		NCF_GET_AGG_COUNT, iaux,
@@ -175,10 +179,14 @@
 	dset   = cx_data_set( lo_cx )
 	nitem  = uvar_num_items( uvar )
 	its_gc = ITSA_GCVAR(uvar)
+	its_dc = ITSA_DCVAR(uvar)
 	has_uvar_gc = has_uvar_gc .OR. its_gc  ! for repl_exprns fixing bug 1523
+	has_uvar_dc = .FALSE.                  ! function changes based on args
 	is_uvar_const = ITSA_CONST_VAR(uvar)   ! for repl_exprns fixing bug 2213
 * ... initialization to support 2/99 pass-2 changes
 	pass_number = 1
+
+	cx_type(big_cx) = ptype_unknown   ! initialize; fixing ticket 2547
 ! 4/99
 	need_another_pass = is_phase(isp) .LT. 0  ! saved from last time here
 	is_phase(isp) = ABS( is_phase(isp) )
@@ -664,30 +672,21 @@ c	cx_hi_ss(hi_cx, x_dim) = attlen !!
 	is_cx   ( isp ) = hi_cx
 	is_uvar ( isp ) = cx_variable( hi_cx )
 	is_act  ( isp ) = isact_get_grid	! temp diagnostic
-	RETURN 1
 
-!* grid for at least 1 member variable of this aggregated dataset is not known.
-!* Go back to get_uvar_grid and call is_aggregate_grid to get it
-!* ... repeat this phase again when we get back
-! 990	is_phase(isp) = is_phase(isp) - 1
-!* load the new variable info onto the IS stack
-!	CALL PUSH_INTERP_STACK( isp, status )
-!	IF ( status .NE. ferr_ok ) RETURN
-!
-!	is_cx   ( isp ) = hi_cx
-!	is_uvar ( isp ) = cx_variable( hi_cx )
-!	is_act  ( isp ) = isact_get_agg_grid	! get aggregate grid on return.
-!
-!	RETURN 1
+* Fixing ticket 2547. Save the type now. Later passes do not do the ifthen_type logic.
+	
+	IF (cx_type(big_cx).NE.cx_none .AND. cx_type(big_cx).NE.unspecified_int4) THEN
+	   CALL SAVE_UVAR_TYPE(uvar, cx_type(big_cx), this_dset)
+	ENDIF
+
+	RETURN 1
 	
 ***  DONE - clean up
  1000	CONTINUE
 * for grid-changing vars all of the arguments contextx are still on the stack 
 	IF ( its_gc ) THEN
-	   DO 1010 i = 1, nitem - 1	! 3/99 - strings not on stack
+	   DO 1010 i = 1, nitem - 1
 	      cx_stack_ptr = cx_stack_ptr - 1
-!	      IF (uvar_item_type(i,uvar).NE. alg_string)
-!     .			cx_stack_ptr = cx_stack_ptr - 1
  1010	   CONTINUE
 	ENDIF
 * have any variables been encountered ?
@@ -697,6 +696,7 @@ c	cx_hi_ss(hi_cx, x_dim) = attlen !!
 	IF ( is_sum(isp) .EQ. isalg_transfer ) THEN
 	   IF ( uvar_dset(uvar).EQ.unspecified_int4 ) THEN
 	      uvar_need_dset(uvar) = .FALSE.
+	      
 	      CALL SAVE_UVAR_GRID(uvar, mgrid_abstract, ptype_float,
      .				  pdset_irrelevant)
 * ... 6/16 init aux info just for house-keeping
@@ -706,7 +706,6 @@ c	cx_hi_ss(hi_cx, x_dim) = attlen !!
 !	      uvar_need_dset(uvar) = .TRUE.	! always TRUE anyway
 * *kob* 4/99 bug fix - check to see if let/d is dataset independent
 	      IF (dset .EQ. unspecified_int4) THEN
-
 	         CALL SAVE_UVAR_GRID(uvar, mgrid_abstract, ptype_float,
      .				     pdset_irrelevant)
 * ... 6/16 init aux info just for house-keeping
@@ -724,8 +723,16 @@ c	cx_hi_ss(hi_cx, x_dim) = attlen !!
 	ENDIF
 
 * catalog this result checking for matching previously existing grid
-	CALL TM_GET_LIKE_DYN_GRID(grid, its_dynamic, gnum, 
+
+* For dimension-changing function, make a new grid and copy gnum to it
+* The function will change the grid so we do not want to use existing one.
+
+	IF (its_dc) THEN
+	   CALL TM_MAKE_NEW_DYN_GRID(grid, gnum, status )
+ 	ELSE     
+	   CALL TM_GET_LIKE_DYN_GRID(grid, its_dynamic, gnum, 
      .				grd_stk_ptr, status )  
+ 	ENDIF
 	IF (status .NE. merr_ok) GOTO 5000
 	IF ( its_dynamic ) THEN
 	   IF ( mode_diagnostic )  CALL DIAG_OP
diff --git a/fer/stk/pass_ambig_lims.F b/fer/stk/pass_ambig_lims.F
index a93730f..ddd36d8 100644
--- a/fer/stk/pass_ambig_lims.F
+++ b/fer/stk/pass_ambig_lims.F
@@ -94,6 +94,7 @@
 *       *acm* 4/12 6D Ferret: time axis may be in t or f direction.
 * V683  *acm*10/12 Improve handling of F axes and info about the calendar of the grid.
 * V695  *acm* 2/15 cx_calendar stores info about calendar formatting of T and F axes
+* V720: 4/17 *acm* Add direction-changing functions as a subset of grid-changing ones
 
         include 'tmap_dims.parm'
 	include	'ferret.parm'
@@ -121,7 +122,7 @@
 	
 * take data type from the memory resident result
 	cx_type( cx ) = mr_type( mr )
-	
+
 * axis limits and subscripts:
 	DO 100 idim = 1, nferdims
 
@@ -191,7 +192,18 @@
 	      cx_lo_ww(idim,cx) = mr_lo_ww(idim,mr)
 	      cx_hi_ww(idim,cx) = mr_hi_ww(idim,mr)
 
+* If the computation has a grid-changing fcn chosen at run-time, we still need
+* to use the limits as loaded
+	   ELSEIF (has_uvar_dc .AND. uvar_given(idim,uvar) .EQ. uvlim_needed
+     .		  .AND. .NOT.cx_given(idim,cx) 	    ) THEN
+
+	         cx_lo_ss(cx,idim) = mr_lo_ss(mr,idim)
+	         cx_hi_ss(cx,idim) = mr_hi_ss(mr,idim)
+	         cx_lo_ww(idim,cx) = mr_lo_ww(idim,mr)
+	         cx_hi_ww(idim,cx) = mr_hi_ww(idim,mr)
+
 	   ENDIF
+ 
 
 * 8/12/91 bug fix during Unix port
 * this is not known to be the perfect fix (kludge)...
diff --git a/fer/stk/is_dummy.F b/fer/stk/potent_ax_lims.F
similarity index 68%
copy from fer/stk/is_dummy.F
copy to fer/stk/potent_ax_lims.F
index edd6362..9cff810 100644
--- a/fer/stk/is_dummy.F
+++ b/fer/stk/potent_ax_lims.F
@@ -1,4 +1,4 @@
-	SUBROUTINE IS_DUMMY( memory, *, status )
+	SUBROUTINE POTENT_AX_LIMS ( cx, axis, lo_ss, hi_ss )
 
 *
 *
@@ -35,47 +35,41 @@
 *  CONNECTION WITH THE ACCESS, USE OR PERFORMANCE OF THIS SOFTWARE. 
 *
 *
-* create a "dummy" result -- all missing values
-* for use with forecast aggregations, in cases of a missing forecast
+* determine the "potential" limits of axis in context cx - that is,
+* the subscript limits that would exist if we ignored compressing transforms  
+* note: uses cx_buff
 
 * programmer - steve hankin
 * NOAA/PMEL, Seattle, WA - Tropical Modeling and Analysis Program
 *
-* V698  12/15 - *sh*
+* V702 *sh* 11/16 - using technique employed in POTENT_SIZE
  
-	include 'tmap_dims.parm'
-	include	'ferret.parm'
-	include	'errmsg.parm'
-	include	'interp_stack.parm'
-	include	'xvariables.cmn'
-	include	'xcontext.cmn'
-	include	'xprog_state.cmn'
+        include 'tmap_dims.parm'
+	include 'ferret.parm'
+	include 'xcontext.cmn'
 
 * calling argument declarations:
-	INTEGER	status
-	REAL	memory( mem_blk_size, max_mem_blks )
+	INTEGER cx, axis, lo_ss, hi_ss
 
 * internal variable declarations:
-	INTEGER	mr, cx
-
-* --- end of introductory code ---
-* initialize
-	cx = is_cx( isp )
-
-* reserve and catalog space for the result
-	CALL CREATE_TEMP_MEM_VAR( cx, mr, status )
-	IF ( status .NE. ferr_ok ) GOTO 5000
-	is_mr( isp ) = mr
-
-* diagnostic output
-	IF (mode_diagnostic) CALL DIAGNOSTIC_OUT('dummy',mr,point_to_mr)
+	INTEGER	status
 
-* insert a block of missing value flags
-	CALL FILL_MEMORY( memory, mr_blk1(mr),
-     .			  mr_nblks(mr), mr_bad_data(mr) )
 
-	RETURN 1
+	IF (cx_trans(axis, cx) .GT. trans_compress_code) THEN
+* make a copy of the context axis in a scratch buffer
+	   cx_variable( cx_buff ) = cx_variable( cx )
+	   cx_category( cx_buff ) = cx_category( cx )
+	   cx_grid    ( cx_buff ) = cx_grid    ( cx )
+	   CALL TRANSFER_AXIS( axis, cx, cx_buff )
+	   cx_trans(axis,cx_buff) = trans_no_transform
+	   cx_by_ss(axis,cx_buff) = .FALSE.
+	   CALL FLESH_OUT_AXIS( axis, cx_buff, status )	! ignore status
+	   lo_ss = cx_lo_ss(cx_buff,axis)
+	   hi_ss = cx_hi_ss(cx_buff,axis)
+	ELSE
+	   lo_ss = cx_lo_ss(cx,axis)
+	   hi_ss = cx_hi_ss(cx,axis)
+	ENDIF
 
-* error exit
- 5000	RETURN
-	END	
+	RETURN
+	END
diff --git a/fer/stk/rcvd_regrid.F b/fer/stk/rcvd_regrid.F
index 3b667f5..c0bdb66 100644
--- a/fer/stk/rcvd_regrid.F
+++ b/fer/stk/rcvd_regrid.F
@@ -77,6 +77,7 @@
 *                  dimension is now an arg to SECS_TO_TSTEP. Note the input 
 *                  argument "axis" in this routine is a dimension, 1, 2, ... 
 * V696 *acm* 11/15 Added @BIN and @NBIN regridding transforms
+* V720: 6/17 *acm* Ticket 2346: new @IIN regridding transform
 
 * calling argument declarations:
 	INTEGER	src_cx, dst_cx, axis, work, ok_min, ok_max, status
@@ -158,7 +159,8 @@
      .	    .OR. rgrd_trans .EQ. prgrd_average
      .	    .OR. rgrd_trans .EQ. prgrd_nearest
      .	    .OR. rgrd_trans .EQ. prgrd_bin
-     .	    .OR. rgrd_trans .EQ. prgrd_nbin ) THEN
+     .	    .OR. rgrd_trans .EQ. prgrd_nbin
+     .	    .OR. rgrd_trans .EQ. prgrd_iin ) THEN   ! I think @iin is whole box
 	   dst_where_loest = box_lo_lim
 	   dst_where_hiest = box_hi_lim
 	   src_where_loest = box_lo_lim
diff --git a/fer/stk/rqst_regrid.F b/fer/stk/rqst_regrid.F
index a691a10..5f90b7b 100644
--- a/fer/stk/rqst_regrid.F
+++ b/fer/stk/rqst_regrid.F
@@ -74,6 +74,8 @@
 *                  argument "axis" in this routine is a dimension, 1, 2, ... 
 * V695  *acm* 2/15 cx_calendar stores info about calendar formatting of T and F axes
 * V696 *acm* 11/15 Added @BIN and @NBIN regridding transforms
+* V720: 6/17 *acm* Ticket 2346: new @IIN regridding transform
+
 
 	include 'tmap_dims.parm'
 	include	'xtm_grid.cmn_text'
@@ -169,7 +171,8 @@
      .      .OR. rgrd_trans .EQ. prgrd_good_pt
      .      .OR. rgrd_trans .EQ. prgrd_average
      .      .OR. rgrd_trans .EQ. prgrd_bin
-     .      .OR. rgrd_trans .EQ. prgrd_nbin ) THEN
+     .      .OR. rgrd_trans .EQ. prgrd_nbin
+     .      .OR. rgrd_trans .EQ. prgrd_iin ) THEN  ! I think @iin is whole box
 	   where_loest = box_lo_lim
 	   where_hiest = box_hi_lim
 	ELSEIF ( rgrd_trans .EQ. prgrd_associate ) THEN
diff --git a/fer/stk/setup_gather.F b/fer/stk/setup_gather.F
new file mode 100644
index 0000000..3d7a3a5
--- /dev/null
+++ b/fer/stk/setup_gather.F
@@ -0,0 +1,518 @@
+	SUBROUTINE SETUP_GATHER( aclass, res_cx, src_cx, lo_isp,
+     .				  axis, status)
+
+*  This software was developed by the Thermal Modeling and Analysis
+*  Project(TMAP) of the National Oceanographic and Atmospheric
+*  Administration's (NOAA) Pacific Marine Environmental Lab(PMEL),
+*  hereafter referred to as NOAA/PMEL/TMAP.
+*
+*  Access and use of this software shall impose the following
+*  obligations and understandings on the user. The user is granted the
+*  right, without any fee or cost, to use, copy, modify, alter, enhance
+*  and distribute this software, and any derivative works thereof, and
+*  its supporting documentation for any purpose whatsoever, provided
+*  that this entire notice appears in all copies of the software,
+*  derivative works and supporting documentation.  Further, the user
+*  agrees to credit NOAA/PMEL/TMAP in any publications that result from
+*  the use of this software or in any product that includes this
+*  software. The names TMAP, NOAA and/or PMEL, however, may not be used
+*  in any advertising or publicity to endorse or promote any products
+*  or commercial entity unless specific written permission is obtained
+*  from NOAA/PMEL/TMAP. The user also understands that NOAA/PMEL/TMAP
+*  is not obligated to provide the user with any support, consulting,
+*  training or assistance of any kind with regard to the use, operation
+*  and performance of this software nor to provide the user with any
+*  updates, revisions, new versions or "bug fixes".
+*
+*  THIS SOFTWARE IS PROVIDED BY NOAA/PMEL/TMAP "AS IS" AND ANY EXPRESS
+*  OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+*  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+*  ARE DISCLAIMED. IN NO EVENT SHALL NOAA/PMEL/TMAP BE LIABLE FOR ANY SPECIAL,
+*  INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
+*  RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF
+*  CONTRACT, NEGLIGENCE OR OTHER TORTUOUS ACTION, ARISING OUT OF OR IN
+*  CONNECTION WITH THE ACCESS, USE OR PERFORMANCE OF THIS SOFTWARE. 
+*
+*
+* GATHER CHECK !!!
+* This routine is called, to determine if a split/gather operation is needed,
+* and if so to create the context descriping the "chunks" to
+* be gathered and the axis (or axes) along which gathering will occur
+
+* If the grid we are about to request (hi_cx) is going to exceed reasonable
+* size limits then try to split the calculation into fragments.
+* For example, TEMP[I=1:100 at DIN,J=1:100 at AVE,K=1:25 at AVE,L=1:100 at AVE]
+* the required data is 100x100x25x100 - TOO BIG !!
+* after the L and K transforms have been split off we will have
+* TEMP[I=1:100 at DIN,J=1:100 at AVE,K=1:25,L=1:100] which is a reasonable 2500 pts.
+* after the next strip, however, the request will be 100 times larger.  At this
+* time we would be better to split up the context, say, along the L axis so
+* that each requested component is a manageable size.
+* Similarly, modulo regrids may involve source data greatly in excess
+* of the result
+
+* NOTE that this routine does a precice job for a single transformation
+* (including "4d" transforms) and modulo regridding. Where it is weak is
+* when a single expression contains more than one transform -- e.g.
+* "V[x=@ave,t=@sum]" or "V[gt=clim at mod,x=@ave]".  In general such syntaxes
+* should be discouraged.
+
+* V702  3/17 *sh* Code extracted from IS_STRIP and several refinements added
+
+	include 'tmap_dims.parm'
+	include	'ferret.parm'
+	include	'errmsg.parm'
+	include	'interp_stack.parm'
+	include	'xcontext.cmn'
+	include	'xvariables.cmn'
+	include	'xprog_state.cmn'
+	include	'xalgebra.cmn'
+	include	'xax_speed.cmn'
+        include 'xtm_grid.cmn_text'
+
+* calling arguments:
+*  res_cx - (input) (aka lo_cx) context of the result, including
+*                   the transform (e.g. @AVE)
+*  src_cx - (inout) (aka hi_cx) On input the full context that must
+*                   be processed in order for Ferret to compute the transform.
+*                   On output it is the context of the first chunk
+*  axis   - (inout) If splitting occurs it may not be along the transform axis 
+ 
+* calling argument declarations:
+	INTEGER	aclass, res_cx, src_cx, lo_isp, axis, status
+
+* internal variable declarations:
+	LOGICAL ITSA_MODULO_REGRID,
+     .		itsa_uvar, split_on_compressed_ax, dup_split,
+     .		inadequate_split_length, use_caution, no_axis_found,
+     .		multiax_trans(nferdims),
+     .		ax_splittable(nferdims),
+     .		ax_compressed(nferdims)
+	INTEGER	POTENT_SIZE, CGRID_UVAR_SIZE, CGRID_SIZE_MAX,
+     .		i, i1, i2, dset, var, cat, big_cx, split_ax, ax_trans,
+     .		frag, lo_ss, hi_ss, trans, nbuffers, ax1, ax2,
+     .		split_ax_len, ncomp, nsplittable,
+     .		n_dfrnt_xforms, ax_len(nferdims)
+	INTEGER*8 available_mem, set_aside_mem, free_mem,
+     .		deferred_essential_mem, min_mem_used, res_size, src_size,
+     .		ax_min_mem(nferdims)
+	REAL	rsrc_size, reduction_factor_needed
+
+******
+* logic in this routine goes in 4 phases
+* 0. Initialize: amount of memory available, the size of the result, etc.
+* 1. Determine if splitting is needed              (exit if no)
+* 2. Find the slowest single axis split that fits  (skip to step 4 if found)
+* 3. Find the slowest 2-axis split that fits       (skip to step 4 if found)
+*      If no solution so far, reduce the memory held in reserve and goto 2
+* 4. Setup the split/gather
+******
+
+* initialize
+	dset = cx_data_set( res_cx )
+	var  = cx_variable( res_cx )
+	cat  = cx_category( res_cx )
+	itsa_uvar = cat .EQ. cat_user_var
+	use_caution = mode_state(pmode_frugal,1)
+	status = ferr_ok
+
+* if we are returning here as part of a multi-axis split, then the isp stack
+* level just above us will also be isact_gather.  If so, learn the amount of
+* memory of memory that the previous axes have committed
+	IF (lo_isp .LT. 2) RETURN ! should never happen. Playing it safe.
+	IF (is_act(lo_isp-1) .EQ. isact_gather) THEN
+	   deferred_essential_mem = is_deferred_mem(lo_isp-1)
+	ELSE
+	   deferred_essential_mem = 0
+	ENDIF	
+
+****************************************************************
+* ***** PHASE 1. Determine if splitting is needed   (exit if no)
+
+* how much memory will be needed for the full source data of the transform?
+	IF ( aclass.EQ.isact_class_trans ) THEN 
+!	   src_size = CGRID_SIZE( src_cx )
+! ... have to use POTENT_SIZE because of cases like V[X=@SUM,T=@AVE]
+	   src_size = POTENT_SIZE( res_cx )
+	   trans  = cx_trans( axis, res_cx )
+	ELSE					! modulo regrid
+! ... FIXME: CGRID_SIZE_MAX is buggy, and a calc like POTENT_SIZE is needed
+!            if modulo regridding and @AVE are combined on a single variable
+	   src_size = CGRID_SIZE_MAX( src_cx )	! unknown lims get len=line_dim
+	   trans = trans_no_transform
+	ENDIF
+
+* locate other axes of a multi-axis transform (e.g. xy average)
+* and determine how many *different* compressing transforms there are
+	n_dfrnt_xforms = 0
+        DO i = 1, nferdims
+           multiax_trans(i) = cx_trans(i, res_cx) .EQ. trans
+	   IF (.NOT.multiax_trans(i)
+     .    .AND. (cx_trans(i,res_cx) .GT. trans_compress_code) )
+     .		n_dfrnt_xforms = n_dfrnt_xforms + 1
+        ENDDO
+
+* how many result buffers are needed?
+* ... to split/gather on a compressed axis requires
+*     1) the result
+*     2) the accumulation buffer (e.g. @ave requires a running sum)
+*     3) additional accumulation buffer for @VAR
+* ... modulo regrids require 3 buffers, plus one more for modvar (see IS_TRANS)
+*     If split/gather occurs on the compressed axis, then the buffers are
+*     part of the result size.  If the split/gather occurs on another axis
+*     then the buffers are part of the chunk size (the "source" data - src)
+	IF (aclass .EQ. isact_class_trans) THEN
+	   IF (trans .EQ. trans_variance) THEN
+	      nbuffers = 3
+	   ELSE
+	      nbuffers = 2
+	   ENDIF
+	ELSE
+	   IF (cx_regrid_trans(axis,res_cx) .EQ. prgrd_modvar) THEN
+	      nbuffers = 4   ! see IS_REGRID
+	   ELSE
+	      nbuffers = 3
+	   ENDIF
+	ENDIF
+
+*  ...to compute a user variable often requires temporary vars and other
+*     component vars to be held in memory at once as function arguments
+*     As a default cautious assumption we will allow a uvar to use only
+*     1/4 as much memory, figuring there may be 4 of them in memory at once
+*     NOTE: This is the crudest heuristic used in this memory management (3/17)
+*     It forces Ferret to use much less memory on a uvar, even if its
+*     definition is simply V=fvar, which needs no extra memory at all because
+*     it uses RE_ASSIGN_VARIABLE in IS_ALGEBRA.  The best improvement I have
+*     been able to come up with for this would be that during get_grid phase
+*     in addition to a grid we compute a "max_significant_stack_depth" for
+*     each uvar.  This would count only the fvars and uvars (not constants and
+*     pseudo-vars which are small) that need to be on the stack simultaneously
+*     In pyramids of definitions, the stack requirements of child vars would
+*     need to factor into this calculation (heuristically, cuz the exact stack
+*     max cannot be determined in this simple way).
+	IF (itsa_uvar) THEN
+	   ncomp = 4   ! a pretty cautious choice
+	ELSE
+	   ncomp = 1
+	ENDIF
+* ... if there are multiple transforms on the expression, each acts like
+*     another component to be evaluated (at least I think so ...)
+	ncomp = ncomp + n_dfrnt_xforms
+
+* how much memory is there that is not already committed
+	free_mem = max_mem_allowed
+     .		- (permanent_mem + essential_mem + deferred_essential_mem)
+
+* ... if the available memory is so small that even the result cannot fit, 
+*     abort now where we can give the most informative error report
+*     Note that IS_STRIP (and this routine) gets called up a second time
+*     whenever an uncompressed axis has been chosen for splitting.  At that
+*     time deferred_committed_mem will reflect the size of the result buffer
+*     from the first pass.
+	res_size = CGRID_UVAR_SIZE( res_cx )   ! size of result
+	IF (free_mem .LE. res_size) GOTO 5100 
+
+* how much memory to set aside as hedge against running out?
+	IF (use_caution) THEN
+	   set_aside_mem = (mode_arg(pmode_frugal,1)/100.) * free_mem
+	   available_mem = free_mem - set_aside_mem
+	ELSE
+	   available_mem = free_mem
+	ENDIF
+
+* do we need to split up the calculation ?
+	IF ( ((ncomp*src_size)+(nbuffers*res_size))
+     .	 .LE. available_mem                           ) RETURN
+
+****************************************************************
+* ***** PHASE 2. Find the best single axis split    (skip 3 if yes)
+
+* Init phase 2 variables
+ 100	nsplittable       = 0
+	inadequate_split_length = .FALSE.
+
+* Loop through the potential spliattable axes, giving preference to
+* axes of slower access
+	DO i = nferdims, 1, -1
+	   IF ( dset.GT.pdset_irrelevant .AND. dset.LE.maxdsets ) THEN
+              split_ax = ds_ax_speed(i, dset)
+	   ELSE
+	      split_ax = i
+	   ENDIF
+
+	   ax_splittable(split_ax) = .FALSE.  ! default until proven other
+
+* Cannot split/gather on axes that are transformed with an algorithm
+*       that depends upon looking at neighboring data points (well, not so
+*       easily, anyway). smoothers, fillers, @LOC, etc.
+	   ax_trans = cx_trans(split_ax,res_cx)
+	   IF    (ax_trans .NE. trans_no_transform) THEN
+	      IF (ax_trans .LE. trans_compress_code
+     .       .OR. ax_trans .EQ. trans_locate        ) CYCLE
+	   ENDIF
+
+* Cannot split along a modulo regrid axis
+	   IF ( ITSA_MODULO_REGRID(res_cx,split_ax) ) CYCLE
+
+* Beware user-defined vars with limits specified in definition
+	   IF ( itsa_uvar ) THEN
+	      IF ( uvar_given(split_ax,var) .NE. uvlim_needed ) CYCLE
+	   ENDIF
+
+	   CALL POTENT_AX_LIMS(res_cx, split_ax, lo_ss, hi_ss)
+	   split_ax_len = hi_ss - lo_ss + 1
+	   IF (split_ax_len .EQ. 1) CYCLE
+
+* The only compressed axes allowed for splitting are THE trans
+* If there is more than one compressing transform (e.g. V[z=@AVE,T=@VAR])
+* reordering them may give a wrong result due to non-linearity
+* If res_cx includes other compressing transformations
+* INTERP_STACK & IS_STRIP will return us here for those in turn
+	   split_on_compressed_ax = ax_trans .GT. trans_compress_code
+	   IF (split_on_compressed_ax
+     .    .AND. .NOT.multiax_trans(split_ax)  )   CYCLE
+
+* By how much does the source data exceed the available space?
+* For a compressing calculation like @AVE
+*     available_mem must hold   [nbuffers*res_size+src_size]  at one time
+* If we split along the compressed axis there must be room for the result
+* with its buffers and a chunk of source data reduced along the compressed axis
+* ==> mem_used     = nbuffers*res_size + src_size/reduction_factor
+* The maximum reduction factor is when we split into chunks of a single index
+* ==> min_mem_used = nbuffers*res_size + src_size/split_ax_len
+* If we split along an uncompressed axis, each chunk of the calculation
+* acts like a smaller version of the full transformation, where the length
+* of the split axis has been reduced
+* ==> mem_used     = res_size + (nbuffers*res_size+src_size)/reduction_factor
+* ==> min_mem_used = res_size + (nbuffers*res_size+src_size)/split_ax_len
+	   rsrc_size = src_size    ! force calculations into floating point
+	   IF (split_on_compressed_ax) THEN
+	      min_mem_used = nbuffers*res_size
+     .			   + (ncomp*rsrc_size)/split_ax_len
+	   ELSE
+	      min_mem_used = res_size
+     .			   + (nbuffers*res_size+ncomp*rsrc_size)/split_ax_len
+	   ENDIF
+
+* We found a splittable axis!
+* If this axis is long enough to do the job, then use it
+	   IF (available_mem .GE. min_mem_used ) GOTO 1000
+
+* save a summary of this axis to use later if a multi-axis split is needed
+	   nsplittable = nsplittable + 1
+	   ax_splittable(split_ax) = .TRUE.
+	   ax_compressed(split_ax) = split_on_compressed_ax
+	   ax_len       (split_ax) = split_ax_len
+	   ax_min_mem   (split_ax) = min_mem_used
+	ENDDO
+
+****************************************************************
+* ***** PHASE 3. Find the best multiple axis split
+
+* Done looping through the axes with no axis long enough to do the job, alone.
+	inadequate_split_length = .TRUE.
+
+* Now the hard case -- select the best two axes to split on:
+* Splitting on multiple axes means that we will be returning here again
+* When we split along the compressed axis the transform gets removed from
+* the individual chunks, so further splitting of the chunk becomes impossible
+* Therefore we must choose to split on an uncompressed axis first
+
+* The optimal strategy is to choose the two slowest axes that together will
+* provide the required requction factor.
+* ax1 is the axis that will be chosen for splitting, so it must be uncompressed
+	IF (nsplittable .GE. 2) THEN
+	   DO i1 = nferdims, 1, -1
+	      IF ( dset.GT.pdset_irrelevant .AND. dset.LE.maxdsets ) THEN
+                 ax1 = ds_ax_speed(i1, dset)
+	      ELSE
+	         ax1 = i1
+	      ENDIF
+
+	      IF (.NOT.ax_splittable(ax1)) CYCLE
+	      IF (ax_compressed(ax1)) CYCLE
+
+	      DO i2 = nferdims, 1, -1
+	         IF ( dset.GT.pdset_irrelevant .AND. dset.LE.maxdsets ) THEN
+                    ax2 = ds_ax_speed(i2, dset)
+	         ELSE
+	            ax2 = i2
+	         ENDIF
+
+	         IF (ax2 .EQ. ax1) CYCLE
+	         IF (.NOT.ax_splittable(ax2)) CYCLE
+
+* ... can these two axes together provide the needed reduction in size?
+*     the minimum memory needed for the 2-level nested gather is
+*     ax_min_mem(ax1) + ax_min_mem(ax2)/ax_len(ax1)
+	         IF (available_mem .GE. ncomp*
+     .		     (ax_min_mem(ax1) + ax_min_mem(ax2)/ax_len(ax1))  ) THEN
+* ... we found a 2-level split/gather that will work
+	            split_ax = ax1
+	            split_on_compressed_ax = .FALSE.
+	            GOTO 1000
+	         ENDIF
+	      ENDDO
+	   ENDDO
+	ENDIF
+
+* We did not find two axes that can fit this transformation into avail_mem
+* Try again with less caution, if wiggle room still exists
+	IF (use_caution) GOTO 2000
+
+* Boy, we're in a tough spot. 
+* No answer was found that was guaranteed to fit into available_mem
+* Instead choose a strategy that represents a reasonable college try
+* ... Whatever axis we choose, at this point we are guaranteed that the frag
+*     size will be 1 (else we wouldn;t be at this point)
+*     so there is no reason to adjust available_mem back to its cautious level
+* Choose an uncompressed axis if one is available, because it can be
+* part of a 2-axis split.  Choose the longest one.  It reduces the most.
+	no_axis_found = .TRUE.
+	DO i = 1, nferdims
+	   IF (.NOT.ax_splittable(i)) CYCLE
+	   IF (ax_compressed(i)) CYCLE
+* ... found an uncompressed axis
+	   IF (no_axis_found) THEN
+	      split_ax = i
+	      no_axis_found = .FALSE.
+	   ELSEIF (ax_len(i) .GT. ax_len(split_ax)) THEN
+	      split_ax = i
+	   ENDIF
+	ENDDO
+
+* If no uncompressed axis is available, then choose the longest compressed axis
+	IF (no_axis_found) THEN
+	   DO i = 1, nferdims
+	      IF (.NOT.ax_splittable(i)) CYCLE
+* ... found an uncompressed axis
+	      IF (no_axis_found) THEN
+	         split_ax = i
+	         no_axis_found = .FALSE.
+	      ELSEIF (ax_len(i) .GT. ax_len(split_ax)) THEN
+	         split_ax = i
+	      ENDIF
+	   ENDDO
+	ENDIF
+
+* skunked?
+	IF (no_axis_found) RETURN ! mod regrid w no other axes available?
+
+	split_on_compressed_ax = ax_compressed(split_ax)
+!	GOTO 1000
+
+****************************************************************
+* ***** PHASE 4. Setup the split/gather
+
+* OK - lets divvie this baby up into chunks!
+* save the default context so it can be re-used at each chunk
+* a compressed axis is represented as lo/hi_ss=-999, which is not what we want
+* so if splitting on a compressed axis, store src_cx
+ 1000	axis = split_ax
+	IF (split_on_compressed_ax) THEN
+* ... when splitting on a compressed axis the stack activity remains the 
+*     compressing transform.  It is IS_TRANS, instead of IS_GATHER, that
+*     will control the fetching of fragment after fragment
+	   CALL CREATE_NEW_CONTEXT( src_cx, big_cx, status )	! pushes stack
+	   is_phase( lo_isp ) = isphase_initialize_transform
+	ELSE
+	   aclass = isact_class_gather
+	   is_act(lo_isp) = isact_gather
+	   CALL CREATE_NEW_CONTEXT( res_cx, big_cx, status )	! pushes stack
+	ENDIF
+	IF ( status .NE. ferr_ok ) GOTO 5000
+	is_big_cx( lo_isp ) = big_cx
+* cancel result pointer to indicate no result yet
+	is_mr( lo_isp ) = unspecified_int4
+* determine the number of subscripts that can be processed in each chunk
+	CALL POTENT_AX_LIMS(res_cx, axis, lo_ss, hi_ss)
+	split_ax_len = hi_ss - lo_ss + 1
+	IF (split_on_compressed_ax) THEN
+	   reduction_factor_needed = ncomp*rsrc_size
+     .				   / (available_mem-nbuffers*res_size)
+	ELSE
+	   reduction_factor_needed = (nbuffers*res_size + ncomp*rsrc_size)
+     .				   / (available_mem-res_size)
+	ENDIF
+	frag = split_ax_len / reduction_factor_needed
+	IF (frag .LT. 1) frag = 1
+	is_sum( lo_isp ) = frag
+* set the subscript range for the first gather fragment
+	CALL TRANSFER_CONTEXT( big_cx, src_cx )
+	cx_hi_ss(src_cx,axis) = lo_ss + frag - 1
+	cx_by_ss(axis,src_cx) = .TRUE.
+	CALL FLESH_OUT_AXIS( axis, src_cx, status )
+	IF ( status .NE. ferr_ok ) GOTO 5000
+
+* diagnostic output about split on compressed axis
+*    (this is a "dummy" interp stack activity in the sense that is_act is
+*     never actually given this activity.  It exists only to generate an
+*     informative diagnostic report)
+	IF ( mode_diagnostic .AND. split_on_compressed_ax ) THEN
+	   CALL DIAG_OP('strip', isact_class_cmp_gather_dummy, big_cx, axis)
+	   CALL DIAG_OP('doing', isact_class_cmp_gather_dummy, src_cx, axis)
+	ENDIF
+
+* at this point we have obligated the use of memory for the result,
+* but we have not yet actually created the memory objects.
+* That will occur in IS_TRANS during its initiailzation phase.
+* So here we plant a record of what we have obligated into the stack, so that
+* when multi-axis strip-gather operations are needed, the next (nested) call
+* to this routine will know of the deferred memory allocations
+* We only alert to deferred memory usage if the frag we have selected is
+* inadequate to fillfill the memory reduction with a single axis split
+	IF (inadequate_split_length) THEN
+	   IF (split_on_compressed_ax) THEN
+	      is_deferred_mem(lo_isp) = nbuffers*res_size
+	   ELSE
+	      is_deferred_mem(lo_isp) = res_size
+	   ENDIF
+	ELSE
+	      is_deferred_mem(lo_isp) = 0
+	ENDIF
+
+* store diagnostic information about the splitting (see SHOW MEM split)
+	IF (nsplits .LE. max_splits) THEN
+	   IF (nsplits .EQ. 0) THEN
+	      dup_split = .FALSE.
+	   ELSE
+	      dup_split = var     .EQ. split_var  (nsplits)
+     .             .AND. cat      .EQ. split_cat  (nsplits)
+     .             .AND. trans    .EQ. split_trans(nsplits)
+     .             .AND. split_ax .EQ. split_axis (nsplits)
+	   ENDIF
+	   IF (dup_split) THEN
+	      split_repeats(nsplits) = split_repeats(nsplits) + 1
+	   ELSE
+	      nsplits = nsplits + 1
+	      split_var  (nsplits) = var
+	      split_cat  (nsplits) = cat
+	      split_axis (nsplits) = split_ax
+	      split_trans(nsplits) = trans
+	      split_frag(nsplits)  = frag
+	      split_repeats(nsplits) = 1
+	   ENDIF
+	ENDIF
+
+* successful completion
+	RETURN
+
+* prepare to go back for another pass
+* ... pass 1 tries to succeed with mode_frugal percent held in reserve
+* ... pass 2 tries again half that much in reserve
+* ... pass 3 tries again using all available memory
+ 2000	available_mem = available_mem + 0.500001*set_aside_mem
+	IF (available_mem .GE. free_mem) THEN
+	   available_mem = free_mem
+	   use_caution = .FALSE.
+	ENDIF
+	GOTO 100
+
+* error exits
+ 5000	RETURN
+ 5100	CALL ERRMSG( ferr_insuff_memory,status,
+     .	    'Requested result is larger than the available memory', *5110)
+ 5110	CALL SHOW_ABORTED_MEM_STATE(res_size)
+	GOTO 5000
+
+	END
diff --git a/fer/stk/setup_sample.F b/fer/stk/setup_sample.F
index 06afe56..970804a 100644
--- a/fer/stk/setup_sample.F
+++ b/fer/stk/setup_sample.F
@@ -1,4 +1,4 @@
-	SUBROUTINE SETUP_SAMPLE( memory, cx_indices, mr_indices,
+	SUBROUTINE SETUP_SAMPLE(  cx_indices, mr_indices,
      .				 ifcn, big_cx, status )
 
 *
@@ -57,7 +57,6 @@
 
 * calling argument declarations:
 	INTEGER	cx_indices, ifcn, mr_indices, big_cx, status
-	REAL	memory( mem_blk_size, max_mem_blks )
 
 * ... interpretation stack setup at the time this is called ...
 *	stack level		stack contents
@@ -69,6 +68,7 @@
 	INTEGER n, dims(nferdims), ndim, hold_isp, cx_holder,
      .		min_ss, max_ss, res_grid,
      .		mr_sorted_indices, mr_index_map, axis, nvalid
+	INTEGER*8 n8
 
 * --- end of introductory code ---
 
@@ -83,17 +83,18 @@
 
 * create memory managed work arrays for the sorted_indices and index_map
 	n = CGRID_SIZE(cx_indices)
-	CALL GET_WORK_MR(n,mr_sorted_indices, status)
+	n8 = n     ! promote to INTEGER*8
+	CALL GET_WORK_MR(n8,mr_sorted_indices, status)
 	IF ( status .NE. ferr_ok ) GOTO 5000
-	CALL GET_WORK_MR(n,mr_index_map, status)
+	CALL GET_WORK_MR(n8,mr_index_map, status)
 	IF ( status .NE. ferr_ok ) GOTO 5000
 !	mr_hi_ss(mr_index_map,x_dim) = n	! done in GET_WORK_MR
 
 * extract the 1D list of indices to be obtained
         CALL EXTRACT_LINE ( cx_indices,
-     .                      memory( 1, mr_blk1(mr_indices) ),
+     .                      memry(mr_indices)%ptr,
      .                      mr_indices,
-     .                      memory( 1, mr_blk1(mr_sorted_indices) ),
+     .                      memry(mr_sorted_indices)%ptr,
      .                      dims,
      .                      ndim,
      .                      n,
@@ -109,8 +110,8 @@
 	CALL SORT_LIST(n, min_ss, max_ss,  
      .			   mr_bad_data(mr_indices),
      .			   mr_bad_data(mr_sorted_indices),
-     .			   memory(1,mr_blk1(mr_sorted_indices)),
-     .			   memory(1,mr_blk1(mr_index_map)), nvalid )
+     .			   memry(mr_sorted_indices)%ptr,
+     .			   memry(mr_index_map)%ptr, nvalid )
 
 * pass the number of valid points through the (irrelevant) T axis indices
 * of the (one-dimensional) mr_index_map array
diff --git a/fer/stk/trans_init_value.F b/fer/stk/trans_init_value.F
new file mode 100644
index 0000000..44d5043
--- /dev/null
+++ b/fer/stk/trans_init_value.F
@@ -0,0 +1,126 @@
+	SUBROUTINE TRANS_INIT_VALUE( idim, cx,
+     .			             need_init, init_val, nbuffer)
+
+*  This software was developed by the Thermal Modeling and Analysis
+*  Project(TMAP) of the National Oceanographic and Atmospheric
+*  Administration's (NOAA) Pacific Marine Environmental Lab(PMEL),
+*  hereafter referred to as NOAA/PMEL/TMAP.
+*
+*  Access and use of this software shall impose the following
+*  obligations and understandings on the user. The user is granted the
+*  right, without any fee or cost, to use, copy, modify, alter, enhance
+*  and distribute this software, and any derivative works thereof, and
+*  its supporting documentation for any purpose whatsoever, provided
+*  that this entire notice appears in all copies of the software,
+*  derivative works and supporting documentation.  Further, the user
+*  agrees to credit NOAA/PMEL/TMAP in any publications that result from
+*  the use of this software or in any product that includes this
+*  software. The names TMAP, NOAA and/or PMEL, however, may not be used
+*  in any advertising or publicity to endorse or promote any products
+*  or commercial entity unless specific written permission is obtained
+*  from NOAA/PMEL/TMAP. The user also understands that NOAA/PMEL/TMAP
+*  is not obligated to provide the user with any support, consulting,
+*  training or assistance of any kind with regard to the use, operation
+*  and performance of this software nor to provide the user with any
+*  updates, revisions, new versions or "bug fixes".
+*
+*  THIS SOFTWARE IS PROVIDED BY NOAA/PMEL/TMAP "AS IS" AND ANY EXPRESS
+*  OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+*  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+*  ARE DISCLAIMED. IN NO EVENT SHALL NOAA/PMEL/TMAP BE LIABLE FOR ANY SPECIAL,
+*  INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
+*  RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF
+*  CONTRACT, NEGLIGENCE OR OTHER TORTUOUS ACTION, ARISING OUT OF OR IN
+*  CONNECTION WITH THE ACCESS, USE OR PERFORMANCE OF THIS SOFTWARE. 
+*
+*
+* determine the value to use when initializing the output buffer in preparation
+* for performing a transformation
+* @AVE and @DIN, for example, require the result array to be initialized to
+* zero so that sums can be accumulated
+* @SUM needs to count up the number of good-values - an all-bad chunk contributes
+* 0 to the sum; we need to know if there's no valid data over the accumulated sum.
+* @AVE requires nbuffer=2, because it accumulates both weighted sum of values
+* and sum of weights (to be divided in the finalize stage), whereas @DIN
+* requires only nbuffer = 1
+
+
+* programmer - steve hankin
+* NOAA/PMEL, Seattle, WA - Tropical Modeling and Analysis Program
+*
+* V702 11/16 *sh* for enhancement ticket 2428: split/gather on compressed axes
+*       3/17 *sh* nbuffers must be 2 (or more) whenever there is an
+*                 accumulation operation implied (e.g. summing, min, max, ...)
+
+* calling argument declarations:
+	LOGICAL need_init
+	INTEGER idim, cx, nbuffer
+	REAL	init_val
+
+	include 'tmap_dims.parm'
+	include	'ferret.parm'
+	include	'errmsg.parm'
+	include	'xcontext.cmn'
+
+* internal variable declarations:
+	INTEGER	trans
+
+* internal parameter declaration
+        REAL            too_small
+        PARAMETER     ( too_small = -1.E33 )
+        REAL            too_large
+        PARAMETER     ( too_large = 1.E33 )
+
+* --- end of introductory code ---
+* initiailize
+	trans = cx_trans( idim, cx )
+
+	IF ( trans .EQ. trans_average
+     .  .OR. trans .EQ. trans_4d_ave   
+     .  .OR. trans .EQ. trans_integ_def
+     .  .OR. trans .EQ. trans_4d_int_def  ) THEN
+* ... integration accumulates weights, too, so a zero accumulated weight
+*     results in a missing value, instead of a zero
+	   need_init = .TRUE.
+	   init_val = 0.0
+	   nbuffer = 2
+	ELSEIF (trans .EQ. trans_4d_good_pt
+     .      .OR. trans .EQ. trans_bad_pt
+     .      .OR. trans .EQ. trans_4d_bad_pt
+     .      .OR. trans .EQ. trans_sum
+     .      .OR. trans .EQ. trans_4d_sum
+     .      .OR. trans .EQ. trans_good_pt
+     .      .OR. trans .EQ. trans_4d_good_pt
+     .      .OR. trans .EQ. trans_bad_pt
+     .      .OR. trans .EQ. trans_4d_bad_pt   ) THEN
+	   need_init = .TRUE.
+	   init_val = 0.0
+	   nbuffer = 2
+	ELSEIF ( trans .EQ. trans_variance
+     .      .OR. trans .EQ. trans_4d_var
+     .	    .OR. trans .EQ. trans_std_dev
+     .      .OR. trans .EQ. trans_4d_std ) THEN
+	   need_init = .TRUE.
+	   init_val = 0.0
+	   nbuffer = 3
+	ELSEIF ( trans .EQ. trans_max ) THEN
+	   need_init = .TRUE.
+	   init_val = too_small
+	   nbuffer = 2
+	ELSEIF ( trans .EQ. trans_min ) THEN
+	   need_init = .TRUE.
+	   init_val = too_large
+	   nbuffer = 2
+	ELSE
+* all other transformations do not require initialization
+*      trans_locate - potentially could, but would need added machinery during
+*                     split gather since it is locating a result that lies
+*                     *between* two points
+	   need_init = .FALSE.
+	   init_val = unspecified_val8
+	   nbuffer = 1
+	ENDIF
+
+	RETURN
+
+	END
diff --git a/fer/utl/SOURCE_FILES b/fer/utl/SOURCE_FILES
index 5b95bd8..b081d5b 100644
--- a/fer/utl/SOURCE_FILES
+++ b/fer/utl/SOURCE_FILES
@@ -70,6 +70,7 @@ full_scan_indices.F\
 gcf_arg_type.F\
 gcf_child_var_name.F\
 gcf_find_fcn.F\
+gcf_get_alt_fcn_dir_arg.F\
 gcf_get_arg_lims.F\
 gcf_get_arg_parms.F\
 gcf_get_axis_srcs.F\
@@ -82,6 +83,9 @@ gcf_num_args.F\
 gcf_parent_char.F\
 gcf_parent_uvar.F\
 gcf_rtn_type.F\
+gcf_set_abstract_axis.F\
+gcf_set_alt_fcn_for_dir.F\
+gcf_set_normal_axis.F\
 geog_var.F\
 get_abstract_line.F\
 get_ave_lims.F\
@@ -116,6 +120,8 @@ isubscript.F\
 its_fmrc.F\
 itsa_1lineif.F\
 itsa_const_var.F\
+itsa_dcvar.F\
+itsa_dirc_fcn.F\
 itsa_fill_trans.F\
 itsa_gcvar.F\
 itsa_modulo_axis.F\
@@ -153,8 +159,10 @@ reset_climat_att.F\
 reset_secs_from_bc.F\
 reverse_grid_axis.F\
 reverse_grid_axis_sub.F\
+return_one_val.F\
 save_uvar_aux_info.F\
 save_uvar_grid.F\
+save_uvar_type.F\
 secs_from_bc.F\
 secs_to_date.F\
 secs_to_date_c.F\
@@ -191,5 +199,6 @@ unit_chg_ax.F\
 update_attributes.F\
 upper_case.F\
 valid_grid.F\
+warn_occasionally.F\
 which_gcfcn.F \
 get_date_and_time.F
diff --git a/fer/utl/gcf_get_alt_fcn_dir_arg.F b/fer/utl/gcf_get_alt_fcn_dir_arg.F
new file mode 100644
index 0000000..b993926
--- /dev/null
+++ b/fer/utl/gcf_get_alt_fcn_dir_arg.F
@@ -0,0 +1,22 @@
+	SUBROUTINE GCF_GET_ALT_FCN_DIR_ARG( gcfcn, idir_args )
+
+* return the argument that sets a direction indicating 
+* an alternative function.
+
+
+	include	'tmap_dims.parm'
+	include 'ferret.parm'
+	include 'grid_chg_fcns.parm' 
+	include 'xgrid_chg_fcns.cmn'
+
+* calling argument declarations
+	INTEGER		gcfcn, idir_args(*)
+
+	INTEGER idim
+
+	DO idim = 1, nferdims
+	   idir_args(idim) = gfcn_dir_args (idim, gcfcn)
+	ENDDO
+
+	RETURN
+	END
diff --git a/fer/utl/gcf_impose_axes.F b/fer/utl/gcf_impose_axes.F
index d5c0503..32e83b5 100644
--- a/fer/utl/gcf_impose_axes.F
+++ b/fer/utl/gcf_impose_axes.F
@@ -111,13 +111,15 @@
 	         uvar_given(idim,uvar) = uvlim_hidden	! 12/99
 	      ELSEIF ( gcfcn .EQ. p_spawn ) THEN
 	         uvar_given(idim,uvar) = uvlim_hidden   ! 7/01
+	      ELSEIF ( gcfcn .EQ. p_reshape ) THEN
+	         uvar_given(idim,uvar) = uvlim_hidden   ! 3/17
 	      ELSE
 * ... allows XSEQUENCE, etc. context to be determined w/out full evaluation
 *     This can make some scripts more efficient ... others maybe less because
 *     uvlim_hidden would make caching more effective.  Example like
 *       "let a = XSEQUENCE(J[j=1:5]); say `a[i=100:200],return=isize`"
 *     can actually yield a wrong answer
-	         uvar_given(idim,uvar) = uvlim_needed ! for fcns like RESHAPE
+	         uvar_given(idim,uvar) = uvlim_needed ! 3/17 - not for RESHAPE
 	      ENDIF
 	   ELSE
 * ... it is evidently, a mergible axis ... continue on
diff --git a/fer/utl/gcf_impose_result_lims.F b/fer/utl/gcf_impose_result_lims.F
index 4b6a0d8..64f40b6 100644
--- a/fer/utl/gcf_impose_result_lims.F
+++ b/fer/utl/gcf_impose_result_lims.F
@@ -1,4 +1,4 @@
-      SUBROUTINE GCF_IMPOSE_RESULT_LIMS( gcfcn, memory, mr_list,
+      SUBROUTINE GCF_IMPOSE_RESULT_LIMS( gcfcn,  mr_list,
      .     cx_list, res_cx, status )
 
 *  This software was developed by the Thermal Modeling and Analysis
@@ -63,6 +63,7 @@
 * V533: 7/01 *sh* - added SPAWN function
 *       *acm* 3/12 Add E and F dimensions (use nferdims in tmap_dims.parm)
 * V6.8  *acm* 5/12 Add EUNRAVEL, FUNRAVEL
+* V720: 4/17 *acm* Add direction-changing functions as a subset of grid-changing ones
 
 * debug declarations for TIMES2
 !	INTEGER	n_com1, n_grid, com1_grid
@@ -78,7 +79,6 @@
 
 * calling argument declarations
 	INTEGER	gcfcn, cx_list(*), mr_list(*), res_cx, status
-	REAL	memory( mem_blk_size, max_mem_blks )
 
 * internal variable declarations
 	LOGICAL fix_me(nferdims)
@@ -359,7 +359,7 @@
      .          .OR. axis_will_be(4) .EQ. pgc_axis_is_abstract
      .          .OR. axis_will_be(5) .EQ. pgc_axis_is_abstract
      .          .OR. axis_will_be(6) .EQ. pgc_axis_is_abstract)	THEN
-              CALL EFCN_GET_RESULT_LIMITS(gcfcn, memory, mr_list, 
+              CALL EFCN_GET_RESULT_LIMITS(gcfcn,  mr_list, 
      .             cx_list, status)
               IF (status .NE. ferr_ok) CALL ERRMSG
      .                          ( status, status,' ', *5000 )
@@ -367,7 +367,6 @@
 
 	   DO 450 idim = 1, nferdims
 
-
 * If the axis is abstract ... 
 *   get the lo and hi limits for this axis
 *   create one as in *SEQUENCE above
@@ -378,15 +377,21 @@
 		 cx_lo_ss(res_cx,idim) = lo_lim
 		 cx_hi_ss(res_cx,idim) = hi_lim
 		 cx_by_ss(idim, res_cx) = .TRUE.
+		 IF (has_uvar_dc) CALL GCF_SET_ABSTRACT_AXIS (res_grd, idim)
 		 CALL FLESH_OUT_AXIS( idim, res_cx, status )
 		 IF ( status .NE. ferr_ok ) GOTO 5000
 
+		 IF (has_uvar_dc) uvar_given(idim,uvar) = uvlim_hidden
+
 
 * If the axis is normal ... nothing needs to be done
+*  - if the function set using a dimension argument, limits need resetting  
 
-*	      ELSEIF (axis_will_be(idim) .EQ. pgc_axis_is_normal) THEN
-*       do nothing
+	      ELSEIF (axis_will_be(idim) .EQ. pgc_axis_is_normal) THEN
 
+		 CALL GCF_SET_NORMAL_AXIS (res_grd, idim)
+		 CALL FLESH_OUT_AXIS (idim, res_cx, status)  ! set everything needed in the cx
+		 IF (has_uvar_dc) uvar_given(idim,uvar) = uvlim_irrelevant
 
 * If the axis is custom
 
diff --git a/fer/stk/exit_dependency_mode.F b/fer/utl/gcf_set_abstract_axis.F
similarity index 80%
copy from fer/stk/exit_dependency_mode.F
copy to fer/utl/gcf_set_abstract_axis.F
index 465bb80..80089ce 100644
--- a/fer/stk/exit_dependency_mode.F
+++ b/fer/utl/gcf_set_abstract_axis.F
@@ -1,7 +1,5 @@
-	SUBROUTINE EXIT_DEPENDENCy_MODE
+	SUBROUTINE GCF_SET_ABSTRACT_AXIS( grid, idim )
 
-*
-*
 *  This software was developed by the Thermal Modeling and Analysis
 *  Project(TMAP) of the National Oceanographic and Atmospheric
 *  Administration's (NOAA) Pacific Marine Environmental Lab(PMEL),
@@ -35,20 +33,23 @@
 *  CONNECTION WITH THE ACCESS, USE OR PERFORMANCE OF THIS SOFTWARE. 
 *
 *
-* reset COMMON values that indicate the special mode used for assesing 
-* user variable dependency trees
+* A grid has been determined to need an abstract axis in a particular direction,
+* when setting an alternate function to run depending on direction arguments.
 
-* programmer - steve hankin
-* NOAA/PMEL, Seattle, WA - Tropical Modeling and Analysis Program
-*
-* V685+ 11/13 *sh*  
+* 
+* V720 3/16 *acm* 
 
+	include 'ferret.parm'
 	include 'tmap_dims.parm'
-	include	'ferret.parm'
-	include 'xdependency_tree.cmn'
+	include	'xtm_grid.cmn_text'
+	external xgt_grid_data
+	include 'xfr_grid.cmn'       ! w/ mgrid_abstract
+
+
+* calling argument declarations
+	INTEGER		grid, idim
 
-	dependency_tree_mode = .FALSE.
-	CALL RELEASE_WORK_SPC
+	grid_line(idim, grid) = grid_line(idim,mgrid_abstract)
 
-     	RETURN
+	RETURN
 	END
diff --git a/fer/utl/save_uvar_grid.F b/fer/utl/gcf_set_alt_fcn_for_dir.F
similarity index 62%
copy from fer/utl/save_uvar_grid.F
copy to fer/utl/gcf_set_alt_fcn_for_dir.F
index 8d8b540..22f603c 100644
--- a/fer/utl/save_uvar_grid.F
+++ b/fer/utl/gcf_set_alt_fcn_for_dir.F
@@ -1,5 +1,5 @@
-      SUBROUTINE SAVE_UVAR_GRID( uvar, uvgrid, uvdtype, dset )
-*
+	SUBROUTINE GCF_SET_ALT_FCN_FOR_DIR( gcfcn, idirs, num_dirs)
+
 *  This software was developed by the Thermal Modeling and Analysis
 *  Project(TMAP) of the National Oceanographic and Atmospheric
 *  Administration's (NOAA) Pacific Marine Environmental Lab(PMEL),
@@ -32,43 +32,51 @@
 *  CONTRACT, NEGLIGENCE OR OTHER TORTUOUS ACTION, ARISING OUT OF OR IN
 *  CONNECTION WITH THE ACCESS, USE OR PERFORMANCE OF THIS SOFTWARE. 
 *
+* Find the correct function name and update to the right function number
+* for direction-changing functions which have arguments that specifies the
+* direction of operation.
 
-* store the grid that has been determined to be correct for this
-* uvar (a LET expression), when evaluated in the given dset
-
-* V699 5/16 *sh* new routine created to avoid the 2d uvar_grid array
-
+* V7.20 *acm* 4/2017
 
-        include 'ferret.parm'
         include 'tmap_dims.parm'
-        include 'xvariables.cmn'
+        include 'ferret.parm'
+	include 'grid_chg_fcns.parm' 
+	include 'xgrid_chg_fcns.cmn'
+
 
 * calling argument declarations
-        INTEGER uvar, uvgrid, uvdtype, dset
+	INTEGER		gcfcn, idirs(*), num_dirs
 
-* internal variable declarations
-        INTEGER NCF_SET_UVAR_GRID, status,
-     .          c_list_dset, context_dset
+* Local declarations
+	INTEGER	TM_LENSTR1, GCF_FIND_FCN, nlen, isubst, idim
+	CHARACTER name*40, buff*40, axdir(nferdims)*1
+        DATA axdir / 'X', 'Y', 'Z', 'T', 'E', 'F' /
 
-* c_list_dset  - dset value relevant in C LIST structures of NCF_Util.c
-* context_dset - dset for which grid of this uvar has been determined
+	IF (num_dirs .EQ. 0)  GOTO 5100
 
-        IF ( uvar_dset(uvar) .GT. pdset_irrelevant) THEN
-* ... LET/D= variable
-          c_list_dset  = uvar_dset(uvar) ! the dset that owns this LET/D
-          context_dset = uvar_dset(uvar) ! only one dset is possible
-        ELSE
-* ... global LET variable
-          c_list_dset  = pdset_uvars  ! fake dataset of global uvars
-          context_dset = dset
-        ENDIF
+	name = gfcn_alt_name_base(gcfcn)
+	nlen = TM_LENSTR1( name )
+	isubst = INDEX(name, '%')
+	IF (isubst .EQ. 0) GOTO 5100
 
-* store the grid
-        status = NCF_SET_UVAR_GRID( c_list_dset, uvar,
-     .                              uvgrid, uvdtype, context_dset )
+* substitute axis direction names to get the new function
 
-* Note that an ATOM_NOT_FOUND error is not trapped
-* We should really trap it and call ERRMSG(ferr_internal)
+	DO idim = 1, nferdims
+	   IF (idirs(idim) .NE. 0) THEN
+	      buff = name
+	      nlen = TM_LENSTR1( buff )
+	      isubst = INDEX(buff, '%')
+	      IF (isubst .EQ. 0) GOTO 5100
+	      buff = buff(:isubst-1)//axdir(idirs(idim))//
+     .          buff(isubst+1:nlen)
+              name = buff
+	   ENDIF
+        ENDDO
+	   
+	nlen = TM_LENSTR1( name )
+	gcfcn = GCF_FIND_FCN( name )
 
-        RETURN
-        END
+	RETURN
+5100    gcfcn = unspecified_int4
+	RETURN
+	END
diff --git a/fer/stk/exit_dependency_mode.F b/fer/utl/gcf_set_normal_axis.F
similarity index 83%
copy from fer/stk/exit_dependency_mode.F
copy to fer/utl/gcf_set_normal_axis.F
index 465bb80..3a0ed70 100644
--- a/fer/stk/exit_dependency_mode.F
+++ b/fer/utl/gcf_set_normal_axis.F
@@ -1,7 +1,5 @@
-	SUBROUTINE EXIT_DEPENDENCy_MODE
+	SUBROUTINE GCF_SET_NORMAL_AXIS( grid, idim )
 
-*
-*
 *  This software was developed by the Thermal Modeling and Analysis
 *  Project(TMAP) of the National Oceanographic and Atmospheric
 *  Administration's (NOAA) Pacific Marine Environmental Lab(PMEL),
@@ -35,20 +33,22 @@
 *  CONNECTION WITH THE ACCESS, USE OR PERFORMANCE OF THIS SOFTWARE. 
 *
 *
-* reset COMMON values that indicate the special mode used for assesing 
-* user variable dependency trees
+* A grid has been determined to need a normal axis in a particular direction,
+* when setting an alternate function to run depending on direction arguments.
 
-* programmer - steve hankin
-* NOAA/PMEL, Seattle, WA - Tropical Modeling and Analysis Program
-*
-* V685+ 11/13 *sh*  
+* 
+* V720 3/16 *acm* 
 
+	include 'ferret.parm'
 	include 'tmap_dims.parm'
-	include	'ferret.parm'
-	include 'xdependency_tree.cmn'
+	include	'xtm_grid.cmn_text'
+	external xgt_grid_data
+
+* calling argument declarations
+	INTEGER		grid, idim
 
-	dependency_tree_mode = .FALSE.
-	CALL RELEASE_WORK_SPC
+	grid_line(idim, grid) = mnormal
+! anything else?
 
-     	RETURN
+	RETURN
 	END
diff --git a/fer/utl/get_dependency_status.F b/fer/utl/get_dependency_status.F
index dd9154f..e7416ce 100644
--- a/fer/utl/get_dependency_status.F
+++ b/fer/utl/get_dependency_status.F
@@ -1,5 +1,5 @@
 	SUBROUTINE GET_DEPENDENCY_STATUS
-     .			( memory, expr, status_string, slen, status )
+     .			(  expr, status_string, slen, status )
 
 *
 *
@@ -44,6 +44,7 @@
 
 * V685+  *sh* 11/13 
 * V690  *sg* 5/14 - bug fix: changed declaraation type of "memory"
+* V702 1/17 *sh* for trac enhancement #2369 -- dynamic memory management
 
 	include 'tmap_dims.parm'
 	include 'ferret.parm'
@@ -53,7 +54,6 @@
 
 * calling argument declarations:
 	INTEGER status, slen
-	REAL	memory(mem_blk_size, max_mem_blks )
 	CHARACTER*(*) expr, status_string
 
 * internal variable declarations:
@@ -64,7 +64,7 @@
         CALL INIT_DEPENDENCIES( cx_last, .TRUE., base_isp, status )
         IF (status.NE. ferr_ok) GOTO 5000
 
-        CALL CRAWL_DEPENDENCIES (memory, expr, base_cx, status)
+        CALL CRAWL_DEPENDENCIES ( expr, base_cx, status)
         IF (status .NE. ferr_ok) GOTO 5000
 
 	IF (    dependency_status .EQ. df_valid_var) THEN
@@ -89,12 +89,12 @@
 * if status incicates a problem, append a substring from the variable definitions
 	IF (dependency_status .NE. df_valid_var ) THEN
 	   status_string(slen+1:slen+2) = ': '
-	   CALL DEPEND_STAT_VAR( memory(1,dependency_block1),
+	   CALL DEPEND_STAT_VAR( workmem(plegacy_work_buffer)%ptr,
      .					status_string(slen+3:) )
 	   slen = TM_LENSTR1(status_string)
 	ENDIF
 
- 5000	CALL RELEASE_WORK_SPC
+ 5000	CALL RELEASE_DYN_WORK_SPACE
 	RETURN
 	END
 
diff --git a/fer/utl/inherit_attrs.F b/fer/utl/inherit_attrs.F
index 78a103d..0c509be 100644
--- a/fer/utl/inherit_attrs.F
+++ b/fer/utl/inherit_attrs.F
@@ -43,6 +43,7 @@
 *                  added to that dataset in the attribute structure.
 * v71   7/16 *acm* Fix ticket 2447: special handling of missing-value flags
 *                  when inheriting all attributes from one variable to another.
+* V720 *acm* 5/17 Implement specific calls in place of CD_GET_VAR_INFO
 
       INCLUDE 'tmap_dims.parm'
       INCLUDE 'ferret.parm'
@@ -56,11 +57,11 @@
       INTEGER status
 
 * Local variable declarations
-      LOGICAL coordvar
+      LOGICAL CD_ISIT_COORDVAR
       INTEGER TM_LENSTR, STR_SAME, slen, tlen, dset1, dset2, 
-     .  varid1, varid2, vtype, nvdims, nvatts1, nvatts2,
-     .  vdims(8), iatt, first_quote, next_quote, dot, mr, cx, 
-     .  all_outflag, cat, iflag, attnum
+     .  varid1, varid2, nvatts1, nvatts2,
+     .  iatt, first_quote, next_quote, dot, mr, cx, 
+     .  cat, iflag, attnum
       CHARACTER*128 attname, buff1, buff2
 
 * Check that neither buffer contains varname.attname (If it is in 
@@ -130,13 +131,11 @@
 
 * Get number of attributes for variables
 
-      CALL CD_GET_VAR_INFO (dset1, varid1, varname1, vtype, nvdims, vdims,
-     .       nvatts1, coordvar, all_outflag, status)
-      IF (coordvar) GOTO 5020
+      IF (CD_ISIT_COORDVAR(dset1, varid1, varname1, status)) GOTO 5020
+      CALL CD_GET_VAR_NATTS (dset1, varid1, varname1, nvatts1, status)
 
-      CALL CD_GET_VAR_INFO (dset2, varid2, varname2, vtype, nvdims, vdims,
-     .       nvatts2, coordvar, all_outflag, status)
-      IF (coordvar) GOTO 5020
+      IF (CD_ISIT_COORDVAR(dset2, varid2, varname2, status)) GOTO 5020
+      CALL CD_GET_VAR_NATTS (dset2, varid2, varname2, nvatts2, status)
 
 * Remove attributes from variable 2
 * When an attribute is deleted, the following attributes move forward
diff --git a/fer/utl/itsa_gcvar.F b/fer/utl/itsa_dcvar.F
similarity index 84%
copy from fer/utl/itsa_gcvar.F
copy to fer/utl/itsa_dcvar.F
index aecc437..45dff5d 100644
--- a/fer/utl/itsa_gcvar.F
+++ b/fer/utl/itsa_dcvar.F
@@ -1,4 +1,4 @@
-	LOGICAL FUNCTION ITSA_GCVAR( uvar )
+	LOGICAL FUNCTION ITSA_DCVAR( uvar )
 
 *
 *
@@ -35,10 +35,8 @@
 *  CONNECTION WITH THE ACCESS, USE OR PERFORMANCE OF THIS SOFTWARE. 
 *
 *
-* is the indicated variable one which is contains a grid changing function?
-
-* V450: 1/97
-*       *acm* 3/12 6D Ferret (common uses nferdims in tmap_dims.parm)
+* is the indicated variable one which is contains a direction-changing function?
+* V720: 4/17 *acm* Add direction-changing functions as a subset of grid-changing ones
 
 * calling argument declarations
 	INTEGER	uvar
@@ -51,10 +49,11 @@
 
 
 * in reverse Polish order the final item of a grid changing variable will
-* always be a grid changing function
+* always be a grid changing function.
+* A direction changing function is a subset of the grid-changing functions.
 
-	ITSA_GCVAR = uvar_item_type( uvar_num_items(uvar), uvar )
-     .		.EQ. alg_grid_chg_fcn
+	ITSA_DCVAR = uvar_item_type( uvar_num_items(uvar), uvar )
+     .		.EQ. alg_dir_chg_fcn
 
 	RETURN
 	END
diff --git a/fer/utl/itsa_gcvar.F b/fer/utl/itsa_dirc_fcn.F
similarity index 80%
copy from fer/utl/itsa_gcvar.F
copy to fer/utl/itsa_dirc_fcn.F
index aecc437..cbd45d7 100644
--- a/fer/utl/itsa_gcvar.F
+++ b/fer/utl/itsa_dirc_fcn.F
@@ -1,4 +1,4 @@
-	LOGICAL FUNCTION ITSA_GCVAR( uvar )
+	LOGICAL FUNCTION ITSA_DIRC_FCN( ifcn )
 
 *
 *
@@ -35,26 +35,29 @@
 *  CONNECTION WITH THE ACCESS, USE OR PERFORMANCE OF THIS SOFTWARE. 
 *
 *
-* is the indicated variable one which is contains a grid changing function?
+* Is the indicated function a grid-changing function which depends on arguments
+* to determine the directions of operations and potentially the grid?
 
-* V450: 1/97
-*       *acm* 3/12 6D Ferret (common uses nferdims in tmap_dims.parm)
+* V720: 4/17 Ansley Manke
 
 * calling argument declarations
-	INTEGER	uvar
+	INTEGER	ifcn
 
 * internal variable declarations
 
-	include	'tmap_dims.parm'
-	include 'ferret.parm'
-	include 'xvariables.cmn'
+        include 'tmap_dims.parm'
+        include 'ferret.parm'
+        include 'grid_chg_fcns.parm'
+        include 'xgrid_chg_fcns.cmn'
 
+	INTEGER	idim, ndims
 
-* in reverse Polish order the final item of a grid changing variable will
-* always be a grid changing function
+	ndims = 0
+	DO idim = 1, nferdims
+	   ndims = ndims + gfcn_dir_args(idim, ifcn)
+	ENDDO
 
-	ITSA_GCVAR = uvar_item_type( uvar_num_items(uvar), uvar )
-     .		.EQ. alg_grid_chg_fcn
+	ITSA_DIRC_FCN = ndims .GT. 0
 
 	RETURN
 	END
diff --git a/fer/utl/itsa_gcvar.F b/fer/utl/itsa_gcvar.F
index aecc437..282eccd 100644
--- a/fer/utl/itsa_gcvar.F
+++ b/fer/utl/itsa_gcvar.F
@@ -36,6 +36,7 @@
 *
 *
 * is the indicated variable one which is contains a grid changing function?
+* V720: 4/17 *acm* Add direction-changing functions as a subset of grid-changing ones
 
 * V450: 1/97
 *       *acm* 3/12 6D Ferret (common uses nferdims in tmap_dims.parm)
@@ -51,10 +52,12 @@
 
 
 * in reverse Polish order the final item of a grid changing variable will
-* always be a grid changing function
+* always be a grid changing function.
+* The direction changing functions are a subset of the grid-changing functions.
 
-	ITSA_GCVAR = uvar_item_type( uvar_num_items(uvar), uvar )
-     .		.EQ. alg_grid_chg_fcn
+	ITSA_GCVAR = 
+     .    uvar_item_type( uvar_num_items(uvar), uvar ).EQ. alg_grid_chg_fcn .OR. 
+     .    uvar_item_type( uvar_num_items(uvar), uvar ).EQ. alg_dir_chg_fcn
 
 	RETURN
 	END
diff --git a/fer/utl/itsa_pure_sum_var.F b/fer/utl/itsa_pure_sum_var.F
index 00cf302..7ffab72 100644
--- a/fer/utl/itsa_pure_sum_var.F
+++ b/fer/utl/itsa_pure_sum_var.F
@@ -41,6 +41,7 @@
 * V533 *sh* 7/01
 * v554: 1/04 *acm* Counter variables for REPEAT/RANGE=/NAME=
 *       *acm* 3/12 6D Ferret (common uses nferdims in tmap_dims.parm)
+* V720: 4/17 *acm* Add direction-changing functions as a subset of grid-changing ones
 
 * calling argument declarations
 	INTEGER	uvar
@@ -87,7 +88,8 @@
 	  ELSEIF (
      .		 itype .EQ. alg_child_var   
      .	  .OR.   itype .EQ. alg_variable   
-     .	  .OR.   itype .EQ. alg_grid_chg_fcn 
+     .	  .OR.   itype .EQ. alg_grid_chg_fcn  
+     .	  .OR.   itype .EQ. alg_dir_chg_fcn 
      .	  .OR.   itype .EQ. alg_const_var
      .	  .OR.   itype .EQ. alg_string    
      .	  .OR.   itype .EQ. alg_attrib_val  ) THEN
diff --git a/fer/stk/exit_dependency_mode.F b/fer/utl/return_one_val.F
similarity index 83%
copy from fer/stk/exit_dependency_mode.F
copy to fer/utl/return_one_val.F
index 465bb80..3cdcf99 100644
--- a/fer/stk/exit_dependency_mode.F
+++ b/fer/utl/return_one_val.F
@@ -1,4 +1,4 @@
-	SUBROUTINE EXIT_DEPENDENCy_MODE
+	SUBROUTINE RETURN_ONE_VAL (com, val)
 
 *
 *
@@ -35,20 +35,17 @@
 *  CONNECTION WITH THE ACCESS, USE OR PERFORMANCE OF THIS SOFTWARE. 
 *
 *
-* reset COMMON values that indicate the special mode used for assesing 
-* user variable dependency trees
+* Return one value from the memory object pointed to by argument 1
 
-* programmer - steve hankin
-* NOAA/PMEL, Seattle, WA - Tropical Modeling and Analysis Program
-*
-* V685+ 11/13 *sh*  
+* programmer - Ansley Manke
+* NOAA/PMEL, Seattle, WA - SDIG
+
+*  6/04/ 2017
 
-	include 'tmap_dims.parm'
-	include	'ferret.parm'
-	include 'xdependency_tree.cmn'
+	REAL com, val
 
-	dependency_tree_mode = .FALSE.
-	CALL RELEASE_WORK_SPC
+	val = com
 
-     	RETURN
+	RETURN
 	END
+
diff --git a/fer/utl/save_uvar_aux_info.F b/fer/utl/save_uvar_aux_info.F
index 5dd70fb..0415942 100644
--- a/fer/utl/save_uvar_aux_info.F
+++ b/fer/utl/save_uvar_aux_info.F
@@ -37,6 +37,7 @@
 * uvar grid/dset pair.
 
 * V699 5/16 *sh* new routine created to avoid the 2d uvar_grid array
+* V702 3/17 *sh* standardize corruption messages
 
 * arguments:
 *     uvar - the Ferret user variable number (input)
@@ -74,8 +75,7 @@
      .                              aux_cat, aux_var, context_dset )
 
 * check that we were successful
-        IF (status .NE. ferr_ok) CALL WARN(
-     .                  'corruption setting uvar aux info')
+        IF (status .NE. ferr_ok) CALL WARN('crptn??: save_uvar_aux_info')
 
         RETURN
         END
diff --git a/fer/utl/save_uvar_grid.F b/fer/utl/save_uvar_grid.F
index 8d8b540..0922809 100644
--- a/fer/utl/save_uvar_grid.F
+++ b/fer/utl/save_uvar_grid.F
@@ -37,7 +37,9 @@
 * uvar (a LET expression), when evaluated in the given dset
 
 * V699 5/16 *sh* new routine created to avoid the 2d uvar_grid array
-
+* V720: 6/17 *acm* Fix ticket 2547: We store the grid and type of user variables and
+*                  expressions, but the grid and type may be determined on different 
+*                  iterations in is_uvar_grid.
 
         include 'ferret.parm'
         include 'tmap_dims.parm'
@@ -47,8 +49,9 @@
         INTEGER uvar, uvgrid, uvdtype, dset
 
 * internal variable declarations
-        INTEGER NCF_SET_UVAR_GRID, status,
-     .          c_list_dset, context_dset
+        INTEGER NCF_SET_UVAR_GRID,
+     .          c_list_dset, context_dset, 
+     .          pretype, savetype, status
 
 * c_list_dset  - dset value relevant in C LIST structures of NCF_Util.c
 * context_dset - dset for which grid of this uvar has been determined
@@ -63,9 +66,16 @@
           context_dset = dset
         ENDIF
 
+* We may have already stored the uvar type.  Check for that.
+
+	savetype = uvdtype
+	CALL GET_SAVED_UVAR_DTYPE( uvar, dset, pretype )
+	IF (pretype .NE. unspecified_int4 .AND. 
+     .      pretype .NE. ptype_unknown) savetype = pretype
+
 * store the grid
         status = NCF_SET_UVAR_GRID( c_list_dset, uvar,
-     .                              uvgrid, uvdtype, context_dset )
+     .                              uvgrid, savetype, context_dset )
 
 * Note that an ATOM_NOT_FOUND error is not trapped
 * We should really trap it and call ERRMSG(ferr_internal)
diff --git a/fer/utl/save_uvar_grid.F b/fer/utl/save_uvar_type.F
similarity index 82%
copy from fer/utl/save_uvar_grid.F
copy to fer/utl/save_uvar_type.F
index 8d8b540..95fd4dd 100644
--- a/fer/utl/save_uvar_grid.F
+++ b/fer/utl/save_uvar_type.F
@@ -1,4 +1,4 @@
-      SUBROUTINE SAVE_UVAR_GRID( uvar, uvgrid, uvdtype, dset )
+      SUBROUTINE SAVE_UVAR_TYPE( uvar, uvdtype, dset )
 *
 *  This software was developed by the Thermal Modeling and Analysis
 *  Project(TMAP) of the National Oceanographic and Atmospheric
@@ -33,22 +33,24 @@
 *  CONNECTION WITH THE ACCESS, USE OR PERFORMANCE OF THIS SOFTWARE. 
 *
 
-* store the grid that has been determined to be correct for this
+* store the data type that has been determined to be correct for this
 * uvar (a LET expression), when evaluated in the given dset
 
 * V699 5/16 *sh* new routine created to avoid the 2d uvar_grid array
-
+* V720: 6/17 *acm* Fix ticket 2547: the grid and type of uvars are stored, but the
+*                  information may be collected on different calls from is_uvar_grid.
 
         include 'ferret.parm'
         include 'tmap_dims.parm'
         include 'xvariables.cmn'
 
 * calling argument declarations
-        INTEGER uvar, uvgrid, uvdtype, dset
+        INTEGER uvar, uvdtype, dset
 
 * internal variable declarations
-        INTEGER NCF_SET_UVAR_GRID, status,
-     .          c_list_dset, context_dset
+        INTEGER NCF_SET_UVAR_GRID,
+     .          c_list_dset, context_dset, pretype, savetype,
+     .          dummy_grid, status
 
 * c_list_dset  - dset value relevant in C LIST structures of NCF_Util.c
 * context_dset - dset for which grid of this uvar has been determined
@@ -63,9 +65,13 @@
           context_dset = dset
         ENDIF
 
+* We may have already stored the grid. 
+
+	CALL GET_SAVED_UVAR_GRID ( uvar, c_list_dset, dummy_grid )
+
 * store the grid
         status = NCF_SET_UVAR_GRID( c_list_dset, uvar,
-     .                              uvgrid, uvdtype, context_dset )
+     .                              dummy_grid, uvdtype, context_dset )
 
 * Note that an ATOM_NOT_FOUND error is not trapped
 * We should really trap it and call ERRMSG(ferr_internal)
diff --git a/fer/utl/short_mod_copy.F b/fer/utl/short_mod_copy.F
index abba080..1922e4a 100644
--- a/fer/utl/short_mod_copy.F
+++ b/fer/utl/short_mod_copy.F
@@ -1,4 +1,4 @@
-	SUBROUTINE SHORT_MOD_COPY( memory, res_lo, res_hi, idim,
+	SUBROUTINE SHORT_MOD_COPY(  res_lo, res_hi, idim,
      .				   tcom_cx, tcom_mr, res_cx, res_mr)
 
 *  This software was developed by the Thermal Modeling and Analysis
@@ -65,7 +65,6 @@
 
 * calling argument declarations:
 	INTEGER	res_lo, res_hi, idim, tcom_cx, tcom_mr, res_cx, res_mr
-	REAL	memory( mem_blk_size, max_mem_blks )
 
 * internal variable declarations:
 	INTEGER CAXIS_MODLEN, MODULO_PARITY,
@@ -142,9 +141,9 @@
 	   mr_hi_ss(tcom_mr, idim) = mr_hi_sav + xlate
 	   IF ( MODULO_PARITY(cx_lo_sav,             npts,idel)
      .	   .EQ. MODULO_PARITY(cx_lo_ss(tcom_cx,idim),npts,idel) ) THEN
-	      CALL COPY_INTO( memory(1,mr_blk1(tcom_mr)), tcom_mr,
+	      CALL COPY_INTO( memry(tcom_mr)%ptr, tcom_mr,
      .			      tcom_cx,
-     .			      memory(1,mr_blk1(res_mr)), res_mr )
+     .			      memry(res_mr)%ptr, res_mr )
 	   ENDIF
 * NOTE:  it is KNOWN that sometimes this routine needlessle copies the same
 *	 region of component into the same region of result at both STEP 1
@@ -167,9 +166,9 @@
 	   mr_hi_ss(tcom_mr, idim) = mr_hi_sav + xlate
 	   IF ( MODULO_PARITY(cx_lo_sav,             npts,idel)
      .	   .EQ. MODULO_PARITY(cx_lo_ss(tcom_cx,idim),npts,idel) ) THEN
-	      CALL COPY_INTO( memory(1,mr_blk1(tcom_mr)), tcom_mr,
+	      CALL COPY_INTO( memry(tcom_mr)%ptr, tcom_mr,
      .			   tcom_cx,
-     .			   memory(1,mr_blk1(res_mr)), res_mr )
+     .			   memry(res_mr)%ptr, res_mr )
 	   ENDIF
 	ENDIF
 
diff --git a/fer/utl/store_dependency.F b/fer/utl/store_dependency.F
index af5ed43..a8850d5 100644
--- a/fer/utl/store_dependency.F
+++ b/fer/utl/store_dependency.F
@@ -49,6 +49,8 @@
 * V690  *sh* 11/13 - fixed problem in aux regridding variable dependencies
 *                    by adding a new calling arg
 * V693+ *sh* 1/21/15 - store regridding dependency lines
+* V720  acm* 6/2017  Fix for ticket 2533, reporting ok for regridding to 
+*                    undefined variable
 
 	include 'tmap_dims.parm'
 	include 'ferret.parm'
@@ -94,8 +96,12 @@
 	var    = cx_variable(cx)
 	dset   = cx_data_set(cx)
 	desist = .FALSE.
+
+* Fix for ticket 2533, if known_var when bad status, and pcx_vtree_regrid_report,
+* regridding to an undefined variable was reported ready
+
 	known_var = cx_status .EQ. ferr_ok
-     .         .OR. cx_status .EQ. pcx_vtree_regrid_report
+cc     .         .OR. cx_status .EQ. pcx_vtree_regrid_report 
 !     .	      .OR.  cx_status .EQ. ferr_unknown_auxvar  ! ???
 
 * set up regrid target reports
diff --git a/fer/utl/store_sys_strings.F b/fer/utl/store_sys_strings.F
index 4b73390..06a64e0 100644
--- a/fer/utl/store_sys_strings.F
+++ b/fer/utl/store_sys_strings.F
@@ -55,7 +55,7 @@
 
 * internal variable declarations:
 	INTEGER	TM_LENSTR1,clen, old_len, istat, new_mr
-	REAL*8	 ADD_C_POINTER, sysout_ptr
+	REAL*8	 sysout_ptr
 
 * --- end of introductory code ---
 
@@ -86,15 +86,24 @@
 	cx_hi_ww(x_dim, cx) = cx_hi_ss(cx, x_dim)
 
 * do we need to allocate a larger block of memory?
-	IF ( cx_hi_ss(cx, x_dim) .GT. mr_nblks(mr)*mem_blk_size ) THEN
+	IF ( cx_hi_ss(cx, x_dim) .GT. mr_size(mr) ) THEN
+* ... this is effectively a "reallocate" of a larger memory block
 	   CALL CREATE_TEMP_MEM_VAR( cx, new_mr, status )
 	   IF ( status .NE. ferr_ok ) GOTO 5000
-	   mr_c_pointer(new_mr) = ADD_C_POINTER(mr_c_pointer(mr), 0,
-     .				(mr_blk1(new_mr)-mr_blk1(mr))*mem_blk_size)
-	   CALL XFER_C_PTRS( mr_c_pointer(mr),     1, 0,
-     .			     mr_c_pointer(new_mr), 1, 0, old_len )
+	   CALL GET_C_POINTER(memry(new_mr)%ptr, mr_c_pointer(new_mr))
+! 2/2017 - there are no string pointers in the too-short mr yet, so why are
+!          we attempting to transfer the string pointers?
+!          Looks like this is a left-over from some earlier logic. 
+!	   CALL XFER_C_PTRS( mr_c_pointer(mr),     1, 0,
+!     .			     mr_c_pointer(new_mr), 1, 0, old_len )
+* 2/2017 -- because a pointer to the original mr was passed as an argument
+* the routine that called this, freeing that memory from here would corrupt
+* runtime stack and crash the program.  So in lieu of deleting the variable
+* here, we set it to be deleted later and make it non-cache retrievable
 	   mr_type(mr) = ptype_float ! a trick so that C strings are not freed
-	   CALL DELETE_VARIABLE(mr)  ! when DELETE_VARIABLE is called
+!	   CALL DELETE_VARIABLE(mr)  ! when DELETE_VARIABLE is called
+	   CALL MR_AVAILABLE(mr)     ! put it onto the deletable chain
+	   CALL UN_CACHE(mr)         ! set to non-retreivable
 	   mr = new_mr
 	ELSE
 	   mr_hi_ss(mr, x_dim) = cx_hi_ss(cx, x_dim)
diff --git a/fer/utl/update_attributes.F b/fer/utl/update_attributes.F
index 2d54934..7c72236 100644
--- a/fer/utl/update_attributes.F
+++ b/fer/utl/update_attributes.F
@@ -40,6 +40,7 @@
 * V670  2/11 *acm*   Fixes for inheriting attributes.
 * V698  2/16 *acm* For ticket 2352: variables defined with LET/D are
 *                  added to that dataset in the attribute structure.
+* V720 *acm* 5/17 Implement specific calls in place of CD_GET_VAR_INFO
 
 * Get the attribute information from the linked-list structure that is needed 
 * to do a plot.
@@ -65,22 +66,18 @@
       CHARACTER*(*) vname
 
 * Local variable declarations
-      LOGICAL NC_GET_ATTRIB, coordvar, got_it, do_warn, uvflag
-      INTEGER TM_LENSTR1, varid, vartyp, nvdim, vdims(8),
-     .        nvatts, attlen, attoutflag, status, vlen, maxlen, 
-     .        all_outflag
+      LOGICAL NC_GET_ATTRIB, got_it, do_warn, uvflag
+      INTEGER TM_LENSTR1, varid,
+     .        attlen, attoutflag, status, vlen, maxlen
       REAL tmp
       CHARACTER*128 buff
 
       vlen = TM_LENSTR1(vname)
-       CALL CD_GET_VAR_ID (dset, vname, varid, status)
-       IF (status .NE. ferr_ok) GOTO 1100
+      CALL CD_GET_VAR_ID (dset, vname, varid, status)
+      IF (status .NE. ferr_ok) GOTO 1100
 
-* get the vital statistics for this variable
+* get the needed info for this variable
 
-      CALL CD_GET_VAR_INFO(dset, varid, vname, vartyp, 
-     .      nvdim, vdims, nvatts, coordvar, all_outflag, status)
-      IF (status .NE. ferr_ok) GOTO 1200
       CALL CD_GET_VAR_UVFLAG (dset, varid, uvflag, status)
       IF (status .NE. ferr_ok) GOTO 1200
 
diff --git a/fer/gnl/warn_occasionally.F b/fer/utl/warn_occasionally.F
similarity index 100%
rename from fer/gnl/warn_occasionally.F
rename to fer/utl/warn_occasionally.F
diff --git a/fer/xeq/xeq_annotate.F b/fer/xeq/xeq_annotate.F
index a2049e0..5bff1e1 100644
--- a/fer/xeq/xeq_annotate.F
+++ b/fer/xeq/xeq_annotate.F
@@ -113,7 +113,6 @@
 
 * ... pass a the command to PPLUS
 
-c	print *, ppl_buff(:rlen)
 	CALL PPLCMD (' ',' ',0,ppl_buff(:rlen),1,1)
 
  5000	RETURN
diff --git a/fer/xeq/xeq_cancel.F b/fer/xeq/xeq_cancel.F
index e8be0bb..70a0bbb 100644
--- a/fer/xeq/xeq_cancel.F
+++ b/fer/xeq/xeq_cancel.F
@@ -1,4 +1,4 @@
-	SUBROUTINE XEQ_CANCEL( memory )
+	SUBROUTINE XEQ_CANCEL
 
 *
 *
@@ -151,6 +151,7 @@
 * V698  4/16 *acm* For ticket 2399: Apply MODE CALENDAR settings to F axes too
 * V7    acm  6/16 Ticket 2437: Deprecating mode_6d_lab. 
 *		  Adjust output to 6-D or 4-D grids
+* V720 *acm* 5/17 Implement specific calls in place of CD_GET_VAR_INFO
 
 
 	include 'tmap_dims.parm'
@@ -183,7 +184,6 @@
         include 'lunits_inc.decl'
 
 * calling argument declarations:
-	REAL	memory( mem_blk_size, max_mem_blks )
 
 * local variable declarations:
 	INTEGER		REGION_NUMBER, FIND_DSET_NUMBER,
@@ -195,8 +195,7 @@
      .			idim, iqual, iset, item, ivar, nth, mr,
      .			mode, cx, axis, grid, mod_cx,
      .                  TM_LENSTR, len_test, len_mchars, varid,
-     .                  dset, cat, var, mods_cx, iflag, loc, 
-     .                  nvdims, vdims(8), nvatts, vtype, all_outflag, 
+     .                  dset, cat, var, mods_cx, iflag, loc, nvatts, 
      .                  slen, iatt, igrd, iline, new_att_modulo_len,
      .			cache_size, cache_nelems, cache_preemption
 	LOGICAL		MATCH4, TM_DIGIT_TEST, IS_TEMPLATE, MATCH_TEMPLATE,
@@ -290,10 +289,20 @@
 	   DO 410 mr = 1,max_mr_avail
 	      IF ( mr_protected( mr ) .EQ. mr_deleted ) GOTO 410
 	      perm_var = mr_protected(mr) .EQ. mr_perm_protected
-	      IF ( del_perm .AND. perm_var
-     .	      .OR. del_temp .AND. .NOT.perm_var )
-     .				CALL DELETE_VARIABLE( mr )
- 410	   CONTINUE
+	      IF ( del_perm .AND. perm_var ) THEN
+* ... permanent_mem could more efficiently be set after all deletions are
+*     done, but this way we are performing a sanity check as well
+	         permanent_mem = permanent_mem - mr_size(mr)
+	         CALL DELETE_VARIABLE( mr )
+	      ELSEIF ( del_temp .AND. .NOT.perm_var ) THEN  ! same as "ELSE"?
+	         CALL DELETE_VARIABLE( mr )
+	      ENDIF
+ 410       CONTINUE
+* ... /ALL resets to peaks indicators
+	IF (slash_all) THEN
+           peak_mem = 0
+           peak_essential_mem = 0
+	ENDIF
 	IF ( del_perm ) CALL SPLIT_LIST(pttmode_ops, err_lun, 
      .			' PERMANENT data cleared from memory', 0)
 	IF ( del_temp ) CALL SPLIT_LIST(pttmode_ops, err_lun, 
@@ -529,6 +538,10 @@
 	            CALL WARN( 'MODE 6D_lab is deprecated. '//
      .                'Leave the mode set; output '//
      .                'automatically adjusts to 4D or 6D grids') 
+
+                 ELSEIF ( mode .EQ. pmode_desperate ) THEN
+	            CALL WARN("MODE DESPERATE is deprecated. Use MODE FRUGAL")
+
 	         ENDIF
 		 GOTO 820
 	      ENDIF
@@ -987,9 +1000,7 @@ c	ENDIF
      .           attname, i, .FALSE., status)
               IF (attname .NE. '') GOTO 6240
 
-              CALL CD_GET_VAR_INFO (dset, varid, varname, vtype,
-     .                              nvdims, vdims, nvatts, coordvar, 
-     .                              all_outflag, status)
+              CALL CD_GET_VAR_NATTS (dset, varid, varname, nvatts, status)
 
 * Set all attribute output flags to 0
 
diff --git a/fer/xeq/xeq_contour.F b/fer/xeq/xeq_contour.F
index f58f459..72a64ba 100644
--- a/fer/xeq/xeq_contour.F
+++ b/fer/xeq/xeq_contour.F
@@ -1,4 +1,4 @@
-	SUBROUTINE XEQ_CONTOUR( memory )
+	SUBROUTINE XEQ_CONTOUR
 
 *  This software was developed by the Thermal Modeling and Analysis
 *  Project(TMAP) of the National Oceanographic and Atmospheric
@@ -121,6 +121,7 @@
 * V7    *acm* 6/16 Ticket 2434: command qualifiers /DEGMINSEC= /HALFSPAC
 *                  DEGMINSEC=1 for Deg-Min axis labels, =2 for Deg-Min-Sec. Default = 1
 *                  /HALFSPAC adds a half space between the degree sign and E/W or N/S
+* V702 1/17 *sh* for trac enhancement #2369 -- dynamic memory management 
 
 	include 'tmap_dims.parm'
 	include	'ferret.parm'
@@ -138,7 +139,6 @@
         include 'CONT.INC'
 	
 * calling argument declarations:
-	REAL	memory( mem_blk_size, max_mem_blks )
 
 * internal variable declarations:
 	LOGICAL	TM_HAS_STRING, 
@@ -146,8 +146,8 @@
      .            do_key, spectrum, set_up, noaxes, axes, pattern, 
      .		  no_data, is_logh, is_logv, inc_grid
 	INTEGER	  TM_LENSTR, TM_LENSTR1, status, slen, sp, ipen,
-     .		  ax1_blks, ax1_start, loc, sigdig,
-     .		  ax2_blks, ax2_start, patt, i, nparm, num_it, 
+     .		  ax1_work, ax2_work, loc, sigdig,
+     .		  patt, i, nparm, num_it, 
      .		  s1, s2, it_start(4), it_end(4), iax(4), density,
      .            loch, locv
         INTEGER   STR_UPCASE, i1
@@ -168,8 +168,7 @@
 
 * get the data (possibly ?? on a slightly oversized region)
 !	cx_ovsiz(cx_last) = ovsiz_plane	! ... causes too many headaches !
-	CALL DISP_DATA_SET_UP( memory,
-     .		ax1_start, ax1_blks, ax2_start, ax2_blks, status )
+	CALL DISP_DATA_SET_UP(  ax1_work, ax2_work, status )
 	IF ( status .NE. ferr_ok ) GOTO 5100
 
 * initialize
@@ -309,7 +308,7 @@
 
 * set up the axes and title and load the data into PPLUS
 	inc_grid = set_up
-	CALL DISP_SET_UP   ( 	memory,
+	CALL DISP_SET_UP   ( 	
      . 			 	not_vector,
      .				is_shade,
      .				use_cell,
@@ -326,8 +325,8 @@
      .				num_uvars_in_cmnd,
      .				is_cx,		! pass list
      .				is_uvar,	
-     .				memory( 1, ax1_start ),
-     .				memory( 1, ax2_start ),
+     .				workmem(ax1_work)%ptr,
+     .				workmem(ax2_work)%ptr,
      .				ipen,
      .				inc_grid,
      .				status )
@@ -582,8 +581,8 @@ c done in disp_set_up. If mode_nodata_lab is false then leave this off.
 	ENDIF
 
 * release the memory used for axis buffers
- 1000 	CALL FREE_MEMORY( ax2_start, ax2_blks )
- 	CALL FREE_MEMORY( ax1_start, ax2_blks )
+ 1000 	CALL FREE_WS_DYNMEM( ax1_work )
+	CALL FREE_WS_DYNMEM( ax2_work )
 	CALL UNPROTECT_CMND_DATA			! 1/94
  5100	RETURN
 
diff --git a/fer/xeq/xeq_define.F b/fer/xeq/xeq_define.F
index 7b44f1f..d86644f 100644
--- a/fer/xeq/xeq_define.F
+++ b/fer/xeq/xeq_define.F
@@ -1,4 +1,4 @@
- 	SUBROUTINE XEQ_DEFINE( memory )
+ 	SUBROUTINE XEQ_DEFINE
 
 *  This software was developed by the Thermal Modeling and Analysis
 *  Project(TMAP) of the National Oceanographic and Atmospheric
@@ -382,7 +382,6 @@
      .		    explct_defn  = .FALSE. )
 
 * calling argument declarations:
-	REAL	memory( mem_blk_size, max_mem_blks )
 
 * local variable declarations:
 
@@ -1238,10 +1237,10 @@ C /units=months  is 1/12 of the length of the year
 	IF ( irreg ) THEN
            line_regular( iline ) = .FALSE.  ! this may be reset to true later.
 * ... get axis points from a memory variable
-	   CALL GET_CMND_DATA ( memory, cx_last, ptype_float, status )
+	   CALL GET_CMND_DATA (  cx_last, ptype_float, status )
 	   IF ( status .NE. ferr_ok ) RETURN
            IF ( num_uvars_in_cmnd .NE. 1 .AND.
-     .         (.NOT. has_bounds) )GOTO 5580
+     .         (.NOT. has_bounds) ) GOTO 5580
            cx = is_cx(1)
 * ... make sure it's an line (not a point,plane,etc.) of data
 	   CALL GET_CX_DIMS( cx, ndim, dim )
@@ -1291,7 +1290,14 @@ C /units=months  is 1/12 of the length of the year
 * ... original start of free line memory
 	   frst_pt = next_line_mem_pos
 * ... allocate some storage for the coordinates
-	   IF (frst_pt+3*n .GT. maxlinestore) GOTO 5590
+	   IF (frst_pt+2*n+1 .GT. maxlinestore) GOTO 5590
+	   
+* ... If they gave upper- and lower-bounds we need to store all that,
+*     at least temporarily.  IF its too big suggest edges.
+	   IF (has_bounds .AND. frst_pt+3*n .GT. maxlinestore) THEN 
+	      IF (num_uvars_in_cmnd .EQ. 2 .AND. n2.EQ.2*n) GOTO 5592
+	      IF (num_uvars_in_cmnd .EQ. 3) GOTO 5592
+	   ENDIF
 
 * ... store coordinate positions (error status already checked)
            IF (has_bounds) THEN
@@ -1304,7 +1310,7 @@ C /units=months  is 1/12 of the length of the year
 * ... "/edges" definition - 4/99
 	      n = n - 1  ! edges array is one longer than points
 	      IF (n .LE. 0) GOTO 5520
-	      CALL EXTRACT_DP_LINE( cx, memory(1, mr_blk1(mr)),
+	      CALL EXTRACT_DP_LINE( cx, memry(mr)%ptr,
      .				 line_mem(frst_pt+n), idim, n+1 )
 	      npoints = n
 
@@ -1362,7 +1368,7 @@ C /units=months  is 1/12 of the length of the year
 
 * NOT EDGES -- POINTS
 
-	      CALL EXTRACT_DP_LINE( cx, memory(1, mr_blk1(mr)),
+	      CALL EXTRACT_DP_LINE( cx, memry(mr)%ptr,
      .				 line_mem(frst_pt), idim, n )
 	      IF ( npoints .EQ. unspecified_int4 ) npoints = n
 
@@ -1405,7 +1411,7 @@ C /units=months  is 1/12 of the length of the year
                  cx = is_cx(2)
                  mr = is_mr(2)
 
-	         CALL EXTRACT_DP_LINE2( cx, memory(1, mr_blk1(mr)),
+	         CALL EXTRACT_DP_LINE2( cx, memry(mr)%ptr,
      .	  	    line_mem(next_line_mem_pos + n), idim, n2 )
 
 * If given as coords, lo_bounds, hi_bounds, then
@@ -1416,7 +1422,7 @@ C /units=months  is 1/12 of the length of the year
                  IF (num_uvars_in_cmnd .EQ. 3) THEN
                     cx = is_cx(3)
                     mr = is_mr(3)
-                    CALL EXTRACT_DP_LINE2( cx, memory(1, mr_blk1(mr)),
+                    CALL EXTRACT_DP_LINE2( cx, memry(mr)%ptr,
      .	 	       line_mem(next_line_mem_pos + n+n2), idim, n3 )
                     DO i = 1, n3-1
                        IF (line_mem(next_line_mem_pos + n+i) .NE.
@@ -2283,7 +2289,7 @@ c	ENDIF
 * get the requested data somehow
 
         IF (arg_start(1) .LT. pos) arg_start(1) = pos
-	CALL GET_PROT_CMND_DATA ( memory, cx_last, ptype_native, status )
+	CALL GET_PROT_CMND_DATA (  cx_last, ptype_native, status )
         mr = is_mr(1)
 
         IF ( status .NE. ferr_ok ) THEN      ! 8/6/92
@@ -2358,13 +2364,13 @@ c	ENDIF
      .                               varid, status )
         IF (status .NE. ferr_ok) goto 5920
 
-        CALL ADD_ATTRIBUTE(  memory(1, mr_blk1(mr)), mr, 
+        CALL ADD_ATTRIBUTE(  memry(mr)%ptr, mr, 
      .         buff1, dset, attype_spec, attoutflag, new_att, status )
         IF (status .NE. ferr_ok) GOTO 6500
 
 * Change attribute value
         IF (.NOT. new_att) THEN
-           CALL EDIT_ATTRIBUTE(  memory(1, mr_blk1(mr)), mr, 
+           CALL EDIT_ATTRIBUTE(  memry(mr)%ptr, mr, 
      .               buff1, dset, attype_spec, def_att_quiet, status )
            IF (status .NE. ferr_ok) GOTO 6500
         ENDIF
@@ -2631,7 +2637,7 @@ c	ENDIF
            CALL ALL_1_ARG
 	   num_args = 1	 ! used by GET_CMND_DATA
 	   arg_start(1) = pos ! skip over "name ="
-	   CALL GET_CMND_DATA ( memory, cx_last, ptype_string, status )
+	   CALL GET_CMND_DATA (  cx_last, ptype_string, status )
 	   IF ( status .NE. ferr_ok ) RETURN
            IF ( num_uvars_in_cmnd .NE. 1 ) GOTO 6400
            cx = is_cx(1)
@@ -2650,16 +2656,16 @@ c	ENDIF
         IF (agg_dim .EQ. t_dim) THEN
            t_regular  = .FALSE.   ! ToDo /REGULART -- not yet implemented
            use_strict = .FALSE.   ! ToDo ?? T coordinate micro-adjustment ??
-           CALL INIT_T_AGGREGATE_DSET(memory(1, mr_blk1(mr)),
+           CALL INIT_T_AGGREGATE_DSET(memry(mr)%ptr,
      .                  nagfiles, have_expr, buff1, buff3, buff2, 
      .                  t_regular, use_strict, dset, status)
         ELSEIF (agg_dim .EQ. f_dim+1) THEN
 	   agg_dim = unspecified_int4
-	   CALL INIT_U_AGGREGATE_DSET (memory(1, mr_blk1(mr)),
+	   CALL INIT_U_AGGREGATE_DSET (memry(mr)%ptr,
      .                  nagfiles, have_expr, buff1, buff3, buff2, dset,
      .                  agg_quiet, agg_hide, agg_dim, status)
         ELSE
-	   CALL INIT_EF_AGGREGATE_DSET (memory(1, mr_blk1(mr)),
+	   CALL INIT_EF_AGGREGATE_DSET (memry(mr)%ptr,
      .                  nagfiles, have_expr, buff1, buff3, buff2, dset,
      .                  agg_quiet, agg_hide, agg_dim, status)
 
@@ -2771,7 +2777,10 @@ c ?? if nlab=0, use next avail slot?
  5582	CALL ERRMSG( ferr_grid_definition, status,
      .		'illegal argument for DEFINE AXIS/NPOINTS', *5000 )
  5590	CALL ERRMSG( ferr_prog_limit, status,
-     .		'axis coordinate storage exhausted - restart FERRET', *5000 )
+     .		'axis coordinate storage exhausted - issue CANCEL AXIS/ALL', *5000  )
+ 5592	CALL ERRMSG( ferr_prog_limit, status,
+     .		'axis coordinate storage exhausted -  '//
+     .		'use /EDGES not /BOUNDS to save space', *5000 )
  5600   slen = TM_LENSTR1(buff3)
         CALL ERRMSG( ferr_syntax, status,
      .               'error initializing '//buff3(:slen), *5000 )
diff --git a/fer/xeq/xeq_list.F b/fer/xeq/xeq_list.F
index 38419a8..4588de2 100644
--- a/fer/xeq/xeq_list.F
+++ b/fer/xeq/xeq_list.F
@@ -1,4 +1,4 @@
-	SUBROUTINE XEQ_LIST( memory )
+	SUBROUTINE XEQ_LIST
 
 *
 *
@@ -150,10 +150,13 @@
 * V685 *acm*  6/13 Dont add SAVE/NOCOORDS
 * V690 *sh*   1/14 Automated 3-argument auxiliary (curvilinear) plotting
 * V693+ 11/14 *sh* renaming 'sigma' as 'layerz' throughout
+* V702 1/17 *sh* for trac enhancement #2369 -- dynamic memory management 
 * V710 *acm*  1/17 Ticket 1480: When writing to netCDF, check whether the region on 
 *                  modulo axes is just one grid-cell longer than the axis length,e.g. 
 *                  if they gave a region of /X=0:360.  If so, write one grid-cell less 
 *                  data so the axis can still be a valid modulo axis.
+* v720 2/2017 *acm* Ticket 2513. If /RIGID write edges but do not write bounds or 
+*                  bounds attribute.
 
 	include 'tmap_dims.parm'
         include 'tmap_errors.parm'
@@ -169,7 +172,6 @@
         include 'xrisc.cmn'
 
 * calling argument declarations:
-	REAL	memory( mem_blk_size, max_mem_blks )
 
 * local variable declarations
 	LOGICAL		is_secure
@@ -185,11 +187,12 @@
      .                  STR_UPCASE, GET_MAX_STRING_LEN,
      .			status, mr, cx, inext, ilist, wsize, vax_code,
      .			rlen, flen, reclen, i, cx1, qfile, idim,
-     .			ndim, wkblk, perm(7), mr_perm(max_intrp),
+     .			ndim, perm(7), mr_perm(max_intrp),
      .                  npermuted, recsofar, do_stream_phase, nvars,
      .                  edges_flag, keepax_flag, nn, slen, do_bounds,
      .			my_mr(max_intrp), my_cx(max_intrp), frame_bottom,
      .			nvars2list
+	INTEGER*8	i8_size
 
 	CHARACTER	AUTO_FILENAME*2048, filename*2048, raw_name*2048, 
      .			buff*2048, fstatus*8, faccess*12, fformatted*12,
@@ -227,13 +230,13 @@
 	   list_fmt_type = plist_default ! restore for next command
 	   num_uvars_in_cmnd = 0	 ! wipe out past memory of expressions
 	   CALL CDF_PREP_CACHE( cx_last, filename, nvars,
-     .			  memory, is_mr, is_cx, clobber, status )
+     .			   is_mr, is_cx, clobber, status )
 	   IF ( status .NE. ferr_ok ) RETURN
            edges_flag = 0
            do_bounds = 0
 	   keepax_flag = 0
 	   out_type = "DFLT"
-	   CALL CDF_LIST( memory, filename( 1:TM_LENSTR1(filename)), 
+	   CALL CDF_LIST(  filename( 1:TM_LENSTR1(filename)), 
      .                    .FALSE., 'N', nvars, is_mr, is_cx,
      .			   ' ', .TRUE., pcdf_mode_cache, clobber, 
      .                    edges_flag, do_bounds, keepax_flag, out_type,  
@@ -276,7 +279,11 @@
      .		( ferr_not_implemented, status,
      .			'cannot /APPEND with STREAM format', *4999)
 
-* /RIGID for netCDF ?
+* /RIGID for netCDF ?  
+* As of 2/2017, write bounds if /RIGID and irregular, rather than edges,
+* unless they say /EDGES. So bounds are now treated in the default way when
+* /RIGID is given.
+
         i = qual_given( slash_rigid )
         IF ( i .GT. 0 ) THEN
            cdf_recax = 'N'   ! no record axis
@@ -295,7 +302,6 @@
 * /EDGES for netCDF ?
         edges_flag = 0
         IF ( qual_given(slash_list_edges) .GT. 0) edges_flag = 1
-        IF ( qual_given( slash_rigid ) .GT. 0) edges_flag = 2 
 
 * /BOUNDS for netCDF ?
 	do_bounds = 0
@@ -311,17 +317,13 @@
              IF (qual_given( slash_list_edges ) .GT. 0)
      .            CALL WARN('Cannot have both /BOUNDS and /EDGES '//
      .           'Ignoring /EDGES')
-             IF (qual_given( slash_rigid ) .GT. 0)
-     .            CALL WARN('Cannot have both /BOUNDS and /RIGID '//
-     .           'Ignoring /RIGID')
-              cdf_recax = 'T'   ! "T" is record axis
               edges_flag = 0
            ENDIF
         ENDIF
 
 * get the requested data somehow
 * (leave the variables flagged as "in-use" 7/92)
-	CALL GET_PROT_CMND_DATA ( memory, cx_last, ptype_native, status )
+	CALL GET_PROT_CMND_DATA (  cx_last, ptype_native, status )
 	IF ( status .NE. ferr_ok ) THEN      ! 8/6/92
            list_fmt_type = plist_default ! restore for next command
 	   list_format_given = .FALSE.
@@ -559,7 +561,7 @@ c     .		 .AND. .NOT.do_comma_del
 	         IF ( mr_type(my_mr(i)) .EQ. ptype_string ) THEN
 	            reclen = MAX(reclen,
      .			GET_MAX_STRING_LEN(my_cx(i), my_mr(i),
-     .					   memory(1,mr_blk1(my_mr(i))))+1 )
+     .					   memry(my_mr(i))%ptr)+1 )
 	         ELSE
 	            reclen = MAX(reclen,4)
 	         ENDIF
@@ -607,13 +609,14 @@ c     .		 .AND. .NOT.do_comma_del
      .             wsize = wsize * CX_DIM_LEN(idim,cx)
 	   ENDIF
 	ENDIF
-	CALL GET_WORK_SPC( wsize, wkblk, status )
+	i8_size = wsize
+	CALL GET_DYN_WORK_SPACE( i8_size, status )
 	IF ( status .NE. ferr_ok ) GOTO 1000
 
 * special handling of EPIC data - no permutations
 	IF ( do_epic ) THEN
 	   CALL EPIC_LIST( raw_name, my_mr, my_cx, 
-     .			   memory(1, wkblk), wsize, status )
+     .			   workmem(plegacy_work_buffer)%ptr, wsize, status )
 	   GOTO 1000
 	ENDIF
 
@@ -628,10 +631,9 @@ c bug fix: see err540_write_order.jnl move inside loop:
 c	   IF (.NOT.permute) CALL GET_CX_DIMS(cx,ndim, perm )
 	   DO 200 ilist = 1, nvars2list
 	      IF (.NOT.permute) CALL GET_CX_DIMS(my_cx(ilist),ndim,perm)
-	      CALL SHRINK_FOR_MODULO (my_cx(ilist), my_mr(ilist), do_cdf, do_shrink)
-
-	      CALL CREATE_PERMUTATION(	memory,
-     .					my_cx  (ilist),
+	      CALL SHRINK_FOR_MODULO (my_cx(ilist), my_mr(ilist), do_cdf,
+     .				      do_shrink)
+	      CALL CREATE_PERMUTATION(	my_cx  (ilist),
      .					my_mr  (ilist),
      .					perm, 
      .					mr_perm(ilist), do_shrink, status )
@@ -652,7 +654,7 @@ c	   IF (.NOT.permute) CALL GET_CX_DIMS(cx,ndim, perm )
 	         perm(2) = i
 	      ENDIF
 	   ENDIF
-	   CALL CREATE_PERMUTATION(memory,cx,mr,perm,mr_perm,do_cdf,status)
+	   CALL CREATE_PERMUTATION(cx,mr,perm,mr_perm,do_cdf,status)
 	   IF ( status .NE. ferr_ok ) GOTO 500
            npermuted = npermuted + 1
 	ENDIF
@@ -668,27 +670,27 @@ c	   IF (.NOT.permute) CALL GET_CX_DIMS(cx,ndim, perm )
 *     .                          clobber, raw_name, status)
 
 	ELSEIF ( do_cdf ) THEN
-	   CALL CDF_LIST( memory, raw_name( 1:TM_LENSTR1(raw_name)), 
+	   CALL CDF_LIST(  raw_name( 1:TM_LENSTR1(raw_name)), 
      .                    list_at_eof, cdf_recax, nvars2list,
      .			  mr_perm, my_cx, buff, head_enh,
      .			  pcdf_mode_normal, clobber, edges_flag, do_bounds,
      .                    keepax_flag, out_type, quiet, status )
 
 	ELSEIF( all_at_once ) THEN
-	   CALL LIST_MULTI( memory, mr_perm, my_cx, heading, perm,
-     .			    wsize, memory(1, wkblk), status )
+	   CALL LIST_MULTI(  mr_perm, my_cx, heading, perm,
+     .			    wsize, workmem(plegacy_work_buffer)%ptr,status )
 	ELSE
 	   CALL NON_ARRAY_SUBSC( mr_perm, 1 )
            nn = mr_perm(1)
-	   CALL LIST_CMND_DATA( memory(1, mr_blk1(mr_perm(1))),
-     .                          nn, cx, memory(1, wkblk), 
+	   CALL LIST_CMND_DATA( memry(mr_perm(1))%ptr,
+     .                          nn, cx,  workmem(plegacy_work_buffer)%ptr, 
      .                          heading, head_enh, recsofar, perm, 
      .                          clobber, raw_name, status)
 	ENDIF
 
 * EXIT sequence
 * ... relinquish working space
- 500	CALL RELEASE_WORK_SPC
+ 500	CALL RELEASE_DYN_WORK_SPACE
 
 * ... close any special output device
 	IF ( normal_file ) CLOSE ( UNIT = list_lun, ERR = 5010 )
diff --git a/fer/xeq/xeq_load.F b/fer/xeq/xeq_load.F
index 8186bb7..d625d0a 100644
--- a/fer/xeq/xeq_load.F
+++ b/fer/xeq/xeq_load.F
@@ -1,4 +1,4 @@
-	SUBROUTINE XEQ_LOAD( memory )
+	SUBROUTINE XEQ_LOAD
 
 *
 *
@@ -60,7 +60,7 @@
 * V312: 5/94 - array "memory" as a calling argument
 * V530: *sh* 9/00 - added initial data type support in get_cmnd_data 
 *       *acm* 3/12 6D Ferret (common uses nferdims in tmap_dims.parm)
-* V702 12/16 *sh* doc change only
+* V702 2/17 *sh* keep track of LOAD/PERM memory usage
 
 	include 'tmap_dims.parm'
 	include	'ferret.parm'
@@ -75,7 +75,6 @@
      .			slash_name = 16 )
 
 * calling argument declarations:
-	REAL	memory(*)
 
 * local variable declarations:
 	LOGICAL		EXPLICIT_UVAR, permanent, named, temp
@@ -91,7 +90,7 @@
      .		'/NAME= no longer supported - use DEFINE VARIABLE', *5000 )
 	
 * get the requested data somehow
-	CALL GET_CMND_DATA ( memory, cx_last, ptype_native, status )
+	CALL GET_CMND_DATA (  cx_last, ptype_native, status )
 	IF ( status .NE. ferr_ok ) GOTO 5000
 
 * set protections as indicated (check for already protected 8/92)
@@ -113,10 +112,10 @@
 	         mr_del_blink(next) = prev
 	         mr_del_flink( mr ) = unspecified_int4	! important 12/16
 	         mr_del_blink( mr ) = unspecified_int4	! important 12/16
+	         permanent_mem = permanent_mem + mr_size(mr)
               ENDIF
  400	   CONTINUE
 
-* LOAD/TEMPORARY - explicitly specified to reverse /PERMANENT
 	ELSEIF ( temp ) THEN
 	   DO 500 iload = 1, num_uvars_in_cmnd
 	      mr = is_mr( iload )
@@ -128,7 +127,9 @@
 	         mr_del_flink(mr) = last_head
 	         mr_del_flink(0)  = mr
 	         mr_del_blink(last_head) = mr
+	         permanent_mem = permanent_mem - mr_size(mr)
 	      ENDIF
+	      
  500	   CONTINUE
 
 	ENDIF
diff --git a/fer/xeq/xeq_plot.F b/fer/xeq/xeq_plot.F
index 307210c..8794cd1 100644
--- a/fer/xeq/xeq_plot.F
+++ b/fer/xeq/xeq_plot.F
@@ -1,4 +1,4 @@
-	SUBROUTINE XEQ_PLOT( memory )
+	SUBROUTINE XEQ_PLOT
 
 *  This software was developed by the Thermal Modeling and Analysis
 *  Project(TMAP) of the National Oceanographic and Atmospheric
@@ -114,6 +114,7 @@
 * V7    *acm* 6/16 Ticket 2434: command qualifiers /DEGMINSEC= /HALFSPAC
 *                  DEGMINSEC=1 for Deg-Min axis labels, =2 for Deg-Min-Sec. Default = 1
 *                  /HALFSPAC adds a half space between the degree sign and E/W or N/S
+* V702 1/17 *sh* for trac enhancement #2369 -- dynamic memory management 
 * V71  *acm* 2/17  More on ticket 2231. Initialize flag use_keys.
 
 	include 'tmap_dims.parm'
@@ -140,7 +141,6 @@
 
 	
 * calling argument declarations:
-	REAL	memory( mem_blk_size, max_mem_blks )
 
 * internal variable declarations:
 	LOGICAL		TM_HAS_STRING, 
@@ -151,8 +151,7 @@
 	INTEGER		TM_LENSTR1, TM_LENSTR, STR_UPCASE, STR_SAME,
      .                  symbol, color, color1, status,
      .			loc, limit, slen, thick, step_inc,
-     .			ax1_blks, ax1_start,
-     .			ax2_blks, ax2_start,
+     .			ax1_work, ax2_work,
      .			do_dash, s1, s2, it_start(4), it_end(4),
      .			nparm, dot_sym, num_it, i, iax(4), i1,
      .                  loch, locv, nvs, skipsym
@@ -167,8 +166,7 @@
 
 * set up the graphics environment and get the data
 	CALL START_PPLUS
-	CALL DISP_DATA_SET_UP( memory,
-     .		ax1_start, ax1_blks, ax2_start, ax2_blks, status )
+	CALL DISP_DATA_SET_UP(  ax1_work, ax2_work, status )
 	IF ( status .NE. ferr_ok ) GOTO 5100
 
         ncolors = mode_arg(pmode_linecolors,1)
@@ -597,7 +595,7 @@ c	      limit = num_fancy_lines 			!was num_plain 1/94
  100       ENDDO
 
 	   IF ( buff .NE. ' ' ) THEN
-* Check for optional pareskipeses
+* Check for optional parentheses
 
               slen = TM_LENSTR1(buff)
               s1 = 1
@@ -653,7 +651,7 @@ c	      limit = num_fancy_lines 			!was num_plain 1/94
 
 * set up the axes and title and load the data into PPLUS
 
-	CALL PLOT_SET_UP   ( 	memory,
+	CALL PLOT_SET_UP   ( 	
      .				overlay,
      .				transpz,
      .				versus,
@@ -676,8 +674,8 @@ c	      limit = num_fancy_lines 			!was num_plain 1/94
      .				is_mr,
      .				is_cx,
      .				num_uvars_in_cmnd,
-     .				memory( 1, ax1_start ),
-     .				memory( 1, ax2_start ),
+     .				workmem(ax1_work)%ptr,
+     .				workmem(ax2_work)%ptr,
      .				status )
 	IF ( status .NE. ferr_ok ) GOTO 5000
 	
@@ -802,8 +800,8 @@ c done in plot_set_up.
 ! PLOT/ALONG does a hack to num_uvars_in_cmnd that can lead to a problem
 ! in GET_PROT_CMND_DATA if the same argument string is re-used in the next cmnd
  1000	IF (along) num_uvars_in_cmnd = 1
-	CALL FREE_MEMORY( ax2_start, ax2_blks )
- 	CALL FREE_MEMORY( ax1_start, ax2_blks )
+ 	CALL FREE_WS_DYNMEM( ax1_work )
+	CALL FREE_WS_DYNMEM( ax2_work )
 	CALL UNPROTECT_CMND_DATA			! 1/94
  5100	RETURN
 
diff --git a/fer/xeq/xeq_polygon.F b/fer/xeq/xeq_polygon.F
index 8cead35..e3c9ba7 100644
--- a/fer/xeq/xeq_polygon.F
+++ b/fer/xeq/xeq_polygon.F
@@ -1,4 +1,4 @@
-	SUBROUTINE XEQ_POLYGON( memory )
+	SUBROUTINE XEQ_POLYGON
 
 *
 *
@@ -72,6 +72,7 @@
 * V697 *acm* 12/15 Fixes for bug 2327 move call of PPL_AXES_RESTORE back to end of plot routines
 * v697 *acm* 12/15 Ticket 2331, add flag changed_key to common, to restore the color key
 *                  style after a color plot and also after SHADE/SET; SHADE.
+* V702 1/17 *sh* for trac enhancement #2369 -- dynamic memory management 
 
 	include 'tmap_dims.parm'
 	include	'ferret.parm'
@@ -97,7 +98,6 @@
 
 	
 * calling argument declarations:
-	REAL	memory( mem_blk_size, max_mem_blks )
 
 * internal variable declarations:
         LOGICAL         TM_HAS_STRING, no_range, do_key, spectrum, pattern,
@@ -107,8 +107,7 @@
 	INTEGER         sp, patt, TM_LENSTR1, TM_LENSTR, STR_UPCASE
 	INTEGER		symbol, color, status,
      .			loc, limit, slen, coord_ax, thick,
-     .			ax1_blks, ax1_start,
-     .			ax2_blks, ax2_start,
+     .			ax1_work, ax2_work,
      .			s1, s2, it_start(4), it_end(4),
      .			nparm,  num_it, i, iax(4), i1, loch, locv
 	REAL		val, only_val, sym_size, add_lon
@@ -122,8 +121,7 @@
 * set up the graphics environment and get the data
 	CALL START_PPLUS
 
-	CALL DISP_DATA_SET_UP( memory,
-     .		ax1_start, ax1_blks, ax2_start, ax2_blks, status )
+	CALL DISP_DATA_SET_UP(  ax1_work, ax2_work, status )
 	IF ( status .NE. ferr_ok ) GOTO 5100
 
 * Initialize the lines buffer in PPL before setting up
@@ -308,7 +306,7 @@ c	      limit = num_fancy_lines 			!was num_plain 1/94
 * set up the axes and title and load the data into PPLUS
 
  220	CONTINUE 
-	CALL POLYGON_SET_UP   ( memory,
+	CALL POLYGON_SET_UP   ( 
      .				overlay,
      .				transpz,
      .				coord_ax,
@@ -327,8 +325,8 @@ c	      limit = num_fancy_lines 			!was num_plain 1/94
      .				do_mod_minus, 
      .				do_mod_plus,
      .				add_lon,
-     .				memory( 1, ax1_start ),
-     .				memory( 1, ax2_start ),
+     .				workmem(ax1_work)%ptr,
+     .				workmem(ax2_work)%ptr,
      .				status )
 	IF ( status .NE. ferr_ok ) GOTO 5000
 
@@ -511,8 +509,8 @@ C Reset pplus lines
 	ENDIF
 
 * release the memory used for axis buffers
- 1000	CALL FREE_MEMORY( ax2_start, ax2_blks )
- 	CALL FREE_MEMORY( ax1_start, ax2_blks )
+ 1000 	CALL FREE_WS_DYNMEM( ax1_work )
+	CALL FREE_WS_DYNMEM( ax2_work )
 	CALL UNPROTECT_CMND_DATA			! 1/94
  5100	RETURN
 
diff --git a/fer/xeq/xeq_set.F b/fer/xeq/xeq_set.F
index 87247a5..641b801 100644
--- a/fer/xeq/xeq_set.F
+++ b/fer/xeq/xeq_set.F
@@ -1,4 +1,4 @@
-	SUBROUTINE XEQ_SET( memory, reconfig )
+	SUBROUTINE XEQ_SET
 
 *  This software was developed by the Thermal Modeling and Analysis
 *  Project(TMAP) of the National Oceanographic and Atmospheric
@@ -194,6 +194,11 @@
 * V701 *acm*  7/12 Ticket 2455: On a SET AXIS/NAME=, save the original spelling and 
 *                  an up-cased spelling of the axis name, as is done with DEFINE AXIS.
 * V710  4/16 *acm* new TM_UNITS_CAL to account for calendar in units id
+* V702  3/17 *sh* added MODE FRUGAL
+*		  Fixed bug in error message for invalid SET LIST/OUT
+* V720 3/17 *acm* Fix ticket 2521; do not call TM_LEGAL_UNIX_NAME for path and 
+*                file name on SET REDIRECT.
+ 
 
 	include 'tmap_dims.parm'
 	include 'tmap_errors.parm'
@@ -234,8 +239,7 @@
         include 'netcdf.inc'    ! with NCCHAR
       
 * calling argument declarations:
-	INTEGER	reconfig
-	REAL	memory( mem_blk_size, max_mem_blks )
+!	INTEGER	reconfig   ! removed for dynamic memory management 2/2017
 
 * local variable declarations:
 	INTEGER		REGION_NUMBER, VIEWPORT_NUMBER, GRID_FROM_NAME,
@@ -254,6 +258,7 @@
      .                  dset, istat, cache_size, cache_nelems, 
      .                  cache_preemption, numpts, redir_file_lun, 
      .                  iline, iset, n
+	INTEGER*8	i8_val
         REAL*8          TM_WW_AXLEN, axwwlen, new_att_modulo_len
         REAL*8          delta, dlo, dhi, firstval, lastval
 	REAL		val_buf, cache_size_mb
@@ -284,7 +289,7 @@
 	LOGICAL is_secure
 
 * initialize
-	reconfig = 0   	! zero signals NO memory reconfigure
+!	reconfig = 0   	! zero signals NO memory reconfigure
 
 * select subcommand
 	GOTO ( 100,200,300,400,500,600,700,800,900,1000,
@@ -774,6 +779,9 @@ c *kob* 4/97
 	         ax_dec_pt(f_dim) = ax_dec_pt(t_dim)  
 	         ax_fmt(f_dim) = ax_fmt(t_dim) 
 
+              ELSEIF ( mode .EQ. pmode_desperate ) THEN
+	         CALL WARN("MODE DESPERATE is deprecated. Use MODE FRUGAL")
+
 	      ENDIF
 	      GOTO 820
 	   ENDIF
@@ -1418,8 +1426,8 @@ c *kob* 4/97
 * SET MEMORY/MWORDS=megawords
  1300	IF ( num_args .GT. 0 ) GOTO 5800
 	if (is_secure()) then
-	   call SPLIT_LIST(pttmode_help, err_lun,
-     1	        'This command is not allowed.', 0)
+	   CALL SPLIT_LIST(pttmode_help, err_lun,
+     1	        'This command is not allowed in secure mode.', 0)
 	   return
 	endif
         lp = qual_given( slash_set_memory_words )
@@ -1428,31 +1436,15 @@ c *kob* 4/97
      .			   val_buf, status )
            IF ( status .NE. ferr_ok ) RETURN
 	ELSE
-	   val_buf = 0
-	ENDIF
-	IF ( val_buf .GT. 0.0 ) THEN
-* for neatness make mem_blk_size always be a multiple of 100
-* If val_buf is small, make it the minimum size for the block size
-* When val_buf is large, the calculation can overflow.
-* Check for this...
-
-	   reconfig = INT(val_buf*1E6/(max_mem_blks*100))
-	   IF (reconfig .EQ. 0) reconfig = 1
-	   reconfig = reconfig * 100
-
-           IF (reconfig .LT. 0) THEN
-              reconfig = 0
-              CALL WARN('internal overflow expressing '//
-     .          cmnd_buff(qual_start(lp)+4:qual_end(lp))//
-     .		' Mwords as words. Restoring previous memory size.')
-           ENDIF
+	   val_buf = max_mem_allowed / 1E6    ! retain current size
 	ENDIF
-* clear the current contents of memory
-	DO 1310 i = 1,max_mr_avail
-	   IF ( mr_protected(i) .NE. mr_deleted ) CALL DELETE_VARIABLE(i)
- 1310	CONTINUE
-	CALL SPLIT_LIST(pttmode_ops, err_lun,
-     .			' Cached data cleared from memory', 0)
+	IF ( val_buf .LE. 0.0 ) GOTO 5805
+	i8_val = (val_buf*1.0000000001D0) * 1000000  ! int tuncation issues ...
+
+* reset the memory size
+	max_mem_allowed = i8_val 
+	peak_mem = 0
+	peak_essential_mem = 0
 
         RETURN
 
@@ -1630,7 +1622,7 @@ c *kob* 4/97
         IF (arg_start(1) .LT. pos) arg_start(1) = pos
         IF ( (iflag .EQ. 1 .AND. arg_end(1) .LT. len_cmnd) .OR. 
      .       (isetout .EQ. 0) ) THEN
-           CALL GET_PROT_CMND_DATA ( memory, cx_last, ptype_native, 
+           CALL GET_PROT_CMND_DATA (  cx_last, ptype_native, 
      .              status )
            IF ( status .NE. ferr_ok ) THEN      ! 8/6/92
               list_fmt_type = plist_default ! restore for next command
@@ -1700,7 +1692,7 @@ c *kob* 4/97
         IF ( (iflag .EQ. 1 .AND. arg_end(1) .LT. len_cmnd) .OR.
      .       (isetout .EQ. 0) ) THEN 
            mr = is_mr( 1 )
-           CALL EDIT_ATTRIBUTE(  memory(1, mr_blk1(mr)), mr, 
+           CALL EDIT_ATTRIBUTE(  memry(mr)%ptr, mr, 
      .               buff1, dset_num, attype_spec, set_att_quiet, status )
   
 ! errmsg already called in edit_attribute so just exit
@@ -1905,10 +1897,13 @@ c *kob* 4/97
               CALL ERRMSG( ferr_invalid_command, status,
      .                     'SET REDIRECT /FILE= what name?', *5000 )
            ENDIF
-           IF ( .NOT. TM_LEGAL_UNIX_NAME(title) ) THEN
-              CALL ERRMSG( ferr_invalid_command, status, 
-     .            'Illegal file name: ' // title, *5000 )
-           ENDIF
+
+c This check is not made for other file specifications e.g. writing data or graphics
+c files, or opening datasets. (ticket 2521).
+c           IF ( .NOT. TM_LEGAL_UNIX_NAME(title) ) THEN
+c              CALL ERRMSG( ferr_invalid_command, status, 
+c     .            'Illegal file name: ' // title, *5000 )
+c           ENDIF
 *
 *          Open or create the file
            INQUIRE( FILE = title, EXIST = fexist )
@@ -2067,6 +2062,9 @@ c *kob* 4/97
  5800	CALL ERRMSG( ferr_syntax, status,
      .		     'To reconfigure use SET MEMORY/SIZE=megawords'
      .		     //pCR//cmnd_buff(:len_cmnd), *5000 )
+ 5805	CALL ERRMSG( ferr_invalid_command, status,
+     .		     'Negative SET MEMORY/SIZE= value: '
+     .		     //pCR//cmnd_buff(item_start(1):item_end(1)), *5000)
  5810	CALL ERRMSG( ferr_invalid_command, status,
      .		     'SET MODE REMOTE_X requires a node name argument',
      .			*5000 )
@@ -2183,8 +2181,8 @@ c *kob* 4/97
  6800   CALL ERRMSG( ferr_erreq, status, title, *5000 )
  6810	CALL ERRMSG( ferr_invalid_command, status,
      .		'Unrecognized option/'//
-     .          cmnd_buff(qual_start(i):qual_end(i)) //pCR//
-     .		' Valid options are /OUTTYPE=DOUBLE,FLOAT,INT,SHORT,or BYTE', *1000 )
+     .          cmnd_buff(qual_start(lp):qual_end(lp)) //pCR//
+     .	' Valid options are /OUTTYPE=DOUBLE,FLOAT,INT,SHORT,or BYTE', *5000 )
      
  6900	CALL ERRMSG( ferr_unknown_arg, status,
      .'Can SET AXIS/OUTTYPE=INPUT, DOUBLE, FLOAT, INT, SHORT, BYTE, or NONE',
diff --git a/fer/xeq/xeq_shade.F b/fer/xeq/xeq_shade.F
index d20063e..33f8bbc 100644
--- a/fer/xeq/xeq_shade.F
+++ b/fer/xeq/xeq_shade.F
@@ -1,4 +1,4 @@
- 	SUBROUTINE XEQ_SHADE( memory )
+ 	SUBROUTINE XEQ_SHADE
 
 *
 *
@@ -109,6 +109,7 @@
 * V7    *acm* 6/16 Ticket 2434: command qualifiers /DEGMINSEC= /HALFSPAC
 *                  DEGMINSEC=1 for Deg-Min axis labels, =2 for Deg-Min-Sec. Default = 1
 *                  /HALFSPAC adds a half space between the degree sign and E/W or N/S
+* V702 1/17 *sh* for trac enhancement #2369 -- dynamic memory management 
 
 	include 'tmap_dims.parm'
 	include	'ferret.parm'
@@ -127,7 +128,6 @@
 
 
 * calling argument declarations:
-	REAL	memory( mem_blk_size, max_mem_blks )
 
 * internal variable declarations:
 	LOGICAL	  TM_HAS_STRING, 
@@ -136,8 +136,7 @@
      .		  is_logh, is_logv, is_shade, use_cell, inc_grid
 
 	INTEGER	  TM_LENSTR1, TM_LENSTR, STR_UPCASE, status, slen, sp, patt,
-     .		  ax1_blks, ax1_start,
-     .		  ax2_blks, ax2_start, i, nparm, num_it, 
+     .		  ax1_work, ax2_work, i, nparm, num_it, 
      .		  loc, s1, s2, it_start(4), it_end(4), iax(4),
      .            density, i1, loch, locv
         INTEGER	  grid, mvx
@@ -154,8 +153,7 @@
 
 * set up the graphics environment and get the data
 	CALL START_PPLUS
-	CALL DISP_DATA_SET_UP( memory,
-     .		ax1_start, ax1_blks, ax2_start, ax2_blks, status )
+	CALL DISP_DATA_SET_UP(  ax1_work, ax2_work, status )
 	IF ( status .NE. ferr_ok ) GOTO 5100
 
 * initialize
@@ -229,7 +227,7 @@
 
 * set up the axes and title and load the data into PPLUS
 	inc_grid = set_up
-	CALL DISP_SET_UP   (    memory,
+	CALL DISP_SET_UP   (    
      .				not_vector,
      .				is_shade,
      .				use_cell,
@@ -246,8 +244,8 @@
      .				num_uvars_in_cmnd,
      .				is_cx,
      .				is_uvar,
-     .				memory( 1, ax1_start ),
-     .				memory( 1, ax2_start ),
+     .				workmem(ax1_work)%ptr,
+     .				workmem(ax2_work)%ptr,
      .				-1, 			! auto pen select,
      .				inc_grid,
      .				status )
@@ -489,8 +487,8 @@ c done in disp_set_up. If mode_nodata_lab is false then leave this off.
  1000 	CONTINUE
  
 
-	CALL FREE_MEMORY( ax2_start, ax2_blks )
- 	CALL FREE_MEMORY( ax1_start, ax2_blks )
+ 	CALL FREE_WS_DYNMEM( ax1_work )
+	CALL FREE_WS_DYNMEM( ax2_work )
 	CALL UNPROTECT_CMND_DATA			! 1/94
  5100	RETURN
 
diff --git a/fer/xeq/xeq_show.F b/fer/xeq/xeq_show.F
index 4b2a900..7af4e1e 100644
--- a/fer/xeq/xeq_show.F
+++ b/fer/xeq/xeq_show.F
@@ -1,4 +1,4 @@
-    	SUBROUTINE XEQ_SHOW( memory )
+    	SUBROUTINE XEQ_SHOW
 
 *  This software was developed by the Thermal Modeling and Analysis
 *  Project(TMAP) of the National Oceanographic and Atmospheric
@@ -174,7 +174,7 @@
 * v675  *acm  4/12 Fix ticket 1934, simpler SHOW ATTRIBUTE syntax.
 * V6.8  acm  6/12 Implement mode_6d_lab, set by default. If canceled, the 
 *                 various SHOW commnands will not list info for E,F dimensions.
-*                 SHOW with 6D variable and mode_6d_lab cancelled, is an error.
+*                 SHOW with 6D variable and mode_6d_lab canceled, is an error.
 * V683 *acm*  8/12 On SHOW LIST, show the output-type setting from SET LIST/OUTTYPE=  
 * V685 *acm*  2/13 LET/REMOTE changes: show internally-defined climatological axes
 *                  in xml output.
@@ -203,8 +203,10 @@
 * V698  3/16 *acm* Changes for ticket 2078: improved SHOW COMMANDS
 * V698  4/16 *acm* For ticket 2399: Apply MODE CALENDAR settings to F axes too
 * V7    5/16 *acm* See ticket 2352. For LET/D variables look for info under that dataset
-* V710 *acm* 10/16 Ticket 2422: variables uvar_grid, uvar_data_type, uvar_aux_cat, 
+* V701 *acm* 10/16 Ticket 2422: variables uvar_grid, uvar_data_type, uvar_aux_cat, 
 *                  uvar_aux_var to be replaced with calls to LIST routines in NCF_Util.c 
+* V702 1/17 *sh* for trac enhancement #2369 -- dynamic memory management
+* V720 3/17 *acm* Ticket 2132, attribute of user-defined variable, do not try to show dataset info
 
 	include 'tmap_dims.parm'
 #	include "tmap_dset.parm"
@@ -239,6 +241,7 @@
 	LOGICAL	    brief
 	INTEGER	    len_show_str,
      .		    slash_mem_free,
+     .		    slash_mem_diag,
      .		    slash_mem_temp,
      .		    slash_mem_perm,
      .		    slash_brief,
@@ -259,6 +262,7 @@
      .              
 	PARAMETER ( len_show_str = 2048,		! length of output line buffer
      .		    brief	 = .TRUE.,
+     .		    slash_mem_diag = 1 + 1,
      .		    slash_mem_temp = 1 + 2,
      .		    slash_mem_perm = 1 + 3,
      .		    slash_mem_free = 1 + 4,
@@ -279,7 +283,6 @@
      .		    slash_attr_output = 1 + 2)
 
 * calling argument declarations:
-	REAL memory( mem_blk_size, max_mem_blks )
 
 * local variable declarations:
 	LOGICAL	MATCH4, MATCH_TEMPLATE, IS_TEMPLATE, TM_HAS_STRING,
@@ -291,11 +294,11 @@
 	INTEGER TM_LENSTR1, TM_LENSTR, UVAR_NUMBER, STR_UPCASE,
      .		REGION_NUMBER, GRID_FROM_NAME, FIND_DSET_NUMBER,
      .		EFCN_MATCH_TEMPLATE, TM_GET_LINENUM, STR_SAME, TM_GET_GRIDNUM,
-     .		category, mods_cx, v1_blk1, v1_nblks, grid, cx,
+     .		category, mods_cx, grid, cx,
      .		status, iqual, mode, iset, i, icmnd, isub, n,
      .		len, len0, iuvar, ivar, dset, line, ivp, i1, i2,
      .		rqst_dset, tmp_grid, num_predefined_axes, 
-     .          flen, wsize, wkblk, len_test, len_mchars, outlist_file,
+     .          flen, wsize, len_test, len_mchars, outlist_file,
      .          j, num_indices, varid, attlen, maxlen, attype,
      .          vtype, nvdims, vdims(8), nvatts, iatt, dset_last,
      .          llen, loc, cat, var, attoutflag, all_outflag, dot, brkt,
@@ -310,7 +313,7 @@
 	INTEGER aux_cat(nferdims), aux_var(nferdims)  ! get info from LIST 
 
 	REAL	xtemp, ytemp, attvals(100), cache_mb, cache_n, cache_p, rsize
-	CHARACTER EXPR_NAME*8, TM_FMT*12, VAR_CODE*128,
+	CHARACTER EXPR_NAME*8, TM_FMT*12, VAR_CODE*128, ALG_TRANS_CODE*3,
      .		default*10, show_str*2048, arg*128, name*128, argsym*120
 	CHARACTER	varatt*641, varname*512, attname*128,
      .			efname*40, upname*40, aname*128, outstring*2048,
@@ -701,7 +704,7 @@ c     .           (line.GE.num_clim_1 .AND. line.LE.num_clim_n) )
 	   IF ( mode_state( mode, 1 ) ) THEN
 	      show_str(24:) = 'SET'
 	   ELSE
-	      show_str(21:) = 'CANCELLED'
+	      show_str(21:) = 'CANCELED'
 	   ENDIF
 	   IF ( mode .EQ. pmode_time_lab ) THEN
 	      show_str(36:) = date_labels( ABS(ax_dec_pt(t_dim)) )
@@ -915,24 +918,24 @@ c                    ENDIF ! status from GET_SAVED_UVAR_AUX_INFO
 	   IF (status .NE. ferr_ok ) GOTO 5000
 	ENDIF
 
-* ... SHOW VARIABLES/DIAGNOSTIC
-        IF ( (slash_all .AND. .NOT.sho_tree)
-     .  .OR. qual_given(slash_show_var_diag) .GT. 0 ) THEN
-	   IF ( num_args .GT. 0 ) THEN
-	      arg = cmnd_buff(arg_start(1):arg_end(1))
-	   ELSE
-	      arg = unspecified_name4
-	   ENDIF
-	   rsize = FLOAT(max_mrs)
-	   
-* COMPUTE # BLOCKS NEEDED
-	   grid_blocks = ( INT(rsize) + mem_blk_size - 1 ) / mem_blk_size
-
-	   CALL GET_MEMORY( INT(rsize), grid_blocks, v1_blk1, v1_nblks, status )
-	   IF ( status .NE. ferr_ok ) GOTO 5000
-c	   CALL SHOW_DIAG_VARS( arg, memory(1,v1_blk1) )
-	   CALL FREE_MEMORY( v1_blk1, v1_nblks )
-	ENDIF
+!* ... SHOW VARIABLES/DIAGNOSTIC
+!        IF ( (slash_all .AND. .NOT.sho_tree)
+!     .  .OR. qual_given(slash_show_var_diag) .GT. 0 ) THEN
+!	   IF ( num_args .GT. 0 ) THEN
+!	      arg = cmnd_buff(arg_start(1):arg_end(1))
+!	   ELSE
+!	      arg = unspecified_name4
+!	   ENDIF
+!	   rsize = FLOAT(max_mrs)
+!	   
+!* COMPUTE # BLOCKS NEEDED
+!	   grid_blocks = ( INT(rsize) + mem_blk_size - 1 ) / mem_blk_size
+!
+!	   CALL GET_MEMORY( INT(rsize), grid_blocks, v1_blk1, v1_nblks, status )
+!	   IF ( status .NE. ferr_ok ) GOTO 5000
+!c	   CALL SHOW_DIAG_VARS( arg, memory(1,v1_blk1) )
+!	   CALL FREE_MEMORY( v1_blk1, v1_nblks )
+!	ENDIF
 
 * ... SHOW VARIABLE/TREE [expr]
         IF ( sho_tree ) THEN 
@@ -973,7 +976,7 @@ c	   CALL SHOW_DIAG_VARS( arg, memory(1,v1_blk1) )
  1007         saved_index_list(i) = deleted_list_result(i)
               DO 1008 i = 1, saved_num_indices
                  CALL CRAWL_DEPENDENCIES
-     .                          ( memory,
+     .                          ( 
      .                          uvar_name_code(saved_index_list(i)), 
      .                          base_cx, status )
                  IF (status .NE. ferr_ok) GOTO 5050
@@ -982,12 +985,12 @@ c	   CALL SHOW_DIAG_VARS( arg, memory(1,v1_blk1) )
 *       SHOW VAR/TREE  expr1, expr2, ...
 *  ... multiplicity of items is handled by BREAK_UP_EXPR in CRAWL_DEPENDENCIES
               CALL CRAWL_DEPENDENCIES
-     .                   ( memory,
+     .                   ( 
      .                     cmnd_buff(item_start(1):item_end(num_items)), 
      .                     base_cx, status )
               IF (status .NE. ferr_ok) GOTO 5050
            ENDIF
-           CALL DISPLAY_DEPENDENCY( memory(1,dependency_block1) )
+           CALL DISPLAY_DEPENDENCY( workmem(plegacy_work_buffer)%ptr )
  1010      CALL EXIT_DEPENDENCY_MODE
             IF (sho_file .GT. 0) CLOSE( UNIT = show_lun, ERR = 5000 )
            RETURN
@@ -1344,21 +1347,46 @@ c	   CALL SHOW_DIAG_VARS( arg, memory(1,v1_blk1) )
  1199	IF ( limited_show ) RETURN
 
 * SHOW MEMORY
- 1200   show_str = TM_FMT( FLOAT(mem_blk_size) * 
-     .                     FLOAT(max_mem_blks) / 1.E6, 3, 12, len)
-     
-#ifdef double_p
-	WRITE (risc_buff, *)
-     .	   'Current size of FERRET memory cache: '
-     .		//show_str(:len)//' MegaWords  (1 word = 8 bytes)'
-#else
-	WRITE (risc_buff, *)
-     .	   'Current size of FERRET memory cache: '
-     .		//show_str(:len)//' MegaWords  (1 word = 4 bytes)'
-#endif
+ 1200   IF ( qual_given(slash_mem_diag) .GT. 0 ) THEN
+* ... SHOW MEMORY/DIAGNOSTIC
+           IF (nsplits .EQ. 0) THEN
+	      CALL SPLIT_LIST(pttmode_explct, show_lun,
+     .             '    No split/gather occurred in the last evaluation', 0)
+           ELSE
+	      CALL SPLIT_LIST(pttmode_explct, show_lun,
+     .             '    Last gather', 0)
+	      CALL SPLIT_LIST(pttmode_explct, show_lun,
+     .             '        Variable    Axis   Xform     '
+     .             //'Chunk    Repeated', 0)
+              DO i = 1, nsplits
+                 name = VAR_CODE(split_cat(i), split_var(i))
+                 WRITE (risc_buff, 4201)
+     .                          name,
+     .                          ww_dim_name(split_axis(i)),
+     .                          ALG_TRANS_CODE(split_trans(i)),
+     .                          split_frag(i),
+     .                          split_repeats(i)
+	         CALL SPLIT_LIST(pttmode_explct, show_lun, risc_buff, 0)
+
+                 IF (i .EQ. max_splits) THEN
+                    CALL SPLIT_LIST(pttmode_explct, show_lun,
+     .                      " ... and others", 0)
+                    EXIT
+                 ENDIF
+              ENDDO
+           ENDIF
+* ... run the memory diagnostic as part of /DIAGNOSTIC
+	   CALL CHECK_MEMORY( show_lun )
+        ENDIF
+ 4201   FORMAT(8x,A15,A1,A8,I10,I12)
+
+        CALL SHOW_MEM_USAGE_LINE('SET MEMORY/SIZE', max_mem_allowed)
+        CALL SHOW_MEM_USAGE_LINE('Peak demand', peak_essential_mem)
+        CALL SHOW_MEM_USAGE_LINE('Current cache', total_mem)
+        IF (permanent_mem .NE. 0 ) THEN
+           CALL SHOW_MEM_USAGE_LINE('Permanent', permanent_mem)
+        ENDIF
 
-	CALL SPLIT_LIST(pttmode_explct, show_lun, risc_buff, 0)
-	risc_buff = ' '
 	IF ( qual_given( slash_mem_free ) .GT. 0 ) THEN
 	   CALL CHECK_MEMORY( show_lun )
 	ELSEIF( slash_all
@@ -1924,8 +1952,9 @@ c	   CALL SHOW_DIAG_VARS( arg, memory(1,v1_blk1) )
      .                              all_outflag, status)
 
 * Write header line
+
               IF (.NOT. sxml) THEN
-                 IF (dset .NE. dset_last ) THEN
+                 IF (dset.NE.dset_last .AND. dset.GT.pdset_irrelevant) THEN
                     llen = TM_LENSTR1(ds_des_name(dset))
                     WRITE (risc_buff, 4800) ds_des_name(dset)(:llen)
                     CALL SPLIT_LIST(pttmode_explct, show_lun, 
@@ -2113,7 +2142,7 @@ c     .                               sbrief, sdetail, i2)
 
 
 * error exit
- 5050   CALL RELEASE_WORK_SPC
+ 5050   CALL RELEASE_DYN_WORK_SPACE
  5000	RETURN
  5071	name = cmnd_buff(arg_start(1):arg_end(1))
 	CALL ERRMSG( ferr_unknown_data_set, status,
diff --git a/fer/xeq/xeq_spawn.F b/fer/xeq/xeq_spawn.F
index 37822e4..3fd08c6 100644
--- a/fer/xeq/xeq_spawn.F
+++ b/fer/xeq/xeq_spawn.F
@@ -52,8 +52,11 @@
 *                  commands via SPLIT_LIST to std error rather than std out.
 *       *acm* 3/12 cleanup ifdefs and unnecessary include files
 *       *acm* 3/12 6D Ferret (common uses nferdims in tmap_dims.parm)
-*    *acm* 7/17. Test a status flag on the system call (see ticket 2453). Results 
-*                seem inconsistent, make it a warning
+*    *acm* 7/17. Test a status flag on the system call (see ticket 2453).
+*                 Results seem inconsistent, make it a warning
+* V702 3/17 Use the return status to set Ferret symbol ($SPAWN_STATUS)
+* v720 7/17 ticket 2552 Make SPAWN_STATUS return the return status, so 0=succcess
+*           SPAWN_STATUS returns the status value, used for SPAWN_OK and SPAWN_STATUS
 
 	include 'tmap_dims.parm'
 	include 'ferret.parm'
@@ -64,25 +67,20 @@
 	LOGICAL IS_SECURE
 	INTEGER	status, slen
 
-	CALl ALL_1_ARG
-	IF ( num_args .GT. 0 ) THEN
-	   if (IS_SECURE()) then
-	      call SPLIT_LIST(pttmode_help, err_lun,
-     1	        'This command is not allowed.', 0)
-	   else
-*             Flush Fortran stdout and stderr so that any output from
-*             the system command will appear in the appropriate place.
-              CALL FLUSH(ttout_lun)
-              CALL FLUSH(err_lun)
-	      CALL SYSTEM( cmnd_buff(arg_start(1):arg_end(1)),status )
-	      IF (status .NE. 0) CALL WARN (
-     .           'Shell command returned failure flag: '//
-     .            cmnd_buff(arg_start(1):arg_end(1)) )
-
-* To handle a nonzero return as an ERROR, comment out the WARN just above, and do this.
-c	      IF (status .NE. 0) GOTO 5100   
+        IF (IS_SECURE()) THEN
+           CALL SPLIT_LIST(pttmode_help, err_lun,
+     1                     'This command is not allowed.', 0)
+           RETURN
+        ENDIF
 
-	   end if
+	CALL ALL_1_ARG
+	IF ( num_args .GT. 0 ) THEN
+*          Flush Fortran stdout and stderr so that any output from
+*          the system command will appear in the appropriate place.
+           CALL FLUSH(ttout_lun)
+           CALL FLUSH(err_lun)
+           CALL SYSTEM( cmnd_buff(arg_start(1):arg_end(1)),status )
+           spawn_status = status   
 	ELSE
 * user can get choice of shells with "SPAWN csh", or whatever.
 	   CALL SPLIT_LIST(pttmode_help, err_lun,
@@ -95,7 +93,6 @@ c	      IF (status .NE. 0) GOTO 5100
 5000	CONTINUE
 	RETURN
 
-5100	CONTINUE
 
 
 * The return is the return flag from the command, which might be non-zero
@@ -106,8 +103,8 @@ c	      IF (status .NE. 0) GOTO 5100
 *   sp cat file.dat | grep "this text not in the file"  >> returns 256
 *   sp notAcommand >> returns 32512
 
-	CALL ERRMSG(ferr_sys_return, status, 
-     .            'SPAWN '//cmnd_buff(arg_start(1):arg_end(1)), *5000)
+!5100	CALL ERRMSG(ferr_sys_return, status, 
+!     .            'SPAWN '//cmnd_buff(arg_start(1):arg_end(1)), *5000)
 
 	END
 
diff --git a/fer/xeq/xeq_stat.F b/fer/xeq/xeq_stat.F
index e7f8dc3..afd2207 100644
--- a/fer/xeq/xeq_stat.F
+++ b/fer/xeq/xeq_stat.F
@@ -1,4 +1,4 @@
-	SUBROUTINE XEQ_STAT( memory )
+	SUBROUTINE XEQ_STAT
 
 *
 *
@@ -49,6 +49,7 @@
 * V420	 2/7/96  - added STAT/BRIEF
 * V530: *sh* 9/00 - added initial data type support in get_cmnd_data 
 *       *acm* 3/12 6D Ferret (common uses nferdims in tmap_dims.parm)
+* V720 *acm*  3/17 Ticket 2512: Add STAT/PRECICISION=
 
 	include 'tmap_dims.parm'
 	include	'ferret.parm'
@@ -58,17 +59,28 @@
 	include 'xprog_state.cmn'
 
 * calling argument declarations:
-	REAL	memory( mem_blk_size, max_mem_blks )
 
 * local variable declarations:
 	LOGICAL	full
-	INTEGER	mv, cx, istat, status
+	INTEGER	mv, cx, istat, lp, stat_digits, status
+	REAL	value
 	
 * decode the qualifiers
 	full = qual_given( slash_stat_brief ) .EQ. 0
 
+* determine precision for outputting values
+* First, use STAT/PREC= setting.
+	stat_digits = 0
+	lp = qual_given( slash_stat_precision ) 
+	IF ( lp .GT. 0 ) THEN
+	   CALL EQUAL_VAL( cmnd_buff(qual_start(lp):qual_end(lp)),
+     .                     value, status )
+           IF ( status .NE. ferr_ok ) GOTO 5000
+	   stat_digits = MAX(1.,MIN(value, 16.))	! 1 to 16	   
+	ENDIF
+
 * get the requested data somehow
-	CALL GET_CMND_DATA ( memory, cx_last, ptype_native, status )
+	CALL GET_CMND_DATA (  cx_last, ptype_native, status )
 	IF ( status .NE. ferr_ok ) GOTO 5000
 
 * compute and display the results
@@ -76,8 +88,8 @@
 	   mv = is_mr( istat )
 	   cx = is_cx( istat )
 	   CALL NON_ARRAY_SUBSC( mv, 1 )
-	   CALL VAR_STAT( memory(1, mr_blk1(mv)), mv, cx,
-     .			  ttout_lun, full, status )
+	   CALL VAR_STAT( memry(mv)%ptr, mv, cx,
+     .			  ttout_lun, full, stat_digits, status )
            IF (status .NE. ferr_ok) GOTO 5000
  400	CONTINUE
 
diff --git a/fer/xeq/xeq_user_command.F b/fer/xeq/xeq_user_command.F
deleted file mode 100644
index f48f68a..0000000
--- a/fer/xeq/xeq_user_command.F
+++ /dev/null
@@ -1,103 +0,0 @@
-	SUBROUTINE XEQ_USER_COMMAND( memory )
-
-*
-*
-*  This software was developed by the Thermal Modeling and Analysis
-*  Project(TMAP) of the National Oceanographic and Atmospheric
-*  Administration's (NOAA) Pacific Marine Environmental Lab(PMEL),
-*  hereafter referred to as NOAA/PMEL/TMAP.
-*
-*  Access and use of this software shall impose the following
-*  obligations and understandings on the user. The user is granted the
-*  right, without any fee or cost, to use, copy, modify, alter, enhance
-*  and distribute this software, and any derivative works thereof, and
-*  its supporting documentation for any purpose whatsoever, provided
-*  that this entire notice appears in all copies of the software,
-*  derivative works and supporting documentation.  Further, the user
-*  agrees to credit NOAA/PMEL/TMAP in any publications that result from
-*  the use of this software or in any product that includes this
-*  software. The names TMAP, NOAA and/or PMEL, however, may not be used
-*  in any advertising or publicity to endorse or promote any products
-*  or commercial entity unless specific written permission is obtained
-*  from NOAA/PMEL/TMAP. The user also understands that NOAA/PMEL/TMAP
-*  is not obligated to provide the user with any support, consulting,
-*  training or assistance of any kind with regard to the use, operation
-*  and performance of this software nor to provide the user with any
-*  updates, revisions, new versions or "bug fixes".
-*
-*  THIS SOFTWARE IS PROVIDED BY NOAA/PMEL/TMAP "AS IS" AND ANY EXPRESS
-*  OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-*  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-*  ARE DISCLAIMED. IN NO EVENT SHALL NOAA/PMEL/TMAP BE LIABLE FOR ANY SPECIAL,
-*  INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
-*  RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF
-*  CONTRACT, NEGLIGENCE OR OTHER TORTUOUS ACTION, ARISING OUT OF OR IN
-*  CONNECTION WITH THE ACCESS, USE OR PERFORMANCE OF THIS SOFTWARE. 
-*
-*
-* execute the USER_COMMAND command
-* this is a template routine that can be modified to include any code of
-* a user's choice, thereby customizing the FERRET program
-
-* programmer - steve hankin
-* NOAA/PMEL, Seattle, WA - Tropical Modeling and Analysis Program
-* written for VAX computer under VMS operating system
-*
-* V200:  1/21/90
-* V301:  11/93 - bug fix:  was passing element 2 of var 2 element 3 of 3, etc.
-*			: command string decoded by user routines
-*         1/94 - need to pass at least 5 arguments for COMMAND=SAMPLE
-* V312: 5/94 - array "memory" as a calling argument
-*	(and passed to USER_SUB - fixed 6/1/94)
-* V530: *sh* 9/00 - added initial data type support in get_cmnd_data 
-
-#ifdef unix
-	include	'ferret.parm'
-	include 'errmsg.parm'
-	include 'xvariables.cmn'
-	include 'xprog_state.cmn'
-#else
-	INCLUDE	'FERRET_CMN:FERRET.PARM'
-	INCLUDE 'FERRET_CMN:ERRMSG.PARM'
-	INCLUDE 'FERRET_CMN:XVARIABLES.CMN'
-	INCLUDE 'FERRET_CMN:XPROG_STATE.CMN'
-#endif
-
-* calling argument declarations:
-	REAL	memory( mem_blk_size, max_mem_blks )
-
-* local variable declarations:
-	INTEGER	ivar, mr_list(6), cx_list(6), status
-	
-* get the requested data somehow - possibly several grids of data
-	CALL GET_CMND_DATA ( memory, cx_last, ptype_float, status )
-	IF ( status .NE. ferr_ok ) GOTO 5000
-
-* set up dummies if fewer than 4 components
-	DO 100 ivar = 1, num_uvars_in_cmnd
-	  mr_list(ivar) = is_mr(ivar)
-	  cx_list(ivar) = is_cx(ivar)
- 100	CONTINUE
-	DO 110 ivar = num_uvars_in_cmnd+1, 6    ! 4->6 2/25 bug found on SUN
-	  mr_list(ivar) = dummy_mr
-	  cx_list(ivar) = cx_buff
- 110	CONTINUE
-
-* compute and display the results
-	CALL NON_ARRAY_SUBSC( mr_list, num_uvars_in_cmnd )
-
-* pass control to the user's routine
-	CALL USER_SUB(    memory,
-     .			  memory(1, mr_blk1(mr_list(1))), 
-     .			  memory(1, mr_blk1(mr_list(2))), 
-     .			  memory(1, mr_blk1(mr_list(3))), 
-     .			  memory(1, mr_blk1(mr_list(4))), 
-     .			  memory(1, mr_blk1(mr_list(5))), 
-     .			  memory(1, mr_blk1(mr_list(6))), 
-     .			  mr_list, cx_list, num_uvars_in_cmnd,
-     .			  ttout_lun, status )
-	RETURN
-
-* error exit(s)
- 5000	RETURN
-	END
diff --git a/fer/xeq/xeq_vector.F b/fer/xeq/xeq_vector.F
index 059e440..8a3a682 100644
--- a/fer/xeq/xeq_vector.F
+++ b/fer/xeq/xeq_vector.F
@@ -1,4 +1,4 @@
-	SUBROUTINE XEQ_VECTOR( memory )
+	SUBROUTINE XEQ_VECTOR
 
 *  This software was developed by the Thermal Modeling and Analysis
 *  Project(TMAP) of the National Oceanographic and Atmospheric
@@ -105,6 +105,7 @@
 *       *acm* 3/12 Add E and F dimensions (use nferdims in tmap_dims.parm)
 *                  A time axis may be a T axis or F axis
 * V697 *acm* 12/15 Fixes for bug 2327 move call of PPL_AXES_RESTORE back to end of plot routines
+* V702 1/17 *sh* for trac enhancement #2369 -- dynamic memory management 
 
 
 	include 'tmap_dims.parm'
@@ -124,7 +125,6 @@
 
 
 * calling argument declarations:
-	REAL	memory( mem_blk_size, max_mem_blks )
 
 * internal variable declarations:
 	LOGICAL		overlay, transpz, no_labels, no_x_rng,
@@ -134,8 +134,7 @@
 	INTEGER		TM_LENSTR1, status, cx, 
      .			loc, ipen, thick,
      .			dim1, dim2, asp,
-     .			ax1_blks, ax1_start,
-     .			ax2_blks, ax2_start,
+     .			ax1_work, ax2_work,
      .			x_skip, y_skip,
      .                  density, slen, i, nparm, num_it, 
      .			s1, s2, it_start(4), it_end(4), iax(4),
@@ -153,8 +152,7 @@
 
 * set up the graphics environment and get the data
 	CALL START_PPLUS
-	CALL DISP_DATA_SET_UP( memory,
-     .		ax1_start, ax1_blks, ax2_start, ax2_blks, status )
+	CALL DISP_DATA_SET_UP(  ax1_work, ax2_work, status )
 	IF ( status .NE. ferr_ok ) GOTO 5100
 
 * make sure the number of expressions given is even ( x and y components )
@@ -291,7 +289,7 @@
 * set up title and load the x component data into PPLUS
 
 	inc_grid = .FALSE.
-	CALL DISP_SET_UP   ( 	memory,
+	CALL DISP_SET_UP   ( 	
      . 			 	vector,
      .				is_shade,
      .				use_cell,
@@ -308,8 +306,8 @@
      .				num_uvars_in_cmnd,
      .				is_cx,
      .				is_uvar,	
-     .				memory( 1, ax1_start ),
-     .				memory( 1, ax2_start ),
+     .				workmem(ax1_work)%ptr,
+     .				workmem(ax2_work)%ptr,
      .				ipen,
      .				inc_grid,
      .				status )
@@ -526,8 +524,8 @@ C   Save the skip values in a symbol PPL_VEC_XSKIP, PPL_VEC_YSKIP
 	ENDIF
 
 * release the memory used for axis buffers
- 1000 	CALL FREE_MEMORY( ax2_start, ax2_blks )
- 	CALL FREE_MEMORY( ax1_start, ax2_blks )
+ 1000 	CALL FREE_WS_DYNMEM( ax1_work )
+	CALL FREE_WS_DYNMEM( ax2_work )
 	CALL UNPROTECT_CMND_DATA			! 1/94
  5100	RETURN
 
diff --git a/fer/xeq/xeq_wire.F b/fer/xeq/xeq_wire.F
index 96994af..58b4822 100644
--- a/fer/xeq/xeq_wire.F
+++ b/fer/xeq/xeq_wire.F
@@ -1,4 +1,4 @@
-	SUBROUTINE XEQ_WIRE( memory )
+	SUBROUTINE XEQ_WIRE
 
 *
 *
@@ -57,6 +57,8 @@
 * V552: *acm* 5/03 add argument use_cell to DISP_SET_UP call (not used by wire)
 *       *acm* 3/12 Add E and F dimensions (use nferdims in tmap_dims.parm)
 *                  A time axis may be a T axis or F axis
+* V702 1/17 *sh* for trac enhancement #2369 -- dynamic memory management 
+* V72  5/17 acm* Ticket 2530 add WIRE/COLOR= 
 
 	include 'tmap_dims.parm'
 	include	'ferret.parm'
@@ -71,14 +73,12 @@
 
 	
 * calling argument declarations:
-	REAL	memory( mem_blk_size, max_mem_blks )
 
 * internal variable declarations:
 	LOGICAL	  no_range, overlay, no_labels, transpz, got_vpoint,
      .		  is_logh, is_logv, is_shade, use_cell, set_up, inc_grid
 	INTEGER	  status, qp,
-     .		  ax1_blks, ax1_start,
-     .		  ax2_blks, ax2_start, density
+     .		  ax1_work, ax2_work, density, ipen
 	REAL	  only_val, aspect
 	PARAMETER (aspect = 0.0) 		!kob 12/96
 	CHARACTER vpoint*24, zlims*24, zscale*24
@@ -92,8 +92,7 @@
 	CALL START_PPLUS
 
 * get the data (possibly ?? on a slightly oversized region)
-	CALL DISP_DATA_SET_UP( memory,
-     .		ax1_start, ax1_blks, ax2_start, ax2_blks, status )
+	CALL DISP_DATA_SET_UP(  ax1_work, ax2_work, status )
 	IF ( status .NE. ferr_ok ) GOTO 5100
 
 * initialize
@@ -138,6 +137,16 @@
            IF ( status .NE. ferr_ok ) RETURN
         ENDIF
 
+* ... /COLOR=color name or pen number
+	qp = qual_given(slash_wire_color)
+	IF ( qp .GT. 0 ) THEN
+           CALL EQUAL_COLOR( cmnd_buff(qual_start(qp):qual_end(qp)),
+     .                           ipen, status )
+           IF ( status .NE. ferr_ok ) GOTO 5000
+	ELSE
+	   ipen = -1	! auto-select in DISP_SET_UP
+	ENDIF
+
 * prepare PLOT+ environment
 	CALL DISP_PREP( status )
 	IF ( status .NE. ferr_ok ) GOTO 5000
@@ -150,7 +159,7 @@
 * set up the axes and title and load the data into PPLUS
 
 	inc_grid = set_up
-	CALL DISP_SET_UP   ( 	memory,
+	CALL DISP_SET_UP   ( 	
      .				not_vector,
      .                          is_shade,
      .                          use_cell,
@@ -167,9 +176,9 @@
      .				num_uvars_in_cmnd,
      .				is_cx,		! pass list
      .				is_uvar,	
-     .				memory( 1, ax1_start ),
-     .				memory( 1, ax2_start ),
-     .				-1, 			! auto pen select
+     .				workmem(ax1_work)%ptr,
+     .				workmem(ax2_work)%ptr,
+     .				ipen,
      .				set_up,
      .				status )
 	IF ( status .NE. ferr_ok ) GOTO 5000
@@ -205,8 +214,8 @@
 	ENDIF
 
 * release the memory used for axis buffers
- 1000 	CALL FREE_MEMORY( ax2_start, ax2_blks )
- 	CALL FREE_MEMORY( ax1_start, ax2_blks )
+ 1000 	CALL FREE_WS_DYNMEM( ax1_work )
+	CALL FREE_WS_DYNMEM( ax2_work )
 	CALL UNPROTECT_CMND_DATA			! 1/94
  5100	RETURN
 
diff --git a/fmt/cmn/ez_delimited_read.h b/fmt/cmn/ez_delimited_read.h
index e90a896..a3b6fca 100644
--- a/fmt/cmn/ez_delimited_read.h
+++ b/fmt/cmn/ez_delimited_read.h
@@ -58,7 +58,7 @@ void FORTRAN(decode_file_jacket)
 		( char* fname, char *recptr, char *delims, int *skip,
 		  int* maxrec, int* reclen, int* nfields,
 		  int field_type[], int* nrec,
-		  int mrlist[], double *memptr, int mr_blk1[], int* mblk_size,
+		  int mrlist[], long* mr_ptrs_val,
 		  double mr_bad_flags[], char ***mr_c_ptr, int* status);
 #else
 int decodeRec(char *recptr, char *delims, int* nfields, int field_type[],
@@ -78,7 +78,7 @@ void FORTRAN(decode_file_jacket)
 		( char* fname, char *recptr, char *delims, int *skip,
 		  int* maxrec, int* reclen, int* nfields,
 		  int field_type[], int* nrec,
-		  int mrlist[], float *memptr, int mr_blk1[], int* mblk_size,
+		  int mrlist[], int* mr_ptrs_val,
 		  float mr_bad_flags[], char ***mr_c_ptr, int* status);
 #endif
 
diff --git a/fmt/cmn/netcdf_declareUnderscore.inc b/fmt/cmn/netcdf_declareUnderscore.inc
index 68f0eb4..b6a3ede 100644
--- a/fmt/cmn/netcdf_declareUnderscore.inc
+++ b/fmt/cmn/netcdf_declareUnderscore.inc
@@ -31,5 +31,5 @@
       INTEGER NF_PUT_VAR1_DOUBLE_
       INTEGER NF_PUT_VARA_DOUBLE_
       INTEGER NF_REDEF_
-      CHARACTER*1024 NF_STRERROR_
+      CHARACTER*80 NF_STRERROR_
 #endif 
diff --git a/fmt/src/NCF_Util.c b/fmt/src/NCF_Util.c
index 09d80a0..d16f078 100644
--- a/fmt/src/NCF_Util.c
+++ b/fmt/src/NCF_Util.c
@@ -133,7 +133,7 @@ int  FORTRAN(ncf_get_dsnum)( char * );
 int  FORTRAN(ncf_get_dsname)( int *, char *);
 int  FORTRAN(ncf_get_dim_id)( int *, char *);
 
-int  FORTRAN(ncf_get_var_name)( int *, int *, char *);
+int  FORTRAN(ncf_get_var_name)( int *, int *, char *, int *);
 int  FORTRAN(ncf_get_var_id)( int *, int*, char *);
 int  FORTRAN(ncf_get_var_id_case)( int *, int*, char *);
 int  FORTRAN(ncf_get_var_axflag)( int *, int *, int *, int *);
@@ -146,6 +146,7 @@ int  FORTRAN(ncf_get_attr_from_id) (int *, int *, int * , int *, double* );
 
 int  FORTRAN(ncf_get_var_outflag) (int *, int *, int *);
 int  FORTRAN(ncf_get_var_outtype) (int *, int *, int *);
+int  FORTRAN(ncf_get_var_type) (int *, int *, int *);
 int  FORTRAN(ncf_get_var_uvflag) (int *, int *, int *);
 
 int  FORTRAN(ncf_init_uvar_dset)( int *);
@@ -311,6 +312,22 @@ int FORTRAN(ncf_get_var_outtype)( int *dset, int *varid,    int *outtype )
 }
 
 /* ----
+ * Find a variable in a dataset based on the dataset integer ID and
+ * variable id. Return the variable type.
+ */
+int FORTRAN(ncf_get_var_type)( int *dset, int *varid, int *vartype )
+{
+    ncvar *var_ptr;
+
+    var_ptr = ncf_get_ds_var_ptr(dset, varid);
+    if ( var_ptr == NULL )
+        return ATOM_NOT_FOUND;
+
+    *vartype = var_ptr->type;
+    return FERR_OK;
+}
+
+/* ----
  * Find a variable attribute based on its variable ID and dataset ID, and attribute name
  * Return the attribute name, type, length, and output flag
  */
@@ -421,7 +438,7 @@ int FORTRAN(ncf_get_dim_id)( int *dset, char dname[] )
  * Find a variable in a dataset based on the dataset integer ID and
  * variable id. Return the variable name.
  */
-int FORTRAN(ncf_get_var_name)( int *dset, int* ivar, char* string )
+int FORTRAN(ncf_get_var_name)( int *dset, int* ivar, char* string, int* len_name )
 {
     ncvar *var_ptr;
 
@@ -431,6 +448,7 @@ int FORTRAN(ncf_get_var_name)( int *dset, int* ivar, char* string )
         return ATOM_NOT_FOUND;
 
     strcpy(string, var_ptr->name);
+	*len_name = strlen(string);
 
     return FERR_OK;
 }
@@ -1635,11 +1653,11 @@ int FORTRAN(ncf_add_var)( int *dset, int *varid, int *type, int *coordvar,
     strcpy(att.name,"missing_value");
     att.len = 1;
 #ifdef double_p
-    att.type = NC_FLOAT;
-    att.outtype = NC_FLOAT;
-#else
     att.type = NC_DOUBLE;
     att.outtype = NC_DOUBLE;
+#else
+    att.type = NC_FLOAT;
+    att.outtype = NC_FLOAT;
 #endif
     att.vals = (double *) malloc(att.len * sizeof(double));
     att.vals[0] = *bad;
diff --git a/fmt/src/SOURCE_FILES b/fmt/src/SOURCE_FILES
index 9aeb3c6..1c9a510 100644
--- a/fmt/src/SOURCE_FILES
+++ b/fmt/src/SOURCE_FILES
@@ -37,22 +37,29 @@ cd_get_ds_info.F\
 cd_get_agg_var_info.F\
 cd_get_generic_bounds.F\
 cd_get_generic_grids.F\
+cd_get_id_varname.F\
 cd_get_line_direction.F\
 cd_get_missing_flag.F\
 cd_get_parent_grids.F\
 cd_get_t0.F\
 cd_get_time_axis.F\
+cd_get_time_units.F\
 cd_get_tmap_parms.F\
 cd_get_var_att_id.F\
 cd_get_var_att_info.F\
 cd_get_var_att_name.F\
+cd_get_var_dims_info.F\
 cd_get_var_id.F\
 cd_get_var_info.F\
+cd_get_var_natts.F\
 cd_get_var_outflag.F\
 cd_get_var_outtype.F\
+cd_get_var_type.F\
 cd_get_var_uvflag.F\
+cd_get_var_varname.F\
 cd_init_dset.F\
 cd_init_agg_dset.F\
+cd_isit_coordvar.F\
 cd_isit_epic.F\
 cd_isit_recdim.F\
 cd_load_dset_attrs.F\
@@ -254,6 +261,7 @@ tm_make_4d_grids.F\
 tm_make_basic_axis.F\
 tm_make_dyn_line.F\
 tm_make_fmt_date.F\
+tm_make_new_dyn_grid.F\
 tm_bad_epic.F\
 tm_mod.F\
 tm_modulo_axlen.F\
diff --git a/fmt/src/cd_get_1_axis.F b/fmt/src/cd_get_1_axis.F
index e5435f0..1498999 100644
--- a/fmt/src/cd_get_1_axis.F
+++ b/fmt/src/cd_get_1_axis.F
@@ -203,6 +203,10 @@
 * 1/26/2017 *acm* Ticket 1480. change the message if the modulo length is 
 *                 less than the axis length. The rest of that ticket is 
 *                 addressed in cd_write_axis.
+* v720 2/2017 *acm* Ticket 2513. Check that bounds or edges data is in the file when 
+*                 attribute is found, before trying to use it.
+* v720 3/2017 *acm* Ticket 2246. Call CD_GET_TIME_UNITS routine to get t0 date and time units 
+
 
 * argument definitions:
 *       cdfid    - netCDF id number for already opened CDF file  (to go away with new attr. hanling)
@@ -279,7 +283,6 @@
      .        spacing_attr*14, bname*128, TM_FMT*32
       CHARACTER*13 TM_STRING
       CHARACTER*1 axis_dir
-      CHARACTER*3 dbuf
       CHARACTER*2 dcode
 
       INTEGER tt  ! nice short name
@@ -289,12 +292,8 @@
       PARAMETER (bufflen = 256)
       CHARACTER*256 buff
       REAL*8   TM_SECS_FROM_BC, first, secs2firststep, secs1590,
-     .         t0_secs, last_coord, firs_coord, secsperyear, secs2start,
-     .         days_neg4713, days_1901_may68, secs_to_1901, secs_to_1968 
-
-* parameter declarations
-        REAL*8          psecs_per_day
-        PARAMETER     ( psecs_per_day = 60.*60.*24. )
+     .         t0_secs, last_coord, firs_coord, secsperyear, secs2start, 
+     .         days_neg4713
 
 * initialize for EPIC
       do_warn = .NOT.its_epic     ! EPIC files can get away with anything
@@ -435,12 +434,44 @@
      .                       do_warn, vname(:vlen), maxlen,
      .                       attlen, attoutflag, ename, val)
 
-* Cannot have both "edges" and "bounds" atrtributes
-      IF ( got_bnds .AND. got_edges )THEN
-         CALL TM_NOTE(
-     .     'Axis has both edges and bounds attributes: '//
-     .      vname(:vlen)//' - edges definition ignored', tt )
-         GOTO 500
+* Cannot have both "edges" and "bounds" attributes
+* Ticket 2513
+* Check that the file has the bounds or edges listed in the attribute.
+* Use bounds if they are in the file, else edges.
+
+      IF ( got_bnds .AND. got_edges ) THEN
+         bndid = 0
+	 edgid = 0
+	 CALL CD_GET_VAR_ID (dset, bname, bndid, status)
+	 CALL CD_GET_VAR_ID (dset, ename, edgid, status)
+
+* If bounds or edges are in the file, use bounds preferentially, else edges
+
+	 IF (bndid + edgid .GT. 0) THEN
+	    IF (bndid .GT. 0) THEN
+               CALL TM_NOTE(
+     .          'Axis has both edges and bounds attributes: '//
+     .           vname(:vlen)//' - edges definition ignored', tt )
+               got_bnds = .FALSE.
+	    ENDIF
+	    IF (edgid .GT. 0 .AND. bndid.EQ.0) THEN
+               CALL TM_NOTE(
+     .          'Axis has both edges and bounds attributes: '//
+     .           vname(:vlen)//'. Bounds not in file. Ignore bounds definition', tt )
+               got_bnds = .FALSE.
+	    ENDIF
+	 ENDIF ! at least one of bounds and edges is in the file
+	 
+* If attributes but not data for bounds/edges, issue a note	    
+	 IF (bndid + edgid .EQ. 0) THEN
+            CALL TM_NOTE(
+     .           'Axis has both edges and bounds attributes: '//
+     .           vname(:vlen)//'. Bounds and edges not in file, '//
+     .           'ignore bounds and edges attributes', tt )
+            got_bnds = .FALSE.
+            got_edges = .FALSE.
+	 ENDIF
+
       ENDIF
 
 * We will be checking bounds or edges. Read the coords too
@@ -502,31 +533,12 @@
       IF ( since_T0 .GT. 2 ) THEN
          line_units(iaxis) = buff(:since_T0-1)  ! just the "tunits" part 
 
-         istat = STR_UPCASE( dbuf, buff(1:3) )
-
          slen = TM_LENSTR1(buff)
          IF ( slen .GT. since_T0 + 5) THEN
-            IF (buff(since_T0+6:since_T0+10) .EQ. '-4713' .AND.
-     .          dbuf .EQ. 'DAY')  THEN
-
-c  This is the simple conversion; but we will reset the origin to 1901.
-c               buff = 'DAYS since 1968-05-23 00:00:00'
-c               days_neg4713 = 2440000.D0
-
-               buff = 'DAYS since 1901-01-15 00:00:00'
-               secs_to_1901 = TM_SECS_FROM_BC 
-     .                        (GREGORIAN, 1901,1,15,0,0,0,status)
-               secs_to_1968 = TM_SECS_FROM_BC 
-     .                        (GREGORIAN, 1968,5,23,0,0,0,status)
-               days_1901_may68 = (secs_to_1968 - secs_to_1901)/
-     .                             psecs_per_day
-               days_neg4713 = 2440000.D0 - days_1901_may68
-
-            ENDIF
-            got_torg = .TRUE.
-            CALL TM_DATE_REFORMAT(buff(since_T0+6:),pdate_numslashnum,
-     .                            cal_id, line_t0(iaxis), 
-     .                            pdate_vax, .FALSE., status )
+	 
+	    got_torg = .TRUE.
+	    CALL CD_GET_TIME_UNITS (buff, cal_id, line_units(iaxis), 
+     .			            line_t0(iaxis), days_neg4713, status)
 
 c fix for bug 1394
 c If the part after since is not a date/time, just keep the whole
diff --git a/fmt/src/cd_get_1_dep_var.F b/fmt/src/cd_get_1_dep_var.F
index 15d974b..18477ac 100644
--- a/fmt/src/cd_get_1_dep_var.F
+++ b/fmt/src/cd_get_1_dep_var.F
@@ -276,7 +276,7 @@ c        ENDIF
 *
 * The CF standard says: 
 * The missing values of a variable with scale_factor and/or add_offset 
-* attributes (see section Section 8.1, �Packed Data�) are interpreted 
+* attributes (see section Section 8.1, Packed Data) are interpreted 
 * relative to the variable's external values, i.e., the values stored 
 * in the netCDF file. Applications that process variables that have 
 * attributes to indicate both a transformation (via a scale and/or 
diff --git a/fmt/src/cd_get_var_outflag.F b/fmt/src/cd_get_id_varname.F
similarity index 68%
copy from fmt/src/cd_get_var_outflag.F
copy to fmt/src/cd_get_id_varname.F
index dd03ae4..0e03c2c 100644
--- a/fmt/src/cd_get_var_outflag.F
+++ b/fmt/src/cd_get_id_varname.F
@@ -1,4 +1,4 @@
-      SUBROUTINE CD_GET_VAR_OUTFLAG (dset, varid, iflag, status)
+      SUBROUTINE CD_GET_ID_VARNAME (dset, varid, vname, status)
 
 *  This software was developed by the Thermal Modeling and Analysis
 *  Project(TMAP) of the National Oceanographic and Atmospheric
@@ -34,15 +34,12 @@
 *
 *
 * Read the linked list structure for netcdf variable information: 
-* given dset and variable id return its outflag for outputting attributes
+* given dset and variable id return variable name
 
 * Programmer Ansley Manke
 * NOAA/PMEL, Seattle, WA - TMAP
 
-* V600 12/05 *acm* Attribute control.
-* V602  2/07 *acm* Fix bug 1492, changing attributes of coordinate variables 
-* V6.74 3/12 *acm* cleanup ifdefs and unnecessary include files
-
+* V7   *acm* 8/16
 
 * include files
 #include "gt_lib.parm"
@@ -50,17 +47,49 @@
 
 * Argument declarations
 
-      INTEGER dset, varid, iflag
+      CHARACTER*(*) vname
+      INTEGER dset, varid, status
 
 * Internal declarations
 
       INCLUDE 'netcdf.inc'
 
-      INTEGER NCF_GET_VAR_OUTFLAG, dset_num, status
+      INTEGER TM_LENSTR1, NCF_GET_VAR_NAME,
+     .        slen, flen, dset_num
+      CHARACTER*512 errbuff
+      PARAMETER (flen=512)      ! size of variable name string
+
+#ifdef sun
+      BYTE      fhol(flen)      ! c-type Hollerith string buffer
+#else
+      INTEGER*1 fhol(flen)      ! c-type Hollerith string buffer
+#endif 
+
+      status = atom_not_found
 
       dset_num = dset
       IF (dset_num .LT. -2) dset_num = -2
-      status = NCF_GET_VAR_OUTFLAG(dset_num, varid, iflag)
 
- 5000 RETURN
+      status = NCF_GET_VAR_NAME(dset_num, varid, fhol, slen) 
+      IF (status .NE. merr_ok) GOTO 5000
+
+* Return vname in original upper/lower case
+
+      slen = MIN(slen, flen)
+      CALL TM_CTOF_STRNG ( fhol, vname, slen )
+
+
+      RETURN
+
+* error exit
+ 5000 IF (status .NE. atom_not_found) THEN
+	CALL CD_TRANSLATE_ERROR (status, errbuff)
+	slen = TM_LENSTR1(errbuff)
+
+        CALL TM_ERRMSG
+     .     ( merr_badfileatt, status, 'CD_NF_GET_VARID', dset,
+     .        no_stepfile, errbuff, no_errstring, *5000 )
+
+      ENDIF
+      RETURN
       END
diff --git a/fmt/src/cd_get_time_units.F b/fmt/src/cd_get_time_units.F
new file mode 100644
index 0000000..3d10337
--- /dev/null
+++ b/fmt/src/cd_get_time_units.F
@@ -0,0 +1,100 @@
+	SUBROUTINE CD_GET_TIME_UNITS (buff, cal_id, units_str, 
+     .			              t0_str, days_neg4713, status)
+
+
+*  This software was developed by the Thermal Modeling and Analysis
+*  Project(TMAP) of the National Oceanographic and Atmospheric
+*  Administration's (NOAA) Pacific Marine Environmental Lab(PMEL),
+*  hereafter referred to as NOAA/PMEL/TMAP.
+*.
+*  Access and use of this software shall impose the following
+*  obligations and understandings on the user. The user is granted the
+*  right, without any fee or cost, to use, copy, modify, alter, enhance
+*  and distribute this software, and any derivative works thereof, and
+*  its supporting documentation for any purpose whatsoever, provided
+*  that this entire notice appears in all copies of the software,
+*  derivative works and supporting documentation.  Further, the user
+*  agrees to credit NOAA/PMEL/TMAP in any publications that result from
+*  the use of this software or in any product that includes this
+*  software. The names TMAP, NOAA and/or PMEL, however, may not be used
+*  in any advertising or publicity to endorse or promote any products
+*  or commercial entity unless specific written permission is obtained
+*  from NOAA/PMEL/TMAP. The user also understands that NOAA/PMEL/TMAP
+*  is not obligated to provide the user with any support, consulting,
+*  training or assistance of any kind with regard to the use, operation
+*  and performance of this software nor to provide the user with any
+*  updates, revisions, new versions or "bug fixes".
+*
+*  THIS SOFTWARE IS PROVIDED BY NOAA/PMEL/TMAP "AS IS" AND ANY EXPRESS
+*  OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+*  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+*  ARE DISCLAIMED. IN NO EVENT SHALL NOAA/PMEL/TMAP BE LIABLE FOR ANY SPECIAL,
+*  INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
+*  RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF
+*  CONTRACT, NEGLIGENCE OR OTHER TORTUOUS ACTION, ARISING OUT OF OR IN
+*  CONNECTION WITH THE ACCESS, USE OR PERFORMANCE OF THIS SOFTWARE. 
+*
+* 2/2017 acm
+* Get the time units from a string 'since date', set units_str
+* and t0_str if the string is valid.
+* 
+* The return days_neg4713 is returned non-zero if the axis is from 
+* a Matlab-generatedfile with "Julian astronomical date".
+*
+* Code taken fron cd_get_1_axis.F, new routine for ticket 2246;
+* Drawing formatted time axes on a PLOT/VS plot.
+
+        include 'tmap_dims.parm'
+        include 'xtm_grid.cmn_text'
+        external xgt_grid_data
+        include 'xunits.cmn_text'
+        external xunits_data
+#include "gt_lib.parm"
+        include 'calendar.decl'
+        include 'calendar.cmn'
+
+	CHARACTER*(*) buff, units_str, t0_str
+	INTEGER cal_id, status
+	REAL*8	days_neg4713
+
+	CHARACTER*3 dbuf
+	INTEGER	TM_LENSTR1, STR_UPCASE, since_T0, slen, istat
+	REAL*8	TM_SECS_FROM_BC, secs_to_1901, secs_to_1968, 
+     .		days_1901_may68 
+	
+* parameter declarations
+        REAL*8          psecs_per_day
+        PARAMETER     ( psecs_per_day = 60.*60.*24. )
+
+	since_T0 = MAX( INDEX(buff,'since'), INDEX(buff,'SINCE') )
+	units_str = buff(:since_T0-1)  ! just the "tunits" part 
+
+	istat = STR_UPCASE( dbuf, buff(1:3) )
+
+	slen = TM_LENSTR1(buff)
+
+	IF (buff(since_T0+6:since_T0+10) .EQ. '-4713' .AND.
+     .      dbuf .EQ. 'DAY')  THEN
+
+c  Matlab Julian date encoding
+c  This is the simple conversion; but we will reset the origin to 1901.
+c       buff = 'DAYS since 1968-05-23 00:00:00'
+c       days_neg4713 = 2440000.D0
+
+	   buff = 'DAYS since 1901-01-15 00:00:00'
+           secs_to_1901 = TM_SECS_FROM_BC 
+     .                        (GREGORIAN, 1901,1,15,0,0,0,status)
+           secs_to_1968 = TM_SECS_FROM_BC 
+     .                        (GREGORIAN, 1968,5,23,0,0,0,status)
+           days_1901_may68 = (secs_to_1968 - secs_to_1901)/
+     .                             psecs_per_day
+           days_neg4713 = 2440000.D0 - days_1901_may68
+
+	ENDIF
+
+	CALL TM_DATE_REFORMAT(buff(since_T0+6:),pdate_numslashnum,
+     .                            cal_id, t0_str, 
+     .                            pdate_vax, .FALSE., status )
+
+	RETURN
+	END
diff --git a/fmt/src/cd_get_var_info.F b/fmt/src/cd_get_var_dims_info.F
similarity index 80%
copy from fmt/src/cd_get_var_info.F
copy to fmt/src/cd_get_var_dims_info.F
index 285abbc..e5c31f5 100644
--- a/fmt/src/cd_get_var_info.F
+++ b/fmt/src/cd_get_var_dims_info.F
@@ -1,5 +1,5 @@
-      SUBROUTINE CD_GET_VAR_INFO (dset, ivar, vname, vartype, 
-     .            nvdims, vdims, nvatts, coordvar, outflag, cdfstat)
+      SUBROUTINE CD_GET_VAR_DIMS_INFO (dset, ivar, vname, nvdims, 
+     .        vdims, status)
 
 *  This software was developed by the Thermal Modeling and Analysis
 *  Project(TMAP) of the National Oceanographic and Atmospheric
@@ -41,18 +41,10 @@
 * Programmer Ansley Manke
 * NOAA/PMEL, Seattle, WA - TMAP
 
-* V600 6/05 *acm* Attribute control.
-* V602  2/07 *acm* Fix bug 1492, changing attributes of coordinate variables 
-* V674 2/12 *acm* 6D Ferret: use nferdims rather than 4 for dimension indexing
-* V680 5/12 *acm* 6D Ferret, changes for DEFINE DATA/AGGREGATE
-* V698 *sh* 1/16 -- added status check/warning, since not checked by callers
-
 * Argument declarations
 
       CHARACTER*(*) vname
-      INTEGER dset, ivar, vartype, nvdims, vdims(*), nvatts, 
-     .        outflag, cdfstat, dset_num
-      LOGICAL coordvar
+      INTEGER dset, ivar, nvdims, vdims(*), status
 
 * Internal declarations
 
@@ -60,7 +52,10 @@
       INCLUDE 'netcdf.inc'
       INCLUDE 'tmap_errors.parm'
 
-      INTEGER TM_LENSTR1, NCF_INQ_VAR, slen, flen, rev(8), i, ndx, istat
+      INTEGER TM_LENSTR1, NCF_INQ_VAR, slen, flen, rev(8), i, ndx, 
+     .	      vartype, nvatts, outflag, dset_num
+      LOGICAL coordvar
+
       PARAMETER (flen=512)      ! size of variable name string
 
 #ifdef sun
@@ -70,17 +65,24 @@
 #endif 
 
       nvdims = 0
-      nvatts = 0
-      coordvar = .FALSE.
-      cdfstat = atom_not_found
+      status = atom_not_found
 
       IF (dset .EQ. unspecified_int4) RETURN
+      
+* If the varid is not set, find it from the variable name
+      IF (ivar.LE.0 .OR. ivar.EQ.unspecified_int4) THEN
+        slen = TM_LENSTR1(vname)
+	CALL CD_GET_VAR_ID (dset, vname(:slen), ivar, status)
+      ENDIF
+
+      IF (ivar.LT.0 .OR. status.NE.pcd_ferr_ok) RETURN
+
       IF (ivar .LT. 0) RETURN
 
       dset_num = dset
-      cdfstat = NCF_INQ_VAR(dset_num, ivar, fhol, slen, vartype, 
+      status = NCF_INQ_VAR(dset_num, ivar, fhol, slen, vartype, 
      .            nvdims, nvatts, coordvar, outflag, rev)
-      IF (cdfstat .NE. pcd_ferr_ok) GOTO 5000  ! not found
+      IF (status .NE. pcd_ferr_ok) GOTO 5000  ! not found
       slen = MIN(slen, flen)
 
 * Return vname in original upper/lower case
diff --git a/fmt/src/cd_get_var_info.F b/fmt/src/cd_get_var_info.F
index 285abbc..0d059e4 100644
--- a/fmt/src/cd_get_var_info.F
+++ b/fmt/src/cd_get_var_info.F
@@ -38,6 +38,31 @@
 * dset and ivar return variable name (in its original upper/lowercase 
 * form), type, dimensions, number of attributes
 
+* See also these routines which get subsets of these. 
+* All of the below calls take either a variable id or variable name. 
+* If the varid is < 0, it looks at the variable name and gets the varid.
+*
+*  The variable dimension info, 
+*       SUBROUTINE CD_GET_VAR_DIMS_INFO (dset, ivar, vname, nvdims, 
+*     .        vdims, status)
+*
+*  The logical flag true if it is a coordinate variable
+*       LOGICAL FUNCTION CD_ISIT_COORDVAR (dset, ivar, vname, status)
+*
+*  The number of attributes the variable hase
+*      SUBROUTINE CD_GET_VAR_NATTS (dset, ivar, vname, nvatts, status)
+*
+*  The flag, output-all-attributes
+*      SUBROUTINE CD_GET_VAR_OUTFLAG (dset, ivar, vname, outflag, status)
+*
+*  The variable type, netCDF type 
+*     SUBROUTINE CD_GET_VAR_TYPE (dset, varid, vname, vtype, status)
+*
+*  The variable name as it appears in the input file or variable definition,
+*  including the original upper- or lower-case spelling
+*      SUBROUTINE CD_GET_VAR_VARNAME (dset, varid, vname, status)
+
+
 * Programmer Ansley Manke
 * NOAA/PMEL, Seattle, WA - TMAP
 
diff --git a/fmt/src/cd_get_var_outflag.F b/fmt/src/cd_get_var_natts.F
similarity index 65%
copy from fmt/src/cd_get_var_outflag.F
copy to fmt/src/cd_get_var_natts.F
index dd03ae4..0b8769c 100644
--- a/fmt/src/cd_get_var_outflag.F
+++ b/fmt/src/cd_get_var_natts.F
@@ -1,4 +1,4 @@
-      SUBROUTINE CD_GET_VAR_OUTFLAG (dset, varid, iflag, status)
+      SUBROUTINE CD_GET_VAR_NATTS (dset, ivar, vname, nvatts, status)
 
 *  This software was developed by the Thermal Modeling and Analysis
 *  Project(TMAP) of the National Oceanographic and Atmospheric
@@ -32,35 +32,53 @@
 *  CONTRACT, NEGLIGENCE OR OTHER TORTUOUS ACTION, ARISING OUT OF OR IN
 *  CONNECTION WITH THE ACCESS, USE OR PERFORMANCE OF THIS SOFTWARE. 
 *
-*
 * Read the linked list structure for netcdf variable information: 
-* given dset and variable id return its outflag for outputting attributes
+* given dset and variable name OR variable ID return the number of 
+* attributes the variable has.
+* If varid is 0 or -999, use vname
 
 * Programmer Ansley Manke
-* NOAA/PMEL, Seattle, WA - TMAP
-
-* V600 12/05 *acm* Attribute control.
-* V602  2/07 *acm* Fix bug 1492, changing attributes of coordinate variables 
-* V6.74 3/12 *acm* cleanup ifdefs and unnecessary include files
-
+* NOAA/PMEL, Seattle, WA - 
+* 5/2017
 
-* include files
 #include "gt_lib.parm"
-      INCLUDE "tmap_errors.parm"
+      INCLUDE 'netcdf.inc'
+      INCLUDE 'tmap_errors.parm'
 
 * Argument declarations
 
-      INTEGER dset, varid, iflag
+      CHARACTER*(*) vname
+      INTEGER dset, ivar, nvatts, status
 
 * Internal declarations
 
-      INCLUDE 'netcdf.inc'
+      INTEGER TM_LENSTR1, NCF_INQ_VAR, var_id, slen, flen, rev(8), 
+     .        vartype, nvdims, outflag, dset_num
+      LOGICAL coordvar
+      PARAMETER (flen=512)      ! size of variable name string
+
+#ifdef sun
+      BYTE      fhol(flen)      ! c-type Hollerith string buffer
+#else
+      INTEGER*1 fhol(flen)      ! c-type Hollerith string buffer
+#endif 
+
+      nvatts = 0
+      status = merr_ok
+
+      IF (dset .EQ. unspecified_int4) RETURN
+
+* If the varid is not set, find it from the variable name
+      IF (ivar.LE.0 .OR. ivar.EQ.unspecified_int4) THEN
+        slen = TM_LENSTR1(vname)
+	CALL CD_GET_VAR_ID (dset, vname(:slen), ivar, status)
+      ENDIF
 
-      INTEGER NCF_GET_VAR_OUTFLAG, dset_num, status
+      IF (ivar.LT.0 .OR. status.NE.pcd_ferr_ok) RETURN
 
       dset_num = dset
-      IF (dset_num .LT. -2) dset_num = -2
-      status = NCF_GET_VAR_OUTFLAG(dset_num, varid, iflag)
+      status = NCF_INQ_VAR(dset_num, ivar, fhol, slen, vartype, 
+     .            nvdims, nvatts, coordvar, outflag, rev)
 
- 5000 RETURN
+      RETURN
       END
diff --git a/fmt/src/cd_get_var_outflag.F b/fmt/src/cd_get_var_outflag.F
index dd03ae4..b96a7e5 100644
--- a/fmt/src/cd_get_var_outflag.F
+++ b/fmt/src/cd_get_var_outflag.F
@@ -1,4 +1,4 @@
-      SUBROUTINE CD_GET_VAR_OUTFLAG (dset, varid, iflag, status)
+      SUBROUTINE CD_GET_VAR_OUTFLAG (dset, ivar, vname, iflag, status)
 
 *  This software was developed by the Thermal Modeling and Analysis
 *  Project(TMAP) of the National Oceanographic and Atmospheric
@@ -34,33 +34,45 @@
 *
 *
 * Read the linked list structure for netcdf variable information: 
-* given dset and variable id return its outflag for outputting attributes
-
-* Programmer Ansley Manke
-* NOAA/PMEL, Seattle, WA - TMAP
+* given dset and variable name OR variable ID return the flag for 
+* output-all-attributes.
+* If varid is 0 or -999, use vname
+* Argument declarations
 
-* V600 12/05 *acm* Attribute control.
-* V602  2/07 *acm* Fix bug 1492, changing attributes of coordinate variables 
-* V6.74 3/12 *acm* cleanup ifdefs and unnecessary include files
+      CHARACTER*(*) vname
+      INTEGER dset, ivar, outflag, status
 
+* Internal declarations
 
-* include files
 #include "gt_lib.parm"
-      INCLUDE "tmap_errors.parm"
+      INCLUDE 'netcdf.inc'
+      INCLUDE 'tmap_errors.parm'
 
-* Argument declarations
+      INTEGER TM_LENSTR1, NCF_GET_VAR_OUTFLAG, 
+     .        slen, flen, dset_num, iflag
 
-      INTEGER dset, varid, iflag
+      PARAMETER (flen=512)      ! size of variable name string
 
-* Internal declarations
+#ifdef sun
+      BYTE      fhol(flen)      ! c-type Hollerith string buffer
+#else
+      INTEGER*1 fhol(flen)      ! c-type Hollerith string buffer
+#endif 
 
-      INCLUDE 'netcdf.inc'
+      status = merr_ok
+      iflag = 0
+      IF (dset .EQ. unspecified_int4) RETURN
+
+* If the varid is not set, find it from the variable name
+      IF (ivar.LE.0 .OR. ivar.EQ.unspecified_int4) THEN
+        slen = TM_LENSTR1(vname)
+	CALL CD_GET_VAR_ID (dset, vname(:slen), ivar, status)
+      ENDIF
 
-      INTEGER NCF_GET_VAR_OUTFLAG, dset_num, status
+      IF (ivar.LT.0 .OR. status.NE.pcd_ferr_ok) RETURN
 
       dset_num = dset
-      IF (dset_num .LT. -2) dset_num = -2
-      status = NCF_GET_VAR_OUTFLAG(dset_num, varid, iflag)
+      status = NCF_GET_VAR_OUTFLAG(dset_num, ivar, iflag)
 
- 5000 RETURN
+      RETURN
       END
diff --git a/fmt/src/cd_get_var_outflag.F b/fmt/src/cd_get_var_type.F
similarity index 78%
copy from fmt/src/cd_get_var_outflag.F
copy to fmt/src/cd_get_var_type.F
index dd03ae4..4572414 100644
--- a/fmt/src/cd_get_var_outflag.F
+++ b/fmt/src/cd_get_var_type.F
@@ -1,4 +1,4 @@
-      SUBROUTINE CD_GET_VAR_OUTFLAG (dset, varid, iflag, status)
+      SUBROUTINE CD_GET_VAR_TYPE (dset, varid, vname, vtype, status)
 
 *  This software was developed by the Thermal Modeling and Analysis
 *  Project(TMAP) of the National Oceanographic and Atmospheric
@@ -34,33 +34,36 @@
 *
 *
 * Read the linked list structure for netcdf variable information: 
-* given dset and variable id return its outflag for outputting attributes
+* given dset and variable name OR variable ID return variable type.
+* If varid is 0 or -999, use vname
 
 * Programmer Ansley Manke
-* NOAA/PMEL, Seattle, WA - TMAP
-
-* V600 12/05 *acm* Attribute control.
-* V602  2/07 *acm* Fix bug 1492, changing attributes of coordinate variables 
-* V6.74 3/12 *acm* cleanup ifdefs and unnecessary include files
-
+* NOAA/PMEL, Seattle, WA - 
+* 5/2017
 
 * include files
 #include "gt_lib.parm"
       INCLUDE "tmap_errors.parm"
+      INCLUDE 'netcdf.inc'
 
 * Argument declarations
 
-      INTEGER dset, varid, iflag
-
+      CHARACTER*(*) vname
+      INTEGER dset, varid, vtype, status
+   
 * Internal declarations
+      INTEGER NCF_GET_VAR_TYPE, TM_LENSTR1
+      INTEGER slen, var_id
 
-      INCLUDE 'netcdf.inc'
-
-      INTEGER NCF_GET_VAR_OUTFLAG, dset_num, status
+      status = merr_ok
 
-      dset_num = dset
-      IF (dset_num .LT. -2) dset_num = -2
-      status = NCF_GET_VAR_OUTFLAG(dset_num, varid, iflag)
+      var_id = varid
+      IF (varid.EQ.0 .OR. varid.EQ.unspecified_int4) THEN
+        slen = TM_LENSTR1(vname)
+	CALL CD_GET_VAR_ID (dset, vname(:slen), var_id, status)
+      ENDIF
 
- 5000 RETURN
+      status = NCF_GET_VAR_TYPE(dset, var_id, vtype)
+      
+      RETURN
       END
diff --git a/fmt/src/cd_get_var_outflag.F b/fmt/src/cd_get_var_varname.F
similarity index 67%
copy from fmt/src/cd_get_var_outflag.F
copy to fmt/src/cd_get_var_varname.F
index dd03ae4..8801076 100644
--- a/fmt/src/cd_get_var_outflag.F
+++ b/fmt/src/cd_get_var_varname.F
@@ -1,4 +1,4 @@
-      SUBROUTINE CD_GET_VAR_OUTFLAG (dset, varid, iflag, status)
+      SUBROUTINE CD_GET_VAR_VARNAME (dset, varid, vname, status)
 
 *  This software was developed by the Thermal Modeling and Analysis
 *  Project(TMAP) of the National Oceanographic and Atmospheric
@@ -34,15 +34,12 @@
 *
 *
 * Read the linked list structure for netcdf variable information: 
-* given dset and variable id return its outflag for outputting attributes
+* given dset and variable id return variable name
 
 * Programmer Ansley Manke
 * NOAA/PMEL, Seattle, WA - TMAP
 
-* V600 12/05 *acm* Attribute control.
-* V602  2/07 *acm* Fix bug 1492, changing attributes of coordinate variables 
-* V6.74 3/12 *acm* cleanup ifdefs and unnecessary include files
-
+* V7   *acm* 8/16
 
 * include files
 #include "gt_lib.parm"
@@ -50,17 +47,51 @@
 
 * Argument declarations
 
-      INTEGER dset, varid, iflag
+      CHARACTER*(*) vname
+      INTEGER dset, varid, status
 
 * Internal declarations
 
       INCLUDE 'netcdf.inc'
 
-      INTEGER NCF_GET_VAR_OUTFLAG, dset_num, status
+      INTEGER TM_LENSTR1, NCF_GET_VAR_NAME,
+     .        slen, flen, dset_num
+      CHARACTER*512 errbuff
+      PARAMETER (flen=512)      ! size of variable name string
+
+#ifdef sun
+      BYTE      fhol(flen)      ! c-type Hollerith string buffer
+#else
+      INTEGER*1 fhol(flen)      ! c-type Hollerith string buffer
+#endif 
+
+      status = merr_ok
 
       dset_num = dset
       IF (dset_num .LT. -2) dset_num = -2
-      status = NCF_GET_VAR_OUTFLAG(dset_num, varid, iflag)
 
- 5000 RETURN
+      slen = TM_LENSTR1(vname)
+
+      status = NCF_GET_VAR_NAME(dset_num, varid, fhol, slen) 
+      IF (status .NE. merr_ok) GOTO 5000
+
+* Return vname in original upper/lower case
+
+      slen = MIN(slen, flen)
+      CALL TM_CTOF_STRNG ( fhol, vname, slen )
+
+
+      RETURN
+
+* error exit
+ 5000 IF (status .NE. atom_not_found) THEN
+	CALL CD_TRANSLATE_ERROR (status, errbuff)
+	slen = TM_LENSTR1(errbuff)
+
+        CALL TM_ERRMSG
+     .     ( merr_badfileatt, status, 'CD_NF_GET_VARID', dset,
+     .        no_stepfile, errbuff, no_errstring, *5000 )
+
+      ENDIF
+      RETURN
       END
diff --git a/fmt/src/cd_get_var_info.F b/fmt/src/cd_isit_coordvar.F
similarity index 66%
copy from fmt/src/cd_get_var_info.F
copy to fmt/src/cd_isit_coordvar.F
index 285abbc..817e67c 100644
--- a/fmt/src/cd_get_var_info.F
+++ b/fmt/src/cd_isit_coordvar.F
@@ -1,5 +1,4 @@
-      SUBROUTINE CD_GET_VAR_INFO (dset, ivar, vname, vartype, 
-     .            nvdims, vdims, nvatts, coordvar, outflag, cdfstat)
+       LOGICAL FUNCTION CD_ISIT_COORDVAR (dset, ivar, vname, status)
 
 *  This software was developed by the Thermal Modeling and Analysis
 *  Project(TMAP) of the National Oceanographic and Atmospheric
@@ -34,33 +33,30 @@
 *  CONNECTION WITH THE ACCESS, USE OR PERFORMANCE OF THIS SOFTWARE. 
 *
 *
-* Read the linked list structure for netcdf variable information: given
-* dset and ivar return variable name (in its original upper/lowercase 
-* form), type, dimensions, number of attributes
+* Read the linked list structure for netcdf variable information: 
+* given dset and variable name OR variable ID return True if it is a 
+* coordinate variable.
+* If varid is 0 or -999, use vname
 
 * Programmer Ansley Manke
 * NOAA/PMEL, Seattle, WA - TMAP
 
-* V600 6/05 *acm* Attribute control.
-* V602  2/07 *acm* Fix bug 1492, changing attributes of coordinate variables 
-* V674 2/12 *acm* 6D Ferret: use nferdims rather than 4 for dimension indexing
-* V680 5/12 *acm* 6D Ferret, changes for DEFINE DATA/AGGREGATE
-* V698 *sh* 1/16 -- added status check/warning, since not checked by callers
+
+#include "gt_lib.parm"
+      INCLUDE 'netcdf.inc'
+      INCLUDE 'tmap_errors.parm'
 
 * Argument declarations
 
       CHARACTER*(*) vname
-      INTEGER dset, ivar, vartype, nvdims, vdims(*), nvatts, 
-     .        outflag, cdfstat, dset_num
-      LOGICAL coordvar
+      INTEGER dset, ivar, status
 
 * Internal declarations
 
-#include "gt_lib.parm"
-      INCLUDE 'netcdf.inc'
-      INCLUDE 'tmap_errors.parm'
+      INTEGER TM_LENSTR1, NCF_INQ_VAR, slen, flen, rev(8), 
+     .        vartype, nvdims, nvatts, outflag, dset_num
+      LOGICAL coordvar
 
-      INTEGER TM_LENSTR1, NCF_INQ_VAR, slen, flen, rev(8), i, ndx, istat
       PARAMETER (flen=512)      ! size of variable name string
 
 #ifdef sun
@@ -69,31 +65,27 @@
       INTEGER*1 fhol(flen)      ! c-type Hollerith string buffer
 #endif 
 
-      nvdims = 0
-      nvatts = 0
+      CD_ISIT_COORDVAR = .FALSE.
+
       coordvar = .FALSE.
-      cdfstat = atom_not_found
+      status = merr_ok
 
       IF (dset .EQ. unspecified_int4) RETURN
-      IF (ivar .LT. 0) RETURN
+      
+* If the varid is not set, find it from the variable name
+      IF (ivar.LE.0 .OR. ivar.EQ.unspecified_int4) THEN
+         slen = TM_LENSTR1(vname)
+	 CALL CD_GET_VAR_ID (dset, vname(:slen), ivar, status)
+      ENDIF
+
+      IF (ivar.LT.0 .OR. status.NE.pcd_ferr_ok) RETURN
 
       dset_num = dset
-      cdfstat = NCF_INQ_VAR(dset_num, ivar, fhol, slen, vartype, 
+      status = NCF_INQ_VAR(dset_num, ivar, fhol, slen, vartype, 
      .            nvdims, nvatts, coordvar, outflag, rev)
-      IF (cdfstat .NE. pcd_ferr_ok) GOTO 5000  ! not found
-      slen = MIN(slen, flen)
-
-* Return vname in original upper/lower case
-      CALL TM_CTOF_STRNG ( fhol, vname, slen )
-
-* These dims are 0,1,2,3. For Fortran want 1,2,3,4, so add 1
-* Also, the dims are in C order t,z,y,x. Reverse the order, for 
-* opposite array ordering of Fortran vs c
+      IF (status .NE. pcd_ferr_ok) GOTO 5000  ! not found
 
-      DO 100 i = 1, nvdims
-	  ndx = nvdims - i + 1
-	  vdims(i) = rev(ndx) + 1
- 100  CONTINUE   
+      CD_ISIT_COORDVAR = coordvar
 
 5000  RETURN
       END
diff --git a/fmt/src/cd_write_var.F b/fmt/src/cd_write_var.F
index 674efc9..36cc998 100644
--- a/fmt/src/cd_write_var.F
+++ b/fmt/src/cd_write_var.F
@@ -1,4 +1,4 @@
-	SUBROUTINE CD_WRITE_VAR ( memory, cdfid, dset, vname, grid, lo,
+	SUBROUTINE CD_WRITE_VAR ( cdfid, dset, vname, grid, lo,
      .                            hi, dat, edges_flag, do_bounds, 
      .                            mode_upcase_output, 
      .                            keepax_flag, status )
@@ -82,6 +82,9 @@
 * V71 12/16 *acm* Ticket 2158: working with true monthly time axes. Write these axes
 *                  as irregularly spaced daily axes. For true-month axes, call TM_WORLD 
 *                  to write any true-month time coordinates as days.
+* V702 1/17 *sh* for trac enhancement #2369 -- dynamic memory management 
+*	         including bug fix in computation of npts, work mem size
+*                also: bug fix of unitialized "count" variable
 
 * argument definitions:
 *     cdfid   - netCDF id number for already opened CDF file
@@ -118,17 +121,18 @@
      .        edges_flag, do_bounds, keepax_flag, status
       CHARACTER*(*) vname
       REAL dat(*)
-      REAL memory( mem_blk_size, max_mem_blks )
 
 * local variable declarations:
 * *kob* explicit definitions not allowed on decl line in linux...
 *       moved it to parameter line 10/96
       INTEGER TM_LENSTR1, STR_SAME,
      .        start(nferdims), count(nferdims), idim, iaxis, cdfstat, vlen,
-     .        slab_min(nferdims), slab_max(nferdims), tmrecax, cdrecax, dims, varid,
+     .        slab_min(nferdims), slab_max(nferdims), tmrecax, cdrecax,
+     .	      dims, varid, wrkspc,
      .        hilim, i100, i, j, k, l, m, n, recaxvar, lorec, hirec, rectyp,
      .	      vartyp, nvdim, vdims(8), nvatts, bndstart(2), bndcount(2),
      .        mblk1, nblks, npts, savecount, llen, grid_blocks, wunits
+      INTEGER*8 rqst_size
       LOGICAL CD_GET_BOUNDS, TM_ABSTRACT_AXIS, TM_DFPEQ, CD_GET_ATTVAL, 
      .        MATCH_NAME, ITSA_TRUEMONTH_AXIS,
      .        got_it, scaled, writebounds, do_warn, true_month
@@ -157,6 +161,9 @@ c      EQUIVALENCE (r100_8, r100_4)
 * initialize
       vlen = TM_LENSTR1( vname )
       writebounds = do_bounds .GT. 0
+      DO idim = 1, nferdims
+         count(idim) = 0
+      ENDDO
 
 * get the variable id
 #ifdef usingDODSf2cUnderscore
@@ -347,38 +354,50 @@ c      EQUIVALENCE (r100_8, r100_4)
 * Write a time-step slab containing missing data
             npts = 1
             DO 220  idim = 1, nferdims
-               IF ( idim .EQ. tmrecax ) GOTO 220
+! *sh* commented out 1/17 -- why was this line ever here?
+! npts is udes to compute the work memory size.  Excluding recdim is
+! inconsistent with the loop a few lines below where the work memory is filled
+!               IF ( idim .EQ. tmrecax ) GOTO 220
                IF ( count(idim) .GT. 0 ) npts = npts* count(idim)
  220        CONTINUE
 
 * allocate memory for missing-data
+! Note: This code belongs in the Ferret libraries, rather than
+!       in the TMAP libs, as it calls upon Ferret COMMON and memory mgmt
 
+!DYNMEM_FIXME
 * COMPUTE # BLOCKS NEEDED
-            grid_blocks = ( npts*4 + mem_blk_size - 1 ) / mem_blk_size
+!            grid_blocks = ( npts*4 + mem_blk_size - 1 ) / mem_blk_size
+!
+!            CALL GET_MEMORY( npts*4, grid_blocks, mblk1, nblks, status )
+!            IF ( status .NE. merr_ok ) GOTO 5900
 
-            CALL GET_MEMORY( npts*4, grid_blocks, mblk1, nblks, status )
-            IF ( status .NE. merr_ok ) GOTO 5900
+	    wrkspc = 4  ! arbitrarily slot 4 of Ferret tempry work storage
+            rqst_size = npts * 4
+	    CALL GET_WS_DYNMEM( rqst_size, wrkspc, status )
+	    IF ( status .NE. merr_ok ) GOTO 5900
 
             CALL CD_GET_MISSING_FLAG (cdfid, varid, vname, .TRUE., 
      .           missflag, status)
             IF (status .EQ. 0) missflag = unspecified_val4
 
             npts = 1
-            memory(npts, mblk1) = missflag
+	    workmem(wrkspc)%ptr(npts) = missflag
+! 1/17 *sh* note that recdim is not excluded from this look
             DO 240 i = 1, MAX(count(1),1)
             DO 240 j = 1, MAX(count(2),1)
             DO 240 k = 1, MAX(count(3),1)
             DO 240 l = 1, MAX(count(4),1)
             DO 240 m = 1, MAX(count(5),1)
             DO 240 n = 1, MAX(count(6),1)
-               memory(npts, mblk1) = missflag
+               workmem(wrkspc)%ptr(npts) = missflag
                npts = npts + 1
  240        CONTINUE
 
             CALL CD_WRITE_VAR_SUB( cdfid, varid, vartyp, dims, start,
-     .             count, vdims(1), memory(1, mblk1), cdfstat )
+     .             count, vdims(1), workmem(wrkspc)%ptr, cdfstat )
  
-            CALL FREE_MEMORY( mblk1, nblks )
+            CALL FREE_WS_DYNMEM( wrkspc )
             start(cdrecax) = start(cdrecax) + 1
             count(cdrecax) = savecount
          ENDIF
@@ -444,7 +463,6 @@ c      EQUIVALENCE (r100_8, r100_4)
             
 * If not mode upcase_output, then keep the incoming case. 
             ELSE 
-               name = CD_AXIS_NAME( dset, grid, tmrecax, nlen )
                buff = CD_AXIS_OUTNAME( dset, grid, tmrecax, llen )
                IF (STR_SAME(name, buff) .EQ. 0) THEN 
 	          name = buff
diff --git a/fmt/src/ez_delimited_read.c b/fmt/src/ez_delimited_read.c
index ebf715b..4ac3094 100644
--- a/fmt/src/ez_delimited_read.c
+++ b/fmt/src/ez_delimited_read.c
@@ -52,8 +52,8 @@
                     ticket 2448: for 2-digit years, put years prior to 50 into the 2000s
                     ticket 2449: report incorrect choice of date/ eurodate as an error
   V702 10/16 *acm*  ticket 2472: Allow yyyy/dd/mm in any of the date types.   
-  V702 11/16 *acm*   handling read errors in date/time reading
-
+  V702 11/16 *acm*  handling read errors in date/time reading
+  V702  1/17 *sh*   removal of block-oriented memory management
 */
 
 
@@ -98,9 +98,7 @@
  nfields - number of fields to decode on each record
  field_types - type of each field (input)
  mrlist - list of integers pointing to Ferret memory blocks
- memptr - pointer to base of Ferret "heap" storage
- mr_blk1 - memory chunk numbers indexed by mr_list
- mblk_size - chunk size within Ferret heap
+ mr_ptrs_val - integer containing the c pointer to array of mr memory pointers 
  mr_bad_flags - missing value flags indexed by mr_list
  *
  */
@@ -110,11 +108,18 @@ void FORTRAN(decode_file_jacket)
 		( char* fname, char *recptr, char *delims, int *skip,
 		  int* maxrec, int* reclen, int* nfields,
 		  int field_type[], int* nrec,
+		  int mrlist[], long* mr_ptrs_val,
+		  DFTYPE mr_bad_flags[], char ***mr_c_ptr, int* status)
+/* 1/17 --- pre-dynamic memory call
+void FORTRAN(decode_file_jacket)
+		( char* fname, char *recptr, char *delims, int *skip,
+		  int* maxrec, int* reclen, int* nfields,
+		  int field_type[], int* nrec,
 		  int mrlist[], DFTYPE *memptr, int mr_blk1[], int* mblk_size,
 		  DFTYPE mr_bad_flags[], char ***mr_c_ptr, int* status)
-
+*/
 {
-
+  DFTYPE** mr_ptrs = (DFTYPE**) *mr_ptrs_val;
   DFTYPE **numeric_fields  = (DFTYPE **) malloc(sizeof(DFTYPE*) * (*nfields));
   DFTYPE *bad_flags        = (DFTYPE *)  malloc(sizeof(DFTYPE) * (*nfields));
 
@@ -135,12 +140,12 @@ void FORTRAN(decode_file_jacket)
       if (field_type[i] == FTYP_CHARACTER )
 	{
 	  /* *kob* make sure were using size of real*4 float */
-	  text_fields[i] = (char**) (memptr + ((mr_blk1[mr]-1)*(*mblk_size)*4)/sizeof(float));
+	  text_fields[i] = (char**) mr_ptrs[i];
 	  mr_c_ptr[mr*pinc] = text_fields[i];
 	}
       else if (field_type[i] != FTYP_MISSING )
 	{
-	  numeric_fields[i] = memptr + (mr_blk1[mr]-1)*(*mblk_size);
+	  numeric_fields[i] = mr_ptrs[i];
 	  mr_c_ptr[mr*pinc] = (char**) NULL;
 	}
       /*
@@ -201,6 +206,7 @@ int decode_file (char* fname, char *recptr, char *delims, int *skip,
   FILE *fp;
   int slen, i;
   int pinc = 8/sizeof(char*);  /* pointers spaced 8 bytes apart */
+  char *startptr;
 
   *nrec = 0;
 
@@ -219,15 +225,16 @@ int decode_file (char* fname, char *recptr, char *delims, int *skip,
       if ( fgets(recptr,*reclen,fp) )
 	{
 	  /* skip leading blanks */
-	  while (*recptr==' ')
-	    recptr++;
+          startptr = recptr;
+	  while (*startptr ==' ')
+	    startptr++;
 
 	  /* overwrite the newline record terminator with a NULL */
-	  if ((slen = strlen(recptr)) > 0)
-	    if (recptr[slen-1] == '\n')
-	      recptr[slen-1] = '\0';
+	  if ((slen = strlen(startptr)) > 0)
+	    if (startptr[slen-1] == '\n')
+	      startptr[slen-1] = '\0';
 	  
-	  decodeRec(recptr, delims, nfields, field_type, *nrec,
+	  decodeRec(startptr, delims, nfields, field_type, *nrec,
 		    numeric_fields, text_fields, bad_flags, status);
 
 #ifdef diagnostic_output	  /* ************* */
@@ -277,6 +284,7 @@ int FORTRAN(anal_file) (char* fname, char *recptr, char *delims, int* skip,
   FILE *fp;
   int slen, i, rec;
   int nsuccess = 0;
+  char *startptr;
 
   fp = fopen(fname,"r");
 
@@ -300,14 +308,15 @@ int FORTRAN(anal_file) (char* fname, char *recptr, char *delims, int* skip,
 	  rec++;
 
 	  /* skip leading blanks */
-	  while (*recptr==' ')
-	    recptr++;
+          startptr = recptr;
+	  while (*startptr ==' ')
+	    startptr++;
 
 	  /* overwrite the newline record terminator with a NULL */
-	  if ((slen = strlen(recptr)) > 0)
-	    recptr[slen-1] = '\0';
+	  if ((slen = strlen(startptr)) > 0)
+	    startptr[slen-1] = '\0';
 	  
-	  analRec(recptr, delims, nfields, field_type, *max_fields);
+	  analRec(startptr, delims, nfields, field_type, *max_fields);
 
 	  /* check for unknown field types */
 	  i = 0;
diff --git a/fmt/src/ez_init_dset.F b/fmt/src/ez_init_dset.F
index 11d3f8d..cdcacc2 100644
--- a/fmt/src/ez_init_dset.F
+++ b/fmt/src/ez_init_dset.F
@@ -83,7 +83,8 @@
 * V701  7/16 *kms* Compare ds_name to char_init2048 instead of char_init1024
 * V701  7/16 *acm* Ticket 2454. If the user gives lower-case names when opening
 *                  an EZ dataset, keep those names on output, etc.
-
+* V72   6/17 *acm* Ticket 2540, inconsistencies in skipping over variables defined
+*                  in a Delimited-file read as name and type "-".
 
 	CHARACTER*4	ez_rev
 	CHARACTER*1	tab
@@ -128,7 +129,7 @@
         LOGICAL         TM_LEGAL_NAME, vars_gvn, its_delimited, coordvar
 	CHARACTER*24	type_names(maxezvars)
 	CHARACTER*128	var_names(maxezvars)
-	INTEGER*4	TM_LENSTR1, STR_SAME, STR_UPCASE,
+	INTEGER*4	TM_LENSTR1, STR_SAME, STR_CASE_BLIND_COMPARE,
      .			set_cnt, bpos, epos, ncnt, var_pos, num_names,
      .			nvar, jcnt, stp_cnt, nstp, field_type(maxezvars),
      .			num_types, i, j, name_limit, idummy(maxezvars),
@@ -330,11 +331,11 @@
   140     CONTINUE
 * No room left for new variables
 	  GOTO 9100
+
 *
 * Load variable record now
   150     var_pos = nvar
-c	  status =  STR_UPCASE (line_buff, var_names(ncnt))
-          CALL string_array_modify_upcase(ds_var_code_head,
+          CALL string_array_modify_upcase (ds_var_code_head,
      .                             nvar,
      .                             var_names(ncnt),
      .                             LEN(var_names(ncnt)) )
@@ -434,7 +435,6 @@ c	  status =  STR_UPCASE (line_buff, var_names(ncnt))
         coordvar = .FALSE.
         varid = 0
 
-	ncnt = 1
         DO 200 ivar = 1, maxvars
            IF (ds_var_setnum(ivar) .EQ. set_not_open) GOTO 210
            IF (ds_var_setnum(ivar) .EQ. dset .AND.
@@ -442,17 +442,24 @@ c	  status =  STR_UPCASE (line_buff, var_names(ncnt))
 
               varid = varid + 1
 	      IF (ds_var_type(ivar) .EQ. ptype_float) THEN
-	         vartype = NF_FLOAT
+	         vartype = NF_DOUBLE
 	      ELSEIF  (ds_var_type(ivar) .EQ. ptype_string) THEN
 	         vartype = NF_CHAR
 	      ELSE
-                 vartype = NF_FLOAT
+	         vartype = NF_DOUBLE
               ENDIF
-        
-              CALL CD_ADD_VAR( dset, var_names(ncnt), varid, 
+
+	      line_buff = ds_var_code(ivar)
+	      DO ncnt = 1, num_names
+	         IF (STR_CASE_BLIND_COMPARE(ds_var_code(ivar), var_names(ncnt)) .EQ. 0) THEN
+	            line_buff = var_names(ncnt)
+		    EXIT ! from loop
+		 ENDIF
+	      ENDDO
+
+	      CALL CD_ADD_VAR( dset, line_buff, varid, 
      .          ds_var_title(ivar), ds_var_units(ivar), vartype,
      .          coordvar, ds_bad_flag(ivar), status)
-              ncnt = ncnt + 1
            ENDIF
   200   CONTINUE
 
diff --git a/fmt/src/mc_init_dset.F b/fmt/src/mc_init_dset.F
index 00c6ba2..3ce90af 100644
--- a/fmt/src/mc_init_dset.F
+++ b/fmt/src/mc_init_dset.F
@@ -228,7 +228,7 @@
 	   IF (ABS(steps_in_file/NINT(steps_in_file)-1.0) .GT. 1.E-6) THEN
               WRITE (string,1100)
  1100         FORMAT(' WARNING - NON-INTEGER NUMBER OF STEPS PER STEPFILE'/
-     .	         ' INDICATED IN DESCRIPTOR - TRYING TO CONTINUE ANYWAY')
+     .               ' INDICATED IN DESCRIPTOR - TRYING TO CONTINUE ANYWAY')
               lenb = TM_LENSTR( string )
               CALL WARN( string(:lenb) )
 	   ENDIF
diff --git a/fmt/src/string_array_clear.c b/fmt/src/string_array_clear.c
index a7bc63e..e9045b0 100644
--- a/fmt/src/string_array_clear.c
+++ b/fmt/src/string_array_clear.c
@@ -39,7 +39,7 @@
     4/06 *kob*  change type of argument to double, for 64-bit build
  */
 
-#include <stdio.h>
+#include <stdlib.h>
 #include "string_array.h"
 
 void string_array_clear_(double * string_array_header)
diff --git a/fmt/src/tm_break_fmt_date.F b/fmt/src/tm_break_fmt_date.F
index 911eaa2..b593725 100644
--- a/fmt/src/tm_break_fmt_date.F
+++ b/fmt/src/tm_break_fmt_date.F
@@ -51,7 +51,7 @@
 * V67  *acm* 3/11 - If there is a T between the date and time in the unitsi 
 *                   string "months since yyyy-mm-ddThh:mm:ss (as in GRIB files) 
 *                   allow that. Replace T with a space. Ticket 1806.
-
+* V72 *acm*  3/17   If there is a Z at the end, lop that off.
 
 * ARGUMENT DEFINITIONS
 *  form  - code for the date string format
@@ -99,6 +99,10 @@
 *     If there is a T between the date and time (as in GRIB files) replace with a space.
            IF (date(11:11) .EQ. 'T') date(11:11) = ' '
 
+* If there is a Z at the end, lop that off.
+
+           IF (date(dlen:dlen) .EQ. 'Z') date(dlen:dlen) = ' '
+
 	   CALL TM_FTOC_STRNG( date(:dlen), dhol, slen)
 	   status = TM_BREAK_FMT_DATE_C(dhol, year, month,
      .				        day, hour, minute, fsecond)
diff --git a/fmt/src/tm_fmt.F b/fmt/src/tm_fmt.F
index e9b47a4..2f058fe 100644
--- a/fmt/src/tm_fmt.F
+++ b/fmt/src/tm_fmt.F
@@ -62,6 +62,8 @@
 * *acm*  V6.1 3/08  further corrections to last fix when writing a value with 
 *              negative exponent
 * *acm*  V6.5 1/10 Fix bug 1717: If the format is going to be (I0) make it (I1)
+* *acm*  V7,2 3/17 Floating-point formatted output could still have trailing zeros
+*                  after the decimal point. Remove them.
 
 * calling arguments:
 * val		- REAL*4 value to be converted
@@ -75,7 +77,7 @@
 	REAL		val
 
 * internal variable declarations:
-	LOGICAL		exp_fmt, negative, fixed_pt
+	LOGICAL		TM_DFPEQ, exp_fmt, negative, fixed_pt
 	INTEGER		slen, sig_left, sig_full, nleft, nright, full,
      .			sig_max, full10, xtra, sig_needed, pow10,
      .			chk10, chk10_save, waste, i, need_adjust, ind,
@@ -322,9 +324,13 @@
 * the adjustment for handling large values does not always produce 
 * accurate results. Compare the result to the original value and if
 * needed use the formatting method used in ascii data listings.
+* Ticket 2510: make the test more strict differing val and aval.
+* Using the VAR_DATA_FMT call takes care of the cases where the values
+* are so close that the number will be written as an integer.
 
+	str_len = TM_LENSTR1( outstring )
 	READ (outstring,*) aval
-	IF (need_adjust.GT.0 .AND. ABS(val-aval).GT.0.01) THEN
+	IF (need_adjust.GT.0 .AND. .NOT.TM_DFPEQ(val, aval) ) THEN
 	   width = 4
 	   prec_digits = ABS(digits)
 	   IF (digits .GT. 0) prec_digits = digits
@@ -334,8 +340,18 @@
 	   CALL VAR_DATA_FMT( nleft, nright, prec_digits, width,
      .                         width, fmt, dummy_fmt )
 	   WRITE ( outstring, fmt ) val
+	   str_len = TM_LENSTR1( outstring )
+
+* remove leading blanks.
+	   ind = 1
+	   DO WHILE (outstring(ind:ind) .EQ. ' ') 
+              ind = ind+1
+	   ENDDO
+           IF (ind.GT.1) outstring = outstring(ind:str_len)
+	   str_len = TM_LENSTR1( outstring )
 	ENDIF
 
+* Remove trailing 0s before the exponent.
 	str_len = TM_LENSTR1( outstring )
 	IF (INDEX(outstring, '0E') .GT. 0) THEN
 	   ind = INDEX(outstring, '0E')
@@ -346,15 +362,22 @@
 	   ENDDO
 	ENDIF
 
-	str_len = TM_LENSTR1( outstring )
-	IF (INDEX(outstring, '0E') .GT. 0) THEN
-	   ind = INDEX(outstring, '0E')
-	   DO WHILE (ind .GT. 0)
-	      strend = outstring(ind+1:str_len)
-	      outstring = outstring(1:ind-1)//strend
-	      ind = INDEX(outstring, '0E')
+* Remove trailing 0s on a floating point formatted number
+	slen = TM_LENSTR1( outstring )
+	IF (INDEX(outstring, '.') .GT.0 .AND. 
+     .	    INDEX(outstring, 'E+').EQ.0 .AND. 
+     .	    INDEX(outstring, 'E-').EQ.0) THEN
+	   DO i = slen,1,-1
+	      IF (outstring(i:i) .EQ. '0') THEN
+                 outstring(i:i) = ' '
+	      ELSE
+                 GOTO 3500
+	      ENDIF
 	   ENDDO
+ 3500      CONTINUE
 	ENDIF
+
+
 	str_len = TM_LENSTR1( outstring )
 
 	TM_FMT = outstring
diff --git a/fmt/src/tm_fmt_user.F b/fmt/src/tm_fmt_user.F
index ae5cbca..02836e9 100644
--- a/fmt/src/tm_fmt_user.F
+++ b/fmt/src/tm_fmt_user.F
@@ -45,6 +45,7 @@
 *            grave-accent expressions with precision set by the user.
 *            It applies the # of digits more strictly than TM_FMT, and 
 *            returns exponential results consistently.
+*Ticket 2510, failures when values are nearly an integer.
 
 * calling arguments:
 * val		- REAL value to be converted
@@ -57,7 +58,7 @@
 	REAL		val
 
 * internal variable declarations:
-	LOGICAL		exp_fmt, negative, fixed_pt
+	LOGICAL		TM_DFPEQ, exp_fmt, negative, fixed_pt
 	INTEGER		slen, sig_left, sig_full, nleft, nright, full,
      .			sig_max, full10, xtra, sig_needed, pow10,
      .			chk10, chk10_save, waste, i, need_adjust, ind,
@@ -204,6 +205,12 @@
 
 * get number of digits remaining after trimming off right hand zeros
 	full10 = 10 ** (sig_full-sig_min)
+
+c	IF (full10 .EQ. full) THEN  ! value is close to an integer
+c	   sig_needed = sig_full
+c	   GOTO 200
+c	ENDIF
+
 	DO 100 sig_needed = sig_min, sig_full
 	   IF ( MOD(full, full10) .EQ. 0 ) GOTO 200
 	   full10 = full10 / 10
@@ -348,9 +355,13 @@ c ...
 * the adjustment for handling large values does not always produce 
 * accurate results. Compare the result to the original value and if
 * needed use the formatting method used in ascii data listings.
+* Ticket 2510: make the test more strict differing val and aval.
+* Using the VAR_DATA_FMT call takes care of the cases where the values
+* are so close that the number will be written as an integer.
 
+	str_len = TM_LENSTR1( outstring )
 	READ (outstring,*) aval
-	IF (need_adjust.GT.0 .AND. ABS(val-aval).GT.0.01) THEN
+	IF (need_adjust.GT.0 .AND. .NOT.TM_DFPEQ(val, aval) ) THEN
 	   width = 4
 	   prec_digits = ABS(digits)
 	   IF (digits .GT. 0) prec_digits = digits
@@ -360,9 +371,17 @@ c ...
 	   CALL VAR_DATA_FMT( nleft, nright, prec_digits, width,
      .                         width, fmt, dummy_fmt )
 	   WRITE ( outstring, fmt ) val
-	ENDIF
+	   str_len = TM_LENSTR1( outstring )
 
-	str_len = TM_LENSTR1( outstring )
+* remove leading blanks.
+	   ind = 1
+	   DO WHILE (outstring(ind:ind) .EQ. ' ') 
+              ind = ind+1
+	   ENDDO
+           IF (ind.GT.1) outstring = outstring(ind:str_len)
+	   str_len = TM_LENSTR1( outstring )
+	ENDIF
+	
 	IF (INDEX(outstring, '0E') .GT. 0) THEN
 	   ind = INDEX(outstring, '0E')
 	   DO WHILE (ind .GT. 0)
@@ -382,6 +401,7 @@ c ...
 	   ENDDO
 	ENDIF
 
+        
 * Remove 00000 from the end of the fractional part of a fixed-point string
 
 	IF (INDEX(outstring, '.') .GT. 0 .AND. INDEX(outstring, 'E').EQ.0) THEN
@@ -393,7 +413,7 @@ c ...
 	   str_len = is
 	   IF (outstring(is:is) .EQ. '.') str_len = str_len - 1
 	ENDIF
-        
+
 	TM_FMT_USER = outstring(:str_len)
 	RETURN
 
diff --git a/fmt/src/tm_fpeq_eps_sngl.F b/fmt/src/tm_fpeq_eps_sngl.F
index 25fa63b..486ee43 100644
--- a/fmt/src/tm_fpeq_eps_sngl.F
+++ b/fmt/src/tm_fpeq_eps_sngl.F
@@ -66,4 +66,4 @@
         TM_FPEQ_EPS_SNGL = ( ABS(a-b) .LE. diffeps )
 
 	RETURN
-	END
\ No newline at end of file
+	END
diff --git a/fmt/src/tm_friendly_read.F b/fmt/src/tm_friendly_read.F
index efe46b3..b30390d 100644
--- a/fmt/src/tm_friendly_read.F
+++ b/fmt/src/tm_friendly_read.F
@@ -70,7 +70,7 @@
 * call c-written routine to get input line
         CALL TM_FTOC_READLINE( hprompt, hbuff )
 
-* translate recieved input line to FORTRAN character array
+* translate received input line to FORTRAN character array
         CALL TM_CTOF_STRNG( hbuff, buff, blen )
 
 * null string returned means that EOF (^D) was entered
diff --git a/fmt/src/tm_its_subspan_modulo.F b/fmt/src/tm_its_subspan_modulo.F
index 00caf76..faa7e16 100644
--- a/fmt/src/tm_its_subspan_modulo.F
+++ b/fmt/src/tm_its_subspan_modulo.F
@@ -41,6 +41,7 @@
 *                 it is single precision. When put into double prec, the last 
 *                 several digits have random stuff, so got a return of TRUE  
 *                 from this fcn when it wasnt.  Do single-precision comparison.
+* V720 *acm* 3/17 Fix ticket 2520. Axis longer than modulo lenght was marked subspan.
 
 	include 'tmap_dims.parm'
 	include	'xtm_grid.cmn_text'
@@ -57,12 +58,10 @@
 	   TM_ITS_SUBSPAN_MODULO = .FALSE.
 	ELSEIF ( line_modulo(axis) ) THEN
 
-cc           TM_ITS_SUBSPAN_MODULO = TM_WW_AXLEN    (axis)
-cc     .                        .NE. TM_MODULO_AXLEN(axis)
-
+C for ticket 2520: axis that is slightly too LONG, was marked as subspan!
            wwlen = TM_WW_AXLEN(axis)
            modlen = TM_MODULO_AXLEN(axis) 
-	   TM_ITS_SUBSPAN_MODULO = (.NOT. TM_FPEQ(wwlen, modlen) )
+	   TM_ITS_SUBSPAN_MODULO = (.NOT. TM_FPEQ(wwlen, modlen) ).AND. (wwlen.LT.modlen)
 
 	ELSE 
 	   TM_ITS_SUBSPAN_MODULO = .FALSE.
diff --git a/fmt/src/tm_rm_tmp_line.F b/fmt/src/tm_make_new_dyn_grid.F
similarity index 72%
copy from fmt/src/tm_rm_tmp_line.F
copy to fmt/src/tm_make_new_dyn_grid.F
index b73f57e..31e56bf 100644
--- a/fmt/src/tm_rm_tmp_line.F
+++ b/fmt/src/tm_make_new_dyn_grid.F
@@ -1,4 +1,4 @@
-	INTEGER FUNCTION TM_RM_TMP_LINE( line )
+	SUBROUTINE TM_MAKE_NEW_DYN_GRID ( ingrid, outgrid,  status)
 
 *
 *
@@ -34,43 +34,34 @@
 *  CONTRACT, NEGLIGENCE OR OTHER TORTUOUS ACTION, ARISING OUT OF OR IN
 *  CONNECTION WITH THE ACCESS, USE OR PERFORMANCE OF THIS SOFTWARE. 
 *
-*
-* Remove a line from the tmp area (from the linked list of tmp_line_hook)
-
-* *sh* 2/2106 -- using code from tm_deallo_dyn_line_sub
-
-
-* Include files
+** V7.2 *acm* 4/2017 
+* Rreate a new dynamic grid and copy the definition of ingrid to it.
+* Returns "outgrid" with the number of the new dynamic grid.
+* This is used for the new class of direction-changing functions as a subset 
+* of grid-changing fcns. An entirely grid is defined for these at grid 
+* initialization time; it will be changed according to the function and the
+* directions chosen in the function call.
 
+* Arguments
+	INTEGER	 ingrid, outgrid, status
+*
+* INCLUDE FILES
 	include 'tmap_dims.parm'
 #include "tmap_dset.parm"
 #include "gt_lib.parm"
 	include 'tmap_errors.parm'
 	include 'xtm_grid.cmn_text'
 	external xgt_grid_data
-	include 'xio.cmn_text'
-
-* Argument definitions
-	INTEGER line
 
-* Internal variable declarations
-	INTEGER	next_used_line
+	CALL TM_ALLO_DYN_GRID( outgrid, status )
+	IF (status .NE. merr_ok) GOTO 9000
+	CALL TM_COPY_GRID_W_LINE_USE( ingrid, outgrid )
 
-* clear COMMON
-	line_use_cnt(line) = 0
-	line_name(line)    = char_init16
-
-* take this line from the "tmp" list and put it on the "free" list
-* ... hook onto free list
-	next_used_line   = line_flink(line)
-	line_flink(line) = line_free_ptr  
-	line_free_ptr    = line
-	   
-* ... unhook from tmp list
-	line_flink(line_blink(line)) = next_used_line
-	line_blink(next_used_line)   = line_blink(line)
+* name it "(Gnnn)"
+	WRITE ( grid_name(outgrid), 3000 ) outgrid - max_grids
+ 3000	FORMAT('(G',I3.3,')')		! restricted to 3 digits
 
 * successful completion
-	RETURN
-
+	status = merr_ok
+ 9000	RETURN
 	END
diff --git a/fmt/src/tm_rm_tmp_line.F b/fmt/src/tm_rm_tmp_line.F
index b73f57e..0a0f805 100644
--- a/fmt/src/tm_rm_tmp_line.F
+++ b/fmt/src/tm_rm_tmp_line.F
@@ -1,4 +1,4 @@
-	INTEGER FUNCTION TM_RM_TMP_LINE( line )
+	SUBROUTINE TM_RM_TMP_LINE( line )
 
 *
 *
diff --git a/jnls/contrib/eqn_of_state_from_theta_JMFWG_2006.jnl b/jnls/contrib/eqn_of_state_from_theta_JMFWG_2006.jnl
new file mode 100644
index 0000000..0c421fc
--- /dev/null
+++ b/jnls/contrib/eqn_of_state_from_theta_JMFWG_2006.jnl
@@ -0,0 +1,162 @@
+\cancel mode verify
+
+
+! Computes seawater equation of state from JMFWG 2006.
+
+! Adapted from their fortran subroutine eosall_from_theta(s,th,p,sigma,drhodS,drhodtheta,drhodp) by
+
+! E. D. Cokelet. NOAA/PMEL, 6 Jan 2012
+
+! Last modified 9 Jan 2012
+!
+! Execute the commented-out list statement at the end of this script to see the results
+!
+!   in-situ density and its derivatives as functions of
+!   salinity, potential temperature and pressure, as in
+!   Jackett, McDougall, Feistel, Wright and Griffies (2006), Journal of Atmospheric and Oceanic Technology, 23, 1709-1728.
+
+! Inputs:
+
+!   $1 = s                : salinity                           (psu)
+!   $2 = th               : potential temperature              (deg C, ITS-90)
+!   $3 = p                : gauge pressure                     (dbar)
+!                      (absolute pressure - 10.1325 dbar)
+!
+! Outputs:
+!   $4 = sigma = rho-1000  : in-situ density-1000               (kg m^-3)
+!   $5 = drhodS            : partial derivative wrt s           (kg m^-3 psu^-1)
+!   $6 = drhodtheta        : partial derivative wrt th          (kg m^-3 deg C^-1)
+!   $7 = drhodp            : partial derivative wrt p           (kg m^-3 dbar^-1)
+!
+!   check values     : go eqn_of_state_from_theta_JMFWG_2006 20,20,1000,sigma,drhodS,drhodtheta,drhodp 
+
+!          gives
+!                               rho =      1017.728 868019642
+
+!                               sigma =      17.72886 8019642
+!                               drhodS =      0.7510471 164699279
+!                               drhodtheta = -0.2570255 211349140
+!                               drhodp =      0.004317589 133273301
+
+!
+!
+!   DRJ on 10/12/03
+
+!      saline contraction coefficient = drhodS/rho
+!      thermal expansion coefficient  = -drhodtheta/rho
+!                         sound speed = 100/sqrt(drhodp)
+!
+
+
+let th2_$4   = $2*$2
+let sqrts_$4 = $1^0.5
+
+let anum0_$4 =   9.9984085444849347e+02 +      \
+        $2*( 7.3471625860981584e+00 + 	       \
+        $2*(-5.3211231792841769e-02 + 	       \
+        $2*  3.6492439109814549e-04)) +	       \
+        $1*( 2.5880571023991390e+00 - 	       \
+        $2*  6.7168282786692355e-03 + 	       \
+        $1*  1.9203202055760151e-03)
+
+let aden0_$4 =   1.0000000000000000e+00 +      \
+        $2*( 7.2815210113327091e-03 + 	       \
+        $2*(-4.4787265461983921e-05 + 	       \
+        $2*( 3.3851002965802430e-07 + 	       \
+        $2*  1.3651202389758572e-10))) +       \
+        $1*( 1.7632126669040377e-03 - 	       \
+        $2*( 8.8066583251206474e-06 + 	       \
+       th2_$4*  1.8832689434804897e-10) +      \
+     sqrts_$4*( 5.7463776745432097e-06 +       \
+       th2_$4*  1.4716275472242334e-09))
+
+
+let anum_s0_$4 = 2.5880571023991390e+00 -      \
+         $2*  6.7168282786692355e-03 + 	       \
+         $1*  3.8406404111520300e-03
+
+let aden_s_$4 =  1.7632126669040377e-03 +      \
+           $2*(-8.8066583251206470e-06 -       \
+       th2_$4*  1.8832689434804897e-10) +      \
+     sqrts_$4*( 8.6195665118148150e-06 +       \
+       th2_$4*  2.2074413208363504e-09)
+
+let anum_th0_$4 = 7.3471625860981580e+00 +     \
+        $2*(-1.0642246358568354e-01 +	       \
+        $2*  1.0947731732944364e-03)- 	       \
+	$1*  6.7168282786692355e-03
+
+let aden_th0_$4 = 7.2815210113327090e-03 +     \
+        $2*(-8.9574530923967840e-05 + 	       \
+        $2*( 1.0155300889740728e-06 +  	       \
+        $2*  5.4604809559034290e-10)) +	       \
+        $1*(-8.8066583251206470e-06 -         \
+       th2_$4*  5.6498068304414700e-10 +       \
+  $2*sqrts_$4*  2.9432550944484670e-09)
+
+let anum_p0_$4 = 1.1798263740430364e-02 +      \
+       th2_$4*  9.8920219266399120e-08 +       \
+         $1*  4.6996642771754730e-06
+
+let aden_p0_$4 =     6.7103246285651894e-06
+
+!if `$3 ne 0` then	
+! For ferret, eliminate this if statement when pressure = 0.
+
+  let pth_$4 = $3*$2
+
+  let anum_$4 = anum0_$4 +    $3*( 1.1798263740430364e-02 +   \
+                      th2_$4*  9.8920219266399117e-08 +       \
+                        $1*  4.6996642771754730e-06 -         \
+                        $3*( 2.5862187075154352e-08 +         \
+                      th2_$4*  3.2921414007960662e-12))
+
+  let aden_$4 = aden0_$4 +    $3*( 6.7103246285651894e-06 -    \
+                 pth_$4*(th2_$4*  2.4461698007024582e-17 +     \
+                        $3*  9.1534417604289062e-18))
+
+  let anum_s_$4 = anum_s0_$4 + $3*  4.6996642771754730e-06
+
+  let anum_th_$4 = anum_th0_$4 + pth_$4*( 1.9784043853279823e-07 - \
+                        $3*  6.5842828015921320e-12)
+
+  let aden_th_$4 = aden_th0_$4 -                              \
+                 $3*$3*(th2_$4*  7.3385094021073750e-17 +     \
+                        $3*  9.1534417604289060e-18)      
+
+  let anum_p_$4 = anum_p0_$4 - $3*( 5.1724374150308704e-08 +   \
+                      th2_$4*  6.5842828015921320e-12)
+
+  let aden_p_$4 = aden_p0_$4 -                                 \
+                 pth_$4*(th2_$4*  4.8923396014049170e-17 +     \ 
+                        $3*  2.7460325281286720e-17)
+
+
+!endif
+
+let rec_aden_$4 = 1.0/aden_$4
+
+
+let $4 = (anum_$4*rec_aden_$4)-1000
+set variable/title="Sigma=Density-1000"/units="kg/m**3" $4
+
+let rho_$4 = ($4+1000)
+set variable/title="Density"/units="kg/m**3" rho_$4
+
+let $5 = (anum_s_$4-aden_s_$4*($4+1000))*rec_aden_$4
+set variable/title="d(rho)/dS"/units="kg/m**3/psu" $5
+
+let $6 = (anum_th_$4-aden_th_$4*($4+1000))*rec_aden_$4
+set variable/title="d(rho)/d(theta)"/units="kg/m**3/deg. C" $6
+
+let $7 = (anum_p_$4-aden_p_$4*($4+1000))*rec_aden_$4
+set variable/title="d(rho)/dp"/units="kg/m**3/dbar" $7
+
+! 
+list/prec=15 $4, $5, $6, $7
+
+
+
+set mode/last verify
+
+
diff --git a/jnls/examples/color_cover.jnl b/jnls/examples/color_cover.jnl
new file mode 100644
index 0000000..e906a4e
--- /dev/null
+++ b/jnls/examples/color_cover.jnl
@@ -0,0 +1,196 @@
+! modified from ferret_icon_large.jnl to produce Users Guide cover
+! 4-22-94 *sh*
+! 8/94 - modified with updated Tao time series (??)
+!	and "Ping Chang" name removed
+! 3/6/96  - *kob* add peter map projection to levitus sst shade
+! 3/5/98  - *jc*  replacing "Peter's" with "orange peel" map
+!                 and general cleanup.
+! 8/30/00 - *acm* update dates and title for use in Ferret Users Guide 
+!                 and web pages
+! 4/2015  - *acm* Require PyFerret. Modernize (some of) the graphics comands, 
+!                 viwport definitions etc
+!                 
+
+cancel mode logo
+cancel viewports
+
+if ($program_name"|pyferret>0|ferret>1") THEN 
+  say Use PyFerret for this script
+  EXIT/SCRIPT
+endif
+set text/font=ariel
+
+set wind/asp=1.32/siz=.65
+
+! Define the various views needed
+
+define view/xlim=0,1/ylim=0.825,1 URhb 
+define view/xlim=0,0.50/ylim=0.16,0.4 llu
+define view/xlim=0,0.50/ylim=0.02,0.8 lll
+define view/xlim=0.55,0.95/ylim=0.,0.384 lr2 
+define view/axes/x=0.001,0.999/y=0.001,0.999 xyfull
+set v xyfull
+
+! line around the whole plot
+shade/nolab/nokey/vlim=0:1/hlim=0:1/lev=(0)/i=1:5/j=1:5 i+j
+plot/over/vs/nolab/line/color=black/vlim=0:1/hlim=0:1  {0.001,0.001,0.999,0.999,0.001}, {.001,.999,.999,.001,.001}
+
+! box around the title
+plot/over/vs/line/color=(10,10,66)/nolab/noax {0.05,0.05,0.96,0.96,0.05}, {.69,.83,.83,.69,.69}
+cancel region
+
+! Toga/TAO line plots
+set view URhb
+go margins 0.5 0.5 1 0.5
+
+! Get these from http://www.pmel.noaa.gov/tao/data_deliv/frames/main.html
+! Use the non-java option, TAO/TRITON (pacific) data, netCDF 4-byte CF time
+! De-select all sites, then select equatorial 110W and 140W dots.
+
+use "./taodata/sst0n110w_5day.cdf"
+use "./taodata/sst0n140w_5day.cdf"
+
+ppl color,3,0,85,0  ! a less-glaring green
+plot/set/color/t=1-mar-1990:1-apr-2017 t_25[d=1], t_25[d=2]
+
+ppl labs/nouser 2, 23,34
+ppl labs/nouser 3, 23,34
+ppl labs/nouser 4, 23,34
+ppl labs/nouser 5, 23,34
+ppl labs/nouser 6, 23,34
+ppl labs/nouser 7, 23,34
+ppl labs/nouser 8,2.5,-.7,-1, 2n,110w
+ppl labs/nouser 9,4.7,-.7,-1, 2n,140w
+ppl ylab <&deg>C
+ppl aline/nouser 1,1.9,-.65,2.4,-.65,on
+ppl aline/nouser 2,4.1,-.65,4.6,-.65,on
+ppl axlsze ,.1
+ppl txlsze .075
+ppl yaxis 20,30,5
+ppl axlint ,1
+ppl axnmtc ,4
+ppl yfor (I2)
+ppl plot
+
+annotate/norm/halign=0/xpos=0.5/ypos=0.8/siz=0.14 "TOGA - TAO SST"
+
+! Draw main title and 'orange-peel' map projection
+
+set view full
+
+! ACM change title. Use a dark blue
+plot/vs/noax/nolab/hlim=-1:0 {1,2}, {1,2}
+
+set text/color=(10,10,66) !blue
+set text/font=times/italic
+label/nouser 3.00,7.3,0,0,0.17 NOAA/ PMEL
+label/nouser 3.00,6.65,0,0,0.4 F E R R E T
+label/nouser 3.00,6.25,0,0,0.17 An Analysis Tool for Gridded and Non-Gridded Data
+
+set text/color=black
+set text/font=arial
+cancel text/italic
+
+! The label for the next plot
+label/nouser 2.75,5.6,0,0,.15 @acLevitus Climatological SST
+
+set data levitus_climatology
+set reg/z=1/l=1/
+
+go mp_mcbryde_fpp
+!go my_ocean_stripmap temp[x=@fln] "levels=(-4,32,4)" default 1 1
+go my_ocean_stripmap_tn MISSING(temp,-6) "levels=(-14,32,2)" pale_green_blue_rev 1 1
+
+ppl axset,1,1,1,1
+ppl axlabp,-1,-1
+
+! end "orange peel" <--
+
+!================================
+set view lr2
+
+GO margins 1 0.5 .2 .2 
+
+! (Replace Vents plot with a ribbon plot)
+! Data is a couple of Cathy Cosca cruises from the SOCAT database,
+! CYNS20120124, CYNS20120216, CYNS20120416
+use 9261F2F516DF9D3B2CF475C98E6DA805_netcdf
+
+use etopo20
+shade/pal=grey_dark/nokey/lev=(0,10000,10000)/nolab/set rose[X=142:258,Y=-80:72]
+   ppl axlsze .11,.11
+ppl shade
+can data  etopo20
+
+use etopo5
+shade/over/pal=grey_dark/nokey/lev=(0,10000,10000)/nolab rose
+can data  etopo5
+
+use "9261F2F516DF9D3B2CF475C98E6DA805_netcdf.nc"
+let/units=degrees_north  lat_with_gaps = separate(latitude[i=1:272], rowsize, 0)
+let/units=degrees_east  lon_with_gaps = separate(longitude[i=1:272], rowsize, 1)
+let  var_with_gaps = separate(fco2_recommended[i=1:272], rowsize, 0)
+
+ppl shaset reset
+set text/isiz=4 cbar
+plot/vs/over/nolab/ribbon/line/fast/key=hor/thick=3/\
+levels=(-inf)(160,260,20)(260,450,10)(440,560,20)(inf)/palette=rainbow/\
+ missing=black lon_with_gaps, lat_with_gaps, var_with_gaps
+
+!================================
+!define math function
+
+LET lg=10
+LET delta=.25
+
+LET a=y/lg
+LET tanh = (EXP(a)-EXP(-1*a))/(EXP(a)+EXP(-1*a))
+LET d = (1+delta*(tanh-1))^.5
+LET b = -1*x/d
+LET vhat=-1*(.5+b)*d[y=@ddc]*EXP(b)/(d*d)
+LET hhat=-1*(.5-b)*d[Y=@DDC]*EXP(b)/d
+
+DEFINE AXIS/X=0:20:.1   xax
+DEFINE AXIS/Y=-20:20:.2/unit="ROSSBY RADIUS" yax
+DEFINE AXIS/Y=-20:20:1/unit="ROSSBY RADIUS" yax
+DEFINE GRID/X=xax/Y=yax gping
+SET GRID gping
+SET REGION/X=0:4/Y=-20:20
+
+set view llu
+
+contour/set vhat
+ppl lev () (-.012,.005,.001) pen(-.012,-.001,.001,4) pen(0,.005,.001,2) dark(0)
+ppl labs
+ppl hlabs 1,.18
+! shift origin to center 3/94
+ppl origin 1.4   ! was 1.7
+ppl conset 0.14
+ppl ylab ROSSBY RADIUS
+ppl labset,,,.14
+ppl axlint,,2
+ppl contour " "
+ppl conset 0.08
+ppl labset,,,.12
+
+annotate/norm/xpos=0.5/ypos=1.1/siz=0.16/halign=0 "Perturbation Solution"
+
+!================================
+set view lll
+go margins 1.4 0.4
+ppl lev ()
+
+DEFINE AXIS/X=0:20:.25   xax
+DEFINE AXIS/Y=-20:20:1.5/unit="ROSSBY RADIUS" yax
+contour/set vhat
+ppl vpoint 0.5,-80,.004
+ppl labs
+ppl labs/nouser 1,2.0,-.35,0 -(B+1/2)*D_y*e^B/D^2       ! with sub/superscripts
+ppl hlabs 1,.16
+ppl title
+ppl labset,,,.16
+ppl axlen ,5
+ppl window off
+ppl view 1800   ! was 1500 3/93
+
+frame/file=FerretTitlePage.png
diff --git a/jnls/examples/image_to_kml.jnl b/jnls/examples/image_to_kml.jnl
index 9075688..32bde6e 100644
--- a/jnls/examples/image_to_kml.jnl
+++ b/jnls/examples/image_to_kml.jnl
@@ -137,11 +137,11 @@ DEFINE SYMBOL kml_write LIST/QUIET/nohead/norowhead/file="($kmlname)"/format=(a)
 !<LatLonBox>
 !    Specifies where the top, bottom, right, and left sides of a bounding box for the ground overlay are aligned.
 !
-!        * <north> Specifies the latitude of the north edge of the bounding box, in decimal degrees from 0 to �90.
-!        * <south> Specifies the latitude of the south edge of the bounding box, in decimal degrees from 0 to �90.
-!        * <east> Specifies the longitude of the east edge of the bounding box, in decimal degrees from 0 to �180. (For overlays that overlap the meridian of 180� longitude, values can extend beyond that range.)
-!        * <west> Specifies the longitude of the west edge of the bounding box, in decimal degrees from 0 to �180. (For overlays that overlap the meridian of 180� longitude, values can extend beyond that range.)
-!        * <rotation> Specifies a rotation of the overlay about its center, in degrees. Values can be �180. The default is 0 (north). Rotations are specified in a counterclockwise direction.
+!        * <north> Specifies the latitude of the north edge of the bounding box, in decimal degrees from 0 to +-90.
+!        * <south> Specifies the latitude of the south edge of the bounding box, in decimal degrees from 0 to +-90.
+!        * <east> Specifies the longitude of the east edge of the bounding box, in decimal degrees from 0 to +-180. (For overlays that overlap the meridian of 180 degrees longitude, values can extend beyond that range.)
+!        * <west> Specifies the longitude of the west edge of the bounding box, in decimal degrees from 0 to +-180. (For overlays that overlap the meridian of 180 degrees longitude, values can extend beyond that range.)
+!        * <rotation> Specifies a rotation of the overlay about its center, in degrees. Values can be +-180. The default is 0 (north). Rotations are specified in a counterclockwise direction.
 
 ($kml_write)/append {"         <LatLonBox>"}
 ($kml_write)/append {"             <north>($ppl$ymax)</north>"}
diff --git a/jnls/examples/my_ocean_stripmap_tn.jnl b/jnls/examples/my_ocean_stripmap_tn.jnl
new file mode 100644
index 0000000..67bc497
--- /dev/null
+++ b/jnls/examples/my_ocean_stripmap_tn.jnl
@@ -0,0 +1,141 @@
+\cancel mode verify
+!++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++!
+! mp_ocean_stripmap.jnl --  Creates an composite map based on the predefined
+!                           map projection.  
+!		    		
+! Jonathan Callahan
+! 9/97
+!
+
+! Description:  This journal file is not "nice" and is provided as an example only.
+!
+! Usage:                   arg1          arg2            arg3     arg4   arg5
+!  go mp_ocean_stripmap [variable] [levels qualifier] [palette] [fland] [land]
+!
+! arg 1 - variable to be plotted
+! arg 2 - a Ferret style levels qualifier
+! arg 3 - the palette to use
+! arg 4 - flag determining whether mp_go_fland is turned on[1] or off[0]
+! arg 5 - flag determining whether mp_go_land is turned on[1] or off[0]
+
+! Example:
+!   use coads_clmatology
+!   go mp_sinusoidal
+!   set grid sst
+!   go mp_ocean_stripmap sst lev=(-2,20,4)(20,34,2) no_green 1 0
+!
+
+!define view/xlim=.101,.914/ylim=.692,.828 vboxo
+
+!define viewport/xlim=0,.333/ylim=0,.5 mp_ll
+!define viewport/xlim=.333,.75/ylim=0,.5 mp_lm
+!define viewport/xlim=.75,.999/ylim=0,.5 mp_lr
+!define viewport/xlim=0,.25/ylim=.5,1 mp_ul
+!define viewport/xlim=.25,.667/ylim=.5,1 mp_um
+!define viewport/xlim=.667,.999/ylim=.5,1 mp_ur
+
+!define viewport/xlim=.100,.350/ylim=.385,.510 mp_ll
+!define viewport/xlim=.350,.662/ylim=.385,.510 mp_lm
+!define viewport/xlim=.662,.850/ylim=.385,.510 mp_lr
+!define viewport/xlim=.100,.288/ylim=.510,.635 mp_ul
+!define viewport/xlim=.288,.600/ylim=.510,.635 mp_um
+!define viewport/xlim=.600,.850/ylim=.510,.635 mp_ur
+
+! move to the right by 0.04, since for thumbnail we dont plot the key.
+
+define viewport/xlim=.140,.390/ylim=.385,.511 mp_ll
+define viewport/xlim=.390,.702/ylim=.385,.511 mp_lm
+define viewport/xlim=.702,.890/ylim=.385,.511 mp_lr
+define viewport/xlim=.140,.328/ylim=.510,.635 mp_ul
+define viewport/xlim=.328,.640/ylim=.510,.635 mp_um
+define viewport/xlim=.640,.890/ylim=.510,.635 mp_ur
+
+
+set data/save
+
+set region/y=-90:0
+
+set grid $1
+palette $3
+
+set view mp_ll
+set region/x=20:140
+go margins 0,0,0,0
+shade/set_up/nolab/$2 $1, x_page, y_page
+ppl axset,0,0,0,0
+ppl axlabp,0,0
+ppl box,OFF
+ppl shakey 0
+ppl shade
+if $4 then go mp_fland 120 dark_terrestrial overlay detailed
+ppl pen 
+if $5 then go mp_land
+
+set view mp_lm
+set region/x=140:290
+go margins 0,0,0,0
+shade/set_up/nolab/$2 $1, x_page, y_page
+ppl axset,0,0,0,0
+!ppl axlabp,0,0
+ppl box,OFF
+! Key defined here because we have the full range of values
+
+! For thumbnail turn off key with 1st arg = 0,
+! ppl shakey 1,1,0.20,0,3,4,9.75,10.75,0.0,5.5
+ppl shakey 0,1,0.20,0,3,4,9.75,10.75,0.0,5.5
+ppl shade
+if $4 then go mp_fland 60 dark_terrestrial overlay detailed
+if $5 then go mp_land
+
+set view mp_lr
+set region/x=290:380
+go margins 0,0,0,0
+shade/set_up/nolab/$2 $1, x_page, y_page
+ppl axset,0,0,0,0
+ppl axlabp,0,0
+ppl box,OFF
+ppl shakey 0
+ppl shade
+if $4 then go mp_fland 60 dark_terrestrial overlay detailed
+if $5 then go mp_land
+
+set region/y=0:90
+
+set view mp_ul
+set region/x=20:110
+go margins 0,0,0,0
+shade/set_up/nolab/$2 $1, x_page, y_page
+ppl axset,0,0,0,0
+ppl axlabp,0,0
+ppl box,OFF
+ppl shakey 0
+ppl shade
+if $4 then go mp_fland 60 dark_terrestrial overlay detailed
+if $5 then go mp_land
+
+set view mp_um
+set region/x=110:260
+go margins 0,0,0,0
+shade/set_up/nolab/$2 $1, x_page, y_page
+ppl axset,0,0,0,0
+ppl axlabp,0,0
+ppl box,OFF
+ppl shakey 0
+ppl shade
+if $4 then go mp_fland 60 dark_terrestrial overlay detailed
+if $5 then go mp_land
+
+set view mp_ur
+set region/x=260:380
+go margins 0,0,0,0
+shade/set_up/nolab/$2 $1, x_page, y_page
+ppl axset,0,0,0,0
+ppl axlabp,0,0
+ppl box,OFF
+ppl shakey 0
+ppl shade
+if $4 then go mp_fland 60 dark_terrestrial overlay detailed
+if $5 then go mp_land
+
+set data/restore
+set mode/last verify
diff --git a/jnls/go/frequency_histogram2.jnl b/jnls/go/frequency_histogram2.jnl
index 537bbd7..d603174 100644
--- a/jnls/go/frequency_histogram2.jnl
+++ b/jnls/go/frequency_histogram2.jnl
@@ -97,7 +97,10 @@ IF `style EQ 0` THEN
   go bar_chart2 plot/line wt_count $6"y|X|Y|Z|T"
 ELSE
   message/cont You may want to replot with /HLIM /PALETTE or other qualifiers on PLOT:
+  message/cont Color may be same as wt_count or another variable with the same shape
+  message/cont Base is a constant value, the value with a bar of size zero.
   message/cont >>>  go bar_chart3 poly/line/nolabel/fill wt_count [color] [base]
   go bar_chart3 poly/line/nolabel/fill wt_count
+ENDIF
 
 set mode/last verify
diff --git a/jnls/go/plot_swath.jnl b/jnls/go/plot_swath.jnl
index a5f022b..4faee18 100644
--- a/jnls/go/plot_swath.jnl
+++ b/jnls/go/plot_swath.jnl
@@ -2,6 +2,7 @@
 ! plot_swath.jnl
 ! 6/99 *sh*
 ! 1/02 *acm* add note on limits
+! 3/17 *acm* handle positive-down Z axis
 
 ! Description: Plot a color-filed swath between upper and lower bounds
 
@@ -81,7 +82,12 @@ LET/QUIET PSWx4_0 = IF PSWpindex EQ 1 OR PSWpindex EQ 4 then PSWx ELSE PSWx[($PS
 LET/QUIET PSWy4_1 = IF PSWpindex LE 2 then PSWylo ELSE PSWyhi
 LET/QUIET PSWy4_0 = IF PSWpindex EQ 1 OR PSWpindex EQ 4 then PSWy4_1 ELSE PSWy4_1[($PSWax)=@shf:1]
 
-$1/coord_ax=($PSWquad_ax)  PSWx4_0,PSWy4_0
+! If the plot is in the Z direction and it is a depth axis, need /TRANS
+IF ($PSWax"|Z>1|*>0") THEN 
+   IF `PSWx4_0,return=isDepth` THEN DEFINE SYMBOL flip = /TRANS
+ENDIF
+
+$1($flip)/coord_ax=($PSWquad_ax)  PSWx4_0,PSWy4_0
 
 cancel symbol PSW*
 cancel variable PSW*
diff --git a/jnls/go/wv5d_append.jnl b/jnls/go/wv5d_append.jnl
index 47852f3..b6dd460 100644
--- a/jnls/go/wv5d_append.jnl
+++ b/jnls/go/wv5d_append.jnl
@@ -13,12 +13,12 @@
 !     you want to join those files together to view the data in Vis5D.
 !     
 !     The arguments are, in order:
-!        �  An optional list of variables to omit from the output file. For
-!          example, if you want to omit the variables U and THETA you would
-!          use the arguments -U and -THETA.
-!        �  The list of v5d files to append onto the target file.
-!        �  The name of the target v5d file to create (if it doesnt exit)
-!          or append onto (if the target file already exists).
+!        -  An optional list of variables to omit from the output file. For
+!           example, if you want to omit the variables U and THETA you would
+!           use the arguments -U and -THETA.
+!        -  The list of v5d files to append onto the target file.
+!        -  The name of the target v5d file to create (if it doesnt exit)
+!           or append onto (if the target file already exists).
 !     
 !     Note that the dimensions of the grids (rows, columns and levels) must
 !     be the same in each file to append them together.  The map projection
diff --git a/palettes/inverse_rainbow.spk b/palettes/inverse_rainbow.spk
new file mode 100644
index 0000000..4f84ef8
--- /dev/null
+++ b/palettes/inverse_rainbow.spk
@@ -0,0 +1,6 @@
+    0.0   60.0    0.0    0.0
+   10.0  100.0    0.0    0.0
+   33.0  100.0  100.0    0.0
+   66.0    0.0   60.0   30.0
+   90.0   30.0   20.0  100.0
+  100.0   80.0    0.0  100.0
diff --git a/palettes/pale_green_blue_rev.spk b/palettes/pale_green_blue_rev.spk
new file mode 100644
index 0000000..2d762c7
--- /dev/null
+++ b/palettes/pale_green_blue_rev.spk
@@ -0,0 +1,9 @@
+! inverse of pale_green_blue
+     0.0     3.1    11.3    34.4
+    10.0    10.5    20.3    57.8
+    20.5    13.3    36.7    65.6
+    50.0    11.3    56.6    75.0
+    62.5    25.4    71.1    76.6
+    75.0    49.6    80.1    73.0
+    87.5    77.7    91.0    70.3
+   100.0    92.6    96.9    69.1
diff --git a/palettes/purple_blue_orange.spk b/palettes/purple_blue_orange.spk
new file mode 100644
index 0000000..7d13a1f
--- /dev/null
+++ b/palettes/purple_blue_orange.spk
@@ -0,0 +1,14 @@
+! Blue to Orange, 12 steps
+! http://geography.uoregon.edu/datagraphics/color_scales.htm
+   0.0   60     0   100
+  10.0   33    10    55
+  18.2   10    40   100
+  27.3   15    50   100
+  39.9   20    80   100
+  49.0   68    84   100
+  51.0   55     0     0 
+  63.6   80    30     1
+  72.7   90    50    40
+  81.8  100    60    20
+  90.9  100    40    10
+ 100.0  100    17     0
diff --git a/palettes/range_of_blues.spk b/palettes/range_of_blues.spk
new file mode 100644
index 0000000..d4bc8a6
--- /dev/null
+++ b/palettes/range_of_blues.spk
@@ -0,0 +1,2 @@
+  0   20  30  95
+100   50  80 100
diff --git a/palettes/ten_reordered_levels.spk b/palettes/ten_reordered_levels.spk
new file mode 100644
index 0000000..d28aef7
--- /dev/null
+++ b/palettes/ten_reordered_levels.spk
@@ -0,0 +1,13 @@
+RGB_Mapping By_level
+ 
+! Level    Red  Green   Blue
+      1    0.0    0.0  100.0  ! blue
+      2  100.0   55.0    0.0  ! orange 100.0   50.0    0.0
+      3   70.0    0.0  100.0  ! purple
+      4    0.0  100.0  100.0  ! light blue
+      5   66.0   56.0   10.0  ! olive
+      6   50.0  100.0  10.0  ! light green 
+      7  100.0    0.0  100.0  ! magenta
+      8  100.0   10.0    0.0  ! bright red
+      9    0.0   60.0   30.0  ! green
+     10  100.0   90.0    0.0  ! yellow
diff --git a/palettes/woce2_test.spk b/palettes/woce2_test.spk
new file mode 100644
index 0000000..f8011d4
--- /dev/null
+++ b/palettes/woce2_test.spk
@@ -0,0 +1,7 @@
+RGB_Mapping By_value
+ 
+! Level  Red  Green  Blue
+      2    0    20  100  !  blue 
+      3   99    60   16  !  yellow-orange
+      4   40     0    0  ! muddy dark purple     26    31   50 
+
diff --git a/platform_specific.mk.i386-apple-darwin b/platform_specific.mk.i386-apple-darwin
index 4303678..991e5e5 100644
--- a/platform_specific.mk.i386-apple-darwin
+++ b/platform_specific.mk.i386-apple-darwin
@@ -115,7 +115,7 @@
 			  /usr/local/gfortran/lib/libgfortran.a \
 			  -lcurl \
 			  -ldl \
-			  -L$(LIBZ_DIR)/lib -lz \
+			  -lz \
 			  -lm
 
 # -static-libgfortran can be used with gfortran 4.4 but not 4.1
@@ -125,14 +125,13 @@
 
 	GKSLIB		= ../xgks/src/lib/libxgks.a
 
-# For netCDF4 using new hdf5 and new zlib
+# For netCDF4 using new hdf5
 
 	CDFLIB		= \
 			  $(NETCDF4_DIR)/lib/libnetcdff.a \
 			  $(NETCDF4_DIR)/lib/libnetcdf.a \
 			  $(HDF5_DIR)/lib/libhdf5_hl.a \
-			  $(HDF5_DIR)/lib/libhdf5.a \
-			  -L$(LIBZ_DIR)/lib/ -lz
+			  $(HDF5_DIR)/lib/libhdf5.a
 
 	LINUX_OBJS	= \
 			  special/linux_routines.o \
@@ -140,13 +139,6 @@
 			  ../fmt/src/x*.o \
 			  ../ppl/plot/ppldata.o
 
-# Use the home-built libncurses.so to build so
-# libtinfo.so is not a requirement from RHEL6
-# builds.
-# (But use the system ncurses.so.5 for running.)
-
-	TERMCAPLIB	= -L/usr/lib -lncurses
-
 	READLINELIB	= -L$(READLINE_DIR)/lib -lreadline 
 #			  $(READLINE_DIR)/lib/libhistory.a
 
diff --git a/platform_specific.mk.i386-linux b/platform_specific.mk.i386-linux
index fd11e7b..dcb2097 100644
--- a/platform_specific.mk.i386-linux
+++ b/platform_specific.mk.i386-linux
@@ -42,7 +42,6 @@
 	CPP_FLAGS = \
 		$(INCLUDES) \
 		-m32 \
-		-march=i486 \
 		-fPIC \
 		-Dunix \
 		-Dgfortran \
@@ -117,7 +116,6 @@
 		-v \
 		--verbose \
 		-m32 \
-		-march=i486 \
 		-fPIC \
 		-export-dynamic
 
@@ -125,7 +123,7 @@
 		-lX11 \
 		-lcurl \
 		-ldl \
-		$(LIBZ_DIR)/lib/libz.a \
+		-lz \
 		-Wl,-Bstatic -lgfortran -Wl,-Bdynamic \
 		-lm
 
@@ -140,8 +138,7 @@
 		$(NETCDF4_DIR)/lib/libnetcdff.a \
 		$(NETCDF4_DIR)/lib/libnetcdf.a \
 		$(HDF5_DIR)/lib/libhdf5_hl.a \
-		$(HDF5_DIR)/lib/libhdf5.a \
-		$(LIBZ_DIR)/lib/libz.a
+		$(HDF5_DIR)/lib/libhdf5.a
 
 	LINUX_OBJS = \
 		special/linux_routines.o \
@@ -149,13 +146,6 @@
 		../fmt/src/x*.o \
 		../ppl/plot/ppldata.o
 
-# Use the home-built libncurses.so to build so
-# libtinfo.so is not a requirement from RHEL6
-# builds.
-# (But use the system ncurses.so.5 for running.)
-
-	TERMCAPLIB = -L/usr/local/lib -lncurses
-
 # For statically linking in the readline and history libraries
 #	READLINELIB = -L$(READLINE_DIR)/lib -Wl,-Bstatic -lreadline -lhistory -Wl,-Bdynamic
 # For linking against the shared-object libraries (if they exist)
diff --git a/platform_specific.mk.intel-mac b/platform_specific.mk.intel-mac
index 1f9449b..b9be468 100644
--- a/platform_specific.mk.intel-mac
+++ b/platform_specific.mk.intel-mac
@@ -95,8 +95,6 @@
 			  ../fmt/src/x*.o \
 			  ../ppl/plot/ppldata.o
 
-	TERMCAPLIB	= -lncurses
-
 	READLINELIB = -L$(READLINE_DIR)/lib -lreadline 
 
 # Directly compile the .F source files to the .o object files
diff --git a/platform_specific.mk.x86_64-linux b/platform_specific.mk.x86_64-linux
index ddfa250..4db2c51 100644
--- a/platform_specific.mk.x86_64-linux
+++ b/platform_specific.mk.x86_64-linux
@@ -85,7 +85,7 @@
 	SYSLIB		= -lX11 \
 			  -lcurl \
 			  -ldl \
-			  $(LIBZ_DIR)/lib64/libz.a \
+			  -lz \
 			  -Wl,-Bstatic -lgfortran -Wl,-Bdynamic \
 			  -lm
 
@@ -94,26 +94,18 @@
 
 	GKSLIB		= ../xgks/src/lib/libxgks.a
 
-# For netCDF4 using new hdf5 and new zlib
+# For netCDF4 using new hdf5
 
 	CDFLIB		= $(NETCDF4_DIR)/lib64/libnetcdff.a \
 			  $(NETCDF4_DIR)/lib64/libnetcdf.a \
 			  $(HDF5_DIR)/lib64/libhdf5_hl.a \
-			  $(HDF5_DIR)/lib64/libhdf5.a \
-			  $(LIBZ_DIR)/lib64/libz.a
+			  $(HDF5_DIR)/lib64/libhdf5.a
 
 	LINUX_OBJS	= special/linux_routines.o \
 			  dat/*.o \
 			  ../fmt/src/x*.o \
 			  ../ppl/plot/ppldata.o
 
-# Use the home-built libncurses.so to build so
-# libtinfo.so is not a requirement from RHEL6
-# builds.
-# (But use the system ncurses.so.5 for running.)
-
-	TERMCAPLIB	= -L/usr/local/lib64 -lncurses
-
 # For statically linking in the readline and history libraries
 #	READLINELIB = -L$(READLINE_DIR)/lib64 -Wl,-Bstatic -lreadline -lhistory -Wl,-Bdynamic
 # For linking against the shared-object libraries (if they exist)
diff --git a/platform_specific.mk.x86_64-linux-gnu b/platform_specific.mk.x86_64-linux-gnu
index 0813a26..c631732 100644
--- a/platform_specific.mk.x86_64-linux-gnu
+++ b/platform_specific.mk.x86_64-linux-gnu
@@ -85,7 +85,7 @@
 	SYSLIB		= -lX11 \
 			  -lcurl \
 			  -ldl \
-			  -L$(LIBZ_DIR)/lib/x86_64-linux-gnu -lz \
+			  -lz \
 			  -lgfortran \
 			  -lm
 
@@ -94,21 +94,18 @@
 
 	GKSLIB		= ../xgks/src/lib/libxgks.a
 
-# For netCDF4 using new hdf5 and new zlib
+# For netCDF4 using new hdf5
 
 	CDFLIB		= $(NETCDF4_DIR)/lib/libnetcdff.a \
 			  $(NETCDF4_DIR)/lib/libnetcdf.a \
 			  $(HDF5_DIR)/lib/libhdf5_hl.a \
-			  $(HDF5_DIR)/lib/libhdf5.a \
-			  -L$(LIBZ_DIR)/lib/x86_64-linux-gnu -lz
+			  $(HDF5_DIR)/lib/libhdf5.a
 
 	LINUX_OBJS	= special/linux_routines.o \
 			  dat/*.o \
 			  ../fmt/src/x*.o \
 			  ../ppl/plot/ppldata.o
 
-	TERMCAPLIB	= -L/usr/lib/x86_64-linux-gnu -lncurses
-
 # For statically linking in the readline and history libraries
 #	READLINELIB = -L$(READLINE_DIR)/lib64 -Wl,-Bstatic -lreadline -lhistory -Wl,-Bdynamic
 # For linking against the shared-object libraries (if they exist)
diff --git a/ppl/complot/symbel.F b/ppl/complot/symbel.F
index 933186a..7de8f34 100644
--- a/ppl/complot/symbel.F
+++ b/ppl/complot/symbel.F
@@ -12,6 +12,7 @@ C**
 C**
 C       Mod *JD* 3.19.91 for unix -- use environment variable PLOTFONTS
 C       *jd* 7.92 variable IF renamed to KIF for MAC
+C       *kms* 06-2017 - change from PLOTFONTS to FER_FONTS
 *
 *
 *  This software was developed by the Thermal Modeling and Analysis
@@ -160,7 +161,7 @@ C	IF(.NOT.READIR)GOTO 2020
 	IF(.NOT.READIR) THEN
 #ifdef unix
 C *JD* Mod below fix for unix  -- use environment variable 3.19.91	
-	   call getenv ('PLOTFONTS',fontdir)
+	   call getenv ('FER_FONTS',fontdir)
        	   dirlen = lnblk (fontdir,255)
 
 C *kob* 1/02 - cygwin 1.3.x requires "\" for unix directory accesses
diff --git a/ppl/plot/daxis2.F b/ppl/plot/daxis2.F
index ee93703..dda2173 100644
--- a/ppl/plot/daxis2.F
+++ b/ppl/plot/daxis2.F
@@ -177,7 +177,7 @@ c        line_spacing = 1.4
 	   ELSE
 	       WRITE(OUT,997)I,XL,YL,LTY,LABS(I)(:NCR)
 997	       FORMAT('C LABS/NOUSER,',I2,2(',',1PE10.3),',',I2,
-     *	       ',','"',A,'"')
+     *                ',','"',A,'"')
 	   ENDIF
 	   NOUT=LNBLK(OUT,255)
 	   CALL ECHO(OUT,NOUT)
diff --git a/ppl/plot/linfit.F b/ppl/plot/linfit.F
index 265a966..9f7640e 100644
--- a/ppl/plot/linfit.F
+++ b/ppl/plot/linfit.F
@@ -125,21 +125,21 @@ C
 	NOUT=LNBLK(OUT,80)
 	CALL ECHO(OUT,NOUT)
 999	FORMAT(
-     *	'C --  LINFIT RESULTS      Y = A + B*X')
+     *  'C --  LINFIT RESULTS      Y = A + B*X')
 998	FORMAT(
-     *	'C --                 LENGTH = ',I10)
+     *  'C --                 LENGTH = ',I10)
 997	FORMAT(
-     *	'C --  X LIMITS USED FOR FIT = ',1PG10.3,',',G10.3)
+     *  'C --  X LIMITS USED FOR FIT = ',1PG10.3,',',G10.3)
 996	FORMAT(
-     *	'C --                     R2 = ',0PF10.4)
+     *  'C --                     R2 = ',0PF10.4)
 995	FORMAT(
-     *	'C --  REGRESSION COEFFS:  A = ',1PG10.3,'   ST-DEV = ',G10.3)
+     *  'C --  REGRESSION COEFFS:  A = ',1PG10.3,'   ST-DEV = ',G10.3)
 994	FORMAT(
-     *	'C --                      B = ',  G10.3,'   ST-DEV = ',G10.3)
+     *  'C --                      B = ',  G10.3,'   ST-DEV = ',G10.3)
 993	FORMAT(
-     *	'C --         TOTAL VARIANCE = ',G10.3)
+     *  'C --         TOTAL VARIANCE = ',G10.3)
 992	FORMAT(
-     *	'C --      RESIDUAL VARIANCE = ',G10.3)
+     *  'C --      RESIDUAL VARIANCE = ',G10.3)
 991	FORMAT(1X,A70)
 C
 C	INSERT INTO NEXT LINE
@@ -183,7 +183,7 @@ C
 	NOUT=LNBLK(OUT,80)
 	CALL ECHO(OUT,NOUT)
 996	FORMAT(
-     *	'C -- X LIMITS USED FOR LINE = ',1PG10.3,',',G10.3)
+     *  'C -- X LIMITS USED FOR LINE = ',1PG10.3,',',G10.3)
 	X(IX+1)=XMIN
 	X(IY+1)=YMIN
 	X(IX+2)=XMAX
diff --git a/ppl/plot/pplcmd_f.F b/ppl/plot/pplcmd_f.F
index 883f416..af15a6f 100644
--- a/ppl/plot/pplcmd_f.F
+++ b/ppl/plot/pplcmd_f.F
@@ -1148,8 +1148,8 @@ C	LINFIT
 8600	    I=IFIX(P(1))
 	    IF(I.GT.LINEN.OR.LLENG(I).LE.2.OR.LINEN.GE.NLINES)THEN
 		IF(.NOT.QUIETF)WRITE(LTTOUT,
-     *		'('' LINFIT ERROR -- NO ROOM OR LINE'',I3,
-     *		'' DOES NOT EXIST'')')
+     *            '('' LINFIT ERROR -- NO ROOM OR LINE'',I3,
+     *            '' DOES NOT EXIST'')')
 		GOTO 10
 	    ENDIF
 	    CALL LINFIT(I,pplmem,pplmem_nsize,IBASE,PBUF)
diff --git a/ppl/plot/pplldx.F b/ppl/plot/pplldx.F
index b4f1527..ab6385d 100644
--- a/ppl/plot/pplldx.F
+++ b/ppl/plot/pplldx.F
@@ -14,10 +14,15 @@ C**
 C**
 C *kob* 04/07/96 passed in character strings had to be declared 
 C                with "*(*)" for the linux port 
+C v7.2 *acm* 2/2017 ticket 2246 Allow drawing formatted time axes on a PLOT/VS; 
+C                this needed changes when time axis is vertical
 c
 c	icode	0 use both x and y
 c		1 use x only
 c		2 use y only
+c		7 use y only, do not translate. For ribbon plots on vertical
+c		              time axis, loading the color variable still 
+c		              drawing the axis vertically
 c
 c                  When saving polygon data, save npts per polygon with 
 c                  the data, not in the array lleng(): unlimited # polygons
@@ -174,7 +179,7 @@ c
 #endif
 	CHARACTER BC2WHOI*14, tstrt*(*), tref*(*)
 	REAL*8	WHOI2BC, DIFF, tstart, tstop, time, tmin, off, rate, 
-     .		dxmin, dxmax, dymin, dymax, xymin, xymax dtd
+     .		dxmin, dxmax, dymin, dymax, xymin, xymax, dtd
 	INTEGER	icode, npts, i, ix, iy
 	REAL	xs, ys
 	LOGICAL  TM_FPEQ_SNGL
@@ -200,9 +205,14 @@ c
 	ny=1
 	flip = itflg .EQ. -1		!  FERRET mod 10/93
 
-**	if(ABS(itflg).eq.1)then		!  FERRET mod 10/93  "ABS"
+	translate = ABS(itflg).eq.1 .AND. itstrt(1:1).NE.' '
+
+* Hack, plot/vs/ribbon on a time axis
+	IF (icode .EQ. 7) THEN
+	   icode = 2
+	   translate = .FALSE.
+	ENDIF
 
-	translate = ABS(itflg).eq.1
 	if (translate) then	
 c
 c	time axis is on.
@@ -317,6 +327,12 @@ C 8/2015 compute min and max in double precision, then translate
 	        else
 		   pplmem(ix+i)=xt(i)
 	        endif
+		
+	        IF ( .NOT.(xeq .AND. TM_FPEQ_SNGL(xs,cmxeq)) ) THEN
+		   dxmin = MIN(dxmin, xt(i))
+		   dxmax = MAX(dxmax, xt(i))
+	        ENDIF
+
 200	    continue
 	else
 	    do 300 i=1,npts
@@ -332,6 +348,11 @@ C 8/2015 compute min and max in double precision, then translate
 		   pplmem(ix+i)=float(i)
 	        endif
 		pplmem(iy+i)=yt(i)
+		
+		IF ( .NOT.(yeq .AND. TM_FPEQ_SNGL(ys,cmyeq)) ) THEN
+		   dymin = MIN(dymin, yt(i))
+		   dymax = MAX(dymax, yt(i))
+		ENDIF
 300	    continue
 	endif
 * FERRET mod 2/89 - replace bad data LIMITS flags
diff --git a/ppl/plot/ppllist.F b/ppl/plot/ppllist.F
index f598ce7..ea8c0a4 100644
--- a/ppl/plot/ppllist.F
+++ b/ppl/plot/ppllist.F
@@ -333,10 +333,10 @@ C	DATA
 C	PLOT
 1300	WRITE(LLUN,9977)WIDTH,HEIGHT,MOD,IR
 9977	FORMAT(9X,'WIDTH= ',F7.2,'  HEIGHT= ',F7.2,'  TKTYPE=',I5
-     *	,'  BAUD=',I5)
+     *  ,'  BAUD=',I5)
 	WRITE(LLUN,9978)ONOFF(IWIND),ONOFF(IP(1)),ICROSS,ICODE
 9978	FORMAT(9X,'WINDOW= ',A3,'  BOX= ',A3,'  CROSS=',I2,
-     *	'  PLTYPE=',I3)
+     *  '  PLTYPE=',I3)
 ***	WRITE(LLUN,9972)PMODE,FILEZ
 	WRITE(LLUN,9972)PMODE,meta_file
 9972	FORMAT(9X,'PLOT MODE= ',A3/9X,'PLOT FILE= ',A)
@@ -358,24 +358,24 @@ C	LIMITS
      *	YLE,CMYLE,YEQ,CMYEQ,YGE,CMYGE,
      *	ZLE,CMZLE,ZEQ,CMZEQ,ZGE,CMZGE
 9976	FORMAT(9X,'TEST',4X,'TRUE/FALSE',7X,'VALUE'//
-     *	10X,'XLE',8X,L1,8X,1PE11.3/
-     *	10X,'XEQ',8X,L1,8X,1PE11.3/
-     *	10X,'XGE',8X,L1,8X,1PE11.3/
-     *	10X,'YLE',8X,L1,8X,1PE11.3/
-     *	10X,'YEQ',8X,L1,8X,1PE11.3/
-     *	10X,'YGE',8X,L1,8X,1PE11.3/
-     *	10X,'ZLE',8X,L1,8X,1PE11.3/
-     *	10X,'ZEQ',8X,L1,8X,1PE11.3/
-     *	10X,'ZGE',8X,L1,8X,1PE11.3)
+     *  10X,'XLE',8X,L1,8X,1PE11.3/
+     *  10X,'XEQ',8X,L1,8X,1PE11.3/
+     *  10X,'XGE',8X,L1,8X,1PE11.3/
+     *  10X,'YLE',8X,L1,8X,1PE11.3/
+     *  10X,'YEQ',8X,L1,8X,1PE11.3/
+     *  10X,'YGE',8X,L1,8X,1PE11.3/
+     *  10X,'ZLE',8X,L1,8X,1PE11.3/
+     *  10X,'ZEQ',8X,L1,8X,1PE11.3/
+     *  10X,'ZGE',8X,L1,8X,1PE11.3)
 	GOTO 5000
 C	VECTOR
 1700	WRITE(LLUN,9968)VLEN,VUSRLN,VAUTO
 9968	FORMAT(9X,'SCALE LENGTH = ',F5.3,'  SCALE = ',1PG10.3,
-     *	'  AUTO SCALE = ',L4)
+     *  '  AUTO SCALE = ',L4)
 ***     *	'  AUTO SCALE = ',L)
 	WRITE(LLUN,9967)VXLOC,VYLOC,VUSER,VKEY,LT(IFIX(VPOS)),VFRMT
 9967	FORMAT(9X,'XPOS = ',1PG10.3,'  YPOS = ',G10.3,
-     *	'  USER = ',L4,'  DRAW KEY = ',L4/9X,'JUSTIFY ',A8,2X,A20)
+     *  '  USER = ',L4,'  DRAW KEY = ',L4/9X,'JUSTIFY ',A8,2X,A20)
 ***     *	'  USER = ',L,'  DRAW KEY = ',L/9X,'JUSTIFY ',A8,2X,A20)
 	goto 5000
 
@@ -423,7 +423,7 @@ C	SHASET info
 C	SHAKEY info
 1900	write (llun,10003) 
 10003	format (/9x,'DO KEY',2x,'ORIENT',2x,'LAB SIZE',2x,
-     .	'LAB INC',2x,'LAB DIG',2x,'LAB LEN')
+     .  'LAB INC',2x,'LAB DIG',2x,'LAB LEN')
 		
 	if (do_key) then                             
 	   x_do_key = 1
@@ -463,7 +463,7 @@ c  Write out location of key, whether it was user-located or automatically set
 C	ALINE info
 2000	none = .true.
 	do 2001 i = 1,lnum    
-	   if (aline_on(i)) none = .false.		
+	   if (aline_on(i)) none = .false.
 2001	continue
 
 	if (none) then
@@ -474,7 +474,7 @@ C	ALINE info
 
 	write (llun,10009)
 10009	format (//9x,'LINE #',5x,'UNITS',5x,'X MIN',5x,'Y MIN',
-     .			5x,'X MAX',5x,'Y MAX')
+     .                                   5x,'X MAX',5x,'Y MAX')
 	do 2002 i = 1,lnum
 	   if (.not. aline_on(i)) goto 2002
 
diff --git a/ppl/plot/spwn.F b/ppl/plot/spwn.F
index 0151851..8fd4d42 100644
--- a/ppl/plot/spwn.F
+++ b/ppl/plot/spwn.F
@@ -46,14 +46,16 @@ C**
 C**
 C** v552 *acm* 3/03 Longer strings: changes for multi-line labels
 C    V6.06 ACM Write error messages to Standard Error, unit number is LERROR
+* V72  *acm*  6/17 - Call Ferret's errmsg routine for syntax
+*                    errors calling PPLUS, see ticket 2543
 
 	INCLUDE 'CMRDL.INC'
 	INCLUDE 'LUNITS.INC'
 	INCLUDE 'SYSTEM.INC'
+	include 'errmsg.parm'
 C
-	IF(.NOT.QUIETF)WRITE(lerror,998)ICOM
-998	FORMAT(' **ERROR  COMMAND : ',A12,' NOT RECOGNIZED')
-c
+	IF(.NOT.QUIETF) 
+     .    CALL ERRMSG (ferr_ppl_error, status,' Command not recognized: PPLUS '//ICOM, *5000)
 
-	RETURN
+ 5000	RETURN
 	END
diff --git a/ppl/plot/view.F b/ppl/plot/view.F
index 6f847d1..f8ec27c 100644
--- a/ppl/plot/view.F
+++ b/ppl/plot/view.F
@@ -44,7 +44,8 @@ C**
 C***********************************************************************
 C**
 C**
-#ifdef unix
+* V720 *acm*   Ticket 2530 add WIRE/COLOR= and draw the color with pen 1
+
 	INCLUDE 'PARAMPL5.DAT'
 	INCLUDE 'HD.INC'
 	INCLUDE 'CMRD.INC'
@@ -57,20 +58,7 @@ C**
 	INCLUDE 'VIEW.INC'
 	INCLUDE 'SYSTEM.INC'
 	INCLUDE 'SWITCH.INC'
-#else
-	INCLUDE 'pplinc:PARAMPL5.DAT'
-	INCLUDE 'pplinc:HD.INC'
-	INCLUDE 'pplinc:CMRD.INC'
-	INCLUDE 'pplinc:CMRDL.INC'
-	INCLUDE 'pplinc:LABELS.INC'
-	INCLUDE 'pplinc:LABCOM.INC'
-	INCLUDE 'pplinc:HAB.INC'
-	INCLUDE 'pplinc:PEN.INC'
-	INCLUDE 'pplinc:PLT.INC'
-	INCLUDE 'pplinc:VIEW.INC'
-	INCLUDE 'cmdinc:SYSTEM.INC'
-	INCLUDE 'cmdinc:SWITCH.INC'
-#endif
+
 	IF(NX.EQ.0.OR.NY.EQ.0)RETURN
 	call trans(0,xmin,ymin,xtm,ytm)
 	call trans(0,xmax,ymax,xtx,ytx)
@@ -94,7 +82,13 @@ C     TRANSFORM VIEWPOINT
 	XV=(XMX-XM)*(VIEWX-xtm)/(xtx-xtm)+XM
 	YV=(YMX-YM)*(VIEWY-ytm)/(ytx-ytm)+YM
 	ICOUNT=ICOUNT+1
+
+	CALL COLOR(IPEN(1))
+
 	CALL SURFCE(X,XM,XMX,NX,YM,YMX,NY,VEWZMN,VEWZMX,
      *	XV,YV,VIEWZ)
+
+	CALL COLOR(IPEN(0))
+
 	RETURN
 	END
diff --git a/ppl/plotlib/contur.F b/ppl/plotlib/contur.F
index 4c7b9b9..5708f52 100644
--- a/ppl/plotlib/contur.F
+++ b/ppl/plotlib/contur.F
@@ -518,7 +518,6 @@ c
 	  call kurv1(kmax-1,x(2),y(2),0.,0.,3,splxp,splyp,
      ,      spltmp,spls,spline_tension,splier)
 	  if (splier.ne.0) then
-	    print*,' error in pplmod_contur.F, call to kurv1 ',splier
 	  endif
 	endif
 ! TMAP mod, horz contour labels:
@@ -678,7 +677,6 @@ c	yendl = y(k) + width*dyy/space
 	      dxx=spacex*sign(1.0,(x(kk)-x(k)))
 	      if (xb.eq.0.) then
 	        dyy=spacey*sign(1.0,(y(kk)-y(k)))
-	        print *,' pplmod_contur.F, note xb.eq.0 in contur ',str(1:4)
 	      else
 	        dyy=ya+yb*(spacex-abs(xa))/abs(xb)
 	      endif
@@ -686,7 +684,6 @@ c	yendl = y(k) + width*dyy/space
 	      dyy=spacey*sign(1.0,(y(kk)-y(k)))
 	      if (yb.eq.0.) then
 	        dxx=spacex*sign(1.0,(x(kk)-x(k)))
-	        print *,' pplmod_contur.F, note yb.eq.0 in contur ',str(1:4)
 	      else
 	        dxx=xa+xb*(spacey-abs(ya))/abs(yb)
 	      endif
@@ -695,7 +692,6 @@ c	yendl = y(k) + width*dyy/space
 	    dyy=spacey*sign(1.0,(y(kk)-y(k)))
 	    if (yb.eq.0.) then
 	      dxx=spacex*sign(1.0,(x(kk)-x(k)))
-	      print *,' pplmod_contur.F, note yb.eq.0 in contur ',str(1:4)
 	    else
 	      dxx=xa+xb*(spacey-abs(ya))/abs(yb)
 	    endif
@@ -703,7 +699,6 @@ c	yendl = y(k) + width*dyy/space
 	    dxx=spacex*sign(1.0,(x(kk)-x(k)))
 	    if (xb.eq.0.) then
 	      dyy=spacey*sign(1.0,(y(kk)-y(k)))
-	      print *,' pplmod_contur.F, note xb.eq.0 in contur ',str(1:4)
 	    else
 	      dyy=ya+yb*(spacex-abs(xa))/abs(xb)
 	    endif
@@ -842,18 +837,6 @@ c
 	  xlabc(nlabc)=xlab
 	  ylabc(nlabc)=ylab
 	endif
-c
-        IF (curvilinear .AND. .NOT.curvilinear) THEN
-	print *, 'IF (curvilinear .AND. .NOT.curvilinear) in contur.F'
-           x_curv(1)=(xendl-xoff)/xf
-           y_curv(1)=(yendl-yoff)/yf
-
-           CALL CURV_COORD(x_curv, y_curv, 1, 1.0, 1.0, status) ! xform the pts
-	   IF (curv_missing) GOTO 1000
-
-           xendl=x_curv(1)*xf + xoff
-           yendl=y_curv(1)*yf + yoff
-        ENDIF
 
 	call plotny(xendl,yendl,3,0)
 ! TMAP mod, spline fit:
diff --git a/ppl/plotlib/xaxis1.F b/ppl/plotlib/xaxis1.F
index 533face..0fd2d1e 100644
--- a/ppl/plotlib/xaxis1.F
+++ b/ppl/plotlib/xaxis1.F
@@ -208,7 +208,7 @@ C
 	CALL NUMCDE(TEMP,XLAB,LETTER,NC,IFORMT,xdms)
 
 	spacwid = 0.
-	do_shift = INDEX(XLAB, '#')  ! longitude or latitude labels
+	do_shift = ( INDEX(XLAB, '#') .GT. 0 )  ! longitude or latitude labels
 	IF (do_shift) spacwid = SYMWID(ABSSZ,1,'E')
 
 	x0 = x
diff --git a/ppl/plotlib/yaxis1.F b/ppl/plotlib/yaxis1.F
index ae7e81f..555b90b 100644
--- a/ppl/plotlib/yaxis1.F
+++ b/ppl/plotlib/yaxis1.F
@@ -287,7 +287,7 @@ C (ITYPE=3 arg to SCINOT)
 	CALL NUMCDE(TEMP,YLAB,LETTER,NC,IFORMT,ydms)
 	
 	spacwid = 0.
-	do_shift = INDEX(YLAB, '#')  ! longitude or latitude labels
+	do_shift = ( INDEX(YLAB, '#') .GT. 0 )  ! longitude or latitude labels
 	IF (do_shift) spacwid = SYMWID(ABSSZ,1,'N')
 
 * Now make the labels. 
diff --git a/ppl/pplepic/epictrd.F b/ppl/pplepic/epictrd.F
index 756c02a..0881c1f 100644
--- a/ppl/pplepic/epictrd.F
+++ b/ppl/pplepic/epictrd.F
@@ -107,7 +107,7 @@ c
 	if (theader(2)(78:78) .ne. 'T') then
 		write (6,104) theader(2)(78:78)
 104		format (//' This is not time series data.',
-     *		' Header type is ', a, ' - STOP')
+     *                    ' Header type is ', a, ' - STOP')
 		stop
 	endif
 	rewind lun1
diff --git a/ppl/pplepic/epicvar.F b/ppl/pplepic/epicvar.F
index 490f0e4..bf5c538 100644
--- a/ppl/pplepic/epicvar.F
+++ b/ppl/pplepic/epicvar.F
@@ -83,16 +83,16 @@ c  Put out parameter list if parameter1 is ?
 c
 	    write (5,100)
 100	    format (' Pressure        P'/
-     1	                   ' Temperature     T'/
-     2	                   ' Salinity        SAL'/
-     3	                   ' Sigma-T         SIG'/
-     4	                   ' Oxygen          OX'/
-     5	                   ' Conductivity    CO'/
-     6	                   ' U               U'/
-     7	                   ' V               V'/
-     8	                   ' Dynamic Ht      DYN'/
-     9	                   ' Time            TIM'/
-     1	                   ' Stick Plots     STK'/)
+     1              ' Temperature     T'/
+     2              ' Salinity        SAL'/
+     3              ' Sigma-T         SIG'/
+     4              ' Oxygen          OX'/
+     5              ' Conductivity    CO'/
+     6              ' U               U'/
+     7              ' V               V'/
+     8              ' Dynamic Ht      DYN'/
+     9              ' Time            TIM'/
+     1              ' Stick Plots     STK'/)
 c
 c  If EVAR and no parameters, then use x=time, y=first variable after time
 c
diff --git a/ppl/symlib/cmderr.F b/ppl/symlib/cmderr.F
index ae3ef6c..8ad9443 100644
--- a/ppl/symlib/cmderr.F
+++ b/ppl/symlib/cmderr.F
@@ -80,11 +80,15 @@ C       11-Dec-2003 ACM Add the string **ERROR before the error message,
 C                       to be consistent with Ferret error messages.
 C  
 C    V6.06 ACM Write error messages to Standard Error, unit number is LERROR
+* V72  *acm*  6/17 - Call Ferret's errmsg routine for syntax errors calling 
+*                    PPLUS, see ticket 2543
 
 	INCLUDE 'SYSTEM.INC'
 	INCLUDE 'CMDCOM.INC'
 	INCLUDE 'LUNITS.INC'
+	include 'errmsg.parm'
 
+	integer TM_LENSTR1, slen, status
 	CHARACTER LINE*(*),frmt*30
 	CHARACTER ERRMES(11)*30
 	DATA ERRMES/'Symbol not found','Unmatched ''',
@@ -92,40 +96,10 @@ C    V6.06 ACM Write error messages to Standard Error, unit number is LERROR
      *	'IF levels improperly nested','No operator found',
      *	'Unmatched "','WHILE levels improperly nested',
      *	'Syntax error','Unmatched (','Maximum no. levels exceeded'/
+
 	IF(IER.EQ.0)RETURN
-	WRITE(LERROR,999)' **ERROR',ERRMES(IER)
-999	FORMAT(A8,1X,A30)
-	WRITE(LERROR,998)' ',LINE(:ILEN)
-998	FORMAT(A1,1X,A)
-	IF(IPOS.LE.ILEN)THEN
-	    WRITE(FRMT,997)IPOS
-997	    FORMAT('(A1,',I3.3,'X,''^'')')
-	    WRITE(LERROR,FRMT)' '
-	ENDIF
-	IF(ECHOF)THEN
-	    WRITE(ECHLUN,999)'C ERROR',ERRMES(IER)
-	    WRITE(ECHLUN,998)'C',LINE(:ILEN)
-	    IF(IPOS.LE.ILEN)WRITE(ECHLUN,FRMT)'C'
-	ENDIF
+	slen = TM_LENSTR1(ERRMES(IER))
+        CALL ERRMSG (ferr_ppl_error, status, ERRMES(IER)(:slen)//' PPLUS '//LINE(:ILEN), *5000)
 
-C *kob* 4/99 minor mod - add (0) to exit call
-C *js* 9/00 Problems with exit call in cygwin, just halt instead
-#ifdef __CYGWIN__
-	IF(BATCHF)STOP
-#else
-	IF(BATCHF)CALL EXIT(0)
-#endif
-	IF(.NOT.TERMF)THEN
-C
-C	     If not interactive abort command file
-C	     Return to lowest level
-C
-	    IF(.NOT.ECHOF)THEN
-		WRITE(ECHLUN,999)'C **ERROR',ERRMES(IER)
-		WRITE(ECHLUN,998)'C',LINE(:ILEN)
-		IF(IPOS.LE.ILEN)WRITE(ECHLUN,FRMT)'C'
-	    ENDIF
-	    CALL ATFLSH
-	ENDIF
-	RETURN
+ 5000	RETURN
 	END
diff --git a/ppl/tmap_inc/axlwid_inc.decl b/ppl/tmap_inc/axlwid_inc.decl
index 5833ead..e00640f 100644
--- a/ppl/tmap_inc/axlwid_inc.decl
+++ b/ppl/tmap_inc/axlwid_inc.decl
@@ -1,6 +1,6 @@
 * AXLWID_INC.DECL - converted to Unix 2.26.91         
 * COMMON for PLOT+ with all variables declared
 * created for TMAP usage by Steve Hankin 7/88
-	REAL	XWID
-	REAL	YWID
+	REAL*4	XWID
+	REAL*4	YWID
 * requires: INCLUDE 'PPLV11INC:AXLWID.INC'                                  
diff --git a/ppl/tmap_inc/cmrd_inc.decl b/ppl/tmap_inc/cmrd_inc.decl
index b77a49c..fc79396 100644
--- a/ppl/tmap_inc/cmrd_inc.decl
+++ b/ppl/tmap_inc/cmrd_inc.decl
@@ -1,7 +1,7 @@
 * CMRD_INC.DECL - converted to Unix 2.26.91           
 * COMMON for PLOT+ with all variables declared
 * created for TMAP usage by Steve Hankin 7/88
-	REAL	P
+	REAL*4	P
 	INTEGER	M
 	INTEGER	N
 	INTEGER	IFLG
diff --git a/ppl/tmap_inc/dashzz_inc.decl b/ppl/tmap_inc/dashzz_inc.decl
index 5db3566..b03c11a 100644
--- a/ppl/tmap_inc/dashzz_inc.decl
+++ b/ppl/tmap_inc/dashzz_inc.decl
@@ -1,7 +1,7 @@
 * DASHZZ_INC.DECL - converted to Unix 2.26.91         
 * COMMON for PLOT+ with all variables declared
 * created for TMAP usage by Steve Hankin 7/88
-	REAL	DASHLN
-	REAL	SPACLN
-	REAL	DSLAB
+	REAL*4	DASHLN
+	REAL*4	SPACLN
+	REAL*4	DSLAB
 * requires: INCLUDE 'PPLV11INC:DASHZZ.INC'                                  
diff --git a/ppl/tmap_inc/dsfcom_dat.decl b/ppl/tmap_inc/dsfcom_dat.decl
index df14ae5..a5239d3 100644
--- a/ppl/tmap_inc/dsfcom_dat.decl
+++ b/ppl/tmap_inc/dsfcom_dat.decl
@@ -4,13 +4,13 @@
 	INTEGER	INXT
 	INTEGER	IBKWD
 	INTEGER	IKEY
-	REAL	BUF
+	REAL*4	BUF
 	INTEGER	IFRWD
 	INTEGER	IRW
 	INTEGER	LUN
 	INTEGER	IHD
 	INTEGER	IBP
-	REAL	DMIN
-	REAL	DMAX
-	REAL	DMEAN
+	REAL*4	DMIN
+	REAL*4	DMAX
+	REAL*4	DMEAN
 * requires: INCLUDE 'PPLV11INC:DSFCOM.DAT'  
diff --git a/ppl/tmap_inc/hd_inc.decl b/ppl/tmap_inc/hd_inc.decl
index 8a8e6ed..df6483e 100644
--- a/ppl/tmap_inc/hd_inc.decl
+++ b/ppl/tmap_inc/hd_inc.decl
@@ -3,16 +3,16 @@
 * created for TMAP usage by Steve Hankin 7/88
 * V630  *acm* 9/09 Introduction of syntax for variance-based and histogram levels
 
-	REAL	XPTS
-	REAL	ZMIN
-	REAL	ZMAX
-	REAL	ZMEAN
-	REAL	ZSTD
-	REAL	XMIN
-	REAL	XMAX
+	REAL*4	XPTS
+	REAL*4	ZMIN
+	REAL*4	ZMAX
+	REAL*4	ZMEAN
+	REAL*4	ZSTD
+	REAL*4	XMIN
+	REAL*4	XMAX
 	INTEGER	NX
-	REAL	YMIN
-	REAL	YMAX
+	REAL*4	YMIN
+	REAL*4	YMAX
 	INTEGER	NY
 	INTEGER	JTYPE
 	INTEGER	NCH
diff --git a/ppl/tmap_inc/labcom_inc.decl b/ppl/tmap_inc/labcom_inc.decl
index c08a1a6..9742825 100644
--- a/ppl/tmap_inc/labcom_inc.decl
+++ b/ppl/tmap_inc/labcom_inc.decl
@@ -1,10 +1,10 @@
 * LABCOM_INC.DECL - converted to Unix 2.26.91         
 * COMMON for PLOT+ with all variables declared
 * created for TMAP usage by Steve Hankin 7/88
-	REAL	HLAB1
-	REAL	HXLAB
-	REAL	HYLAB
-	REAL	HLABS
+	REAL*4	HLAB1
+	REAL*4	HXLAB
+	REAL*4	HYLAB
+	REAL*4	HLABS
 	INTEGER	ICOUNT
 	INTEGER	NLAB
 	INTEGER	ICROSS
diff --git a/ppl/tmap_inc/miss_inc.decl b/ppl/tmap_inc/miss_inc.decl
index 4956f90..23b2409 100644
--- a/ppl/tmap_inc/miss_inc.decl
+++ b/ppl/tmap_inc/miss_inc.decl
@@ -1,13 +1,13 @@
 * MISS_INC.DECL - converted to Unix 2.26.91           
 * COMMON for PLOT+ with all variables declared
 * created for TMAP usage by Steve Hankin 7/88
-	REAL	CMXLE
-	REAL	CMXEQ
-	REAL	CMXGE
-	REAL	CMYLE
-	REAL	CMYEQ
-	REAL	CMYGE
-	REAL	CMZLE
-	REAL	CMZEQ
-	REAL	CMZGE
+	REAL*4	CMXLE
+	REAL*4	CMXEQ
+	REAL*4	CMXGE
+	REAL*4	CMYLE
+	REAL*4	CMYEQ
+	REAL*4	CMYGE
+	REAL*4	CMZLE
+	REAL*4	CMZEQ
+	REAL*4	CMZGE
 * requires: INCLUDE 'PPLV11INC:MISS.INC'                                    
diff --git a/ppl/tmap_inc/mplot_inc.decl b/ppl/tmap_inc/mplot_inc.decl
index cdb9d4c..67a6e29 100644
--- a/ppl/tmap_inc/mplot_inc.decl
+++ b/ppl/tmap_inc/mplot_inc.decl
@@ -5,14 +5,14 @@
 	INTEGER	MNY
 	INTEGER	IMULT
 	INTEGER	IMCNT
-	REAL	DXM
-	REAL	DYM
-	REAL	XLENM
-	REAL	YLENM
+	REAL*4	DXM
+	REAL*4	DYM
+	REAL*4	XLENM
+	REAL*4	YLENM
 	INTEGER	IXM
 	INTEGER	IYM
 	INTEGER	MXBOT
 	INTEGER	MYLEF
-	REAL	HTM
-	REAL	WDM
+	REAL*4	HTM
+	REAL*4	WDM
 * requires: INCLUDE 'PPLV11INC:MPLOT.INC'                                   
diff --git a/ppl/tmap_inc/mplotx_inc.decl b/ppl/tmap_inc/mplotx_inc.decl
index 705a527..8771b94 100644
--- a/ppl/tmap_inc/mplotx_inc.decl
+++ b/ppl/tmap_inc/mplotx_inc.decl
@@ -1,10 +1,10 @@
 * MPLOTX_INC.DECL - converted to Unix 2.26.91         
 * COMMON for PLOT+ with all variables declared
 * created for TMAP usage by Steve Hankin 7/88
-	REAL	XORGT
-	REAL	YORGT
-	REAL	XLENT
-	REAL	YLENT
+	REAL*4	XORGT
+	REAL*4	YORGT
+	REAL*4	XLENT
+	REAL*4	YLENT
 	INTEGER	LABXT
 	INTEGER	LABYT
 * requires: INCLUDE 'PPLV11INC:MPLOTX.INC'                                  
diff --git a/ppl/tmap_inc/taxis_inc.decl b/ppl/tmap_inc/taxis_inc.decl
index f07e500..050594d 100644
--- a/ppl/tmap_inc/taxis_inc.decl
+++ b/ppl/tmap_inc/taxis_inc.decl
@@ -7,33 +7,33 @@
 *                   its delta-t for time overlay plots, and clear in disp_init
 
 *                  
-	REAL	TLO
-	REAL	DT
-	REAL	DT_SAVE
-	REAL	TCSIZE
+	REAL*4	TLO
+	REAL*4	DT
+	REAL*4	DT_SAVE
+	REAL*4	TCSIZE
 	INTEGER	ITYPET
 	INTEGER	NMTCT
 	INTEGER	LABELT
 	INTEGER	IFDB
 	INTEGER	ISDB
 	INTEGER	ITFLG
-	REAL	VANG
+	REAL*4	VANG
 	INTEGER	IVFLG
 	INTEGER	IAUTOT
 	INTEGER	ITXTPE
 	INTEGER	ITXLBP
 
 	
-	REAL	TLOb
-	REAL	DTb
-	REAL	TCSIZEb
+	REAL*4	TLOb
+	REAL*4	DTb
+	REAL*4	TCSIZEb
 	INTEGER	ITYPETb
 	INTEGER	NMTCTb
 	INTEGER	LABELTb
 	INTEGER	IFDBb
 	INTEGER	ISDBb
 	INTEGER	ITFLGb
-	REAL	VANGb
+	REAL*4	VANGb
 	INTEGER	IVFLGb
 	INTEGER	IAUTOTb
 	INTEGER	ITXTPEb
diff --git a/ppl/tmap_inc/tble_inc.decl b/ppl/tmap_inc/tble_inc.decl
index 66a061b..55e4c3c 100644
--- a/ppl/tmap_inc/tble_inc.decl
+++ b/ppl/tmap_inc/tble_inc.decl
@@ -1,13 +1,13 @@
 * TBLE_INC.DECL - converted to Unix 2.26.91           
 * COMMON for PLOT+ with all variables declared
 * created for TMAP usage by Steve Hankin 7/88
-	REAL	PTAB
-	REAL	DTTAB
-	REAL	FTTAB
-	REAL	WTTAB
-	REAL	STTAB
-	REAL	PCTAB
-	REAL	UNIT
+	REAL*4	PTAB
+	REAL*4	DTTAB
+	REAL*4	FTTAB
+	REAL*4	WTTAB
+	REAL*4	STTAB
+	REAL*4	PCTAB
+	REAL*4	UNIT
 	INTEGER	NPTAB
 	INTEGER	NDTTAB
 	INTEGER	NFTTAB
diff --git a/ppl/tmap_inc/tics_inc.decl b/ppl/tmap_inc/tics_inc.decl
index e4fb7dc..39f675c 100644
--- a/ppl/tmap_inc/tics_inc.decl
+++ b/ppl/tmap_inc/tics_inc.decl
@@ -1,10 +1,10 @@
 * TICS_INC.DECL - converted to Unix 2.26.91           
 * COMMON for PLOT+ with all variables declared
 * created for TMAP usage by Steve Hankin 7/88
-	REAL	TSMX
-	REAL	TLX
-	REAL	TSMY
-	REAL	TLY
+	REAL*4	TSMX
+	REAL*4	TLX
+	REAL*4	TSMY
+	REAL*4	TLY
 	INTEGER	IX
 	INTEGER	IY
 * requires: INCLUDE 'PPLV11INC:TICS.INC'                                    
diff --git a/ppl/tmap_inc/view_inc.decl b/ppl/tmap_inc/view_inc.decl
index 4bbe374..027d153 100644
--- a/ppl/tmap_inc/view_inc.decl
+++ b/ppl/tmap_inc/view_inc.decl
@@ -1,11 +1,11 @@
 * VIEW_INC.DECL - converted to Unix 2.26.91           
 * COMMON for PLOT+ with all variables declared
 * created for TMAP usage by Steve Hankin 7/88
-	REAL	VIEWX
-	REAL	VIEWY
-	REAL	VIEWZ
-	REAL	ZSCLE
-	REAL	XYSCLE
-	REAL	VEWZMN
-	REAL	VEWZMX
+	REAL*4	VIEWX
+	REAL*4	VIEWY
+	REAL*4	VIEWZ
+	REAL*4	ZSCLE
+	REAL*4	XYSCLE
+	REAL*4	VEWZMN
+	REAL*4	VEWZMX
 * requires: INCLUDE 'PPLV11INC:VIEW.INC'                                    
diff --git a/ppl/tmap_inc/xylabp_inc.decl b/ppl/tmap_inc/xylabp_inc.decl
index cd4fe33..8dffa83 100644
--- a/ppl/tmap_inc/xylabp_inc.decl
+++ b/ppl/tmap_inc/xylabp_inc.decl
@@ -1,12 +1,12 @@
 * XYLABP_INC.DECL - converted to Unix 2.26.91         
 * COMMON for PLOT+ with all variables declared
 * created for TMAP usage by Steve Hankin 7/88
-	REAL	XLABS
-	REAL	YLABS
-	REAL	RLABS
+	REAL*4	XLABS
+	REAL*4	YLABS
+	REAL*4	RLABS
 	INTEGER	LTYPE
-	REAL	XLLABS
-	REAL	YLLABS
+	REAL*4	XLLABS
+	REAL*4	YLLABS
 	INTEGER	LLTYPE
-	REAL	RHLABS
+	REAL*4	RHLABS
 * requires: INCLUDE 'PPLV11INC:XYLABP.INC'                                  
diff --git a/ppl/tmap_inc/zgridd_inc.decl b/ppl/tmap_inc/zgridd_inc.decl
index 58eb628..8c65f7f 100644
--- a/ppl/tmap_inc/zgridd_inc.decl
+++ b/ppl/tmap_inc/zgridd_inc.decl
@@ -2,7 +2,7 @@
 * COMMON for PLOT+ with all variables declared
 * created for TMAP usage by Steve Hankin 7/88
 	INTEGER	IZSE
-	REAL	XX
-	REAL	YY
-	REAL	ZZ
+	REAL*4	XX
+	REAL*4	YY
+	REAL*4	ZZ
 * requires: INCLUDE 'PPLV11INC:ZGRIDD.INC'                                  
diff --git a/ppl/tmapadds/compute_mnstd.F b/ppl/tmapadds/compute_mnstd.F
index 0b56cfc..a628fa1 100644
--- a/ppl/tmapadds/compute_mnstd.F
+++ b/ppl/tmapadds/compute_mnstd.F
@@ -49,6 +49,8 @@ C**
 *                 the Ferret side.
 * V698 *acm* 2/16 Re-fix 2186. The fix for 2311 broke the fix for 2186, so the test 
 *                 for data outside 3*std correction wasn't made.
+* V720 *acm* 2/17 Make sure zmin and zmax have been computed. May not be done yet for 
+*                 plot/vs/ribbon plots.
 
         IMPLICIT NONE
 	include 'parampl5_dat.decl'
@@ -78,17 +80,24 @@ C**
 
 	LOGICAL TM_FPEQ_SNGL, zmax_test, zmin_test, ok
 	REAL  zero, rbad
-	REAL*8 x, xmean, sum2, sumc, variance_c, xdelta, z_max_tol, z_min_tol
+	REAL*8 x, xmean, sum2, sumc, variance_c, xdelta, 
+     .         z_max_tol, z_min_tol, zlo, zhi
 	INTEGER i, n, n2
 
-c  Already have zmin, zmax
-
         IF (.not. need_std .AND. centered) THEN
 	   zstd = lev_std
 	   zmean = 0.
 	   GOTO 5000
 	ENDIF
 
+c  Already have zmin, zmax? (not true for ribbon plots...)
+
+	IF (zmin.EQ.0.0 .AND. zmax.EQ.0.0) THEN
+	   CALL MINMAX( z, nsize, badz, zlo, zhi )
+	   zmin = zlo
+	   zmax = zhi
+	ENDIF
+
 c if min and max are equal, will use linear levels. No need to issue the warning.
 
 	if (zmin .EQ. zmax) THEN
@@ -98,7 +107,6 @@ c if min and max are equal, will use linear levels. No need to issue the warning
 	   GOTO 5000
 	ENDIF
 
-
         IF (.not. need_std) GOTO 5000
 
 c Has the user set min or max levels to be used?
diff --git a/ppl/tmapadds/fillpol.F b/ppl/tmapadds/fillpol.F
index 11e92d0..b442223 100644
--- a/ppl/tmapadds/fillpol.F
+++ b/ppl/tmapadds/fillpol.F
@@ -77,6 +77,8 @@ C
 * V62  *acm* 5/09 Fixing bug 1661: if the plot is TRANSPOSED, then apply 
 *                 xinv, yinv to the opposite axis.
 * V68  *acm* 1/12  changes for double-precision ferret, single-precision pplus
+* V72  *acm* 6/17  PyFerret ticket 2542, check for zero-extent on polygons before
+*                  calling graphics routines
 
         include         'xinterrupt.cmn' ! 1/89 *sh*
         include         'ppl_in_ferret.cmn'
@@ -140,7 +142,7 @@ C
 *jd*
 	real            zzmin, zzmax
 	integer         status, nlm1
-	real		dz,znp,zmp
+	real		dz,znp,zmp, x1val, y1val, xdel, ydel
 	integer		i,j,uprdn, llen, ptsbase
 	logical         line_it, fill_it
         integer         slen1, slen2
@@ -290,6 +292,15 @@ C      set already.
 * assemble the vertices into arrays in units of plot coordinates
 * note: all points in the polygon are guaranteed to be "valid"
 	   nvertex = 0
+ 
+* Check that the polygon has a nonzero size in both directions
+* PyFerret fails e.g. on a zero-height rectangle. This is not a 
+* perfect test but will catch most cases.
+
+           x1val = x(IBASE+1)
+           y1val = x(iy+IBASE+1)
+          xdel = 0.
+          ydel = 0.
 
 	   DO 150 J=IBASE+1,IBASE+llen
 !	      CALL TRANS(I,X(J),X(IY+J),XT,YT)
@@ -299,7 +310,13 @@ C      set already.
 	      nvertex = nvertex + 1
 	      x(xvertexbase+nvertex-1) = x(j)
 	      x(ypolybase+nvertex-1) = x(iy+j)
+              IF (j .GT. ibase+1) THEN
+                xdel = MAX( xdel, ABS(x1val-x(j)) )
+                ydel = MAX( ydel, ABS(y1val-x(iy+j)) )
+              ENDIF
+
  150	   CONTINUE
+          IF (xdel.LT.epsilon .OR. ydel.LT.epsilon) GOTO 199
 
 	   if (fill_it) then
 *             Determine the color index for the fill
diff --git a/ppl/tmapadds/key.F b/ppl/tmapadds/key.F
index 4dc254f..33f8bcf 100644
--- a/ppl/tmapadds/key.F
+++ b/ppl/tmapadds/key.F
@@ -114,6 +114,7 @@ c	        IF (NL.EQ.1 .AND. J.LE.2) ZLEV(2) = zlev(1)
 * V697 *acm* 12/15 Fix ticket 2326: single level plus (inf) and/or (-inf)
 * V71  *acm*  1/17 Fix ticket 2491: labels on colorbar when it's a ribbon/vlog, ribbon/hlog plot
 * V71  *acm*  1/17 Fix ticket 2491: Tweak to key labels, code adding .0 to numbers for consistency
+* V72  *acm*  7/17 See example, ticket 2550 small exponential labels need more precision in key labels
 
 	include 	'parampl5_dat.decl'
 	include 	'PARAMPL5.DAT'
@@ -153,8 +154,8 @@ c	        IF (NL.EQ.1 .AND. J.LE.2) ZLEV(2) = zlev(1)
 	character*12	text,TM_FMT_SNGL, TM_FMT_SNGL_DIGITS, 
      .			txt_out, blanks
         character*20    buff
-	logical		TM_FPEQ_SNGL, TM_DFPEQ, ITSA_AXIS_VIEW, windof_hold, 
-     .                  check_0, increase_digits, nofill, cont_key_keep, 
+	logical		TM_FPEQ_SNGL, TM_DFPEQ, ITSA_AXIS_VIEW, TM_HAS_STRING,  
+     .                  windof_hold, check_0, increase_digits, nofill, cont_key_keep, 
      .                  no_lines, is_viewport, have_neg
 
 	external	TM_FMT_SNGL, TM_FMT_SNGL_DIGITS
@@ -247,6 +248,8 @@ c	        IF (NL.EQ.1 .AND. J.LE.2) ZLEV(2) = zlev(1)
 
              READ (buff,*) val_n
              IF ( TM_DFPEQ(val_last, val_n) ) increase_digits = .TRUE.
+             IF ( TM_HAS_STRING(buff, 'E-') ) increase_digits = .TRUE.
+
              val_last = val_n
              IF (max_len .lt. str_len) max_len = str_len
 
diff --git a/ppl/tmapadds/set_levels_shade_fill.F b/ppl/tmapadds/set_levels_shade_fill.F
index 8b8231b..1f99a20 100644
--- a/ppl/tmapadds/set_levels_shade_fill.F
+++ b/ppl/tmapadds/set_levels_shade_fill.F
@@ -41,6 +41,8 @@
 * V68  *acm* 1/12  changes for double-precision ferret, single-precision pplus
 * V697 *acm* 12/15 Fix ticket 2326: single level plus (inf) and/or (-inf)
 * V698 *acm*  2/16 Send info that the levels are from a histogram to setlab_syms
+* V720 *acm*  7/17 Ticket 2250: small-valued data caused an error computing number
+*                  of interval-edges NLEV2
 
 	include		'parampl5_dat.decl'
 	include		'PARAMPL5.DAT'
@@ -192,7 +194,12 @@ C       values and also the appropriate delta value. (ZNP, ZMP, DZ)
 	      endif
 
               IF (.NOT.openlev) THEN
-	      NLEV2=(ZMP-ZNP)/DZ+1 
+
+* nlev2 is 1 more than the # of intervals; it is the edges of the intervals, i.e. 
+* upper-limit of the uppermost interval minus the lower-limit of the low cell, 
+* and then add 1.5 for correct roundoff.
+
+	      NLEV2 = (ZMP-ZNP)/DZ + 1.5
 
 c *acm* 4/08 Set jj as in plotz
 
diff --git a/ppl/tmapadds/setlab_syms.F b/ppl/tmapadds/setlab_syms.F
index 41f4e81..ce63173 100644
--- a/ppl/tmapadds/setlab_syms.F
+++ b/ppl/tmapadds/setlab_syms.F
@@ -45,6 +45,7 @@
 * V698 *acm*  2/16 Fix the LEV_DEL computation which was wrong for irregular levels.
 *                  Clear out-of-date symbols, for variance-based or histogram
 *                  levels on previous plots
+* V720 *acm*  7/17 Ticket 2250: precision errors when data has very small values
 
 *    LEV_MIN  - lowest level used on last CONTOUR, SHADE, or FILL call.
 *    LEV_MAX -  highest level used last
@@ -67,31 +68,44 @@
 * Internal arguments
 
       REAL zmax, zmin, dz, diff, eps
+      REAL*8 zmaxD, zminD
 
-      CHARACTER ppl_buff*2048, TM_FMT_SNGL*10, buff*10, symbuff*120
+      CHARACTER ppl_buff*2048, TM_FMT_SNGL*10, TM_FMT*10, 
+     .          buff*10, symbuff*120,buffmin*10, buffmax*10
       INTEGER TM_LENSTR1, STR_SAME, i, ier, ilen, slen 
       LOGICAL TM_FPEQ_EPS_SNGL, reglevs
 
+
+
 * Lowest and highest Z level
 
       zmin = zlevels(1)
-      buff = TM_FMT_SNGL(zmin, -2, 10, slen)
-      IF (neginf) buff = 'open-ended'
+      buffmin = TM_FMT_SNGL(zmin, -2, 10, slen)
+      IF (neginf) buffmin = 'open-ended'
+
+      zmax = zlevels(nlevels)
+      buffmax = TM_FMT_SNGL(zmax, -2, 10, slen)
+      IF (posinf) buffmax = 'open-ended'
+
+* An epsilon for equal-sized deltas, need not be too tight a test
+      eps = 0.01* (zmax - zmin)/FLOAT(nlevels)
+
+      IF ( STR_SAME(buffmin, buffmax).EQ.0 .AND. .NOT.neginf .AND.
+     .    .NOT.TM_FPEQ_EPS_SNGL(eps, zmin, zmax) ) THEN
+	 zminD = zmin
+         zmaxD = zmax 
+	 buffmin = TM_FMT(zminD, 2, 10, slen)
+	 buffmax = TM_FMT(zmaxD, 2, 10, slen)
+      ENDIF
 
-      ppl_buff = 'LEV_MIN '//buff
+      ppl_buff = 'LEV_MIN '//buffmin
       ilen = TM_LENSTR1(ppl_buff)
       ier = 0
       ist = 0
       CALL SETSYM (ppl_buff, ilen, ier, ist)
 
-      zmax = zlevels(nlevels)
-      buff = TM_FMT_SNGL(zmax, -2, 10, slen)
-      IF (posinf) buff = 'open-ended'
-
-* An epsilon for equal-sized deltas, need not be too tight a test
-      eps = 0.01* (zmax - zmin)/FLOAT(nlevels)
 
-      ppl_buff = 'LEV_MAX '//buff
+      ppl_buff = 'LEV_MAX '//buffmax
       ilen = TM_LENSTR1(ppl_buff)
       ier = 0
       ist = 0
@@ -118,6 +132,8 @@
 * Otherwise, check if levels are regularly spaced 
 
       ELSE
+
+
          dz = zlevels(2) - zlevels(1)
       
          IF (nlevels .EQ. 1) THEN
@@ -140,6 +156,13 @@
 
       ENDIF
 
+      IF (STR_SAME(buff, '0') .EQ. 0 .AND. reglevs) THEN
+	 zminD = zlevels(1)
+         zmaxD = zlevels(2)
+	 zminD = zmaxD - zminD
+	 buff = TM_FMT(zminD, 2, 10, slen)
+      ENDIF
+
       ppl_buff = 'LEV_DEL '//buff
       ilen = TM_LENSTR1(ppl_buff)
       ier = 0
diff --git a/site_specific.mk b/site_specific.mk
index bbc5683..7bb1f73 100644
--- a/site_specific.mk
+++ b/site_specific.mk
@@ -1,9 +1,11 @@
 ## Site-dependent definitions included in Makefiles
 
+## !!! Also check external_functions/ef_utility/site_specific.mk !!!
+
 ## Machine for which to build Ferret
 ## Use $(HOSTTYPE) to build natively for the machine you are using
-BUILDTYPE	= $(HOSTTYPE)
-# BUILDTYPE	= x86_64-linux
+# BUILDTYPE	= $(HOSTTYPE)
+BUILDTYPE	= x86_64-linux
 # BUILDTYPE	= i386-linux
 # BUILDTYPE	= i386-apple-darwin
 # BUILDTYPE	= intel-mac
@@ -18,13 +20,17 @@ INSTALL_FER_DIR = $(HOME)/ferret_distributions/rhel6_64
 ## (contains include and lib or lib64 subdirectories)
 # HDF5_DIR	= /usr
 # HDF5_DIR	= /usr/local
-HDF5_DIR	= /usr/local/hdf5-1.8.16
+# HDF5_DIR	= /usr/local/hdf5-1.8.18
+HDF5_DIR	= /usr/local/hdf5-1.8.18-64
+# HDF5_DIR	= /usr/local/hdf5-1.8.18-32
 
 ## Installation directory for NetCDF static libraries
 ## (contains include and lib or lib64 subdirectories)
 # NETCDF4_DIR	= /usr
 # NETCDF4_DIR	= /usr/local
-NETCDF4_DIR	= /usr/local/netcdf-4.4.0
+# NETCDF4_DIR	= /usr/local/netcdf-4.4.1.1
+NETCDF4_DIR	= /usr/local/netcdf-4.4.1.1-64
+# NETCDF4_DIR	= /usr/local/netcdf-4.4.1.1-32
 
 ## Installation directory for readline static libraries
 ## (contains include and lib or lib64 subdirectories)
@@ -32,13 +38,6 @@ NETCDF4_DIR	= /usr/local/netcdf-4.4.0
 READLINE_DIR	= /usr
 # READLINE_DIR	= /usr/local
 
-## Installation directory for libz static library
-## (contains include and lib or lib64 subdirectories)
-## Version 1.2.5 or higher recommended by NetCDF
-# LIBZ_DIR	= /
-# LIBZ_DIR	= /usr
-LIBZ_DIR	= /usr/local
-
 ## Java home directory - this may be predefined
 ## from your shell environment.  If JAVA_HOME is defined,
 ## $(JAVA_HOME)/bin/javac and $(JAVA_HOME)/bin/jar is
diff --git a/xgks/src/fortran/control.fc b/xgks/src/fortran/control.fc
index 29ce8cf..19a78f7 100644
--- a/xgks/src/fortran/control.fc
+++ b/xgks/src/fortran/control.fc
@@ -46,13 +46,13 @@
 
 /*LINTLIBRARY*/
 
-#include "udposix.h"
 #include <stdlib.h>
 #include <sys/types.h>
 #include <sys/stat.h>
 #include <sys/param.h>
 #include <string.h>
 #include <limits.h>
+#include "udposix.h"
 #include "xgks.h"
 #include "gks_defines.h"
 #include "fortxgks.h"
@@ -64,7 +64,7 @@
 #   define	realloc(p,n)	(lint_realloc(p,n), 0)
 #else
     static char afsid[] = "$__Header$";
-    static char rcsid[] = "$Id: control.fc 14748 2012-08-20 22:07:51Z ansley $";
+    static char rcsid[] = "$Id: control.fc 23929 2017-06-26 20:24:42Z ksmith $";
 #endif
 
 /* 
diff --git a/xgks/src/fortran/error.fc b/xgks/src/fortran/error.fc
index b8048ab..fe99cd9 100644
--- a/xgks/src/fortran/error.fc
+++ b/xgks/src/fortran/error.fc
@@ -35,15 +35,15 @@
 
 /*LINTLIBRARY*/
 
-#include "udposix.h"
 #include <stdio.h>
 #include <string.h>
+#include "udposix.h"
 #include "xgks.h"
 #include "fortxgks.h"
 
 #ifndef lint
     static char afsid[] = "$__Header$";
-    static char rcsid[] = "$Id: error.fc 6522 1999-03-10 01:34:55Z sirott $";
+    static char rcsid[] = "$Id: error.fc 23929 2017-06-26 20:24:42Z ksmith $";
 #endif
 
 extern int	error_lun;
diff --git a/xgks/src/fortran/escapes.fc b/xgks/src/fortran/escapes.fc
index 371815f..0daa3ef 100644
--- a/xgks/src/fortran/escapes.fc
+++ b/xgks/src/fortran/escapes.fc
@@ -38,11 +38,11 @@
 
 /*LINTLIBRARY*/
 
-#include <udposix.h>
 #include <stdlib.h>
 #include <stdio.h>
 #include <string.h>
 #include <X11/Xlib.h>
+#include "udposix.h"
 #include "xgks.h"
 #include "fortxgks.h"
 
@@ -53,7 +53,7 @@
 #   define	realloc(p,n)	(lint_realloc(p,n), 0)
 #else
     static char afsid[] = "$__Header$";
-    static char rcsid[] = "$Id: escapes.fc 6522 1999-03-10 01:34:55Z sirott $";
+    static char rcsid[] = "$Id: escapes.fc 23929 2017-06-26 20:24:42Z ksmith $";
 #endif
 
 /*
diff --git a/xgks/src/fortran/finqpixel.fc b/xgks/src/fortran/finqpixel.fc
index c78905d..4461cf2 100644
--- a/xgks/src/fortran/finqpixel.fc
+++ b/xgks/src/fortran/finqpixel.fc
@@ -43,8 +43,9 @@
 
 /*LINTLIBRARY*/
 
-#include "udposix.h"
 #include <stdlib.h>
+#include <wchar.h>
+#include "udposix.h"
 #include "xgks.h"
 #include "fortxgks.h"
 
@@ -52,15 +53,13 @@
 /* extra definitions from inqpixel.c for skipping  
  * the call to ginqpixelarraydim when in gif mode*/
 
-#include <wchar.h>
-#include <wchar.h>
 #include "gks_implem.h"
 
 /* end of extra definitions from inqpixel.c: */
 
 #ifndef lint
     static char afsid[] = "$__Header$";
-    static char rcsid[] = "$Id: finqpixel.fc 8782 2004-08-27 21:34:43Z ansley $";
+    static char rcsid[] = "$Id: finqpixel.fc 23929 2017-06-26 20:24:42Z ksmith $";
 #endif
 
 
diff --git a/xgks/src/fortran/gerhnd.fc b/xgks/src/fortran/gerhnd.fc
index a4528aa..f5188a0 100644
--- a/xgks/src/fortran/gerhnd.fc
+++ b/xgks/src/fortran/gerhnd.fc
@@ -32,12 +32,12 @@
  */
 
 #ifndef lint
-    static char	rcsid[]	= "$Id: gerhnd.fc 6358 1998-09-01 17:32:40Z tmap $";
+    static char	rcsid[]	= "$Id: gerhnd.fc 23929 2017-06-26 20:24:42Z ksmith $";
     static char	afsid[] = "$__Header$";
 #endif
 
 #include "udposix.h"
-#include <xgks.h>
+#include "xgks.h"
 #include "fortxgks.h"
 
 
diff --git a/xgks/src/fortran/getlunname.fc b/xgks/src/fortran/getlunname.fc
index 5f9c3f9..c66de2b 100644
--- a/xgks/src/fortran/getlunname.fc
+++ b/xgks/src/fortran/getlunname.fc
@@ -1,12 +1,12 @@
-#include "udposix.h"
 #include <limits.h>
 #include <stddef.h>
 #include <stdlib.h>
 #include <string.h>
+#include "udposix.h"
 #include "fortxgks.h"
 
 #ifndef lint
-    static char	rcsid[]	= "$Id: getlunname.fc 9144 2005-08-15 20:10:34Z ansley $";
+    static char	rcsid[]	= "$Id: getlunname.fc 23929 2017-06-26 20:24:42Z ksmith $";
     static char afsid[]	= "$__Header$";
 #endif
 
diff --git a/xgks/src/fortran/inputevent.fc b/xgks/src/fortran/inputevent.fc
index 7b1e5c7..da28b7d 100644
--- a/xgks/src/fortran/inputevent.fc
+++ b/xgks/src/fortran/inputevent.fc
@@ -38,18 +38,18 @@
  *
  * August 31 1988
  *
- * $Id: inputevent.fc 8483 2004-01-21 23:06:13Z kobrien $
+ * $Id: inputevent.fc 23929 2017-06-26 20:24:42Z ksmith $
  * $__Header$
  */
 
 /*LINTLIBRARY*/
 
 #include <wchar.h>
-#include "udposix.h"
 #include <unistd.h>
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
+#include "udposix.h"
 #include "xgks.h"
 #include "fortxgks.h"
 
@@ -60,7 +60,7 @@
 #   define	realloc(p,n)	(lint_realloc(p,n), 0)
 #else
     static char afsid[] = "$__Header$";
-    static char rcsid[] = "$Id: inputevent.fc 8483 2004-01-21 23:06:13Z kobrien $";
+    static char rcsid[] = "$Id: inputevent.fc 23929 2017-06-26 20:24:42Z ksmith $";
 #endif
 
 extern char    *forttext;
diff --git a/xgks/src/fortran/inputinit.fc b/xgks/src/fortran/inputinit.fc
index 7d5a46d..a03e0ab 100644
--- a/xgks/src/fortran/inputinit.fc
+++ b/xgks/src/fortran/inputinit.fc
@@ -40,15 +40,15 @@
  *
  * August 31 1988
  *
- * $Id: inputinit.fc 6358 1998-09-01 17:32:40Z tmap $
+ * $Id: inputinit.fc 23929 2017-06-26 20:24:42Z ksmith $
  * $__Header$
  */
 
 /*LINTLIBRARY*/
 
-#include "udposix.h"
 #include <stdlib.h>
 #include <string.h>
+#include "udposix.h"
 #include "xgks.h"
 #include "fortxgks.h"
 #include "pdrutils.h"
@@ -60,7 +60,7 @@
 #   define	realloc(p,n)	(lint_realloc(p,n), 0)
 #else
     static char afsid[] = "$__Header$";
-    static char rcsid[] = "$Id: inputinit.fc 6358 1998-09-01 17:32:40Z tmap $";
+    static char rcsid[] = "$Id: inputinit.fc 23929 2017-06-26 20:24:42Z ksmith $";
 #endif
 
 extern int     *fortint;
diff --git a/xgks/src/fortran/inputmode.fc b/xgks/src/fortran/inputmode.fc
index 5684cdc..04f7444 100644
--- a/xgks/src/fortran/inputmode.fc
+++ b/xgks/src/fortran/inputmode.fc
@@ -37,20 +37,20 @@
  *
  * August 31 1988
  *
- * $Id: inputmode.fc 6358 1998-09-01 17:32:40Z tmap $
+ * $Id: inputmode.fc 23929 2017-06-26 20:24:42Z ksmith $
  * $__Header$
  */
 
 /*LINTLIBRARY*/
 
-#include "udposix.h"
 #include <stdlib.h>
+#include "udposix.h"
 #include "xgks.h"
 #include "fortxgks.h"
 
 #ifndef lint
     static char afsid[] = "$__Header$";
-    static char rcsid[] = "$Id: inputmode.fc 6358 1998-09-01 17:32:40Z tmap $";
+    static char rcsid[] = "$Id: inputmode.fc 23929 2017-06-26 20:24:42Z ksmith $";
 #endif
 
 
diff --git a/xgks/src/fortran/inputreq.fc b/xgks/src/fortran/inputreq.fc
index 5d27b00..c56f85e 100644
--- a/xgks/src/fortran/inputreq.fc
+++ b/xgks/src/fortran/inputreq.fc
@@ -38,15 +38,15 @@
  *
  * August 31 1988
  *
- * $Id: inputreq.fc 6358 1998-09-01 17:32:40Z tmap $
+ * $Id: inputreq.fc 23929 2017-06-26 20:24:42Z ksmith $
  * $__Header$
  */
 
 /*LINTLIBRARY*/
 
-#include "udposix.h"
 #include <stdlib.h>
 #include <string.h>
+#include "udposix.h"
 #include "xgks.h"
 #include "fortxgks.h"
 
@@ -57,7 +57,7 @@
 #   define	realloc(p,n)	(lint_realloc(p,n), 0)
 #else
     static char afsid[] = "$__Header$";
-    static char rcsid[] = "$Id: inputreq.fc 6358 1998-09-01 17:32:40Z tmap $";
+    static char rcsid[] = "$Id: inputreq.fc 23929 2017-06-26 20:24:42Z ksmith $";
 #endif
 
 extern char    *forttext;
diff --git a/xgks/src/fortran/inputsamp.fc b/xgks/src/fortran/inputsamp.fc
index 44220ea..7eecbdd 100644
--- a/xgks/src/fortran/inputsamp.fc
+++ b/xgks/src/fortran/inputsamp.fc
@@ -37,15 +37,15 @@
  *
  * August 31 1988
  *
- * $Id: inputsamp.fc 19905 2015-07-01 00:25:30Z ksmith $
+ * $Id: inputsamp.fc 23929 2017-06-26 20:24:42Z ksmith $
  * $__Header$
  */
 
 /*LINTLIBRARY*/
 
-#include "udposix.h"
 #include <stdlib.h>
 #include <string.h>
+#include "udposix.h"
 #include "xgks.h"
 #include "fortxgks.h"
 
@@ -56,7 +56,7 @@
 #   define	realloc(p,n)	(lint_realloc(p,n), 0)
 #else
     static char afsid[] = "$__Header$";
-    static char rcsid[] = "$Id: inputsamp.fc 19905 2015-07-01 00:25:30Z ksmith $";
+    static char rcsid[] = "$Id: inputsamp.fc 23929 2017-06-26 20:24:42Z ksmith $";
 #endif
 
 extern char    *forttext;
diff --git a/xgks/src/fortran/inqerrlist.fc b/xgks/src/fortran/inqerrlist.fc
index eb1ecb2..4339692 100644
--- a/xgks/src/fortran/inqerrlist.fc
+++ b/xgks/src/fortran/inqerrlist.fc
@@ -37,14 +37,14 @@
 
 /*LINTLIBRARY*/
 
-#include "udposix.h"
 #include <stdlib.h>
+#include "udposix.h"
 #include "xgks.h"
 #include "fortxgks.h"
 
 #ifndef lint
     static char afsid[] = "$__Header$";
-    static char rcsid[] = "$Id: inqerrlist.fc 6358 1998-09-01 17:32:40Z tmap $";
+    static char rcsid[] = "$Id: inqerrlist.fc 23929 2017-06-26 20:24:42Z ksmith $";
 #endif
 
 
diff --git a/xgks/src/fortran/inqgksdesc.fc b/xgks/src/fortran/inqgksdesc.fc
index 527295c..503da29 100644
--- a/xgks/src/fortran/inqgksdesc.fc
+++ b/xgks/src/fortran/inqgksdesc.fc
@@ -38,14 +38,14 @@
 
 /*LINTLIBRARY*/
 
-#include "udposix.h"
 #include <stdlib.h>
+#include "udposix.h"
 #include "xgks.h"
 #include "fortxgks.h"
 
 #ifndef lint
     static char afsid[] = "$__Header$";
-    static char rcsid[] = "$Id: inqgksdesc.fc 6358 1998-09-01 17:32:40Z tmap $";
+    static char rcsid[] = "$Id: inqgksdesc.fc 23929 2017-06-26 20:24:42Z ksmith $";
 #endif
 
 
diff --git a/xgks/src/fortran/inqgkslist.fc b/xgks/src/fortran/inqgkslist.fc
index 595be99..4d1b872 100644
--- a/xgks/src/fortran/inqgkslist.fc
+++ b/xgks/src/fortran/inqgkslist.fc
@@ -71,14 +71,14 @@
 
 /*LINTLIBRARY*/
 
-#include "udposix.h"
 #include <stdlib.h>
+#include "udposix.h"
 #include "xgks.h"
 #include "fortxgks.h"
 
 #ifndef lint
     static char afsid[] = "$__Header$";
-    static char rcsid[] = "$Id: inqgkslist.fc 6358 1998-09-01 17:32:40Z tmap $";
+    static char rcsid[] = "$Id: inqgkslist.fc 23929 2017-06-26 20:24:42Z ksmith $";
 #endif
 
 
diff --git a/xgks/src/fortran/inqseglist.fc b/xgks/src/fortran/inqseglist.fc
index b635e5e..fd5d9fe 100644
--- a/xgks/src/fortran/inqseglist.fc
+++ b/xgks/src/fortran/inqseglist.fc
@@ -37,14 +37,14 @@
 
 /*LINTLIBRARY*/
 
-#include "udposix.h"
 #include <stdlib.h>
+#include "udposix.h"
 #include "xgks.h"
 #include "fortxgks.h"
 
 #ifndef lint
     static char afsid[] = "$__Header$";
-    static char rcsid[] = "$Id: inqseglist.fc 6358 1998-09-01 17:32:40Z tmap $";
+    static char rcsid[] = "$Id: inqseglist.fc 23929 2017-06-26 20:24:42Z ksmith $";
 #endif
 
 
diff --git a/xgks/src/fortran/inqstate.fc b/xgks/src/fortran/inqstate.fc
index 15993d5..f0ea89a 100644
--- a/xgks/src/fortran/inqstate.fc
+++ b/xgks/src/fortran/inqstate.fc
@@ -36,14 +36,14 @@
 
 /*LINTLIBRARY*/
 
-#include "udposix.h"
 #include <stdlib.h>
+#include "udposix.h"
 #include "xgks.h"
 #include "fortxgks.h"
 
 #ifndef lint
     static char afsid[] = "$__Header$";
-    static char rcsid[] = "$Id: inqstate.fc 6358 1998-09-01 17:32:40Z tmap $";
+    static char rcsid[] = "$Id: inqstate.fc 23929 2017-06-26 20:24:42Z ksmith $";
 #endif
 
 
diff --git a/xgks/src/fortran/inqwsdesc.fc b/xgks/src/fortran/inqwsdesc.fc
index 47b4e57..815c372 100644
--- a/xgks/src/fortran/inqwsdesc.fc
+++ b/xgks/src/fortran/inqwsdesc.fc
@@ -54,9 +54,9 @@
 
 /*LINTLIBRARY*/
 
-#include "udposix.h"
 #include <stdlib.h>
 #include <string.h>
+#include "udposix.h"
 #include "xgks.h"
 #include "fortxgks.h"
 
@@ -65,7 +65,7 @@
 #   define	malloc(n)	(lint_malloc(n), 0)
 #else
     static char afsid[] = "$__Header$";
-    static char rcsid[] = "$Id: inqwsdesc.fc 19905 2015-07-01 00:25:30Z ksmith $";
+    static char rcsid[] = "$Id: inqwsdesc.fc 23929 2017-06-26 20:24:42Z ksmith $";
 #endif
 
 #define	FREE(p)		{ if ((p) != NULL) free((voidp) p); }
diff --git a/xgks/src/fortran/inqwslist.fc b/xgks/src/fortran/inqwslist.fc
index e0a2f11..421b7a3 100644
--- a/xgks/src/fortran/inqwslist.fc
+++ b/xgks/src/fortran/inqwslist.fc
@@ -48,9 +48,9 @@
 
 /*LINTLIBRARY*/
 
-#include "udposix.h"
 #include <stdlib.h>
 #include <string.h>
+#include "udposix.h"
 #include "xgks.h"
 #include "fortxgks.h"
 
@@ -61,7 +61,7 @@
 #   define	realloc(p,n)	(lint_realloc(p,n), 0)
 #else
     static char afsid[] = "$__Header$";
-    static char rcsid[] = "$Id: inqwslist.fc 6358 1998-09-01 17:32:40Z tmap $";
+    static char rcsid[] = "$Id: inqwslist.fc 23929 2017-06-26 20:24:42Z ksmith $";
 #endif
 
 #define GKS_FREE(p)	{ if ((p) != NULL) free((voidp) p); }
diff --git a/xgks/src/fortran/meta.fc b/xgks/src/fortran/meta.fc
index a9def79..78ebcf9 100644
--- a/xgks/src/fortran/meta.fc
+++ b/xgks/src/fortran/meta.fc
@@ -38,14 +38,14 @@
 
 /*LINTLIBRARY*/
 
-#include "udposix.h"
 #include <stdlib.h>
+#include "udposix.h"
 #include "xgks.h"
 #include "fortxgks.h"
 
 #ifndef lint
     static char afsid[] = "$__Header$";
-    static char rcsid[] = "$Id: meta.fc 6358 1998-09-01 17:32:40Z tmap $";
+    static char rcsid[] = "$Id: meta.fc 23929 2017-06-26 20:24:42Z ksmith $";
 #endif
 
 
diff --git a/xgks/src/fortran/output.fc b/xgks/src/fortran/output.fc
index e86678f..b8d1580 100644
--- a/xgks/src/fortran/output.fc
+++ b/xgks/src/fortran/output.fc
@@ -42,9 +42,9 @@
 /*LINTLIBRARY*/
 
 #define OUTPUT
-#include "udposix.h"
 #include <string.h>
 #include <stdlib.h>
+#include "udposix.h"
 #include "xgks.h"
 #include "fortxgks.h"
 
@@ -56,7 +56,7 @@
 #   define	realloc(p,n)	(lint_realloc(p,n), 0)
 #else
     static char afsid[] = "$__Header$";
-    static char rcsid[] = "$Id: output.fc 19905 2015-07-01 00:25:30Z ksmith $";
+    static char rcsid[] = "$Id: output.fc 23929 2017-06-26 20:24:42Z ksmith $";
 #endif
 
 extern int     *fortint;
diff --git a/xgks/src/fortran/rep.fc b/xgks/src/fortran/rep.fc
index a538dc3..5d76c35 100644
--- a/xgks/src/fortran/rep.fc
+++ b/xgks/src/fortran/rep.fc
@@ -40,8 +40,8 @@
 
 /*LINTLIBRARY*/
 
-#include "udposix.h"
 #include <stdlib.h>
+#include "udposix.h"
 #include "xgks.h"
 #include "fortxgks.h"
 
@@ -52,7 +52,7 @@
 #   define	realloc(p,n)	(lint_realloc(p,n), 0)
 #else
     static char afsid[] = "$__Header$";
-    static char rcsid[] = "$Id: rep.fc 6358 1998-09-01 17:32:40Z tmap $";
+    static char rcsid[] = "$Id: rep.fc 23929 2017-06-26 20:24:42Z ksmith $";
 #endif
 
 extern char    *forttext;
diff --git a/xgks/src/fortran/segattr.fc b/xgks/src/fortran/segattr.fc
index aa5782e..f825ee8 100644
--- a/xgks/src/fortran/segattr.fc
+++ b/xgks/src/fortran/segattr.fc
@@ -40,14 +40,14 @@
 
 /*LINTLIBRARY*/
 
-#include "udposix.h"
 #include <stdlib.h>
+#include "udposix.h"
 #include "xgks.h"
 #include "fortxgks.h"
 
 #ifndef lint
     static char afsid[] = "$__Header$";
-    static char rcsid[] = "$Id: segattr.fc 6358 1998-09-01 17:32:40Z tmap $";
+    static char rcsid[] = "$Id: segattr.fc 23929 2017-06-26 20:24:42Z ksmith $";
 #endif
 
 
diff --git a/xgks/src/fortran/segment.fc b/xgks/src/fortran/segment.fc
index de3b76b..52165fd 100644
--- a/xgks/src/fortran/segment.fc
+++ b/xgks/src/fortran/segment.fc
@@ -43,14 +43,14 @@
 
 /*LINTLIBRARY*/
 
-#include "udposix.h"
 #include <stdlib.h>
+#include "udposix.h"
 #include "xgks.h"
 #include "fortxgks.h"
 
 #ifndef lint
     static char afsid[] = "$__Header$";
-    static char rcsid[] = "$Id: segment.fc 6358 1998-09-01 17:32:40Z tmap $";
+    static char rcsid[] = "$Id: segment.fc 23929 2017-06-26 20:24:42Z ksmith $";
 #endif
 
 
diff --git a/xgks/src/fortran/transform.fc b/xgks/src/fortran/transform.fc
index 241da1f..1677477 100644
--- a/xgks/src/fortran/transform.fc
+++ b/xgks/src/fortran/transform.fc
@@ -41,14 +41,14 @@
 
 /*LINTLIBRARY*/
 
-#include "udposix.h"
 #include <stdlib.h>
+#include "udposix.h"
 #include "xgks.h"
 #include "fortxgks.h"
 
 #ifndef lint
     static char afsid[] = "$__Header$";
-    static char rcsid[] = "$Id: transform.fc 6358 1998-09-01 17:32:40Z tmap $";
+    static char rcsid[] = "$Id: transform.fc 23929 2017-06-26 20:24:42Z ksmith $";
 #endif
 
 
diff --git a/xgks/src/fortran/utils.fc b/xgks/src/fortran/utils.fc
index 43b083a..9459b60 100644
--- a/xgks/src/fortran/utils.fc
+++ b/xgks/src/fortran/utils.fc
@@ -36,16 +36,16 @@
 
 /*LINTLIBRARY*/
 
-#include "udposix.h"
 #include <stdlib.h>
 #include <string.h>
+#include "udposix.h"
 #include "xgks.h"
 #include "fortxgks.h"
 #include "pdrutils.h"
 
 #ifndef lint
     static char afsid[] = "$__Header$";
-    static char rcsid[] = "$Id: utils.fc 6358 1998-09-01 17:32:40Z tmap $";
+    static char rcsid[] = "$Id: utils.fc 23929 2017-06-26 20:24:42Z ksmith $";
 #endif
 
 #define DATARECWIDTH 80 
diff --git a/xgks/src/fortran/wsioutattr.fc b/xgks/src/fortran/wsioutattr.fc
index 0d946ff..ddddcb2 100644
--- a/xgks/src/fortran/wsioutattr.fc
+++ b/xgks/src/fortran/wsioutattr.fc
@@ -40,14 +40,14 @@
 
 /*LINTLIBRARY*/
 
-#include "udposix.h"
 #include <stdlib.h>
+#include "udposix.h"
 #include "xgks.h"
 #include "fortxgks.h"
 
 #ifndef lint
 static char     afsid[] = "$__Header$";
-static char     rcsid[] = "$Id: wsioutattr.fc 6358 1998-09-01 17:32:40Z tmap $";
+static char     rcsid[] = "$Id: wsioutattr.fc 23929 2017-06-26 20:24:42Z ksmith $";
 
 #endif
 
diff --git a/xgks/src/lib/cellarray.c b/xgks/src/lib/cellarray.c
index 86bd91e..56af9cd 100644
--- a/xgks/src/lib/cellarray.c
+++ b/xgks/src/lib/cellarray.c
@@ -35,8 +35,8 @@
  */
 
 #include <wchar.h>
-#include "udposix.h"
 #include <stdlib.h>
+#include "udposix.h"
 #include "gks_implem.h"
 
 /* LINTLIBRARY */
@@ -46,7 +46,7 @@
 #   define	malloc(n)	(lint_malloc((n)), 0)
 #else
     static char	afsid[]	= "$__Header$";
-    static char	rcsid[]	= "$Id: cellarray.c 8483 2004-01-21 23:06:13Z kobrien $";
+    static char	rcsid[]	= "$Id: cellarray.c 23929 2017-06-26 20:24:42Z ksmith $";
 #endif
 
 
diff --git a/xgks/src/lib/choice.c b/xgks/src/lib/choice.c
index 63ec629..2ae04b7 100644
--- a/xgks/src/lib/choice.c
+++ b/xgks/src/lib/choice.c
@@ -39,23 +39,23 @@
 /*LINTLIBRARY*/
 #include <wchar.h>
 #include <wchar.h>
-#include "udposix.h"
 #include <unistd.h>
 #include <stdio.h>
 #include <stdlib.h>
 #include <signal.h>
 #include <string.h>
-#include "gks_implem.h"
 #define XK_MISCELLANY
 #define XK_LATIN1
 #include <X11/keysymdef.h>
+#include "udposix.h"
+#include "gks_implem.h"
 
 #ifdef lint
     static void	lint_malloc(n) size_t n; { n++; }
 #   define	malloc(n)	(lint_malloc((n)), 0)
 #else
     static char	afsid[]	= "$__Header$";
-    static char	rcsid[]	= "$Id: choice.c 8483 2004-01-21 23:06:13Z kobrien $";
+    static char	rcsid[]	= "$Id: choice.c 23929 2017-06-26 20:24:42Z ksmith $";
 #endif
 
 #define DEF_CHO_FONT    "fixed"
diff --git a/xgks/src/lib/colours.c b/xgks/src/lib/colours.c
index 12c5fd0..0fbe0f8 100644
--- a/xgks/src/lib/colours.c
+++ b/xgks/src/lib/colours.c
@@ -40,8 +40,8 @@
 #endif
 
 #include <wchar.h>
-#include "udposix.h"
 #include <stdlib.h>
+#include "udposix.h"
 #include "gks_implem.h"
 
 /* LINTLIBRARY */
@@ -51,7 +51,7 @@
 #   define	malloc(n)	(lint_malloc((n)), 0)
 #else
     static char	afsid[] = "$__Header$";
-    static char	rcsid[] = "$Id: colours.c 8483 2004-01-21 23:06:13Z kobrien $";
+    static char	rcsid[] = "$Id: colours.c 23929 2017-06-26 20:24:42Z ksmith $";
 #endif
 
 static int	loadcache();
diff --git a/xgks/src/lib/escape.c b/xgks/src/lib/escape.c
index d52de5f..5baae2c 100644
--- a/xgks/src/lib/escape.c
+++ b/xgks/src/lib/escape.c
@@ -38,9 +38,9 @@
 		 gcc compiler crapped out otherwise  */
 
 #include <wchar.h>
-#include "udposix.h"
 #include <stdlib.h>
 #include <string.h>
+#include "udposix.h"
 #include "gks_implem.h"
 #include "cgm/cgm.h"		/* for public, API details */
 #include "cgm/cgm_implem.h"		/* for implementation details */
@@ -52,7 +52,7 @@
 #   define malloc(n)		(lint_malloc(n), 0)
 #else
     static char	afsid[] = "$__Header$";
-    static char	rcsid[] = "$Id: escape.c 8483 2004-01-21 23:06:13Z kobrien $";
+    static char	rcsid[] = "$Id: escape.c 23929 2017-06-26 20:24:42Z ksmith $";
 #endif
 
 extern char	*progname;
diff --git a/xgks/src/lib/event.c b/xgks/src/lib/event.c
index 11cf51d..0d0b1b6 100644
--- a/xgks/src/lib/event.c
+++ b/xgks/src/lib/event.c
@@ -42,13 +42,13 @@
 
 #include <wchar.h>
 #include <wchar.h>
-#include "udposix.h"
 #include <sys/types.h>		/* for pid_t */
 #include <stdlib.h>
 #include <string.h>
 #include <signal.h>
 #include <math.h>		/* for ceil() */
 #include <assert.h>		/* for assert() */
+#include "udposix.h"
 #include "gks_implem.h"
 
 #ifdef lint
@@ -56,7 +56,7 @@
 #   define	malloc(n)	(lint_malloc((n)), 0)
 #else
     static char	afsid[] = "$__Header$";
-    static char	rcsid[] = "$Id: event.c 8483 2004-01-21 23:06:13Z kobrien $";
+    static char	rcsid[] = "$Id: event.c 23929 2017-06-26 20:24:42Z ksmith $";
 #endif
 
 static Bool	Waiting;	/* True if await event is waiting */
diff --git a/xgks/src/lib/fillarea.c b/xgks/src/lib/fillarea.c
index 2d66a92..3e56ded 100644
--- a/xgks/src/lib/fillarea.c
+++ b/xgks/src/lib/fillarea.c
@@ -53,12 +53,12 @@
 
 #ifndef lint
     static char afsid[] = "$__Header$";
-    static char rcsid[] = "$Id: fillarea.c 9399 2006-04-25 19:48:34Z ansley $";
+    static char rcsid[] = "$Id: fillarea.c 23929 2017-06-26 20:24:42Z ksmith $";
 #endif
 
 #include <wchar.h>
-#include "udposix.h"
 #include <stdlib.h>
+#include "udposix.h"
 #include "gks_implem.h"
 #include "fillarea.h"
 
diff --git a/xgks/src/lib/gks_defines.h b/xgks/src/lib/gks_defines.h
index 05335e4..8289bf9 100644
--- a/xgks/src/lib/gks_defines.h
+++ b/xgks/src/lib/gks_defines.h
@@ -37,12 +37,12 @@
  *
  * This header-file depends upon header-file "xgks.h".
  *
- * $Id: gks_defines.h 21950 2016-06-16 23:55:25Z ksmith $
+ * $Id: gks_defines.h 23929 2017-06-26 20:24:42Z ksmith $
  * $__Header$
  */
 
-#ifndef  LOCAL_H
-#define  LOCAL_H
+#ifndef  GKS_DEFINES_H
+#define  GKS_DEFINES_H
 
 /*
  * Macros for insuring the proper compilation of macros which contain
@@ -75,6 +75,15 @@
 #define GKSERROR(c,n,m)	GKS_STMT(if (c) { (void)gerrorhand( (n), (m), \
 			    xgks_state.gks_err_file); return( (n) ); })
 
+/* include actual prototypes for free, malloc, realloc before redefining */
+#include <stdlib.h>
+
+/* make sure voidp is defined by including udposix.h here */
+#include "udposix.h"
+extern void	ufree		PROTO((voidp ptr));
+extern voidp	umalloc		PROTO((size_t size));
+extern voidp	urealloc	PROTO((voidp ptr, size_t size));
+
 /*
  *	Manage memory safely (i.e. ignore signals while doing it).
  *
@@ -95,12 +104,6 @@
 #   define realloc(ptr, size)	urealloc(ptr, size)
 #endif
 
-/* make sure voidp is defined by including udposix.h here */
-#include "udposix.h"
-extern void	ufree		PROTO((voidp ptr));
-extern voidp	umalloc		PROTO((size_t size));
-extern voidp	urealloc	PROTO((voidp ptr, size_t size));
-
 /*
  *	Free allocated memory.
  */
diff --git a/xgks/src/lib/input.c b/xgks/src/lib/input.c
index a76133b..b453181 100644
--- a/xgks/src/lib/input.c
+++ b/xgks/src/lib/input.c
@@ -41,17 +41,17 @@
 
 #ifndef lint
     static char afsid[] = "$__Header$";
-    static char rcsid[] = "$Id: input.c 8483 2004-01-21 23:06:13Z kobrien $";
+    static char rcsid[] = "$Id: input.c 23929 2017-06-26 20:24:42Z ksmith $";
 #endif
 
 #include <wchar.h>
-#include "udposix.h"
 #include <stdlib.h>
-#include "gks_implem.h"
 #include <X11/cursorfont.h>
 #define XK_MISCELLANY
 #define XK_LATIN1
 #include <X11/keysymdef.h>
+#include "udposix.h"
+#include "gks_implem.h"
 
 #ifdef lint
     static void	lint_malloc(n) size_t n; { n++; }
diff --git a/xgks/src/lib/inqWDT.c b/xgks/src/lib/inqWDT.c
index bace630..91a14c5 100644
--- a/xgks/src/lib/inqWDT.c
+++ b/xgks/src/lib/inqWDT.c
@@ -37,9 +37,9 @@
 /*LINTLIBRARY*/
 
 #include <wchar.h>
-#include "udposix.h"
 #include <stdlib.h>
 #include <string.h>
+#include "udposix.h"
 #include "gks_implem.h"
 
 #ifdef lint
@@ -47,7 +47,7 @@
 #   define	malloc(n)	(lint_malloc((n)), 0)
 #else
     static char afsid[]="$__Header$";
-    static char rcsid[]="$Id: inqWDT.c 8483 2004-01-21 23:06:13Z kobrien $";
+    static char rcsid[]="$Id: inqWDT.c 23929 2017-06-26 20:24:42Z ksmith $";
 #endif
 
 
diff --git a/xgks/src/lib/inqfillareas.c b/xgks/src/lib/inqfillareas.c
index 5254540..be956a1 100644
--- a/xgks/src/lib/inqfillareas.c
+++ b/xgks/src/lib/inqfillareas.c
@@ -37,8 +37,8 @@
 /*LINTLIBRARY*/
 
 #include <wchar.h>
-#include "udposix.h"
 #include <stdlib.h>
+#include "udposix.h"
 #include "gks_implem.h"
 #include "fillarea.h"
 
@@ -47,7 +47,7 @@
 #   define	malloc(n)	(lint_malloc((n)), 0)
 #else
     static char afsid[] = "$__Header$";
-    static char rcsid[] = "$Id: inqfillareas.c 8483 2004-01-21 23:06:13Z kobrien $";
+    static char rcsid[] = "$Id: inqfillareas.c 23929 2017-06-26 20:24:42Z ksmith $";
 #endif
 
 extern Gptbundl xgks_xpttn[];
diff --git a/xgks/src/lib/inqpmarker.c b/xgks/src/lib/inqpmarker.c
index a2c623c..4ee9f92 100644
--- a/xgks/src/lib/inqpmarker.c
+++ b/xgks/src/lib/inqpmarker.c
@@ -37,8 +37,8 @@
 /*LINTLIBRARY*/
 
 #include <wchar.h>
-#include "udposix.h"
 #include <stdlib.h>
+#include "udposix.h"
 #include "gks_implem.h"
 #include "polymarkers.h"
 
@@ -47,7 +47,7 @@
 #   define	malloc(n)	(lint_malloc((n)), 0)
 #else
     static char afsid[] = "$__Header$";
-    static char rcsid[] = "$Id: inqpmarker.c 8483 2004-01-21 23:06:13Z kobrien $";
+    static char rcsid[] = "$Id: inqpmarker.c 23929 2017-06-26 20:24:42Z ksmith $";
 #endif
 
 
diff --git a/xgks/src/lib/inqpolylines.c b/xgks/src/lib/inqpolylines.c
index 7f5f9b5..a08e928 100644
--- a/xgks/src/lib/inqpolylines.c
+++ b/xgks/src/lib/inqpolylines.c
@@ -37,8 +37,8 @@
 /*LINTLIBRARY*/
 
 #include <wchar.h>
-#include "udposix.h"
 #include <stdlib.h>
+#include "udposix.h"
 #include "gks_implem.h"
 #include "polylines.h"
 
@@ -47,7 +47,7 @@
 #   define	malloc(n)	(lint_malloc((n)), 0)
 #else
     static char afsid[] = "$__Header$";
-    static char rcsid[] = "$Id: inqpolylines.c 8483 2004-01-21 23:06:13Z kobrien $";
+    static char rcsid[] = "$Id: inqpolylines.c 23929 2017-06-26 20:24:42Z ksmith $";
 #endif
 
 
diff --git a/xgks/src/lib/inqtext.c b/xgks/src/lib/inqtext.c
index 20f51df..c65b68e 100644
--- a/xgks/src/lib/inqtext.c
+++ b/xgks/src/lib/inqtext.c
@@ -37,8 +37,8 @@
 /*LINTLIBRARY*/
 
 #include <wchar.h>
-#include "udposix.h"
 #include <stdlib.h>
+#include "udposix.h"
 #include "gks_implem.h"
 #include "text.h"
 
@@ -47,7 +47,7 @@
 #   define	malloc(n)	(lint_malloc((n)), 0)
 #else
     static char afsid[] = "$__Header$";
-    static char rcsid[] = "$Id: inqtext.c 8483 2004-01-21 23:06:13Z kobrien $";
+    static char rcsid[] = "$Id: inqtext.c 23929 2017-06-26 20:24:42Z ksmith $";
 #endif
 
 
diff --git a/xgks/src/lib/inqtransform.c b/xgks/src/lib/inqtransform.c
index f914bf0..3101d23 100644
--- a/xgks/src/lib/inqtransform.c
+++ b/xgks/src/lib/inqtransform.c
@@ -37,8 +37,8 @@
 /*LINTLIBRARY*/
 
 #include <wchar.h>
-#include "udposix.h"
 #include <stdlib.h>
+#include "udposix.h"
 #include "gks_implem.h"
 
 #ifdef lint
@@ -46,7 +46,7 @@
 #   define	malloc(n)	(lint_malloc((n)), 0)
 #else
     static char afsid[] = "$__Header$";
-    static char rcsid[] = "$Id: inqtransform.c 8483 2004-01-21 23:06:13Z kobrien $";
+    static char rcsid[] = "$Id: inqtransform.c 23929 2017-06-26 20:24:42Z ksmith $";
 #endif
 
 
diff --git a/xgks/src/lib/inquiries.c b/xgks/src/lib/inquiries.c
index 7ed1fe2..7ffd6ad 100644
--- a/xgks/src/lib/inquiries.c
+++ b/xgks/src/lib/inquiries.c
@@ -47,8 +47,8 @@
 /*LINTLIBRARY*/
 
 #include <wchar.h>
-#include "udposix.h"
 #include <stdlib.h>
+#include "udposix.h"
 #include "gks_implem.h"
 
 #ifdef lint
@@ -56,7 +56,7 @@
 #   define	malloc(n)	(lint_malloc((n)), 0)
 #else
     static char afsid[]	= "$__Header$";
-    static char rcsid[]	= "$Id: inquiries.c 8483 2004-01-21 23:06:13Z kobrien $";
+    static char rcsid[]	= "$Id: inquiries.c 23929 2017-06-26 20:24:42Z ksmith $";
 #endif
 
 
diff --git a/xgks/src/lib/locator.c b/xgks/src/lib/locator.c
index 7ec22fc..d892557 100644
--- a/xgks/src/lib/locator.c
+++ b/xgks/src/lib/locator.c
@@ -39,9 +39,9 @@
 /*LINTLIBRARY*/
  
 #include <wchar.h>
-#include "udposix.h"
 #include <stdlib.h>
 #include <signal.h>
+#include "udposix.h"
 #include "gks_implem.h"
 
 #ifdef lint
@@ -49,7 +49,7 @@
 #   define	malloc(n)	(lint_malloc((n)), 0)
 #else
     static char afsid[]	= "$__Header$";
-    static char rcsid[]	= "$Id: locator.c 8483 2004-01-21 23:06:13Z kobrien $";
+    static char rcsid[]	= "$Id: locator.c 23929 2017-06-26 20:24:42Z ksmith $";
 #endif
 
 
diff --git a/xgks/src/lib/message.c b/xgks/src/lib/message.c
index 801c292..a0fa44b 100644
--- a/xgks/src/lib/message.c
+++ b/xgks/src/lib/message.c
@@ -40,17 +40,17 @@
 /*LINTLIBRARY*/
 
 #include <wchar.h>
-#include "udposix.h"
-#include "gks_implem.h"
 #include <string.h>
 #include <stdlib.h>
+#include "udposix.h"
+#include "gks_implem.h"
 
 #ifdef lint
     static void	lint_malloc(n) size_t n; { n++; }
 #   define	malloc(n)	(lint_malloc((n)), 0)
 #else
     static char afsid[]	= "$__Header$";
-    static char rcsid[]	= "$Id: message.c 8483 2004-01-21 23:06:13Z kobrien $";
+    static char rcsid[]	= "$Id: message.c 23929 2017-06-26 20:24:42Z ksmith $";
 #endif
 
 /*
diff --git a/xgks/src/lib/metafile.c b/xgks/src/lib/metafile.c
index 414c601..fad9ead 100644
--- a/xgks/src/lib/metafile.c
+++ b/xgks/src/lib/metafile.c
@@ -46,7 +46,6 @@
 /*LINTLIBRARY*/
 
 #include <wchar.h>
-#include "udposix.h"
 #include <stdlib.h>
 #include <time.h>		/* for time(), localtime(), and strftime() */
 #include <sys/types.h>		/* for uid_t */
@@ -55,6 +54,7 @@
 #include <math.h>
 #include <ctype.h>
 #include <assert.h>
+#include "udposix.h"
 #include "gks_implem.h"
 #include "gksm/gksm.h"
 #include "cgm/cgm.h"
@@ -62,7 +62,7 @@
 #include "gif/gif.h"
 
 #ifndef lint
-    static char rcsid[]	= "$Id: metafile.c 19905 2015-07-01 00:25:30Z ksmith $";
+    static char rcsid[]	= "$Id: metafile.c 23929 2017-06-26 20:24:42Z ksmith $";
     static char afsid[]	= "$__Header$";
 #endif
 
diff --git a/xgks/src/lib/mkerrmsg.c b/xgks/src/lib/mkerrmsg.c
index 9e92daf..ec1f069 100644
--- a/xgks/src/lib/mkerrmsg.c
+++ b/xgks/src/lib/mkerrmsg.c
@@ -41,12 +41,12 @@
 /*LINTLIBRARY*/
 
 #include <wchar.h>
-#include "udposix.h"
 #include <stdio.h>
 #include <string.h>
+#include "udposix.h"
 
 #ifndef lint
-    static char	*rcsid	="$Id: mkerrmsg.c 8483 2004-01-21 23:06:13Z kobrien $";
+    static char	*rcsid	="$Id: mkerrmsg.c 23929 2017-06-26 20:24:42Z ksmith $";
     static char	*afsid	="$__Header$";
 #endif
 
diff --git a/xgks/src/lib/open_ws.c b/xgks/src/lib/open_ws.c
index f9a3e5a..5b902c2 100644
--- a/xgks/src/lib/open_ws.c
+++ b/xgks/src/lib/open_ws.c
@@ -40,17 +40,17 @@
 /*LINTLIBRARY*/
 
 #include <wchar.h>
-#include "udposix.h"
-#include "gks_implem.h"
 #include <string.h>
 #include <stdlib.h>
+#include "udposix.h"
+#include "gks_implem.h"
 
 #ifdef lint
     static void	lint_malloc(n) size_t n; { n++; }
 #   define	malloc(n)	(lint_malloc((n)), 0)
 #else
     static char afsid[]	= "$__Header$";
-    static char rcsid[]	= "$Id: open_ws.c 14748 2012-08-20 22:07:51Z ansley $";
+    static char rcsid[]	= "$Id: open_ws.c 23929 2017-06-26 20:24:42Z ksmith $";
 #endif
 
 extern void		XgksDelAllMoSeg();
diff --git a/xgks/src/lib/pick.c b/xgks/src/lib/pick.c
index 632e6b4..46b92fd 100644
--- a/xgks/src/lib/pick.c
+++ b/xgks/src/lib/pick.c
@@ -45,9 +45,9 @@
 /*LINTLIBRARY*/
 
 #include <wchar.h>
-#include "udposix.h"
 #include <stdlib.h>
 #include <signal.h>
+#include "udposix.h"
 #include "gks_implem.h"
 
 #ifdef lint
@@ -55,7 +55,7 @@
 #define	malloc(n)	(lint_malloc((n)), 0)
 #else
     static char     afsid[] = "$__Header$";
-    static char     rcsid[] = "$Id: pick.c 8483 2004-01-21 23:06:13Z kobrien $";
+    static char     rcsid[] = "$Id: pick.c 23929 2017-06-26 20:24:42Z ksmith $";
 #endif
 
 /*
diff --git a/xgks/src/lib/polylines.c b/xgks/src/lib/polylines.c
index 7e96f2d..0219e76 100644
--- a/xgks/src/lib/polylines.c
+++ b/xgks/src/lib/polylines.c
@@ -49,8 +49,8 @@
 /*LINTLIBRARY*/
 
 #include <wchar.h>
-#include "udposix.h"
 #include <stdlib.h>
+#include "udposix.h"
 #include "gks_implem.h"
 #include "polylines.h"
 
@@ -59,7 +59,7 @@
 #   define	malloc(n)	(lint_malloc((n)), 0)
 #else
     static char afsid[]	= "$__Header$";
-    static char rcsid[]	= "$Id: polylines.c 8483 2004-01-21 23:06:13Z kobrien $";
+    static char rcsid[]	= "$Id: polylines.c 23929 2017-06-26 20:24:42Z ksmith $";
 #endif
 
 
diff --git a/xgks/src/lib/polymarkers.c b/xgks/src/lib/polymarkers.c
index 919e50a..9c85ef7 100644
--- a/xgks/src/lib/polymarkers.c
+++ b/xgks/src/lib/polymarkers.c
@@ -49,8 +49,8 @@
 /*LINTLIBRARY*/
 
 #include <wchar.h>
-#include "udposix.h"
 #include <stdlib.h>
+#include "udposix.h"
 #include "gks_implem.h"
 #include "polymarkers.h"
 
@@ -59,7 +59,7 @@
 #   define	malloc(n)	(lint_malloc((n)), 0)
 #else
     static char afsid[]	= "$__Header$";
-    static char rcsid[]	= "$Id: polymarkers.c 8483 2004-01-21 23:06:13Z kobrien $";
+    static char rcsid[]	= "$Id: polymarkers.c 23929 2017-06-26 20:24:42Z ksmith $";
 #endif
 
 
diff --git a/xgks/src/lib/prmgr.c b/xgks/src/lib/prmgr.c
index d5bb714..72d01f7 100644
--- a/xgks/src/lib/prmgr.c
+++ b/xgks/src/lib/prmgr.c
@@ -57,9 +57,9 @@
 /*LINTLIBRARY*/
 
 #include <wchar.h>
-#include "udposix.h"
 #include <stdlib.h>
 #include <string.h>
+#include "udposix.h"
 #include "gks_implem.h"
 
 #ifdef lint
@@ -67,7 +67,7 @@
 #   define	malloc(n)	(lint_malloc((n)), 0)
 #else
     static char afsid[]	= "$__Header$";
-    static char rcsid[]	= "$Id: prmgr.c 8483 2004-01-21 23:06:13Z kobrien $";
+    static char rcsid[]	= "$Id: prmgr.c 23929 2017-06-26 20:24:42Z ksmith $";
 #endif
 
 static void	XgksFreePrimiStruct();
diff --git a/xgks/src/lib/segments.c b/xgks/src/lib/segments.c
index 313e16c..6d09aad 100644
--- a/xgks/src/lib/segments.c
+++ b/xgks/src/lib/segments.c
@@ -106,12 +106,12 @@
 /*LINTLIBRARY*/
 
 #include <wchar.h>
-#include "udposix.h"
 #include <stddef.h>		/* for "size_t" */
 #include <unistd.h>
 #include <stdlib.h>
 #include <string.h>
 #include <math.h>
+#include "udposix.h"
 #include "gks_implem.h"
 
 #ifdef lint
@@ -119,7 +119,7 @@
 #   define	malloc(n)	(lint_malloc((n)), 0)
 #else
     static char afsid[]	= "$__Header$";
-    static char rcsid[]	= "$Id: segments.c 8483 2004-01-21 23:06:13Z kobrien $";
+    static char rcsid[]	= "$Id: segments.c 23929 2017-06-26 20:24:42Z ksmith $";
 #endif
 
 #define MAXNUM 1.0e+20
diff --git a/xgks/src/lib/string.c b/xgks/src/lib/string.c
index 0c662cf..28ec632 100644
--- a/xgks/src/lib/string.c
+++ b/xgks/src/lib/string.c
@@ -39,21 +39,21 @@
 /*LINTLIBRARY*/
 
 #include <wchar.h>
-#include "udposix.h"
 #include <stdlib.h>
 #include <string.h>
 #include <signal.h>
-#include "gks_implem.h"
 #define XK_MISCELLANY
 #define XK_LATIN1
 #include <X11/keysymdef.h>
+#include "udposix.h"
+#include "gks_implem.h"
 
 #ifdef lint
     static void	lint_malloc(n) size_t n; { n++; }
 #   define	malloc(n)	(lint_malloc((n)), 0)
 #else
     static char afsid[]	= "$__Header$";
-    static char rcsid[]	= "$Id: string.c 8483 2004-01-21 23:06:13Z kobrien $";
+    static char rcsid[]	= "$Id: string.c 23929 2017-06-26 20:24:42Z ksmith $";
 #endif
 
 #define DEF_STR_BUFSIZ	1024
diff --git a/xgks/src/lib/stroke.c b/xgks/src/lib/stroke.c
index 72a006e..d5f0981 100644
--- a/xgks/src/lib/stroke.c
+++ b/xgks/src/lib/stroke.c
@@ -39,10 +39,10 @@
 /*LINTLIBRARY*/
 
 #include <wchar.h>
-#include "udposix.h"
 #include <stdlib.h>
 #include <signal.h>
 #include <math.h>
+#include "udposix.h"
 #include "gks_implem.h"
 
 #ifdef lint
@@ -50,7 +50,7 @@
 #   define	malloc(n)	(lint_malloc((n)), 0)
 #else
     static char afsid[]	= "$__Header$";
-    static char rcsid[]	= "$Id: stroke.c 8483 2004-01-21 23:06:13Z kobrien $";
+    static char rcsid[]	= "$Id: stroke.c 23929 2017-06-26 20:24:42Z ksmith $";
 #endif
 
 
diff --git a/xgks/src/lib/text.c b/xgks/src/lib/text.c
index 2815dfd..5aecbaf 100644
--- a/xgks/src/lib/text.c
+++ b/xgks/src/lib/text.c
@@ -54,10 +54,10 @@
 /*LINTLIBRARY*/
 
 #include <wchar.h>
-#include "udposix.h"
 #include <stdlib.h>
 #include <string.h>
 #include <math.h>
+#include "udposix.h"
 #include "gks_implem.h"
 #include "text.h"
 
@@ -66,7 +66,7 @@
 #   define	malloc(n)	(lint_malloc((n)), 0)
 #else
     static char afsid[]	= "$__Header$";
-    static char rcsid[]	= "$Id: text.c 8483 2004-01-21 23:06:13Z kobrien $";
+    static char rcsid[]	= "$Id: text.c 23929 2017-06-26 20:24:42Z ksmith $";
 #endif
 
 #define PI	3.1415926535897932384626433
diff --git a/xgks/src/lib/transforms.c b/xgks/src/lib/transforms.c
index aa67f1b..9b68cfb 100644
--- a/xgks/src/lib/transforms.c
+++ b/xgks/src/lib/transforms.c
@@ -52,14 +52,14 @@
 /*LINTLIBRARY*/
 
 #include <wchar.h>
-#include "udposix.h"
 #include <stdlib.h>
 #include <math.h>
+#include "udposix.h"
 #include "gks_implem.h"
 
 #ifndef lint
     static char afsid[]	= "$__Header$";
-    static char rcsid[]	= "$Id: transforms.c 8483 2004-01-21 23:06:13Z kobrien $";
+    static char rcsid[]	= "$Id: transforms.c 23929 2017-06-26 20:24:42Z ksmith $";
 #endif
 
 
diff --git a/xgks/src/lib/umalloc.c b/xgks/src/lib/umalloc.c
index 9f28c8b..4d2fca6 100644
--- a/xgks/src/lib/umalloc.c
+++ b/xgks/src/lib/umalloc.c
@@ -1,8 +1,8 @@
 #include <wchar.h>
-#include "udposix.h"
 #include <stdlib.h>
 #include <signal.h>		/* for sigset_t, sigfillset(), sigprocmask() */
 				/* and associated macros */
+#include "udposix.h"
 
 /*
  * Uninterruptible malloc().
diff --git a/xgks/src/lib/update.c b/xgks/src/lib/update.c
index 048cf49..ccd0cd0 100644
--- a/xgks/src/lib/update.c
+++ b/xgks/src/lib/update.c
@@ -37,13 +37,13 @@
 /*LINTLIBRARY*/
 
 #include <wchar.h>
-#include "udposix.h"
 #include <stdlib.h>
+#include "udposix.h"
 #include "gks_implem.h"
 
 #ifndef lint
     static char afsid[]	= "$__Header$";
-    static char rcsid[]	= "$Id: update.c 8483 2004-01-21 23:06:13Z kobrien $";
+    static char rcsid[]	= "$Id: update.c 23929 2017-06-26 20:24:42Z ksmith $";
 #endif
 
 
diff --git a/xgks/src/lib/valuator.c b/xgks/src/lib/valuator.c
index 8fe4809..fe1ee40 100644
--- a/xgks/src/lib/valuator.c
+++ b/xgks/src/lib/valuator.c
@@ -48,9 +48,9 @@
 /*LINTLIBRARY*/
 
 #include <wchar.h>
-#include "udposix.h"
 #include <stdlib.h>
 #include <signal.h>
+#include "udposix.h"
 #include "gks_implem.h"
 
 #ifdef lint
@@ -58,7 +58,7 @@
 #   define	malloc(n)	(lint_malloc((n)), 0)
 #else
     static char afsid[]	= "$__Header$";
-    static char rcsid[]	= "$Id: valuator.c 8483 2004-01-21 23:06:13Z kobrien $";
+    static char rcsid[]	= "$Id: valuator.c 23929 2017-06-26 20:24:42Z ksmith $";
 #endif
 
 /* As under current implementation pets 1 and 2 are supported */

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-science/packages/ferret-vis.git



More information about the debian-science-commits mailing list